|
|
3 months ago | |
|---|---|---|
| .. | ||
| src | 3 months ago | |
| tests | 3 months ago | |
| CHANGELOG.md | 3 months ago | |
| README.md | 3 months ago | |
| components.json | 3 months ago | |
| package.json | 3 months ago | |
| svelte.config.js | 3 months ago | |
| tsconfig.json | 3 months ago | |
Pre-built shadcn-svelte components for json-render. Drop-in catalog definitions and Svelte implementations for 36 components built on Svelte 5 + Tailwind CSS.
npm install @json-render/shadcn-svelte @json-render/core @json-render/svelte zod
import { schema } from "@json-render/svelte/schema";
import { shadcnComponentDefinitions } from "@json-render/shadcn-svelte/catalog";
const catalog = schema.createCatalog({
components: {
Card: shadcnComponentDefinitions.Card,
Stack: shadcnComponentDefinitions.Stack,
Heading: shadcnComponentDefinitions.Heading,
Button: shadcnComponentDefinitions.Button,
Input: shadcnComponentDefinitions.Input,
},
actions: {},
});
import { defineRegistry } from "@json-render/svelte";
import { shadcnComponents } from "@json-render/shadcn-svelte";
const { registry } = defineRegistry(catalog, {
components: {
Card: shadcnComponents.Card,
Stack: shadcnComponents.Stack,
Heading: shadcnComponents.Heading,
Button: shadcnComponents.Button,
Input: shadcnComponents.Input,
},
});
<script lang="ts">
import { Renderer, JsonUIProvider } from "@json-render/svelte";
export let spec;
export let registry;
</script>
<JsonUIProvider initialState={spec?.state ?? {}}>
<Renderer {spec} {registry} />
</JsonUIProvider>
| Entry Point | Exports |
|---|---|
@json-render/shadcn-svelte |
shadcnComponents, shadcnComponentDefinitions |
@json-render/shadcn-svelte/catalog |
shadcnComponentDefinitions |
The /catalog entrypoint contains only Zod schemas (no renderer dependency), so it can be used in server-side code for prompt generation.