@praxisui/dynamic-form 9.0.36 → 9.0.37

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.
@@ -23,6 +23,25 @@ Ao aplicar um documento canônico:
23
23
 
24
24
  Payloads legados ou parciais recebidos por APIs de compatibilidade, como `applyConfigFromAdapter(...)`, permanecem com semântica `merge-compat`: campos não informados devem ser preservados até migração completa para o contrato canônico.
25
25
 
26
+ ## Filter Form projection
27
+
28
+ `praxis-filter-form` compartilha o mesmo documento canônico, parser e serializer,
29
+ mas não executa todo o runtime de `praxis-dynamic-form`. Seu editor preserva
30
+ `config` e `bindings.mode` no round-trip e mantém inputs do host que não pertencem
31
+ ao documento autoral.
32
+
33
+ O manifesto `PRAXIS_FILTER_FORM_AUTHORING_MANIFEST` é uma projeção fail-closed do
34
+ manifesto de Dynamic Form. A projeção referencia inputs, operações e requisitos
35
+ de round-trip por IDs estáveis; targets, validators e examples são fechados
36
+ transitivamente. Uma referência ausente invalida a materialização em vez de
37
+ publicar um manifesto parcial ou reutilizar um `componentId` enganoso.
38
+
39
+ O escopo do Filter Form contém somente as quinze operações de campos e layout que
40
+ o wrapper materializa. Permanecem fora da projeção `field.submitPolicy.set`, blocos
41
+ visuais, regras e configuração das ações submit/cancel/reset. Esses recursos
42
+ dependem de superfícies do Dynamic Form completo e não devem ser sugeridos para o
43
+ runtime reduzido de filtros.
44
+
26
45
  Valores de runtime/discovery, como `schemaUrl`, `submitUrl` e `submitMethod`, não fazem parte do `DynamicFormAuthoringDocument`. O editor pode exibi-los apenas como diagnóstico read-only do host atual, mas nunca os persiste em `bindings` ou `contextSnapshot`.
27
46
 
28
47
  ## Field Metadata Editor Patches
@@ -38,6 +57,8 @@ Essa regra evita perda silenciosa do contrato canonico de Entity Lookup durante
38
57
  - `backConfig`, `presentation` e `schemaPrefs` permanecem fora de `FormConfig`, mas fazem parte oficialmente do documento autoral persistível em `contextSnapshot`.
39
58
  - `Apply` e `Save` vindos do editor operam em modo `replace-all`.
40
59
  - `reset` do editor limpa todos os modos persistidos do artefato.
60
+ - o wrapper de Filter Form delega `reset` ao editor canônico e preserva
61
+ `config + bindings.mode` ao aplicar, salvar e reabrir;
41
62
  - adapters legados continuam suportados sem limpeza destrutiva de contexto ausente.
42
63
  - editores subordinados de seção, linha e coluna devem aplicar alterações pela localização estrutural capturada (`section`, `row`, `column`), nunca por busca global do primeiro `id` coincidente;
43
64
  - IDs de linha devem ser únicos dentro da seção e IDs de coluna devem ser únicos dentro da linha;
@@ -23,7 +23,7 @@ import { MatBadgeModule } from '@angular/material/badge';
23
23
  import { map, Subscription, merge, of, timer, NEVER, EMPTY, defer, TimeoutError, Subject, firstValueFrom, BehaviorSubject, throwError, combineLatest, debounceTime as debounceTime$1, takeUntil as takeUntil$1 } from 'rxjs';
24
24
  import { filter, map as map$1, switchMap, take, timeout, throwIfEmpty, tap, catchError, ignoreElements, finalize, takeUntil, skip, debounceTime, startWith } from 'rxjs/operators';
25
25
  import * as i1 from '@praxisui/core';
