v0.1.0
Oct 6, 2026
Upstream
- Tracks upstream commit
3260085, the same as v0.0.1, which builds on@base-ui/reactv1.8.0 - The changes below are Solid-specific. The full list of differences from the React API is in the public API differences.
Breaking changes
- Popup Root render-function children are called once with
{ payload }, wherepayloadis an accessor (Dialog, Alert Dialog, Drawer, Popover, Menu, Context Menu, Tooltip, Preview Card).
Read the payload aspayload(). - Combobox and Autocomplete
ListandCollectionrender functions are called once per item withitemandindexas accessors, like<For keyed>.
Read them asitem()andindex(). Rows are keyed by the item value, so they update in place. *.Valuerender functions (Progress, Meter, Slider, Select, Combobox, Autocomplete) are called once with accessors of their arguments.
Read them in JSX, as a returned plain string isn’t reactive.actionsRefandinputRefare callbacks instead of ref objects.actionsRefis called once with the actions on setup.
Replace{ current }objects with(actions) => …or(input) => ….container,anchor,initialFocusandfinalFocustake the element itself instead of a ref object.
Store the element in a signal from arefcallback and pass its value (nulluntil it’s set).ToastObject.refis a getter that returns the toast element.
Calltoast.ref()instead of readingtoast.ref.current.mergePropsandmergePropsNreturn a reactive object like Solid’smerge, with stable merged event handlers.
Read its properties where they’re used instead of copying them out once.- Type parameters are
Combobox.Root<Item, Multiple, Value = Item>andSelect.Root<ItemValue, Multiple, Value = ItemValue>, and the value type is inferred fromitemswhen there’s novalueordefaultValue.
Reorder explicit type arguments.
Bug fixes
- Fix development builds freezing when an Accordion Item, Collapsible, Field Root, Radio or Checkbox is removed from a
<For>list - Fix
useToastManager().toastsreplacing a toast’s object on update, which made unkeyed<For>lists remount or loop. Toasts are now reconciled by id. - Fix Menu item children freezing when a checkbox or radio item indicator mounts
- Fix server-rendered input parts losing
defaultValueanddefaultCheckedwhenrenderreplaces the input - Fix the active list item not receiving focus when it’s set in the same update as the items mount
- Fix Radio Group keeping its initial
idfor field registration - Fix Tabs panel registration shifting hydration keys and holding up route transitions
- Fix the Collapsible panel rendering one stale frame when its forced idle status ends
Improvements
- Infer Combobox and Select value types from
items, and make theList,Collectionand*.Valueparts generic, for example<Combobox.List<Fruit>> - Accept
style={false}, sorenderfunction props spread on components - Allow
data-*attributes inuseRender.ElementProps - Track popup handles’
isOpenin JSX, memos and effects - Read
Autocomplete.useFilteroptions lazily, likeCombobox.useFilter - Log a development error pointing to a render function when
renderreceives an element - Halve Solid’s development diagnostics from the library by keeping memo outputs stable and deriving registrations, and name the store’s signals, memos and effects (
BaseUI.Store(PopoverStore).track) so the remaining ones point to the library - Docs: map React types to Solid types in the API references, use Solid patterns in examples, replace the React Hook Form section with Formisch, and point package documentation links at the Solid docs