{
  "name": "submit-button",
  "type": "registry:ui",
  "dependencies": [
    "@radix-ui/react-icons",
    "class-variance-authority",
    "react"
  ],
  "registryDependencies": [
    "button"
  ],
  "files": [
    {
      "path": "./items/components/submit-button/component.tsx",
      "type": "registry:ui",
      "target": "./components/ui/shuip/submit-button.tsx",
      "content": "import { ReloadIcon } from '@radix-ui/react-icons';\nimport type { VariantProps } from 'class-variance-authority';\nimport type * as React from 'react';\nimport { Button, type buttonVariants } from '@/components/ui/button';\n\ntype ButtonProps = React.ComponentProps<'button'> &\n  VariantProps<typeof buttonVariants> & {\n    asChild?: boolean;\n  };\n\nexport interface SubmitButtonProps extends ButtonProps {\n  children?: React.ReactNode;\n  disabled?: boolean;\n  loading?: boolean;\n  icon?: React.JSX.Element;\n}\n\nexport function SubmitButton({\n  children,\n  disabled,\n  loading,\n  icon = <ReloadIcon className='mr-2 size-4 animate-spin' aria-label='Loading' />,\n  ...props\n}: SubmitButtonProps) {\n  return (\n    <Button type='submit' aria-label='Submit' disabled={disabled || loading} {...props}>\n      {loading && icon}\n      {children || 'Submit'}\n    </Button>\n  );\n}\n"
    }
  ],
  "$schema": "https://ui.shadcn.com/schema/registry-item.json"
}
