Skip to content

v0.0.1-beta.18

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Oct 01:15
· 6 commits to main since this release

Note: v0.0.1-beta.18 was a partial publish: only @destyler-ui/react reached npm; @destyler-ui/vue, @destyler-ui/svelte and @destyler-ui/solid were not published. It is superseded by v0.0.1-beta.19.

Highlights

Destyler core 0.3.1 adoption

  • All @destyler-ui/* packages now depend on @destyler/* ^0.3.1 and require Node.js >=22.22.3 (#163).
  • The local core type patches have been removed; the release is gated on packed exact-core consumers for Dialog, Popover, Menu and Tabs across React, Vue, Solid and Svelte (#157, #163).

Tabs: nullable value (#151)

  • Tabs value / onValueChange details are now typed as nullable, matching core's ValueChangeDetails in all four frameworks (#84, #163).

Controllable API migration (core 0.2.7)

  • Components follow the core controllable API: pass default* props (for example defaultOpen, defaultValue) for uncontrolled state, or the plain prop (open, value, ...) for controlled state (#49).
  • *.controlled props are removed. Replace them with the controlled prop plus its change callback, or with the matching default* prop.

Menu fix

  • Controlled Menu no longer reopens or desyncs on external toggles; behavior is coordinated across frameworks (#63, #158).

Breaking: Svelte Tree branch triggers (#154, #60)

  • Svelte Tree.BranchTrigger now renders a non-tabbable div with role="button" instead of a native button. Inside Tree.BranchControl, the trigger handles pointer expansion; the branch control owns keyboard navigation and the tree's roving tab stop.
  • Props and event currentTarget types now describe HTMLDivElement rather than HTMLButtonElement. Consumers relying on button-only attributes or native button defaults must use explicit asChild composition.
  • Migration guide: https://github.com/destyler/ui/blob/main/packages/svelte/README.md#tree-branch-triggers

Full Changelog: v0.0.1-beta.17...v0.0.1-beta.18


   🚨 Breaking Changes

   🐞 Bug Fixes

    View changes on GitHub