apps/docs/content/docs/en/react/releases/v3-0-0-beta-3.mdx
This release introduces seven new components (ButtonGroup, DateField, ErrorMessage, ScrollShadow, SearchField, TagGroup, TimeField), adds fullWidth support for form components and hideSeparator to Tabs, ButtonGroup, and Accordion, includes style fixes, and ⚠️ breaking changes removing the asChild prop and updating AlertDialog & Modal backdrop variants.
<DocsImage src="https://heroui-assets.nyc3.cdn.digitaloceanspaces.com/docs/versions/[email protected]" darkSrc="https://heroui-assets.nyc3.cdn.digitaloceanspaces.com/docs/versions/[email protected]" alt="HeroUI v3 Beta 3" href="/docs/changelog/v3-0-0-beta-3" />
Update to the latest version:
<Tabs items={["npm", "pnpm", "yarn", "bun"]}>
<Tab value="npm">
bash npm i @heroui/styles@beta @heroui/react@beta
</Tab>
<Tab value="pnpm">
bash pnpm add @heroui/styles@beta @heroui/react@beta
</Tab>
<Tab value="yarn">
bash yarn add @heroui/styles@beta @heroui/react@beta
</Tab>
<Tab value="bun">
bash bun add @heroui/styles@beta @heroui/react@beta
</Tab>
</Tabs>
This release introduces 7 new essential components:
<ComponentPreview name="button-group-basic" />
<ComponentPreview name="date-field-basic" />
<ComponentPreview name="error-message-basic" />
<ComponentPreview name="search-field-basic" />
<ComponentPreview name="scroll-shadow-orientation" />
<ComponentPreview name="tag-group-basic" />
<ComponentPreview name="time-field-basic" />
Added fullWidth support to form and input components, allowing them to span the full width of their container. This is particularly useful for creating consistent form layouts and responsive designs.
Supported components:
Added hideSeparator prop to Tabs, ButtonGroup, and Accordion components, allowing you to hide separator lines between items for a cleaner, more minimal appearance.
Tabs:
<Tabs hideSeparator>
<Tabs.ListContainer>
<Tabs.List aria-label="Options">
<Tabs.Tab id="overview">Overview<Tabs.Indicator /></Tabs.Tab>
<Tabs.Tab id="analytics">Analytics<Tabs.Indicator /></Tabs.Tab>
</Tabs.List>
</Tabs.ListContainer>
</Tabs>
ButtonGroup:
<ButtonGroup hideSeparator>
<Button>First</Button>
<Button>Second</Button>
<Button>Third</Button>
</ButtonGroup>
Accordion:
<Accordion hideSeparator>
<Accordion.Item>
<Accordion.Heading>
<Accordion.Trigger>Item 1</Accordion.Trigger>
</Accordion.Heading>
<Accordion.Panel>
<Accordion.Body>Content</Accordion.Body>
</Accordion.Panel>
</Accordion.Item>
</Accordion>
Integrated @gravity-ui/icons into documentation components for consistent icon rendering with improved SSR support and better performance.
Upgraded react-aria-components to v1.14.0. This release includes:
Enhancements:
isReadOnly and isRequired to render propsshouldCloseOnPress propsetState callback in useControlledStateFixes:
aria-label of ListBoxItemFor the complete list of changes, see the React Aria Components v1.14.0 release notes.
@internationalized/date: 3.10.0 → 3.10.1@radix-ui/react-avatar: 1.1.10 → 1.1.11tailwind-merge: 3.3.1 → 3.4.0tailwind-variants: 3.1.1 → 3.2.2Fixed disabled state styling for Input and TextArea components.
no-highlight utility class to prevent text selection on interactive elements for improved user experiencewill-change CSS properties across components for better animation performanceRenamed backdropVariant/variant prop value from "solid" to "opaque" for better semantic clarity. The term "opaque" more accurately describes the backdrop's visual appearance.
Migration:
Update all instances of backdropVariant="solid" to backdropVariant="opaque" for AlertDialog, and variant="solid" to variant="opaque" for Modal:
// Before
<AlertDialog.Backdrop backdropVariant="solid">
<AlertDialog.Container>
</AlertDialog.Container>
</AlertDialog.Backdrop>
<Modal.Backdrop variant="solid">
<Modal.Container>
</Modal.Container>
</Modal.Backdrop>
// After
<AlertDialog.Backdrop backdropVariant="opaque">
<AlertDialog.Container>
</AlertDialog.Container>
</AlertDialog.Backdrop>
<Modal.Backdrop variant="opaque">
<Modal.Container>
</Modal.Container>
</Modal.Backdrop>
Available backdrop variants:
"opaque" - Dark backdrop that completely obscures the background (formerly "solid")"blur" - Blurred backdrop that softly obscures the background"transparent" - Transparent backdrop that keeps the background visibleasChild PropRemoved the asChild prop pattern from components for cleaner APIs, improved type safety, and simplified usage.
For more details about component composition patterns, see the Composition guide.
isInvalid styles when components are used on surface backgroundsThanks to everyone who contributed to this release!
<PRContributors />