Component Libraries — UI/UX

Component Library — Building Blocks yang Reusable Component library adalah kumpulan UI components yang sudah didesain dan dikodekan untuk digunakan ulang di sel

Component Library — Building Blocks yang Reusable

Component library adalah kumpulan UI components yang sudah didesain dan dikodekan untuk digunakan ulang di seluruh produk.

Mengapa Component Library?

  1. Konsistensi — semua button terlihat sama di seluruh app
  2. Kecepatan — tidak perlu desain/kode dari nol untuk setiap fitur
  3. Maintainability — fix bug di satu tempat, terupdate di semua
  4. Quality — components sudah di-test, accessible, dan responsive

Anatomi Component

Setiap component yang baik memiliki:

  1. Variants — versi berbeda (primary/secondary/ghost button)
  2. States — default, hover, active, disabled, loading
  3. Sizes — small, medium, large
  4. Props/API — parameter yang bisa dikustomisasi

Contoh Component: Button

Button
├── Variants: primary, secondary, ghost, destructive
├── Sizes: sm (32px), md (40px), lg (48px)
├── States: default, hover, active, focused, disabled, loading
├── Props: label, icon, onClick, disabled, loading
└── Accessibility: focus ring, aria-label jika icon-only

Popular Component Libraries

Library Framework Style
shadcn/ui React Tailwind, customizable
Radix UI React Unstyled, accessible
Headless UI React/Vue Unstyled, Tailwind
Material UI React Material Design
Ant Design React Enterprise

Build vs Use Existing?

Use existing jika:

Build custom jika:

Tips

  1. Mulai kecil — Button, Input, Card, Modal sudah cukup untuk mulai
  2. Document — setiap component harus punya dokumentasi cara penggunaan
  3. Test accessibility — setiap component harus keyboard navigable dan screen reader friendly
  4. Version — track perubahan agar tidak break existing usage

Yang akan kamu pelajari