Form

The one page in the kit that shadcn/ui has no component for: its three forms guides are the same bug report card behind three different libraries, so the...

Two components, six variants

Using the Form

Why is there a Form page when shadcn/ui has no Form component?
Because all three of its forms guides, React Hook Form, TanStack Form and Formisch, show the same bug report card. The part that differs between them is the wiring, which is code. The part a design file can carry is the card and the four states it passes through, so that is what was built.
What is actually new here?
One thing: Field Error. Field already has a Data Invalid axis, but it only repaints the label and the input border; there was nowhere to say what went wrong. Everything else on the page is Field, Field Group, Field / Legend, Field / Separator, Field / Buttons, Input, Input Group and Button doing their existing jobs.
Why does Field Error have a Many variant?
Because a value can fail more than one rule at once, and shadcn renders that as a disc list rather than a run-on sentence. Many is two rows at 14/400 in base.destructive with 4px discs and a 4px gap, which is the ms-4 list-disc gap-1 from the source.
Which state is a different height?
Only Invalid, at 492 against 464. The error message is a real row under the description rather than a replacement for it, so both sentences are on screen at once. That matches the markup, where FieldDescription and FieldError are siblings.
Are the controls real instances?
Yes. The title row is an Input, the description is Input Group with Type set to Textarea, and both footer buttons are Button. Switching the State axis swaps those instances to Filled, Invalid (Filled) and Disabled, so the states come from the components that own them rather than from hand-applied colour.
What is in the usage frame?
Four forms at 1000 by 1342: the bug report failing validation, a sign-up card, a settings fieldset built from real Field / Legend, Field Group, Field / Separator and Field / Buttons instances, and one field failing two rules at once. None of them needed a new component.