Installation
npm install @kuzenbo/core
Usage
import { Collapsible } from "@kuzenbo/core";
import { ChevronDownIcon } from "lucide-react";
function Example() {
return (
<Collapsible>
<Collapsible.Trigger>
<ChevronDownIcon />
Show more
</Collapsible.Trigger>
<Collapsible.Content>
Additional content that can be toggled.
</Collapsible.Content>
</Collapsible>
);
}
Props
Collapsible
The default open state (uncontrolled mode).
The controlled open state.
Callback fired when the open state changes.
Whether the collapsible is disabled.
Additional CSS classes to apply.
Collapsible.Trigger
Additional CSS classes to apply.
Collapsible.Content
Additional CSS classes to apply.
Advanced Patterns
Controlled State
const [open, setOpen] = useState(false);
<Collapsible open={open} onOpenChange={setOpen}>
<Collapsible.Trigger>Toggle</Collapsible.Trigger>
<Collapsible.Content>
Content
</Collapsible.Content>
</Collapsible>
Custom Trigger
<Collapsible>
<Collapsible.Trigger asChild>
<Button variant="outline">
<ChevronDownIcon className="transition-transform data-open:rotate-180" />
Expand
</Button>
</Collapsible.Trigger>
<Collapsible.Content>
Content
</Collapsible.Content>
</Collapsible>