{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "refused-state",
  "title": "Refused state",
  "description": "A solid-bordered attention EmptyState preset that names the refused action, required grant and person who can grant access. Announces refusal as an alert; accepts a request action.",
  "dependencies": [
    "lucide-react@1.33.0"
  ],
  "registryDependencies": [
    "@waimakers/utils",
    "@waimakers/theme",
    "@waimakers/empty-state"
  ],
  "files": [
    {
      "path": "src/components/ui/refused-state.tsx",
      "content": "import type { ComponentProps, ReactNode } from \"react\";\nimport { LockKeyhole } from \"lucide-react\";\nimport { EmptyState } from \"./empty-state\";\n\nfunction RefusedState({\n  title = \"You do not have this grant\",\n  grant,\n  grantor,\n  action,\n  ...props\n}: Omit<ComponentProps<typeof EmptyState>, \"tone\" | \"icon\" | \"description\" | \"title\" | \"action\"> & {\n  title?: ReactNode;\n  grant: string;\n  grantor: string;\n  action?: ReactNode;\n}) {\n  return (\n    <EmptyState\n      role=\"alert\"\n      tone=\"attention\"\n      icon={<LockKeyhole aria-hidden=\"true\" />}\n      title={title}\n      description={\n        <>\n          This needs the <span className=\"font-mono\">{grant}</span> grant. Ask {grantor} for access.\n        </>\n      }\n      action={action}\n      {...props}\n    />\n  );\n}\nexport { RefusedState };\n",
      "type": "registry:ui",
      "target": "components/ui/refused-state.tsx"
    }
  ],
  "type": "registry:ui"
}