{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "floating-action-button",
  "type": "registry:component",
  "title": "Floating Action Button",
  "description": "Fixed-position action button for primary actions.",
  "dependencies": [
    "@vllnt/ui@^0.2.1"
  ],
  "registryDependencies": [],
  "files": [
    {
      "path": "registry/default/floating-action-button/floating-action-button.tsx",
      "content": "\"use client\";\n\nimport { memo } from \"react\";\n\nimport type { ReactNode } from \"react\";\n\nimport { cn } from \"@vllnt/ui\";\n\nexport type FloatingActionButtonProps = {\n  \"aria-label\": string;\n  children: ReactNode;\n  className?: string;\n  onClick: () => void;\n  position?: \"bottom-left\" | \"bottom-right\";\n};\n\nfunction FloatingActionButtonImpl({\n  \"aria-label\": ariaLabel,\n  children,\n  className,\n  onClick,\n  position = \"bottom-right\",\n}: FloatingActionButtonProps): React.ReactNode {\n  return (\n    <button\n      aria-label={ariaLabel}\n      className={cn(\n        \"fixed z-40 flex size-12 items-center justify-center rounded-full\",\n        \"bg-primary text-primary-foreground shadow-lg\",\n        \"transition-transform hover:scale-110\",\n        \"focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2\",\n        position === \"bottom-right\" && \"bottom-20 right-4 sm:bottom-4\",\n        position === \"bottom-left\" && \"bottom-20 left-4 sm:bottom-4\",\n        className,\n      )}\n      onClick={onClick}\n      type=\"button\"\n    >\n      {children}\n    </button>\n  );\n}\n\nexport const FloatingActionButton = memo(FloatingActionButtonImpl);\nFloatingActionButton.displayName = \"FloatingActionButton\";\n",
      "type": "registry:component"
    }
  ],
  "version": "0.2.1",
  "stability": "stable"
}
