아코디언

아코디언은 한 페이지에서 관련 있는 여러 콘텐츠 섹션을 확인할 수 있도록 하는 컴포넌트로 콘텐츠 섹션의 헤더 목록이 수직으로 쌓여 있는 형태로 표현되는 것이다.

아코디언은 한 페이지에서 관련 있는 여러 콘텐츠 섹션을 확인할 수 있도록 하는 컴포넌트로 콘텐츠 섹션의 헤더 목록이 수직으로 쌓여 있는 형태로 표현되는 것이다.

사용 지침

안내·자주 묻는 질문(FAQ)·약관 모음처럼 항목 수가 많고 내용이 길 때 사용해 페이지 높이를 줄이고, 단일·다중 펼침 모드를 상황에 맞게 선택합니다.

예제

Default

아코디언 내용 영역입니다. 여기에 다양한 콘텐츠를 넣을 수 있습니다.

examples/accordion/AccordionDefault.tsx
import { Accordion, AccordionItem, AccordionHeader, AccordionPanel } from "@/components/ui/dynamic/accordion"

export default function AccordionDefault() {

Single Selection

아코디언 내용 영역입니다. 여기에 다양한 콘텐츠를 넣을 수 있습니다.

examples/accordion/AccordionSingleSelection.tsx
import { Accordion, AccordionItem, AccordionHeader, AccordionPanel } from "@/components/ui/dynamic/accordion"

export default function AccordionSingleSelection() {

Controlled

로그인 화면에서 '비밀번호 찾기'를 클릭하고 본인인증을 완료하면 새 비밀번호를 설정할 수 있습니다.

examples/accordion/AccordionControlled.tsx
"use client"

import * as React from "react"

With Complex Content

아코디언 내용 영역입니다. 여기에 다양한 콘텐츠를 넣을 수 있습니다.

  • 목록 항목 1
  • 목록 항목 2
  • 목록 항목 3

examples/accordion/AccordionWithComplexContent.tsx
import { Accordion, AccordionItem, AccordionHeader, AccordionPanel } from "@/components/ui/dynamic/accordion"

export default function AccordionWithComplexContent() {

속성

이름타입기본값설명
allowMultiplebooleantrue
aria-labelstringDefines a string value that labels the current element. @see aria-labelledby.
classNamestring
idstring
onChange((values: string[]) => void)
onClickMouseEventHandler<HTMLDivElement>
sizeenumlarge
styleCSSProperties
tabIndexnumber
valuestring[]
variantenumdefault