mirror of
https://github.com/shadcn-ui/ui.git
synced 2026-06-29 23:55:02 +00:00
71 lines
1.7 KiB
TypeScript
71 lines
1.7 KiB
TypeScript
import { registryItemSchema, type Registry } from "shadcn/schema"
|
|
import { z } from "zod"
|
|
|
|
import { blocks } from "@/registry/registry-blocks"
|
|
import { charts } from "@/registry/registry-charts"
|
|
import { examples } from "@/registry/registry-examples"
|
|
import { hooks } from "@/registry/registry-hooks"
|
|
import { internal } from "@/registry/registry-internal"
|
|
import { lib } from "@/registry/registry-lib"
|
|
import { themes } from "@/registry/registry-themes"
|
|
import { ui } from "@/registry/registry-ui"
|
|
|
|
const DEPRECATED_ITEMS = [
|
|
"toast",
|
|
"toast-demo",
|
|
"toast-destructive",
|
|
"toast-simple",
|
|
"toast-with-action",
|
|
"toast-with-title",
|
|
]
|
|
|
|
// Shared between index and style for backward compatibility.
|
|
const NEW_YORK_V4_STYLE = {
|
|
type: "registry:style",
|
|
dependencies: ["class-variance-authority", "lucide-react"],
|
|
devDependencies: ["tw-animate-css"],
|
|
registryDependencies: ["utils"],
|
|
cssVars: {},
|
|
files: [],
|
|
}
|
|
|
|
export const registry = {
|
|
name: "shadcn/ui",
|
|
homepage: "https://ui.shadcn.com",
|
|
items: z.array(registryItemSchema).parse(
|
|
[
|
|
{
|
|
name: "index",
|
|
...NEW_YORK_V4_STYLE,
|
|
},
|
|
{
|
|
name: "style",
|
|
...NEW_YORK_V4_STYLE,
|
|
},
|
|
...ui,
|
|
...blocks,
|
|
...charts,
|
|
...lib,
|
|
...hooks,
|
|
...themes,
|
|
...examples,
|
|
...internal,
|
|
]
|
|
.filter((item) => {
|
|
return !DEPRECATED_ITEMS.includes(item.name)
|
|
})
|
|
.map((item) => {
|
|
// Temporary fix for dashboard-01.
|
|
if (item.name === "dashboard-01") {
|
|
item.dependencies?.push("@tabler/icons-react")
|
|
}
|
|
|
|
if (item.name === "accordion" && "tailwind" in item) {
|
|
delete item.tailwind
|
|
}
|
|
|
|
return item
|
|
})
|
|
),
|
|
} satisfies Registry
|