{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "submit-button", "registryDependencies": [ "button", "https://reusables.vercel.app/r/utils.json" ], "files": [ { "path": "registry/reusables/ui/submit-button.tsx", "content": "import { cn } from \"@/lib/utils\"\nimport { Button, ButtonProps } from \"@/components/ui/button\"\n\nimport { Spinner } from \"./spinner\"\n\ntype SpinnerPosition = \"left\" | \"right\"\ntype SpinnerSize = \"default\" | \"sm\" | \"lg\" | \"icon\"\n\ninterface LoadingSpinnerProps {\n size?: SpinnerSize\n className?: string\n hideText?: boolean\n}\n\ninterface SubmitButtonProps extends ButtonProps {\n children: React.ReactNode\n isSubmitting: boolean\n spinnerClassName?: string\n spinnerSize?: SpinnerSize\n position?: SpinnerPosition\n hideText?: boolean\n}\n\nexport function SubmitButton({\n children,\n isSubmitting,\n spinnerClassName,\n spinnerSize,\n position = \"right\",\n hideText = false,\n ...props\n}: SubmitButtonProps) {\n return (\n \n )\n}\n\nfunction LoadingSpinner({ size, className, hideText }: LoadingSpinnerProps) {\n return (\n