{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "retro-toolbar",
  "title": "RetroToolbar",
  "description": "A Mac OS 9 styled toolbar with icon buttons, separators, and button groups. Includes RetroToolbar, RetroToolbarButton, RetroToolbarSeparator, and RetroToolbarGroup sub-components.",
  "dependencies": [
    "@radix-ui/react-toolbar"
  ],
  "registryDependencies": [
    "https://nostalgia-ui.com/r/nostalgia-theme.json"
  ],
  "files": [
    {
      "path": "registry/new-york/ui/retro-toolbar.tsx",
      "content": "\"use client\"\n\nimport * as React from \"react\"\nimport * as ToolbarPrimitive from \"@radix-ui/react-toolbar\"\n\nimport { cn } from \"@/lib/utils\"\n\n/* -------------------------------- Toolbar -------------------------------- */\n\nfunction RetroToolbar(\n  {\n    className,\n    ...props\n  }: React.ComponentProps<typeof ToolbarPrimitive.Root>,\n  ref: React.ForwardedRef<HTMLDivElement>\n) {\n  // Radix Toolbar provides role=\"toolbar\" and arrow-key roving focus\n  return (\n    <ToolbarPrimitive.Root\n      ref={ref}\n      className={cn(\n        \"flex flex-row items-center gap-1 px-1\",\n        \"h-[28px]\",\n        \"bg-os9-gray-300\",\n        \"border-b border-b-[var(--os9-gray-700)]\",\n        \"shadow-[0_1px_0_var(--os9-white)]\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nconst ForwardedRetroToolbar = React.forwardRef(RetroToolbar)\nForwardedRetroToolbar.displayName = \"RetroToolbar\"\n\n/* ----------------------------- ToolbarButton ----------------------------- */\n\nfunction RetroToolbarButton(\n  {\n    className,\n    disabled,\n    ...props\n  }: React.ComponentProps<typeof ToolbarPrimitive.Button>,\n  ref: React.ForwardedRef<HTMLButtonElement>\n) {\n  return (\n    <ToolbarPrimitive.Button\n      ref={ref}\n      type=\"button\"\n      disabled={disabled}\n      className={cn(\n        \"inline-flex items-center justify-center\",\n        \"size-[24px] p-0\",\n        \"border border-os9-black bg-os9-gray-300\",\n        \"shadow-[inset_1px_1px_0_var(--os9-white),inset_-1px_-1px_0_var(--os9-gray-700)]\",\n        \"cursor-pointer select-none\",\n        \"transition-none\",\n        \"active:shadow-[inset_1px_1px_0_var(--os9-gray-700),inset_-1px_-1px_0_var(--os9-white)]\",\n        \"focus-visible:os9-focus-ring\",\n        disabled && \"opacity-50 pointer-events-none\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nconst ForwardedRetroToolbarButton = React.forwardRef(RetroToolbarButton)\nForwardedRetroToolbarButton.displayName = \"RetroToolbarButton\"\n\n/* --------------------------- ToolbarSeparator ---------------------------- */\n\nfunction RetroToolbarSeparator(\n  {\n    className,\n    ...props\n  }: React.ComponentProps<typeof ToolbarPrimitive.Separator>,\n  ref: React.ForwardedRef<HTMLDivElement>\n) {\n  return (\n    <ToolbarPrimitive.Separator\n      ref={ref}\n      className={cn(\n        \"mx-1 h-[16px] w-[2px] shrink-0\",\n        \"border-l border-r border-l-[var(--os9-gray-700)] border-r-[var(--os9-white)]\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nconst ForwardedRetroToolbarSeparator = React.forwardRef(RetroToolbarSeparator)\nForwardedRetroToolbarSeparator.displayName = \"RetroToolbarSeparator\"\n\n/* ------------------------------ ToolbarGroup ----------------------------- */\n\nfunction RetroToolbarGroup(\n  {\n    className,\n    ...props\n  }: React.ComponentProps<\"div\">,\n  ref: React.ForwardedRef<HTMLDivElement>\n) {\n  return (\n    <div\n      role=\"group\"\n      ref={ref}\n      className={cn(\n        \"flex flex-row items-center gap-0.5\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nconst ForwardedRetroToolbarGroup = React.forwardRef(RetroToolbarGroup)\nForwardedRetroToolbarGroup.displayName = \"RetroToolbarGroup\"\n\nexport {\n  ForwardedRetroToolbar as RetroToolbar,\n  ForwardedRetroToolbarButton as RetroToolbarButton,\n  ForwardedRetroToolbarSeparator as RetroToolbarSeparator,\n  ForwardedRetroToolbarGroup as RetroToolbarGroup,\n}\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}