@praxisui/dynamic-form 10.0.0-rc.34 → 10.0.0-rc.36

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.34",
3
+ "version": "10.0.0-rc.36",
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.34",
13
- "@praxisui/dynamic-fields": "^10.0.0-rc.34",
14
- "@praxisui/metadata-editor": "^10.0.0-rc.34",
15
- "@praxisui/rich-content": "^10.0.0-rc.34",
16
- "@praxisui/settings-panel": "^10.0.0-rc.34",
17
- "@praxisui/visual-builder": "^10.0.0-rc.34",
18
- "@praxisui/core": "^10.0.0-rc.34",
12
+ "@praxisui/ai": "^10.0.0-rc.36",
13
+ "@praxisui/dynamic-fields": "^10.0.0-rc.36",
14
+ "@praxisui/metadata-editor": "^10.0.0-rc.36",
15
+ "@praxisui/rich-content": "^10.0.0-rc.36",
16
+ "@praxisui/settings-panel": "^10.0.0-rc.36",
17
+ "@praxisui/visual-builder": "^10.0.0-rc.36",
18
+ "@praxisui/core": "^10.0.0-rc.36",
19
19
  "rxjs": "^7.8.0"
20
20
  },
21
21
  "dependencies": {
@@ -7,8 +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, 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';
10
+ import { AsyncConfigStorage, FormLayout, FieldMetadata, FormLayoutRule, FormRuleTargetType as FormRuleTargetType$1, PraxisJsonLogicService, FormSection, FormRow, FormColumn, FormConfig, FormConfigWithSections, FormLayoutItem, ReactiveDeterminationDefinition, ReactiveDeterminationExecutionEvent, FormActionButton, DynamicFormMode, AiCapability, DynamicFormLayoutScope, 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, DynamicFormLayoutScope, DynamicFormMode } from '@praxisui/core';
12
12
  import * as rxjs from 'rxjs';
13
13
  import { Observable, Subscription, BehaviorSubject } from 'rxjs';
14
14
  import { SettingsPanelService, SettingsValueProvider } from '@praxisui/settings-panel';
@@ -576,6 +576,8 @@ interface EditorDiagnostic {
576
576
 
577
577
  interface DynamicFormBindings {
578
578
  mode?: DynamicFormMode;
579
+ /** Controls whether saved layout changes apply to all CRUD modes ('shared') or only the active mode ('mode-only'). */
580
+ layoutScope?: DynamicFormLayoutScope;
579
581
  /** Opt-in view placeholder; null explicitly disables it. */
580
582
  emptyState?: PraxisDynamicFormEmptyState | null;
581
583
  /** true: presentation in view; false: fields; null/absent: inherit layout policy. */
@@ -648,6 +650,7 @@ interface DynamicFormApplyPlan {
648
650
  };
649
651
  diff?: {
650
652
  modeChanged?: boolean;
653
+ layoutScopeChanged?: boolean;
651
654
  presentationChanged?: boolean;
652
655
  schemaPrefsChanged?: boolean;
653
656
  backConfigChanged?: boolean;
@@ -1591,6 +1594,11 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
1591
1594
  private captureCurrentPresentationSnapshot;
1592
1595
  private captureCurrentSchemaPrefsSnapshot;
1593
1596
  private executeDynamicFormEditorApplyPlan;
1597
+ private buildCrossModeMetadataSeed;
1598
+ private resolveSiblingModeComponentKeyIds;
1599
+ private resolveSiblingModeFormConfigKeys;
1600
+ private resolveSiblingModePresentationKeys;
1601
+ private persistSharedFormConfigAcrossModes;
1594
1602
  private attachRuntimeMetadataToDynamicFormConfig;
1595
1603
  private emitConfigPatchChange;
1596
1604
  private cloneFormConfigForPatch;
@@ -1802,7 +1810,9 @@ declare class PraxisDynamicFormConfigEditor implements SettingsValueProvider, On
1802
1810
  formId?: string;
1803
1811
  componentKeyId?: string;
1804
1812
  inputMode: DynamicFormMode;
1813
+ inputLayoutScope: DynamicFormLayoutScope;
1805
1814
  private includeBindingsBlock;
1815
+ private includeLayoutScopeBinding;
1806
1816
  private readonly editorMode;
1807
1817
  get isPresentationMode(): boolean;
1808
1818
  supportsPresentationSettings: boolean;
@@ -1953,6 +1963,7 @@ declare class PraxisDynamicFormConfigEditor implements SettingsValueProvider, On
1953
1963
  hasResolvedRuntimeContract(): boolean;
1954
1964
  describeRuntimeSource(source?: DynamicFormRuntimeValueSource): string;
1955
1965
  onInputModeChange(): void;
1966
+ onLayoutScopeChange(scope: DynamicFormLayoutScope): void;
1956
1967
  onPresentationPrefsChange(reason: string): void;
1957
1968
  onSchemaPrefsChange(reason: string): void;
1958
1969
  private createRuleBuilderConfig;
@@ -1977,6 +1988,7 @@ declare class PraxisDynamicFormConfigEditor implements SettingsValueProvider, On
1977
1988
  restoreHintsDefaults(): void;
1978
1989
  private loadPrefsFromStorage;
1979
1990
  private normalizeMode;
1991
+ private normalizeLayoutScope;
1980
1992
  private buildAuthoringDocument;
1981
1993
  private normalizeResolvedRuntimeContract;
1982
1994
  private createBackConfigState;
@@ -2442,6 +2454,7 @@ declare class FieldConfiguratorComponent {
2442
2454
  private readonly categoryByType;
2443
2455
  private resolveEditorialMeta;
2444
2456
  get icon(): string;
2457
+ private normalizedFieldControlType;
2445
2458
  get typeClass(): string;
2446
2459
  get typeSpecificClass(): string;
2447
2460
  get typeLabel(): string;