Skip to content

Latest commit

 

History

History
961 lines (666 loc) · 36.1 KB

File metadata and controls

961 lines (666 loc) · 36.1 KB

Versions

v1.0.0-beta.2

Jul 30, 2025

General changes

  • Fix navigator checks and ensure safe platform retrieval (#2273) by @mo36924
  • Prevent Space key default on keydown (#2295) by @atomiks
  • Check for performance existence on server (#2316) by @atomiks

Accordion

  • Destructure render prop (#2280) by @atomiks
  • Fix keyboard interactions with elements in the panel (#2321) by @mj12albert
  • Fix open transitions in Safari/Firefox (#2327) by @atomiks

Alert Dialog

  • Support ShadowRoot containers (#2236) by @atomiks
  • Add forceRender prop to Backdrop part (#2037) by @atomiks
  • Improve outside press behavior with touch input (#2334) by @atomiks

Checkbox

  • Fix focusing form controls with inputRef (#2252) by @mj12albert

Collapsible

  • Destructure render prop (#2323) by @atomiks
  • Fix open transitions in Safari/Firefox (#2327) by @atomiks

Dialog

  • Support ShadowRoot containers (#2236) by @atomiks
  • Add forceRender prop to Backdrop part (#2037) by @atomiks
  • Improve outside press behavior with touch input (#2334) by @atomiks
  • Use click event for outside press dismissal (#2275) by @atomiks

Field

  • Deregister fields from Form when unmounting (#2231) by @mj12albert

Form

  • Deregister fields from Form when unmounting (#2231) by @mj12albert

Menu

  • Support ShadowRoot containers (#2236) by @atomiks
  • Avoid double useRenderElement passes (#2256) by @atomiks
  • Improve outside press behavior with touch input (#2334) by @atomiks
  • Close submenus when focus is lost by shift-tabbing (#2290) by @michaldudak

Menubar

  • Fix triggers role (#2317) by @atomiks

Meter

  • Fix ARIA attributes and update docs (#2267) by @mj12albert

Navigation Menu

  • Breaking change: Support inlined nesting. Ensure the popup's width is set to var(--popup-width) unconditionally (without the media query) on the .Popup class. (#2269) by @atomiks
  • Avoid double useRenderElement passes (#2256) by @atomiks
  • Add useButton integration to Trigger (#2296) by @atomiks
  • Fix popup size transitions on iOS (#2387) by @atomiks

Number Field

  • Remove invalid prop (#2315) by @atomiks
  • Fix button disabled state only including root disabled state (#2268) by @mj12albert

Popover

  • Support ShadowRoot containers (#2236) by @atomiks
  • Remove ancestor nodes from inside elements for outside press detection (#2339) by @atomiks
  • Improve outside press behavior with touch input (#2334) by @atomiks
  • Use click event for outside press dismissal (#2275) by @atomiks

Preview Card

  • Support ShadowRoot containers (#2236) by @atomiks

Progress

  • Fix ARIA attributes and update docs (#2267) by @mj12albert

Radio Group

  • Add aria-required attribute (#2227) by @cgatian
  • Extend state with FieldRoot.State (#2251) by @mj12albert
  • Fix focusing form controls with inputRef (#2252) by @mj12albert
  • Avoid double useRenderElement passes (#2256) by @atomiks

Scroll Area

  • Disable user-select on scrollbar and non-main button interactions (#2338) by @atomiks

Select

  • Support ShadowRoot containers (#2236) by @atomiks
  • Add value and readOnly to Select.Trigger state (#2237) by @atomiks
  • Add multiple prop (#2173) by @atomiks
  • Allow typeahead while open for multiple mode (#2274) by @atomiks
  • Ensure positionerElement is available in document mouseup (#2276) by @atomiks
  • Fix alignItemWithTrigger fallback scroll jump (#2241) by @atomiks
  • Support conditional multiple prop in types (#2369) by @atomiks
  • Fix multiple ARIA behavior on touch (#2333) by @atomiks
  • Improve outside press behavior with touch input (#2334) by @atomiks

Slider

  • Fix focusing form controls with inputRef (#2252) by @mj12albert

Toast

  • Fix promise method timeout option handling (#2294) by @atomiks
  • Make Toast.Viewport an announce container (#2246) by @atomiks

Toggle

  • Avoid double useRenderElement passes (#2256) by @atomiks

Toggle Group

  • Avoid double useRenderElement passes (#2256) by @atomiks

Toolbar

  • Avoid double useRenderElement passes (#2256) by @atomiks

Tooltip

  • Support ShadowRoot containers (#2236) by @atomiks
  • Memoize leftover object in tooltip (#2250) by @sai6855
  • Fix error when combining defaultOpen and disabled (#2374) by @atomiks

All contributors of this release in alphabetical order: @aelfannir, @atomiks, @brijeshb42, @cgatian, @Janpot, @michaldudak, @mj12albert, @mo36924, @romgrk, @sai6855

v1.0.0-beta.1

Jul 1, 2025

General changes

  • Make error messages consistent (#2049) by @michaldudak
  • Do not overwrite event handler when undefined is passed explicitly (#2151) by @michaldudak

Accordion

  • Allow content to resize naturally (#2043) by @atomiks
  • Fix transition status mapping (#2169) by @atomiks
  • Fix aria-controls reference (#2170) by @atomiks
  • Fix test warning about mixed animation types (#2180) by @atomiks

Checkbox

  • Breaking change: Support implicit Field.Label. If Field.Label encloses Switch/Checkbox/Radio, the htmlFor/id attributes are no longer explicitly set to associate them. (#2036) by @mj12albert
  • Refactor to useRenderElement (#2053) by @mj12albert
  • Always set id on the <input> element (#2115) by @mj12albert

Checkbox Group

  • Fix onCheckedChange not running when parent checkbox is present (#2155) by @mj12albert

Collapsible

  • Allow content to resize naturally (#2043) by @atomiks
  • Fix aria-controls reference (#2170) by @atomiks
  • Fix test warning about mixed animation types (#2180) by @atomiks

Context Menu

  • Breaking change: Add SubmenuRoot part. Nested menus should be defined with Menu.SubmenuRoot instead of Menu.Root to to avoid ambiguity. (#2042) by @atomiks
  • Fix CheckboxItemIndicator export (#2009) by @aarongarciah

Dialog

  • Fix popup prop merging (#2119) by @atomiks

Field

  • Breaking change: Support implicit Field.Label. If Field.Label encloses Switch/Checkbox/Radio, the htmlFor/id attributes are no longer explicitly set to associate them. (#2036) by @mj12albert
  • Enable custom validation based on other form values (#1941) by @mj12albert
  • Fix onValueChange value type (#2112) by @atomiks
  • Fix Field.Label focusing trigger (#2118) by @atomiks
  • Fix slider field label (#2154) by @mj12albert

Fieldset

  • Refactor to useRenderElement (#2053) by @mj12albert

Form

  • Enable custom validation based on other form values (#1941) by @mj12albert

Input

  • Fix onValueChange value type (#2112) by @atomiks

Menu

  • Breaking change: Add SubmenuRoot part. Nested menus should be defined with Menu.SubmenuRoot instead of Menu.Root to to avoid ambiguity. (#2042) by @atomiks
  • Unset role from Trigger (#2047) by @atomiks
  • Emit close event on cancel-open (#2067) by @atomiks
  • Fix close toggle when rendering non-native button (#2071) by @atomiks
  • Add highlighted to item State (#2079) by @atomiks
  • Remove highlighted effect (#2162) by @atomiks
  • Cut out internal backdrop to allow interacting with triggers (#2141) by @michaldudak
  • Fix active index sync on hover (#2163) by @atomiks
  • Fix focus returning to root when submenus have exit transitions (#2163) by @atomiks

Menubar

  • Fix closeOnClick: false not working in nested menus (#2094) by @michaldudak

Navigation Menu

  • Handle layout resize while open (#2070) by @atomiks
  • Fix positioner height when opening menu using the keyboard arrows (#2060) by @juliomerisio

Number Field

  • Ensure onValueChange is called with already-formatted parsed value (#1905) by @atomiks
  • Fix revalidation on change (#2174) by @atomiks

Popover

  • Fix close toggle when rendering non-native button (#2071) by @atomiks
  • Cut out internal backdrop to allow interacting with triggers (#2141) by @michaldudak

Radio Group

  • Breaking change: Support implicit Field.Label. If Field.Label encloses Radio, the htmlFor/id attributes are no longer explicitly set to associate them. (#2036) by @mj12albert
  • Refactor to useRenderElement (#2053) by @mj12albert

Scroll Area

  • Ignore data-scrolling during programmatic scroll (#1908) by @atomiks

Select

  • Breaking change: Print raw value in Select.Value. <Select.Value> now prints the raw value by default unless an items prop is specified on Select.Root. See https://base-ui.com/react/components/select#formatting-the-value for more information. (#2087) by @atomiks
  • Performance: avoid re-renders (#1961) by @romgrk
  • Fix close toggle when rendering non-native button (#2071) by @atomiks
  • Fix Field.Label focusing trigger (#2118) by @atomiks
  • Fix programmatic value changes and autofill handling (#2084) by @atomiks
  • Add highlighted to item State (#2079) by @atomiks
  • Cut out internal backdrop to allow interacting with triggers (#2141) by @michaldudak
  • Pass value as state (#2153) by @atomiks
  • Extend FieldRoot.State type (#2192) by @atomiks

Slider

  • Use pointer capture when dragging (#2059) by @mj12albert
  • Fix slider field label (#2154) by @mj12albert

Switch

  • Breaking change: Support implicit Field.Label. If Field.Label encloses Switch, the htmlFor/id attributes are no longer explicitly set to associate them. (#2036) by @mj12albert

Tabs

  • Fix indicator positioning when TabsList overflows (#2093) by @mj12albert
  • Fix focus going out of sync when selected value is changed externally (#2107) by @atomiks
  • Remove highlighted state (#2164) by @atomiks

Toolbar

  • Set disabled attr on toolbar button when focusableWhenDisabled={false} (#2176) by @mj12albert

useRender

  • Make useRender RSC-friendly (#2134) by @michaldudak

All contributors of this release in alphabetical order: @aarongarciah, @atomiks, @bernardobelchior, @brijeshb42, @Janpot, @juliomerisio, @lesha1201, @michaldudak, @mj12albert, @oliviertassinari, @romgrk

v1.0.0-beta.0

May 29, 2025

General changes

  • Remove proptypes (#1760) by @michaldudak
  • Unify component export patterns (#1478) by @michaldudak
  • Default tabIndex to 0 on <button> parts (#1939) by @atomiks

Accordion

  • Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks

Alert Dialog

  • Breaking change: Refine OpenChangeReason. hover is now trigger-hover; click is now trigger-press; focus is now trigger-focus. (#1782) by @atomiks
  • Use basic scroll lock on iOS (#1890) by @atomiks

Checkbox

  • Set aria-required, use useButton (#1777) by @mj12albert

Checkbox Group

  • Breaking change: Enable submitting checkbox group value as one field. For parent checkboxes, use value instead of name on each Checkbox.Root part to link as the values. (#1948) by @mj12albert
  • Fix validate fn incorrectly running twice (#1959) by @mj12albert

Context Menu

  • New ContextMenu component (#1665) by @atomiks

Dialog

  • Breaking change: Refine OpenChangeReason. hover is now trigger-hover; click is now trigger-press; focus is now trigger-focus. (#1782) by @atomiks
  • Use basic scroll lock on iOS (#1890) by @atomiks

Field

  • Breaking change: Consolidate Field.Error forceShow into match prop. Use match={true} (or implicit boolean) instead of forceShow. (#1919) by @atomiks
  • Improve Label logic that prevents text selection on double click (#1784) by @atomiks
  • Fix validation inconsistency (#1779) by @atomiks
  • Fix integration of Base UI components (#1755) by @atomiks
  • Set valueMissing to false if only error and not dirtied (#1810) by @atomiks
  • validate with latest value on blur (#1850) by @atomiks
  • Revalidate only required on change (#1840) by @atomiks
  • Run validate function after native validations (#1926) by @mj12albert
  • Fix validate fn incorrectly running twice (#1959) by @mj12albert
  • Integrate range sliders with Form and Field (#1929) by @mj12albert

Form

  • Fix integration of Base UI components (#1755) by @atomiks
  • Select inputs on focus (#1858) by @atomiks
  • Exclude number formatting from form value (#1957) by @mj12albert
  • Integrate range sliders with Form and Field (#1929) by @mj12albert

Input

  • Fix Input.Props type (#1915) by @mj12albert
  • Extend Field.Control.State (#1954) by @atomiks

Menu

  • Breaking change: Refine OpenChangeReason. hover is now trigger-hover; click is now trigger-press; focus is now trigger-focus. (#1782) by @atomiks
  • Fix function dependency handling (#1787) by @atomiks
  • Add missing 'use client' to RadioGroup part (#1851) by @atomiks
  • Ensure null items are removed from composite lists (#1847) by @atomiks
  • Avoid :focus-visible style appearing (#1846) by @atomiks
  • Better handle dynamic and non-string items (#1861) by @atomiks
  • Add collisionAvoidance prop (#1849) by @atomiks
  • Add finalFocus and closeDelay props (#1918) by @atomiks
  • Use basic scroll lock on iOS (#1890) by @atomiks

Menubar

  • New Menubar component (#1684) by @michaldudak

Navigation Menu

  • New NavigationMenu component (#1741) by @atomiks

Number Field

  • validate with latest value on blur (#1850) by @atomiks
  • Move scrubbing logic to ScrubArea component (#1859) by @atomiks
  • Remove floating point errors when snapOnStep is disabled (#1857) by @atomiks
  • Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks
  • Exclude number formatting from form value (#1957) by @mj12albert

Popover

  • Breaking change: Refine OpenChangeReason. hover is now trigger-hover; click is now trigger-press; focus is now trigger-focus. (#1782) by @atomiks
  • Fix function dependency handling (#1787) by @atomiks
  • Avoid prop getters when merging props (#1852) by @atomiks
  • Add collisionAvoidance prop (#1849) by @atomiks
  • Fix nested openOnHover (#1938) by @atomiks
  • Use basic scroll lock on iOS (#1890) by @atomiks

Preview Card

  • Breaking change: Refine OpenChangeReason. hover is now trigger-hover; click is now trigger-press; focus is now trigger-focus. (#1782) by @atomiks
  • Fix function dependency handling (#1787) by @atomiks
  • Add collisionAvoidance prop (#1849) by @atomiks

Radio Group

  • Fix composite focus of initially selected radio item (#1753) by @atomiks
  • Add inputRef props (#1683) by @atomiks
  • Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks

Select

  • Breaking change: Move item anchoring prop to Positioner. Use <Select.Positioner alignItemWithTrigger={false}> instead of <Select.Root alignItemToTrigger={false}> (note the With instead of To). (#1713) by @atomiks
  • Breaking change: Defer mounting until typeahead is needed. The placeholder prop is now required. Previously, only SSR needed it to prevent a hydration flash, but client-side rendering now also requires it. (#1906) by @atomiks
  • Breaking change: Refine OpenChangeReason. hover is now trigger-hover; click is now trigger-press; focus is now trigger-focus. (#1782) by @atomiks
  • Fix function dependency handling (#1787) by @atomiks
  • Add inputRef props (#1683) by @atomiks
  • Refactor to useRenderElement (#1797) by @atomiks
  • Ensure null items are removed from composite lists (#1847) by @atomiks
  • Fix id prop forwarding to hidden input (#1862) by @atomiks
  • Avoid :focus-visible style appearing (#1846) by @atomiks
  • Fix transitionStatus mapping on ItemIndicator (#1925) by @atomiks
  • Better handle dynamic and non-string items (#1861) by @atomiks
  • Use Select.ItemText ref to grab default text content (#1943) by @atomiks
  • Add collisionAvoidance prop (#1849) by @atomiks
  • Use basic scroll lock on iOS (#1890) by @atomiks

Slider

  • Breaking change: Drop inputId prop from Thumb. (#1914) by @mj12albert
  • Position thumb based on value instead of pointer location when dragging (#1750) by @DarthSim
  • Use useRenderElement (#1772) by @mj12albert
  • Add inputRef props (#1683) by @atomiks
  • Add locale prop (#1796) by @mj12albert
  • Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks
  • set data-dragging on touchstart and pointerdown (#1874) by @mj12albert
  • Integrate range sliders with Form and Field (#1929) by @mj12albert

Toast

  • Breaking change: Add Portal part. Place <Toast.Viewport> inside of <Toast.Portal>. (#1962) by @atomiks
  • Breaking change: Avoid removing limited toasts from the DOM. The [data-limited] styles in the demos were updated to handle limited toasts remaining in the DOM. They should now be a standalone style as &[data-limited] { opacity: 0 }. (#1953) by @atomiks
  • Fix swipe jump on iOS (#1785) by @atomiks

Toggle

  • Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks

Toolbar

  • Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks

Tooltip

  • Breaking change: Refine OpenChangeReason. hover is now trigger-hover; click is now trigger-press; focus is now trigger-focus. (#1782) by @atomiks
  • Fix function dependency handling (#1787) by @atomiks
  • Avoid prop getters when merging props (#1852) by @atomiks
  • Remove trackCursorAxis type from Positioner (#1895) by @atomiks
  • Apply pointer-events: none to Positioner when not hoverable (#1917) by @atomiks
  • Add collisionAvoidance prop (#1849) by @atomiks

useRender

  • Breaking change: Performance/refactor: useRender. An object with a renderElement property is no longer returned; instead, the hook returns the element directly (const element = useRender(...)). The refs option was also renamed to ref. (#1934) by @romgrk
  • Skip most of useRenderElement logic when unnecessary (#1967) by @michaldudak

All contributors of this release in alphabetical order: @aarongarciah, @atomiks, @brijeshb42, @DarthSim, @flaviendelangle, @Janpot, @JCQuintas, @michaldudak, @mj12albert, @oliviertassinari, @romgrk, @Yonava, @ZeeshanTamboli

v1.0.0-alpha.8

Apr 17, 2025

Accordion

  • Recalculate panel dimensions on layout resize (#1704) @atomiks
  • Rework animations and transitions (#1601) @mj12albert

AlertDialog

  • Breaking change: Rename data-has-nested-dialogs to data-nested-dialog-open (#1686) @mj12albert
  • Fix onOpenChange types for event/reason passing (#1721) @atomiks
  • Use consistent inert attr and map [data-popup-open] back to open (#1650) @atomiks
  • Fix text selection & right-clicks (#1702) @mj12albert

CheckboxGroup

  • Parent checkbox/nested demos (#1610) @atomiks

Collapsible

  • Fix ForwardedRef type of CollapsiblePanel (#1595) @megos
  • Recalculate panel dimensions on layout resize (#1704) @atomiks
  • Rework animations and transitions (#1601) @mj12albert

Dialog

  • Breaking change: Rename data-has-nested-dialogs to data-nested-dialog-open (#1686) @mj12albert
  • Breaking change: Add new trap-focus value to modal prop. Dialogs with modal=false no longer trap focus. (#1571) @atomiks
  • Fix onOpenChange types for event/reason passing (#1721) @atomiks
  • Use consistent inert attr and map [data-popup-open] back to open (#1650) @atomiks
  • Fix text selection & right-clicks (#1702) @mj12albert
  • Allow document to slide input into view on iOS when keyboard opens (#1735) @atomiks

Field

  • Fix forwarding of name and disabled props (#1616) @atomiks

Menu

  • Add missing item data attributes docs (#1691) @atomiks
  • Fix inert prop compatibility in React <19 (#1618) @sebinsua
  • Fix stuck highlight on submenu trigger when submenu opens with keyboard (#1698) @atomiks
  • Fix onOpenChange types for event/reason passing (#1721) @atomiks
  • Use consistent inert attr and map [data-popup-open] back to open (#1650) @atomiks
  • Fix text selection & right-clicks (#1702) @mj12albert

Meter

  • New Meter component (#1435) @mj12albert

NumberField

  • Correct percentage parse handling (#1676) @atomiks
  • New snapOnStep prop (#1560) @atomiks

Popover

  • Breaking change: Add new trap-focus value to modal prop (#1571) @atomiks
  • Fix inert prop compatibility in React <19 (#1618) @sebinsua
  • Fix onOpenChange types for event/reason passing (#1721) @atomiks
  • Use consistent inert attr and map [data-popup-open] back to open (#1650) @atomiks
  • Fix text selection & right-clicks (#1702) @mj12albert

Progress

  • Breaking change: Add Progress.Label and locale prop. The getAriaLabel prop was removed as Progress.Label should be used to provide an accessible name. (#1666) @mj12albert

Radio

  • Fix value forwarding and null handling (#1697) @atomiks

ScrollArea

  • Breaking change: Add Content part. It is now required to include the ScrollArea.Content within ScrollArea.Viewport part when the content is horizontally scrollable. (#1607) @atomiks
  • Handle visibility change and nesting (#1598) @atomiks
  • Correct thumb sizing with scrollbar margins (#1606) @atomiks

Select

  • Breaking change: Improve item highlight performance. The highlighted state is now removed. It's not possible to customize the data-highlighted attribute anymore. (#1570) @atomiks
  • Avoid double commit on value change (#1597) @atomiks
  • Reset selectedIndex when set to null (#1596) @atomiks
  • Add missing item data attributes docs (#1691) @atomiks
  • Fix onOpenChange types for event/reason passing (#1721) @atomiks
  • Use consistent inert attr and map [data-popup-open] back to open (#1650) @atomiks
  • Fix text selection & right-clicks (#1702) @mj12albert

Slider

  • Correct thumb positioning when control has padding (#1661) @mj12albert
  • Prevent range slider thumbs from being dragged past each other (#1612) @mj12albert
  • Fix incorrect CSS position on vertical slider indicator (#1599) @ZeeshanTamboli
  • Fix overlapping slider thumbs stuck at min or max (#1732) @mj12albert

Toast

  • New Toast component (#1467) @atomiks

Tooltip

  • Avoid re-rendering unrelated consumers (#1677) @atomiks
  • Add disabled prop (#1682) @atomiks
  • Fix onOpenChange types for event/reason passing (#1721) @atomiks
  • Use consistent inert attr and map [data-popup-open] back to open (#1650) @atomiks
  • Fix text selection & right-clicks (#1702) @mj12albert

All contributors of this release in alphabetical order: @atomiks, @megos, @michaldudak, @mj12albert, @oliviertassinari, @sebinsua, @ZeeshanTamboli

v1.0.0-alpha.7

Mar 20, 2025

Accordion

  • Fix aria-labelledby on accordion panel (#1544) @mj12albert

AlertDialog

  • Fix selection on outside press on Firefox with modal prop (#1573) @atomiks
  • Fix non-interactive button disabled state (#1473) @mj12albert
  • actionsRef prop (#1236) @atomiks

Avatar

  • Support cross origin in useImageLoadingStatus (#1433) @ISnackable
  • Add missing Avatar export (#1428) @Gomah

Collapsible

  • Update props destructuring to fix Trigger disabled state (#1469) @huijiewei

Dialog

  • Fix selection on outside press on Firefox with modal prop (#1573) @atomiks
  • Fix non-interactive button disabled state (#1473) @mj12albert
  • actionsRef prop (#1236) @atomiks

Field

  • Fix FieldControl [data-filled] not reacting to external value changes (#1565) @atomiks

Menu

  • Ensure submenu triggers respond to clicks when openOnHover=false (#1583) @atomiks
  • Ensure stickIfOpen is reset to true correctly (#1548) @atomiks
  • Fix selection on outside press on Firefox with modal prop (#1573) @atomiks
  • Reset hoverEnabled state on close (#1461) @atomiks
  • Fix prop merging issues (#1445) @michaldudak
  • Set pointer-events: none style on backdrops when hoverable (#1351) @atomiks
  • actionsRef prop (#1236) @atomiks

NumberField

  • Fix ScrubArea on Safari (#1584) @atomiks
  • Fix large/smallStep getting stuck (#1578) @atomiks
  • Fix parse of numbers with spaces as thousands separators (#1577) @michaldudak
  • Prevent virtual cursor overlapping native one (#1491) @atomiks
  • Fix disabled state on increment/decrement buttons (#1462) @mj12albert
  • Correct virtual cursor rendering (#1484) @atomiks
  • Add locale prop (#1488) @atomiks
  • Improve virtual cursor perf (#1485) @atomiks

Popover

  • Ensure stickIfOpen is reset to true correctly (#1548) @atomiks
  • Fix selection on outside press on Firefox with modal prop (#1573) @atomiks
  • Set pointer-events: none style on backdrops when hoverable (#1351) @atomiks
  • Fix non-interactive button disabled state (#1473) @mj12albert
  • modal prop (#1459) @atomiks
  • actionsRef prop (#1236) @atomiks

PreviewCard

  • Set pointer-events: none style on backdrops when hoverable (#1351) @atomiks
  • actionsRef prop (#1236) @atomiks

RadioGroup

  • Fix Form/Field validation integration (#1448) @atomiks
  • Handle modifier keys (#1529) @mj12albert

Select

  • Fix selection on outside press on Firefox with modal prop (#1573) @atomiks
  • Improve ScrollArrow behavior (#1564) @atomiks
  • Ensure switching controlled value to null updates Select.Value label (#1561) @atomiks
  • Pass value as second argument to function children Select.Value (#1562) @atomiks
  • Fix focus jump while hovering while navigating with keyboard (#1563) @atomiks
  • Fix disabled state changing (#1526) @mj12albert
  • actionsRef prop (#1236) @atomiks

Slider

  • Fix thumb positioning when controlled value violates min/max/step (#1541) @mj12albert
  • Warn when min is not less than max (#1475) @mj12albert
  • Narrow the type of value in callbacks (#1241) @seloner

Tabs

  • Fix keyboard navigation involving disabled Tabs (#1449) @mj12albert
  • Handle modifier keys (#1529) @mj12albert

Toolbar

  • Add Toolbar components (#1349) @mj12albert

Tooltip

  • actionsRef prop (#1236) @atomiks
  • Fix Provider delay=0 not being respected (#1416) @atomiks

useRender

  • Add public hook (#1418) @mnajdova
  • Refine docs and APIs (#1551) @atomiks

Docs

  • Fix CSS issues (#1585) @atomiks
  • Clean up old experiments (#1572) @mj12albert
  • Fix SEO site name description (#1520) @oliviertassinari
  • Fix actionsRef propTypes (#1460) @atomiks
  • Tooltip guidelines (#1356) @atomiks
  • Update the release instructions (#1444) @michaldudak
  • Mention Progress.Value in API reference (#1429) @aarongarciah
  • Update release instructions (#1417) @michaldudak

Core

  • [code-infra] Polish VS Code DX (#1238) @oliviertassinari
  • [code-infra] Fix build:types not copying on some setups (#1482) @Janpot
  • [Composite] Derive sorted map state (#1489) @atomiks
  • Update release docs and scripts (#1245) @oliviertassinari
  • Export namespaces consistently (#1472) @michaldudak
  • Make mergeReactProps work with non-native event handlers (#1440) @michaldudak
  • Remove babel-plugin-istanbul (#1409) @michaldudak
  • Fix stylelint violations (#1422) @michaldudak
  • Misc cleaning (#1579) @atomiks
  • [mergeProps] Convert as a top level import and export publicly (#1535) @mnajdova
  • [test] Fix wrong env skip (#1490) @atomiks
  • [test] Fix PreviewCard test flake (#1487) @atomiks
  • [test] Extract common popup tests (#1358) @michaldudak
  • [test] Verify root exports (#1431) @michaldudak
  • [test] Fix flaky browser tests (#1371) @atomiks
  • [test] Update vitest to ^3 (#1453) @michaldudak
  • [test] Skip flaky FieldRoot tests in real browsers (#1446) @michaldudak
  • [useMergedRefs] Support ref cleanup functions (#1553) @atomiks
  • [utils] Change order of args in mergeReactProps (#1533) @mnajdova

v1.0.0-alpha.6

Feb 6, 2025

AlertDialog

  • onOpenChangeComplete prop (#1305) @atomiks
  • Fix jump with scroll-behavior style (#1343) @atomiks

Avatar

  • Add Avatar component (#1210) @acomanescu

Checkbox

  • Avoid applying hidden attr when keepMounted=true for indicators (#1329) @onehanddev

Dialog

  • Remove modal={open} state (#1352) @atomiks
  • Support multiple non-nested modal backdrops (#1327) @atomiks
  • Fix missing ids on Title and Description (#1326) @mj12albert
  • onOpenChangeComplete prop (#1305) @atomiks
  • Fix jump with scroll-behavior style (#1343) @atomiks

Field

  • Respect validationMode (#1053) @atomiks
  • Add filled and focused style hooks (#1341) @atomiks

Form

  • Fix focusing of invalid field controls on errors prop change (#1364) @atomiks

Menu

  • Avoid applying hidden attr when keepMounted=true for indicators (#1329) @onehanddev
  • Support submenus with openOnHover prop (#1338) @atomiks
  • Fix iPad detection when applying scroll lock (#1342) @mj12albert
  • onOpenChangeComplete prop (#1305) @atomiks
  • Fix jump with scroll-behavior style (#1343) @atomiks
  • Add OffsetFunction for sideOffset and alignOffset (#1223) @atomiks
  • Ensure keepMounted is a private param on Positioner (#1410) @atomiks

Popover

  • onOpenChangeComplete prop (#1305) @atomiks
  • Add OffsetFunction for sideOffset and alignOffset (#1223) @atomiks
  • Ensure keepMounted is a private param on Positioner (#1410) @atomiks

PreviewCard

  • onOpenChangeComplete prop (#1305) @atomiks
  • Add OffsetFunction for sideOffset and alignOffset (#1223) @atomiks
  • Ensure keepMounted is a private param on Positioner (#1410) @atomiks

Progress

  • Add format prop and Value component (#1355) @mj12albert

Radio

  • Avoid applying hidden attr when keepMounted=true for indicators (#1329) @onehanddev

Select

  • onOpenChangeComplete prop (#1305) @atomiks
  • Fix jump with scroll-behavior style (#1343) @atomiks
  • Add OffsetFunction for sideOffset and alignOffset (#1223) @atomiks
  • Ensure keepMounted is a private param on Positioner (#1410) @atomiks

Slider

  • Fix thumb positioning (#1411) @mj12albert

Tabs

  • Fix being able to activate a disabled tab (#1359) @michaldudak
  • Fix tabs activating incorrectly on non-primary button clicks (#1318) @mj12albert

Tooltip

  • onOpenChangeComplete prop (#1305) @atomiks
  • Add OffsetFunction for sideOffset and alignOffset (#1223) @atomiks
  • Ensure keepMounted is a private param on Positioner (#1410) @atomiks

v1.0.0-alpha.5

Jan 10, 2025

AlertDialog

  • Breaking change: Require Portal part. The AlertDialog must explicitly include the Portal part wrapping the Popup. The keepMounted prop was removed from the Popup. It's only present on the Portal part. #1222 @atomiks
  • Don't call onNestedDialogOpen when unmounting a closed nested dialog #1280 @mj12albert
  • Fix the nesting of different dialogs #1167 @mnajdova
  • Remove useFloating call from the Popup #1300 @michaldudak
  • Set pointer-events on InternalBackdrop based on open state #1221 @atomiks
  • Use internal backdrop for pointer modality #1161 @atomiks

Dialog

  • Breaking change: Require Portal part. The Dialog must explicitly include the Portal part wrapping the Popup. The keepMounted prop was removed from the Popup. It's only present on the Portal part. #1222 @atomiks
  • Don't call onNestedDialogOpen when unmounting a closed nested dialog #1280 @mj12albert
  • Fix the nesting of different dialogs #1167 @mnajdova
  • Remove useFloating call from the Popup #1300 @michaldudak
  • Set pointer-events on InternalBackdrop based on open state #1221 @atomiks
  • Use internal backdrop for pointer modality #1161 @atomiks

Menu

  • Breaking change: Require Portal part. The Menu must explicitly include the Portal part wrapping the Positioner. The keepMounted prop was removed from the Positioner. It's only present on the Portal part. #1222 @atomiks
  • Apply aria-hidden to Arrow parts #1196 @atomiks
  • Fix focusableWhenDisabled components #1313 @mj12albert
  • Fix openOnHover issues #1191 @atomiks
  • Fix closing the menu when clicking on checkboxitem/radioitem #1301 @michaldudak
  • Fix Enter key preventDefault when rendering links #1251 @mj12albert
  • Handle pseudo-element bounds in mouseup detection #1250 @atomiks
  • Set pointer-events on InternalBackdrop based on open state #1221 @atomiks
  • Use internal backdrop for pointer modality #1161 @atomiks

NumberField

  • Correctly handle quick touches #1294 @atomiks

Popover

  • Breaking change: Require Portal part. The Popover must explicitly include the Portal part wrapping the Positioner. The keepMounted prop was removed from the Positioner. It's only present on the Portal part. #1222 @atomiks
  • Apply aria-hidden to Arrow parts #1196 @atomiks
  • Fix PopoverTrigger and TooltipTrigger prop types #1209 @mnajdova

PreviewCard

  • Breaking change: Require Portal part. The PreviewCard must explicitly include the Portal part wrapping the Positioner. The keepMounted prop was removed from the Positioner. It's only present on the Portal part. #1222 @atomiks
  • Apply aria-hidden to Arrow parts #1196 @atomiks
  • Use FloatingPortalLite #1278 @atomiks

Progress

  • Set zero width when value is zero #1204 @mj12albert

ScrollArea

  • Differentiate x/y orientation data-scrolling #1188 @atomiks
  • Read DirectionProvider and use logical positioning CSS props #1194 @mj12albert

Select

  • Breaking change: Require Portal part. The Select must explicitly include the Portal part wrapping the Positioner. The keepMounted prop was removed from the Positioner. It's only present on the Portal part. #1222 @atomiks
  • Allow id to be passed to trigger #1174 @atomiks
  • Fallback to standard positioning when pinch-zoomed in Safari #1139 @atomiks
  • Fix focusableWhenDisabled components #1313 @mj12albert
  • Fix highlight flash on Safari #1233 @atomiks
  • Handle pseudo-element bounds in mouseup detection #1250 @atomiks
  • Use internal backdrop for pointer modality #1161 @atomiks

Separator

  • Support vertical orientation #1304 @mj12albert

Slider

  • Ensure onValueCommitted is called with the same value as latest onValueChange #1296 @mj12albert
  • Replace internal map with Composite metadata #1082 @mj12albert
  • Set position: relative on range slider indicator #1175 @mj12albert
  • Use un-rounded values to position thumbs #1219 @mj12albert

Tabs

  • Expose width/height state in tabs indicator #1288 @aarongarciah

Tooltip

  • Breaking change: Require Portal part. The Tooltip must explicitly include the Portal part wrapping the Positioner. The keepMounted prop was removed from the Positioner. It's only present on the Portal part. #1222 @atomiks
  • Apply aria-hidden to Arrow parts #1196 @atomiks
  • Fix PopoverTrigger and TooltipTrigger prop types #1209 @mnajdova
  • Use FloatingPortalLite #1278 @atomiks

v1.0.0-alpha.4

Dec 17, 2024

Public alpha launch 🐣 Merry Xmas! 🎁