Skip to content

v0.14.0

Choose a tag to compare

@yasmro yasmro released this 05 Jul 17:30
· 89 commits to develop since this release
8ff60db

Highlights

  • Radix 型境界 (anti-corruption layer) の確立 — Radix ベース lv1 (Select / Tooltip / Popover / DropdownMenu / Tabs / Radio / Checkbox / Switch / Separator / Avatar) の公開 Props 型から Radix 継承を全廃し、「native 要素の props + curated 再宣言」に移行 (#448)。公開型サーフェスが consumer の lockfile の Radix 解決に依存しなくなり、v1.0 の API 安定契約の前提が整った。
  • 区分 C/D コンポーネント (Select / Dialog / Tooltip) に実ブラウザの非スクリーンショット interaction テストを追加 (#450) — jsdom + 静的 VRT では捕捉できない「ブラウザでは壊れている」class の欠陥を CI でブロック。

⚠️ Breaking Changes

Radix 継承の全廃により、Radix が型上公開していた未使用 prop は型エラーになる (pre-1.0 のため minor で出荷):

Before After
Props が ComponentPropsWithoutRef<typeof XPrimitive.Y> を継承 — Radix の全 prop が型上通る native 要素の props + curated 再宣言のみ。dir / forceMount / onEscapeKeyDown / onPointerDownOutside / onInteractOutside / collision 系は公開から除外 (実需が出たら additive に再公開)
<PopoverClose asChild><Button/></PopoverClose> <PopoverClose><Button/></PopoverClose> (element child → 内部 asChild、描画結果は同一)
PopoverAnchor の element child は <div> ラッパ付き ラッパが消え child へ直接マージ — data-testid 等の属性は child 側に載る
TooltipProviderProps = Radix 型の全面 re-export delayDuration / skipDelayDuration / disableHoverableContent / children の 4 prop に縮小

新規 export: SelectProps / SelectValueProps / SelectItemProps / TooltipProps / PopoverProps / PopoverAnchorProps / PopoverCloseProps / DropdownMenuProps / DropdownMenuSubProps / DropdownMenuRadioGroupProps / DropdownMenuCheckboxItemProps / DropdownMenuRadioItemProps / DropdownMenuSubContentProps / TabsListProps / TabsContentProps

方針の詳細: api-stability.md §Radix type boundary

What's Changed

Minor Changes

  • #448: BREAKING: Radix ベース lv1 の公開 Props 型から Radix 継承を全廃 (closes #156)。境界は radix-type-boundary.test.tsx (drift ガード + @ts-expect-error pin) と curated props の spread 実装の typecheck で機械的に維持される。

Tests

  • #450: 区分 C/D の実ブラウザ interaction テストを Select / Dialog / Tooltip に追加 (closes #447)。pnpm audit:coverage の interaction 列で presence を機械検査。

Full Changelog: v0.13.0...v0.14.0