1.0.0-beta.2
Vite/SSR compatibility fix, CLI improvements, peer dependency bump, and docs reorganization.
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
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.IndicatorCellSelect.IndicatorCarousel(prev/next chevrons)DropZone(upload/trash icons)FileTree(expand chevron)NumberStepper(plus/minus icons)
CLI Improvements
Fix: CLI now respects pinned versions on install
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_modulesversion against yourpackage.jsonversion. In interactive mode it prompts you to keep the installed version, install thepackage.jsonversion, 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 updatecommand — Non-interactive counterpart to the menu's update option. Runnpx heroui-pro updateto 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@latestDocs
Component categories reorganized
Several components moved to categories that better reflect their purpose:
| Component | From | To |
|---|---|---|
| Widget | Charts | Data Display |
| EmojiReactionButton | Overlays | Feedback |
| DropZone | Overlays | Forms |
| Stepper | Overlays | Navigation |
No API changes — only the documentation navigation URLs changed.
Upgrade
Run the HeroUI Pro CLI and select the update option:
npx heroui-proThen choose Update HeroUI Pro React to x.x.x (latest) from the interactive menu.