Component changelog

ScrollArea changelog

Component-specific release notes collected from the full changelog. This page filters the published entries that mention ScrollArea.

Release

v1.1.0

npm
Minor Changes
  • 8d5c556: feat: right-to-left support for menus, Select, Combobox, NavigationMenu, TabNav and ScrollArea

    • DropdownMenu, ContextMenu: new dir prop. In RTL, ArrowLeft/ArrowRight open and close submenus, submenus open on the left, and the portaled content (and submenus) carries dir. rtl is deprecated in favor of dir="rtl".
    • NavigationMenu, TabNav: new dir prop; arrow keys follow reading direction.
    • Select, Combobox: dir on the root now also applies to the portaled listbox.
    • ScrollArea: horizontal scroll math and scrollbar placement use the computed direction (logical CSS insets, RTL scroll range).
Patch Changes
  • 76087ccstandardize asChild support across remaining compound card, steps, avatar group, scroll area, and table parts

Release

v1.0.0

npm
Patch Changes
  • e6dde24: Add ScrollArea keyboard interaction and ARIA reference tables to the docs.

  • 0ccabb4: fix(scrollarea): hide the scrollbar while a document overlay is open

    An overlay (Dialog, Menu, Popover, Combobox, Drawer) covers the page and locks body scroll, but a ScrollArea with type="always" still painted its scrollbar and thumb on top of it.

    Adds a document-level overlay registry and suppresses the scrollbar and thumb while any overlay is open:

    const isVisible =
      !overlaySuppressesScrollbar &&
      (type === "always" ||
        (type === "auto" && isOverflowing) ||
        (isOverflowing &&
          (type === "scroll" || type === "hover") &&
          scrollbarVisible));

    The registry is ref-counted and mirrors its state onto data-rad-ui-overlay-open on <html>, so overlays stack correctly (two open overlays decrement back to zero rather than clearing early). ScrollArea picks the state up via useDocumentOverlayOpenState, which also observes the attribute and body's inline style, so overlays from other libraries that only lock body scroll are covered too.

    resetDocumentOverlayOpenForTests is wired into the global afterEach in setupTests.ts so the registry cannot leak between suites.

Release

v0.6.0

npm
Minor Changes
  • fa1a1d5scroll area visual types