The core packages do not depend on Flutter. Use only the layers your app needs; the Flutter package provides the widget bindings.
keyed_lensv0.1.0
Pure Dart, 0 dependencies. Typed update primitives for nested immutable values.
keyed_form_corev0.1.0
Depends on keyed_lens. The form tier's shared vocabulary: FieldRef, StrictFieldRef, FieldErrors, @keyedSchema.
keyed_form_schemav0.1.0
Depends on keyed_form_core. The declarative schema & validation DSL (ks.*). Pure Dart.
keyed_form_genv0.2.0
Dev-time build_runner codegen: turns a schema into an immutable model, typed field refs and a validator.
keyed_formv0.1.0
The pure-Dart state controller (KeyedFormController) with scoped listener bindings.
keyed_form_flutterv0.1.0
The Flutter binding layer: KeyedForm, KeyedFormField, KeyedFieldList, KeyedTextBinding.
Dependency flow#
Schema types and generated references sit above the shared core. The controller owns form state, and the Flutter layer connects it to widgets. This keeps validation and state logic testable without mounting a widget tree.
Install the Flutter binding#
flutter pub add keyed_form_flutter keyed_form_schema
flutter pub add -d keyed_form_gen build_runner
See installation for runtime requirements and code generation.