@praxisui/dynamic-form 9.0.4-rc.8 → 9.0.4

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.
@@ -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-06-29"
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,8 @@ 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
+ - Preserve multi-field partial rows by default. `groupedCommand.partialRowStrategy = "fill-compatible"` distributes the remainder deterministically through canonical spans (`3`, `4`, `6`, `8`, `12`) at each container breakpoint. It does not mutate schema widths or authoring documents; compact boolean/action controls, uploads and unknown control types are ineligible.
230
+ - 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
231
  - Keep validation feedback near the field that caused it.
219
232
  - Prefer editable controls over presentation roles.
220
233
  - Keep command actions visually stable and accessible.
@@ -222,6 +235,11 @@ Expected behavior:
222
235
 
223
236
  This preset is the platform replacement for local create/edit `FormConfig.sections` when the backend command DTO already publishes sufficient `@UISchema` metadata.
224
237
 
238
+ The runtime recomputes the projection from currently visible columns. Thus a rule-hidden field may
239
+ cause two remaining compatible fields to become `6 + 6`, while restoring the field restores the
240
+ original row projection. Responsive hiding is evaluated against the form-row container rather than
241
+ the browser viewport.
242
+
225
243
  ### `default`
226
244
 
227
245
  Preserve current generated behavior for consumers that only need a basic generated layout.