63 lines
1.4 KiB
TypeScript
63 lines
1.4 KiB
TypeScript
import { registryItemSchema, type Registry } from "shadcn/schema"
|
|
import { z } from "zod"
|
|
|
|
import { fonts } from "@/registry/fonts"
|
|
|
|
import { blocks } from "./blocks/_registry"
|
|
import { components } from "./components/_registry"
|
|
import { examples } from "./examples/_registry"
|
|
import { hooks } from "./hooks/_registry"
|
|
import { internal } from "./internal/_registry"
|
|
import { lib } from "./lib/_registry"
|
|
import { ui } from "./ui/_registry"
|
|
|
|
// Shared between index and style.
|
|
const BASE_STYLE = {
|
|
type: "registry:style",
|
|
dependencies: [
|
|
"class-variance-authority",
|
|
"cn",
|
|
"lucide-react",
|
|
"@base-ui/react",
|
|
],
|
|
devDependencies: ["tw-animate-css", "shadcn"],
|
|
registryDependencies: ["utils"],
|
|
css: {
|
|
'@import "tw-animate-css"': {},
|
|
'@import "shadcn/tailwind.css"': {},
|
|
"@layer base": {
|
|
"*": {
|
|
"@apply border-border outline-ring/50": {},
|
|
},
|
|
body: {
|
|
"@apply bg-background text-foreground": {},
|
|
},
|
|
},
|
|
},
|
|
cssVars: {},
|
|
files: [],
|
|
}
|
|
|
|
export const registry = {
|
|
name: "shadcn/ui",
|
|
homepage: "https://ui.shadcn.com",
|
|
items: z.array(registryItemSchema).parse([
|
|
{
|
|
name: "index",
|
|
...BASE_STYLE,
|
|
},
|
|
{
|
|
name: "style",
|
|
...BASE_STYLE,
|
|
},
|
|
...ui,
|
|
...examples,
|
|
...lib,
|
|
...components,
|
|
...blocks,
|
|
...hooks,
|
|
...internal,
|
|
...fonts,
|
|
]),
|
|
} satisfies Registry
|