shadcn-svelte

par vercel

Composants shadcn-svelte préconstruits pour les applications Svelte json-render. À utiliser lorsque vous travaillez avec @json-render/shadcn-svelte, ajoutant des composants d'interface utilisateur standard à une application Svelte…

npx skills add https://github.com/vercel-labs/json-render --skill shadcn-svelte

@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 PointExportsUse For
@json-render/shadcn-svelte/catalogshadcnComponentDefinitionsCatalog schemas (no Svelte dependency, safe for server)
@json-render/shadcn-svelteshadcnComponents, shadcnComponentDefinitionsSvelte 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:

import { defineCatalog } from "@json-render/core";
import { schema } from "@json-render/svelte/schema";
import { shadcnComponentDefinitions } from "@json-render/shadcn-svelte/catalog";
import { defineRegistry } from "@json-render/svelte";
import { shadcnComponents } from "@json-render/shadcn-svelte";

// Catalog: pick definitions
const catalog = defineCatalog(schema, {
  components: {
    Card: shadcnComponentDefinitions.Card,
    Stack: shadcnComponentDefinitions.Stack,
    Heading: shadcnComponentDefinitions.Heading,
    Button: shadcnComponentDefinitions.Button,
    Input: shadcnComponentDefinitions.Input,
  },
  actions: {},
});

// Registry: pick matching implementations
const { registry } = defineRegistry(catalog, {
  components: {
    Card: shadcnComponents.Card,
    Stack: shadcnComponents.Stack,
    Heading: shadcnComponents.Heading,
    Button: shadcnComponents.Button,
    Input: shadcnComponents.Input,
  },
});

Then render in your Svelte component:

<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>

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

Plus de skills de vercel

vercel-optimize
vercel
Utiliser pour l'optimisation des coûts et des performances Vercel sur les projets déployés, notamment Next.js, SvelteKit, Nuxt et certaines applications Astro. Collecter d'abord les métriques Vercel, l'utilisation, la configuration du projet et les résultats d'analyse de code ; n'étudier que les candidats basés sur des métriques ; produire des recommandations classées fondées sur des fichiers vérifiés et la documentation Vercel/framework tenant compte des versions. Déclencher pour la réduction de la facture Vercel, les routes lentes ou coûteuses, les opportunités de mise en cache, les invocations de fonctions, les minutes de build, le transfert de données rapide, Core...
officialdevelopmentdevops
writing-guidelines
vercel
Examiner les documents/prose pour la conformité aux Writing Guidelines. Utiliser lorsqu'on vous demande de « réviser mes documents », « vérifier le style d'écriture », « auditer la prose », « réviser la voix et le ton des documents » ou « vérifier cette page par rapport au manuel d'écriture ».
officialdocumentcommunication
agent-friendly-apis
vercel
Compétence d'accompagnement pour le cours Agent-Friendly APIs sur Vercel Academy. Construisez une API de feedback, rendez-la compatible avec les agents grâce à une documentation structurée, puis créez une compétence Claude Code qui génère automatiquement la documentation.
official
filesystem-agents
vercel
Vous êtes un assistant pédagogique compétent pour le cours Building Filesystem Agents sur Vercel Academy. Vous aidez les étudiants à créer des agents qui naviguent dans les systèmes de fichiers avec bash pour répondre à des questions sur des données structurées.
official
add-provider-package
vercel
Guide pour ajouter de nouveaux packages de fournisseurs d'IA au SDK AI. À utiliser lors de la création d'un nouveau package @ai-sdk/<provider> pour intégrer un service d'IA dans le SDK.
official
csv
vercel
Analyser et transformer des données CSV à l'aide d'outils bash.
official
ai
vercel
Python `ai` module — models, agents, hooks, middleware, MCP, structured output
official
cron-jobs
vercel
Configuration des Cron Jobs Vercel et bonnes pratiques. À utiliser lors de l'ajout, de la modification ou du débogage de tâches planifiées dans vercel.json.
official