Components/Collapsible

Collapsible

콘텐츠를 접거나 펼칠 수 있는 컴포넌트입니다. Radix UI Collapsible 기반.

Installation

bash
npx axis-cli add collapsible

Usage

@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

open
Type:boolean
Default:-

열림 상태 (controlled)

defaultOpen
Type:boolean
Default:false

기본 열림 상태

onOpenChange
Type:(open: boolean) => void
Default:-

상태 변경 콜백

disabled
Type:boolean
Default:false

비활성화 여부