@praxisui/dynamic-form 9.0.4-rc.2 → 9.0.4-rc.21
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 +13 -1
- package/ai/component-registry.json +196 -97
- package/docs/schema-driven-layout-materialization-rfc.md +13 -1
- package/fesm2022/praxisui-dynamic-form.mjs +141 -15
- package/package.json +8 -8
- package/src/lib/praxis-dynamic-form.json-api.md +15 -6
- package/types/praxisui-dynamic-form.d.ts +12 -2
|
@@ -4,7 +4,7 @@ doc_type: "rfc"
|
|
|
4
4
|
component: "praxis-dynamic-form"
|
|
5
5
|
status: "implemented-partial"
|
|
6
6
|
owner: "praxis-ui"
|
|
7
|
-
last_updated: "2026-
|
|
7
|
+
last_updated: "2026-08-03"
|
|
8
8
|
classification: "contrato-publico, arquitetural"
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -116,6 +116,16 @@ export interface DynamicFormDetailSummaryPolicy {
|
|
|
116
116
|
widthPrecedence?: 'schema' | 'summary';
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
+
export interface DynamicFormGroupedCommandPolicy {
|
|
120
|
+
orphanFieldExpansion?: 'preserve' | 'medium-and-wide' | 'all';
|
|
121
|
+
/**
|
|
122
|
+
* Schema field names whose values are supplied by the surrounding business
|
|
123
|
+
* context. They remain in the FormGroup and submit payload, but are omitted
|
|
124
|
+
* from the interactive command layout.
|
|
125
|
+
*/
|
|
126
|
+
contextFields?: readonly string[];
|
|
127
|
+
}
|
|
128
|
+
|
|
119
129
|
export interface DynamicFormLayoutPolicy {
|
|
120
130
|
source: DynamicFormLayoutSource;
|
|
121
131
|
preset?: DynamicFormSchemaLayoutPreset;
|
|
@@ -126,6 +136,7 @@ export interface DynamicFormLayoutPolicy {
|
|
|
126
136
|
schemaOperation?: 'detail' | 'create' | 'update' | 'view';
|
|
127
137
|
schemaType?: 'request' | 'response';
|
|
128
138
|
detailSummary?: DynamicFormDetailSummaryPolicy;
|
|
139
|
+
groupedCommand?: DynamicFormGroupedCommandPolicy;
|
|
129
140
|
}
|
|
130
141
|
```
|
|
131
142
|
|
|
@@ -215,6 +226,7 @@ Expected behavior:
|
|
|
215
226
|
- Use full-width rows for long text, descriptions, multiline controls and high-density option controls when needed.
|
|
216
227
|
- Use compact clusters for booleans, short enums and small numeric fields.
|
|
217
228
|
- Expand an otherwise orphan medium/wide field to the full row by default, while preserving compact `xs`/`sm` fields. Use `groupedCommand.orphanFieldExpansion = "preserve"` when the empty space is intentional, or `"all"` when compact orphan fields must also fill the row.
|
|
229
|
+
- Omit fields listed in `groupedCommand.contextFields` from the interactive layout while retaining their schema metadata, runtime control and submit value. Use this only when the surrounding surface already establishes the value, such as a selected employee opening a related-resource command; it is not a substitute for authorization, validation or backend ownership.
|
|
218
230
|
- Keep validation feedback near the field that caused it.
|
|
219
231
|
- Prefer editable controls over presentation roles.
|
|
220
232
|
- Keep command actions visually stable and accessible.
|