Field validation
Per-field rules with inline error messages.
Organisms
Comprehensive form wrapper with field validation and layout.
pnpm add @quinkit/ui react-hook-formimport { Form } from "@quinkit/ui";Required packages
Powers Form field state and validation wiring. Add these packages before using this component:
@quinkit/uireact-hook-formInstall command is shown above. Without the peer package, imports will fail at build time.
Live previews · code · themes · viewport · dark mode
Per-field rules with inline error messages.
Pending and success states around an async submit.
Inputs, selects, switches, and textareas together.
Group related fields into sections.
Surface root and field errors returned from a server.
Form is part of the Week 4–6 free core component set. It follows the shared component standard with TypeScript exports, semantic token styling, accessibility-minded markup, and Storybook examples.
pnpm add @quinkit/ui react-hook-formreact-hook-form is a required peer dependency for Form. Use useForm from react-hook-form with Quinkit Form* primitives.
bg-background, text-foreground, border-border, bg-popover, and text-muted-foreground.Form adheres to WAI-ARIA design patterns for accessible web components.
Keyboard Navigation
Tab / Shift + Tab — Focuses control and moves between interactive elements.Space / Enter — Triggers action or toggles selection.Escape — Closes open popovers, overlays, or dropdown menus.ARIA Standards
aria-* attributes.ring-ring) visible in both light & dark mode.Add a shadcn-compatible bridge file to your project that re-exports from @quinkit/ui.
npx shadcn@latest add https://quinkit-ui.vercel.app/r/form.json