Collapsible
Komponen interaktif yang membuka/menutup sebuah panel.
bun x bosia@latest add collapsiblePrimitif buka/tutup sederhana. Berbeda dari Accordion, Collapsible mengelola satu state open/closed tanpa koordinasi multi-item atau navigasi tombol panah.
Preview
@bosia/ui starred 3 repositories
bosia/framework
Props Collapsible
| Prop | Type | Default |
|---|---|---|
open |
boolean |
false |
disabled |
boolean |
false |
class |
string |
"" |
open bersifat $bindable().
Props CollapsibleTrigger
| Prop | Type | Default |
|---|---|---|
class |
string |
"" |
Merender <button> dengan aria-expanded dan aria-controls yang tersambung otomatis.
Props CollapsibleContent
| Prop | Type | Default |
|---|---|---|
class |
string |
"" |
Dirender secara kondisional saat open. Memiliki role="region" dan aria-labelledby yang menunjuk ke trigger.
Penggunaan
<script lang="ts">
import {
Collapsible,
CollapsibleTrigger,
CollapsibleContent,
} from "$lib/components/ui/collapsible";
let open = $state(false);
</script>
<Collapsible bind:open>
<CollapsibleTrigger>Toggle</CollapsibleTrigger>
<CollapsibleContent>Hidden content revealed on toggle.</CollapsibleContent>
</Collapsible>Nonaktif
<Collapsible disabled>
<CollapsibleTrigger>Cannot toggle</CollapsibleTrigger>
<CollapsibleContent>This content is never shown.</CollapsibleContent>
</Collapsible>Aksesibilitas
| Atribut | Elemen | Nilai |
|---|---|---|
aria-expanded |
Trigger | true / false |
aria-controls |
Trigger | Menunjuk ke id konten |
role="region" |
Content | Landmark untuk screen reader |
aria-labelledby |
Content | Menunjuk ke id trigger |
data-state |
All | "open" / "closed" |
data-disabled |
Root/Trigger | Ada saat nonaktif |