Repository navigation
v0.12.0
[0.12.0] - 2026-09-25
Fixed
-
Opening a
Tooltipno longer crashes on Android.Tooltip.Popupset bothroleand
accessibilityRoleto'tooltip', and'tooltip'is not anaccessibilityRoleAndroid's
accessibility delegate knows, so the app went down the moment a tooltip opened. The popup now sets
rolealone, which React Native maps onto each platform itself; the tooltip semantics are
unchanged on iOS. -
CheckboxGroupinside aFieldvalidates the array it submits. EveryCheckbox.Rootin the
group registered its own boolean with the surroundingField, so a field'svalidatesaw
true/falseper box instead of the group's value, and aFormsubmit validated the field once
per checkbox. The group now registers with the field and reports the array, marking it changed and
touched on every press, and it inherits the field'sdisabled. A checkbox inside a group leaves
the field alone; a standaloneCheckboxis unaffected.<Field.Root name="colors" validate={(value) => (value.length >= 2 ? null : 'Pick two')}> <CheckboxGroup>…</CheckboxGroup> {/* validate receives ['red', 'blue'] */} <Field.Error /> </Field.Root>
Changed
- A read-only
Selectopens for browsing.readOnlynow locks the value, not the interaction,
as Base UI 1.8 does: pressingSelect.Triggeropens the list so the options and the current choice
can be seen, and pressing aSelect.Itemdoes nothing. Until now the trigger ignored the press, so
a read-only select showed its value and nothing else, while the same prop on the web opened.
aria-readonlystill marks the trigger. If a read-only field should not open at all, that is
disabled.