@acorex/platform 21.0.0-next.1 → 21.0.0-next.11

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.
Files changed (87) hide show
  1. package/auth/index.d.ts +235 -5
  2. package/common/index.d.ts +220 -218
  3. package/core/index.d.ts +370 -434
  4. package/fesm2022/acorex-platform-auth.mjs +200 -37
  5. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  6. package/fesm2022/{acorex-platform-common-common-settings.provider-zhqNP3xb.mjs → acorex-platform-common-common-settings.provider-O8usQ0VC.mjs} +4 -4
  7. package/fesm2022/{acorex-platform-common-common-settings.provider-zhqNP3xb.mjs.map → acorex-platform-common-common-settings.provider-O8usQ0VC.mjs.map} +1 -1
  8. package/fesm2022/acorex-platform-common.mjs +215 -198
  9. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  10. package/fesm2022/acorex-platform-core.mjs +548 -585
  11. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  12. package/fesm2022/acorex-platform-domain.mjs +16 -16
  13. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  14. package/fesm2022/acorex-platform-layout-builder.mjs +84 -37
  15. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  16. package/fesm2022/acorex-platform-layout-components.mjs +303 -195
  17. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  18. package/fesm2022/acorex-platform-layout-designer.mjs +72 -72
  19. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  20. package/fesm2022/acorex-platform-layout-entity.mjs +3528 -1698
  21. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  22. package/fesm2022/acorex-platform-layout-views.mjs +25 -17
  23. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  24. package/fesm2022/acorex-platform-layout-widget-core.mjs +190 -110
  25. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  26. package/fesm2022/{acorex-platform-layout-widgets-button-widget-designer.component-C3VoBb_b.mjs → acorex-platform-layout-widgets-button-widget-designer.component-D-NsRvRl.mjs} +4 -4
  27. package/fesm2022/{acorex-platform-layout-widgets-button-widget-designer.component-C3VoBb_b.mjs.map → acorex-platform-layout-widgets-button-widget-designer.component-D-NsRvRl.mjs.map} +1 -1
  28. package/fesm2022/{acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs → acorex-platform-layout-widgets-file-list-popup.component-CCcKHSHj.mjs} +4 -4
  29. package/fesm2022/{acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs.map → acorex-platform-layout-widgets-file-list-popup.component-CCcKHSHj.mjs.map} +1 -1
  30. package/fesm2022/{acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs → acorex-platform-layout-widgets-image-preview.popup-IrT52Nh1.mjs} +4 -4
  31. package/fesm2022/{acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs.map → acorex-platform-layout-widgets-image-preview.popup-IrT52Nh1.mjs.map} +1 -1
  32. package/fesm2022/{acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs → acorex-platform-layout-widgets-page-widget-designer.component-DFbfh-OX.mjs} +4 -4
  33. package/fesm2022/{acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs.map → acorex-platform-layout-widgets-page-widget-designer.component-DFbfh-OX.mjs.map} +1 -1
  34. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-Dw6naXvq.mjs +111 -0
  35. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-Dw6naXvq.mjs.map +1 -0
  36. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component--4R3TUdJ.mjs} +4 -4
  37. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs.map → acorex-platform-layout-widgets-tabular-data-edit-popup.component--4R3TUdJ.mjs.map} +1 -1
  38. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-BeVQuHFj.mjs} +4 -4
  39. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs.map → acorex-platform-layout-widgets-tabular-data-view-popup.component-BeVQuHFj.mjs.map} +1 -1
  40. package/fesm2022/{acorex-platform-layout-widgets-text-block-widget-designer.component-Df1BFkSa.mjs → acorex-platform-layout-widgets-text-block-widget-designer.component-CdQxqi0D.mjs} +4 -4
  41. package/fesm2022/{acorex-platform-layout-widgets-text-block-widget-designer.component-Df1BFkSa.mjs.map → acorex-platform-layout-widgets-text-block-widget-designer.component-CdQxqi0D.mjs.map} +1 -1
  42. package/fesm2022/acorex-platform-layout-widgets.mjs +2247 -1226
  43. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  44. package/fesm2022/acorex-platform-native.mjs +7 -7
  45. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  46. package/fesm2022/acorex-platform-runtime.mjs +43 -43
  47. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  48. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs → acorex-platform-themes-default-entity-master-create-view.component-D2ucwC3F.mjs} +4 -4
  49. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-D2ucwC3F.mjs.map} +1 -1
  50. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-DyDa_hyd.mjs → acorex-platform-themes-default-entity-master-list-view.component-CD4Q_UIG.mjs} +13 -13
  51. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-CD4Q_UIG.mjs.map +1 -0
  52. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs → acorex-platform-themes-default-entity-master-modify-view.component-D5BYbUGK.mjs} +7 -8
  53. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-D5BYbUGK.mjs.map +1 -0
  54. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-eMBby9k4.mjs → acorex-platform-themes-default-entity-master-single-view.component-Cf4ei46_.mjs} +7 -7
  55. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-eMBby9k4.mjs.map → acorex-platform-themes-default-entity-master-single-view.component-Cf4ei46_.mjs.map} +1 -1
  56. package/fesm2022/{acorex-platform-themes-default-error-401.component-cfREo88K.mjs → acorex-platform-themes-default-error-401.component-DdMToZ9q.mjs} +4 -4
  57. package/fesm2022/{acorex-platform-themes-default-error-401.component-cfREo88K.mjs.map → acorex-platform-themes-default-error-401.component-DdMToZ9q.mjs.map} +1 -1
  58. package/fesm2022/{acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs → acorex-platform-themes-default-error-404.component-CKsa5aPE.mjs} +4 -4
  59. package/fesm2022/{acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs.map → acorex-platform-themes-default-error-404.component-CKsa5aPE.mjs.map} +1 -1
  60. package/fesm2022/{acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs → acorex-platform-themes-default-error-offline.component-1gxFTAuX.mjs} +4 -4
  61. package/fesm2022/{acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs.map → acorex-platform-themes-default-error-offline.component-1gxFTAuX.mjs.map} +1 -1
  62. package/fesm2022/acorex-platform-themes-default.mjs +39 -42
  63. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  64. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs → acorex-platform-themes-shared-icon-chooser-column.component-Ds8eRMuV.mjs} +4 -4
  65. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs.map → acorex-platform-themes-shared-icon-chooser-column.component-Ds8eRMuV.mjs.map} +1 -1
  66. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs → acorex-platform-themes-shared-icon-chooser-view.component-Dv38sOzr.mjs} +4 -4
  67. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs.map → acorex-platform-themes-shared-icon-chooser-view.component-Dv38sOzr.mjs.map} +1 -1
  68. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs → acorex-platform-themes-shared-theme-color-chooser-column.component-DcO6P6OG.mjs} +11 -11
  69. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DcO6P6OG.mjs.map +1 -0
  70. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-B7T2qtaI.mjs} +4 -4
  71. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs.map → acorex-platform-themes-shared-theme-color-chooser-view.component-B7T2qtaI.mjs.map} +1 -1
  72. package/fesm2022/acorex-platform-themes-shared.mjs +41 -41
  73. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  74. package/fesm2022/acorex-platform-workflow.mjs +1529 -1758
  75. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  76. package/layout/builder/index.d.ts +15 -3
  77. package/layout/components/index.d.ts +23 -6
  78. package/layout/entity/index.d.ts +438 -159
  79. package/layout/views/index.d.ts +16 -11
  80. package/layout/widget-core/index.d.ts +47 -10
  81. package/layout/widgets/index.d.ts +213 -42
  82. package/package.json +5 -5
  83. package/themes/default/index.d.ts +0 -1
  84. package/workflow/index.d.ts +1050 -1759
  85. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DyDa_hyd.mjs.map +0 -1
  86. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs.map +0 -1
  87. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs.map +0 -1
