UI .p-titleSuite for React
Here's a MeterGroup breakdown:
- Color-coded segments
- Labeled categories
- Apps 25%
- Media 15%
- System 20%
| Su | Mo | Tu | We | Th | Fr | Sa |
|---|---|---|---|---|---|---|
| 26 | 27 | 28 | 29 | 30 | 31 | 1 |
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 | 1 | 2 | 3 | 4 | 5 |
| Su | Mo | Tu | We | Th | Fr | Sa |
|---|---|---|---|---|---|---|
| 30 | 31 | 1 | 2 | 3 | 4 | 5 |
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 1 | 2 | 3 | 4 | 5 |
Brook Simmons | Important Account UpdateWe've made updates to enhance your account security. Please log in to review. | Security | 3:24 PM | ||
Dianne Russell | Weekly Project UpdateAttached is the weekly project update. Kindly review the progress. | Update | 11:24 AM | ||
Amy Elsner | Urgent: Security AlertWe detected unauthorized access to your account. Take immediate action. | Security | 9:24 AM | ||
Jacob Jones | Exclusive Offer InsideCheck out our exclusive offer! Don't miss this limited-time deal. | Marketing | Jan 21 | ||
CW Cameron Watson | Employee Appreciation EventMark your calendars for our upcoming Employee Appreciation Event. | HR | Jan 15 | ||
WW Wade Warren | Your Recent PurchaseSecure your spot at the XYZ Conference 2024 with early bird registration. | Invoice | Jan 12 | ||
Guy Hawkins | Early Bird Registration OpenWe have scheduled system maintenance. Expect minimal service disruption. | Events | Jan 11 |
Here's a MeterGroup breakdown:
- Color-coded segments
- Labeled categories
- Apps 25%
- Media 15%
- System 20%
| Su | Mo | Tu | We | Th | Fr | Sa |
|---|---|---|---|---|---|---|
| 26 | 27 | 28 | 29 | 30 | 31 | 1 |
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 | 1 | 2 | 3 | 4 | 5 |
| Su | Mo | Tu | We | Th | Fr | Sa |
|---|---|---|---|---|---|---|
| 30 | 31 | 1 | 2 | 3 | 4 | 5 |
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 1 | 2 | 3 | 4 | 5 |
Brook Simmons | Important Account UpdateWe've made updates to enhance your account security. Please log in to review. | Security | 3:24 PM | ||
Dianne Russell | Weekly Project UpdateAttached is the weekly project update. Kindly review the progress. | Update | 11:24 AM | ||
Amy Elsner | Urgent: Security AlertWe detected unauthorized access to your account. Take immediate action. | Security | 9:24 AM | ||
Jacob Jones | Exclusive Offer InsideCheck out our exclusive offer! Don't miss this limited-time deal. | Marketing | Jan 21 | ||
CW Cameron Watson | Employee Appreciation EventMark your calendars for our upcoming Employee Appreciation Event. | HR | Jan 15 | ||
WW Wade Warren | Your Recent PurchaseSecure your spot at the XYZ Conference 2024 with early bird registration. | Invoice | Jan 12 | ||
Guy Hawkins | Early Bird Registration OpenWe have scheduled system maintenance. Expect minimal service disruption. | Events | Jan 11 |
So simple to use
Import a component, pass your data, and you have a production-ready UI. No boilerplate, no setup ceremony.
npm install primereactimport { Slider } from 'primereact'
export function VolumeControl() {
return (
<Slider.Root defaultValue={50}>
<Slider.Track>
<Slider.Range />
</Slider.Track>
<Slider.Thumb />
</Slider.Root>
)
}Built in Layers
Same Dialog, four levels of abstraction. Pick the layer that fits.
// Headless — logic only, you control the markup
import { useDialog } from '@primereact/headless/dialog'
const { popupProps, overlayProps, closeProps } = useDialog({
open: isOpen,
onOpenChange: setIsOpen,
})
<div {...overlayProps} className="fixed inset-0 bg-black/50" />
<div {...popupProps} className="fixed inset-0 flex items-center">
<div className="bg-white rounded-xl p-6">
{children}
<button {...closeProps}>Close</button>
</div>
</div>Your Design System
Every visual property is a design token. Colors, spacing, radius, typography — customize with a single preset or override per component.
import { definePreset } from '@primeuix/themes'
import Aura from '@primeuix/themes/aura'
const MyPreset = definePreset(Aura, {
semantic: {
primary: { 500: '#6366f1' },
surface: { 0: '#ffffff', 950: '#09090b' },
colorScheme: {
dark: {
surface: { 0: '#09090b', 950: '#fafafa' },
}
},
formField: {
borderRadius: '0.5rem',
paddingX: '0.75rem',
fontSize: '14px',
shadow: '0 1px 2px rgba(0,0,0,0.05)',
},
}
})Accessible by Default
WCAG 2.0 compliant. Every component handles keyboard, screen readers, and focus out of the box.
Built for Developers
Modern tooling, great defaults, and no surprises.
80+ Components
From data tables to charts, dialogs to menus. Everything you need.
TypeScript
Full type safety with auto-complete. Every prop, event, and ref is typed.
Tree Shakeable
Import only what you use. Dead code elimination keeps your bundle lean.
SSR Ready
Works with any SSR framework. Server components, streaming, the whole deal.
Join the Community
Connect with thousands of developers building with PrimeReact.