{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "checkbox-11",
  "title": "Invalid / required",
  "description": "Checkbox with an inline error message that appears when the form is submitted without checking it.",
  "dependencies": [
    "sonner"
  ],
  "registryDependencies": [
    "checkbox",
    "field",
    "button"
  ],
  "files": [
    {
      "path": "registry/patterns/checkbox/checkbox-11.tsx",
      "content": "'use client'\n\nimport { Button } from '@/components/ui/button'\nimport { Checkbox } from '@/components/ui/checkbox'\nimport {\n  Field,\n  FieldContent,\n  FieldError,\n  FieldLabel,\n} from '@/components/ui/field'\nimport { toast } from 'sonner'\nimport { useState } from 'react'\n\nexport function Checkbox11() {\n  const [accepted, setAccepted] = useState(false)\n  const [invalid, setInvalid] = useState(false)\n\n  function onSubmit(event: React.FormEvent) {\n    event.preventDefault()\n    if (!accepted) {\n      setInvalid(true)\n      return\n    }\n    setInvalid(false)\n    toast.success('Terms accepted')\n  }\n\n  return (\n    <form onSubmit={onSubmit} className=\"flex w-full max-w-sm flex-col gap-4\">\n      <Field orientation=\"horizontal\" data-invalid={invalid}>\n        <Checkbox\n          id=\"checkbox-11-terms\"\n          aria-invalid={invalid}\n          checked={accepted}\n          onCheckedChange={(value) => {\n            const next = value === true\n            setAccepted(next)\n            if (next) setInvalid(false)\n          }}\n        />\n        <FieldContent>\n          <FieldLabel htmlFor=\"checkbox-11-terms\">\n            I agree to the terms and conditions\n          </FieldLabel>\n          {invalid && (\n            <FieldError>You must accept the terms to continue.</FieldError>\n          )}\n        </FieldContent>\n      </Field>\n      <Button type=\"submit\" size=\"sm\" className=\"self-start\">\n        Continue\n      </Button>\n    </form>\n  )\n}\n",
      "type": "registry:component",
      "target": "components/flx/patterns/checkbox/checkbox-11.tsx"
    }
  ],
  "type": "registry:block"
}