{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "retro-alert",
  "title": "RetroAlert",
  "description": "A Mac OS 9 styled alert box with raised bevel effect, left accent border, and three variants: default, warning, and destructive.",
  "dependencies": [
    "class-variance-authority"
  ],
  "registryDependencies": [
    "https://nostalgia-ui.com/r/nostalgia-theme.json"
  ],
  "files": [
    {
      "path": "registry/new-york/ui/retro-alert.tsx",
      "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\n/* ------------------------------------------------------------------ */\n/*  RetroAlert                                                         */\n/* ------------------------------------------------------------------ */\n\nconst retroAlertVariants = cva(\n  [\n    \"relative w-full\",\n    /* 1px black frame all round; the coloured left accent is drawn as an\n       inset shadow inside the frame so the black edge is preserved. */\n    \"border border-os9-black p-[12px] pl-[15px]\",\n    \"text-os9-black\",\n  ],\n  {\n    variants: {\n      variant: {\n        default: [\n          \"bg-os9-gray-300\",\n          \"shadow-[inset_3px_0_0_var(--os9-gray-600),inset_1px_1px_0_white,inset_-1px_-1px_0_#808080]\",\n        ],\n        warning: [\n          \"bg-[#ffffcc]\",\n          \"shadow-[inset_3px_0_0_#ffcc00,inset_1px_1px_0_white,inset_-1px_-1px_0_#808080]\",\n        ],\n        destructive: [\n          \"bg-[#ffcccc]\",\n          \"shadow-[inset_3px_0_0_#cc0000,inset_1px_1px_0_white,inset_-1px_-1px_0_#808080]\",\n        ],\n      },\n    },\n    defaultVariants: {\n      variant: \"default\",\n    },\n  }\n)\n\nfunction RetroAlert(\n  {\n    className,\n    variant,\n    ...props\n  }: React.HTMLAttributes<HTMLDivElement> &\n    VariantProps<typeof retroAlertVariants>,\n  ref: React.ForwardedRef<HTMLDivElement>\n) {\n  return (\n    <div\n      ref={ref}\n      role=\"alert\"\n      className={cn(retroAlertVariants({ variant }), className)}\n      {...props}\n    />\n  )\n}\n\nconst ForwardedRetroAlert = React.forwardRef(RetroAlert)\nForwardedRetroAlert.displayName = \"RetroAlert\"\n\n/* ------------------------------------------------------------------ */\n/*  RetroAlertTitle                                                    */\n/* ------------------------------------------------------------------ */\n\nfunction RetroAlertTitle(\n  { className, ...props }: React.HTMLAttributes<HTMLHeadingElement>,\n  ref: React.ForwardedRef<HTMLHeadingElement>\n) {\n  return (\n    <h5\n      ref={ref}\n      className={cn(\n        \"font-[family-name:var(--os9-font-heading)] text-[12px] font-bold leading-[1.2] tracking-[0.42px]\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nconst ForwardedRetroAlertTitle = React.forwardRef(RetroAlertTitle)\nForwardedRetroAlertTitle.displayName = \"RetroAlertTitle\"\n\n/* ------------------------------------------------------------------ */\n/*  RetroAlertDescription                                              */\n/* ------------------------------------------------------------------ */\n\nfunction RetroAlertDescription(\n  { className, ...props }: React.HTMLAttributes<HTMLParagraphElement>,\n  ref: React.ForwardedRef<HTMLParagraphElement>\n) {\n  return (\n    <p\n      ref={ref}\n      className={cn(\n        \"font-[family-name:var(--os9-font-sans)] text-[10px] leading-[1.4] mt-[4px]\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nconst ForwardedRetroAlertDescription = React.forwardRef(RetroAlertDescription)\nForwardedRetroAlertDescription.displayName = \"RetroAlertDescription\"\n\n/* ------------------------------------------------------------------ */\n/*  Exports                                                            */\n/* ------------------------------------------------------------------ */\n\nexport {\n  ForwardedRetroAlert as RetroAlert,\n  ForwardedRetroAlertTitle as RetroAlertTitle,\n  ForwardedRetroAlertDescription as RetroAlertDescription,\n  retroAlertVariants,\n}\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}