26
- import { serializeEntityLookupValueForPayload, PraxisI18nService, PraxisIconButtonComponent, PraxisIconDirective, providePraxisI18nConfig, RULE_PROPERTY_SCHEMA, FIELD_METADATA_CAPABILITIES, migrateFormLayoutRule, PraxisJsonLogicService, normalizeFormLayoutItems, deepMerge, createDefaultFormConfig, normalizeFormConfig as normalizeFormConfig$1, ensureIds, createEmptyRichContentDocument, resolveHidden, resolveOrder, resolveSpan, projectGroupedCommandPartialRows, isPraxisRuntimeGlobalActionEffect, ASYNC_CONFIG_STORAGE, withFormConfigSections, createFieldLayoutItem, getFormLayoutFieldNames, LoggerService, createCorporateLoggerConfig, ConsoleLoggerSink, ResourceDiscoveryService, GlobalActionService, ResourceQuickConnectComponent, composeHeadersWithVersion, buildApiUrl, mapFieldDefinitionsToMetadata, reconcileFormConfig, materializeFormLayoutFromMetadata, syncWithServerMetadata, PRAXIS_LOADING_CTX, evaluateFieldAccess, normalizeControlTypeKey, normalizePraxisEffectPolicy, buildPraxisEffectDistinctKey, getFormColumnFieldNames, resolveGroupedCommandPartialRowSpans, resolveOffset, buildSchemaIdStorageKeySegment, buildSchemaId, fetchWithETag, resolveControlTypeAlias, getTextTransformer, MemoryCacheAdapter, LocalStorageCacheAdapter, SchemaMetadataClient, normalizeReactiveDeterminations, CONNECTION_STORAGE, API_URL, PRAXIS_LOADING_RENDERER, FORM_HOOKS_PRESETS, EmptyStateCardComponent, isValidFormConfig, ComponentMetadataRegistry, FieldControlType, isRequiredGlobalActionPayloadMissing, GLOBAL_ACTION_CATALOG, PRAXIS_GLOBAL_ACTION_CATALOG, getGlobalActionCatalog, SURFACE_OPEN_I18N_NAMESPACE, getGlobalActionUiSchema, getRequiredGlobalActionPayloadKeys, hasMeaningfulGlobalActionPayloadValue, SurfaceOpenActionEditorComponent, SURFACE_OPEN_I18N_CONFIG, validateGlobalActionRefs, normalizeFormMetadata } from '@praxisui/core';
26
+ import { serializeEntityLookupValueForPayload, PraxisI18nService, PraxisIconButtonComponent, PraxisIconDirective, providePraxisI18nConfig, RULE_PROPERTY_SCHEMA, FIELD_METADATA_CAPABILITIES, migrateFormLayoutRule, PraxisJsonLogicService, normalizeFormLayoutItems, deepMerge, createDefaultFormConfig, normalizeFormConfig as normalizeFormConfig$1, ensureIds, createEmptyRichContentDocument, resolveHidden, resolveOrder, resolveSpan, projectGroupedCommandPartialRows, isPraxisRuntimeGlobalActionEffect, ASYNC_CONFIG_STORAGE, withFormConfigSections, createFieldLayoutItem, getFormLayoutFieldNames, LoggerService, createCorporateLoggerConfig, ConsoleLoggerSink, ResourceDiscoveryService, GlobalActionService, ResourceQuickConnectComponent, composeHeadersWithVersion, buildApiUrl, mapFieldDefinitionsToMetadata, reconcileFormConfig, materializeFormLayoutFromMetadata, syncWithServerMetadata, PRAXIS_LOADING_CTX, evaluateFieldAccess, normalizeControlTypeKey, normalizePraxisEffectPolicy, buildPraxisEffectDistinctKey, getFormColumnFieldNames, resolveGroupedCommandPartialRowSpans, resolveOffset, buildSchemaIdStorageKeySegment, buildSchemaId, fetchWithETag, resolveControlTypeAlias, getTextTransformer, MemoryCacheAdapter, LocalStorageCacheAdapter, SchemaMetadataClient, normalizeReactiveDeterminations, CONNECTION_STORAGE, API_URL, PRAXIS_LOADING_RENDERER, FORM_HOOKS_PRESETS, EmptyStateCardComponent, isValidFormConfig, ComponentMetadataRegistry, FieldControlType, isRequiredGlobalActionPayloadMissing, GLOBAL_ACTION_CATALOG, PRAXIS_GLOBAL_ACTION_CATALOG, getGlobalActionCatalog, SURFACE_OPEN_I18N_NAMESPACE, getGlobalActionUiSchema, getRequiredGlobalActionPayloadKeys, hasMeaningfulGlobalActionPayloadValue, SurfaceOpenActionEditorComponent, SURFACE_OPEN_I18N_CONFIG, validateGlobalActionRefs, normalizeFormMetadata, projectComponentAuthoringManifest } from '@praxisui/core';
27
27
  import * as i1$1 from '@praxisui/dynamic-fields';
