Chip
Di halaman ini
Chip adalah potongan metadata kecil: tag pada pos blog, status sebuah build, kategori pada sebuah halaman. Ia sebaris secara bawaan, jadi sederet chip menginginkan stack dengan wrap.
Chip dasar
statisvitenol-runtime
stack({ direction: 'row', gap: 'sm', wrap: true },
chip('statis'),
chip('vite'),
chip('nol-runtime'),
)Warna
primaryneutralsuccesswarningdanger
stack({ direction: 'row', gap: 'sm', wrap: true },
chip({ color: 'primary' }, 'primary'),
chip({ color: 'neutral' }, 'neutral'),
chip({ color: 'success' }, 'success'),
chip({ color: 'warning' }, 'warning'),
chip({ color: 'danger' }, 'danger'),
)Varian
softsoftsoft
outlineoutlineoutline
solidsolidsolid
stack({ gap: 'sm' },
stack({ direction: 'row', gap: 'sm', wrap: true },
chip({ variant: 'soft', color: 'primary' }, 'soft'),
chip({ variant: 'soft', color: 'success' }, 'soft'),
chip({ variant: 'soft', color: 'danger' }, 'soft'),
),
stack({ direction: 'row', gap: 'sm', wrap: true },
chip({ variant: 'outline', color: 'primary' }, 'outline'),
chip({ variant: 'outline', color: 'success' }, 'outline'),
chip({ variant: 'outline', color: 'danger' }, 'outline'),
),
stack({ direction: 'row', gap: 'sm', wrap: true },
chip({ variant: 'solid', color: 'primary' }, 'solid'),
chip({ variant: 'solid', color: 'success' }, 'solid'),
chip({ variant: 'solid', color: 'danger' }, 'solid'),
),
)Ukuran
kecilsedangbesar
stack({ direction: 'row', gap: 'sm', align: 'center', wrap: true },
chip({ size: 'sm' }, 'kecil'),
chip({ size: 'md' }, 'sedang'),
chip({ size: 'lg' }, 'besar'),
)Titik status
Titik di depannya mengubah chip menjadi status. Warna saja tidak cukup untuk membawa makna, jadi pertahankan katanya.
Build lulusMengantreGagalDilewati
stack({ direction: 'row', gap: 'sm', wrap: true },
chip({ color: 'success', dot: true }, 'Build lulus'),
chip({ color: 'warning', dot: true }, 'Mengantre'),
chip({ color: 'danger', dot: true }, 'Gagal'),
chip({ color: 'neutral', dot: true }, 'Dilewati'),
)Tautan
Beri chip sebuah href dan ia merender sebuah jangkar — bentuk yang lazim untuk daftar tag, ketika tiap tag adalah sebuah halaman.
stack({ direction: 'row', gap: 'sm', wrap: true },
chip({ href: '/docs/routing', color: 'primary' }, 'routing'),
chip({ href: '/docs/data', color: 'primary' }, 'data'),
chip({ href: '/docs/islands', color: 'primary' }, 'islands'),
)Sebagai tombol
as mengubah elemennya, untuk filter yang mengalihkan alih-alih menavigasi.
stack({ direction: 'row', gap: 'sm', wrap: true },
chip({ as: 'button', variant: 'solid', color: 'primary', 'aria-pressed': 'true' }, 'Semua'),
chip({ as: 'button', variant: 'outline', color: 'neutral', 'aria-pressed': 'false' }, 'Panduan'),
chip({ as: 'button', variant: 'outline', color: 'neutral', 'aria-pressed': 'false' }, 'Contoh'),
)Di dalam tabel
| Halaman | Status |
|---|---|
| / | oke |
| /docs | oke |
| /blog/[slug] | gagal |
table({
striped: true,
columns: [
{ key: 'page', header: 'Halaman' },
{ header: 'Status', align: 'end', render: (row) =>
chip({ size: 'sm', dot: true, color: row.ok ? 'success' : 'danger' }, row.ok ? 'oke' : 'gagal') },
],
rows: [
{ page: '/', ok: true },
{ page: '/docs', ok: true },
{ page: '/blog/[slug]', ok: false },
],
})Props
| Prop | Tipe | Bawaan | Deskripsi |
|---|---|---|---|
color | 'primary' | 'neutral' | 'success' | 'warning' | 'danger' | 'neutral' | Dari palet mana ia menimba. |
variant | 'soft' | 'outline' | 'solid' | 'soft' | Seberapa berat bobot yang dibawa chip-nya. |
size | 'sm' | 'md' | 'lg' | 'md' | Bantalan dan ukuran teksnya. |
href | string | — | Merender sebuah jangkar. |
dot | boolean | false | Menambahkan titik status sebelum labelnya. |
as | string | 'span' | Elemen yang dirender ketika tidak ada href. |