Skip to content

v10.3.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 09:09
· 44 commits to main since this release
0d62b7e

Version 10.3.0 introduces a suite of new UI components and a host of improvements and bug fixes across the library.

Added

  • Anchor component with fragment links, nested items, current‑section tracking, custom scroll containers, offsets, and reduced‑motion‑aware navigation.
  • AutoComplete for free‑form text with optional suggestions, controlled/uncontrolled values, keyboard navigation, clearing, custom filtering, and native form support.
  • Inline Calendar with independent date selection and month navigation, date bounds, locale options, and additive date markers.
  • Cascader for single leaf‑path selection through nested options, with controlled values, clearing, disabled branches, and progressive keyboard‑accessible levels.
  • Descriptions for semantic label/value pairs with responsive columns, horizontal and vertical label placement, optional titles, and typed styling slots.
  • Divider with horizontal and vertical orientation, labeled separators, line variants, and accessible decorative or semantic behavior.
  • Form with accessible Field composition, styled input Control, constraint validation, external errors, native submission, and responsive layouts.
  • Mentions for completing prefixed plain‑text tokens in multiline messages, with controlled values, local or caller filtering, accessible suggestions, and native textarea form/ref support.
  • Popconfirm for trigger‑bound confirmation with asynchronous pending and error handling.
  • Rate for whole‑step ratings with controlled and uncontrolled values, optional clearing, disabled and read‑only modes, accessible score labels, and custom icons.
  • ScrollArea with themed scrollbars, vertical, horizontal, and both‑axis modes, viewport props and refs, and styling slots. Preserves native scrolling with Base UI primitives.
  • Statistic for formatted metrics with titles, affixes, explicit locale, custom formatting, and loading placeholders.
  • Time‑only picker with native keyboard and popup input, controlled/uncontrolled HH:mm values, minute steps, and clear support. DatePicker can now combine calendar and time selection with a confirmable showTime mode.
  • Timeline for ordered events with semantic timestamps, descriptions, decorative markers, and typed styling slots.
  • Tour with ordered target steps, controlled or uncontrolled progression, modal focus management, target scrolling/highlighting, centered missing‑target fallback, and localized navigation.
  • Transfer with controlled target keys, two‑panel item selection, visible‑only search and bulk actions, disabled items, accessible counts, and responsive layouts.
  • TreeSelect for single hierarchy selection with controlled values and expansion, clearing, native form values, and accessible popup navigation.
  • Tree with hierarchical expansion, single or multiple selection, checkbox propagation with disabled boundaries, roving keyboard focus, and RTL support. Exposes indeterminate Checkbox state.
  • ContextMenu with pointer and keyboard activation, flat actions and separators, controlled open state, disabled items, accessible explicit triggers, and Base UI popup positioning and dismissal.
  • Input.OTP with configurable segmented string entry, paste and editing support, accessible labels, native form values, masking, and completion callbacks without automatic submission.
  • Opt‑in virtual rendering, lazy branch loading, and click‑to‑expand for Tree. Nodes accept leaf to mark unloaded or forced‑leaf branches; loadData loads children with per‑node pending, failure, and retry states and an abort signal; virtual with height, itemHeight, and overscan renders a bounded window; actionRef.scrollTo scrolls to a visible key; onExpand also receives the requested node and state. Config locale gains loadFailed and retry.

Patch

  • Updated supported runtime dependencies, including Base UI 1.9 and Motion 14, while retaining React 19 peer compatibility.
  • Removed browser and documentation‑site list markers from Breadcrumb trails to prevent numbered list styles from overlapping breadcrumb labels.
  • Kept imperative modals mounted until their closing animations finish, prevented repeated dismissal callbacks, and exposed onOpenChangeComplete. Documented that destroy and destroyAll remove modals immediately.
  • Animated the dialog popup’s scale alongside opacity so modals resize smoothly when opening and closing instead of jumping to the ending size.
  • Removed the extra default x text from searchable Select clear buttons in single and multiple selection modes, leaving only the configured icon.
  • Removed the blank space above searchable Select options when results are available, while keeping the empty‑state live region mounted and preserving the no‑results message spacing.
  • Kept Marquees and its rows paused while either the pointer or keyboard focus remains inside, including focus movement between interactive children.
  • Placed Cancel before OK in the default Modal and Modal.confirm footers, matching their visual and keyboard navigation order.

What's Changed

  • fix(changeset): remove stale entries for released components by @pjb0811 in #456
  • docs(changelog): list Segmented and Steps under 10.2.0 by @pjb0811 in #457
  • ci: validate changesets before merge by @pjb0811 in #458
  • feat(time-picker): add time selection and DatePicker showTime by @pjb0811 in #468
  • fix(breadcrumb): suppress list markers in documentation pages by @pjb0811 in #470
  • feat(popconfirm): add asynchronous action confirmation by @pjb0811 in #472
  • docs(skill): add the comment-writing rules and the empty-changeset rule by @pjb0811 in #473
  • docs: add AGENTS.md as a symlink to CLAUDE.md by @pjb0811 in #474
  • fix(modal): wait for closing animations before teardown by @pjb0811 in #476
  • fix(select): remove blank space above search results by @pjb0811 in #477
  • fix(select): remove duplicate clear icon text by @pjb0811 in #478
  • fix(modal): animate scale during dialog transitions by @pjb0811 in #479
  • feat(scroll-area): add a themed accessible scroll container by @pjb0811 in #480
  • feat(descriptions): add responsive labeled record details by @pjb0811 in #481
  • feat(timeline): add ordered events with semantic timestamps by @pjb0811 in #482
  • feat(rate): add accessible whole-step ratings by @pjb0811 in #483
  • feat(cascader): add progressive leaf-path selection by @pjb0811 in #484
  • feat(transfer): add searchable two-panel item assignment by @pjb0811 in #485
  • feat(tour): add guided steps with target highlighting by @pjb0811 in #486
  • feat(tree): add hierarchical selection and checkbox propagation by @pjb0811 in #487
  • chore(deps): update dependency @changesets/cli to v3.0.3 by @renovate[bot] in #488
  • fix(modal): place cancel before confirm in default footers by @pjb0811 in #489
  • feat(auto-complete): add suggestions for free-form text input by @pjb0811 in #495
  • feat(form): add accessible fields and validation feedback by @pjb0811 in #496
  • chore: keep only repository-specific skills and point to the shared pjb0811/skills by @pjb0811 in #498
  • feat(tree-select): add popup hierarchy selection by @pjb0811 in #499
  • feat: add Input.OTP and contextual action menus by @pjb0811 in #500
  • chore(deps): refresh supported dashboard updates by @pjb0811 in #503
  • fix: correct context menu triggers and otp root behavior by @pjb0811 in #504
  • feat: add divider statistic calendar and anchor components by @pjb0811 in #518
  • feat(mentions): complete prefixed tokens in multiline text by @pjb0811 in #519
  • test(input): cover otp form errors reset and focus by @pjb0811 in #523
  • fix(marquees): keep pausing while hover or focus remains inside by @pjb0811 in #524
  • test(docs): fix anchor and mentions story interactions by @pjb0811 in #528
  • feat(tree): add virtual rendering and lazy branch loading by @pjb0811 in #527
  • ci: skip changeset validation on version PRs by @pjb0811 in #529
  • chore: version packages by @github-actions[bot] in #469

New Contributors

Full Changelog: v10.2.0...v10.3.0