28
28
  import { getControlTypeCatalog, ConfirmDialogComponent, DynamicFieldLoaderDirective } from '@praxisui/dynamic-fields';
29
29
  import { BaseAiAdapter, AgenticAuthoringTurnClientService, PraxisAssistantSessionRegistryService, PraxisAssistantTurnOrchestratorService, createPraxisAssistantViewportLayout, PraxisAiAssistantShellComponent } from '@praxisui/ai';
@@ -6599,6 +6599,7 @@ const PRAXIS_DYNAMIC_FORM_AUTHORING_MANIFEST = {
6599
6599
  runtimeInputs: [
6600
6600
  { name: 'showAiAssistant', type: 'boolean', description: 'Mostra os gatilhos do copiloto semantico Praxis' },
6601
6601
  { name: 'config', type: 'FormConfig', description: 'Configuração do formulário; sections é opcional em forms schema-driven e não deve ser criado como array vazio apenas para satisfazer TypeScript.' },
6602
+ { name: 'formId', type: 'string', description: 'Identidade estável usada pelo runtime para persistência local da configuração.' },
6602
6603
  { name: 'resourcePath', type: 'string', description: 'Caminho do recurso (API)' },
6603
6604
  { name: 'readUrl', type: 'string', description: 'Endpoint canonico de leitura para surfaces VIEW/READ_PROJECTION' },
6604
6605
  { name: 'mode', type: 'string', allowedValues: ['create', 'edit', 'view'], description: 'Modo de operação' },
@@ -31811,6 +31812,11 @@ const PRAXIS_FILTER_FORM_COMPONENT_METADATA = {
31811
31812
  component: PraxisFilterFormWidgetConfigEditor,
31812
31813
  title: 'Configurar filtro',
31813
31814
  },
31815
+ authoringManifestRef: {
31816
+ componentId: 'praxis-filter-form',
31817
+ version: '1.0.0',
31818
+ source: 'PRAXIS_FILTER_FORM_AUTHORING_MANIFEST',
31819
+ },
31814
31820
  inputs: [
31815
31821
  {
31816
31822
  name: 'config',
@@ -31989,6 +31995,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
31989
31995
  args: ['formEditor']
31990
31996
  }] } });
31991
31997
 
