HeroUI Pro

1.0.0-beta.2

Vite/SSR compatibility fix, CLI improvements, peer dependency bump, and docs reorganization.

April 2026

A patch release focused on compatibility, CLI improvements, and documentation. Fixes a module resolution issue that broke default icons in Vite SSR and TanStack Start environments, improves the CLI install and update workflow, bumps peer dependency minimums, and reorganizes component docs into more intuitive categories.

Bug Fixes

Fix: Icon rendering in Vite SSR / TanStack Start

PR #309

Components that render a default icon when no children are passed — such as InlineSelect.Indicator and CellSelect.Indicator — threw a runtime error in Vite SSR and TanStack Start:

Element type is invalid: expected a string (for built-in components)
or a class/function (for composite components) but got: object.

Root cause: The @gravity-ui/icons package ships CJS files at the root and ESM files under esm/, but has no exports map. Subpath default imports (e.g. @gravity-ui/icons/ChevronsExpandVertical) resolved to the CJS build, and Node.js native ESM does not honor the __esModule convention — so the default import returned the module namespace object instead of the component function.

Fix: Replaced all subpath default imports with named barrel imports (import { ChevronsExpandVertical } from "@gravity-ui/icons"), which resolve to ESM via the package's module field.

Affected components:

  • InlineSelect.Indicator
  • CellSelect.Indicator
  • Carousel (prev/next chevrons)
  • DropZone (upload/trash icons)
  • FileTree (expand chevron)
  • NumberStepper (plus/minus icons)

CLI Improvements

Fix: CLI now respects pinned versions on install

PR #29

Previously, running npx heroui-pro install would resolve to @latest and overwrite the version declared in your package.json. The CLI now runs a bare pm install for packages already present, preserving your pinned or range version.

Other CLI changes:

  • Version drift detection — After install, the CLI compares the installed node_modules version against your package.json version. In interactive mode it prompts you to keep the installed version, install the package.json version, or update to latest.
  • Separate Install and Update menu options — The interactive menu now always shows "Install {name} ({version})" for the current version and a separate "Update {name} to {latest}" option when outdated.
  • New heroui-pro update command — Non-interactive counterpart to the menu's update option. Run npx heroui-pro update to upgrade directly.

Breaking Changes

Peer dependency minimums bumped

@heroui/react and @heroui/styles peer dependencies now require >=3.0.3 (previously >=3.0.0).

- "@heroui/react": ">=3.0.0"
- "@heroui/styles": ">=3.0.0"
+ "@heroui/react": ">=3.0.3"
+ "@heroui/styles": ">=3.0.3"

If you're on an older version, update both packages:

npm install @heroui/react@latest @heroui/styles@latest

Docs

Component categories reorganized

PR #313

Several components moved to categories that better reflect their purpose:

ComponentFromTo
WidgetChartsData Display
EmojiReactionButtonOverlaysFeedback
DropZoneOverlaysForms
StepperOverlaysNavigation

No API changes — only the documentation navigation URLs changed.

Upgrade

Run the HeroUI Pro CLI and select the update option:

npx heroui-pro

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

On this page