- Accordion
- Alert
- Alert Dialog
- Aspect Ratio
- Avatar
- Badge
- Breadcrumb
- Button
- Button Group
- Calendar
- Card
- Carousel
- Chart
- Checkbox
- Collapsible
- Combobox
- Command
- Context Menu
- Data Table
- Date Picker
- Dialog
- Drawer
- Dropdown Menu
- Empty
- Field
- Form
- Hover Card
- Input
- Input Group
- Input OTP
- Item
- Kbd
- Label
- Menubar
- Navigation Menu
- Pagination
- Popover
- Progress
- Radio Group
- Resizable
- Scroll Area
- Select
- Separator
- Sheet
- Sidebar
- Skeleton
- Slider
- Sonner
- Spinner
- Switch
- Table
- Tabs
- Textarea
- Toast
- Toggle
- Toggle Group
- Tooltip
- Typography
The open source registry index is a list of all the open source registries that are available to use out of the box.
When you run shadcn add or shadcn search, the CLI will automatically check the registry index for the registry you are looking for and add it to your components.json file.
You can see the full list at https://ui.shadcn.com/r/registries.json.
Adding a Registry
You can submit a PR to add a registry to the index by adding it to the registries.json file.
Here's an example of how to add a registry to the index:
{
"@acme": "https://registry.acme.com/r/{name}.json",
"@example": "https://example.com/r/{name}"
}Requirements
- The registry must be open source and publicly accessible.
- The registry must be a valid JSON file that conforms to the registry schema specification.
- The registry is expected to be a flat registry with no nested items i.e
/registry.jsonand/component-name.jsonfiles are expected to be in the root of the registry. - The
filesarray, if present, must NOT include acontentproperty.
Here's an example of a valid registry:
{
"$schema": "https://ui.shadcn.com/schema/registry.json",
"name": "acme",
"homepage": "https://acme.com",
"items": [
{
"name": "login-form",
"type": "registry:component",
"title": "Login Form",
"description": "A login form component.",
"files": [
{
"path": "registry/new-york/auth/login-form.tsx",
"type": "registry:component"
}
]
},
{
"name": "example-login-form",
"type": "registry:component",
"title": "Example Login Form",
"description": "An example showing how to use the login form component.",
"files": [
{
"path": "registry/new-york/examples/example-login-form.tsx",
"type": "registry:component"
}
]
}
}
]
}Validation
At the root of the shadcn/ui project, you can run the following command to validate the registries.json file.
pnpm validate:registriesThis will validate the registries.json file and output any errors.
Once you have submitted your PR, it will be validated and reviewed by the team.