- 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
- Direction
- Drawer
- Dropdown Menu
- Empty
- Field
- Hover Card
- Input
- Input Group
- Input OTP
- Item
- Kbd
- Label
- Menubar
- Native Select
- 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
May 2026 - Package Imports and Target Aliases
Configure shadcn/ui with package.json imports and portable registry target aliases.
We've added support for package imports and aliases in files.target in shadcn@4.7.0.
Package imports#
The shadcn CLI now supports package.json#imports for installing components,
rewriting imports, and resolving third-party registries. You can use private
#... import aliases from your package.json instead of relying only on
compilerOptions.paths in tsconfig.json.
{
"imports": {
"#components/*": "./src/components/*.tsx",
"#lib/*": "./src/lib/*.ts",
"#hooks/*": "./src/hooks/*.ts"
}
}Then use the same roots in components.json:
{
"aliases": {
"components": "#components",
"ui": "#components/ui",
"lib": "#lib",
"hooks": "#hooks",
"utils": "#lib/utils"
}
}This also works in monorepos where app-local files use package imports and shared UI files are imported from workspace package exports.
See the package imports guide for setup details.
Target aliases#
Registry items can now use target aliases in files[].target to install files
under the user's configured shadcn directories. For example, the following registry item will install the prompt-input.tsx file under the ui/ai directory.
{
"files": [
{
"path": "registry/default/ai/prompt-input.tsx",
"type": "registry:ui",
"target": "@ui/ai/prompt-input.tsx"
}
]
}See the registry examples for more details.