Updated HeroUI Pro React and Native Figma files, a Sidebar page switcher, SSR-safe subpath imports for peer-heavy components, KPI chart tooltips, broader RTL support across Pro components, DataGrid type fixes, a MapLibre GL v6 upgrade, and dependency bumps to HeroUI 3.2.3 and tailwind-variants 3.3.0.
This release updates the HeroUI Pro React and HeroUI Pro Native Figma files, adds an animated Sidebar.Pages switcher, and makes the package barrel SSR-safe by moving components that pull heavy, opt-in peer dependencies to their own subpath imports. It also adds a chart tooltip to KPI.Chart, extends right-to-left support to the Carousel and more Pro components, corrects DataGrid expansion prop types, upgrades maplibre-gl to v6, and bumps the @heroui/react peer to 3.2.3 and tailwind-variants to 3.3.0.
⚠️ Breaking change:
KPI, Carousel, Map, Markdown, RichTextEditor, CodeBlock, and other peer-heavy components are no longer exported from the root @heroui-pro/react barrel. Import each from its subpath instead (for example @heroui-pro/react/kpi).maplibre-gl is now a >=6.0.0 peer dependency (required when using Map).@react-aria/utils moved to a peer dependency (>=3.34.1) — install it alongside @heroui-pro/react if it is not already present.No new top-level package components ship in this release, but the Sidebar gains an animated page switcher and KPI charts gain hover tooltips.
Sidebar.Pages swaps between multiple navigation panels with an animated horizontal slide — for example a main menu and a nested settings page (#847). Each Sidebar.Page is identified by a value; the active page slides into view while the others slide off to the side. Switch pages from any descendant with the new useSidebarPages hook, or control the active page with value / onValueChange.
import {Sidebar, useSidebarPages} from "@heroui-pro/react";
function MainMenu() {
const {setActiveValue} = useSidebarPages();
return (
<Sidebar.MenuItem onAction={() => setActiveValue("settings")}>
<Sidebar.MenuLabel>Settings</Sidebar.MenuLabel>
</Sidebar.MenuItem>
);
}
<Sidebar.Content>
<Sidebar.Pages defaultValue="main">
<Sidebar.Page value="main">
<MainMenu />
</Sidebar.Page>
<Sidebar.Page value="settings">{/* settings menu */}</Sidebar.Page>
</Sidebar.Pages>
</Sidebar.Content>;Slide animations respect Sidebar.Provider's reduceMotion prop and the user's prefers-reduced-motion setting. Inactive pages are marked inert and aria-hidden, so keyboard and screen readers skip them.
KPI.Chart now accepts a tooltip prop, letting you render a fully styled ChartTooltip on hover inside the sparkline without leaving the KPI surface (#801).
import {ChartTooltip} from "@heroui-pro/react";
import {AreaChart} from "@heroui-pro/react/area-chart";
import {KPI} from "@heroui-pro/react/kpi";
<KPI.Chart
color="var(--color-success)"
data={revenue}
height={70}
tooltip={
<AreaChart.Tooltip
content={({active, payload}) => {
const point = payload?.[0];
if (!active || !point) return null;
return (
<ChartTooltip>
<ChartTooltip.Header>{point.payload?.month}</ChartTooltip.Header>
<ChartTooltip.Item>
<ChartTooltip.Indicator color={point.stroke} />
<ChartTooltip.Label>Revenue</ChartTooltip.Label>
<ChartTooltip.Value>
${Number(point.value).toLocaleString()}
</ChartTooltip.Value>
</ChartTooltip.Item>
</ChartTooltip>
);
}}
/>
}
/>;dir, so carousels mirror correctly in right-to-left layouts (#781)expandedKeys, defaultExpandedKeys, and onExpandedChange, and the grid keeps a row-header column when a column is hidden (#783)setData is now guarded against style-teardown races, avoiding errors when a source updates while the map style is being replacedShipping alongside the package in this release:
DESIGN.md, and PRODUCT.md (Read the release notes)maplibre-gl upgraded to v6; peer minimum bumped to >=6.0.0 (#832)@react-aria/utils moved from a direct dependency to a peer dependency (>=3.34.1) (#833)@heroui/react and @heroui/styles bumped to 3.2.3 (#839); peer minimum stays >=3.2.2tailwind-variants bumped to 3.3.0; peer minimum bumped to >=3.3.0Several components statically import heavy, opt-in peer dependencies (recharts, maplibre-gl, tiptap, embla, shiki, and more). Re-exporting them from the root barrel meant those peers were evaluated on every import, which crashes SSR module evaluation for consumers that do not install them (#785).
These components are no longer exported from @heroui-pro/react. Import each from its own subpath:
| Component(s) | Import from |
|---|---|
AreaChart, BarChart, LineChart, PieChart, ComposedChart, RadarChart, RadialChart | @heroui-pro/react/<chart-name> |
KPI | @heroui-pro/react/kpi |
Carousel | @heroui-pro/react/carousel |
Map | @heroui-pro/react/map |
Markdown | @heroui-pro/react/markdown |
RichTextEditor | @heroui-pro/react/rich-text-editor |
CodeBlock | @heroui-pro/react/code-block |
ChatTool, ChatToolGroup | @heroui-pro/react/chat-tool |
NumberStepper | @heroui-pro/react/number-stepper |
Resizable | @heroui-pro/react/resizable |
Update the imports for any of these components:
- import {AreaChart, KPI} from "@heroui-pro/react";
+ import {AreaChart} from "@heroui-pro/react/area-chart";
+ import {KPI} from "@heroui-pro/react/kpi";Every other component continues to import from the root @heroui-pro/react, and each subpath only pulls in its own peer dependency, so apps that never import these components no longer evaluate the heavy peers at all.
maplibre-gl is upgraded to v6 and its peer minimum is now >=6.0.0. Update it when using Map:
npm install maplibre-gl@latest@react-aria/utils is now a peer dependency@react-aria/utils is no longer bundled as a direct dependency of @heroui-pro/react; it is a peer dependency at >=3.34.1. Most apps already have it via react-aria-components, but install it explicitly if you hit an unresolved import:
npm install @react-aria/utils@latestThe HeroUI Pro React Figma files are updated to v1.0.5 (Jul 31, 2026). Download the latest files from your dashboard or see the Figma setup guide.
The HeroUI Pro Native Figma files are updated to v1.0.3 (Jul 31, 2026). Download the latest files from your dashboard or see the Native Figma setup guide.
npx heroui-proSelect Update HeroUI Pro React to x.x.x (latest) from the interactive menu.