Components
- 手风琴
- 提示
- 警告对话框
- 宽高比
- 头像
- 徽章
- 面包屑导航
- 按钮
- 按钮组
- 日历 Calendar
- 卡片
- 轮播图
- 图表 Chart
- 复选框
- 折叠面板
- 组合框
- 命令
- 上下文菜单
- 数据表格 Data Table
- 日期选择器 Date Picker
- 对话框 Dialog
- 方向
- 抽屉
- 下拉菜单
- 空状态
- 字段
- 悬停卡片
- 输入
- 输入组
- Input OTP
- 项目
- Kbd
- 标签
- 菜单栏
- 原生选择框
- 导航菜单 Navigation Menu
- 分页
- 弹出框
- 进度 Progress
- 单选框组
- 可调整大小
- 滚动区域 Scroll Area
- 选择框
- 分隔符 Separator
- 侧边栏 Sheet
- 侧边栏 Sidebar
- 骨架屏
- 滑块
- Sonner
- 加载指示器 Spinner
- 开关
- 表格
- 标签页 Tabs
- 文本域
- 吐司
- 切换按钮 Toggle
- 切换组
- 提示 Tooltip
- 排版
2026 年 5 月 - shadcn eject
将 shadcn/tailwind.css 内联并移除 shadcn 依赖。
当我们为 Radix 和 Base UI 都添加支持时,我们需要一个用于共享 Tailwind 工具类的地方,这些工具类是这两个库都依赖的,例如 data-open: 和 data-closed: 这样的自定义变体,以及 no-scrollbar 这样的工具类。
在处理 RTL 支持时,我们还遇到了一些 bug,把它们在一个共享位置修复要比在每个组件中重复修复更容易。
所以我们创建了 shadcn/tailwind.css。当你运行 init 时,它会将 @import "shadcn/tailwind.css" 添加到你的全局 CSS 文件中。它的工作方式与其他 CSS 导入类似,例如 tw-animate-css:这是一个小型依赖,在生产环境中会被 tree-shaken,并在构建时解析。
如果你不希望为了这段 CSS 依赖 shadcn 包,我们新增了 shadcn eject 命令。它会将 shadcn/tailwind.css 内联到你的全局 CSS 文件中,并从你的项目中移除 shadcn 依赖。
pnpm dlx shadcn@latest eject
之前
@import "tailwindcss";
@import "tw-animate-css";
@import "shadcn/tailwind.css";之后
@import "tailwindcss";
@import "tw-animate-css";
/* 从 shadcn@4.8.3 中导出 */
@theme inline {
@keyframes accordion-down {
from {
height: 0;
}
to {
height: var(
--radix-accordion-content-height,
var(--accordion-panel-height, auto)
);
}
}
}
@custom-variant data-open {
&:where([data-state="open"]),
&:where([data-open]:not([data-open="false"])) {
@slot;
}
}在 monorepo 中,请从包含你的 components.json 和全局 CSS 文件的 workspace 中运行该命令:
pnpm dlx shadcn@latest eject -c packages/ui
更多详情请参阅 CLI 文档。