mirror of
https://github.com/shadcn-ui/ui.git
synced 2026-06-11 09:51:40 +00:00
* feat: init * fix * fix * fix * feat * feat * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * feat: implement icons * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * feat: update init command * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * feat: dialog * feat * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * feat: add registry:base item type * feat: rename frame to canva * fix * feat * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fi * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * feat: add all colors * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * feat: add outfit font * fix * fix * fix * fix * fix * chore: changeset * fix * fix * fix * fix * fix * fix * fix * fix
45 lines
1.0 KiB
TypeScript
45 lines
1.0 KiB
TypeScript
import "server-only"
|
|
|
|
import { registryItemSchema } from "shadcn/schema"
|
|
|
|
import { getThemesForBaseColor, type BaseName } from "@/registry/config"
|
|
import { ALLOWED_ITEM_TYPES } from "@/app/(create)/lib/constants"
|
|
|
|
export async function getItemsForBase(base: BaseName) {
|
|
const { Index } = await import("@/registry/bases/__index__")
|
|
const index = Index[base]
|
|
|
|
if (!index) {
|
|
return []
|
|
}
|
|
|
|
return Object.values(index).filter((item) =>
|
|
ALLOWED_ITEM_TYPES.includes(item.type)
|
|
)
|
|
}
|
|
|
|
export async function getBaseItem(name: string, base: BaseName) {
|
|
const { Index } = await import("@/registry/bases/__index__")
|
|
const index = Index[base]
|
|
|
|
if (!index?.[name]) {
|
|
return null
|
|
}
|
|
|
|
return registryItemSchema.parse(index[name])
|
|
}
|
|
|
|
export async function getBaseComponent(name: string, base: BaseName) {
|
|
const { Index } = await import("@/registry/bases/__index__")
|
|
const index = Index[base]
|
|
|
|
if (!index?.[name]) {
|
|
return null
|
|
}
|
|
|
|
return index[name].component
|
|
}
|
|
|
|
// Re-export for server-side use.
|
|
export { getThemesForBaseColor }
|