apps/docs/content/docs/react/releases/v3-0-0-beta-8.mdx
This release adds three new components: Badge, Pagination, and Table, plus new InputContainer composition APIs for DateField and TimeField.
⚠️ Breaking changes: TextField CSS classes were renamed from .text-field to .textfield.
<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 8" href="/docs/changelog/v3-0-0-beta-8" />
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>
New badge primitives for counters, labels, and anchored overlays with Badge.Anchor and Badge.Label.
<ComponentPreview name="badge-basic" />
New navigation component built with composable parts (Root, Content, Item, Link, Previous, Next, Summary, Ellipsis).
<ComponentPreview name="pagination-with-ellipsis" />
Compound data table on React Aria with sortable columns, row selection, custom cells, load-more sentinel rows, and resizable columns.
<ComponentPreview name="table-basic" />
Custom Cells:
<ComponentPreview name="table-custom-cells" />
Pagination:
<ComponentPreview name="table-pagination" />
Empty State:
<ComponentPreview name="table-empty-state" />
DateField and TimeField now expose InputContainer to wrap input segments between prefix and suffix content.
Before:
<DateField.Group>
<DateField.Prefix>...</DateField.Prefix>
<DateField.Input>
{(segment) => <DateField.Segment segment={segment} />}
</DateField.Input>
<DateField.Suffix>...</DateField.Suffix>
</DateField.Group>
After:
<DateField.Group>
<DateField.Prefix>...</DateField.Prefix>
<DateField.InputContainer>
<DateField.Input>
{(segment) => <DateField.Segment segment={segment} />}
</DateField.Input>
</DateField.InputContainer>
<DateField.Suffix>...</DateField.Suffix>
</DateField.Group>
<ComponentPreview name="date-range-picker-input-container" />
TextField style naming was normalized to avoid conflicts with Tailwind's text-* utility prefix.
| Component | Old Class Name | New Class Name | Notes |
|---|---|---|---|
| TextField Root | .text-field | .textfield | Root class renamed |
| TextField Full Width | .text-field--full-width | .textfield--full-width | Modifier class renamed |
Additional renames in the same change:
text-field.css -> textfield.css@heroui/styles/src/components/text-field -> @heroui/styles/src/components/textfielddata-required from isRequired (#6270)textfield-* demo keys and source/style paths (#6270)Thanks to everyone who contributed to this release!
<PRContributors />