快速开始
zzzUI 是一套仅暗色、游戏 UI 风格鲜明的组件库。安装方式与 shadcn 相同:代码直接写入项目,可以随意修改。
开始之前
需要一个已配置好 shadcn 的项目(含 components.json),使用 Tailwind CSS v4 与 React 19。zzzUI 基于 Base UI 而非 Radix,安装组件时会一并带上。已在 Next.js 上测试。
1. 添加命名空间
每个项目只需一次:告诉 shadcn 从哪里获取 @zzzui 的条目。
pnpm dlx shadcn@latest registry add @zzzui=https://zzzui.catforest.dev/r/{name}.json2. 添加组件
pnpm dlx shadcn@latest add @zzzui/button @zzzui/input @zzzui/select安装第一个组件时会一并带上地基:设计 token、动效与斜切块写入样式表,cn 与动效时长写入 lib/zero/,Montserrat(展示字体)与 Outfit(正文字体)在布局中加载。组件本身写入 components/zero/。
3. 统一为暗色(可选)
zzzUI 没有亮色主题。如果项目其余部分使用 shadcn 的变量,下面这条命令会把它们指向 zzzUI 的配色,亮色与暗色模式一律如此,整页风格因而统一:
pnpm dlx shadcn@latest add @zzzui/theme4. 加载真正的斜体
zzzUI 的标签是粗斜体。shadcn 只加载 Montserrat 的正体,斜体由浏览器模拟;在布局加载字体的地方加上真正的斜体即可:
const montserrat = Montserrat({ subsets: ["latin"], variable: "--font-montserrat", style: ["normal", "italic"],});风格概要
一切都从斜切块出发:一块按同一角度(14°)斜切、带墨黑粗描边的平面块。转角只切不圆;层次靠描边,不靠阴影。一种荧光强调色(默认为青柠色)标出当前激活的元素,黄色焦点框标出获得焦点的元素。
动效是一小组有名称的时长,所有组件共用:迅速的按下与回弹的松开、标签页滑块的滑动、弹出层的展开与更快的收起。系统开启「减少动态效果」时,一切静止。
从 Button 开始。