@@ -1,13 +1,13 @@
1
1
  import * as i4 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Injectable, inject, input, model, signal, effect, output, viewChild, ChangeDetectionStrategy, Component, NgModule, EventEmitter, Output, Input } from '@angular/core';
4
+ import { Injectable, inject, input, model, signal, effect, output, viewChild, ChangeDetectionStrategy, Component, NgModule, EventEmitter, Output } from '@angular/core';
5
5
  import { AXPopupService } from '@acorex/components/popup';
6
+ import * as i1 from '@acorex/platform/layout/widget-core';
7
+ import { AXPWidgetSerializationHelper, AXPWidgetContainerComponent, AXPPageStatus, AXPWidgetCoreModule } from '@acorex/platform/layout/widget-core';
6
8
  import { cloneDeep, isNil, set, isEqual } from 'lodash-es';
7
9
  import * as i2 from '@acorex/components/form';
8
10
  import { AXFormComponent, AXFormModule } from '@acorex/components/form';
9
- import * as i1 from '@acorex/platform/layout/widget-core';
10
- import { AXPWidgetContainerComponent, AXPPageStatus, AXPWidgetCoreModule } from '@acorex/platform/layout/widget-core';
11
11
  import { Subject, debounceTime, distinctUntilChanged, startWith } from 'rxjs';
