@praxisui/dynamic-form 10.0.0-rc.4 → 10.0.0-rc.6
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/dynamic-form",
|
|
3
|
-
"version": "10.0.0-rc.
|
|
3
|
+
"version": "10.0.0-rc.6",
|
|
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": "^21.0.0",
|
|
@@ -9,13 +9,13 @@
|
|
|
9
9
|
"@angular/forms": "^21.0.0",
|
|
10
10
|
"@angular/material": "^21.0.0",
|
|
11
11
|
"@angular/router": "^21.0.0",
|
|
12
|
-
"@praxisui/ai": "^10.0.0-rc.
|
|
13
|
-
"@praxisui/dynamic-fields": "^10.0.0-rc.
|
|
14
|
-
"@praxisui/metadata-editor": "^10.0.0-rc.
|
|
15
|
-
"@praxisui/rich-content": "^10.0.0-rc.
|
|
16
|
-
"@praxisui/settings-panel": "^10.0.0-rc.
|
|
17
|
-
"@praxisui/visual-builder": "^10.0.0-rc.
|
|
18
|
-
"@praxisui/core": "^10.0.0-rc.
|
|
12
|
+
"@praxisui/ai": "^10.0.0-rc.6",
|
|
13
|
+
"@praxisui/dynamic-fields": "^10.0.0-rc.6",
|
|
14
|
+
"@praxisui/metadata-editor": "^10.0.0-rc.6",
|
|
15
|
+
"@praxisui/rich-content": "^10.0.0-rc.6",
|
|
16
|
+
"@praxisui/settings-panel": "^10.0.0-rc.6",
|
|
17
|
+
"@praxisui/visual-builder": "^10.0.0-rc.6",
|
|
18
|
+
"@praxisui/core": "^10.0.0-rc.6",
|
|
19
19
|
"rxjs": "^7.8.0"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
@@ -73,6 +73,16 @@ Este documento e a referencia canonica da API JSON de praxis-dynamic-form.
|
|
|
73
73
|
- Em replace-all, omitir a preferência remove o override anterior; `false` deve ser preservado. Não existe um quarto valor em `bindings.mode`.
|
|
74
74
|
- O Page Builder projeta a preferência nos inputs do widget, preservando ausência de `config` em formulários schema-driven. No editor do runtime, Apply/Save também publicam `mode` e `presentationModeGlobal` em `configPatchChange.inputPatch`.
|
|
75
75
|
- `contextSnapshot.presentation` continua reservado aos estilos (tipografia, densidade e alinhamento), editáveis nos dois caminhos pela aba Estilo da apresentação; não é o seletor de ativação. O Filter Form não oferece o seletor de exibição porque seu runtime não suporta apresentação.
|
|
76
|
+
- `presentationPreset` (`'corporate-dossier' | 'editorial-card' | 'compact-presentation' | 'default'`) define o preset visual nativo em modo apresentação (`view`). Pode ser configurado via `@Input() presentationPreset`, em `FormPresentationConfig.preset` / `FormPresentationConfig.presentationPreset`, em `FormConfigMetadata.presentationPreset`, ou por seção via `FormSection.presentationPreset` para sobrescrever o estilo de uma seção específica sem recorrer a regras CSS ad hoc com `::ng-deep`.
|
|
77
|
+
- `layout` (`FormLayoutOptions`) governa a organização e navegação estrutural das seções do formulário:
|
|
78
|
+
- `mode`: `'vertical' | 'tabs' | 'accordion'` (padrão `'vertical'`).
|
|
79
|
+
- `defaultTabId`: identificador da aba selecionada inicialmente em modo abas.
|
|
80
|
+
- `tabsAppearance`: estilo visual dos botões de abas (`'pills' | 'underline' | 'buttons'`, padrão `'pills'`).
|
|
81
|
+
- `tabs`: lista declarativa de abas (`FormLayoutTabItem` com `id`, `label`, `icon`, `sectionIds`, `badge`, `disabled`, `tooltip`). Quando omitido, o runtime auto-deriva deterministicamente 1 aba por seção visível.
|
|
82
|
+
- `accordionMulti`: quando `mode === 'accordion'`, permite manter múltiplos painéis expandidos simultaneamente (padrão `false`, fechando os outros ao abrir um).
|
|
83
|
+
- `hideSectionHeaderInTabs`: suprime cabeçalho redundante de seção dentro do painel da aba ativa (padrão `false`).
|
|
84
|
+
- Entradas `@Input() layoutMode` e `@Input() formLayout` expostas diretamente em `PraxisDynamicForm`.
|
|
85
|
+
- Saídas `@Output() tabChange` (emite ID) e `@Output() tabSelected` (emite objeto completo) emitidas na alternância de abas.
|
|
76
86
|
|
|
77
87
|
|
|
78
88
|
- `DynamicFormAuthoringDocument` e o snapshot canonico completo de autoria de `praxis-dynamic-form`.
|
|
@@ -7,7 +7,8 @@ import { MatDialog } from '@angular/material/dialog';
|
|
|
7
7
|
import { MatSnackBar } from '@angular/material/snack-bar';
|
|
8
8
|
import { CdkDragStart, CdkDragMove, CdkDragEnd, CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
9
9
|
import * as _praxisui_core from '@praxisui/core';
|
|
10
|
-
import { AsyncConfigStorage, FormLayout, FieldMetadata, FormLayoutRule, FormRuleTargetType as FormRuleTargetType$1, PraxisJsonLogicService, FormSection, FormRow, FormColumn, FormConfig, FormConfigWithSections, FormLayoutItem, ReactiveDeterminationDefinition, ReactiveDeterminationExecutionEvent, FormActionButton, AiCapability, BackConfig, FormPresentationConfig, EmptyStateTone, EmptyStateVariant, EmptyStateAlignment, EmptyStateDensity, EmptyStateIconContainer, RichBlockHostCapabilities, ApiEndpoint, ApiUrlEntry, DynamicFormLayoutPolicy, FormHooksLayout, EndpointConfig, FormSubmitEvent, FormReadyEvent, FormValueChangeEvent, FormPayloadPreviewEvent, SyncResult, FormInitializationError, LoadingState, FormCustomActionEvent, FormActionConfirmationEvent, RichContentDocument, JsonLogicRecord, GenericCrudService, ConnectionStorage, DynamicFormService, ErrorMessageService, SchemaNormalizerService, ComponentMetadataRegistry, GlobalConfigService, ComponentKeyService, LoadingOrchestrator, ApiUrlConfig, PraxisLoadingRenderer, FormHooksRegistry, FormHookPreset, LoggerService, EnterpriseRuntimeContextService, FormSectionHeaderAction, FormSectionHeaderConfig, FormConfigState, JsonLogicExpression, FormHelpPresentationConfig, GlobalActionCatalogEntry, PraxisRuntimeConditionalEffectRule, PraxisRuntimeGlobalActionEffect, SurfaceOpenPayload, GlobalActionField, PraxisEffectPolicy, FieldDefinition, ComponentDocMeta, Breakpoint, DomainRuleRequestOptions, DomainRuleService, DomainRuleMaterialization, TableConfig, SurfaceOpenActionEditorComponent, IconPickerService, GlobalActionRef, AiCapabilityCategory, AiCapabilityCatalog, AiValueKind, ComponentAuthoringManifest } from '@praxisui/core';
|
|
10
|
+
import { AsyncConfigStorage, FormLayout, FieldMetadata, FormLayoutRule, FormRuleTargetType as FormRuleTargetType$1, PraxisJsonLogicService, FormSection, FormRow, FormColumn, FormConfig, FormConfigWithSections, FormLayoutItem, ReactiveDeterminationDefinition, ReactiveDeterminationExecutionEvent, FormActionButton, DynamicFormMode, AiCapability, BackConfig, FormPresentationConfig, EmptyStateTone, EmptyStateVariant, EmptyStateAlignment, EmptyStateDensity, EmptyStateIconContainer, FormPresentationPreset, RichBlockHostCapabilities, ApiEndpoint, ApiUrlEntry, FormLayoutMode, FormLayoutOptions, DynamicFormLayoutPolicy, FormHooksLayout, EndpointConfig, FormSubmitEvent, FormReadyEvent, FormValueChangeEvent, FormPayloadPreviewEvent, SyncResult, FormInitializationError, LoadingState, FormCustomActionEvent, FormActionConfirmationEvent, FormLayoutTabItem, RichContentDocument, JsonLogicRecord, GenericCrudService, ConnectionStorage, DynamicFormService, ErrorMessageService, SchemaNormalizerService, ComponentMetadataRegistry, GlobalConfigService, ComponentKeyService, LoadingOrchestrator, ApiUrlConfig, PraxisLoadingRenderer, FormHooksRegistry, FormHookPreset, LoggerService, EnterpriseRuntimeContextService, FormLayoutTabsAppearance, FormSectionHeaderAction, FormSectionHeaderConfig, FormConfigState, JsonLogicExpression, FormHelpPresentationConfig, GlobalActionCatalogEntry, PraxisRuntimeConditionalEffectRule, PraxisRuntimeGlobalActionEffect, SurfaceOpenPayload, GlobalActionField, PraxisEffectPolicy, FieldDefinition, ComponentDocMeta, Breakpoint, DomainRuleRequestOptions, DomainRuleService, DomainRuleMaterialization, SchemaIdParams, CompiledDynamicFormSchema, TableConfig, SurfaceOpenActionEditorComponent, IconPickerService, GlobalActionRef, AiCapabilityCategory, AiCapabilityCatalog, AiValueKind, ComponentAuthoringManifest } from '@praxisui/core';
|
|
11
|
+
export { CompiledDynamicFormSchema, DynamicFormMode } from '@praxisui/core';
|
|
11
12
|
import * as rxjs from 'rxjs';
|
|
12
13
|
import { Observable, Subscription, BehaviorSubject } from 'rxjs';
|
|
13
14
|
import { SettingsPanelService, SettingsValueProvider } from '@praxisui/settings-panel';
|
|
@@ -508,7 +509,7 @@ declare class PraxisFormActionsComponent implements OnChanges, OnDestroy {
|
|
|
508
509
|
interface FormAiHost {
|
|
509
510
|
config: FormConfig;
|
|
510
511
|
form: FormGroup;
|
|
511
|
-
mode?:
|
|
512
|
+
mode?: DynamicFormMode;
|
|
512
513
|
enableCustomization?: boolean;
|
|
513
514
|
readonlyModeGlobal?: boolean | null;
|
|
514
515
|
effectiveReadonly?: boolean;
|
|
@@ -572,7 +573,7 @@ interface EditorDiagnostic {
|
|
|
572
573
|
message: string;
|
|
573
574
|
path?: string;
|
|
574
575
|
}
|
|
575
|
-
|
|
576
|
+
|
|
576
577
|
interface DynamicFormBindings {
|
|
577
578
|
mode?: DynamicFormMode;
|
|
578
579
|
/** Opt-in view placeholder; null explicitly disables it. */
|
|
@@ -661,6 +662,7 @@ interface DynamicFormConfigPatchChangeEvent {
|
|
|
661
662
|
mode?: DynamicFormMode;
|
|
662
663
|
presentationModeGlobal?: boolean | null;
|
|
663
664
|
presentation?: DynamicFormPresentationSnapshot | null;
|
|
665
|
+
presentationPreset?: FormPresentationPreset;
|
|
664
666
|
emptyState?: PraxisDynamicFormEmptyState | null;
|
|
665
667
|
};
|
|
666
668
|
}
|
|
@@ -769,6 +771,7 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
|
|
|
769
771
|
private readonly resourceDiscovery;
|
|
770
772
|
private readonly aiAssistantSessionEffect;
|
|
771
773
|
private readonly globalActions;
|
|
774
|
+
private readonly optionRegistry;
|
|
772
775
|
private readonly DEBUG;
|
|
773
776
|
private effectiveActionsCache?;
|
|
774
777
|
private effectiveActionsCacheBase?;
|
|
@@ -790,7 +793,7 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
|
|
|
790
793
|
* merged context snapshot used to avoid re-binding on every change detection pass.
|
|
791
794
|
*/
|
|
792
795
|
editorialContext: Record<string, unknown> | null;
|
|
793
|
-
mode:
|
|
796
|
+
mode: DynamicFormMode;
|
|
794
797
|
config: FormConfig;
|
|
795
798
|
private hostConfigInputProvided;
|
|
796
799
|
/** Optional host-level overrides for the rendered form action bar. */
|
|
@@ -851,6 +854,16 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
|
|
|
851
854
|
configPersistenceStrategy: 'local-first' | 'input-first';
|
|
852
855
|
/** Optional layout to use instead of generated one */
|
|
853
856
|
layout?: FormLayout;
|
|
857
|
+
/**
|
|
858
|
+
* Layout mode for organizing form sections: 'vertical' (default), 'tabs' or 'accordion'.
|
|
859
|
+
* Overrides config.layout.mode when specified.
|
|
860
|
+
*/
|
|
861
|
+
layoutMode?: FormLayoutMode;
|
|
862
|
+
/**
|
|
863
|
+
* Layout configuration options for form sections (mode, tabs, defaultTabId, tabsAppearance, accordionMulti, etc.).
|
|
864
|
+
* Merged with and takes precedence over config.layout.
|
|
865
|
+
*/
|
|
866
|
+
formLayout?: FormLayoutOptions;
|
|
854
867
|
/** Metadata-driven layout preset used only when creating an initial config from schema. */
|
|
855
868
|
generatedLayoutPreset: DynamicFormGeneratedLayoutPreset;
|
|
856
869
|
/** Opt-in policy for schema-driven transient layout materialization. */
|
|
@@ -876,11 +889,38 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
|
|
|
876
889
|
presentationModeGlobal: boolean | null;
|
|
877
890
|
/** Projection of contextSnapshot.presentation; null clears authored style overrides. */
|
|
878
891
|
presentation?: DynamicFormPresentationSnapshot | null;
|
|
892
|
+
/**
|
|
893
|
+
* Optional presentation preset applied when the form is rendered in presentation mode.
|
|
894
|
+
* Resolves styles for standard patterns: 'corporate-dossier', 'editorial-card', 'compact-presentation' or 'default'.
|
|
895
|
+
*/
|
|
896
|
+
presentationPreset?: FormPresentationPreset;
|
|
897
|
+
/**
|
|
898
|
+
* Default visual appearance preset for sections when not explicitly configured at section level.
|
|
899
|
+
* Values: 'card' (default), 'plain' (borderless with divider support), 'step' (stepper badge layout).
|
|
900
|
+
*/
|
|
901
|
+
sectionDefaultAppearance?: 'card' | 'plain' | 'step';
|
|
902
|
+
/**
|
|
903
|
+
* Global flag to control divider lines between plain/dossier sections.
|
|
904
|
+
* When true, renders a subtle separator line below each section (except the last).
|
|
905
|
+
*/
|
|
906
|
+
sectionDivider?: boolean;
|
|
879
907
|
visibleGlobal: boolean | null;
|
|
880
908
|
fieldIconPolicy: 'all' | 'presentation-only' | 'none';
|
|
881
909
|
/** Opt-in loader for shared domain rule materializations persisted outside FormConfig. */
|
|
882
910
|
domainRules: PraxisDynamicFormDomainRulesOptions | boolean | null;
|
|
883
911
|
get effectivePresentation(): boolean;
|
|
912
|
+
/** Normalizes presentation preset aliases and casing to canonical values. */
|
|
913
|
+
normalizePresentationPreset(preset?: string | null): FormPresentationPreset;
|
|
914
|
+
/** Resolved presentation preset for the form container. */
|
|
915
|
+
get effectivePresentationPreset(): FormPresentationPreset;
|
|
916
|
+
/** Resolved presentation preset for a specific section, allowing section-level override. */
|
|
917
|
+
getSectionPresentationPreset(section?: FormSection | null): FormPresentationPreset;
|
|
918
|
+
isCorporateDossierPreset(): boolean;
|
|
919
|
+
isEditorialCardPreset(): boolean;
|
|
920
|
+
isCompactPresentationPreset(): boolean;
|
|
921
|
+
isSectionCorporateDossier(section?: FormSection | null): boolean;
|
|
922
|
+
isSectionEditorialCard(section?: FormSection | null): boolean;
|
|
923
|
+
isSectionCompactPresentation(section?: FormSection | null): boolean;
|
|
884
924
|
shouldShowContextEmptyState(): boolean;
|
|
885
925
|
private hasResourceContext;
|
|
886
926
|
private hasLocalRecordContext;
|
|
@@ -932,6 +972,12 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
|
|
|
932
972
|
reactiveDeterminationExecuted: EventEmitter<ReactiveDeterminationExecutionEvent>;
|
|
933
973
|
/** Emits only aggregate runtime state; no request or response payload is exposed. */
|
|
934
974
|
reactiveDeterminationPendingChange: EventEmitter<boolean>;
|
|
975
|
+
/** Emitted when active tab changes in 'tabs' layout mode. */
|
|
976
|
+
tabChange: EventEmitter<string>;
|
|
977
|
+
/** Emitted when a tab is selected in 'tabs' layout mode. */
|
|
978
|
+
tabSelected: EventEmitter<FormLayoutTabItem>;
|
|
979
|
+
/** Active tab ID when effectiveLayoutMode === 'tabs'. */
|
|
980
|
+
activeTabId: string | null;
|
|
935
981
|
private reactiveDeterminationPending;
|
|
936
982
|
isLoading: boolean;
|
|
937
983
|
submitting: boolean;
|
|
@@ -1219,6 +1265,18 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
|
|
|
1219
1265
|
private areRuleValuesEqual;
|
|
1220
1266
|
private buildRuleApplicationTargetIndex;
|
|
1221
1267
|
private setRuleApplicationDiagnostics;
|
|
1268
|
+
get effectiveLayoutMode(): FormLayoutMode;
|
|
1269
|
+
get effectiveTabsAppearance(): FormLayoutTabsAppearance;
|
|
1270
|
+
get effectiveAccordionMulti(): boolean;
|
|
1271
|
+
get effectiveHideSectionHeaderInTabs(): boolean;
|
|
1272
|
+
get effectiveTabs(): FormLayoutTabItem[];
|
|
1273
|
+
ensureActiveTabValid(): void;
|
|
1274
|
+
selectTab(tabId: string): void;
|
|
1275
|
+
isSectionInActiveTab(section?: FormSection): boolean;
|
|
1276
|
+
getTabErrorCount(tab: FormLayoutTabItem): number;
|
|
1277
|
+
getTabAriaControls(tab: FormLayoutTabItem): string;
|
|
1278
|
+
getTabIdForSection(section?: FormSection): string | null;
|
|
1279
|
+
shouldHideSectionHeader(section?: FormSection): boolean;
|
|
1222
1280
|
isSectionCollapsed(section?: FormSection): boolean;
|
|
1223
1281
|
isSectionCollapsible(section?: FormSection): boolean;
|
|
1224
1282
|
private getSectionRuleProps;
|
|
@@ -1230,6 +1288,7 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
|
|
|
1230
1288
|
getSectionTitle(section: FormSection): string | undefined;
|
|
1231
1289
|
getSectionDescription(section: FormSection): string | undefined;
|
|
1232
1290
|
getSectionAppearance(section: FormSection): 'card' | 'plain' | 'step' | undefined;
|
|
1291
|
+
isSectionDividerEnabled(section: FormSection): boolean;
|
|
1233
1292
|
getSectionStepLabel(section: FormSection): string | undefined;
|
|
1234
1293
|
getSectionTitleColor(section: FormSection): string | undefined;
|
|
1235
1294
|
getSectionDescriptionColor(section: FormSection): string | undefined;
|
|
@@ -1527,6 +1586,11 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
|
|
|
1527
1586
|
private tryBuildExplicitSchemaContext;
|
|
1528
1587
|
private buildSchemaContext;
|
|
1529
1588
|
private getSchemaWithCache;
|
|
1589
|
+
/**
|
|
1590
|
+
* Invalida o cache de schema compilado para a instância atual e força
|
|
1591
|
+
* novo carregamento na próxima requisição.
|
|
1592
|
+
*/
|
|
1593
|
+
invalidateSchemaCache(): void;
|
|
1530
1594
|
private isReactiveValidationEnabled;
|
|
1531
1595
|
private getReactiveValidationDebounceMs;
|
|
1532
1596
|
private waitForGlobalConfigReadyForSchema;
|
|
@@ -1535,7 +1599,7 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
|
|
|
1535
1599
|
private applyPresentationVars;
|
|
1536
1600
|
private applyPresentationConfig;
|
|
1537
1601
|
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, null, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }]>;
|
|
1538
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisDynamicForm, "praxis-dynamic-form", never, { "resourcePath": { "alias": "resourcePath"; "required": false; }; "resourceId": { "alias": "resourceId"; "required": false; }; "initialValue": { "alias": "initialValue"; "required": false; }; "emptyState": { "alias": "emptyState"; "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; }; "readUrl": { "alias": "readUrl"; "required": false; }; "submitUrl": { "alias": "submitUrl"; "required": false; }; "submitMethod": { "alias": "submitMethod"; "required": false; }; "submitIdempotencyKey": { "alias": "submitIdempotencyKey"; "required": false; }; "submitCorrelationId": { "alias": "submitCorrelationId"; "required": false; }; "submitResourceVersion": { "alias": "submitResourceVersion"; "required": false; }; "submitResourceVersionTargetResourceKey": { "alias": "submitResourceVersionTargetResourceKey"; "required": false; }; "submitResourceVersionTargetIdField": { "alias": "submitResourceVersionTargetIdField"; "required": false; }; "responseSchemaUrl": { "alias": "responseSchemaUrl"; "required": false; }; "apiEndpointKey": { "alias": "apiEndpointKey"; "required": false; }; "apiUrlEntry": { "alias": "apiUrlEntry"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "showAiAssistant": { "alias": "showAiAssistant"; "required": false; }; "formId": { "alias": "formId"; "required": false; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "configPersistenceStrategy": { "alias": "configPersistenceStrategy"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "generatedLayoutPreset": { "alias": "generatedLayoutPreset"; "required": false; }; "layoutPolicy": { "alias": "layoutPolicy"; "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; }; "presentation": { "alias": "presentation"; "required": false; }; "visibleGlobal": { "alias": "visibleGlobal"; "required": false; }; "fieldIconPolicy": { "alias": "fieldIconPolicy"; "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"; "payloadPreviewChange": "payloadPreviewChange"; "syncCompleted": "syncCompleted"; "initializationError": "initializationError"; "loadingStateChange": "loadingStateChange"; "enableCustomizationChange": "enableCustomizationChange"; "customAction": "customAction"; "actionConfirmation": "actionConfirmation"; "schemaStatusChange": "schemaStatusChange"; "fieldRenderError": "fieldRenderError"; "ruleDiagnosticsChange": "ruleDiagnosticsChange"; "reactiveDeterminationExecuted": "reactiveDeterminationExecuted"; "reactiveDeterminationPendingChange": "reactiveDeterminationPendingChange"; }, never, never, true, never>;
|
|
1602
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisDynamicForm, "praxis-dynamic-form", never, { "resourcePath": { "alias": "resourcePath"; "required": false; }; "resourceId": { "alias": "resourceId"; "required": false; }; "initialValue": { "alias": "initialValue"; "required": false; }; "emptyState": { "alias": "emptyState"; "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; }; "readUrl": { "alias": "readUrl"; "required": false; }; "submitUrl": { "alias": "submitUrl"; "required": false; }; "submitMethod": { "alias": "submitMethod"; "required": false; }; "submitIdempotencyKey": { "alias": "submitIdempotencyKey"; "required": false; }; "submitCorrelationId": { "alias": "submitCorrelationId"; "required": false; }; "submitResourceVersion": { "alias": "submitResourceVersion"; "required": false; }; "submitResourceVersionTargetResourceKey": { "alias": "submitResourceVersionTargetResourceKey"; "required": false; }; "submitResourceVersionTargetIdField": { "alias": "submitResourceVersionTargetIdField"; "required": false; }; "responseSchemaUrl": { "alias": "responseSchemaUrl"; "required": false; }; "apiEndpointKey": { "alias": "apiEndpointKey"; "required": false; }; "apiUrlEntry": { "alias": "apiUrlEntry"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "showAiAssistant": { "alias": "showAiAssistant"; "required": false; }; "formId": { "alias": "formId"; "required": false; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "configPersistenceStrategy": { "alias": "configPersistenceStrategy"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "layoutMode": { "alias": "layoutMode"; "required": false; }; "formLayout": { "alias": "formLayout"; "required": false; }; "generatedLayoutPreset": { "alias": "generatedLayoutPreset"; "required": false; }; "layoutPolicy": { "alias": "layoutPolicy"; "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; }; "presentation": { "alias": "presentation"; "required": false; }; "presentationPreset": { "alias": "presentationPreset"; "required": false; }; "sectionDefaultAppearance": { "alias": "sectionDefaultAppearance"; "required": false; }; "sectionDivider": { "alias": "sectionDivider"; "required": false; }; "visibleGlobal": { "alias": "visibleGlobal"; "required": false; }; "fieldIconPolicy": { "alias": "fieldIconPolicy"; "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"; "payloadPreviewChange": "payloadPreviewChange"; "syncCompleted": "syncCompleted"; "initializationError": "initializationError"; "loadingStateChange": "loadingStateChange"; "enableCustomizationChange": "enableCustomizationChange"; "customAction": "customAction"; "actionConfirmation": "actionConfirmation"; "schemaStatusChange": "schemaStatusChange"; "fieldRenderError": "fieldRenderError"; "ruleDiagnosticsChange": "ruleDiagnosticsChange"; "reactiveDeterminationExecuted": "reactiveDeterminationExecuted"; "reactiveDeterminationPendingChange": "reactiveDeterminationPendingChange"; "tabChange": "tabChange"; "tabSelected": "tabSelected"; }, never, never, true, never>;
|
|
1539
1603
|
}
|
|
1540
1604
|
|
|
1541
1605
|
declare class FormConfigService {
|
|
@@ -1718,7 +1782,7 @@ declare class PraxisDynamicFormConfigEditor implements SettingsValueProvider, On
|
|
|
1718
1782
|
private includeBackConfigBlock;
|
|
1719
1783
|
formId?: string;
|
|
1720
1784
|
componentKeyId?: string;
|
|
1721
|
-
inputMode:
|
|
1785
|
+
inputMode: DynamicFormMode;
|
|
1722
1786
|
private includeBindingsBlock;
|
|
1723
1787
|
private readonly editorMode;
|
|
1724
1788
|
get isPresentationMode(): boolean;
|
|
@@ -2409,6 +2473,30 @@ declare class DomainRuleFormRulesService {
|
|
|
2409
2473
|
static ɵprov: i0.ɵɵInjectableDeclaration<DomainRuleFormRulesService>;
|
|
2410
2474
|
}
|
|
2411
2475
|
|
|
2476
|
+
/**
|
|
2477
|
+
* DynamicFormSchemaCacheService
|
|
2478
|
+
* ------------------------------
|
|
2479
|
+
* Serviço canônico de conveniência em `@praxisui/dynamic-form` para orquestração
|
|
2480
|
+
* de cache de primeiro nível (L1) de esquemas OpenAPI compilados (Issue #2).
|
|
2481
|
+
*
|
|
2482
|
+
* Delega o ciclo de vida do cache em memória ao DynamicFormService (@praxisui/core),
|
|
2483
|
+
* garantindo consistência referencial entre módulos e transições de abas em 0ms.
|
|
2484
|
+
*/
|
|
2485
|
+
declare class DynamicFormSchemaCacheService {
|
|
2486
|
+
private readonly dynamicFormService;
|
|
2487
|
+
buildCacheKey(params: SchemaIdParams & {
|
|
2488
|
+
baseUrl?: string;
|
|
2489
|
+
}): string;
|
|
2490
|
+
get(cacheKey: string): CompiledDynamicFormSchema | undefined;
|
|
2491
|
+
set(cacheKey: string, compiled: CompiledDynamicFormSchema, customTtlMs?: number): void;
|
|
2492
|
+
has(cacheKey: string): boolean;
|
|
2493
|
+
invalidate(cacheKey?: string): void;
|
|
2494
|
+
clear(): void;
|
|
2495
|
+
size(): number;
|
|
2496
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DynamicFormSchemaCacheService, never>;
|
|
2497
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DynamicFormSchemaCacheService>;
|
|
2498
|
+
}
|
|
2499
|
+
|
|
2412
2500
|
declare class Ergadm00034CompactPresentationExampleComponent {
|
|
2413
2501
|
private readonly dynamicLayout;
|
|
2414
2502
|
readonly legacyFrequencyExample: _praxisui_dynamic_form.Ergadm00034CompactPresentationExample;
|
|
@@ -3046,5 +3134,5 @@ declare const PRAXIS_FILTER_FORM_AUTHORING_PROJECTION: {
|
|
|
3046
3134
|
};
|
|
3047
3135
|
declare const PRAXIS_FILTER_FORM_AUTHORING_MANIFEST: _praxisui_core.ComponentAuthoringManifest;
|
|
3048
3136
|
|
|
3049
|
-
export { ActionsEditorComponent, CORPORATE_PRESENTATION_FORMAT_GALLERY, CanvasStateService, CanvasToolbarComponent, ColumnEditorComponent, DomainRuleFormRulesService, DynamicFormLayoutService, ERGADM00034_COMPACT_PRESENTATION_EXAMPLE, Ergadm00034CompactPresentationExampleComponent, 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_AUTHORING_MANIFEST, PRAXIS_FILTER_FORM_AUTHORING_PROJECTION, PRAXIS_FILTER_FORM_COMPONENT_METADATA, PraxisDynamicForm, PraxisDynamicFormConfigEditor, PraxisDynamicFormWidgetConfigEditor, PraxisFilterForm, PraxisFilterFormWidgetConfigEditor, PraxisFormActionsComponent, RowConfiguratorComponent, RowEditorComponent, SETTINGS_PANEL_DYNAMIC_FORM_PROVIDER, SectionEditorComponent, TASK_PRESETS, applyVisibilityRules, buildCorporatePresentationFormatGalleryConfig, buildDynamicFormApplyPlan, buildDynamicFormRuleAuthoringContext, buildErgadm00034CompactPresentationConfig, createDynamicFormAuthoringDocument, formLayoutRulesToBuilderState, getFormAiCatalog, getFormCapabilities, getFormEnum, isRuleSatisfied, normalizeDateArrays, normalizeDynamicFormAuthoringDocument, parseLegacyOrDynamicFormDocument, providePraxisDynamicFormMetadata, providePraxisFilterFormMetadata, provideSettingsPanelDynamicForm, ruleBuilderStateToFormLayoutRules, serializeDynamicFormAuthoringDocument, stripLegacyFieldMetadata, toCanonicalDynamicFormConfig, validateDynamicFormAuthoringDocument, validateDynamicFormAuthoringInput };
|
|
3050
|
-
export type { CanvasElement, CanvasElementType, CanvasPathPart, Capability$1 as Capability, CapabilityCatalog$1 as CapabilityCatalog, CapabilityCategory$1 as CapabilityCategory, CorporatePresentationExample, DomainRuleFormRulesRequestOptions, DomainRuleMaterializedFormLayoutRule, DynamicFieldRenderErrorEvent, DynamicFormAllowedRuleProperties, DynamicFormApplyPlan, DynamicFormAuthoringDocument, DynamicFormBindings, DynamicFormConfigPatchChangeEvent, DynamicFormContextSnapshot, DynamicFormGeneratedLayoutPreset,
|
|
3137
|
+
export { ActionsEditorComponent, CORPORATE_PRESENTATION_FORMAT_GALLERY, CanvasStateService, CanvasToolbarComponent, ColumnEditorComponent, DomainRuleFormRulesService, DynamicFormLayoutService, DynamicFormSchemaCacheService, ERGADM00034_COMPACT_PRESENTATION_EXAMPLE, Ergadm00034CompactPresentationExampleComponent, 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_AUTHORING_MANIFEST, PRAXIS_FILTER_FORM_AUTHORING_PROJECTION, PRAXIS_FILTER_FORM_COMPONENT_METADATA, PraxisDynamicForm, PraxisDynamicFormConfigEditor, PraxisDynamicFormWidgetConfigEditor, PraxisFilterForm, PraxisFilterFormWidgetConfigEditor, PraxisFormActionsComponent, RowConfiguratorComponent, RowEditorComponent, SETTINGS_PANEL_DYNAMIC_FORM_PROVIDER, SectionEditorComponent, TASK_PRESETS, applyVisibilityRules, buildCorporatePresentationFormatGalleryConfig, buildDynamicFormApplyPlan, buildDynamicFormRuleAuthoringContext, buildErgadm00034CompactPresentationConfig, createDynamicFormAuthoringDocument, formLayoutRulesToBuilderState, getFormAiCatalog, getFormCapabilities, getFormEnum, isRuleSatisfied, normalizeDateArrays, normalizeDynamicFormAuthoringDocument, parseLegacyOrDynamicFormDocument, providePraxisDynamicFormMetadata, providePraxisFilterFormMetadata, provideSettingsPanelDynamicForm, ruleBuilderStateToFormLayoutRules, serializeDynamicFormAuthoringDocument, stripLegacyFieldMetadata, toCanonicalDynamicFormConfig, validateDynamicFormAuthoringDocument, validateDynamicFormAuthoringInput };
|
|
3138
|
+
export type { CanvasElement, CanvasElementType, CanvasPathPart, Capability$1 as Capability, CapabilityCatalog$1 as CapabilityCatalog, CapabilityCategory$1 as CapabilityCategory, CorporatePresentationExample, DomainRuleFormRulesRequestOptions, DomainRuleMaterializedFormLayoutRule, DynamicFieldRenderErrorEvent, DynamicFormAllowedRuleProperties, DynamicFormApplyPlan, DynamicFormAuthoringDocument, DynamicFormBindings, DynamicFormConfigPatchChangeEvent, DynamicFormContextSnapshot, DynamicFormGeneratedLayoutPreset, DynamicFormPresentationSnapshot, DynamicFormProjectionContext, DynamicFormResolvedRuntimeContract, DynamicFormRuleAuthoringContext, DynamicFormRuleAuthoringField, DynamicFormRuleAuthoringTarget, DynamicFormRuleAuthoringTargetDetails, DynamicFormRuleAuthoringTargets, DynamicFormRuleAuthoringVisualBlockNode, DynamicFormRuleTargetType, DynamicFormRuntimeContext, DynamicFormRuntimeValueSource, DynamicFormSchemaPrefsSnapshot, DynamicFormValidationContext, EditorDiagnostic, EditorDocument, Ergadm00034CompactPresentationExample, Ergadm00034LegacyFrequencyRow, FieldPath, FieldPathContainer, FieldPathWithIndex, Capability as FormComponentCapability, CapabilityCatalog as FormComponentCapabilityCatalog, CapabilityCategory as FormComponentCapabilityCategory, ValueKind as FormComponentValueKind, FormConfigLike, GenerateFormConfigFromMetadataOptions, IdPath, InsertLocalFieldOptions, InsertLocalFieldResult, JsonEditorEvent, JsonValidationResult, LayoutChange, LayoutResult, LocalFieldInsertionDiagnostic, LocalFieldInsertionDiagnosticCode, Operation, Path, PathWithIndex, PraxisDynamicFormDomainRulesOptions, PraxisDynamicFormEmptyState, PraxisDynamicFormWidgetEditorInputs, PraxisDynamicFormWidgetEditorValue, PraxisFilterFormWidgetEditorInputs, PraxisFilterFormWidgetEditorValue, PraxisFormActionEvent, RemovePolicy, RuleApplicationContext, RuleApplicationDiagnostic, RuleApplicationDiagnosticCode, RuleApplicationResult, RuleApplicationTargetIndex, RuleApplicationTargetType, ValidationReport, ValueKind$1 as ValueKind };
|