shadcn-svelte

Pre-built shadcn-svelte components for json-render Svelte apps. Use when working with @json-render/shadcn-svelte, adding standard UI components to a Svelte catalog, or building Svelte web UIs with shadcn-svelte + Tailwind CSS components.

By vercel-labs · 962 installs

npx skills add vercel-labs/json-render --skill shadcn-svelte

Source repository · Upstream listing

@json render/shadcn svelte Pre built shadcn svelte component definitions and implementations for json render. Provides 36 components built on Svelte 5 + Tailwind CSS. Two Entry Points Entry Point Exports Use For @json render/shadcn svelte/catalog shadcnComponentDefinitions Catalog schemas (no Svelte dependency, safe for server) @json render/shadcn svelte shadcnComponents , shadcnComponentDefinitions Svelte implementations + catalog schemas Usage Pattern Pick the components you need from the standard definitions. Do not spread all definitions explicitly select what your app uses: Then render in your Svelte component: Available Components Layout Card Container with optional title, description, maxWidth, centered Stack Flex container with direction, gap, align, justify Grid Grid layout with columns (number) and gap Separator Visual divider with orientation Navigation Tabs Tabbed navigation with tabs array, defaultValue, value Accordion Collapsible sections with items array and type (single/multiple) Collapsible Single collapsible section with title Pagination Page navigation with totalPages and page Overlay Dialog Modal dialog with title, description, openPath Drawer Bottom drawer with title, description, openPath Tooltip Hover tooltip with content and text Popover Click triggered popover with trigger and content DropdownMenu Dropdown with label and items array Content Heading Heading text with level (h1 h4) Text Paragraph with variant (body, caption, muted, lead, code) Image Image with alt, width, height Avatar User avatar with src, name, size Badge Status badge with text and variant (default, secondary, destructive, outline) Alert Alert banner with title, message, type (success, warning, info, error) Carousel Scrollable carousel with items array Table Data table with columns (string[]) and rows (string[][]) Feedback Progress Progress bar with value, max, label Skeleton Loading placeholder with width, height, rounded Spinner Loading spinner with size and label Input Button Button with label, variant (primary, secondary, danger), disabled Link Anchor link with label and href Input Text input with label, name, type, placeholder, value, checks Textarea Multi line input with label, name, placeholder, rows, value, checks Select Dropdown select with label, name, options (string[]), value, checks Checkbox Checkbox with label, name, checked, checks, validateOn Radio Radio group with label, name, options (string[]), value, checks, validateOn Switch Toggle switch with label, name, checked, checks, validateOn Slider Range slider with label, min, max, step, value Toggle Toggle button with label, pressed, variant ToggleGroup Group of toggles with items, type, value ButtonGroup Button group with buttons array and selected Validation Timing ( validateOn ) All form components support validateOn to control when validation runs: "change" validate on every input change (default for Select, Checkbox, Radio, Switch) "blur" validate when field loses focus (default for Input, Textarea) "submit" validate only on form submission Important Notes The /catalog entry point has no Svelte dependency use it for server side prompt generation Components use Tailwind CSS classes your app must have Tailwind configured Component implementations use bundled shadcn svelte primitives (not your app's $lib/components/ui/ ) All form inputs support checks for validation (type + message pairs) and validateOn for timing Events: inputs emit change / submit / focus / blur ; buttons emit press ; selects emit change / select