Installation
bash
npx axis-cli add collapsibleUsage
@axis-ds/ui-react
@axis-ds/tokens
tsx
import { useState } from 'react'
import {
Button,
Collapsible,
CollapsibleContent,
CollapsibleTrigger,
} from '@axis-ds/ui-react'
export function Example() {
const [isOpen, setIsOpen] = useState(false)
return (
<Collapsible open={isOpen} onOpenChange={setIsOpen} className="w-[350px] space-y-2">
<div className="flex items-center justify-between space-x-4 px-4">
<h4 className="text-sm font-semibold">@axis-ds/ui-react</h4>
<CollapsibleTrigger asChild>
<Button variant="ghost" size="sm">
{isOpen ? '접기' : '펼치기'}
</Button>
</CollapsibleTrigger>
</div>
<div className="rounded-md border px-4 py-3 text-sm">
@axis-ds/tokens
</div>
<CollapsibleContent className="space-y-2">
<div className="rounded-md border px-4 py-3 text-sm">
@axis-ds/theme
</div>
<div className="rounded-md border px-4 py-3 text-sm">
@axis-ds/cli
</div>
</CollapsibleContent>
</Collapsible>
)
}Components
Collapsible접이식 영역 루트 컨테이너
CollapsibleTrigger열기/닫기 트리거
CollapsibleContent접이식 콘텐츠 영역
Props
| Prop | Type | Default | Description |
|---|---|---|---|
open | boolean | - | 열림 상태 (controlled) |
defaultOpen | boolean | false | 기본 열림 상태 |
onOpenChange | (open: boolean) => void | - | 상태 변경 콜백 |
disabled | boolean | false | 비활성화 여부 |
openType:
booleanDefault:
-열림 상태 (controlled)
defaultOpenType:
booleanDefault:
false기본 열림 상태
onOpenChangeType:
(open: boolean) => voidDefault:
-상태 변경 콜백
disabledType:
booleanDefault:
false비활성화 여부