HeroUI Pro

1.0.0-beta.3

Segment ghost variant + dynamic width, AppLayout content-scroll mode, FileTree checkboxes, EmojiReactionButton read-only, and keyboard support for PressableFeedback.

May 2026

This release adds a ghost variant and dynamic-width items to Segment, a content-scroll mode to AppLayout, read-only support for EmojiReactionButton, and automatic checkbox rendering in FileTree.

⚠️ Breaking changes: @gravity-ui/icons removed as a runtime dependency (now bundled); NumberStepper sizes decreased one step across all variants.

What's New

Segment: Ghost Variant

Transparent container with an accent-colored indicator — ideal for inline navigation embedded in toolbars or cards.

Segment: Dynamic Width

Render-prop Segment items that expand from icon-only to icon + label on selection — dynamic width driven by CSS grid transitions.

AppLayout: Content Scroll Mode

New scrollMode="content" prop keeps the shell fixed to the viewport while only the main column scrolls. The main region becomes focusable so browsers provide native PageUp/PageDown/Arrow scrolling without custom handlers.

EmojiReactionButton: Read-Only Mode

New isReadOnly prop displays reactions without responding to interaction — no press handlers fire, and the button is excluded from tab order.

FileTree: Selection Checkboxes

Checkboxes auto-render when selectionBehavior="toggle". The chevron also gained a hover state for better affordance.

New Demos

Full-featured sidebar demo with command palette, offcanvas mode, and nested navigation.

Updated complex sidebar demo with teamspaces, agents, favorites, recents, and ghost segment navigation.

Bug Fixes

  • ContextMenu — Re-opens correctly on repeated right-click while the popover overlay is active
  • PressableFeedback (HoldConfirm) — Space/Enter now trigger hold-to-confirm (keyboard parity with pointer)
  • PressableFeedback (ProgressFeedback) — Keyboard sweep activation added
  • FileTree — Row hover suppressed when hovering the chevron button
  • Glass theme (Carousel) — Nav buttons use mix-blend-mode: difference for visibility on arbitrary slide backgrounds

Style Changes

  • NumberStepper — All size variants decreased one step (lg → h-10, md → h-9, sm → h-8) for tighter proportions
  • RadioButtonGroup — Demos updated with responsive layout patterns

Build

  • "use client" directives preserved — Added rollup-plugin-preserve-directives so directives survive terser minification
  • Icons bundled internally@gravity-ui/icons moved from dependencies to devDependencies; icons are compiled into the output, consumers no longer need it installed

⚠️ Breaking Changes

@gravity-ui/icons no longer a runtime dependency

Icons used by HeroUI Pro components are now bundled into the package output. If you were importing from @gravity-ui/icons via HeroUI Pro's node_modules, install it directly:

npm install @gravity-ui/icons

No action needed if you only use HeroUI Pro components — they continue to work as before.

NumberStepper size reduction

All button sizes are one step smaller:

VariantBeforeAfter
smh-9 / md:h-8h-8 / md:h-7
mdh-10 / md:h-9h-9 / md:h-8
lgh-11 / md:h-10h-10 / md:h-9

Layouts with exact height constraints on the stepper may need adjustment.

Upgrade

npx heroui-pro

Select Update HeroUI Pro React to x.x.x (latest) from the interactive menu.

On this page