ng-form-foundry 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -26,17 +26,20 @@ form = buildFormFromSchema(schema);
26
26
  ## Features
27
27
 
28
28
  - **One schema → typed form + UI.** `NodeGroup` / `Leaf` / `LeafList` /
29
- `NodeGroupList` describe nested objects, primitive lists, and repeatable
30
- groups.
29
+ `NodeGroupList` / `NodeChoice` / `NodeMap` describe nested objects, primitive
30
+ lists, repeatable groups, discriminated selections, and open dictionaries.
31
31
  - **Type inference.** The returned `FormGroup`'s keys and control value types are
32
32
  inferred from the schema literal — no manual `FormGroup<...>` typing.
33
+ - **Validation in the schema.** Per-field constraints (`pattern`, `min`/`max`,
34
+ `minLength`, `multipleOf`, `integer`, `required`, …) become Angular validators
35
+ and inline `mat-error` messages.
33
36
  - **Angular Material renderers** for string, number, boolean, and enum fields,
34
- add/remove lists, collapsible groups, optional **presence** groups with a
35
- toggle, and **choice/case** selection.
37
+ add/remove lists, collapsible groups, optional **presence** fields with a
38
+ toggle, **choice/case** selection, and add/remove/rename **map** entries.
36
39
  - **Two layouts:** an all-in-one recursive form (`nff-dynamic-recursive-form`),
37
40
  or a tree/detail **config editor** (`nff-config-editor`) — structure on the
38
41
  left, a node's fields on the right.
39
- - **Standalone components**, Angular 20, reactive forms throughout.
42
+ - **Standalone components**, Angular 20, signal inputs, reactive forms throughout.
40
43
 
41
44
  ## Installation
42
45
 
@@ -84,7 +87,7 @@ animation setup.
84
87
  ```ts
85
88
  this.form.value; // current value (omits disabled controls)
86
89
  this.form.getRawValue(); // full value, typed to the schema
87
- this.form.valid; // validity from required / enum / list validators
90
+ this.form.valid; // validity from the schema's constraint validators
88
91
  ```
89
92
 
90
93
  ## Documentation