31998
+ const PRAXIS_DYNAMIC_FORM_PORTS = [
31999
+ {
32000
+ id: 'initialValue',
32001
+ label: 'Initial Value',
32002
+ direction: 'input',
32003
+ semanticKind: 'value',
32004
+ schema: {
32005
+ id: 'Record<string, unknown> | null',
32006
+ kind: 'ts-type',
32007
+ ref: 'Record<string, unknown> | null',
32008
+ },
32009
+ description: 'Local value seed applied before the user interacts with the form.',
32010
+ exposure: { public: true, group: 'data' },
32011
+ },
32012
+ {
32013
+ id: 'valueChange',
32014
+ label: 'Value Change',
32015
+ direction: 'output',
32016
+ semanticKind: 'event',
32017
+ schema: {
32018
+ id: 'FormValueChangeEvent',
32019
+ kind: 'ts-type',
32020
+ ref: 'FormValueChangeEvent',
32021
+ },
32022
+ cardinality: 'stream',
32023
+ description: 'Runtime form value event including the current payload and validity.',
32024
+ exposure: { public: true, group: 'events' },
32025
+ },
32026
+ {
32027
+ id: 'formSubmit',
32028
+ label: 'Form Submit',
32029
+ direction: 'output',
32030
+ semanticKind: 'event',
32031
+ schema: {
32032
+ id: 'FormSubmitEvent',
32033
+ kind: 'ts-type',
32034
+ ref: 'FormSubmitEvent',
32035
+ },
32036
+ cardinality: 'stream',
32037
+ description: 'Submit lifecycle event emitted at before, after and error stages.',
32038
+ exposure: { public: true, group: 'events' },
32039
+ },
32040
+ ];
31992
32041
  /** Metadata for PraxisDynamicForm component */
31993
32042
  const PRAXIS_DYNAMIC_FORM_COMPONENT_METADATA = {
31994
32043
  id: 'praxis-dynamic-form',
@@ -32271,6 +32320,7 @@ const PRAXIS_DYNAMIC_FORM_COMPONENT_METADATA = {
32271
32320
  ],
32272
32321
  tags: ['widget', 'form', 'configurable', 'hasWizard', 'stable'],
32273
32322
  lib: '@praxisui/dynamic-form',
32323
+ ports: PRAXIS_DYNAMIC_FORM_PORTS,
32274
32324
  };
32275
32325
  /** Provider para auto-registrar metadados do componente Dynamic Form. */
32276
32326
  function providePraxisDynamicFormMetadata() {
@@ -36890,6 +36940,43 @@ const FORM_COMPONENT_AI_CAPABILITIES = {
36890
36940
  ],
36891
36941
  };
36892
36942
 
36943
+ /**
36944
+ * Projeção governada do contrato de formulário para o runtime reduzido de filtros.
36945
+ *
36946
+ * O Filter Form compartilha FormConfig e DynamicFormAuthoringDocument, mas não
36947
+ * executa submitPolicy, visual blocks, rules ou a action bar do Dynamic Form.
36948
+ */
36949
+ const PRAXIS_FILTER_FORM_AUTHORING_PROJECTION = {
36950
+ sourceComponentId: 'praxis-dynamic-form',
36951
+ componentId: 'praxis-filter-form',
36952
+ manifestVersion: '1.0.0',
36953
+ runtimeInputNames: ['config', 'formId', 'resourcePath', 'mode'],
36954
+ operationIds: [
36955
+ 'field.label.set',
36956
+ 'field.placeholder.set',
36957
+ 'field.required.set',
36958
+ 'field.readOnly.set',
36959
+ 'field.disabled.set',
36960
+ 'field.hidden.set',
36961
+ 'field.controlType.set',
36962
+ 'field.optionSource.set',
36963
+ 'field.local.add',
36964
+ 'field.local.remove',
36965
+ 'layout.section.add',
36966
+ 'layout.section.remove',
36967
+ 'layout.row.add',
36968
+ 'layout.column.add',
36969
+ 'layout.field.move',
36970
+ ],
36971
+ roundTripRequirements: [
36972
+ 'strip-undefined',
36973
+ 'stable-field-order',
36974
+ 'preserve-local-field-source',
36975
+ 'preserve-section-row-column-ids',
36976
+ ],
36977
+ };
36978
+ const PRAXIS_FILTER_FORM_AUTHORING_MANIFEST = projectComponentAuthoringManifest(PRAXIS_DYNAMIC_FORM_AUTHORING_MANIFEST, PRAXIS_FILTER_FORM_AUTHORING_PROJECTION);
36979
+
36893
36980
  /*
36894
36981
  * Public API Surface of praxis-dynamic-form
36895
36982
  */
