{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "toolbar",
  "title": "Toolbar",
  "description": "A container for grouping a set of buttons and controls.",
  "dependencies": [
    "@base-ui/react",
    "class-variance-authority"
  ],
  "registryDependencies": [
    "@lumi-ui/button",
    "utils"
  ],
  "files": [
    {
      "path": "registry/ui/toolbar.tsx",
      "content": "\"use client\";\n\nimport { Toolbar as BaseToolbar } from \"@base-ui/react/toolbar\";\nimport type { VariantProps } from \"class-variance-authority\";\nimport { cn } from \"@/registry/lib/utils\";\nimport { buttonVariants } from \"@/registry/ui/button\";\n\nfunction Toolbar({ className, ...props }: BaseToolbar.Root.Props) {\n  return (\n    <BaseToolbar.Root\n      className={cn(\n        \"bg-background flex h-10 w-full items-center gap-1 rounded-md border p-1 shadow-xs\",\n        className,\n      )}\n      data-slot=\"toolbar\"\n      {...props}\n    />\n  );\n}\n\nfunction ToolbarGroup({ className, ...props }: BaseToolbar.Group.Props) {\n  return (\n    <BaseToolbar.Group\n      className={cn(\"flex items-center gap-1\", className)}\n      data-slot=\"toolbar-group\"\n      {...props}\n    />\n  );\n}\n\nfunction ToolbarButton({\n  className,\n  variant = \"ghost\",\n  size = \"sm\",\n  ...props\n}: BaseToolbar.Button.Props & VariantProps<typeof buttonVariants>) {\n  return (\n    <BaseToolbar.Button\n      className={cn(\n        buttonVariants({ className, size, variant }),\n        \"data-pressed:bg-accent data-pressed:text-accent-foreground\",\n      )}\n      data-slot=\"toolbar-button\"\n      {...props}\n    />\n  );\n}\n\nfunction ToolbarSeparator({\n  className,\n  ...props\n}: BaseToolbar.Separator.Props) {\n  return (\n    <BaseToolbar.Separator\n      className={cn(\"bg-border mx-1 h-5 w-px\", className)}\n      data-slot=\"toolbar-separator\"\n      {...props}\n    />\n  );\n}\n\nfunction ToolbarLink({ className, ...props }: BaseToolbar.Link.Props) {\n  return (\n    <BaseToolbar.Link\n      className={cn(\n        \"text-muted-foreground hover:text-foreground inline-flex items-center justify-center gap-2 rounded-md px-2.5 py-1.5 text-sm font-medium underline-offset-4 outline-none transition-colors hover:underline\",\n        \"focus-visible:ring-ring focus-visible:ring-2 focus-visible:ring-offset-2\",\n        \"data-disabled:pointer-events-none data-disabled:opacity-50\",\n        className,\n      )}\n      data-slot=\"toolbar-link\"\n      {...props}\n    />\n  );\n}\n\nfunction ToolbarInput({ className, ...props }: BaseToolbar.Input.Props) {\n  return (\n    <BaseToolbar.Input\n      className={cn(\n        \"border-input placeholder:text-muted-foreground focus-visible:ring-ring flex h-8 w-[150px] rounded-md border bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:outline-none focus-visible:ring-1 disabled:cursor-not-allowed disabled:opacity-50\",\n        className,\n      )}\n      data-slot=\"toolbar-input\"\n      {...props}\n    />\n  );\n}\n\nexport {\n  Toolbar,\n  ToolbarGroup,\n  ToolbarButton,\n  ToolbarSeparator,\n  ToolbarLink,\n  ToolbarInput,\n};\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}