Skip to content

v1.2.1

Latest

Choose a tag to compare

@github-actions github-actions released this 01 Sep 18:46
de81ef9

Overview

🔧 Bug Fixes

  • Breadcrumbs: keep every crumb visible when Ellipsis is omitted (#911)
  • createDataTable: honor the factory locale option when a locale plugin is installed (#933)
  • DataGrid: keep column resize working after hide() (#933)
  • createValidation: fail unknown rule aliases; join Form via formNamespace (#953)
  • Input: required fields fail Form submit under novalidate (#954)
  • findMatchRanges: directional ignoreAccents now matches an already-accented spelling verbatim (#944)
  • InputControl: keep wrapper attrs when Root leaves them unset (#957)
  • Popover: restore CSS anchoring when Content sets a custom id (#938)
  • usePopover: name the plugin namespace v0:popover (#947)
  • Progress: emit a number when filling after an indeterminate start (#933)
  • selection: make ticket.unregister() clear selection and tree state (#951)
  • TabsItem: let renderless items supply a focus target (#958)

Patch Changes

  • #959 ac90199 Thanks @johnleider! - fix(Breadcrumbs): keep every crumb visible when Ellipsis is omitted (#911)

    Truncation only runs when Breadcrumbs.Ellipsis is composed.

  • #933 7d41f19 Thanks @johnleider! - fix(createDataTable): honor the factory locale option when a locale plugin is installed

  • #933 7d41f19 Thanks @johnleider! - fix(DataGrid): keep column resize working after hide()

    hide() leaves columns mounted; resize now matches Splitter panel count, not visible-only columns.

  • #953 897cdcf Thanks @johnleider! - fix(createValidation): fail unknown rule aliases; join Form via formNamespace

    Unresolved alias strings no longer pass validation. Fields join a Form through formNamespace (default 'v0:form'), matching groupNamespace — a custom Form namespace only collects children that set the same key.

  • #954 2e0025c Thanks @johnleider! - fix(Input): required fields fail Form submit under novalidate

    required on Input and NumberField now registers a presence rule, so empty required fields fail submit() even though Form defaults to novalidate.

  • #944 6ec1732 Thanks @J-Sek! - fix(findMatchRanges): directional ignoreAccents now matches an already-accented spelling verbatim

    ignoreAccents: 'query' and 'target' fold only one side of the comparison, so a heavily-accented word like Kraków could fail to match its own exact spelling — the query got folded to Krakow while the target stayed accented, and the two no longer agreed.

    Both modes now also check for a literal, unfolded match, so typing the exact accented text always finds it — without changing what they're for: 'query' still only folds the query (typing cafe won't find café) and 'target' still only folds the text (typing café won't find cafe), so a different accent on either side (café vs cafè) still doesn't match.

  • #957 c9575fd Thanks @johnleider! - fix(InputControl): keep wrapper attrs when Root leaves them unset

    Wrappers can set a control attr the ambient Input.Root left unset (readonly, disabled, required, name, form). Root-set values still win.

  • #938 9f8eb78 Thanks @johnleider! - fix(Popover): restore CSS anchoring when Content sets a custom id

    A custom Content id paired with a matching Activator target is the native popover pairing. Positioning now follows that id again instead of the Root-generated one.

  • #947 1b6bb65 Thanks @johnleider! - fix(usePopover): name the plugin namespace v0:popover

    createPopoverPlugin now provides at v0:popover, matching every other plugin. Compound Popover.Root context moved to v0:popover:root so the two keys do not collide. If you passed namespace: 'v0:popover-plugin' explicitly, drop it or switch to v0:popover.

  • #933 7d41f19 Thanks @johnleider! - fix(Progress): emit a number when filling after an indeterminate start

    An unbound Progress that later received a fill value used to write [n] because scalar-vs-array was frozen at setup. Fill also omits inline width while indeterminate so CSS animations can run.

  • #951 8155332 Thanks @johnleider! - fix(selection): make ticket.unregister() clear selection and tree state

    ticket.unregister() now drops the id from selection, mixed, and nested maps — the same cleanup unregister(id) already did. clear() / dispose() on a group or tree wipe mixed and open state too. Stepping after an earlier item unmounts, Progress percent after a segment unmounts, and mandatory unselectAll on a tree no longer leave ghost ids or re-select a disabled node.

  • #958 2bfaf60 Thanks @johnleider! - fix(TabsItem): let renderless items supply a focus target

    Pass el to Tabs.Item when as is null so arrow keys move focus to the real control.