{
  "$schema": "https://uipkge.dev/schema/registry-item.json",
  "name": "kpi-grid",
  "title": "Kpi Grid",
  "type": "registry:ui",
  "files": [
    {
      "path": "packages/registry-angular/components/kpi-grid/kpi-grid.component.ts",
      "content": "import { Component, Input, ChangeDetectionStrategy } from '@angular/core'\nimport { cn } from '@/lib/utils'\n\nexport type KpiGridColumns = 2 | 3 | 4\n\n/**\n * Angular port of UIPKGE KpiGrid. Bare responsive grid wrapper (2/3/4\n * columns). Pass any children — no items prop, no item rendering.\n * Class strings mirror the Vue source.\n */\n@Component({\n  changeDetection: ChangeDetectionStrategy.Eager,\n  selector: 'ui-kpi-grid, [ui-kpi-grid]',\n  standalone: true,\n  host: {\n    '[attr.data-slot]': '\"kpi-grid\"',\n    '[attr.data-uipkge]': '\"\"',\n    '[class]': 'hostClass',\n  },\n  template: `<ng-content />`,\n})\nexport class UiKpiGridComponent {\n  @Input() columns: KpiGridColumns = 4\n  @Input('class') className?: string\n\n  get hostClass(): string {\n    return cn(\n      'grid gap-4 md:grid-cols-2',\n      this.columns === 3 ? 'lg:grid-cols-3' : this.columns === 2 ? 'lg:grid-cols-2' : 'lg:grid-cols-4',\n      this.className,\n    )\n  }\n}\n",
      "type": "registry:ui",
      "target": "~/src/app/components/ui/kpi-grid/kpi-grid.component.ts"
    },
    {
      "path": "packages/registry-angular/components/kpi-grid/index.ts",
      "content": "export { UiKpiGridComponent } from './kpi-grid.component'\nexport type { KpiGridColumns } from './kpi-grid.component'\n",
      "type": "registry:ui",
      "target": "~/src/app/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"
  ]
}