Headless UI for React
포커스, 키보드, 접근성, 포지셔닝 — 구현하기 까다로운 인터랙션 동작은 라이브러리가 처리합니다.
스타일은 온전히 사용자의 몫입니다.
명령형 API
컴포넌트 트리 밖 어디서든 호출할 수 있습니다. 비동기 흐름, 에러 핸들러, 유틸리티 함수 안에서도 자연스럽게 동작합니다.
// API 요청 실패 시
const result = await confirm('다시 시도하시겠습니까?')
// 저장 완료 후
toast('변경사항이 저장됐습니다')Compound 컴포넌트
필요한 부분만 골라서 조합합니다. 오버레이, 콘텐츠, 닫기 액션처럼 각 역할이 분리되어 있어 원하는 구조로 자유롭게 구성할 수 있습니다.
<Drawer.Root direction="right">
<Drawer.Overlay />
<Drawer.Content>
<Drawer.Title />
<Drawer.Close />
</Drawer.Content>
</Drawer.Root>Opt-in 스타일
기본 CSS를 제공하되 언제든 덮어쓸 수 있습니다. data 속성 선택자로 특정 값만 바꾸거나, CSS 소스를 복사해 처음부터 스타일링하세요.
/* 특정 값만 override */
[data-woon-drawer-content] {
border-radius: 24px 0 0 24px;
background: #0f0f0f;
}Components