{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "oauth-button",
  "type": "registry:block",
  "title": "OAuth Button",
  "description": "A button component for OAuth authentication providers.",
  "dependencies": [
    "@invertase/firebaseui-react"
  ],
  "registryDependencies": [
    "button"
  ],
  "files": [
    {
      "path": "src/components/oauth-button.tsx",
      "content": "\"use client\";\n\nimport { useUI, type OAuthButtonProps, useSignInWithProvider } from \"@invertase/firebaseui-react\";\nimport { Button } from \"@/components/ui/button\";\n\nexport type { OAuthButtonProps };\n\nexport function OAuthButton({ provider, children, themed, onSignIn }: OAuthButtonProps) {\n  const ui = useUI();\n\n  const { error, callback } = useSignInWithProvider(provider, onSignIn);\n\n  return (\n    <div>\n      <Button\n        type=\"button\"\n        disabled={ui.state !== \"idle\"}\n        onClick={callback}\n        data-provider={provider.providerId}\n        data-themed={themed}\n        className=\"w-full\"\n        variant={themed ? \"default\" : \"outline\"}\n      >\n        {children}\n      </Button>\n      {error && <div className=\"text-destructive text-left text-xs\">{error}</div>}\n    </div>\n  );\n}\n",
      "type": "registry:component"
    }
  ],
  "meta": {
    "version": "0.0.2"
  }
}