{
  "$schema": "https://shadcn-vue.com/schema/registry-item.json",
  "name": "footer-sitemap-dense",
  "title": "Footer — Dense Sitemap",
  "type": "registry:block",
  "files": [
    {
      "path": "packages/registry-vue/blocks/footer-sitemap-dense/FooterSitemapDense.vue",
      "content": "<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport { Github, Layers, Linkedin } from 'lucide-vue-next'\nimport { Badge } from '@/components/ui/badge'\nimport { Button } from '@/components/ui/button'\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'\nimport { Separator } from '@/components/ui/separator'\n\nconst sections = [\n  { heading: 'Platform', links: ['Metric layer', 'Dashboards', 'Alerting', 'Embedding', 'API', 'CLI'] },\n  { heading: 'Solutions', links: ['Finance', 'RevOps', 'Analytics', 'Engineering', 'Healthcare', 'Retail'] },\n  { heading: 'Developers', links: ['Documentation', 'API reference', 'SDKs', 'Webhooks', 'Status', 'Changelog'] },\n  { heading: 'Resources', links: ['Guides', 'Benchmarks', 'Customers', 'Blog', 'Webinars', 'Glossary'] },\n  { heading: 'Company', links: ['About', 'Careers', 'Press kit', 'Partners', 'Contact', 'Security'] },\n  { heading: 'Legal', links: ['Privacy', 'Terms', 'DPA', 'Subprocessors', 'SLA', 'Accessibility'] },\n]\n\nconst region = ref('eu')\nconst currency = ref('eur')\n</script>\n\n<template>\n  <footer data-slot=\"footer-sitemap-dense\" class=\"border-border bg-background border-t\">\n    <div class=\"mx-auto max-w-6xl px-6 py-12\">\n      <div class=\"grid grid-cols-2 gap-x-6 gap-y-8 sm:grid-cols-3 lg:grid-cols-6\">\n        <div v-for=\"section in sections\" :key=\"section.heading\">\n          <p class=\"text-muted-foreground/70 text-xs font-medium tracking-wide uppercase\">{{ section.heading }}</p>\n          <ul class=\"mt-3 space-y-1.5\">\n            <li v-for=\"link in section.links\" :key=\"link\">\n              <a href=\"#\" class=\"text-muted-foreground hover:text-foreground text-sm transition-colors\">{{ link }}</a>\n            </li>\n          </ul>\n        </div>\n      </div>\n\n      <Separator class=\"my-10\" />\n\n      <div class=\"flex flex-col gap-6 lg:flex-row lg:items-center\">\n        <a href=\"#top\" class=\"flex shrink-0 items-center gap-2 text-sm font-semibold tracking-tight\">\n          <Layers class=\"text-primary size-4\" aria-hidden=\"true\" />\n          Northwind\n        </a>\n\n        <div class=\"flex flex-wrap items-center gap-2\">\n          <Select v-model=\"region\">\n            <SelectTrigger class=\"h-8 w-40 text-xs\" aria-label=\"Data region\">\n              <SelectValue />\n            </SelectTrigger>\n            <SelectContent>\n              <SelectItem value=\"eu\">EU (Frankfurt)</SelectItem>\n              <SelectItem value=\"us\">US (Virginia)</SelectItem>\n              <SelectItem value=\"au\">AU (Sydney)</SelectItem>\n            </SelectContent>\n          </Select>\n\n          <Select v-model=\"currency\">\n            <SelectTrigger class=\"h-8 w-28 text-xs\" aria-label=\"Currency\">\n              <SelectValue />\n            </SelectTrigger>\n            <SelectContent>\n              <SelectItem value=\"eur\">EUR €</SelectItem>\n              <SelectItem value=\"usd\">USD $</SelectItem>\n              <SelectItem value=\"gbp\">GBP £</SelectItem>\n            </SelectContent>\n          </Select>\n        </div>\n\n        <div class=\"flex flex-wrap items-center gap-3 lg:ml-auto\">\n          <!-- Status dot is a live indicator, so it carries its own text for\n               screen readers rather than relying on colour alone. -->\n          <a href=\"#status\" class=\"hover:bg-muted flex items-center gap-2 rounded-md px-2 py-1 transition-colors\">\n            <span class=\"bg-success size-2 rounded-full\" aria-hidden=\"true\" />\n            <span class=\"text-muted-foreground text-xs\">All systems operational</span>\n          </a>\n          <Badge variant=\"outline\">SOC 2</Badge>\n          <Badge variant=\"outline\">GDPR</Badge>\n          <Button variant=\"ghost\" size=\"icon\" class=\"size-8\" aria-label=\"GitHub\">\n            <Github class=\"size-4\" aria-hidden=\"true\" />\n          </Button>\n          <Button variant=\"ghost\" size=\"icon\" class=\"size-8\" aria-label=\"LinkedIn\">\n            <Linkedin class=\"size-4\" aria-hidden=\"true\" />\n          </Button>\n        </div>\n      </div>\n\n      <p class=\"text-muted-foreground mt-6 text-xs\">© 2026 Northwind Data, Inc. All rights reserved.</p>\n    </div>\n  </footer>\n</template>\n",
      "type": "registry:block",
      "target": "~/app/components/blocks/FooterSitemapDense.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/select.json",
    "https://uipkge.dev/r/vue/separator.json"
  ],
  "description": "Sitemap-style footer with six tightly-set link columns, a region and currency selector row, compliance marks, and a status indicator reporting live uptime.",
  "categories": [
    "marketing"
  ],
  "deprecated": true,
  "replacedBy": "footer"
}