@praxisui/manual-form 9.0.0-beta.3 → 9.0.0-beta.31

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
@@ -1,46 +1,3 @@
1
- ---
2
- title: "Manual Form"
3
- slug: "manual-form-overview"
4
- description: "Public npm documentation for @praxisui/manual-form: declarative HTML forms with Praxis field metadata, autosave, persistence and metadata editor bridge."
5
- doc_type: "reference"
6
- document_kind: "component-overview"
7
- component: "manual-form"
8
- category: "components"
9
- audience:
10
- - "frontend"
11
- - "host"
12
- - "architect"
13
- level: "intermediate"
14
- status: "active"
15
- owner: "praxis-ui"
16
- tags:
17
- - "manual-form"
18
- - "forms"
19
- - "autosave"
20
- - "metadata-editor"
21
- - "dynamic-fields"
22
- order: 38
23
- icon: "file-pen"
24
- toc: true
25
- sidebar: true
26
- search_boost: 0.95
27
- reading_time: 5
28
- estimated_setup_time: 20
29
- version: "1.0"
30
- related_docs:
31
- - "manual-form-api-reference"
32
- - "host-manual-form-integration"
33
- - "manual-form-toolbar-execution"
34
- - "consumer-integration-quickstart"
35
- - "host-integration-guide"
36
- keywords:
37
- - "praxis manual form"
38
- - "manual form toolkit"
39
- - "form autosave"
40
- - "field metadata bridge"
41
- last_updated: "2026-06-16"
42
- ---
43
-
44
1
  # @praxisui/manual-form
45
2
 
46
3
  `@praxisui/manual-form` lets a host write forms in Angular templates with `pdx-*` fields while still using Praxis metadata, autosave, persisted drafts, runtime field editing and the metadata editor bridge.
@@ -62,7 +19,7 @@ npm i @praxisui/manual-form@latest
62
19
  Peer dependencies:
63
20
 
64
21
  - `@angular/common`, `@angular/core`, `@angular/forms`, `@angular/router`, `@angular/cdk`, `@angular/material` `^21.0.0`
65
- - `@praxisui/core`, `@praxisui/dynamic-fields`, `@praxisui/settings-panel`, `@praxisui/metadata-editor`, `@praxisui/ai` `^9.0.0-beta.3`
22
+ - `@praxisui/core`, `@praxisui/dynamic-fields`, `@praxisui/settings-panel`, `@praxisui/metadata-editor`, `@praxisui/ai` `^9.0.0-beta.12`
66
23
  - `rxjs` `~7.8.0`
67
24
 
68
25
  ## Recommended Typed Host
@@ -154,6 +111,26 @@ The toolbar and metadata bridge are runtime entry points. They are not separate
154
111
 
155
112
  Free JSON patches from AI flows are not the public authoring contract. Local apply must come from a manifest-backed `componentEditPlan`.
156
113
 
114
+ ### Rule Authoring Contract
115
+
116
+ `formRules` is the authorable rules surface for manual forms. Each rule `effect.condition` must be a JSON Logic object, for example:
117
+
118
+ ```json
119
+ {
120
+ "id": "required-customer",
121
+ "targetType": "field",
122
+ "targets": ["customer"],
123
+ "effect": {
124
+ "condition": { "!==": [{ "var": "customer" }, null] },
125
+ "properties": { "required": true }
126
+ }
127
+ }
128
+ ```
129
+
130
+ Do not use legacy JSON Schema condition blocks such as `allOf`/`if`/`then`, and do not use textual expression strings such as `customer != null`.
131
+
132
+ `formRulesState` is internal round-trip state generated by the visual editor. Treat it as read-only metadata: tools and hosts should author `formRules` and let the editor materialize or preserve `formRulesState` when needed.
133
+
157
134
  ## Public API Snapshot
158
135
 
159
136
  Main exports include `ManualFormComponent`, `ManualFormHeaderComponent`, `ManualFormActionsComponent`, `ManualFormConfigEditorComponent`, `ManualFormInstance`, seed helpers, manual field directives, metadata bridge services, DI tokens, AI capabilities and `PRAXIS_MANUAL_FORM_AUTHORING_MANIFEST`.