Overview
Table digunakan untuk menampilkan data terstruktur dalam baris dan kolom. Komponen terdiri dari Cell yang dapat dikombinasikan secara bebas — setiap kolom dapat menggunakan style cell yang berbeda sesuai jenis data yang ditampilkan.Installation
Usage
Header
Header row menggunakanType=Header dengan dua pilihan style background.
- White Header
- Gray Header
Background putih (
#FFFFFF), digunakan untuk tabel dengan kontras ringan.| Token | Nilai |
|---|---|
| Background | #FFFFFF |
| Text | #667085 |
| Font | Inter Medium 12px |
| Border bottom | 1px solid #EAECF0 |
Cell Styles
Setiap cell konten (Type=Default) dapat menggunakan berbagai style sesuai jenis datanya.
Lead Cells
Cell dengan elemen interaktif (checkbox/toggle) dan opsional avatar, ikon, atau logo pembayaran di sisi kiri.Content Cells
Cell untuk menampilkan data dalam berbagai format visual.- Badge
- Trend
- Progress Bar
- Avatar Group
- Star Ratings
Satu atau beberapa badge label. Cocok untuk kolom Status, Kategori, atau Tag.
Badge (single)
● ActiveBadges multiple
DesignFrontendAction Cells
Cell untuk menampilkan kontrol aksi di ujung kanan baris.Standalone Cells
Cell yang hanya berisi satu elemen interaktif tanpa teks pendamping.Checkbox only
Toggle only
Cell States
Setiap cell mendukung tiga state interaksi.- Default
- Hover
- Disabled
Kondisi normal, tidak ada interaksi. Background cell transparan (putih dari tabel).
Properties
Setiap cell memiliki 4 properties boolean yang dapat dikombinasikan.| Property | Type | Default | Deskripsi |
|---|---|---|---|
checkbox | boolean | false | Menampilkan checkbox di sisi kiri cell |
toggle | boolean | false | Menampilkan toggle button di sisi kiri cell |
supportingText | boolean | false | Menampilkan teks kecil di bawah teks utama |
trailingIcon | boolean | false | Menampilkan ikon sort/dropdown di header (khusus Type=Header) |
checkbox dan toggle bersifat mutually exclusive — tidak boleh diaktifkan bersamaan dalam satu cell.Design Tokens
Table
| Token | Nilai |
|---|---|
| Border | 1px solid #B9B9B9 |
| Border radius | 4px |
| Row divider | 1px solid #EAECF0 |
Cell
| Elemen | Token | Nilai |
|---|---|---|
| Padding | horizontal | 24px |
| Padding | vertical | 16px |
| Row height (Header) | — | 52px |
| Row height (Default) | — | 72px |
| Primary text | color | #101828 (Gray/900) |
| Supporting text | color | #667085 (Gray/500) |
| Primary text | font | Inter Medium 14px |
| Supporting text | font | Inter Regular 14px |
| Header text | font | Inter Medium 12px |
| Header bg (White) | — | #FFFFFF |
| Header bg (Gray) | — | #F9FAFB |
| Hover row bg | — | #F9FAFB |
API Reference
Table
Class tambahan untuk wrapper tabel.
Menampilkan border luar tabel.
TableCell
Tipe cell —
header untuk baris header, default untuk baris konten.style
"lead-checkbox" | "lead-toggle" | "lead-avatar-checkbox" | "lead-avatar-toggle" | "lead-icon-checkbox" | "lead-icon-toggle" | "badge" | "badges-multiple" | "trend-positive" | "trend-negative" | "progress-bar" | "avatar-group" | "action-buttons" | "action-icons" | "action-dropdown-icon" | "checkbox-only" | "toggle-only" | "star-ratings" | "lead-payment-checkbox" | "lead-payment-toggle" | "white-header" | "gray-header"
required
Style tampilan cell yang menentukan konten dan layout.
State interaksi cell.
Menampilkan checkbox di sisi kiri cell.
Menampilkan toggle button di sisi kiri cell.
Menampilkan teks pendukung di bawah teks utama.
Menampilkan sort icon pada header cell.
Mengaktifkan fungsionalitas sort pada header cell.
Nilai yang ditampilkan (trend, progress, star ratings).
Persentase perubahan untuk tipe
trend-positive / trend-negative.Accessibility
- Gunakan elemen
<table>,<thead>,<tbody>,<tr>,<th>,<td>yang semantik - Header cell menggunakan
<th scope="col">untuk relasi kolom yang jelas - Checkbox di header untuk “select all” menggunakan
aria-label="Select all rows" - Tabel dengan sorting menambahkan
aria-sort="ascending" | "descending" | "none"pada header - Tabel panjang menggunakan
aria-labelatau<caption>yang deskriptif - Pastikan tabel bisa di-scroll horizontal pada viewport sempit dengan
overflow-x: auto - Tombol aksi pada cell menggunakan
aria-labelyang mencantumkan nama baris (misalaria-label="Edit Iqbal Maulana")
Do’s & Don’ts
Do
- Gunakan style cell yang konsisten untuk setiap kolom
- Batasi jumlah kolom agar tidak overflow pada layar kecil
- Gunakan Gray Header untuk tabel dengan banyak baris agar lebih terbaca
- Selalu sertakan kolom action di sisi paling kanan
- Gunakan
supportingTextuntuk menampilkan info sekunder tanpa kolom tambahan - Berikan
aria-labelpada setiap action button
Don't
- Jangan campur
checkboxdantoggledalam satu tabel - Jangan gunakan lebih dari 2 badge dalam satu cell
badges-multiple - Jangan letakkan action buttons di kolom selain kolom terakhir
- Jangan tampilkan tabel tanpa header
- Jangan gunakan teks terlalu panjang di cell — potong dengan ellipsis jika perlu
- Jangan gunakan style
progress-baruntuk nilai non-persentase