{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "dashboardcn",
  "homepage": "https://dashboardcn.com",
  "items": [
    {
      "name": "format",
      "type": "registry:lib",
      "title": "Format",
      "description": "Number, currency, percent, and delta formatters for analytics UI.",
      "files": [
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "sparkline",
      "type": "registry:ui",
      "title": "Sparkline",
      "description": "A tiny inline area or line chart for showing a trend at a glance.",
      "dependencies": [
        "recharts"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/ui/sparkline.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "kpi-card",
      "type": "registry:ui",
      "title": "KPI Card",
      "description": "A metric card with value, period-over-period delta, and an optional sparkline.",
      "dependencies": [
        "recharts",
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/ui/kpi-card.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/delta-badge.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/sparkline.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/metric-value.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "bar-list",
      "type": "registry:ui",
      "title": "Bar List",
      "description": "A ranked list with proportional bars, for top pages, referrers, or countries.",
      "files": [
        {
          "path": "registry/dashboardcn/ui/bar-list.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "distribution-bar",
      "type": "registry:ui",
      "title": "Distribution Bar",
      "description": "A single stacked bar showing how a total splits across categories.",
      "files": [
        {
          "path": "registry/dashboardcn/ui/distribution-bar.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "funnel-chart",
      "type": "registry:ui",
      "title": "Funnel Chart",
      "description": "Step-by-step conversion, as stacked bars with drop-off or as a flow of tapering stages with a tile per step.",
      "files": [
        {
          "path": "registry/dashboardcn/ui/funnel-chart.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "activity-heatmap",
      "type": "registry:ui",
      "title": "Activity Heatmap",
      "description": "A calendar heatmap of daily activity, in the style of a contribution graph.",
      "registryDependencies": [
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/ui/activity-heatmap.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "trend-chart",
      "type": "registry:ui",
      "title": "Trend Chart",
      "description": "Area, line, or bar chart over time with tooltips and legend, built on shadcn's chart primitives.",
      "dependencies": [
        "recharts"
      ],
      "registryDependencies": [
        "chart"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/ui/trend-chart.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "bar-chart",
      "type": "registry:ui",
      "title": "Bar Chart",
      "description": "A single-series bar chart with gradient or striped fills, highlighted bars, and a hover marker.",
      "dependencies": [
        "recharts"
      ],
      "registryDependencies": [
        "chart"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/ui/bar-chart.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "data-table",
      "type": "registry:ui",
      "title": "Data Table",
      "description": "A sortable, filterable, paginated table with column visibility, row selection, sticky and reorderable columns, and loading states, built on TanStack Table v9.",
      "dependencies": [
        "@tanstack/react-table",
        "lucide-react"
      ],
      "registryDependencies": [
        "table",
        "button",
        "input",
        "dropdown-menu",
        "checkbox",
        "skeleton"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/ui/data-table.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "delta-badge",
      "type": "registry:ui",
      "title": "Delta Badge",
      "description": "A signed percentage change with a trend icon, colored by whether the change is good.",
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/ui/delta-badge.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "metric-value",
      "type": "registry:ui",
      "title": "Metric Value",
      "description": "A formatted number that abbreviates large values and shows the full value in a tooltip on hover.",
      "registryDependencies": [
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/ui/metric-value.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "radial-gauge",
      "type": "registry:ui",
      "title": "Radial Gauge",
      "description": "A semicircular or ring gauge, continuous or segmented, with content in the middle.",
      "files": [
        {
          "path": "registry/dashboardcn/ui/radial-gauge.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "donut-chart",
      "type": "registry:ui",
      "title": "Donut Chart",
      "description": "A donut, pie, or half-donut with a center label, tooltip, and legend, on shadcn's chart primitives.",
      "dependencies": [
        "recharts"
      ],
      "registryDependencies": [
        "chart"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/ui/donut-chart.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "composed-chart",
      "type": "registry:ui",
      "title": "Composed Chart",
      "description": "Mix areas, lines, and bars in one chart with dual axes, reference lines, peak markers, and hatched bars.",
      "dependencies": [
        "recharts"
      ],
      "registryDependencies": [
        "chart"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/ui/composed-chart.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "segmented-meter",
      "type": "registry:ui",
      "title": "Segmented Meter",
      "description": "A zoned bar meter with a marker at the current value, for heart-rate zones, allocations, or thresholds.",
      "files": [
        {
          "path": "registry/dashboardcn/ui/segmented-meter.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "period-tabs",
      "type": "registry:ui",
      "title": "Period Tabs",
      "description": "A small segmented control for switching a chart between week, month, and year.",
      "registryDependencies": [
        "tabs"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/ui/period-tabs.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "metric-list",
      "type": "registry:ui",
      "title": "Metric List",
      "description": "Compact rows of label, sparkline, value, and delta.",
      "dependencies": [
        "recharts",
        "lucide-react"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/ui/metric-list.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/delta-badge.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/sparkline.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/metric-value.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ],
      "registryDependencies": [
        "tooltip"
      ]
    },
    {
      "name": "tick-bar",
      "type": "registry:ui",
      "title": "Tick Bar",
      "description": "A progress bar drawn as a row of ticks, lit up to the current value.",
      "files": [
        {
          "path": "registry/dashboardcn/ui/tick-bar.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "dot-plot",
      "type": "registry:ui",
      "title": "Dot Plot",
      "description": "A distribution drawn as columns of stacked dots, with the peak columns at full strength.",
      "files": [
        {
          "path": "registry/dashboardcn/ui/dot-plot.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "timeline",
      "type": "registry:ui",
      "title": "Timeline",
      "description": "A vertical chronology of events, each with a marker, connector, and free-form content. Use it for audit logs, activity feeds, and version history.",
      "files": [
        {
          "path": "registry/dashboardcn/ui/timeline.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "activity-rings",
      "type": "registry:ui",
      "title": "Activity Rings",
      "description": "Concentric progress rings, one per goal, in the style of a fitness watch.",
      "files": [
        {
          "path": "registry/dashboardcn/ui/activity-rings.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "heatmap-chart",
      "type": "registry:ui",
      "title": "Heatmap Chart",
      "description": "A matrix heatmap with a row per line and a column per label, e.g. weekday by hour, with hover highlighting and tooltips.",
      "registryDependencies": [
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/ui/heatmap-chart.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "radar-chart",
      "type": "registry:ui",
      "title": "Radar Chart",
      "description": "A filled, outlined, or dotted radar chart with polygon or circle grids, for scores and multi-series comparisons.",
      "dependencies": [
        "recharts"
      ],
      "registryDependencies": [
        "chart"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/ui/radar-chart.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "scatter-chart",
      "type": "registry:ui",
      "title": "Scatter Chart",
      "description": "Correlation dots per series that become bubbles when a size key is set, with a per-point tooltip and legend.",
      "dependencies": [
        "recharts"
      ],
      "registryDependencies": [
        "chart"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/ui/scatter-chart.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "sankey-chart",
      "type": "registry:ui",
      "title": "Sankey Chart",
      "description": "A flow diagram with tinted links, colored node bars, and share labels, on shadcn's chart primitives.",
      "dependencies": [
        "recharts"
      ],
      "registryDependencies": [
        "chart"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/ui/sankey-chart.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "kpi-row-card",
      "type": "registry:block",
      "title": "KPI Row Card",
      "description": "A card with a period switcher, a row of KPI tiles with sparklines and deltas, and a footer summary.",
      "categories": [
        "dashboard",
        "charts"
      ],
      "dependencies": [
        "recharts",
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "tabs",
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/blocks/kpi-row-card.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/dashboardcn/ui/delta-badge.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/period-tabs.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/sparkline.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/metric-value.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "balance-chart-card",
      "type": "registry:block",
      "title": "Balance Chart Card",
      "description": "A balance or price card with a big value, delta, stat row, and a line chart with reference line and peak marker.",
      "categories": [
        "dashboard",
        "charts",
        "finance"
      ],
      "dependencies": [
        "recharts",
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "chart",
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/blocks/balance-chart-card.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/dashboardcn/ui/composed-chart.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/delta-badge.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/metric-value.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "status-gauge-card",
      "type": "registry:block",
      "title": "Status Gauge Card",
      "description": "A status card with a headline word, a metric, an avatar stack, and a segmented semicircular gauge.",
      "categories": [
        "dashboard",
        "charts"
      ],
      "registryDependencies": [
        "card",
        "button",
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/blocks/status-gauge-card.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/dashboardcn/ui/radial-gauge.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/metric-value.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "ring-kpi-card",
      "type": "registry:block",
      "title": "Ring KPI Card",
      "description": "A card with a row of KPI tiles, each with a segmented ring next to the value and a comparison to the previous value.",
      "categories": [
        "dashboard",
        "charts"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/blocks/ring-kpi-card.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/dashboardcn/ui/radial-gauge.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/metric-value.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "distribution-card",
      "type": "registry:block",
      "title": "Distribution Card",
      "description": "A total with delta, a stacked share bar, and a ranked list of the contributors with their values.",
      "categories": [
        "dashboard",
        "charts",
        "finance"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "button",
        "dropdown-menu",
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/blocks/distribution-card.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/dashboardcn/ui/delta-badge.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/distribution-bar.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/metric-value.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "tick-kpi-card",
      "type": "registry:block",
      "title": "Tick KPI Card",
      "description": "A card with a row of KPI tiles, each with a value out of a whole and a tick bar showing how far along it is.",
      "categories": [
        "dashboard"
      ],
      "registryDependencies": [
        "card",
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/blocks/tick-kpi-card.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/dashboardcn/ui/tick-bar.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/metric-value.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "allocation-card",
      "type": "registry:block",
      "title": "Allocation Card",
      "description": "A share-of-total card with a period switcher, a big percentage with delta, a tick bar, and a footer stat with an avatar stack.",
      "categories": [
        "dashboard",
        "finance"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "tabs",
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/blocks/allocation-card.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/dashboardcn/ui/tick-bar.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/delta-badge.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/period-tabs.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/metric-value.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "dual-metric-card",
      "type": "registry:block",
      "title": "Dual Metric Card",
      "description": "A card with two metrics side by side, each with a value, share badge, meter, and a supporting fact.",
      "categories": [
        "dashboard"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "button",
        "dropdown-menu",
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/blocks/dual-metric-card.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/dashboardcn/ui/tick-bar.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/metric-value.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "period-bar-chart-card",
      "type": "registry:block",
      "title": "Period Bar Chart Card",
      "description": "A card with a total for the selected period, a range switcher, and a bar chart that highlights that period.",
      "categories": [
        "dashboard",
        "charts",
        "finance"
      ],
      "dependencies": [
        "recharts",
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "chart",
        "tabs"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/blocks/period-bar-chart-card.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/dashboardcn/ui/bar-chart.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/delta-badge.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/period-tabs.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "progress-card",
      "type": "registry:block",
      "title": "Progress Card",
      "description": "A compact progress card with an icon title, a pill tick bar, and a count with a secondary stat.",
      "categories": [
        "dashboard"
      ],
      "registryDependencies": [
        "card",
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/blocks/progress-card.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/dashboardcn/ui/tick-bar.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/metric-value.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "breakdown-card",
      "type": "registry:block",
      "title": "Breakdown Card",
      "description": "A total with delta and a list of contributors, each with a value and a hatched bar showing its share.",
      "categories": [
        "dashboard",
        "finance"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/blocks/breakdown-card.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/dashboardcn/ui/delta-badge.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/metric-value.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "dot-plot-card",
      "type": "registry:block",
      "title": "Dot Plot Card",
      "description": "A metric card with a big value, a dot-plot distribution with its peak called out, and the change vs the previous period.",
      "categories": [
        "dashboard",
        "charts"
      ],
      "registryDependencies": [
        "card",
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/blocks/dot-plot-card.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/dashboardcn/ui/dot-plot.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/metric-value.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "insight-card",
      "type": "registry:block",
      "title": "Insight Card",
      "description": "A hero card with a badge, a very large number, a headline, and a paged set of insights over a soft gradient.",
      "categories": [
        "dashboard"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/blocks/insight-card.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/dashboardcn/ui/metric-value.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "metric-tabs-chart-card",
      "type": "registry:block",
      "title": "Metric Tabs Chart Card",
      "description": "A row of metric tabs, each with a value and delta, above a line chart of the selected metric against the previous period.",
      "categories": [
        "dashboard",
        "charts",
        "marketing"
      ],
      "dependencies": [
        "recharts",
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "chart",
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/blocks/metric-tabs-chart-card.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/dashboardcn/ui/composed-chart.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/delta-badge.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/metric-value.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "data-table-card",
      "type": "registry:block",
      "title": "Data Table Card",
      "description": "A card around a data table: title, toolbar, rows, and pagination in the footer.",
      "dependencies": [
        "@tanstack/react-table",
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "table",
        "button",
        "input",
        "dropdown-menu",
        "checkbox",
        "skeleton"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/blocks/data-table-card.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/dashboardcn/ui/data-table.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "activity-rings-card",
      "type": "registry:block",
      "title": "Activity Rings Card",
      "description": "A card with concentric goal rings and a tile per ring with its value. Hovering a tile or a ring focuses the pair.",
      "categories": [
        "dashboard",
        "charts"
      ],
      "registryDependencies": [
        "card"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/blocks/activity-rings-card.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/dashboardcn/ui/activity-rings.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "funnel-chart-card",
      "type": "registry:block",
      "title": "Funnel Chart Card",
      "description": "A conversion card with a flow funnel: a headline value with delta, a range picker that carries its own steps, and a tile per stage. Hovering a stage swaps the headline.",
      "categories": [
        "dashboard",
        "charts"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "button",
        "dropdown-menu",
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/blocks/funnel-chart-card.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/dashboardcn/ui/funnel-chart.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/delta-badge.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/metric-value.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "stage-bars-card",
      "type": "registry:block",
      "title": "Stage Bars Card",
      "description": "The funnel as a list: a rounded bar per stage with its name, value, and share of the first stage, a range picker, and a tile per stage.",
      "categories": [
        "dashboard",
        "charts"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "button",
        "dropdown-menu",
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/blocks/stage-bars-card.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/dashboardcn/ui/delta-badge.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/metric-value.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "contributions-card",
      "type": "registry:block",
      "title": "Contributions Card",
      "description": "A contribution-graph card: a headline total with delta, a row of stat tiles, a period switcher, and a year of daily activity.",
      "categories": [
        "dashboard",
        "charts"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "tabs",
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/blocks/contributions-card.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/dashboardcn/ui/activity-heatmap.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/delta-badge.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/metric-value.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/period-tabs.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "heatmap-chart-card",
      "type": "registry:block",
      "title": "Heatmap Chart Card",
      "description": "A card with a headline total, a delta, an optional period switcher, and a matrix heatmap whose hovered cell swaps into the headline.",
      "categories": [
        "dashboard",
        "charts"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "tooltip",
        "tabs"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/blocks/heatmap-chart-card.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/dashboardcn/ui/heatmap-chart.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/delta-badge.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/metric-value.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/period-tabs.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "score-gauge-card",
      "type": "registry:block",
      "title": "Score Gauge Card",
      "description": "A score card with a headline word, a radial gauge around the score, and a breakdown list of labelled bars.",
      "categories": [
        "dashboard",
        "charts"
      ],
      "registryDependencies": [
        "card",
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/blocks/score-gauge-card.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/dashboardcn/ui/radial-gauge.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/tick-bar.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/metric-value.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "goal-chart-card",
      "type": "registry:block",
      "title": "Goal Chart Card",
      "description": "A card with a total, a period switcher, and a bar chart with a dashed goal line that colors the bars reaching it.",
      "categories": [
        "dashboard",
        "charts"
      ],
      "dependencies": [
        "recharts",
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "chart",
        "tabs",
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/blocks/goal-chart-card.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/dashboardcn/ui/bar-chart.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/delta-badge.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/metric-value.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/period-tabs.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "corner-frame",
      "type": "registry:ui",
      "title": "Corner Frame",
      "description": "A content frame with configurable registration marks at every corner.",
      "files": [
        {
          "path": "registry/dashboardcn/ui/corner-frame.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "command-palette",
      "type": "registry:ui",
      "title": "Command Palette",
      "description": "A data-driven Command+K menu with dialog and inline variants, grouped results, metadata, shortcuts, and a replaceable footer.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "command"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/ui/command-palette.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "revenue-ring-card",
      "type": "registry:block",
      "title": "Revenue Ring Card",
      "description": "A centered revenue metric inside a dense segmented ring, with a legend and full-width action.",
      "categories": [
        "dashboard",
        "charts"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "card",
        "button",
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/blocks/revenue-ring-card.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/dashboardcn/ui/radial-gauge.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/metric-value.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "payment-summary-card",
      "type": "registry:block",
      "title": "Payment Summary Card",
      "description": "A segmented customer metric above a compact payment or record summary with status and action.",
      "categories": [
        "dashboard"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "badge",
        "button",
        "card",
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/blocks/payment-summary-card.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/dashboardcn/ui/tick-bar.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/metric-value.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "commerce-kpi-row",
      "type": "registry:block",
      "title": "Commerce KPI Row",
      "description": "A responsive metric strip with dotted sparklines, semantic deltas, and registration-mark corners.",
      "categories": [
        "dashboard",
        "charts"
      ],
      "dependencies": [
        "lucide-react",
        "recharts"
      ],
      "registryDependencies": [
        "tooltip"
      ],
      "files": [
        {
          "path": "registry/dashboardcn/blocks/commerce-kpi-row.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/dashboardcn/ui/corner-frame.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/sparkline.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/ui/metric-value.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/dashboardcn/lib/format.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "skill",
      "type": "registry:file",
      "title": "Agent skill",
      "description": "A skill that teaches coding agents how to pick, install, and compose dashboardcn components.",
      "files": [
        {
          "path": "../../skills/dashboardcn/SKILL.md",
          "type": "registry:file",
          "target": "~/.claude/skills/dashboardcn/SKILL.md"
        },
        {
          "path": "../../skills/dashboardcn/references/api.md",
          "type": "registry:file",
          "target": "~/.claude/skills/dashboardcn/references/api.md"
        }
      ]
    }
  ]
}
