Featuring Design System
ChangelogComponents

0.1.26

Modal·Drawer 오버레이 프로바이더(`Modal.Provider`/`DrawerProvider`/`DrawerGroupProvider`)를 단일 `Overlay.Provider`로 통합·교체합니다.

명령형 오버레이(Modal·Drawer)의 앱 루트 프로바이더를 Overlay.Provider 하나로 통합합니다. 기존에 따로 두던 Modal.Provider·DrawerProvider·DrawerGroupProvider는 모두 제거되고, Overlay.Provider가 모달 레지스트리와 Drawer 그룹 상호배제를 함께 호스팅합니다.

Overlay.Provider — 오버레이 단일 루트

앱 루트에 Overlay.Provider한 번만 마운트하면 Modal.show() / Drawer.show() 명령형 호출과 groupId 기반 Drawer 상호배제가 모두 동작합니다.

import { Overlay } from '@featuring-corp/components';

function App() {
  return (
    <Overlay.Provider>
      <Routes />
    </Overlay.Provider>
  );
}

Breaking Changes — 오버레이 프로바이더 통합

Modal.Provider, DrawerProvider, DrawerGroupProvider(및 타입 DrawerProviderProps / DrawerGroupProviderProps) export가 모두 제거되고, 단일 Overlay.Provider로 통합됩니다.

제거됨 (0.1.25 이하)대체 (0.1.26)
Modal.ProviderOverlay.Provider
DrawerProviderOverlay.Provider
DrawerGroupProviderOverlay.Provider (Drawer 그룹 상호배제 내장)
/* Before — 모달/드로어가 각각 프로바이더를 두던 형태 */
import { Modal, DrawerProvider } from '@featuring-corp/components';

<Modal.Provider>      {/* 또는 <DrawerProvider> */}
  <App />
</Modal.Provider>;

/* After — 단일 루트 프로바이더 */
import { Overlay } from '@featuring-corp/components';

<Overlay.Provider>
  <App />
</Overlay.Provider>;

BreakingModal.Provider / DrawerProvider / DrawerGroupProvider를 마운트하던 코드는 모두 Overlay.Provider로 교체해 주세요. nice-modal-react는 단일 내부 Context를 쓰므로 Overlay.Provider는 앱 루트에 하나만 두고 중첩하지 않습니다. Overlay.Provider가 모달 레지스트리와 Drawer 그룹 상호배제를 모두 호스팅하므로, 모달만 쓰던 앱도 Overlay.Provider 하나만 마운트하면 됩니다.

그 외

  • 내부 의존성 @base-ui-components/react@1.0.0-rc.0@base-ui/react@1.6.0으로 마이그레이션합니다. base-ui가 rc에서 정식 1.6 라인으로 패키지 이름·버전이 바뀐 변경이며, 컴포넌트 동작은 동일합니다.
  • $cssfontVariantNumeric를 추가합니다. 표의 숫자 열 정렬 등에 $css={{ fontVariantNumeric: 'tabular-nums' }}로 사용할 수 있습니다.