{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "auth-6",
  "description": "A centered forgot-password card with an email field that switches to a check-your-inbox confirmation state, plus a back-to-sign-in link.",
  "dependencies": [
    "@remixicon/react",
    "@base-ui/react"
  ],
  "registryDependencies": [
    "button",
    "card",
    "field",
    "input"
  ],
  "files": [
    {
      "path": "registry/blocks/auth/6/auth-block.tsx",
      "content": "\"use client\"\n\nimport { useState } from \"react\"\nimport { RiArrowLeftLine, RiMailSendLine } from \"@remixicon/react\"\n\nimport { Button } from \"@/components/ui/button\"\nimport {\n  Card,\n  CardContent,\n  CardDescription,\n  CardFooter,\n  CardHeader,\n  CardTitle,\n} from \"@/components/ui/card\"\nimport { Field, FieldError, FieldLabel } from \"@/components/ui/field\"\nimport { Input } from \"@/components/ui/input\"\n\nconst emailPattern = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/\n\nexport default function AuthBlock() {\n  const [email, setEmail] = useState(\"\")\n  const [error, setError] = useState(\"\")\n  const [sent, setSent] = useState(false)\n\n  function handleSubmit(event: React.FormEvent<HTMLFormElement>) {\n    event.preventDefault()\n    if (!emailPattern.test(email)) {\n      setError(\"Enter a valid email address\")\n      return\n    }\n    setError(\"\")\n    setSent(true)\n  }\n\n  return (\n    <section className=\"flex w-full items-center justify-center bg-background px-6 py-12 text-foreground\">\n      <Card className=\"w-full max-w-sm\">\n        {sent ? (\n          <>\n            <CardHeader className=\"items-center text-center\">\n              <span\n                className=\"mx-auto flex size-11 items-center justify-center border border-border bg-muted/40\"\n                aria-hidden=\"true\"\n              >\n                <RiMailSendLine className=\"size-5\" />\n              </span>\n              <CardTitle className=\"mt-4 text-xl font-bold tracking-tight\">\n                Check your inbox\n              </CardTitle>\n              <CardDescription className=\"text-sm\">\n                If an account exists for{\" \"}\n                <span className=\"font-medium text-foreground\">{email}</span>,\n                we&apos;ve sent a link to reset your password.\n              </CardDescription>\n            </CardHeader>\n            <CardContent>\n              <Button\n                variant=\"outline\"\n                className=\"w-full\"\n                onClick={() => setSent(false)}\n              >\n                Use a different email\n              </Button>\n            </CardContent>\n          </>\n        ) : (\n          <>\n            <CardHeader className=\"text-center\">\n              <CardTitle className=\"text-xl font-bold tracking-tight\">\n                Forgot your password?\n              </CardTitle>\n              <CardDescription className=\"text-sm\">\n                Enter your email and we&apos;ll send you a reset link.\n              </CardDescription>\n            </CardHeader>\n            <CardContent>\n              <form onSubmit={handleSubmit} noValidate>\n                <Field>\n                  <FieldLabel htmlFor=\"email\">Email</FieldLabel>\n                  <Input\n                    id=\"email\"\n                    name=\"email\"\n                    type=\"email\"\n                    placeholder=\"you@example.com\"\n                    value={email}\n                    aria-invalid={!!error}\n                    onChange={(event) => {\n                      setEmail(event.target.value)\n                      if (error) setError(\"\")\n                    }}\n                  />\n                  <FieldError>{error}</FieldError>\n                </Field>\n                <Button type=\"submit\" className=\"mt-4 w-full\">\n                  Send reset link\n                </Button>\n              </form>\n            </CardContent>\n          </>\n        )}\n        <CardFooter className=\"justify-center\">\n          <Button\n            variant=\"link\"\n            size=\"sm\"\n            className=\"text-muted-foreground\"\n            render={<a href=\"#\" />}\n            nativeButton={false}\n          >\n            <RiArrowLeftLine data-icon=\"inline-start\" aria-hidden=\"true\" />\n            Back to sign in\n          </Button>\n        </CardFooter>\n      </Card>\n    </section>\n  )\n}\n",
      "type": "registry:component"
    }
  ],
  "meta": {
    "height": "85vh",
    "tier": "free"
  },
  "categories": [
    "auth"
  ],
  "type": "registry:block"
}