{
  "$schema": "https://uipkge.dev/schema/registry-item.json",
  "name": "kpi-grid",
  "title": "Kpi Grid",
  "type": "registry:ui",
  "files": [
    {
      "path": "packages/registry-svelte/components/kpi-grid/KpiGrid.svelte",
      "content": "<script lang=\"ts\" module>\n  import type { Snippet } from 'svelte'\n  import type { HTMLAttributes } from 'svelte/elements'\n\n  export interface KpiGridProps extends HTMLAttributes<HTMLDivElement> {\n    columns?: 2 | 3 | 4\n    children?: Snippet\n    ref?: HTMLDivElement | null\n  }\n</script>\n\n<script lang=\"ts\">\n  import { cn } from '$lib/utils'\n\n  let { class: className, columns = 4, children, ref = $bindable(null), ...restProps }: KpiGridProps = $props()\n</script>\n\n<div\n  bind:this={ref}\n  data-uipkge=\"\"\n  data-slot=\"kpi-grid\"\n  class={cn(\n    'grid gap-4 md:grid-cols-2',\n    columns === 3 ? 'lg:grid-cols-3' : columns === 2 ? 'lg:grid-cols-2' : 'lg:grid-cols-4',\n    className,\n  )}\n  {...restProps}\n>\n  {@render children?.()}\n</div>\n",
      "type": "registry:ui",
      "target": "~/src/lib/components/ui/kpi-grid/KpiGrid.svelte"
    },
    {
      "path": "packages/registry-svelte/components/kpi-grid/index.ts",
      "content": "export { default as KpiGrid, type KpiGridProps } from './KpiGrid.svelte'\n",
      "type": "registry:ui",
      "target": "~/src/lib/components/ui/kpi-grid/index.ts"
    }
  ],
  "dependencies": [],
  "devDependencies": [],
  "registryDependencies": [],
  "description": "Bare responsive grid wrapper (2 / 3 / 4 columns). Pass any children — Cards, inline charts, custom tiles. No items prop, no item rendering.",
  "categories": [
    "layout"
  ]
}