Primitive
Unstyled React components with composable subcomponents. Behavior included, styling up to you.
Overview#
Primitives are low-level React components built on top of our headless hooks. Unlike hooks, they provide a compound component API — Dialog.Root, Dialog.Trigger, Dialog.Content — so you compose pieces without wiring up hook props manually.
Use primitives when you want the ergonomics of a component API but full freedom over styles. They're what our Styled and Tailwind layers are built on.
What you get#
- 70+ components with a compound API
- No styles — use any CSS solution you like
- Data attributes for state-based styling (
data-state,data-disabled) - Full accessibility and keyboard navigation
Next steps#
Open any component in the sidebar to see its subcomponents and composition examples.