Menu

Change language

GitHub repo

Kpi Grid

kpi-gridui

Bare responsive grid wrapper (2 / 3 / 4 columns). Pass any children — Cards, inline charts, custom tiles. No items prop, no item rendering.

Installation

$npx uipkge-ng@latest add kpi-grid
Manifest:https://uipkge.dev/r/angular/kpi-grid.jsonInstalls to:src/app/components/ui/kpi-grid/

Variants

Loading interactive previews…

Examples in Use

Full Block

Executive metrics grid combining KPI cards, sparkline micro-charts, trend indicators, and responsive grid geometry.

Explore full block

Props

NameType / ValuesDefaultRequired
columnsKpiGridColumns4optional
classstring—optional

Used by

Files installed (2)

  • src/app/components/ui/kpi-grid/kpi-grid.component.ts0.9 kB
    import { Component, Input, ChangeDetectionStrategy } from '@angular/core'
    import { cn } from '@/lib/utils'
    
    export type KpiGridColumns = 2 | 3 | 4
    
    /**
     * Angular port of UIPKGE KpiGrid. Bare responsive grid wrapper (2/3/4
     * columns). Pass any children — no items prop, no item rendering.
     * Class strings mirror the Vue source.
     */
    @Component({
      changeDetection: ChangeDetectionStrategy.Eager,
      selector: 'ui-kpi-grid, [ui-kpi-grid]',
      standalone: true,
      host: {
        '[attr.data-slot]': '"kpi-grid"',
        '[attr.data-uipkge]': '""',
        '[class]': 'hostClass',
      },
      template: `<ng-content />`,
    })
    export class UiKpiGridComponent {
      @Input() columns: KpiGridColumns = 4
      @Input('class') className?: string
    
      get hostClass(): string {
        return cn(
          'grid gap-4 md:grid-cols-2',
          this.columns === 3 ? 'lg:grid-cols-3' : this.columns === 2 ? 'lg:grid-cols-2' : 'lg:grid-cols-4',
          this.className,
        )
      }
    }
    
  • src/app/components/ui/kpi-grid/index.ts0.1 kB

Raw manifest:https://uipkge.dev/r/angular/kpi-grid.json