@praxisui/dynamic-form 1.0.0-beta.61 → 1.0.0-beta.63

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/index.d.ts CHANGED
@@ -301,6 +301,9 @@ declare class PraxisFormActionsComponent implements OnChanges, OnDestroy {
301
301
  getActionButtons(): FormActionButton[];
302
302
  getVisibleButtons(): FormActionButton[];
303
303
  getCollapsedButtons(): FormActionButton[];
304
+ isSplitLayout(): boolean;
305
+ getPrimaryButtons(): FormActionButton[];
306
+ getSecondaryButtons(): FormActionButton[];
304
307
  onActionButtonClick(button: FormActionButton, event: Event): void;
305
308
  getButtonNgClass(button: FormActionButton): {
306
309
  [key: string]: boolean;
@@ -309,6 +312,7 @@ declare class PraxisFormActionsComponent implements OnChanges, OnDestroy {
309
312
  isActionButtonDisabled(button: FormActionButton): boolean;
310
313
  private applyOverrides;
311
314
  private registerActionShortcuts;
315
+ private isSecondaryButton;
312
316
  static ɵfac: i0.ɵɵFactoryDeclaration<PraxisFormActionsComponent, never>;
313
317
  static ɵcmp: i0.ɵɵComponentDeclaration<PraxisFormActionsComponent, "praxis-form-actions", never, { "actions": { "alias": "actions"; "required": false; }; "isSubmitting": { "alias": "isSubmitting"; "required": false; }; "formIsValid": { "alias": "formIsValid"; "required": false; }; "submitError": { "alias": "submitError"; "required": false; }; "formId": { "alias": "formId"; "required": false; }; "actionOverrides": { "alias": "actionOverrides"; "required": false; }; }, { "action": "action"; }, never, never, true, never>;
314
318
  }
@@ -343,6 +347,94 @@ declare class FormAiAdapter extends BaseAiAdapter<FormConfig> {
343
347
  private isFilled;
344
348
  }
345
349
 
350
+ interface EditorDocument<TConfig, TBindings = unknown> {
351
+ kind: string;
352
+ version: number;
353
+ config: TConfig;
354
+ bindings?: TBindings;
355
+ }
356
+ interface EditorDiagnostic {
357
+ level: 'error' | 'warning' | 'info';
358
+ code: string;
359
+ message: string;
360
+ path?: string;
361
+ }
362
+ type DynamicFormMode = 'create' | 'edit' | 'view';
363
+ interface DynamicFormBindings {
364
+ mode?: DynamicFormMode;
365
+ }
366
+ interface DynamicFormPresentationSnapshot {
367
+ labelPosition?: 'above' | 'left';
368
+ labelFontSize?: number | null;
369
+ valueFontSize?: number | null;
370
+ compact?: boolean;
371
+ density?: 'comfortable' | 'cozy' | 'compact';
372
+ labelWidth?: number | null;
373
+ labelAlign?: 'start' | 'center' | 'end';
374
+ valueAlign?: 'start' | 'center' | 'end';
375
+ }
376
+ interface DynamicFormSchemaPrefsSnapshot {
377
+ notifyIfOutdated?: 'inline' | 'snackbar' | 'both' | 'none';
378
+ snoozeMs?: number;
379
+ autoOpenSettingsOnOutdated?: boolean;
380
+ }
381
+ interface DynamicFormContextSnapshot {
382
+ backConfig?: BackConfig;
383
+ presentation?: DynamicFormPresentationSnapshot;
384
+ schemaPrefs?: DynamicFormSchemaPrefsSnapshot;
385
+ }
386
+ interface DynamicFormAuthoringDocument extends EditorDocument<FormConfig, DynamicFormBindings> {
387
+ kind: 'praxis.dynamic-form.editor';
388
+ version: 1;
389
+ contextSnapshot?: DynamicFormContextSnapshot;
390
+ }
391
+ interface DynamicFormValidationContext {
392
+ server?: {
393
+ schemaHash?: string;
394
+ };
395
+ }
396
+ interface DynamicFormProjectionContext {
397
+ mode?: DynamicFormMode;
398
+ }
399
+ interface DynamicFormRuntimeContext {
400
+ currentBindings?: DynamicFormBindings;
401
+ currentContextSnapshot?: DynamicFormContextSnapshot;
402
+ server?: {
403
+ schemaHash?: string;
404
+ };
405
+ }
406
+ interface DynamicFormApplyPlan {
407
+ canonicalConfig: FormConfig;
408
+ bindingsPatch?: DynamicFormBindings;
409
+ contextSnapshot?: DynamicFormContextSnapshot;
410
+ persistence?: {
411
+ saveConfig?: boolean;
412
+ saveBindings?: boolean;
413
+ saveContextSnapshot?: boolean;
414
+ };
415
+ runtime?: {
416
+ rebindMode?: boolean;
417
+ clearMode?: boolean;
418
+ rebuildForm?: boolean;
419
+ refreshPresentation?: boolean;
420
+ clearPresentation?: boolean;
421
+ refreshSchemaState?: boolean;
422
+ clearSchemaState?: boolean;
423
+ refreshBackNavigation?: boolean;
424
+ clearBackNavigation?: boolean;
425
+ };
426
+ metadata?: {
427
+ attachSchemaSnapshot?: boolean;
428
+ };
429
+ diff?: {
430
+ modeChanged?: boolean;
431
+ presentationChanged?: boolean;
432
+ schemaPrefsChanged?: boolean;
433
+ backConfigChanged?: boolean;
434
+ };
435
+ diagnostics: EditorDiagnostic[];
436
+ }
437
+
346
438
  interface DynamicFieldRenderErrorEvent {
347
439
  phase: 'executeRendering' | 'detectChanges';
348
440
  fieldName: string;
@@ -509,6 +601,7 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
509
601
  get formBlocksBefore(): WidgetDefinition[];
510
602
  get formBlocksAfter(): WidgetDefinition[];
511
603
  get formBlocksBeforeActions(): WidgetDefinition[];
604
+ get beforeActionsPlacement(): 'insideLastSection' | 'afterSections';
512
605
  get actionPlacement(): 'insideLastSection' | 'afterSections' | 'top';
513
606
  /**
514
607
  * Precedence for editorial widget interpolation:
@@ -615,6 +708,8 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
615
708
  isSectionVisible(section?: FormSection): boolean;
616
709
  getSectionTitle(section: FormSection): string | undefined;
617
710
  getSectionDescription(section: FormSection): string | undefined;
711
+ getSectionAppearance(section: FormSection): 'card' | 'plain' | 'step' | undefined;
712
+ getSectionStepLabel(section: FormSection): string | undefined;
618
713
  getSectionTitleColor(section: FormSection): string | undefined;
619
714
  getSectionDescriptionColor(section: FormSection): string | undefined;
620
715
  getSectionTitleStyle(section: FormSection): string | undefined;
@@ -633,6 +728,9 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
633
728
  getSectionIcon(section: FormSection): string | undefined;
634
729
  getSectionClasses(section: FormSection): string[];
635
730
  getSectionStyles(section: FormSection): Record<string, any> | null;
731
+ private sanitizeSectionStylesForEditorialContext;
732
+ private isEditorialVisualContext;
733
+ hasEditorialVisualContext(): boolean;
636
734
  private applyBorderPropsToStyle;
637
735
  toggleSectionCollapse(event: Event, section: FormSection): void;
638
736
  sectionPanelId(section: FormSection, index: number): string;
@@ -781,8 +879,20 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
781
879
  trackBySection(index: number, section: FormSection): string;
782
880
  trackByRow(index: number, row: FormRow): string;
783
881
  trackByColumn(index: number, column: FormColumn): string;
784
- /** Apply configuration updates coming from external adapters (e.g., AI) in a controlled way. */
882
+ /** Apply configuration or canonical authoring updates coming from external adapters (e.g., AI). */
785
883
  applyConfigFromAdapter(nextConfig: FormConfig): void;
884
+ applyConfigFromAdapter(nextConfig: DynamicFormAuthoringDocument): void;
885
+ private buildDynamicFormEditorRuntimeContext;
886
+ private captureCurrentContextSnapshot;
887
+ private captureCurrentPresentationSnapshot;
888
+ private captureCurrentSchemaPrefsSnapshot;
889
+ private executeDynamicFormEditorApplyPlan;
890
+ private attachRuntimeMetadataToDynamicFormConfig;
891
+ private parsePresentationCssNumber;
892
+ private clearDynamicFormEditorPersistence;
893
+ private clearStoredPresentationSnapshots;
894
+ private resetPresentationVarsToDefaults;
895
+ private resetSchemaPrefsToDefaults;
786
896
  retryInitialization(): void;
787
897
  getErrorTitle(): string;
788
898
  showDetailedError(): void;
@@ -827,7 +937,9 @@ declare class FormConfigService {
827
937
  interface JsonValidationResult {
828
938
  isValid: boolean;
829
939
  error?: string;
940
+ document?: DynamicFormAuthoringDocument;
830
941
  config?: FormConfig;
942
+ diagnostics?: EditorDiagnostic[];
831
943
  }
832
944
  interface JsonEditorEvent {
833
945
  type: 'apply' | 'format' | 'validation';
@@ -837,12 +949,15 @@ declare class JsonConfigEditorComponent implements OnInit, OnDestroy {
837
949
  private cdr;
838
950
  private configService;
839
951
  config: FormConfig | null;
952
+ document: DynamicFormAuthoringDocument | null;
840
953
  configChange: EventEmitter<FormConfig>;
954
+ documentChange: EventEmitter<DynamicFormAuthoringDocument>;
841
955
  validationChange: EventEmitter<JsonValidationResult>;
842
956
  editorEvent: EventEmitter<JsonEditorEvent>;
843
957
  jsonText: string;
844
958
  isValidJson: boolean;
845
959
  jsonError: string;
960
+ diagnostics: EditorDiagnostic[];
846
961
  private destroy$;
847
962
  private jsonTextChanges$;
848
963
  constructor(cdr: ChangeDetectorRef, configService: FormConfigService);
@@ -852,18 +967,20 @@ declare class JsonConfigEditorComponent implements OnInit, OnDestroy {
852
967
  applyJsonChanges(): void;
853
968
  formatJson(): void;
854
969
  updateJsonFromConfig(config: FormConfig): void;
970
+ updateJsonFromDocument(document: DynamicFormAuthoringDocument): void;
855
971
  /**
856
972
  * Força atualização do JSON com a configuração atual
857
973
  */
858
974
  refreshJson(): void;
859
975
  getCurrentConfig(): FormConfig | null;
976
+ getCurrentDocument(): DynamicFormAuthoringDocument | null;
860
977
  hasChanges(): boolean;
861
978
  private validateJson;
862
979
  private updateValidationState;
863
980
  insertHooksTemplate(): void;
864
981
  enableReactiveValidation(): void;
865
982
  static ɵfac: i0.ɵɵFactoryDeclaration<JsonConfigEditorComponent, never>;
866
- static ɵcmp: i0.ɵɵComponentDeclaration<JsonConfigEditorComponent, "form-json-config-editor", never, { "config": { "alias": "config"; "required": false; }; }, { "configChange": "configChange"; "validationChange": "validationChange"; "editorEvent": "editorEvent"; }, never, never, true, never>;
983
+ static ɵcmp: i0.ɵɵComponentDeclaration<JsonConfigEditorComponent, "form-json-config-editor", never, { "config": { "alias": "config"; "required": false; }; "document": { "alias": "document"; "required": false; }; }, { "configChange": "configChange"; "documentChange": "documentChange"; "validationChange": "validationChange"; "editorEvent": "editorEvent"; }, never, never, true, never>;
867
984
  }
868
985
 
869
986
  declare class PraxisDynamicFormConfigEditor implements SettingsValueProvider, OnInit, OnDestroy {
@@ -877,10 +994,14 @@ declare class PraxisDynamicFormConfigEditor implements SettingsValueProvider, On
877
994
  ruleBuilderState?: RuleBuilderState;
878
995
  currentRules: FormLayoutRule[];
879
996
  private initialConfig;
997
+ private initialDocument;
998
+ private readonly openedWithCanonicalDocument;
880
999
  backConfig?: BackConfig;
1000
+ private includeBackConfigBlock;
881
1001
  formId?: string;
882
1002
  componentKeyId?: string;
883
1003
  inputMode: 'create' | 'edit' | 'view';
1004
+ private includeBindingsBlock;
884
1005
  private readonly editorMode;
885
1006
  isPresentationMode: boolean;
886
1007
  truncatePreview: boolean;
@@ -905,6 +1026,8 @@ declare class PraxisDynamicFormConfigEditor implements SettingsValueProvider, On
905
1026
  snoozeMs: number;
906
1027
  autoOpenSettingsOnOutdated: boolean;
907
1028
  };
1029
+ private includePresentationBlock;
1030
+ private includeSchemaPrefsBlock;
908
1031
  serverMeta?: {
909
1032
  serverHash?: string;
910
1033
  lastVerifiedAt?: string;
@@ -923,11 +1046,20 @@ declare class PraxisDynamicFormConfigEditor implements SettingsValueProvider, On
923
1046
  updateDirtyState(reason?: string): void;
924
1047
  getSettingsValue(): any;
925
1048
  onSave(): any;
926
- onJsonConfigChange(newConfig: FormConfig): void;
1049
+ onJsonConfigChange(newValue: FormConfig | DynamicFormAuthoringDocument): void;
927
1050
  onJsonValidationChange(result: JsonValidationResult): void;
928
1051
  onJsonEditorEvent(_event: JsonEditorEvent): void;
929
1052
  onConfigChange(newConfig: FormConfig): void;
930
1053
  onRulesChanged(state: RuleBuilderState): void;
1054
+ get jsonDocument(): DynamicFormAuthoringDocument;
1055
+ onBackConfigChange(): void;
1056
+ isBindingsBlockPersisted(): boolean;
1057
+ isPresentationBlockPersisted(): boolean;
1058
+ isSchemaPrefsBlockPersisted(): boolean;
1059
+ isBackConfigBlockPersisted(): boolean;
1060
+ onInputModeChange(): void;
1061
+ onPresentationPrefsChange(reason: string): void;
1062
+ onSchemaPrefsChange(reason: string): void;
931
1063
  private createRuleBuilderConfig;
932
1064
  private mapMetadataToSchema;
933
1065
  private mapDataTypeToFieldType;
@@ -940,6 +1072,13 @@ declare class PraxisDynamicFormConfigEditor implements SettingsValueProvider, On
940
1072
  restoreHintsDefaults(): void;
941
1073
  private loadPrefsFromStorage;
942
1074
  private normalizeMode;
1075
+ private buildAuthoringDocument;
1076
+ private createBackConfigState;
1077
+ private mergePresentationPrefs;
1078
+ private mergeSchemaPrefs;
1079
+ private toPresentationSnapshot;
1080
+ private toSchemaPrefsSnapshot;
1081
+ private toBackConfigSnapshot;
943
1082
  static ɵfac: i0.ɵɵFactoryDeclaration<PraxisDynamicFormConfigEditor, [null, null, null, null, { optional: true; }]>;
944
1083
  static ɵcmp: i0.ɵɵComponentDeclaration<PraxisDynamicFormConfigEditor, "praxis-dynamic-form-config-editor", never, {}, {}, never, never, true, never>;
945
1084
  }
@@ -1208,6 +1347,25 @@ declare function normalizeDateArrays(data: any): any;
1208
1347
  declare const SETTINGS_PANEL_DYNAMIC_FORM_PROVIDER: Provider;
1209
1348
  declare function provideSettingsPanelDynamicForm(): Provider;
1210
1349
 
1350
+ declare function createDynamicFormAuthoringDocument(source: {
1351
+ config?: unknown;
1352
+ bindings?: unknown;
1353
+ contextSnapshot?: unknown;
1354
+ }): DynamicFormAuthoringDocument;
1355
+ declare function parseLegacyOrDynamicFormDocument(raw: unknown): DynamicFormAuthoringDocument;
1356
+ declare function normalizeDynamicFormAuthoringDocument(doc: DynamicFormAuthoringDocument): DynamicFormAuthoringDocument;
1357
+ declare function validateDynamicFormAuthoringDocument(doc: DynamicFormAuthoringDocument, context?: DynamicFormValidationContext): EditorDiagnostic[];
1358
+ declare function validateDynamicFormAuthoringInput(raw: unknown, context?: DynamicFormValidationContext): EditorDiagnostic[];
1359
+ declare function toCanonicalDynamicFormConfig(doc: DynamicFormAuthoringDocument, _context?: DynamicFormProjectionContext): FormConfig;
1360
+ declare function buildDynamicFormApplyPlan(doc: DynamicFormAuthoringDocument, runtime?: DynamicFormRuntimeContext, options?: {
1361
+ saveConfig?: boolean;
1362
+ saveBindings?: boolean;
1363
+ saveContextSnapshot?: boolean;
1364
+ attachSchemaSnapshot?: boolean;
1365
+ replaceContext?: boolean;
1366
+ }): DynamicFormApplyPlan;
1367
+ declare function serializeDynamicFormAuthoringDocument(doc: DynamicFormAuthoringDocument): unknown;
1368
+
1211
1369
  declare class CanvasToolbarComponent {
1212
1370
  selectedElement: CanvasElement | null;
1213
1371
  editMetadata: EventEmitter<void>;
@@ -1242,6 +1400,8 @@ declare class CanvasToolbarComponent {
1242
1400
  }
1243
1401
 
1244
1402
  interface EditableFormSection extends FormSection {
1403
+ appearance?: 'card' | 'plain' | 'step';
1404
+ stepLabel?: string;
1245
1405
  collapsible?: boolean;
1246
1406
  collapsed?: boolean;
1247
1407
  order?: number;
@@ -1566,5 +1726,5 @@ declare const FORM_COMPONENT_AI_CAPABILITIES: CapabilityCatalog;
1566
1726
  */
1567
1727
  declare function getFormAiCatalog(formConfig?: FormConfig): AiCapabilityCatalog;
1568
1728
 
1569
- export { ActionsEditorComponent, CanvasStateService, CanvasToolbarComponent, ColumnEditorComponent, DynamicFormLayoutService, FORM_AI_CAPABILITIES, FORM_COMPONENT_AI_CAPABILITIES, FieldConfiguratorComponent, FieldEditorComponent, FormConfigService, FormContextService, FormLayoutService, JsonConfigEditorComponent, LayoutColorToken, LayoutEditorComponent, LayoutPrefsService, PRAXIS_DYNAMIC_FORM_COMPONENT_METADATA, PraxisDynamicForm, PraxisDynamicFormConfigEditor, PraxisFilterForm, PraxisFormActionsComponent, RowConfiguratorComponent, RowEditorComponent, SETTINGS_PANEL_DYNAMIC_FORM_PROVIDER, SectionEditorComponent, TASK_PRESETS, applyVisibilityRules, formLayoutRulesToBuilderState, getFormAiCatalog, getFormCapabilities, getFormEnum, isRuleSatisfied, normalizeDateArrays, providePraxisDynamicFormMetadata, provideSettingsPanelDynamicForm, ruleBuilderStateToFormLayoutRules, stripLegacyFieldMetadata };
1570
- export type { CanvasElement, CanvasElementType, CanvasPathPart, Capability$1 as Capability, CapabilityCatalog$1 as CapabilityCatalog, CapabilityCategory$1 as CapabilityCategory, DynamicFieldRenderErrorEvent, FieldPath, FieldPathContainer, FieldPathWithIndex, Capability as FormComponentCapability, CapabilityCatalog as FormComponentCapabilityCatalog, CapabilityCategory as FormComponentCapabilityCategory, ValueKind as FormComponentValueKind, FormConfigLike, IdPath, JsonEditorEvent, JsonValidationResult, LayoutChange, LayoutResult, Operation, Path, PathWithIndex, PraxisFormActionEvent, RemovePolicy, ValidationReport, ValueKind$1 as ValueKind };
1729
+ export { ActionsEditorComponent, CanvasStateService, CanvasToolbarComponent, ColumnEditorComponent, DynamicFormLayoutService, FORM_AI_CAPABILITIES, FORM_COMPONENT_AI_CAPABILITIES, FieldConfiguratorComponent, FieldEditorComponent, FormConfigService, FormContextService, FormLayoutService, JsonConfigEditorComponent, LayoutColorToken, LayoutEditorComponent, LayoutPrefsService, PRAXIS_DYNAMIC_FORM_COMPONENT_METADATA, PraxisDynamicForm, PraxisDynamicFormConfigEditor, PraxisFilterForm, PraxisFormActionsComponent, RowConfiguratorComponent, RowEditorComponent, SETTINGS_PANEL_DYNAMIC_FORM_PROVIDER, SectionEditorComponent, TASK_PRESETS, applyVisibilityRules, buildDynamicFormApplyPlan, createDynamicFormAuthoringDocument, formLayoutRulesToBuilderState, getFormAiCatalog, getFormCapabilities, getFormEnum, isRuleSatisfied, normalizeDateArrays, normalizeDynamicFormAuthoringDocument, parseLegacyOrDynamicFormDocument, providePraxisDynamicFormMetadata, provideSettingsPanelDynamicForm, ruleBuilderStateToFormLayoutRules, serializeDynamicFormAuthoringDocument, stripLegacyFieldMetadata, toCanonicalDynamicFormConfig, validateDynamicFormAuthoringDocument, validateDynamicFormAuthoringInput };
1730
+ export type { CanvasElement, CanvasElementType, CanvasPathPart, Capability$1 as Capability, CapabilityCatalog$1 as CapabilityCatalog, CapabilityCategory$1 as CapabilityCategory, DynamicFieldRenderErrorEvent, DynamicFormApplyPlan, DynamicFormAuthoringDocument, DynamicFormBindings, DynamicFormContextSnapshot, DynamicFormMode, DynamicFormPresentationSnapshot, DynamicFormProjectionContext, DynamicFormRuntimeContext, DynamicFormSchemaPrefsSnapshot, DynamicFormValidationContext, EditorDiagnostic, EditorDocument, FieldPath, FieldPathContainer, FieldPathWithIndex, Capability as FormComponentCapability, CapabilityCatalog as FormComponentCapabilityCatalog, CapabilityCategory as FormComponentCapabilityCategory, ValueKind as FormComponentValueKind, FormConfigLike, IdPath, JsonEditorEvent, JsonValidationResult, LayoutChange, LayoutResult, Operation, Path, PathWithIndex, PraxisFormActionEvent, RemovePolicy, ValidationReport, ValueKind$1 as ValueKind };
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@praxisui/dynamic-form",
3
- "version": "1.0.0-beta.61",
3
+ "version": "1.0.0-beta.63",
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",
7
7
  "@angular/core": "^20.0.0",
8
8
  "@angular/cdk": "^20.0.0",
9
- "@praxisui/settings-panel": "^1.0.0-beta.61",
10
- "@praxisui/visual-builder": "^1.0.0-beta.61",
11
- "@praxisui/specification-core": "^1.0.0-beta.61",
12
- "@praxisui/specification": "^1.0.0-beta.61",
13
- "@praxisui/core": "^1.0.0-beta.61",
14
- "@praxisui/cron-builder": "^1.0.0-beta.61"
9
+ "@praxisui/settings-panel": "^1.0.0-beta.63",
10
+ "@praxisui/visual-builder": "^1.0.0-beta.63",
11
+ "@praxisui/specification-core": "^1.0.0-beta.63",
12
+ "@praxisui/specification": "^1.0.0-beta.63",
13
+ "@praxisui/core": "^1.0.0-beta.63",
14
+ "@praxisui/cron-builder": "^1.0.0-beta.63"
15
15
  },
16
16
  "dependencies": {
17
17
  "tslib": "^2.3.0",
@@ -25,17 +25,18 @@
25
25
  "type": "git",
26
26
  "url": "https://github.com/codexrodrigues/praxis-ui-angular"
27
27
  },
28
- "homepage": "https://github.com/codexrodrigues/praxis-ui-angular#readme",
28
+ "homepage": "https://praxisui.dev",
29
29
  "bugs": {
30
30
  "url": "https://github.com/codexrodrigues/praxis-ui-angular/issues"
31
31
  },
32
32
  "keywords": [
33
33
  "angular",
34
34
  "praxisui",
35
- "forms",
36
35
  "dynamic-form",
37
36
  "metadata",
38
- "ui"
37
+ "schema-driven",
38
+ "forms",
39
+ "runtime-config"
39
40
  ],
40
41
  "sideEffects": false,
41
42
  "module": "fesm2022/praxisui-dynamic-form.mjs",