{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "extends": "none",
  "name": "file-trigger",
  "title": "file-trigger",
  "description": "file-trigger",
  "dependencies": [
    "@heroicons/react",
    "react-aria-components",
    "tailwind-variants"
  ],
  "registryDependencies": [
    "https://intentui.com/r/button",
    "https://intentui.com/r/loader"
  ],
  "files": [
    {
      "path": "src/components/ui/file-trigger.tsx",
      "content": "'use client'\n\nimport { CameraIcon, FolderIcon, PaperClipIcon } from '@heroicons/react/24/outline'\nimport {\n  FileTrigger as FileTriggerPrimitive,\n  type FileTriggerProps as FileTriggerPrimitiveProps,\n} from 'react-aria-components/FileTrigger'\nimport type { VariantProps } from 'tailwind-variants'\nimport { Button, type buttonStyles } from './button'\nimport { Loader } from './loader'\n\nexport interface FileTriggerProps\n  extends FileTriggerPrimitiveProps, VariantProps<typeof buttonStyles> {\n  isDisabled?: boolean\n  isPending?: boolean\n  ref?: React.RefObject<HTMLInputElement>\n  className?: string\n}\n\nexport function FileTrigger({\n  intent = 'outline',\n  size = 'md',\n  isCircle = false,\n  ref,\n  className,\n  ...props\n}: FileTriggerProps) {\n  return (\n    <FileTriggerPrimitive ref={ref} {...props}>\n      <Button\n        className={className}\n        isDisabled={props.isDisabled}\n        intent={intent}\n        size={size}\n        isCircle={isCircle}\n      >\n        {!props.isPending ? (\n          props.defaultCamera ? (\n            <CameraIcon />\n          ) : props.acceptDirectory ? (\n            <FolderIcon />\n          ) : (\n            <PaperClipIcon />\n          )\n        ) : (\n          <Loader />\n        )}\n        {props.children ? (\n          props.children\n        ) : (\n          <>\n            {props.allowsMultiple\n              ? 'Browse a files'\n              : props.acceptDirectory\n                ? 'Browse'\n                : 'Browse a file'}\n            ...\n          </>\n        )}\n      </Button>\n    </FileTriggerPrimitive>\n  )\n}\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}