@praxisui/dynamic-form 8.0.0-beta.26 → 8.0.0-beta.28
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 +6 -0
- package/fesm2022/{praxisui-dynamic-form-dynamic-form-agentic-authoring-turn-flow-DuH1ad7h.mjs → praxisui-dynamic-form-dynamic-form-agentic-authoring-turn-flow-IcmiP6u5.mjs} +0 -82
- package/fesm2022/praxisui-dynamic-form.mjs +281 -16
- package/index.d.ts +29 -2
- package/package.json +8 -8
- package/src/lib/praxis-dynamic-form.json-api.md +3 -0
package/index.d.ts
CHANGED
|
@@ -478,8 +478,19 @@ declare class FormAiAdapter extends BaseAiAdapter<FormConfig> {
|
|
|
478
478
|
private applyConfig;
|
|
479
479
|
private smartMergeFormConfig;
|
|
480
480
|
private extractIncomingRules;
|
|
481
|
+
private extractComponentEditOperationPatch;
|
|
482
|
+
private applyComponentEditOperation;
|
|
483
|
+
private applyLocalFieldAdd;
|
|
484
|
+
private applyFieldMetadataPatch;
|
|
485
|
+
private appendFieldToLayout;
|
|
486
|
+
private resolveFieldName;
|
|
487
|
+
private matchesText;
|
|
488
|
+
private normalizeSearchText;
|
|
489
|
+
private toBoolean;
|
|
490
|
+
private toSubmitPolicy;
|
|
481
491
|
private extractVisualBlockGuidanceOperationRule;
|
|
482
492
|
private coerceSingleOperationResponse;
|
|
493
|
+
private coerceOperationResponses;
|
|
483
494
|
private operationInputRecord;
|
|
484
495
|
private normalizeVisualBlockGuidanceOperationInput;
|
|
485
496
|
private visualBlockGuidanceParamsToRule;
|
|
@@ -588,6 +599,11 @@ interface DynamicFormApplyPlan {
|
|
|
588
599
|
diagnostics: EditorDiagnostic[];
|
|
589
600
|
}
|
|
590
601
|
|
|
602
|
+
interface DynamicFormConfigPatchChangeEvent {
|
|
603
|
+
inputPatch: {
|
|
604
|
+
config: FormConfig;
|
|
605
|
+
};
|
|
606
|
+
}
|
|
591
607
|
interface PraxisDynamicFormDomainRulesOptions {
|
|
592
608
|
enabled?: boolean;
|
|
593
609
|
targetArtifactKey?: string | null;
|
|
@@ -732,6 +748,7 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
|
|
|
732
748
|
/** Identifier for persisting layouts */
|
|
733
749
|
formId?: string;
|
|
734
750
|
componentInstanceId?: string;
|
|
751
|
+
configPersistenceStrategy: 'local-first' | 'input-first';
|
|
735
752
|
/** Optional layout to use instead of generated one */
|
|
736
753
|
layout?: FormLayout;
|
|
737
754
|
/** Optional navigation back config (from CRUD host) */
|
|
@@ -771,6 +788,7 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
|
|
|
771
788
|
formCancel: EventEmitter<void>;
|
|
772
789
|
formReset: EventEmitter<void>;
|
|
773
790
|
configChange: EventEmitter<FormConfig>;
|
|
791
|
+
configPatchChange: EventEmitter<DynamicFormConfigPatchChangeEvent>;
|
|
774
792
|
formReady: EventEmitter<FormReadyEvent>;
|
|
775
793
|
valueChange: EventEmitter<FormValueChangeEvent>;
|
|
776
794
|
syncCompleted: EventEmitter<SyncResult>;
|
|
@@ -942,6 +960,7 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
|
|
|
942
960
|
private hasSchemaBackedRuntime;
|
|
943
961
|
private hasRenderableConfig;
|
|
944
962
|
private initializeStandaloneConfig;
|
|
963
|
+
private initializeDisconnectedEmptyState;
|
|
945
964
|
private reloadForModeChange;
|
|
946
965
|
ngOnInit(): void;
|
|
947
966
|
ngOnChanges(changes: SimpleChanges): void;
|
|
@@ -955,6 +974,7 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
|
|
|
955
974
|
private createDefaultConfig;
|
|
956
975
|
private createConfigFromHostConfig;
|
|
957
976
|
private reconcileLoadedConfigWithServerSchema;
|
|
977
|
+
private hostConfigHasAuthoredLocalFieldsNotInLocalConfig;
|
|
958
978
|
private syncWithServer;
|
|
959
979
|
private loadEntity;
|
|
960
980
|
private buildFormFromConfig;
|
|
@@ -1235,6 +1255,11 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
|
|
|
1235
1255
|
field: FieldMetadata;
|
|
1236
1256
|
element: HTMLElement;
|
|
1237
1257
|
}): void;
|
|
1258
|
+
onFieldFocus(payload: {
|
|
1259
|
+
field: FieldMetadata;
|
|
1260
|
+
element: HTMLElement;
|
|
1261
|
+
}): void;
|
|
1262
|
+
private selectCanvasField;
|
|
1238
1263
|
onDragStarted(event: {
|
|
1239
1264
|
field: FieldMetadata;
|
|
1240
1265
|
index: number;
|
|
@@ -1279,6 +1304,8 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
|
|
|
1279
1304
|
private captureCurrentSchemaPrefsSnapshot;
|
|
1280
1305
|
private executeDynamicFormEditorApplyPlan;
|
|
1281
1306
|
private attachRuntimeMetadataToDynamicFormConfig;
|
|
1307
|
+
private emitConfigPatchChange;
|
|
1308
|
+
private cloneFormConfigForPatch;
|
|
1282
1309
|
private parsePresentationCssNumber;
|
|
1283
1310
|
private clearDynamicFormEditorPersistence;
|
|
1284
1311
|
private clearStoredPresentationSnapshots;
|
|
@@ -1298,7 +1325,7 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
|
|
|
1298
1325
|
private applyPresentationVars;
|
|
1299
1326
|
private applyPresentationConfig;
|
|
1300
1327
|
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisDynamicForm, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }]>;
|
|
1301
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisDynamicForm, "praxis-dynamic-form", never, { "resourcePath": { "alias": "resourcePath"; "required": false; }; "resourceId": { "alias": "resourceId"; "required": false; }; "initialValue": { "alias": "initialValue"; "required": false; }; "editorialContext": { "alias": "editorialContext"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "config": { "alias": "config"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; "schemaSource": { "alias": "schemaSource"; "required": false; }; "schemaUrl": { "alias": "schemaUrl"; "required": false; }; "submitUrl": { "alias": "submitUrl"; "required": false; }; "submitMethod": { "alias": "submitMethod"; "required": false; }; "responseSchemaUrl": { "alias": "responseSchemaUrl"; "required": false; }; "apiEndpointKey": { "alias": "apiEndpointKey"; "required": false; }; "apiUrlEntry": { "alias": "apiUrlEntry"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "formId": { "alias": "formId"; "required": false; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "backConfig": { "alias": "backConfig"; "required": false; }; "hooks": { "alias": "hooks"; "required": false; }; "removeEmptyContainersOnSave": { "alias": "removeEmptyContainersOnSave"; "required": false; }; "reactiveValidation": { "alias": "reactiveValidation"; "required": false; }; "reactiveValidationDebounceMs": { "alias": "reactiveValidationDebounceMs"; "required": false; }; "notifyIfOutdated": { "alias": "notifyIfOutdated"; "required": false; }; "snoozeMs": { "alias": "snoozeMs"; "required": false; }; "autoOpenSettingsOnOutdated": { "alias": "autoOpenSettingsOnOutdated"; "required": false; }; "readonlyModeGlobal": { "alias": "readonlyModeGlobal"; "required": false; }; "disabledModeGlobal": { "alias": "disabledModeGlobal"; "required": false; }; "presentationModeGlobal": { "alias": "presentationModeGlobal"; "required": false; }; "visibleGlobal": { "alias": "visibleGlobal"; "required": false; }; "domainRules": { "alias": "domainRules"; "required": false; }; "customEndpoints": { "alias": "customEndpoints"; "required": false; }; }, { "formSubmit": "formSubmit"; "formCancel": "formCancel"; "formReset": "formReset"; "configChange": "configChange"; "formReady": "formReady"; "valueChange": "valueChange"; "syncCompleted": "syncCompleted"; "initializationError": "initializationError"; "loadingStateChange": "loadingStateChange"; "enableCustomizationChange": "enableCustomizationChange"; "customAction": "customAction"; "actionConfirmation": "actionConfirmation"; "schemaStatusChange": "schemaStatusChange"; "fieldRenderError": "fieldRenderError"; "ruleDiagnosticsChange": "ruleDiagnosticsChange"; }, never, never, true, never>;
|
|
1328
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisDynamicForm, "praxis-dynamic-form", never, { "resourcePath": { "alias": "resourcePath"; "required": false; }; "resourceId": { "alias": "resourceId"; "required": false; }; "initialValue": { "alias": "initialValue"; "required": false; }; "editorialContext": { "alias": "editorialContext"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "config": { "alias": "config"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; "schemaSource": { "alias": "schemaSource"; "required": false; }; "schemaUrl": { "alias": "schemaUrl"; "required": false; }; "submitUrl": { "alias": "submitUrl"; "required": false; }; "submitMethod": { "alias": "submitMethod"; "required": false; }; "responseSchemaUrl": { "alias": "responseSchemaUrl"; "required": false; }; "apiEndpointKey": { "alias": "apiEndpointKey"; "required": false; }; "apiUrlEntry": { "alias": "apiUrlEntry"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "formId": { "alias": "formId"; "required": false; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "configPersistenceStrategy": { "alias": "configPersistenceStrategy"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "backConfig": { "alias": "backConfig"; "required": false; }; "hooks": { "alias": "hooks"; "required": false; }; "removeEmptyContainersOnSave": { "alias": "removeEmptyContainersOnSave"; "required": false; }; "reactiveValidation": { "alias": "reactiveValidation"; "required": false; }; "reactiveValidationDebounceMs": { "alias": "reactiveValidationDebounceMs"; "required": false; }; "notifyIfOutdated": { "alias": "notifyIfOutdated"; "required": false; }; "snoozeMs": { "alias": "snoozeMs"; "required": false; }; "autoOpenSettingsOnOutdated": { "alias": "autoOpenSettingsOnOutdated"; "required": false; }; "readonlyModeGlobal": { "alias": "readonlyModeGlobal"; "required": false; }; "disabledModeGlobal": { "alias": "disabledModeGlobal"; "required": false; }; "presentationModeGlobal": { "alias": "presentationModeGlobal"; "required": false; }; "visibleGlobal": { "alias": "visibleGlobal"; "required": false; }; "domainRules": { "alias": "domainRules"; "required": false; }; "customEndpoints": { "alias": "customEndpoints"; "required": false; }; }, { "formSubmit": "formSubmit"; "formCancel": "formCancel"; "formReset": "formReset"; "configChange": "configChange"; "configPatchChange": "configPatchChange"; "formReady": "formReady"; "valueChange": "valueChange"; "syncCompleted": "syncCompleted"; "initializationError": "initializationError"; "loadingStateChange": "loadingStateChange"; "enableCustomizationChange": "enableCustomizationChange"; "customAction": "customAction"; "actionConfirmation": "actionConfirmation"; "schemaStatusChange": "schemaStatusChange"; "fieldRenderError": "fieldRenderError"; "ruleDiagnosticsChange": "ruleDiagnosticsChange"; }, never, never, true, never>;
|
|
1302
1329
|
}
|
|
1303
1330
|
|
|
1304
1331
|
declare class FormConfigService {
|
|
@@ -2595,4 +2622,4 @@ declare function buildDynamicFormRuleAuthoringContext(config: Pick<FormConfig, '
|
|
|
2595
2622
|
declare const PRAXIS_DYNAMIC_FORM_AUTHORING_MANIFEST: ComponentAuthoringManifest;
|
|
2596
2623
|
|
|
2597
2624
|
export { ActionsEditorComponent, CanvasStateService, CanvasToolbarComponent, ColumnEditorComponent, DomainRuleFormRulesService, DynamicFormLayoutService, FORM_AI_CAPABILITIES, FORM_COMPONENT_AI_CAPABILITIES, FieldConfiguratorComponent, FieldEditorComponent, FormConfigService, FormContextService, FormLayoutService, FormRulesService, JsonConfigEditorComponent, LayoutColorToken, LayoutEditorComponent, LayoutPrefsService, PRAXIS_DYNAMIC_FORM_AUTHORING_MANIFEST, PRAXIS_DYNAMIC_FORM_COMPONENT_METADATA, PRAXIS_FILTER_FORM_COMPONENT_METADATA, PraxisDynamicForm, PraxisDynamicFormConfigEditor, PraxisDynamicFormWidgetConfigEditor, PraxisFilterForm, PraxisFilterFormWidgetConfigEditor, PraxisFormActionsComponent, RowConfiguratorComponent, RowEditorComponent, SETTINGS_PANEL_DYNAMIC_FORM_PROVIDER, SectionEditorComponent, TASK_PRESETS, applyVisibilityRules, buildDynamicFormApplyPlan, buildDynamicFormRuleAuthoringContext, createDynamicFormAuthoringDocument, formLayoutRulesToBuilderState, getFormAiCatalog, getFormCapabilities, getFormEnum, isRuleSatisfied, normalizeDateArrays, normalizeDynamicFormAuthoringDocument, parseLegacyOrDynamicFormDocument, providePraxisDynamicFormMetadata, providePraxisFilterFormMetadata, provideSettingsPanelDynamicForm, ruleBuilderStateToFormLayoutRules, serializeDynamicFormAuthoringDocument, stripLegacyFieldMetadata, toCanonicalDynamicFormConfig, validateDynamicFormAuthoringDocument, validateDynamicFormAuthoringInput };
|
|
2598
|
-
export type { CanvasElement, CanvasElementType, CanvasPathPart, Capability$1 as Capability, CapabilityCatalog$1 as CapabilityCatalog, CapabilityCategory$1 as CapabilityCategory, DomainRuleFormRulesRequestOptions, DomainRuleMaterializedFormLayoutRule, DynamicFieldRenderErrorEvent, DynamicFormAllowedRuleProperties, DynamicFormApplyPlan, DynamicFormAuthoringDocument, DynamicFormBindings, DynamicFormContextSnapshot, DynamicFormMode, DynamicFormPresentationSnapshot, DynamicFormProjectionContext, DynamicFormResolvedRuntimeContract, DynamicFormRuleAuthoringContext, DynamicFormRuleAuthoringField, DynamicFormRuleAuthoringTarget, DynamicFormRuleAuthoringTargetDetails, DynamicFormRuleAuthoringTargets, DynamicFormRuleAuthoringVisualBlockNode, DynamicFormRuleTargetType, DynamicFormRuntimeContext, DynamicFormRuntimeValueSource, DynamicFormSchemaPrefsSnapshot, DynamicFormValidationContext, EditorDiagnostic, EditorDocument, FieldPath, FieldPathContainer, FieldPathWithIndex, Capability as FormComponentCapability, CapabilityCatalog as FormComponentCapabilityCatalog, CapabilityCategory as FormComponentCapabilityCategory, ValueKind as FormComponentValueKind, FormConfigLike, IdPath, InsertLocalFieldOptions, InsertLocalFieldResult, JsonEditorEvent, JsonValidationResult, LayoutChange, LayoutResult, LocalFieldInsertionDiagnostic, LocalFieldInsertionDiagnosticCode, Operation, Path, PathWithIndex, PraxisDynamicFormDomainRulesOptions, PraxisDynamicFormWidgetEditorInputs, PraxisDynamicFormWidgetEditorValue, PraxisFilterFormWidgetEditorInputs, PraxisFilterFormWidgetEditorValue, PraxisFormActionEvent, RemovePolicy, RuleApplicationContext, RuleApplicationDiagnostic, RuleApplicationDiagnosticCode, RuleApplicationResult, RuleApplicationTargetIndex, RuleApplicationTargetType, ValidationReport, ValueKind$1 as ValueKind };
|
|
2625
|
+
export type { CanvasElement, CanvasElementType, CanvasPathPart, Capability$1 as Capability, CapabilityCatalog$1 as CapabilityCatalog, CapabilityCategory$1 as CapabilityCategory, DomainRuleFormRulesRequestOptions, DomainRuleMaterializedFormLayoutRule, DynamicFieldRenderErrorEvent, DynamicFormAllowedRuleProperties, DynamicFormApplyPlan, DynamicFormAuthoringDocument, DynamicFormBindings, DynamicFormConfigPatchChangeEvent, DynamicFormContextSnapshot, DynamicFormMode, DynamicFormPresentationSnapshot, DynamicFormProjectionContext, DynamicFormResolvedRuntimeContract, DynamicFormRuleAuthoringContext, DynamicFormRuleAuthoringField, DynamicFormRuleAuthoringTarget, DynamicFormRuleAuthoringTargetDetails, DynamicFormRuleAuthoringTargets, DynamicFormRuleAuthoringVisualBlockNode, DynamicFormRuleTargetType, DynamicFormRuntimeContext, DynamicFormRuntimeValueSource, DynamicFormSchemaPrefsSnapshot, DynamicFormValidationContext, EditorDiagnostic, EditorDocument, FieldPath, FieldPathContainer, FieldPathWithIndex, Capability as FormComponentCapability, CapabilityCatalog as FormComponentCapabilityCatalog, CapabilityCategory as FormComponentCapabilityCategory, ValueKind as FormComponentValueKind, FormConfigLike, IdPath, InsertLocalFieldOptions, InsertLocalFieldResult, JsonEditorEvent, JsonValidationResult, LayoutChange, LayoutResult, LocalFieldInsertionDiagnostic, LocalFieldInsertionDiagnosticCode, Operation, Path, PathWithIndex, PraxisDynamicFormDomainRulesOptions, PraxisDynamicFormWidgetEditorInputs, PraxisDynamicFormWidgetEditorValue, PraxisFilterFormWidgetEditorInputs, PraxisFilterFormWidgetEditorValue, PraxisFormActionEvent, RemovePolicy, RuleApplicationContext, RuleApplicationDiagnostic, RuleApplicationDiagnosticCode, RuleApplicationResult, RuleApplicationTargetIndex, RuleApplicationTargetType, ValidationReport, ValueKind$1 as ValueKind };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/dynamic-form",
|
|
3
|
-
"version": "8.0.0-beta.
|
|
3
|
+
"version": "8.0.0-beta.28",
|
|
4
4
|
"description": "Angular dynamic form engine for Praxis UI: metadata-driven forms, hooks, and services integrating @praxisui/* packages.",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^20.0.0",
|
|
@@ -9,13 +9,13 @@
|
|
|
9
9
|
"@angular/forms": "^20.0.0",
|
|
10
10
|
"@angular/material": "^20.0.0",
|
|
11
11
|
"@angular/router": "^20.0.0",
|
|
12
|
-
"@praxisui/ai": "^8.0.0-beta.
|
|
13
|
-
"@praxisui/dynamic-fields": "^8.0.0-beta.
|
|
14
|
-
"@praxisui/metadata-editor": "^8.0.0-beta.
|
|
15
|
-
"@praxisui/rich-content": "^8.0.0-beta.
|
|
16
|
-
"@praxisui/settings-panel": "^8.0.0-beta.
|
|
17
|
-
"@praxisui/visual-builder": "^8.0.0-beta.
|
|
18
|
-
"@praxisui/core": "^8.0.0-beta.
|
|
12
|
+
"@praxisui/ai": "^8.0.0-beta.28",
|
|
13
|
+
"@praxisui/dynamic-fields": "^8.0.0-beta.28",
|
|
14
|
+
"@praxisui/metadata-editor": "^8.0.0-beta.28",
|
|
15
|
+
"@praxisui/rich-content": "^8.0.0-beta.28",
|
|
16
|
+
"@praxisui/settings-panel": "^8.0.0-beta.28",
|
|
17
|
+
"@praxisui/visual-builder": "^8.0.0-beta.28",
|
|
18
|
+
"@praxisui/core": "^8.0.0-beta.28",
|
|
19
19
|
"rxjs": "^7.8.0"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
@@ -379,6 +379,7 @@ Limites de segurança:
|
|
|
379
379
|
| `formCancel` | `void` | Acao cancelar. | Partial | Preservado da documentação anterior. |
|
|
380
380
|
| `formReset` | `void` | Acao reset. | Partial | Preservado da documentação anterior. |
|
|
381
381
|
| `configChange` | `FormConfig` | Alteracoes de layout/config durante edicao. | Partial | Preservado da documentação anterior. |
|
|
382
|
+
| `configPatchChange` | `{ inputPatch: { config: FormConfig } }` | Alteracoes autoradas de configuracao que devem ser persistidas pelo host. | Partial | Contrato aditivo para hosts genericos sem alterar o payload legado de `configChange`. |
|
|
382
383
|
| `formReady` | `FormReadyEvent` | Form pronto para interacao. | Partial | Preservado da documentação anterior. |
|
|
383
384
|
| `valueChange` | `FormValueChangeEvent` | Alteracao de valor no form runtime. | Partial | Preservado da documentação anterior. |
|
|
384
385
|
| `syncCompleted` | `SyncResult` | Sincronizacao de schema/config concluida. | Partial | Preservado da documentação anterior. |
|
|
@@ -646,6 +647,7 @@ Validado em 2026-04-23 contra `praxis-api-quickstart` publicado no Render com
|
|
|
646
647
|
| `formCancel` | `void` | Acao cancelar. |
|
|
647
648
|
| `formReset` | `void` | Acao reset. |
|
|
648
649
|
| `configChange` | `FormConfig` | Alteracoes de layout/config durante edicao. |
|
|
650
|
+
| `configPatchChange` | `{ inputPatch: { config: FormConfig } }` | Alteracoes autoradas de configuracao que devem ser persistidas pelo host. |
|
|
649
651
|
| `formReady` | `FormReadyEvent` | Form pronto para interacao. |
|
|
650
652
|
| `valueChange` | `FormValueChangeEvent` | Alteracao de valor no form runtime. |
|
|
651
653
|
| `syncCompleted` | `SyncResult` | Sincronizacao de schema/config concluida. |
|
|
@@ -871,6 +873,7 @@ O runtime emite `target-not-found` quando uma regra aponta para `section`, `row`
|
|
|
871
873
|
| `formCancel` | `void` | Acao cancelar. | Partial | Preservado da documentação anterior. |
|
|
872
874
|
| `formReset` | `void` | Acao reset. | Partial | Preservado da documentação anterior. |
|
|
873
875
|
| `configChange` | `FormConfig` | Alteracoes de layout/config durante edicao. | Partial | Preservado da documentação anterior. |
|
|
876
|
+
| `configPatchChange` | `{ inputPatch: { config: FormConfig } }` | Alteracoes autoradas de configuracao que devem ser persistidas pelo host. | Partial | Contrato aditivo para hosts genericos sem alterar o payload legado de `configChange`. |
|
|
874
877
|
| `formReady` | `FormReadyEvent` | Form pronto para interacao. | Partial | Preservado da documentação anterior. |
|
|
875
878
|
| `valueChange` | `FormValueChangeEvent` | Alteracao de valor no form runtime. | Partial | Preservado da documentação anterior. |
|
|
876
879
|
| `syncCompleted` | `SyncResult` | Sincronizacao de schema/config concluida. | Partial | Preservado da documentação anterior. |
|