{
  "$schema": "https://shadcn-vue.com/schema/registry-item.json",
  "name": "features-icon-list-dense",
  "title": "Features — Dense Icon List",
  "type": "registry:block",
  "files": [
    {
      "path": "packages/registry-vue/blocks/features-icon-list-dense/FeaturesIconListDense.vue",
      "content": "<script setup lang=\"ts\">\nimport {\n  ArrowRight,\n  Bell,\n  Boxes,\n  Clock,\n  Download,\n  FileSearch,\n  GitBranch,\n  Globe,\n  KeyRound,\n  Lock,\n  Receipt,\n  Share2,\n  Terminal,\n} from 'lucide-vue-next'\nimport { Badge } from '@/components/ui/badge'\nimport { Button } from '@/components/ui/button'\nimport { Separator } from '@/components/ui/separator'\n\nconst capabilities = [\n  { icon: GitBranch, title: 'Version control', body: 'Every definition change is a reviewable diff.' },\n  { icon: Lock, title: 'Row-level scope', body: 'Resolved per query from your IdP.' },\n  { icon: KeyRound, title: 'SSO + SCIM', body: 'Okta, Entra ID, and Google Workspace.' },\n  { icon: Clock, title: 'Freshness policy', body: 'Per-metric materialisation schedules.' },\n  { icon: Receipt, title: 'Cost ceilings', body: 'Query budgets enforced per team.' },\n  { icon: Bell, title: 'Drift alerts', body: 'Threshold and anomaly triggers.' },\n  { icon: FileSearch, title: 'Audit export', body: 'Generated from change history.' },\n  { icon: Share2, title: 'Scoped sharing', body: 'Signed links that respect permissions.' },\n  { icon: Boxes, title: 'Embedding', body: 'Same dashboards inside your product.' },\n  { icon: Terminal, title: 'CLI + API', body: 'Everything the UI does, scriptable.' },\n  { icon: Download, title: 'Exports', body: 'CSV, Parquet, and scheduled delivery.' },\n  { icon: Globe, title: 'Data residency', body: 'EU, US, and AU regions available.' },\n]\n</script>\n\n<template>\n  <section data-slot=\"features-icon-list-dense\" class=\"bg-background\">\n    <div class=\"mx-auto max-w-6xl px-6 py-20 lg:py-24\">\n      <div class=\"flex flex-wrap items-end justify-between gap-6\">\n        <div class=\"max-w-2xl\">\n          <Badge variant=\"secondary\">Also included</Badge>\n          <h2 class=\"mt-4 text-2xl font-semibold tracking-tight sm:text-3xl\">The rest of the surface area</h2>\n          <p class=\"text-muted-foreground mt-2\">\n            The detail sections above cover the hard parts. This is everything else, in one pass.\n          </p>\n        </div>\n        <Button variant=\"ghost\">\n          Full feature list\n          <ArrowRight class=\"ml-2 size-4\" aria-hidden=\"true\" />\n        </Button>\n      </div>\n\n      <Separator class=\"my-10\" />\n\n      <ul class=\"grid gap-x-10 gap-y-7 sm:grid-cols-2 lg:grid-cols-3\">\n        <li v-for=\"capability in capabilities\" :key=\"capability.title\" class=\"flex gap-3\">\n          <component :is=\"capability.icon\" class=\"text-muted-foreground mt-0.5 size-4 shrink-0\" aria-hidden=\"true\" />\n          <div class=\"min-w-0\">\n            <p class=\"text-sm font-medium\">{{ capability.title }}</p>\n            <p class=\"text-muted-foreground mt-0.5 text-xs leading-relaxed\">{{ capability.body }}</p>\n          </div>\n        </li>\n      </ul>\n    </div>\n  </section>\n</template>\n",
      "type": "registry:block",
      "target": "~/app/components/blocks/FeaturesIconListDense.vue"
    }
  ],
  "dependencies": [
    "lucide-vue-next"
  ],
  "devDependencies": [],
  "registryDependencies": [
    "https://uipkge.dev/r/vue/badge.json",
    "https://uipkge.dev/r/vue/button.json",
    "https://uipkge.dev/r/vue/separator.json"
  ],
  "description": "Compact three-column list of twelve capabilities with small icons and one-line descriptions, for the lower half of a landing page where breadth matters more than depth.",
  "categories": [
    "marketing"
  ]
}