{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "announcement-bar",
  "type": "registry:ui",
  "title": "Announcement bar",
  "description": "Slim site-wide announcement bar for launches, promos or notices. Centered content, a polite status role for screen readers and an optional dismiss button.",
  "dependencies": [
    "lucide-react"
  ],
  "registryDependencies": [
    "utils"
  ],
  "files": [
    {
      "path": "registry/ui/announcement-bar.tsx",
      "type": "registry:ui",
      "target": "components/ui/announcement-bar.tsx",
      "content": "\"use client\"\nimport * as React from \"react\"\nimport { XIcon } from \"lucide-react\"\nimport { cn } from \"@/lib/utils\"\n\nfunction AnnouncementBar({\n  children,\n  onDismiss,\n  className,\n}: {\n  children: React.ReactNode\n  onDismiss?: () => void\n  className?: string\n}) {\n  return (\n    <div\n      data-slot=\"announcement-bar\"\n      role=\"status\"\n      className={cn(\n        \"flex items-center justify-center gap-3 border-b border-border bg-sunken px-4 py-2 text-sm text-fg\",\n        className\n      )}\n    >\n      <div className=\"min-w-0 flex-1 text-center sm:flex-none\">{children}</div>\n      {onDismiss ? (\n        <button type=\"button\" aria-label=\"Dismiss\" className=\"text-fg-muted hover:text-fg\" onClick={onDismiss}>\n          <XIcon className=\"size-4\" />\n        </button>\n      ) : null}\n    </div>\n  )\n}\nexport { AnnouncementBar }\n"
    }
  ]
}
