Give form components a ref to their underlying DOM control (#363) master
* Give form components a ref to their underlying DOM control Primitives that render the control themselves (InputGroupInput, ComboboxInput) take a plain `ref`. Composed fields (TextField, ComboboxField, Checkbox) take `inputRef` and no plain `ref`, so a ref can never silently resolve to a wrapper element. Checkbox's `inputRef` is widened from React Aria's ref-object-only type to React's `Ref`, bridged with `useObjectRef`, so callback refs (what React Hook Form hands out) work. * Correct the Checkbox inputRef bridge comment React Aria merges the ref itself, so a callback ref would work at runtime. The bridge is there because RAC's declared type is ref-object-only. * Document React Hook Form integration and drop icon gallery's ref workaround Add a docs page covering the Controller pattern, why register does not fit a value-based onChange, and how shouldFocusError depends on inputRef being wired up. Add a runnable example using real react-hook-form. Replace the icon gallery's querySelector ref hack with TextField's inputRef now that it exists. * Make react-hook-form resolvable in the docs playground Add it as a runtime module specifier and to the editor's type-dependency allowlist so the React Hook Form example's "Open in playground" link compiles and renders instead of erroring on the unresolved import. * Set validationBehavior to aria in the React Hook Form example Fields default to native browser validation, which blocks submission before Controller's rules ever run. Document the aria behaviour and apply it in the example so it models the pattern people should extend. * Move the React Hook Form guide into Guides and make its examples live Group the guide under a new Form libraries section so a second form library can sit beside it, replace the fenced snippets with runnable examples, drop the reset button, and announce the submitted state through a live region that is in the DOM before the message arrives. * Add a second field to the React Hook Form Controller example Give the main example an Email field alongside Name so submitting an empty form demonstrates focusing the first invalid field, the behaviour the guide's focus-on-error section describes. * Group the React Hook Form guide under Forms and validate its examples with Zod Fold the form-libraries group into the Forms guide, so the guide becomes content/docs/forms/index.mdx and React Hook Form sits beside it at /forms/react-hook-form. Cut the guide's padding and drop the Why not register section, which restated the intro. Replace the examples' inline Controller rules with a Zod schema and zodResolver, infer the form value types from the schema instead of passing a generic, and derive the submitted state from formState.isSubmitSuccessful rather than mirroring it in useState. Add @hookform/resolvers, and register it and zod in the playground scope and type allowlist so the examples still open in the playground. * Add a TanStack Form guide with live examples * Fix the validationBehavior explanation on the React Hook Form guide * Flatten the Forms guide into the top-level Guides list Move forms/index.mdx, forms/react-hook-form.mdx, and forms/tanstack-form.mdx up to the docs root so fumadocs renders Guides as a flat list instead of a collapsible folder. Update the root meta.json order and fix the cross-links that pointed at the old nested URLs. * Restructure the form library guides and focus invalid fields generically