@@ -36898,4 +36985,4 @@ const FORM_COMPONENT_AI_CAPABILITIES = {
36898
36985
  * Generated bundle index. Do not edit.
36899
36986
  */
36900
36987
 
36901
- 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_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 };
36988
+ 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 };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@praxisui/dynamic-form",
3
- "version": "9.0.36",
3
+ "version": "9.0.37",
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": "^9.0.36",
13
- "@praxisui/dynamic-fields": "^9.0.36",
14
- "@praxisui/metadata-editor": "^9.0.36",
15
- "@praxisui/rich-content": "^9.0.36",
16
- "@praxisui/settings-panel": "^9.0.36",
17
- "@praxisui/visual-builder": "^9.0.36",
18
- "@praxisui/core": "^9.0.36",
12
+ "@praxisui/ai": "^9.0.37",
13
+ "@praxisui/dynamic-fields": "^9.0.37",
14
+ "@praxisui/metadata-editor": "^9.0.37",
15
+ "@praxisui/rich-content": "^9.0.37",
16
+ "@praxisui/settings-panel": "^9.0.37",
17
+ "@praxisui/visual-builder": "^9.0.37",
18
+ "@praxisui/core": "^9.0.37",
19
19
  "rxjs": "^7.8.0"
20
20
  },
21
21
  "dependencies": {
@@ -2863,5 +2863,21 @@ declare function buildDynamicFormRuleAuthoringContext(config: Pick<FormConfig, '
2863
2863
  */
2864
2864
  declare const PRAXIS_DYNAMIC_FORM_AUTHORING_MANIFEST: ComponentAuthoringManifest;
2865
2865
 
2866
- 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_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 };
2866
+ /**
2867
+ * Projeção governada do contrato de formulário para o runtime reduzido de filtros.
2868
+ *
2869
+ * O Filter Form compartilha FormConfig e DynamicFormAuthoringDocument, mas não
2870
+ * executa submitPolicy, visual blocks, rules ou a action bar do Dynamic Form.
2871
+ */
2872
+ declare const PRAXIS_FILTER_FORM_AUTHORING_PROJECTION: {
2873
+ readonly sourceComponentId: "praxis-dynamic-form";
2874
+ readonly componentId: "praxis-filter-form";
2875
+ readonly manifestVersion: "1.0.0";
2876
+ readonly runtimeInputNames: readonly ["config", "formId", "resourcePath", "mode"];
2877
+ readonly operationIds: readonly ["field.label.set", "field.placeholder.set", "field.required.set", "field.readOnly.set", "field.disabled.set", "field.hidden.set", "field.controlType.set", "field.optionSource.set", "field.local.add", "field.local.remove", "layout.section.add", "layout.section.remove", "layout.row.add", "layout.column.add", "layout.field.move"];
2878
+ readonly roundTripRequirements: readonly ["strip-undefined", "stable-field-order", "preserve-local-field-source", "preserve-section-row-column-ids"];
2879
+ };
2880
+ declare const PRAXIS_FILTER_FORM_AUTHORING_MANIFEST: _praxisui_core.ComponentAuthoringManifest;
2881
+
2882
+ 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 };
2867
2883
  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, DynamicFormMode, 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, PraxisDynamicFormWidgetEditorInputs, PraxisDynamicFormWidgetEditorValue, PraxisFilterFormWidgetEditorInputs, PraxisFilterFormWidgetEditorValue, PraxisFormActionEvent, RemovePolicy, RuleApplicationContext, RuleApplicationDiagnostic, RuleApplicationDiagnosticCode, RuleApplicationResult, RuleApplicationTargetIndex, RuleApplicationTargetType, ValidationReport, ValueKind$1 as ValueKind };