Reactive per field
A field re-renders only when its own value, error, or dynamic prop changes. Zero ceremony, zero memo gymnastics.
Reactivity →A schema-typed form store with per-field reactive subscriptions. Bring your own input components — pgForm owns the state, validation, formatters, and submission lifecycle.
$bun add @westopp/pgformA field re-renders only when its own value, error, or dynamic prop changes. Zero ceremony, zero memo gymnastics.
Reactivity →Required, disabled, hidden, options, validators — any prop can be a function of the form. Dependencies are tracked, not declared.
Dynamic props →First-class array fields with add / remove / move handlers. Nested groups with single-level dotted keys.
Arrays & groups →A walkthrough with validation, formatters, dynamic props, and submission.