Overview
🔧 Bug Fixes
- Breadcrumbs: keep every crumb visible when Ellipsis is omitted (#911)
- createDataTable: honor the factory
localeoption 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
ignoreAccentsnow 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
ac90199Thanks @johnleider! - fix(Breadcrumbs): keep every crumb visible when Ellipsis is omitted (#911)Truncation only runs when
Breadcrumbs.Ellipsisis composed. -
#933
7d41f19Thanks @johnleider! - fix(createDataTable): honor the factorylocaleoption when a locale plugin is installed -
#933
7d41f19Thanks @johnleider! - fix(DataGrid): keep column resize working after hide()hide()leaves columns mounted; resize now matches Splitter panel count, not visible-only columns. -
#953
897cdcfThanks @johnleider! - fix(createValidation): fail unknown rule aliases; join Form via formNamespaceUnresolved alias strings no longer pass validation. Fields join a Form through
formNamespace(default'v0:form'), matchinggroupNamespace— a custom Formnamespaceonly collects children that set the same key. -
#954
2e0025cThanks @johnleider! - fix(Input): required fields fail Form submit under novalidaterequiredon Input and NumberField now registers a presence rule, so empty required fields failsubmit()even though Form defaults tonovalidate. -
#944
6ec1732Thanks @J-Sek! - fix(findMatchRanges): directionalignoreAccentsnow matches an already-accented spelling verbatimignoreAccents: 'query'and'target'fold only one side of the comparison, so a heavily-accented word likeKrakówcould fail to match its own exact spelling — the query got folded toKrakowwhile 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 (typingcafewon't findcafé) and'target'still only folds the text (typingcaféwon't findcafe), so a different accent on either side (cafévscafè) still doesn't match. -
#957
c9575fdThanks @johnleider! - fix(InputControl): keep wrapper attrs when Root leaves them unsetWrappers can set a control attr the ambient Input.Root left unset (
readonly,disabled,required,name,form). Root-set values still win. -
#938
9f8eb78Thanks @johnleider! - fix(Popover): restore CSS anchoring when Content sets a custom idA custom Content
idpaired with a matching Activatortargetis the native popover pairing. Positioning now follows that id again instead of the Root-generated one. -
#947
1b6bb65Thanks @johnleider! - fix(usePopover): name the plugin namespacev0:popovercreatePopoverPluginnow provides atv0:popover, matching every other plugin. CompoundPopover.Rootcontext moved tov0:popover:rootso the two keys do not collide. If you passednamespace: 'v0:popover-plugin'explicitly, drop it or switch tov0:popover. -
#933
7d41f19Thanks @johnleider! - fix(Progress): emit a number when filling after an indeterminate startAn 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
8155332Thanks @johnleider! - fix(selection): make ticket.unregister() clear selection and tree stateticket.unregister()now drops the id from selection, mixed, and nested maps — the same cleanupunregister(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 mandatoryunselectAllon a tree no longer leave ghost ids or re-select a disabled node. -
#958
2bfaf60Thanks @johnleider! - fix(TabsItem): let renderless items supply a focus targetPass
eltoTabs.Itemwhenasisnullso arrow keys move focus to the real control.