diff --git a/AGENTS.md b/AGENTS.md index f335219..7c11689 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -27,6 +27,7 @@ CI order: **lint → typecheck** (no tests) ## Registry build `pnpm registry:build` runs `scripts/registry-build.ts`: + 1. `shadcn-vue-registry` generates registry.json from `app/registry/` 2. `shadcn-vue build` outputs per-item JSON to `public/r/*.json` 3. Intermediate file `app/registry/registry.json` is auto-deleted diff --git a/app/components/demo/LucideIconComponent.vue b/app/components/demo/LucideIconComponent.vue index a290446..db4ba89 100644 --- a/app/components/demo/LucideIconComponent.vue +++ b/app/components/demo/LucideIconComponent.vue @@ -1,6 +1,6 @@ diff --git a/app/components/demo/LucideIconDemo.vue b/app/components/demo/LucideIconDemo.vue index 6522b8c..11f9889 100644 --- a/app/components/demo/LucideIconDemo.vue +++ b/app/components/demo/LucideIconDemo.vue @@ -1,5 +1,5 @@ diff --git a/app/components/demo/LucideIconSize.vue b/app/components/demo/LucideIconSize.vue index dcdd5ba..9422883 100644 --- a/app/components/demo/LucideIconSize.vue +++ b/app/components/demo/LucideIconSize.vue @@ -1,5 +1,5 @@ diff --git a/app/components/ui/icon/index.ts b/app/components/ui/icon/index.ts deleted file mode 100644 index 3acd8e4..0000000 --- a/app/components/ui/icon/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { LucideIcon, type LucideIconProps } from "~/registry/blocks/lucide-icon"; diff --git a/app/components/ui/lucide-icon/index.ts b/app/components/ui/lucide-icon/index.ts new file mode 100644 index 0000000..b8639b3 --- /dev/null +++ b/app/components/ui/lucide-icon/index.ts @@ -0,0 +1 @@ +export { LucideIcon, type LucideIconProps } from "~/registry/ui/lucide-icon"; diff --git a/app/registry/blocks/chat-message/ChatMessage.vue b/app/registry/blocks/chat-message/ChatMessage.vue index 4390f95..38b7555 100644 --- a/app/registry/blocks/chat-message/ChatMessage.vue +++ b/app/registry/blocks/chat-message/ChatMessage.vue @@ -3,7 +3,7 @@ import type { HTMLAttributes } from "vue"; import type { UIMessage } from "ai"; import { Button } from "@/components/ui/button"; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip"; -import { LucideIcon } from "@/components/ui/icon"; +import { LucideIcon } from "@/components/ui/lucide-icon"; import { cn } from "@/lib/utils"; export interface ChatMessageAction { diff --git a/app/registry/blocks/hello-world/HelloWorld.vue b/app/registry/blocks/hello-world/HelloWorld.vue deleted file mode 100644 index 28435e0..0000000 --- a/app/registry/blocks/hello-world/HelloWorld.vue +++ /dev/null @@ -1,8 +0,0 @@ - - - Hello World - - - - diff --git a/app/registry/blocks/hello-world/index.ts b/app/registry/blocks/hello-world/index.ts deleted file mode 100644 index ef86ead..0000000 --- a/app/registry/blocks/hello-world/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as HelloWorld } from "./HelloWorld.vue"; diff --git a/app/registry/blocks/lucide-icon/LucideIcon.vue b/app/registry/ui/lucide-icon/LucideIcon.vue similarity index 100% rename from app/registry/blocks/lucide-icon/LucideIcon.vue rename to app/registry/ui/lucide-icon/LucideIcon.vue diff --git a/app/registry/blocks/lucide-icon/index.ts b/app/registry/ui/lucide-icon/index.ts similarity index 100% rename from app/registry/blocks/lucide-icon/index.ts rename to app/registry/ui/lucide-icon/index.ts diff --git a/public/r/chat-message.json b/public/r/chat-message.json index 61500a0..030d0de 100644 --- a/public/r/chat-message.json +++ b/public/r/chat-message.json @@ -7,7 +7,7 @@ ], "registryDependencies": [ "button", - "icon", + "lucide-icon", "tooltip" ], "files": [ @@ -18,7 +18,7 @@ }, { "path": "blocks/chat-message/ChatMessage.vue", - "content": "\n\n\n \n \n \n \n\n \n \n \n \n \n {{ part.text }}\n \n \n \n \n\n 0\"\n class=\"flex gap-0.5 opacity-0 transition-opacity group-hover:opacity-100\"\n >\n \n \n \n \n \n \n \n \n {{ action.label }}\n \n \n \n \n \n \n\n", + "content": "\n\n\n \n \n \n \n\n \n \n \n \n \n {{ part.text }}\n \n \n \n \n\n 0\"\n class=\"flex gap-0.5 opacity-0 transition-opacity group-hover:opacity-100\"\n >\n \n \n \n \n \n \n \n \n {{ action.label }}\n \n \n \n \n \n \n\n", "type": "registry:block" } ] diff --git a/public/r/lucide-icon.json b/public/r/lucide-icon.json index fae9350..f0df410 100644 --- a/public/r/lucide-icon.json +++ b/public/r/lucide-icon.json @@ -1,20 +1,20 @@ { "$schema": "https://shadcn-vue.com/schema/registry-item.json", "name": "lucide-icon", - "type": "registry:block", + "type": "registry:ui", "dependencies": [ "lucide-vue-next" ], "files": [ { - "path": "blocks/lucide-icon/index.ts", + "path": "ui/lucide-icon/index.ts", "content": "export { default as LucideIcon, type LucideIconProps } from \"./LucideIcon.vue\";\n", - "type": "registry:block" + "type": "registry:ui" }, { - "path": "blocks/lucide-icon/LucideIcon.vue", + "path": "ui/lucide-icon/LucideIcon.vue", "content": "\n\n\n \n\n", - "type": "registry:block" + "type": "registry:ui" } ] } \ No newline at end of file diff --git a/public/r/registry.json b/public/r/registry.json index cc837a2..0fe7236 100644 --- a/public/r/registry.json +++ b/public/r/registry.json @@ -5,35 +5,21 @@ "items": [ { "name": "lucide-icon", - "type": "registry:block", + "type": "registry:ui", "files": [ { - "path": "blocks/lucide-icon/index.ts", - "type": "registry:block" + "path": "ui/lucide-icon/index.ts", + "type": "registry:ui" }, { - "path": "blocks/lucide-icon/LucideIcon.vue", - "type": "registry:block" + "path": "ui/lucide-icon/LucideIcon.vue", + "type": "registry:ui" } ], "dependencies": [ "lucide-vue-next" ] }, - { - "name": "hello-world", - "type": "registry:block", - "files": [ - { - "path": "blocks/hello-world/index.ts", - "type": "registry:block" - }, - { - "path": "blocks/hello-world/HelloWorld.vue", - "type": "registry:block" - } - ] - }, { "name": "chat-prompt-submit", "type": "registry:block", @@ -107,7 +93,7 @@ ], "registryDependencies": [ "button", - "icon", + "lucide-icon", "tooltip" ] }
\n {{ part.text }}\n