Featuring Design System
ChangelogComponents

0.1.24

Popover와 Menu도 Portal, Positioner, Popup primitive를 namespace에 추가로 노출합니다.

0.1.23에서 Tooltip에 적용한 분해 패턴을 PopoverMenu로 확장합니다. Popover.Content, Menu.Content가 내부에서 합쳐놓은 Portal, Positioner, Popup을 namespace에 추가로 노출합니다. 소비자 환경이 z-index를 강제하거나 custom portal container가 필요한 escape hatch 상황에서 primitive를 직접 조합할 수 있습니다. 기존 Content 사용 방식은 동일하게 동작하며 기존 코드 변경은 필요하지 않습니다.

분해 모드 사용

<Popover.Portal container={someContainer}>
  <Popover.Positioner side="bottom" $css={{ zIndex: 9999 }}>
    <Popover.Popup>...</Popover.Popup>
    <Popover.Arrow />
  </Popover.Positioner>
</Popover.Portal>

Menu도 동일한 패턴(Menu.Portal / Menu.Positioner / Menu.Popup)을 따릅니다. 분해 모드에서 Popover.Arrow는 Positioner의 자식(= Popup의 형제)으로 직접 배치합니다.

자세한 가이드는 Popover — 수동 조합, Menu — 수동 조합 섹션을 참고하세요.

z-index에 대한 주의

디자인 시스템은 z-index 토큰을 노출하지 않습니다. 일반적으로는 Base UI portal의 stacking 기본 동작만으로 충분합니다. $css={{ zIndex: ... }}는 소비자 앱 환경(예: 더 높은 z-index를 가진 외부 portal이나 오버레이)이 강제할 때만 escape hatch로 사용해 주세요.

부수 cleanup

  • Tooltip.Popupchildren만 있던 TypeTable 제거 — Modal/Drawer convention에 정렬 ("컴포넌트 자체 prop이 있을 때만 TypeTable")
  • Menu.tsxTooltip.tsx에서 사용되지 않던 type/util import 정리