12
12
  import * as i1$1 from '@acorex/components/button';
13
13
  import { AXButtonModule } from '@acorex/components/button';
@@ -285,10 +285,10 @@ class AXPLayoutConversionService {
285
285
  }
286
286
  return Math.abs(hash).toString(36); // Convert to base36 for shorter string
287
287
  }
288
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPLayoutConversionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
289
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPLayoutConversionService, providedIn: 'root' }); }
288
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXPLayoutConversionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
289
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXPLayoutConversionService, providedIn: 'root' }); }
290
290
  }
291
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPLayoutConversionService, decorators: [{
291
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXPLayoutConversionService, decorators: [{
292
292
  type: Injectable,
293
293
  args: [{
294
294
  providedIn: 'root',
@@ -361,17 +361,13 @@ function collectDefaultValues(node, context = {}, isTopLevel = true) {
361
361
  const result = isTopLevel ? cloneDeep(context) : context;
362
362
  // Check if this node has a defaultValue and a path
363
363
  // Note: We check for both node.defaultValue and also look in node.options.defaultValue as fallback
364
- const defaultValue = node.defaultValue !== undefined
365
- ? node.defaultValue
366
- : node.options?.defaultValue;
364
+ const defaultValue = node.defaultValue !== undefined ? node.defaultValue : node.options?.defaultValue;
367
365
  if (defaultValue !== undefined && !isNil(defaultValue) && node.path) {
368
366
  // Check if path exists in context using lodash get equivalent check
369
367
  const currentValue = getNestedValue(result, node.path);
370
368
  if (currentValue === undefined) {
371
369
  // Clone the defaultValue to avoid reference issues (especially for Date objects)
372
- const clonedValue = defaultValue instanceof Date
373
- ? new Date(defaultValue.getTime())
374
- : cloneDeep(defaultValue);
370
+ const clonedValue = defaultValue instanceof Date ? new Date(defaultValue.getTime()) : cloneDeep(defaultValue);
375
371
  set(result, node.path, clonedValue);
376
372
  }
377
373
  }
@@ -409,10 +405,10 @@ class AXPLayoutBuilderService {
409
405
  create() {
410
406
  return new LayoutBuilder(this.popupService);
411
407
  }
412
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPLayoutBuilderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
413
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPLayoutBuilderService, providedIn: 'root' }); }
408
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXPLayoutBuilderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
409
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXPLayoutBuilderService, providedIn: 'root' }); }
414
410
  }
415
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPLayoutBuilderService, decorators: [{
411
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXPLayoutBuilderService, decorators: [{
416
412
  type: Injectable,
417
413
  args: [{
418
414
  providedIn: 'root',
@@ -527,6 +523,15 @@ class LayoutBuilder {
527
523
  mode: this.root.mode,
528
524
  };
529
525
  }
526
+ /**
527
+ * Converts the built widget node to JSON string
528
+ * @param options - Serialization options
529
+ * @returns JSON string representation of the widget node
530
+ */
531
+ toJson(options) {
532
+ const node = this.build();
533
+ return AXPWidgetSerializationHelper.toJson(node, options);
534
+ }
530
535
  }
531
536
  //#endregion
532
537
  //#region ---- Container Builder Implementation ----
@@ -1155,10 +1160,34 @@ class FormFieldBuilder extends LayoutContainerMixin {
1155
1160
  child.type(type);
1156
1161
  child.name(finalName);
1157
1162
  child.path(widgetPath);
1158
- // Remove name from options since it's now in state
1159
- const { name: _, ...cleanOptions } = (options || {});
1163
+ // Extract extended properties from options (triggers, meta, valueTransforms, mode, visible, defaultValue)
1164
+ const { name: _, triggers, meta, valueTransforms, mode: extendedMode, visible: extendedVisible, defaultValue: extendedDefaultValue, children: extendedChildren, ...cleanOptions } = (options || {});
1160
1165
  child.withInheritanceContext(this.inheritanceContext);
1161
1166
  child.options(cleanOptions);
1167
+ // Apply extended properties if provided
1168
+ if (extendedMode !== undefined) {
1169
+ child.mode(extendedMode);
1170
+ }
1171
+ if (extendedVisible !== undefined) {
1172
+ child.visible(extendedVisible);
1173
+ }
1174
+ if (extendedDefaultValue !== undefined) {
1175
+ child.defaultValue(extendedDefaultValue);
1176
+ }
1177
+ // Set triggers, meta, and valueTransforms directly on widgetState
1178
+ // These are part of AXPWidgetNode but not handled by WidgetBuilder methods
1179
+ if (triggers !== undefined) {
1180
+ child.widgetState.triggers = triggers;
1181
+ }
1182
+ if (meta !== undefined) {
1183
+ child.widgetState.meta = meta;
1184
+ }
1185
+ if (valueTransforms !== undefined) {
1186
+ child.widgetState.valueTransforms = valueTransforms;
1187
+ }
1188
+ if (extendedChildren !== undefined) {
1189
+ child.widgetState.children = extendedChildren;
1190
+ }
1162
1191
  // IMPORTANT: Store the widget builder, don't build it yet!
1163
1192
  // This allows properties set after this method (like disabled, readonly) to be applied
1164
1193
  this.childWidget = child;
@@ -1500,12 +1529,13 @@ class DialogContainerBuilder {
1500
1529
  const { AXPDialogRendererComponent } = await Promise.resolve().then(function () { return dialogRenderer_component; });
1501
1530
  // Collect default values from widget tree and merge into initial context
1502
1531
  const initialContext = this.dialogState.dialogOptions?.context || {};
1532
+ //TODO remove using collectDefaultValues and use initialContext directly for now:
1503
1533
  const contextWithDefaults = collectDefaultValues(dialogNode, initialContext);
1504
1534
  // Create dialog configuration
1505
1535
  const dialogConfig = {
1506
1536
  title: this.dialogState.dialogOptions?.title || '',
1507
1537
  message: this.dialogState.dialogOptions?.message,
1508
- context: contextWithDefaults,
1538
+ context: initialContext,
1509
1539
  definition: dialogNode,
1510
1540
  actions: this.dialogState.actions,
1511
1541
  };
@@ -1539,6 +1569,7 @@ class WidgetBuilder {
1539
1569
  this.widgetState = {
1540
1570
  type: 'widget',
1541
1571
  options: {},
1572
+ children: [],
1542
1573
  };
1543
1574
  this.inheritanceContext = {};
1544
1575
  if (name) {
@@ -1602,6 +1633,7 @@ class WidgetBuilder {
1602
1633
  this.widgetState.options = {};
1603
1634
  }
1604
1635
  this.widgetState.options['visible'] = condition;
1636
+ this.widgetState.visible = condition;
1605
1637
  this.inheritanceContext.visible = condition;
1606
1638
  return this;
1607
1639
  }
@@ -1633,6 +1665,10 @@ class WidgetBuilder {
1633
1665
  this.inheritanceContext.direction = direction;
1634
1666
  return this;
1635
1667
  }
1668
+ children(children) {
1669
+ this.widgetState.children = children;
1670
+ return this;
1671
+ }
1636
1672
  // Inheritance context methods
1637
1673
  withInheritanceContext(context) {
1638
1674
  this.inheritanceContext = mergeInheritanceContext(context);
@@ -1656,6 +1692,7 @@ class WidgetBuilder {
1656
1692
  }
1657
1693
  if (resolved.visible !== undefined) {
1658
1694
  this.widgetState.options['visible'] = resolved.visible;
1695
+ this.widgetState.visible = resolved.visible;
1659
1696
  }
1660
1697
  if (context.defaultValue !== undefined) {
1661
1698
  this.widgetState.defaultValue = context.defaultValue;
@@ -1666,14 +1703,29 @@ class WidgetBuilder {
1666
1703
  return { ...this.inheritanceContext };
1667
1704
  }
1668
1705
  build() {
1669
- return {
1706
+ const node = {
1670
1707
  name: this.widgetState.name,
1671
1708
  type: this.widgetState.type,
1672
1709
  options: this.widgetState.options,
1673
1710
  mode: this.widgetState.mode,
1674
1711
  path: this.widgetState.path,
1675
1712
  defaultValue: this.widgetState.defaultValue,
1713
+ children: this.widgetState.children,
1676
1714
  };
1715
+ // Add extended properties if they exist
1716
+ if (this.widgetState.triggers !== undefined) {
1717
+ node.triggers = this.widgetState.triggers;
1718
+ }
1719
+ if (this.widgetState.meta !== undefined) {
1720
+ node.meta = this.widgetState.meta;
1721
+ }
1722
+ if (this.widgetState.valueTransforms !== undefined) {
1723
+ node.valueTransforms = this.widgetState.valueTransforms;
1724
+ }
1725
+ if (this.widgetState.visible !== undefined) {
1726
+ node.visible = this.widgetState.visible;
1727
+ }
1728
+ return node;
1677
1729
  }
1678
1730
  }
1679
1731
  //#region ---- Action Builder Implementation ----
@@ -1687,7 +1739,6 @@ class ActionBuilder {
1687
1739
  }
1688
1740
  this.dialogBuilder['dialogState'].actions.footer.suffix.push({
1689
1741
  title: text || '@general:actions.cancel.title',
1690
- icon: 'fa-times',
1691
1742
  color: 'default',
1692
1743
  command: { name: 'cancel' },
1693
1744
  });
@@ -1699,7 +1750,6 @@ class ActionBuilder {
1699
1750
  }
1700
1751
  this.dialogBuilder['dialogState'].actions.footer.suffix.push({
1701
1752
  title: text || '@general:actions.submit.title',
1702
- icon: 'fa-check',
1703
1753
  color: 'primary',
1704
1754
  command: { name: 'submit', options: { validate: true } },
1705
1755
  });
@@ -2078,8 +2128,8 @@ class AXPLayoutRendererComponent {
2078
2128
  isWidgetNode(data) {
2079
2129
  return data && typeof data === 'object' && 'type' in data && typeof data.type === 'string';
2080
2130
  }
2081
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPLayoutRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2082
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: AXPLayoutRendererComponent, isStandalone: true, selector: "axp-layout-renderer", inputs: { layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: true, transformFunction: null }, context: { classPropertyName: "context", publicName: "context", isSignal: true, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { context: "contextChange", contextInitiated: "contextInitiated", validityChange: "validityChange" }, viewQueries: [{ propertyName: "form", first: true, predicate: AXFormComponent, descendants: true, isSignal: true }, { propertyName: "container", first: true, predicate: AXPWidgetContainerComponent, descendants: true, isSignal: true }], ngImport: i0, template: `
2131
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXPLayoutRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2132
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXPLayoutRendererComponent, isStandalone: true, selector: "axp-layout-renderer", inputs: { layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: true, transformFunction: null }, context: { classPropertyName: "context", publicName: "context", isSignal: true, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { context: "contextChange", contextInitiated: "contextInitiated", validityChange: "validityChange" }, viewQueries: [{ propertyName: "form", first: true, predicate: AXFormComponent, descendants: true, isSignal: true }, { propertyName: "container", first: true, predicate: AXPWidgetContainerComponent, descendants: true, isSignal: true }], ngImport: i0, template: `
2083
2133
  <ax-form>
2084
2134
  <axp-widgets-container [context]="internalContext()" (onContextChanged)="handleContextChanged($event)">
2085
2135
  @if (widgetTree()) {
@@ -2089,7 +2139,7 @@ class AXPLayoutRendererComponent {
2089
2139
  </ax-form>
2090
2140
  `, isInline: true, styles: [":host{display:block;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "component", type: i1.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "functions"], outputs: ["onContextChanged"] }, { kind: "directive", type: i1.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], outputs: ["onOptionsChanged", "onValueChanged", "onLoad"], exportAs: ["widgetRenderer"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i2.AXFormComponent, selector: "ax-form", inputs: ["disabled", "readonly", "labelMode", "look", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2091
2141
  }
2092
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPLayoutRendererComponent, decorators: [{
2142
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXPLayoutRendererComponent, decorators: [{
2093
2143
  type: Component,
2094
2144
  args: [{ selector: 'axp-layout-renderer', standalone: true, imports: [CommonModule, AXPWidgetCoreModule, AXFormModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
2095
2145
  <ax-form>
@@ -2103,11 +2153,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
2103
2153
  }], propDecorators: { layout: [{ type: i0.Input, args: [{ isSignal: true, alias: "layout", required: true }] }], context: [{ type: i0.Input, args: [{ isSignal: true, alias: "context", required: false }] }, { type: i0.Output, args: ["contextChange"] }], look: [{ type: i0.Input, args: [{ isSignal: true, alias: "look", required: false }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }], contextInitiated: [{ type: i0.Output, args: ["contextInitiated"] }], validityChange: [{ type: i0.Output, args: ["validityChange"] }], form: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXFormComponent), { isSignal: true }] }], container: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXPWidgetContainerComponent), { isSignal: true }] }] } });
2104
2154
 
2105
2155
  class LayoutBuilderModule {
2106
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LayoutBuilderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2107
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.12", ngImport: i0, type: LayoutBuilderModule, imports: [CommonModule, AXPLayoutRendererComponent], exports: [AXPLayoutRendererComponent] }); }
2108
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LayoutBuilderModule, providers: [AXPLayoutBuilderService], imports: [CommonModule, AXPLayoutRendererComponent] }); }
2156
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: LayoutBuilderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2157
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: LayoutBuilderModule, imports: [CommonModule, AXPLayoutRendererComponent], exports: [AXPLayoutRendererComponent] }); }
2158
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: LayoutBuilderModule, providers: [AXPLayoutBuilderService], imports: [CommonModule, AXPLayoutRendererComponent] }); }
2109
2159
  }
2110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LayoutBuilderModule, decorators: [{
2160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: LayoutBuilderModule, decorators: [{
2111
2161
  type: NgModule,
2112
2162
  args: [{
2113
2163
  imports: [CommonModule, AXPLayoutRendererComponent],
@@ -2141,10 +2191,10 @@ class AXPDialogRendererComponent extends AXBasePageComponent {
2141
2191
  const renderer = this.layoutRenderer();
2142
2192
  const container = renderer?.getContainer();
2143
2193
  this.widgetCoreService = container?.builderService ?? null;
2144
- count = this.widgetCoreService.registeredWidgetsCount();
2194
+ count = this.widgetCoreService?.registeredWidgetsCount();
2145
2195
  }
2146
2196
  else {
2147
- count = this.widgetCoreService.registeredWidgetsCount();
2197
+ count = this.widgetCoreService?.registeredWidgetsCount();
2148
2198
  // Clear existing timer
2149
2199
  if (this.debounceTimer) {
2150
2200
  clearTimeout(this.debounceTimer);
@@ -2159,7 +2209,6 @@ class AXPDialogRendererComponent extends AXBasePageComponent {
2159
2209
  //#endregion
2160
2210
  //#region ---- Lifecycle ----
2161
2211
  ngOnInit() {
2162
- // Initialize context with provided context
2163
2212
  this.context.set(this.config?.context || {});
2164
2213
  }
2165
2214
  #eff;
@@ -2343,8 +2392,8 @@ class AXPDialogRendererComponent extends AXBasePageComponent {
2343
2392
  return undefined;
2344
2393
  }
2345
2394
  }
2346
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPDialogRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2347
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: AXPDialogRendererComponent, isStandalone: true, selector: "axp-dialog-renderer", inputs: { config: "config" }, outputs: { result: "result" }, viewQueries: [{ propertyName: "layoutRenderer", first: true, predicate: AXPLayoutRendererComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
2395
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXPDialogRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2396
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXPDialogRendererComponent, isStandalone: true, selector: "axp-dialog-renderer", outputs: { result: "result" }, viewQueries: [{ propertyName: "layoutRenderer", first: true, predicate: AXPLayoutRendererComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
2348
2397
  <div class="ax-p-4">
2349
2398
  <axp-layout-renderer
2350
2399
  [layout]="config.definition"
@@ -2394,7 +2443,7 @@ class AXPDialogRendererComponent extends AXBasePageComponent {
2394
2443
  </ax-footer>
2395
2444
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: AXPLayoutRendererComponent, selector: "axp-layout-renderer", inputs: ["layout", "context", "look", "mode"], outputs: ["contextChange", "contextInitiated", "validityChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i3.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.AXTranslatorPipe, name: "translate" }] }); }
2396
2445
  }
2397
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPDialogRendererComponent, decorators: [{
2446
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXPDialogRendererComponent, decorators: [{
2398
2447
  type: Component,
2399
2448
  args: [{
2400
2449
  selector: 'axp-dialog-renderer',
@@ -2457,9 +2506,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
2457
2506
  </ax-footer>
2458
2507
  `,
2459
2508
  }]
2460
- }], propDecorators: { config: [{
2461
- type: Input
2462
- }], result: [{
2509
+ }], propDecorators: { result: [{
2463
2510
  type: Output
2464
2511
  }], layoutRenderer: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXPLayoutRendererComponent), { isSignal: true }] }] } });
2465
2512