@acorex-platform/framework-client 0.0.15 → 0.0.20

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 (108) hide show
  1. package/fesm2022/acorex-platform-framework-client-auth.mjs +872 -314
  2. package/fesm2022/acorex-platform-framework-client-auth.mjs.map +1 -1
  3. package/fesm2022/{acorex-platform-framework-client-common-common-settings.provider-Euotv9l0.mjs → acorex-platform-framework-client-common-common-settings.provider-CLm2BVk-.mjs} +88 -5
  4. package/fesm2022/acorex-platform-framework-client-common-common-settings.provider-CLm2BVk-.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-framework-client-common.mjs +2685 -898
  6. package/fesm2022/acorex-platform-framework-client-common.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-framework-client-core.mjs +691 -823
  8. package/fesm2022/acorex-platform-framework-client-core.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-framework-client-domain.mjs +16 -16
  10. package/fesm2022/acorex-platform-framework-client-layout-builder.mjs +181 -84
  11. package/fesm2022/acorex-platform-framework-client-layout-builder.mjs.map +1 -1
  12. package/fesm2022/{acorex-platform-framework-client-layout-components-binding-expression-editor-popup.component-CjnQ9hAJ.mjs → acorex-platform-framework-client-layout-components-binding-expression-editor-popup.component-oE8CeLE8.mjs} +8 -6
  13. package/fesm2022/{acorex-platform-framework-client-layout-components-binding-expression-editor-popup.component-CjnQ9hAJ.mjs.map → acorex-platform-framework-client-layout-components-binding-expression-editor-popup.component-oE8CeLE8.mjs.map} +1 -1
  14. package/fesm2022/{acorex-platform-framework-client-layout-components-file-provider-picker.popup.component-fFen8w8M.mjs → acorex-platform-framework-client-layout-components-file-provider-picker.popup.component-BtLEUWAA.mjs} +4 -4
  15. package/fesm2022/{acorex-platform-framework-client-layout-components-file-provider-picker.popup.component-fFen8w8M.mjs.map → acorex-platform-framework-client-layout-components-file-provider-picker.popup.component-BtLEUWAA.mjs.map} +1 -1
  16. package/fesm2022/acorex-platform-framework-client-layout-components.mjs +3300 -1236
  17. package/fesm2022/acorex-platform-framework-client-layout-components.mjs.map +1 -1
  18. package/fesm2022/acorex-platform-framework-client-layout-designer.mjs +277 -185
  19. package/fesm2022/acorex-platform-framework-client-layout-designer.mjs.map +1 -1
  20. package/fesm2022/acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-BXOMs6oD.mjs +29184 -0
  21. package/fesm2022/acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-BXOMs6oD.mjs.map +1 -0
  22. package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-BzUM-JMC.mjs → acorex-platform-framework-client-layout-entity-attachments-page.component-DCK-qb-F.mjs} +34 -20
  23. package/fesm2022/acorex-platform-framework-client-layout-entity-attachments-page.component-DCK-qb-F.mjs.map +1 -0
  24. package/fesm2022/acorex-platform-framework-client-layout-entity-bulk-entity.command-Cs3agnpF.mjs +162 -0
  25. package/fesm2022/acorex-platform-framework-client-layout-entity-bulk-entity.command-Cs3agnpF.mjs.map +1 -0
  26. package/fesm2022/{acorex-platform-framework-client-layout-entity-file-list-popup.component-Ci_CTFtq.mjs → acorex-platform-framework-client-layout-entity-file-list-popup.component-p0hxDb0W.mjs} +31 -19
  27. package/fesm2022/acorex-platform-framework-client-layout-entity-file-list-popup.component-p0hxDb0W.mjs.map +1 -0
  28. package/fesm2022/{acorex-platform-framework-client-layout-entity-gallery-page.component-DmiB__JR.mjs → acorex-platform-framework-client-layout-entity-gallery-page.component-DYV9YPyw.mjs} +30 -18
  29. package/fesm2022/acorex-platform-framework-client-layout-entity-gallery-page.component-DYV9YPyw.mjs.map +1 -0
  30. package/fesm2022/acorex-platform-framework-client-layout-entity.mjs +2 -26780
  31. package/fesm2022/acorex-platform-framework-client-layout-entity.mjs.map +1 -1
  32. package/fesm2022/acorex-platform-framework-client-layout-views.mjs +421 -151
  33. package/fesm2022/acorex-platform-framework-client-layout-views.mjs.map +1 -1
  34. package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs +673 -287
  35. package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs.map +1 -1
  36. package/fesm2022/{acorex-platform-framework-client-layout-widgets-button-widget-designer.component-CIwpAXbL.mjs → acorex-platform-framework-client-layout-widgets-button-widget-designer.component-BiWerYcu.mjs} +16 -10
  37. package/fesm2022/{acorex-platform-framework-client-layout-widgets-button-widget-designer.component-CIwpAXbL.mjs.map → acorex-platform-framework-client-layout-widgets-button-widget-designer.component-BiWerYcu.mjs.map} +1 -1
  38. package/fesm2022/{acorex-platform-framework-client-layout-widgets-image-preview.popup-CazpERbX.mjs → acorex-platform-framework-client-layout-widgets-image-preview.popup-BOrrMm3U.mjs} +9 -8
  39. package/fesm2022/acorex-platform-framework-client-layout-widgets-image-preview.popup-BOrrMm3U.mjs.map +1 -0
  40. package/fesm2022/{acorex-platform-framework-client-layout-widgets-page-widget-designer.component-DKkJi40s.mjs → acorex-platform-framework-client-layout-widgets-page-widget-designer.component-WzIiwnGC.mjs} +20 -12
  41. package/fesm2022/{acorex-platform-framework-client-layout-widgets-page-widget-designer.component-DKkJi40s.mjs.map → acorex-platform-framework-client-layout-widgets-page-widget-designer.component-WzIiwnGC.mjs.map} +1 -1
  42. package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-DtYZfA79.mjs → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-3CO4xJB3.mjs} +32 -18
  43. package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-DtYZfA79.mjs.map → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-3CO4xJB3.mjs.map} +1 -1
  44. package/fesm2022/{acorex-platform-framework-client-layout-widgets-tabular-data-edit-popup.component-nMUtxAyy.mjs → acorex-platform-framework-client-layout-widgets-tabular-data-edit-popup.component-CRST84ou.mjs} +8 -7
  45. package/fesm2022/{acorex-platform-framework-client-layout-widgets-tabular-data-edit-popup.component-nMUtxAyy.mjs.map → acorex-platform-framework-client-layout-widgets-tabular-data-edit-popup.component-CRST84ou.mjs.map} +1 -1
  46. package/fesm2022/{acorex-platform-framework-client-layout-widgets-tabular-data-view-popup.component-DvUSZ4hJ.mjs → acorex-platform-framework-client-layout-widgets-tabular-data-view-popup.component-FjtSRxIX.mjs} +4 -4
  47. package/fesm2022/{acorex-platform-framework-client-layout-widgets-tabular-data-view-popup.component-DvUSZ4hJ.mjs.map → acorex-platform-framework-client-layout-widgets-tabular-data-view-popup.component-FjtSRxIX.mjs.map} +1 -1
  48. package/fesm2022/{acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-BihIfkZW.mjs → acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-D6HFPmGC.mjs} +10 -8
  49. package/fesm2022/{acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-BihIfkZW.mjs.map → acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-D6HFPmGC.mjs.map} +1 -1
  50. package/fesm2022/acorex-platform-framework-client-layout-widgets.mjs +4907 -2554
  51. package/fesm2022/acorex-platform-framework-client-layout-widgets.mjs.map +1 -1
  52. package/fesm2022/acorex-platform-framework-client-native.mjs +7 -7
  53. package/fesm2022/acorex-platform-framework-client-realtime-set-presence-availability.command-CetlUjnM.mjs +29 -0
  54. package/fesm2022/acorex-platform-framework-client-realtime-set-presence-availability.command-CetlUjnM.mjs.map +1 -0
  55. package/fesm2022/acorex-platform-framework-client-realtime.mjs +463 -26
  56. package/fesm2022/acorex-platform-framework-client-realtime.mjs.map +1 -1
  57. package/fesm2022/acorex-platform-framework-client-runtime.mjs +300 -137
  58. package/fesm2022/acorex-platform-framework-client-runtime.mjs.map +1 -1
  59. package/fesm2022/{acorex-platform-framework-client-themes-default-entity-master-create-view.component-QIFX11dh.mjs → acorex-platform-framework-client-themes-default-entity-master-create-view.component-yeftgJ_K.mjs} +10 -7
  60. package/fesm2022/{acorex-platform-framework-client-themes-default-entity-master-create-view.component-QIFX11dh.mjs.map → acorex-platform-framework-client-themes-default-entity-master-create-view.component-yeftgJ_K.mjs.map} +1 -1
  61. package/fesm2022/{acorex-platform-framework-client-themes-default-entity-master-modify-view.component-BBdellyL.mjs → acorex-platform-framework-client-themes-default-entity-master-modify-view.component-DWE3OWGm.mjs} +10 -7
  62. package/fesm2022/{acorex-platform-framework-client-themes-default-entity-master-modify-view.component-BBdellyL.mjs.map → acorex-platform-framework-client-themes-default-entity-master-modify-view.component-DWE3OWGm.mjs.map} +1 -1
  63. package/fesm2022/{acorex-platform-framework-client-themes-default-entity-master-single-view.component-CIf1VWNW.mjs → acorex-platform-framework-client-themes-default-entity-master-single-view.component-C2Abf7Lb.mjs} +21 -19
  64. package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-single-view.component-C2Abf7Lb.mjs.map +1 -0
  65. package/fesm2022/{acorex-platform-framework-client-themes-default-error-401.component-C_czT_JC.mjs → acorex-platform-framework-client-themes-default-error-401.component-BrTotLx1.mjs} +5 -5
  66. package/fesm2022/{acorex-platform-framework-client-themes-default-error-401.component-C_czT_JC.mjs.map → acorex-platform-framework-client-themes-default-error-401.component-BrTotLx1.mjs.map} +1 -1
  67. package/fesm2022/{acorex-platform-framework-client-themes-default-error-404.component-C2Wu0YtF.mjs → acorex-platform-framework-client-themes-default-error-404.component-DsC7_s59.mjs} +5 -5
  68. package/fesm2022/{acorex-platform-framework-client-themes-default-error-404.component-C2Wu0YtF.mjs.map → acorex-platform-framework-client-themes-default-error-404.component-DsC7_s59.mjs.map} +1 -1
  69. package/fesm2022/{acorex-platform-framework-client-themes-default-error-offline.component-DRz-kVsT.mjs → acorex-platform-framework-client-themes-default-error-offline.component-CngiQycG.mjs} +6 -6
  70. package/fesm2022/acorex-platform-framework-client-themes-default-error-offline.component-CngiQycG.mjs.map +1 -0
  71. package/fesm2022/acorex-platform-framework-client-themes-default.mjs +448 -277
  72. package/fesm2022/acorex-platform-framework-client-themes-default.mjs.map +1 -1
  73. package/fesm2022/{acorex-platform-framework-client-themes-shared-icon-chooser-column.component-Ci_oH7NE.mjs → acorex-platform-framework-client-themes-shared-icon-chooser-column.component-CbZALjB5.mjs} +8 -6
  74. package/fesm2022/{acorex-platform-framework-client-themes-shared-icon-chooser-column.component-Ci_oH7NE.mjs.map → acorex-platform-framework-client-themes-shared-icon-chooser-column.component-CbZALjB5.mjs.map} +1 -1
  75. package/fesm2022/{acorex-platform-framework-client-themes-shared-icon-chooser-view.component-Lb1G2Xz7.mjs → acorex-platform-framework-client-themes-shared-icon-chooser-view.component-BRrNT6x2.mjs} +8 -6
  76. package/fesm2022/{acorex-platform-framework-client-themes-shared-icon-chooser-view.component-Lb1G2Xz7.mjs.map → acorex-platform-framework-client-themes-shared-icon-chooser-view.component-BRrNT6x2.mjs.map} +1 -1
  77. package/fesm2022/{acorex-platform-framework-client-themes-shared-theme-color-chooser-column.component-D4ubvFYf.mjs → acorex-platform-framework-client-themes-shared-theme-color-chooser-column.component-BIsQTr6B.mjs} +4 -4
  78. package/fesm2022/{acorex-platform-framework-client-themes-shared-theme-color-chooser-column.component-D4ubvFYf.mjs.map → acorex-platform-framework-client-themes-shared-theme-color-chooser-column.component-BIsQTr6B.mjs.map} +1 -1
  79. package/fesm2022/{acorex-platform-framework-client-themes-shared-theme-color-chooser-view.component-Br8j_BF_.mjs → acorex-platform-framework-client-themes-shared-theme-color-chooser-view.component-ZclmSbt9.mjs} +16 -10
  80. package/fesm2022/{acorex-platform-framework-client-themes-shared-theme-color-chooser-view.component-Br8j_BF_.mjs.map → acorex-platform-framework-client-themes-shared-theme-color-chooser-view.component-ZclmSbt9.mjs.map} +1 -1
  81. package/fesm2022/acorex-platform-framework-client-themes-shared.mjs +538 -133
  82. package/fesm2022/acorex-platform-framework-client-themes-shared.mjs.map +1 -1
  83. package/fesm2022/acorex-platform-framework-client-workflow.mjs +26 -66
  84. package/fesm2022/acorex-platform-framework-client-workflow.mjs.map +1 -1
  85. package/package.json +10 -10
  86. package/realtime/README.md +16 -0
  87. package/runtime/README.md +14 -0
  88. package/types/acorex-platform-framework-client-auth.d.ts +291 -52
  89. package/types/acorex-platform-framework-client-common.d.ts +615 -202
  90. package/types/acorex-platform-framework-client-core.d.ts +215 -225
  91. package/types/acorex-platform-framework-client-layout-builder.d.ts +24 -8
  92. package/types/acorex-platform-framework-client-layout-components.d.ts +407 -94
  93. package/types/acorex-platform-framework-client-layout-entity.d.ts +734 -411
  94. package/types/acorex-platform-framework-client-layout-views.d.ts +40 -15
  95. package/types/acorex-platform-framework-client-layout-widget-core.d.ts +66 -17
  96. package/types/acorex-platform-framework-client-layout-widgets.d.ts +295 -68
  97. package/types/acorex-platform-framework-client-realtime.d.ts +183 -6
  98. package/types/acorex-platform-framework-client-runtime.d.ts +134 -28
  99. package/types/acorex-platform-framework-client-themes-default.d.ts +9 -1
  100. package/types/acorex-platform-framework-client-themes-shared.d.ts +8 -2
  101. package/types/acorex-platform-framework-client-workflow.d.ts +12 -37
  102. package/fesm2022/acorex-platform-framework-client-common-common-settings.provider-Euotv9l0.mjs.map +0 -1
  103. package/fesm2022/acorex-platform-framework-client-layout-entity-attachments-page.component-BzUM-JMC.mjs.map +0 -1
  104. package/fesm2022/acorex-platform-framework-client-layout-entity-file-list-popup.component-Ci_CTFtq.mjs.map +0 -1
  105. package/fesm2022/acorex-platform-framework-client-layout-entity-gallery-page.component-DmiB__JR.mjs.map +0 -1
  106. package/fesm2022/acorex-platform-framework-client-layout-widgets-image-preview.popup-CazpERbX.mjs.map +0 -1
  107. package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-single-view.component-CIf1VWNW.mjs.map +0 -1
  108. package/fesm2022/acorex-platform-framework-client-themes-default-error-offline.component-DRz-kVsT.mjs.map +0 -1
@@ -14,9 +14,9 @@ import { AXDecoratorModule } from '@acorex/components/decorators';
14
14
  import * as i6 from '@acorex/components/dropdown';
15
15
  import { AXDropdownModule } from '@acorex/components/dropdown';
16
16
  import { AXDropdownButtonModule } from '@acorex/components/dropdown-button';
17
- import { AXPTabNavigationService, AXPStickyDirective, AXPCommonSettings, AXPHomePageService, AXPSettingsService, AXPTabPreviewService, AXPUnsavedChangesConfirmService, AXPBrowserTitleService, axpJoinTabTitleSegments, normalizeRouterUrl, AXP_HOME_TAB_KEY, axpResolveTabKey, axpIsEntityListPath, axpGetEntityListReturnUrl, axpIsEntityDetailsViewRoute, AXPNotFoundError, AXP_NOT_FOUND_ROUTE, AXPUnsavedChangesPopstateService, AXP_ENTITY_DELETED_EVENT_TYPE, createUnsavedChangesCanDeactivateGuard } from '@acorex-platform/framework-client/common';
17
+ import { AXPTabNavigationService, AXPStickyDirective, AXPCommonSettings, AXPHomePageService, AXPSettingsService, AXPTabPreviewService, AXPUnsavedChangesConfirmService, AXPBrowserTitleService, axpJoinTabTitleSegments, normalizeRouterUrl, AXP_HOME_TAB_KEY, axpResolveTabKey, axpIsEntityListPath, axpGetEntityListReturnUrl, axpIsEntityDetailsViewRoute, AXPNotFoundError, AXP_NOT_FOUND_ROUTE, AXPUnsavedChangesPopstateService, createUnsavedChangesCanDeactivateGuard } from '@acorex-platform/framework-client/common';
18
18
  import * as i9 from '@acorex-platform/framework-client/core';
19
- import { AXPDeviceService, AXPComponentSlotModule, AXPDebugService, OVERLAY_DETAILS_VIEW_TRACE_NS, AXPExpressionEvaluatorService, AXPContextEvalFactory, normalizeKeyboardShortcuts, AXPContextStore, AXPBroadcastEventService, AXPKeyboardShortcutRegistry } from '@acorex-platform/framework-client/core';
19
+ import { AXPDeviceService, AXPComponentSlotModule, AXPDebugService, OVERLAY_DETAILS_VIEW_TRACE_NS, AXPExpressionEvaluatorService, AXPContextEvalFactory, normalizeKeyboardShortcuts, AXPContextStore, AXPEntityBroadcastService, AXPKeyboardShortcutRegistry } from '@acorex-platform/framework-client/core';
20
20
  import * as i1 from '@acorex/cdk/drawer';
21
21
  import { AXDrawerDirectiveModule, AXDrawerContainerDirective } from '@acorex/cdk/drawer';
22
22
  import { AXDrawerModule } from '@acorex/components/drawer';
@@ -34,7 +34,7 @@ import { Router, NavigationEnd, ActivatedRoute } from '@angular/router';
34
34
  import { isEmpty, cloneDeep, get } from 'lodash-es';
35
35
  import { filter } from 'rxjs/operators';
36
36
  import { AXBasePageComponent } from '@acorex/components/page';
37
- import { getSmart, AXPKeyboardShortcutPriority } from '@acorex-platform/framework-shared/core';
37
+ import { getSmart, runtimeCommandPayloadData, AXPKeyboardShortcutPriority } from '@acorex-platform/framework-shared/core';
38
38
  import { AXPPageStatus } from '@acorex-platform/framework-shared/widget-core';
39
39
  import { AXPEntityCommandScope, buildPageListTableWidgetId, isPageListWidgetName } from '@acorex-platform/framework-shared/entity';
40
40
  import { signalStore, withState, withComputed, withMethods, patchState } from '@ngrx/signals';
@@ -49,8 +49,7 @@ import * as i5$1 from '@acorex/components/tabs';
49
49
  import { AXTabsModule } from '@acorex/components/tabs';
50
50
  import * as i6$1 from '@acorex-platform/framework-client/layout/widget-core';
51
51
  import { AXPWidgetContainerComponent, AXPWidgetCoreModule } from '@acorex-platform/framework-client/layout/widget-core';
52
- import { AXPWorkflowEventService } from '@acorex-platform/framework-client/workflow';
53
- import { Subject, takeUntil, filter as filter$1 } from 'rxjs';
52
+ import { Subject, takeUntil } from 'rxjs';
54
53
 
55
54
  class AXPPageLayoutBase {
56
55
  }
@@ -61,7 +60,8 @@ class AXPPageLayoutComponent {
61
60
  this.layoutService = inject(AXPLayoutThemeService);
62
61
  this.deviceService = inject(AXPDeviceService);
63
62
  this.tabNavigation = inject(AXPTabNavigationService);
64
- this.startSideDrawer = viewChild('startSideDrawer', ...(ngDevMode ? [{ debugName: "startSideDrawer" }] : /* istanbul ignore next */ []));
63
+ this.startSideDrawer = viewChild('startSideDrawer', /* @ts-ignore */
64
+ ...(ngDevMode ? [{ debugName: "startSideDrawer" }] : /* istanbul ignore next */ []));
65
65
  this.commandService = inject(AXPCommandService);
66
66
  this.#initialize = afterNextRender(async () => {
67
67
  this.checkScrollableContent();
@@ -70,7 +70,8 @@ class AXPPageLayoutComponent {
70
70
  this.page?.title();
71
71
  this.page?.description();
72
72
  this.checkScrollableContent();
73
- }, ...(ngDevMode ? [{ debugName: "#effect" }] : /* istanbul ignore next */ []));
73
+ }, /* @ts-ignore */
74
+ ...(ngDevMode ? [{ debugName: "#effect" }] : /* istanbul ignore next */ []));
74
75
  }
75
76
  #initialize;
76
77
  #effect;
@@ -147,14 +148,34 @@ class AXPPageLayoutComponent {
147
148
  },
148
149
  });
149
150
  }
150
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPPageLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
151
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXPPageLayoutComponent, isStandalone: true, selector: "axp-page-layout", providers: [], viewQueries: [{ propertyName: "startSideDrawer", first: true, predicate: ["startSideDrawer"], descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.AXDrawerContainerDirective }], ngImport: i0, template: "<!-------- Begin Start Side Drawer -------->\n<div\n id=\"axp-drawer-start\"\n [mode]=\"deviceService.isSmall() ? 'overlay' : 'push'\"\n [transition]=\"250\"\n axDrawerItem\n [backDrop]=\"true\"\n (onBackdropClick)=\"handleBackdropClick($event)\"\n #startSideDrawer=\"axDrawerItem\"\n [backdropClass]=\"'bg-darkest/75'\"\n [collapsed]=\"deviceService.isSmall()\"\n drawerLocation=\"start\"\n class=\"h-full\"\n>\n <ng-content select=\"axp-layout-start-side\"></ng-content>\n</div>\n<!-------- Finish Start Side Drawer -------->\n<!--------------------------------------------------------------->\n<!-------- Begin Main Layout Container -------->\n<axp-layout-container id=\"axp-page-layout\" #container>\n <!-------- Begin Page Header -------->\n <axp-layout-header\n id=\"axp-page-header\"\n *translate=\"let t\"\n #sticky=\"axpSticky\"\n [axpSticky]=\"'axp-is-sticky'\"\n [stickyOffset]=\"50\"\n [stickyParent]=\"container.hostElement\"\n >\n <!-------- Begin Back Button (Mobile Only) -------->\n @if (page?.hasBackButton() && deviceService.isSmall()) {\n <ax-button\n id=\"axp-btn-back\"\n [look]=\"'blank'\"\n class=\"ax-sm w-fit ms-1\"\n color=\"secondary\"\n (click)=\"page?.onBackButtonClick()\"\n [text]=\"(page?.backButton()?.title | translate | async) ?? ''\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-chevron-left rtl:rotate-180\"></ax-icon>\n </ax-prefix>\n </ax-button>\n }\n <!-------- Finish Back Button -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Title Bar -------->\n <axp-layout-title-bar id=\"axp-title-bar\">\n <!-------- Begin Title Section -------->\n <div class=\"flex flex-col transition shrink-1 min-w-0\">\n <!-------- Begin Breadcrumbs -------->\n @if (page?.hasBreadcrumbs() && !deviceService.isSmall()) {\n <ax-breadcrumbs id=\"axp-breadcrumb\" class=\"mb-1\">\n @for (item of page?.breadcrumbs(); track $index) {\n <ax-breadcrumbs-item\n [attr.id]=\"'axp-breadcrumb-item-' + $index\"\n [active]=\"$last\"\n (click)=\"!$last && item.command ? execute(item.command) : null\"\n >\n @if (item.icon) {\n <i [class]=\"item.icon\"></i>\n }\n {{ t(item.title) | async }}\n </ax-breadcrumbs-item>\n }\n <ng-template #divider>\n <i class=\"fa-regular fa-chevron-right rtl:rotate-180 fa-sm\"></i>\n </ng-template>\n </ax-breadcrumbs>\n }\n <!-------- Finish Breadcrumbs -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Title Container -------->\n <div class=\"__title-container\">\n <!-------- Begin Page Title -------->\n @if (page?.hasTitle()) {\n <axp-layout-title id=\"axp-page-title\">\n @if (page?.hasTitleIcon()) {\n <ax-icon [icon]=\"page?.titleIcon()!\" class=\"me-2\"></ax-icon>\n }\n {{ page?.title() | translate | async }}\n </axp-layout-title>\n }\n <!-------- Finish Page Title -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Title Actions -------->\n @if (page?.hasTitleActions()) {\n <ax-button\n id=\"axp-btn-title-actions\"\n [look]=\"'blank'\"\n class=\"ax-sm -mx-2\"\n >\n <ax-prefix>\n <i class=\"fa-solid fa-caret-down fa-fw\"></i>\n </ax-prefix>\n <ax-dropdown-panel #panel>\n <ax-button-item-list>\n @for (sub of page?.titleActions(); track $index) {\n <ng-container>\n <ax-button-item\n [attr.id]=\"\n 'axp-btn-title-action-' + (sub.name || $index)\n \"\n [text]=\"(t(sub.title) | async)!\"\n [color]=\"sub.color\"\n [disabled]=\"sub.disabled\"\n [selected]=\"sub.command?.metadata?.['isSelected']\"\n (onClick)=\"handleActionClick(sub)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light {{ sub.icon }}\"></ax-icon>\n </ax-prefix>\n @if (sub.suffix) {\n <ax-suffix>\n @if (sub.suffix.icon) {\n <ax-icon [icon]=\"sub.suffix.icon\"></ax-icon>\n }\n @if (sub.suffix.text) {\n <span>{{ t(sub.suffix.text) | async }}</span>\n }\n @if (sub.suffix.badge) {\n <ax-badge\n [text]=\"(t(sub.suffix.badge.text) | async)!\"\n [color]=\"sub.suffix.badge.color\"\n [look]=\"sub.suffix.badge.look\"\n ></ax-badge>\n }\n </ax-suffix>\n }\n </ax-button-item>\n @if (sub.break) {\n <ax-divider></ax-divider>\n }\n </ng-container>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n <!-------- Finish Title Actions -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Page Status -------->\n\n @if (page?.hasStatus()) {\n <axp-status-chip\n [value]=\"page?.status()?.value ?? null\"\n [readonly]=\"page?.status()?.readonly || false\"\n [definitionKey]=\"page?.status()?.definitionKey ?? null\"\n [entityData]=\"getEntityData()\"\n (transitionExecuted)=\"handleStatusTransition($event)\"\n class=\"__title-status\"\n ></axp-status-chip>\n }\n <!-------- Finish Page Status -------->\n\n <!-------- Begin Title Badge -------->\n @if (page?.hasBadge()) {\n <div\n id=\"axp-page-badge\"\n class=\"__title-badge --{{ page?.badge()?.color }}\"\n [attr.title]=\"page?.badge()?.description ?? page?.badge()?.title\"\n [attr.aria-label]=\"page?.badge()?.title\"\n >\n <i class=\"fa-solid fa-circle\" aria-hidden=\"true\"></i>\n <span class=\"__title-badge-label\">{{\n page?.badge()?.title\n }}</span>\n </div>\n }\n <!-------- Finish Title Badge -------->\n </div>\n <!-------- Finish Title Container -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Page Description -------->\n @if (page?.hasDescription()) {\n <axp-layout-description id=\"axp-page-description\">\n {{\n page?.description() | translate | async\n }}</axp-layout-description\n >\n }\n <!-------- Finish Page Description -------->\n </div>\n <!-------- Finish Title Section -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Page Actions -------->\n <axp-layout-actions id=\"axp-page-actions\" class=\"shrink-0\">\n <axp-component-slot name=\"page-header-actions\"></axp-component-slot>\n <!-------- Begin Primary Actions -------->\n @if (page?.hasPrimaryActions()) {\n @for (item of page?.primaryMenuItems(); track $index) {\n @if (item.visible != false) {\n <ax-button\n [attr.id]=\"'axp-btn-primary-' + (item.name || item.title)\"\n [class.ax-sm]=\"deviceService.isSmall()\"\n [iconOnly]=\"deviceService.isSmall()\"\n [disabled]=\"item.disabled\"\n [text]=\"(t(item.title) | async)!\"\n [look]=\"'solid'\"\n [color]=\"item.color\"\n (onClick)=\"handleActionClick(item)\"\n >\n <ax-prefix>\n <i class=\"{{ item.icon }}\"></i>\n </ax-prefix>\n @if (item?.items) {\n <ax-dropdown-panel #panel>\n <ax-button-item-list>\n @for (sub of item?.items; track $index) {\n @if (sub.visible != false) {\n <ax-button-item\n [attr.id]=\"\n 'axp-btn-primary-' +\n (item.name || item.title) +\n '-' +\n (sub.name || sub.title)\n \"\n [text]=\"(t(sub.title) | async)!\"\n [color]=\"sub.color\"\n [disabled]=\"sub.disabled\"\n (onClick)=\"handleActionClick(sub)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light {{ sub.icon }}\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n @if (sub.break) {\n <ax-divider></ax-divider>\n }\n }\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n }\n </ax-button>\n }\n }\n }\n <!-------- Finish Primary Actions -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Secondary Actions -------->\n @if (page?.hasSecondaryActions()) {\n <ax-button\n id=\"axp-btn-secondary\"\n [class.ax-sm]=\"deviceService.isSmall()\"\n [iconOnly]=\"deviceService.isSmall()\"\n [text]=\"'@general:terms.interface.actions' | translate | async\"\n [look]=\"deviceService.isSmall() ? 'blank' : 'solid'\"\n [color]=\"'default'\"\n >\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n <ax-dropdown-panel #panel>\n <ax-button-item-list>\n @for (item of page?.secondaryMenuItems(); track $index) {\n @if (item.visible != false) {\n <ax-button-item\n [attr.id]=\"\n 'axp-btn-secondary-' + (item.name || item.title)\n \"\n [text]=\"(item.title | translate | async)!\"\n [color]=\"item.color\"\n [disabled]=\"item.disabled\"\n (onClick)=\"handleSecondaryActionClick(item)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light {{ item.icon }}\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n @if (item.break) {\n <ax-divider></ax-divider>\n }\n }\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n <!-------- Finish Secondary Actions -------->\n </axp-layout-actions>\n <!-------- Finish Page Actions -------->\n </axp-layout-title-bar>\n <!-------- Finish Title Bar -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Page Toolbar / Navbar -------->\n @if (!sticky.isSticky) {}\n <ng-content select=\"axp-page-toolbar\"></ng-content>\n <!-------- Finish Page Toolbar / Navbar -------->\n </axp-layout-header>\n <!-------- Finish Page Header -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Page Content -------->\n <ng-content select=\"axp-page-content\"></ng-content>\n <!-------- Finish Page Content -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Page Footer -------->\n <axp-page-footer-container\n id=\"axp-page-footer-container\"\n [ngStyle]=\"{\n display:\n tt.isEmpty() && prefixSlot.isEmpty() && suffixSlot.isEmpty()\n ? 'none'\n : 'block',\n }\"\n >\n <axp-layout-container #tt>\n <ng-content select=\"axp-page-footer\"></ng-content>\n </axp-layout-container>\n <axp-page-footer id=\"axp-page-footer\">\n <axp-layout-prefix>\n <axp-component-slot\n name=\"page-footer-start\"\n #prefixSlot=\"slot\"\n ></axp-component-slot>\n </axp-layout-prefix>\n <axp-layout-suffix>\n <axp-component-slot\n name=\"page-footer-end\"\n #suffixSlot=\"slot\"\n ></axp-component-slot>\n </axp-layout-suffix>\n </axp-page-footer>\n </axp-page-footer-container>\n <!-------- Finish Page Footer -------->\n</axp-layout-container>\n<!-------- Finish Main Layout Container -------->\n", styles: ["@charset \"UTF-8\";@layer properties;.axp-status-icon{font-size:.875rem;line-height:1}.axp-status-chip{display:inline-flex}.axp-status-chip--primary{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface))}.axp-status-icon--primary{color:rgb(var(--ax-sys-color-primary-dark-surface))}.axp-status-chip--secondary{background-color:rgb(var(--ax-sys-color-secondary-lighter-surface));color:rgb(var(--ax-sys-color-on-secondary-lighter-surface))}.axp-status-icon--secondary{color:rgb(var(--ax-sys-color-secondary-dark-surface))}.axp-status-chip--success{background-color:rgb(var(--ax-sys-color-success-lighter-surface));color:rgb(var(--ax-sys-color-on-success-lighter-surface))}.axp-status-icon--success{color:rgb(var(--ax-sys-color-success-dark-surface))}.axp-status-chip--warning{background-color:rgb(var(--ax-sys-color-warning-lighter-surface));color:rgb(var(--ax-sys-color-on-warning-lighter-surface))}.axp-status-icon--warning{color:rgb(var(--ax-sys-color-warning-dark-surface))}.axp-status-chip--danger{background-color:rgb(var(--ax-sys-color-danger-lighter-surface));color:rgb(var(--ax-sys-color-on-danger-lighter-surface))}.axp-status-icon--danger{color:rgb(var(--ax-sys-color-danger-dark-surface))}.axp-status-chip--info{background-color:rgb(var(--ax-sys-color-accent3-lighter-surface));color:rgb(var(--ax-sys-color-on-accent3-lighter-surface))}.axp-status-icon--info{color:rgb(var(--ax-sys-color-accent3-dark-surface))}.axp-status-chip--accent1{background-color:rgb(var(--ax-sys-color-accent1-lighter-surface));color:rgb(var(--ax-sys-color-on-accent1-lighter-surface))}.axp-status-icon--accent1{color:rgb(var(--ax-sys-color-accent1-dark-surface))}.axp-status-chip--accent2{background-color:rgb(var(--ax-sys-color-accent2-lighter-surface));color:rgb(var(--ax-sys-color-on-accent2-lighter-surface))}.axp-status-icon--accent2{color:rgb(var(--ax-sys-color-accent2-dark-surface))}.axp-status-chip--accent3{background-color:rgb(var(--ax-sys-color-accent3-lighter-surface));color:rgb(var(--ax-sys-color-on-accent3-lighter-surface))}.axp-status-icon--accent3{color:rgb(var(--ax-sys-color-accent3-dark-surface))}.axp-status-chip--neutral{background-color:rgb(var(--ax-sys-color-neutral-lighter-surface));color:rgb(var(--ax-sys-color-on-neutral-lighter-surface))}.axp-status-icon--neutral{color:rgb(var(--ax-sys-color-neutral-dark-surface))}axp-layout-title{display:block;width:100%;--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axp-layout-description{display:block;width:100%;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));opacity:65%}axp-layout-actions{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 3)}axp-layout-actions axp-layout-actions-primary{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 3)}axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar{display:flex;width:100%;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-footer>axp-layout-prefix,axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-prefix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-prefix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-prefix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-prefix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-prefix,axp-page-toolbar>axp-layout-suffix{display:flex;flex-direction:row;align-items:center;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-footer>axp-layout-prefix,axp-layout-toolbar>axp-layout-prefix,axp-layout-header>axp-layout-prefix,axp-page-header>axp-layout-prefix,axp-page-footer>axp-layout-prefix,axp-page-toolbar>axp-layout-prefix{order:-9999}axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-suffix{order:9999;margin-inline-start:auto}axp-layout-list{display:flex;flex-direction:column}:where(axp-layout-list>:not(:last-child)){--tw-divide-y-reverse: 0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(axp-layout-list>:not(:last-child)){--tw-border-style: dashed;border-style:dashed}axp-layout-list:focus{outline:none}axp-layout-list-group{display:flex;flex-direction:column;padding-block:calc(var(--spacing, .25rem) * 2)}axp-layout-list-group>axp-layout-title{padding-bottom:calc(var(--spacing, .25rem) * 2);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axp-layout-list-group>axp-layout-header{display:flex;justify-content:space-between;padding-block:calc(var(--spacing, .25rem) * 2)}axp-layout-list-item{margin-top:var(--spacing, .25rem);display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 3);padding-inline:calc(var(--spacing, .25rem) * 2);padding-block:calc(var(--spacing, .25rem) * 2);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}axp-layout-list-item:focus{outline:none}axp-layout-list-item.axp-state-focused,axp-layout-list-item:hover{cursor:pointer;border-radius:.25rem;background-color:rgba(var(--ax-sys-color-light-surface));color:rgba(var(--ax-sys-color-on-lightest-surface))}axp-layout-list-item>axp-layout-prefix{margin-inline-end:auto;display:flex;flex-direction:row;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-list-item>axp-layout-content{flex:1}axp-layout-list-item>axp-layout-content axp-layout-description{margin-top:var(--spacing, .25rem)!important;font-size:var(--text-xs, .75rem)!important;line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)))!important}axp-layout-list-item>axp-layout-suffix{margin-inline-start:auto;display:flex;flex-direction:row;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-sections{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 4)}axp-layout-sections axp-layout-section{display:block;border-radius:var(--radius-md, .375rem);border-style:var(--tw-border-style);border-width:1px;--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 2)}@media(width>=80rem){axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding-block:calc(var(--spacing, .25rem) * 4)}}axp-layout-sections axp-layout-section>axp-layout-header{display:flex;flex-direction:column;gap:0;border-top-left-radius:var(--radius-md, .375rem);border-top-right-radius:var(--radius-md, .375rem);border-bottom-style:var(--tw-border-style);border-bottom-width:1px}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-title{--tw-font-weight: var(--font-weight-bold, 700);font-weight:var(--font-weight-bold, 700);color:var(--color-text-default)}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-description{margin-top:var(--spacing, .25rem);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}axp-layout-sections axp-layout-section>axp-layout-footer{display:flex;align-items:center;justify-content:space-between;border-bottom-right-radius:var(--radius-md, .375rem);border-bottom-left-radius:var(--radius-md, .375rem);border-top-style:var(--tw-border-style);border-top-width:1px;padding:calc(var(--spacing, .25rem) * 4)}axp-layout-sections axp-layout-section>axp-layout-footer>axp-layout-suffix{margin-inline-start:auto;display:flex;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-sections axp-layout-section>axp-layout-footer{opacity:0;animation:fadeInDown .5s ease-out forwards}@keyframes fadeInDown{0%{opacity:0}to{opacity:1}}axp-page-layout{display:flex;width:100%;height:100%;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}axp-page-layout:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:var(--color-dark);color:var(--color-on-dark);border-color:var(--color-border-dark)}axp-page-layout axp-layout-start-side,axp-page-layout axp-layout-end-side{display:flex;min-height:100%;min-width:calc(var(--spacing, .25rem) * 64);flex-direction:column;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}:is(axp-page-layout axp-layout-start-side,axp-page-layout axp-layout-end-side):where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:var(--color-darker);color:var(--color-on-darker);border-color:var(--color-border-darker)}axp-page-layout axp-layout-start-side axp-layout-header,axp-page-layout axp-layout-end-side axp-layout-header{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 2);padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 4)}axp-page-layout axp-layout-start-side axp-layout-header>axp-layout-title,axp-page-layout axp-layout-end-side axp-layout-header>axp-layout-title{font-size:var(--text-lg, 1.125rem);line-height:var(--tw-leading, var(--text-lg--line-height, calc(1.75 / 1.125)));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}axp-page-layout axp-layout-start-side>axp-layout-content,axp-page-layout axp-layout-end-side>axp-layout-content{flex:1}axp-page-layout>axp-layout-container{position:relative;display:flex;width:100%;height:100%;flex-direction:column;overflow:auto}axp-page-layout>axp-layout-container>axp-layout-header{position:sticky;top:0;z-index:20;display:flex;flex-direction:column;align-items:flex-start;gap:0;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest);padding-block:calc(var(--spacing, .25rem) * 2);transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s))}@media(width>=48rem){axp-page-layout>axp-layout-container>axp-layout-header{padding-top:calc(var(--spacing, .25rem) * 4)}}axp-page-layout>axp-layout-container>axp-layout-header:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:var(--color-dark);color:var(--color-on-dark);border-color:var(--color-border-dark)}axp-page-layout>axp-layout-container>axp-layout-header.axp-is-sticky{border-color:rgba(var(--ax-sys-color-lightest-surface));--tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}axp-page-layout>axp-layout-container>axp-layout-header ax-breadcrumbs ax-breadcrumbs-item{font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)))}axp-page-layout>axp-layout-container>axp-layout-header ax-breadcrumbs ax-breadcrumbs-item.ax-state-active .ax-breadcrumb-item-content{cursor:default;color:var(--color-text-default);opacity:75%}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar{display:flex;width:100%;align-items:center;justify-content:space-between;padding-inline:calc(var(--spacing, .25rem) * 4)}@media(width>=80rem){axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar{border-style:var(--tw-border-style);border-width:0px}}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar ax-layout-nav-button{display:flex;align-items:center;justify-content:space-between}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container{display:flex;align-items:baseline;gap:calc(var(--spacing, .25rem) * 3)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container axp-layout-title{display:inline-block;width:fit-content;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xl, 1.25rem);line-height:var(--tw-leading, var(--text-xl--line-height, calc(1.75 / 1.25)));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}@media(width>=64rem){axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container axp-layout-title{font-size:var(--text-2xl, 1.5rem);line-height:var(--tw-leading, var(--text-2xl--line-height, calc(2 / 1.5)))}}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge{display:inline-flex;--tw-translate-y: -3px ;translate:var(--tw-translate-x) var(--tw-translate-y);align-items:center;align-self:baseline;border-radius:var(--radius-md, .375rem);padding-inline:calc(var(--spacing, .25rem) * 2);padding-block:var(--spacing, .25rem);font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));--tw-leading: 1;line-height:1;--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge i{margin-inline-end:var(--spacing, .25rem);--tw-leading: 1;line-height:1;font-size:.5rem}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--warning{background-color:var(--color-warning-lightest);color:var(--color-on-warning-lightest);border-color:var(--color-border-warning-lightest)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--warning i{color:rgb(var(--ax-sys-color-warning-500))}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--danger{background-color:var(--color-danger-lightest);color:var(--color-on-danger-lightest);border-color:var(--color-border-danger-lightest)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--danger i{color:rgb(var(--ax-sys-color-danger-500))}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--success{background-color:var(--color-success-lightest);color:var(--color-on-success-lightest);border-color:var(--color-border-success-lightest)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--success i{color:rgb(var(--ax-sys-color-success-500))}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--primary{background-color:var(--color-primary-lightest);color:var(--color-on-primary-lightest);border-color:var(--color-border-primary-lightest)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--primary i{color:rgb(var(--ax-sys-color-primary-500))}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--secondary i{color:rgb(var(--ax-sys-color-secondary-500))}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--default i{color:rgb(var(--ax-sys-color-on-surface) / .45)}@media(max-width:600px){axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge{--tw-translate-y: 0;translate:var(--tw-translate-x) var(--tw-translate-y);background-color:transparent;padding:0;--tw-shadow: 0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge .__title-badge-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge i{margin:0;font-size:.625rem}}axp-page-layout>axp-layout-container>axp-layout-header axp-page-toolbar{margin-top:calc(var(--spacing, .25rem) * 2);padding-inline:calc(var(--spacing, .25rem) * 4)}axp-page-layout>axp-layout-container>axp-page-content{display:flex;width:100%;flex:1;flex-direction:column;padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 3)}axp-page-layout>axp-layout-container>axp-page-content.--scrollable{padding-bottom:calc(var(--spacing, .25rem) * 4)}axp-page-layout>axp-layout-container>axp-page-footer-container{border-top-style:var(--tw-border-style);border-top-width:1px;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest);position:sticky;bottom:0;z-index:20;padding-inline:calc(var(--spacing, .25rem) * 3);padding-block:calc(var(--spacing, .25rem) * 3);--tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}axp-page-layout>axp-layout-container>axp-page-footer-container:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:var(--color-lighter);color:var(--color-on-lighter);border-color:var(--color-border-lighter)}axp-page-layout>axp-layout-container>axp-page-footer-container.--animated{animation:var(--animate-fadeInUp, 1s both fadeInUp);--tw-duration: .3s;transition-duration:.3s;--tw-ease: var(--ease-out, cubic-bezier(0, 0, .2, 1));transition-timing-function:var(--ease-out, cubic-bezier(0, 0, .2, 1))}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-divide-y-reverse{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-translate-x{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-leading{syntax: \"*\"; inherits: false;}@property --tw-duration{syntax: \"*\"; inherits: false;}@property --tw-ease{syntax: \"*\"; inherits: false;}@keyframes fadeInDown{0%{transform:translate3d(0,-100%,0);opacity:0}}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight: initial;--tw-divide-y-reverse: 0;--tw-border-style: solid;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-leading: initial;--tw-duration: initial;--tw-ease: initial}}}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type:
151
+ resolveEntityActionTestId(item) {
152
+ const rawCommand = typeof item.command === 'string'
153
+ ? item.command
154
+ : item.command && typeof item.command === 'object' && 'name' in item.command
155
+ ? String(item.command.name)
156
+ : typeof item.name === 'string'
157
+ ? item.name
158
+ : null;
159
+ const commandName = rawCommand?.split('&')[0] ?? null;
160
+ if (commandName === 'Entity:Create') {
161
+ return 'entity-list-create';
162
+ }
163
+ if (commandName === 'Entity:Edit') {
164
+ return 'entity-list-edit';
165
+ }
166
+ if (commandName === 'Entity:Remove') {
167
+ return 'entity-list-delete';
168
+ }
169
+ return null;
170
+ }
171
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPPageLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
172
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXPPageLayoutComponent, isStandalone: true, selector: "axp-page-layout", providers: [], viewQueries: [{ propertyName: "startSideDrawer", first: true, predicate: ["startSideDrawer"], descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.AXDrawerContainerDirective }], ngImport: i0, template: "<!-------- Begin Start Side Drawer -------->\n<div\n id=\"axp-drawer-start\"\n [mode]=\"deviceService.isSmall() ? 'overlay' : 'push'\"\n [transition]=\"250\"\n axDrawerItem\n [backDrop]=\"true\"\n (onBackdropClick)=\"handleBackdropClick($event)\"\n #startSideDrawer=\"axDrawerItem\"\n [backdropClass]=\"'bg-darkest/75'\"\n [collapsed]=\"deviceService.isSmall()\"\n drawerLocation=\"start\"\n class=\"h-full\"\n>\n <ng-content select=\"axp-layout-start-side\"></ng-content>\n</div>\n<!-------- Finish Start Side Drawer -------->\n<!--------------------------------------------------------------->\n<!-------- Begin Main Layout Container -------->\n<axp-layout-container id=\"axp-page-layout\" #container>\n <!-------- Begin Page Header -------->\n <axp-layout-header\n id=\"axp-page-header\"\n *translate=\"let t\"\n #sticky=\"axpSticky\"\n [axpSticky]=\"'axp-is-sticky'\"\n [stickyOffset]=\"50\"\n [stickyParent]=\"container.hostElement\"\n >\n <!-------- Begin Back Button (phone and tablet) -------->\n @if (page?.hasBackButton() && !deviceService.isLarge()) {\n <ax-button\n id=\"axp-btn-back\"\n [look]=\"'blank'\"\n class=\"ax-sm w-fit ms-1\"\n color=\"secondary\"\n (click)=\"page?.onBackButtonClick()\"\n [text]=\"($safeNavigationMigration(page?.backButton()?.title) | translate | async) ?? ''\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-chevron-left rtl:rotate-180\"></ax-icon>\n </ax-prefix>\n </ax-button>\n }\n <!-------- Finish Back Button -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Title Bar -------->\n <axp-layout-title-bar id=\"axp-title-bar\">\n <!-------- Begin Title Section -------->\n <div class=\"flex flex-col transition shrink-1 min-w-0\">\n <!-------- Begin Breadcrumbs -------->\n @if (page?.hasBreadcrumbs() && !deviceService.isSmall()) {\n <ax-breadcrumbs id=\"axp-breadcrumb\" class=\"mb-1\">\n @for (item of page?.breadcrumbs(); track $index) {\n <ax-breadcrumbs-item\n [attr.id]=\"'axp-breadcrumb-item-' + $index\"\n [active]=\"$last\"\n (click)=\"!$last && item.command ? execute(item.command) : null\"\n >\n @if (item.icon) {\n <i [class]=\"item.icon\"></i>\n }\n {{ t(item.title) | async }}\n </ax-breadcrumbs-item>\n }\n <ng-template #divider>\n <i class=\"fa-regular fa-chevron-right rtl:rotate-180 fa-sm\"></i>\n </ng-template>\n </ax-breadcrumbs>\n }\n <!-------- Finish Breadcrumbs -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Title Container -------->\n <div class=\"__title-container\">\n <!-------- Begin Page Title -------->\n @if (page?.hasTitle()) {\n <axp-layout-title id=\"axp-page-title\">\n @if (page?.hasTitleIcon()) {\n <ax-icon [icon]=\"$safeNavigationMigration(page?.titleIcon())!\" class=\"me-2\"></ax-icon>\n }\n {{ $safeNavigationMigration(page?.title()) | translate | async }}\n </axp-layout-title>\n }\n <!-------- Finish Page Title -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Title Actions -------->\n @if (page?.hasTitleActions()) {\n <ax-button\n id=\"axp-btn-title-actions\"\n [look]=\"'blank'\"\n class=\"ax-sm -mx-2\"\n >\n <ax-prefix>\n <i class=\"fa-solid fa-caret-down fa-fw\"></i>\n </ax-prefix>\n <ax-dropdown-panel #panel>\n <ax-button-item-list>\n @for (sub of page?.titleActions(); track $index) {\n <ng-container>\n <ax-button-item\n [attr.id]=\"\n 'axp-btn-title-action-' + (sub.name || $index)\n \"\n [text]=\"(t(sub.title) | async)!\"\n [color]=\"sub.color\"\n [disabled]=\"sub.disabled\"\n [selected]=\"$safeNavigationMigration(sub.command?.metadata?.['isSelected'])\"\n (onClick)=\"handleActionClick(sub)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light {{ sub.icon }}\"></ax-icon>\n </ax-prefix>\n @if (sub.suffix) {\n <ax-suffix>\n @if (sub.suffix.icon) {\n <ax-icon [icon]=\"sub.suffix.icon\"></ax-icon>\n }\n @if (sub.suffix.text) {\n <span>{{ t(sub.suffix.text) | async }}</span>\n }\n @if (sub.suffix.badge) {\n <ax-badge\n [text]=\"(t(sub.suffix.badge.text) | async)!\"\n [color]=\"sub.suffix.badge.color\"\n [look]=\"sub.suffix.badge.look\"\n ></ax-badge>\n }\n </ax-suffix>\n }\n </ax-button-item>\n @if (sub.break) {\n <ax-divider></ax-divider>\n }\n </ng-container>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n <!-------- Finish Title Actions -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Page Status -------->\n\n @if (page?.hasStatus()) {\n <axp-status-chip\n [value]=\"page?.status()?.value ?? null\"\n [readonly]=\"page?.status()?.readonly || false\"\n [definitionKey]=\"page?.status()?.definitionKey ?? null\"\n [entityData]=\"getEntityData()\"\n (transitionExecuted)=\"handleStatusTransition($event)\"\n class=\"__title-status\"\n ></axp-status-chip>\n }\n <!-------- Finish Page Status -------->\n\n <!-------- Begin Title Badge -------->\n @if (page?.hasBadge()) {\n <div\n id=\"axp-page-badge\"\n class=\"__title-badge --{{ page?.badge()?.color }}\"\n [attr.title]=\"page?.badge()?.description ?? page?.badge()?.title\"\n [attr.aria-label]=\"page?.badge()?.title\"\n >\n <i class=\"fa-solid fa-circle\" aria-hidden=\"true\"></i>\n <span class=\"__title-badge-label\">{{\n page?.badge()?.title\n }}</span>\n </div>\n }\n <!-------- Finish Title Badge -------->\n </div>\n <!-------- Finish Title Container -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Page Description -------->\n @if (page?.hasDescription()) {\n @if (\n ($safeNavigationMigration(page?.description()) | translate | async);\n as descriptionText\n ) {\n <axp-layout-description\n id=\"axp-page-description\"\n [attr.title]=\"descriptionText\"\n >\n {{ descriptionText }}\n </axp-layout-description>\n }\n }\n <!-------- Finish Page Description -------->\n </div>\n <!-------- Finish Title Section -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Page Actions -------->\n <axp-layout-actions id=\"axp-page-actions\" class=\"shrink-0\">\n <axp-component-slot name=\"page-header-actions\"></axp-component-slot>\n <!-------- Begin Primary Actions -------->\n @if (page?.hasPrimaryActions()) {\n @for (item of page?.primaryMenuItems(); track $index) {\n @if (item.visible != false) {\n <ax-button\n [attr.id]=\"'axp-btn-primary-' + (item.name || item.title)\"\n [attr.data-testid]=\"resolveEntityActionTestId(item)\"\n [class.ax-sm]=\"deviceService.isSmall()\"\n [iconOnly]=\"deviceService.isSmall()\"\n [disabled]=\"item.disabled\"\n [text]=\"(t(item.title) | async)!\"\n [look]=\"'solid'\"\n [color]=\"item.color\"\n (onClick)=\"handleActionClick(item)\"\n >\n <ax-prefix>\n <i class=\"{{ item.icon }}\"></i>\n </ax-prefix>\n @if (item?.items) {\n <ax-dropdown-panel #panel>\n <ax-button-item-list>\n @for (sub of item?.items; track $index) {\n @if (sub.visible != false) {\n <ax-button-item\n [attr.id]=\"\n 'axp-btn-primary-' +\n (item.name || item.title) +\n '-' +\n (sub.name || sub.title)\n \"\n [text]=\"(t(sub.title) | async)!\"\n [color]=\"sub.color\"\n [disabled]=\"sub.disabled\"\n (onClick)=\"handleActionClick(sub)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light {{ sub.icon }}\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n @if (sub.break) {\n <ax-divider></ax-divider>\n }\n }\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n }\n </ax-button>\n }\n }\n }\n <!-------- Finish Primary Actions -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Secondary Actions -------->\n @if (page?.hasSecondaryActions()) {\n <ax-button\n id=\"axp-btn-secondary\"\n [class.ax-sm]=\"deviceService.isSmall()\"\n [iconOnly]=\"deviceService.isSmall()\"\n [text]=\"'@general:terms.interface.actions' | translate | async\"\n [look]=\"deviceService.isSmall() ? 'blank' : 'solid'\"\n [color]=\"'default'\"\n >\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n <ax-dropdown-panel #panel>\n <ax-button-item-list>\n @for (item of page?.secondaryMenuItems(); track $index) {\n @if (item.visible != false) {\n <ax-button-item\n [attr.id]=\"\n 'axp-btn-secondary-' + (item.name || item.title)\n \"\n [text]=\"(item.title | translate | async)!\"\n [color]=\"item.color\"\n [disabled]=\"item.disabled\"\n (onClick)=\"handleSecondaryActionClick(item)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light {{ item.icon }}\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n @if (item.break) {\n <ax-divider></ax-divider>\n }\n }\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n <!-------- Finish Secondary Actions -------->\n </axp-layout-actions>\n <!-------- Finish Page Actions -------->\n </axp-layout-title-bar>\n <!-------- Finish Title Bar -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Page Toolbar / Navbar -------->\n @if (!sticky.isSticky) {}\n <ng-content select=\"axp-page-toolbar\"></ng-content>\n <!-------- Finish Page Toolbar / Navbar -------->\n </axp-layout-header>\n <!-------- Finish Page Header -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Page Content -------->\n <ng-content select=\"axp-page-content\"></ng-content>\n <!-------- Finish Page Content -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Page Footer -------->\n <axp-page-footer-container\n id=\"axp-page-footer-container\"\n [ngStyle]=\"{\n display:\n tt.isEmpty() && prefixSlot.isEmpty() && suffixSlot.isEmpty()\n ? 'none'\n : 'block',\n }\"\n >\n <axp-layout-container #tt>\n <ng-content select=\"axp-page-footer\"></ng-content>\n </axp-layout-container>\n <axp-page-footer id=\"axp-page-footer\">\n <axp-layout-prefix>\n <axp-component-slot\n name=\"page-footer-start\"\n #prefixSlot=\"slot\"\n ></axp-component-slot>\n </axp-layout-prefix>\n <axp-layout-suffix>\n <axp-component-slot\n name=\"page-footer-end\"\n #suffixSlot=\"slot\"\n ></axp-component-slot>\n </axp-layout-suffix>\n </axp-page-footer>\n </axp-page-footer-container>\n <!-------- Finish Page Footer -------->\n</axp-layout-container>\n<!-------- Finish Main Layout Container -------->\n", styles: ["@charset \"UTF-8\";@layer properties;.axp-status-icon{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-leading: 1;line-height:1}.axp-status-chip{display:inline-flex}.axp-status-chip--primary{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface))}.axp-status-icon--primary{color:rgb(var(--ax-sys-color-primary-dark-surface))}.axp-status-chip--secondary{background-color:rgb(var(--ax-sys-color-secondary-lighter-surface));color:rgb(var(--ax-sys-color-on-secondary-lighter-surface))}.axp-status-icon--secondary{color:rgb(var(--ax-sys-color-secondary-dark-surface))}.axp-status-chip--success{background-color:rgb(var(--ax-sys-color-success-lighter-surface));color:rgb(var(--ax-sys-color-on-success-lighter-surface))}.axp-status-icon--success{color:rgb(var(--ax-sys-color-success-dark-surface))}.axp-status-chip--warning{background-color:rgb(var(--ax-sys-color-warning-lighter-surface));color:rgb(var(--ax-sys-color-on-warning-lighter-surface))}.axp-status-icon--warning{color:rgb(var(--ax-sys-color-warning-dark-surface))}.axp-status-chip--danger{background-color:rgb(var(--ax-sys-color-danger-lighter-surface));color:rgb(var(--ax-sys-color-on-danger-lighter-surface))}.axp-status-icon--danger{color:rgb(var(--ax-sys-color-danger-dark-surface))}.axp-status-chip--info{background-color:rgb(var(--ax-sys-color-accent3-lighter-surface));color:rgb(var(--ax-sys-color-on-accent3-lighter-surface))}.axp-status-icon--info{color:rgb(var(--ax-sys-color-accent3-dark-surface))}.axp-status-chip--accent1{background-color:rgb(var(--ax-sys-color-accent1-lighter-surface));color:rgb(var(--ax-sys-color-on-accent1-lighter-surface))}.axp-status-icon--accent1{color:rgb(var(--ax-sys-color-accent1-dark-surface))}.axp-status-chip--accent2{background-color:rgb(var(--ax-sys-color-accent2-lighter-surface));color:rgb(var(--ax-sys-color-on-accent2-lighter-surface))}.axp-status-icon--accent2{color:rgb(var(--ax-sys-color-accent2-dark-surface))}.axp-status-chip--accent3{background-color:rgb(var(--ax-sys-color-accent3-lighter-surface));color:rgb(var(--ax-sys-color-on-accent3-lighter-surface))}.axp-status-icon--accent3{color:rgb(var(--ax-sys-color-accent3-dark-surface))}.axp-status-chip--neutral{background-color:rgb(var(--ax-sys-color-neutral-lighter-surface));color:rgb(var(--ax-sys-color-on-neutral-lighter-surface))}.axp-status-icon--neutral{color:rgb(var(--ax-sys-color-neutral-dark-surface))}axp-layout-title{display:block;width:100%;--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axp-layout-description{display:block;width:100%;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));opacity:65%}axp-layout-actions{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 3)}axp-layout-actions axp-layout-actions-primary{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 3)}axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar{display:flex;width:100%;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 2)}:is(axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar)>axp-layout-prefix,:is(axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar)>axp-layout-suffix{display:flex;flex-direction:row;align-items:center;gap:calc(var(--spacing, .25rem) * 2)}:is(axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar)>axp-layout-prefix{order:-9999}:is(axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar)>axp-layout-suffix{order:9999;margin-inline-start:auto}axp-layout-list{display:flex;flex-direction:column}:where(axp-layout-list>:not(:last-child)){--tw-divide-y-reverse: 0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(axp-layout-list>:not(:last-child)){--tw-border-style: dashed;border-style:dashed}axp-layout-list:focus{outline:none}axp-layout-list-group{display:flex;flex-direction:column;padding-block:calc(var(--spacing, .25rem) * 2)}axp-layout-list-group>axp-layout-title{padding-bottom:calc(var(--spacing, .25rem) * 2);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axp-layout-list-group>axp-layout-header{display:flex;justify-content:space-between;padding-block:calc(var(--spacing, .25rem) * 2)}axp-layout-list-item{margin-top:var(--spacing, .25rem);display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 3);padding-inline:calc(var(--spacing, .25rem) * 2);padding-block:calc(var(--spacing, .25rem) * 2);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}axp-layout-list-item:focus{outline:none}axp-layout-list-item.axp-state-focused,axp-layout-list-item:hover{cursor:pointer;border-radius:.25rem;background-color:rgba(var(--ax-sys-color-light-surface));color:rgba(var(--ax-sys-color-on-lightest-surface))}axp-layout-list-item>axp-layout-prefix{margin-inline-end:auto;display:flex;flex-direction:row;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-list-item>axp-layout-content{flex:1}axp-layout-list-item>axp-layout-content axp-layout-description{margin-top:var(--spacing, .25rem)!important;font-size:var(--text-xs, .75rem)!important;line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)))!important}axp-layout-list-item>axp-layout-suffix{margin-inline-start:auto;display:flex;flex-direction:row;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-sections{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 4)}axp-layout-sections axp-layout-section{display:block;border-radius:var(--radius-md, .375rem);border-style:var(--tw-border-style);border-width:1px;--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 2)}@media(width>=80rem){axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding-block:calc(var(--spacing, .25rem) * 4)}}axp-layout-sections axp-layout-section>axp-layout-header{display:flex;flex-direction:column;gap:0px;border-top-left-radius:var(--radius-md, .375rem);border-top-right-radius:var(--radius-md, .375rem);border-bottom-style:var(--tw-border-style);border-bottom-width:1px}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-title{--tw-font-weight: var(--font-weight-bold, 700);font-weight:var(--font-weight-bold, 700)}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-description{margin-top:var(--spacing, .25rem);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}axp-layout-sections axp-layout-section>axp-layout-footer{display:flex;align-items:center;justify-content:space-between;border-bottom-right-radius:var(--radius-md, .375rem);border-bottom-left-radius:var(--radius-md, .375rem);border-top-style:var(--tw-border-style);border-top-width:1px;padding:calc(var(--spacing, .25rem) * 4)}axp-layout-sections axp-layout-section>axp-layout-footer>axp-layout-suffix{margin-inline-start:auto;display:flex;gap:calc(var(--spacing, .25rem) * 2)}@keyframes fadeInDown{0%{opacity:0}to{opacity:1}}axp-page-layout{display:flex;width:100%;height:100%;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}axp-page-layout:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:var(--color-dark);color:var(--color-on-dark);border-color:var(--color-border-dark)}axp-page-layout axp-layout-start-side,axp-page-layout axp-layout-end-side{display:flex;min-height:100%;min-width:calc(var(--spacing, .25rem) * 64);flex-direction:column;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}:is(axp-page-layout axp-layout-start-side,axp-page-layout axp-layout-end-side):where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:var(--color-darker);color:var(--color-on-darker);border-color:var(--color-border-darker)}:is(axp-page-layout axp-layout-start-side,axp-page-layout axp-layout-end-side) axp-layout-header{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 2);padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 4)}:is(axp-page-layout axp-layout-start-side,axp-page-layout axp-layout-end-side) axp-layout-header>axp-layout-title{font-size:var(--text-lg, 1.125rem);line-height:var(--tw-leading, var(--text-lg--line-height, calc(1.75 / 1.125)));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}:is(axp-page-layout axp-layout-start-side,axp-page-layout axp-layout-end-side)>axp-layout-content{flex:1}axp-page-layout>axp-layout-container{position:relative;display:flex;width:100%;height:100%;flex-direction:column;overflow:auto}axp-page-layout>axp-layout-container>axp-layout-header{position:sticky;top:0;z-index:20;display:flex;flex-direction:column;align-items:flex-start;gap:0px;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest);padding-block:calc(var(--spacing, .25rem) * 2);transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s))}@media(width>=48rem){axp-page-layout>axp-layout-container>axp-layout-header{padding-top:calc(var(--spacing, .25rem) * 4)}}axp-page-layout>axp-layout-container>axp-layout-header:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:var(--color-dark);color:var(--color-on-dark);border-color:var(--color-border-dark)}axp-page-layout>axp-layout-container>axp-layout-header.axp-is-sticky{border-color:rgba(var(--ax-sys-color-lightest-surface));--tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}axp-page-layout>axp-layout-container>axp-layout-header ax-breadcrumbs ax-breadcrumbs-item{font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)))}axp-page-layout>axp-layout-container>axp-layout-header ax-breadcrumbs ax-breadcrumbs-item.ax-state-active .ax-breadcrumb-item-content{cursor:default;color:var(--color-text-default);opacity:75%}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar{display:flex;width:100%;align-items:center;justify-content:space-between;padding-inline:calc(var(--spacing, .25rem) * 4)}@media(width>=80rem){axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar{border-style:var(--tw-border-style);border-width:0px}}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar ax-layout-nav-button{display:flex;align-items:center;justify-content:space-between}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container{display:flex;align-items:baseline;gap:calc(var(--spacing, .25rem) * 3)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container axp-layout-title{display:inline-block;width:fit-content;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xl, 1.25rem);line-height:var(--tw-leading, var(--text-xl--line-height, calc(1.75 / 1.25)));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}@media(width>=64rem){axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container axp-layout-title{font-size:var(--text-2xl, 1.5rem);line-height:var(--tw-leading, var(--text-2xl--line-height, calc(2 / 1.5)))}}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge{display:inline-flex;--tw-translate-y: -3px ;translate:var(--tw-translate-x) var(--tw-translate-y);align-items:center;align-self:baseline;border-radius:var(--radius-md, .375rem);padding-inline:calc(var(--spacing, .25rem) * 2);padding-block:var(--spacing, .25rem);font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));--tw-leading: 1;line-height:1;--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge i{margin-inline-end:var(--spacing, .25rem);--tw-leading: 1;line-height:1;font-size:.5rem}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--warning{background-color:var(--color-warning-lightest);color:var(--color-on-warning-lightest);border-color:var(--color-border-warning-lightest)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--warning i{color:rgb(var(--ax-sys-color-warning-500))}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--danger{background-color:var(--color-danger-lightest);color:var(--color-on-danger-lightest);border-color:var(--color-border-danger-lightest)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--danger i{color:rgb(var(--ax-sys-color-danger-500))}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--success{background-color:var(--color-success-lightest);color:var(--color-on-success-lightest);border-color:var(--color-border-success-lightest)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--success i{color:rgb(var(--ax-sys-color-success-500))}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--primary{background-color:var(--color-primary-lightest);color:var(--color-on-primary-lightest);border-color:var(--color-border-primary-lightest)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--primary i{color:rgb(var(--ax-sys-color-primary-500))}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--secondary i{color:rgb(var(--ax-sys-color-secondary-500))}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--default i{color:rgb(var(--ax-sys-color-on-surface) / .45)}axp-page-layout>axp-layout-container>axp-layout-header axp-page-toolbar{margin-top:calc(var(--spacing, .25rem) * 2);padding-inline:calc(var(--spacing, .25rem) * 4)}axp-page-layout>axp-layout-container>axp-page-content{display:flex;width:100%;flex:1;flex-direction:column;padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 3)}axp-page-layout>axp-layout-container>axp-page-content.--scrollable{padding-bottom:calc(var(--spacing, .25rem) * 4)}axp-page-layout>axp-layout-container>axp-page-footer-container{position:sticky;bottom:0;z-index:20;border-top-style:var(--tw-border-style);border-top-width:1px;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest);padding-inline:calc(var(--spacing, .25rem) * 3);padding-block:calc(var(--spacing, .25rem) * 3);--tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}axp-page-layout>axp-layout-container>axp-page-footer-container:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:var(--color-lighter);color:var(--color-on-lighter);border-color:var(--color-border-lighter)}axp-page-layout>axp-layout-container>axp-page-footer-container.--animated{animation:var(--animate-fadeInUp, 1s both fadeInUp);--tw-duration: .3s;transition-duration:.3s;--tw-ease: var(--ease-out, cubic-bezier(0, 0, .2, 1));transition-timing-function:var(--ease-out, cubic-bezier(0, 0, .2, 1))}@media(max-width:600px){axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge{--tw-translate-y: 0px;translate:var(--tw-translate-x) var(--tw-translate-y);background-color:transparent;padding:0;--tw-shadow: 0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge .__title-badge-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge i{margin:0;font-size:.625rem}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;text-overflow:ellipsis}}@property --tw-leading{syntax: \"*\"; inherits: false;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-divide-y-reverse{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-translate-x{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-duration{syntax: \"*\"; inherits: false;}@property --tw-ease{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-leading: initial;--tw-font-weight: initial;--tw-divide-y-reverse: 0;--tw-border-style: solid;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-duration: initial;--tw-ease: initial}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type:
152
173
  //
153
174
  AXCommonModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i3.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.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: AXBreadcrumbsModule }, { kind: "component", type: i5.AXBreadCrumbsComponent, selector: "ax-breadcrumbs" }, { kind: "component", type: i5.AXBreadCrumbsItemComponent, selector: "ax-breadcrumbs-item", inputs: ["disabled", "active"] }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i6.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i7.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: "component", type: i7.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i7.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items", "closeParentOnClick", "lockOnLoading"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i3$1.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "ngmodule", type: AXDrawerDirectiveModule }, { kind: "directive", type: i1.AXDrawerItemDirective, selector: "[axDrawerItem]", inputs: ["location", "collapsed", "backDrop", "mode", "transition", "closeOnBackdropClick", "backdropClass", "singleOpenMode"], outputs: ["collapseStateChanged", "locationChange", "collapsedChange", "backDropChange", "modeChange", "transitionChange", "closeOnBackdropClickChange", "backdropClassChange", "onBackdropClick", "singleOpenModeChange"], exportAs: ["axDrawerItem"] }, { kind: "ngmodule", type:
154
175
  //
155
176
  AXPComponentSlotModule }, { kind: "directive", type: i9.AXPComponentSlotDirective, selector: "axp-component-slot", inputs: ["name", "host", "context"], exportAs: ["slot"] }, { kind: "component", type: AXPThemeLayoutBlockComponent, selector: " axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, " }, { kind: "component", type: AXPThemeLayoutActionsComponent, selector: "axp-layout-actions" }, { kind: "component", type: AXPThemeLayoutHeaderComponent, selector: "axp-layout-header" }, { kind: "directive", type: AXPStickyDirective, selector: "[axpSticky]", inputs: ["axpSticky", "stickyOffset", "stickyParent", "stickyTarget"], outputs: ["isStickyChange"], exportAs: ["axpSticky"] }, { kind: "component", type: AXPThemeLayoutContainerComponent, selector: "axp-layout-container" }, { kind: "component", type: AXPStatusChipComponent, selector: "axp-status-chip", inputs: ["status", "value", "readonly", "availableTransitions", "definitionKey", "entityData"], outputs: ["openChange", "transitionExecuted", "transitionError"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
156
177
  }
157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPPageLayoutComponent, decorators: [{
178
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPPageLayoutComponent, decorators: [{
158
179
  type: Component,
159
180
  args: [{ standalone: true, imports: [
160
181
  CommonModule,
@@ -177,7 +198,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
177
198
  AXPStickyDirective,
178
199
  AXPThemeLayoutContainerComponent,
179
200
  AXPStatusChipComponent,
180
- ], selector: 'axp-page-layout', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [AXDrawerContainerDirective], providers: [], template: "<!-------- Begin Start Side Drawer -------->\n<div\n id=\"axp-drawer-start\"\n [mode]=\"deviceService.isSmall() ? 'overlay' : 'push'\"\n [transition]=\"250\"\n axDrawerItem\n [backDrop]=\"true\"\n (onBackdropClick)=\"handleBackdropClick($event)\"\n #startSideDrawer=\"axDrawerItem\"\n [backdropClass]=\"'bg-darkest/75'\"\n [collapsed]=\"deviceService.isSmall()\"\n drawerLocation=\"start\"\n class=\"h-full\"\n>\n <ng-content select=\"axp-layout-start-side\"></ng-content>\n</div>\n<!-------- Finish Start Side Drawer -------->\n<!--------------------------------------------------------------->\n<!-------- Begin Main Layout Container -------->\n<axp-layout-container id=\"axp-page-layout\" #container>\n <!-------- Begin Page Header -------->\n <axp-layout-header\n id=\"axp-page-header\"\n *translate=\"let t\"\n #sticky=\"axpSticky\"\n [axpSticky]=\"'axp-is-sticky'\"\n [stickyOffset]=\"50\"\n [stickyParent]=\"container.hostElement\"\n >\n <!-------- Begin Back Button (Mobile Only) -------->\n @if (page?.hasBackButton() && deviceService.isSmall()) {\n <ax-button\n id=\"axp-btn-back\"\n [look]=\"'blank'\"\n class=\"ax-sm w-fit ms-1\"\n color=\"secondary\"\n (click)=\"page?.onBackButtonClick()\"\n [text]=\"(page?.backButton()?.title | translate | async) ?? ''\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-chevron-left rtl:rotate-180\"></ax-icon>\n </ax-prefix>\n </ax-button>\n }\n <!-------- Finish Back Button -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Title Bar -------->\n <axp-layout-title-bar id=\"axp-title-bar\">\n <!-------- Begin Title Section -------->\n <div class=\"flex flex-col transition shrink-1 min-w-0\">\n <!-------- Begin Breadcrumbs -------->\n @if (page?.hasBreadcrumbs() && !deviceService.isSmall()) {\n <ax-breadcrumbs id=\"axp-breadcrumb\" class=\"mb-1\">\n @for (item of page?.breadcrumbs(); track $index) {\n <ax-breadcrumbs-item\n [attr.id]=\"'axp-breadcrumb-item-' + $index\"\n [active]=\"$last\"\n (click)=\"!$last && item.command ? execute(item.command) : null\"\n >\n @if (item.icon) {\n <i [class]=\"item.icon\"></i>\n }\n {{ t(item.title) | async }}\n </ax-breadcrumbs-item>\n }\n <ng-template #divider>\n <i class=\"fa-regular fa-chevron-right rtl:rotate-180 fa-sm\"></i>\n </ng-template>\n </ax-breadcrumbs>\n }\n <!-------- Finish Breadcrumbs -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Title Container -------->\n <div class=\"__title-container\">\n <!-------- Begin Page Title -------->\n @if (page?.hasTitle()) {\n <axp-layout-title id=\"axp-page-title\">\n @if (page?.hasTitleIcon()) {\n <ax-icon [icon]=\"page?.titleIcon()!\" class=\"me-2\"></ax-icon>\n }\n {{ page?.title() | translate | async }}\n </axp-layout-title>\n }\n <!-------- Finish Page Title -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Title Actions -------->\n @if (page?.hasTitleActions()) {\n <ax-button\n id=\"axp-btn-title-actions\"\n [look]=\"'blank'\"\n class=\"ax-sm -mx-2\"\n >\n <ax-prefix>\n <i class=\"fa-solid fa-caret-down fa-fw\"></i>\n </ax-prefix>\n <ax-dropdown-panel #panel>\n <ax-button-item-list>\n @for (sub of page?.titleActions(); track $index) {\n <ng-container>\n <ax-button-item\n [attr.id]=\"\n 'axp-btn-title-action-' + (sub.name || $index)\n \"\n [text]=\"(t(sub.title) | async)!\"\n [color]=\"sub.color\"\n [disabled]=\"sub.disabled\"\n [selected]=\"sub.command?.metadata?.['isSelected']\"\n (onClick)=\"handleActionClick(sub)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light {{ sub.icon }}\"></ax-icon>\n </ax-prefix>\n @if (sub.suffix) {\n <ax-suffix>\n @if (sub.suffix.icon) {\n <ax-icon [icon]=\"sub.suffix.icon\"></ax-icon>\n }\n @if (sub.suffix.text) {\n <span>{{ t(sub.suffix.text) | async }}</span>\n }\n @if (sub.suffix.badge) {\n <ax-badge\n [text]=\"(t(sub.suffix.badge.text) | async)!\"\n [color]=\"sub.suffix.badge.color\"\n [look]=\"sub.suffix.badge.look\"\n ></ax-badge>\n }\n </ax-suffix>\n }\n </ax-button-item>\n @if (sub.break) {\n <ax-divider></ax-divider>\n }\n </ng-container>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n <!-------- Finish Title Actions -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Page Status -------->\n\n @if (page?.hasStatus()) {\n <axp-status-chip\n [value]=\"page?.status()?.value ?? null\"\n [readonly]=\"page?.status()?.readonly || false\"\n [definitionKey]=\"page?.status()?.definitionKey ?? null\"\n [entityData]=\"getEntityData()\"\n (transitionExecuted)=\"handleStatusTransition($event)\"\n class=\"__title-status\"\n ></axp-status-chip>\n }\n <!-------- Finish Page Status -------->\n\n <!-------- Begin Title Badge -------->\n @if (page?.hasBadge()) {\n <div\n id=\"axp-page-badge\"\n class=\"__title-badge --{{ page?.badge()?.color }}\"\n [attr.title]=\"page?.badge()?.description ?? page?.badge()?.title\"\n [attr.aria-label]=\"page?.badge()?.title\"\n >\n <i class=\"fa-solid fa-circle\" aria-hidden=\"true\"></i>\n <span class=\"__title-badge-label\">{{\n page?.badge()?.title\n }}</span>\n </div>\n }\n <!-------- Finish Title Badge -------->\n </div>\n <!-------- Finish Title Container -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Page Description -------->\n @if (page?.hasDescription()) {\n <axp-layout-description id=\"axp-page-description\">\n {{\n page?.description() | translate | async\n }}</axp-layout-description\n >\n }\n <!-------- Finish Page Description -------->\n </div>\n <!-------- Finish Title Section -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Page Actions -------->\n <axp-layout-actions id=\"axp-page-actions\" class=\"shrink-0\">\n <axp-component-slot name=\"page-header-actions\"></axp-component-slot>\n <!-------- Begin Primary Actions -------->\n @if (page?.hasPrimaryActions()) {\n @for (item of page?.primaryMenuItems(); track $index) {\n @if (item.visible != false) {\n <ax-button\n [attr.id]=\"'axp-btn-primary-' + (item.name || item.title)\"\n [class.ax-sm]=\"deviceService.isSmall()\"\n [iconOnly]=\"deviceService.isSmall()\"\n [disabled]=\"item.disabled\"\n [text]=\"(t(item.title) | async)!\"\n [look]=\"'solid'\"\n [color]=\"item.color\"\n (onClick)=\"handleActionClick(item)\"\n >\n <ax-prefix>\n <i class=\"{{ item.icon }}\"></i>\n </ax-prefix>\n @if (item?.items) {\n <ax-dropdown-panel #panel>\n <ax-button-item-list>\n @for (sub of item?.items; track $index) {\n @if (sub.visible != false) {\n <ax-button-item\n [attr.id]=\"\n 'axp-btn-primary-' +\n (item.name || item.title) +\n '-' +\n (sub.name || sub.title)\n \"\n [text]=\"(t(sub.title) | async)!\"\n [color]=\"sub.color\"\n [disabled]=\"sub.disabled\"\n (onClick)=\"handleActionClick(sub)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light {{ sub.icon }}\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n @if (sub.break) {\n <ax-divider></ax-divider>\n }\n }\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n }\n </ax-button>\n }\n }\n }\n <!-------- Finish Primary Actions -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Secondary Actions -------->\n @if (page?.hasSecondaryActions()) {\n <ax-button\n id=\"axp-btn-secondary\"\n [class.ax-sm]=\"deviceService.isSmall()\"\n [iconOnly]=\"deviceService.isSmall()\"\n [text]=\"'@general:terms.interface.actions' | translate | async\"\n [look]=\"deviceService.isSmall() ? 'blank' : 'solid'\"\n [color]=\"'default'\"\n >\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n <ax-dropdown-panel #panel>\n <ax-button-item-list>\n @for (item of page?.secondaryMenuItems(); track $index) {\n @if (item.visible != false) {\n <ax-button-item\n [attr.id]=\"\n 'axp-btn-secondary-' + (item.name || item.title)\n \"\n [text]=\"(item.title | translate | async)!\"\n [color]=\"item.color\"\n [disabled]=\"item.disabled\"\n (onClick)=\"handleSecondaryActionClick(item)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light {{ item.icon }}\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n @if (item.break) {\n <ax-divider></ax-divider>\n }\n }\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n <!-------- Finish Secondary Actions -------->\n </axp-layout-actions>\n <!-------- Finish Page Actions -------->\n </axp-layout-title-bar>\n <!-------- Finish Title Bar -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Page Toolbar / Navbar -------->\n @if (!sticky.isSticky) {}\n <ng-content select=\"axp-page-toolbar\"></ng-content>\n <!-------- Finish Page Toolbar / Navbar -------->\n </axp-layout-header>\n <!-------- Finish Page Header -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Page Content -------->\n <ng-content select=\"axp-page-content\"></ng-content>\n <!-------- Finish Page Content -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Page Footer -------->\n <axp-page-footer-container\n id=\"axp-page-footer-container\"\n [ngStyle]=\"{\n display:\n tt.isEmpty() && prefixSlot.isEmpty() && suffixSlot.isEmpty()\n ? 'none'\n : 'block',\n }\"\n >\n <axp-layout-container #tt>\n <ng-content select=\"axp-page-footer\"></ng-content>\n </axp-layout-container>\n <axp-page-footer id=\"axp-page-footer\">\n <axp-layout-prefix>\n <axp-component-slot\n name=\"page-footer-start\"\n #prefixSlot=\"slot\"\n ></axp-component-slot>\n </axp-layout-prefix>\n <axp-layout-suffix>\n <axp-component-slot\n name=\"page-footer-end\"\n #suffixSlot=\"slot\"\n ></axp-component-slot>\n </axp-layout-suffix>\n </axp-page-footer>\n </axp-page-footer-container>\n <!-------- Finish Page Footer -------->\n</axp-layout-container>\n<!-------- Finish Main Layout Container -------->\n", styles: ["@charset \"UTF-8\";@layer properties;.axp-status-icon{font-size:.875rem;line-height:1}.axp-status-chip{display:inline-flex}.axp-status-chip--primary{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface))}.axp-status-icon--primary{color:rgb(var(--ax-sys-color-primary-dark-surface))}.axp-status-chip--secondary{background-color:rgb(var(--ax-sys-color-secondary-lighter-surface));color:rgb(var(--ax-sys-color-on-secondary-lighter-surface))}.axp-status-icon--secondary{color:rgb(var(--ax-sys-color-secondary-dark-surface))}.axp-status-chip--success{background-color:rgb(var(--ax-sys-color-success-lighter-surface));color:rgb(var(--ax-sys-color-on-success-lighter-surface))}.axp-status-icon--success{color:rgb(var(--ax-sys-color-success-dark-surface))}.axp-status-chip--warning{background-color:rgb(var(--ax-sys-color-warning-lighter-surface));color:rgb(var(--ax-sys-color-on-warning-lighter-surface))}.axp-status-icon--warning{color:rgb(var(--ax-sys-color-warning-dark-surface))}.axp-status-chip--danger{background-color:rgb(var(--ax-sys-color-danger-lighter-surface));color:rgb(var(--ax-sys-color-on-danger-lighter-surface))}.axp-status-icon--danger{color:rgb(var(--ax-sys-color-danger-dark-surface))}.axp-status-chip--info{background-color:rgb(var(--ax-sys-color-accent3-lighter-surface));color:rgb(var(--ax-sys-color-on-accent3-lighter-surface))}.axp-status-icon--info{color:rgb(var(--ax-sys-color-accent3-dark-surface))}.axp-status-chip--accent1{background-color:rgb(var(--ax-sys-color-accent1-lighter-surface));color:rgb(var(--ax-sys-color-on-accent1-lighter-surface))}.axp-status-icon--accent1{color:rgb(var(--ax-sys-color-accent1-dark-surface))}.axp-status-chip--accent2{background-color:rgb(var(--ax-sys-color-accent2-lighter-surface));color:rgb(var(--ax-sys-color-on-accent2-lighter-surface))}.axp-status-icon--accent2{color:rgb(var(--ax-sys-color-accent2-dark-surface))}.axp-status-chip--accent3{background-color:rgb(var(--ax-sys-color-accent3-lighter-surface));color:rgb(var(--ax-sys-color-on-accent3-lighter-surface))}.axp-status-icon--accent3{color:rgb(var(--ax-sys-color-accent3-dark-surface))}.axp-status-chip--neutral{background-color:rgb(var(--ax-sys-color-neutral-lighter-surface));color:rgb(var(--ax-sys-color-on-neutral-lighter-surface))}.axp-status-icon--neutral{color:rgb(var(--ax-sys-color-neutral-dark-surface))}axp-layout-title{display:block;width:100%;--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axp-layout-description{display:block;width:100%;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));opacity:65%}axp-layout-actions{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 3)}axp-layout-actions axp-layout-actions-primary{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 3)}axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar{display:flex;width:100%;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-footer>axp-layout-prefix,axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-prefix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-prefix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-prefix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-prefix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-prefix,axp-page-toolbar>axp-layout-suffix{display:flex;flex-direction:row;align-items:center;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-footer>axp-layout-prefix,axp-layout-toolbar>axp-layout-prefix,axp-layout-header>axp-layout-prefix,axp-page-header>axp-layout-prefix,axp-page-footer>axp-layout-prefix,axp-page-toolbar>axp-layout-prefix{order:-9999}axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-suffix{order:9999;margin-inline-start:auto}axp-layout-list{display:flex;flex-direction:column}:where(axp-layout-list>:not(:last-child)){--tw-divide-y-reverse: 0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(axp-layout-list>:not(:last-child)){--tw-border-style: dashed;border-style:dashed}axp-layout-list:focus{outline:none}axp-layout-list-group{display:flex;flex-direction:column;padding-block:calc(var(--spacing, .25rem) * 2)}axp-layout-list-group>axp-layout-title{padding-bottom:calc(var(--spacing, .25rem) * 2);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axp-layout-list-group>axp-layout-header{display:flex;justify-content:space-between;padding-block:calc(var(--spacing, .25rem) * 2)}axp-layout-list-item{margin-top:var(--spacing, .25rem);display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 3);padding-inline:calc(var(--spacing, .25rem) * 2);padding-block:calc(var(--spacing, .25rem) * 2);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}axp-layout-list-item:focus{outline:none}axp-layout-list-item.axp-state-focused,axp-layout-list-item:hover{cursor:pointer;border-radius:.25rem;background-color:rgba(var(--ax-sys-color-light-surface));color:rgba(var(--ax-sys-color-on-lightest-surface))}axp-layout-list-item>axp-layout-prefix{margin-inline-end:auto;display:flex;flex-direction:row;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-list-item>axp-layout-content{flex:1}axp-layout-list-item>axp-layout-content axp-layout-description{margin-top:var(--spacing, .25rem)!important;font-size:var(--text-xs, .75rem)!important;line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)))!important}axp-layout-list-item>axp-layout-suffix{margin-inline-start:auto;display:flex;flex-direction:row;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-sections{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 4)}axp-layout-sections axp-layout-section{display:block;border-radius:var(--radius-md, .375rem);border-style:var(--tw-border-style);border-width:1px;--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 2)}@media(width>=80rem){axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding-block:calc(var(--spacing, .25rem) * 4)}}axp-layout-sections axp-layout-section>axp-layout-header{display:flex;flex-direction:column;gap:0;border-top-left-radius:var(--radius-md, .375rem);border-top-right-radius:var(--radius-md, .375rem);border-bottom-style:var(--tw-border-style);border-bottom-width:1px}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-title{--tw-font-weight: var(--font-weight-bold, 700);font-weight:var(--font-weight-bold, 700);color:var(--color-text-default)}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-description{margin-top:var(--spacing, .25rem);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}axp-layout-sections axp-layout-section>axp-layout-footer{display:flex;align-items:center;justify-content:space-between;border-bottom-right-radius:var(--radius-md, .375rem);border-bottom-left-radius:var(--radius-md, .375rem);border-top-style:var(--tw-border-style);border-top-width:1px;padding:calc(var(--spacing, .25rem) * 4)}axp-layout-sections axp-layout-section>axp-layout-footer>axp-layout-suffix{margin-inline-start:auto;display:flex;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-sections axp-layout-section>axp-layout-footer{opacity:0;animation:fadeInDown .5s ease-out forwards}@keyframes fadeInDown{0%{opacity:0}to{opacity:1}}axp-page-layout{display:flex;width:100%;height:100%;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}axp-page-layout:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:var(--color-dark);color:var(--color-on-dark);border-color:var(--color-border-dark)}axp-page-layout axp-layout-start-side,axp-page-layout axp-layout-end-side{display:flex;min-height:100%;min-width:calc(var(--spacing, .25rem) * 64);flex-direction:column;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}:is(axp-page-layout axp-layout-start-side,axp-page-layout axp-layout-end-side):where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:var(--color-darker);color:var(--color-on-darker);border-color:var(--color-border-darker)}axp-page-layout axp-layout-start-side axp-layout-header,axp-page-layout axp-layout-end-side axp-layout-header{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 2);padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 4)}axp-page-layout axp-layout-start-side axp-layout-header>axp-layout-title,axp-page-layout axp-layout-end-side axp-layout-header>axp-layout-title{font-size:var(--text-lg, 1.125rem);line-height:var(--tw-leading, var(--text-lg--line-height, calc(1.75 / 1.125)));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}axp-page-layout axp-layout-start-side>axp-layout-content,axp-page-layout axp-layout-end-side>axp-layout-content{flex:1}axp-page-layout>axp-layout-container{position:relative;display:flex;width:100%;height:100%;flex-direction:column;overflow:auto}axp-page-layout>axp-layout-container>axp-layout-header{position:sticky;top:0;z-index:20;display:flex;flex-direction:column;align-items:flex-start;gap:0;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest);padding-block:calc(var(--spacing, .25rem) * 2);transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s))}@media(width>=48rem){axp-page-layout>axp-layout-container>axp-layout-header{padding-top:calc(var(--spacing, .25rem) * 4)}}axp-page-layout>axp-layout-container>axp-layout-header:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:var(--color-dark);color:var(--color-on-dark);border-color:var(--color-border-dark)}axp-page-layout>axp-layout-container>axp-layout-header.axp-is-sticky{border-color:rgba(var(--ax-sys-color-lightest-surface));--tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}axp-page-layout>axp-layout-container>axp-layout-header ax-breadcrumbs ax-breadcrumbs-item{font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)))}axp-page-layout>axp-layout-container>axp-layout-header ax-breadcrumbs ax-breadcrumbs-item.ax-state-active .ax-breadcrumb-item-content{cursor:default;color:var(--color-text-default);opacity:75%}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar{display:flex;width:100%;align-items:center;justify-content:space-between;padding-inline:calc(var(--spacing, .25rem) * 4)}@media(width>=80rem){axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar{border-style:var(--tw-border-style);border-width:0px}}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar ax-layout-nav-button{display:flex;align-items:center;justify-content:space-between}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container{display:flex;align-items:baseline;gap:calc(var(--spacing, .25rem) * 3)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container axp-layout-title{display:inline-block;width:fit-content;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xl, 1.25rem);line-height:var(--tw-leading, var(--text-xl--line-height, calc(1.75 / 1.25)));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}@media(width>=64rem){axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container axp-layout-title{font-size:var(--text-2xl, 1.5rem);line-height:var(--tw-leading, var(--text-2xl--line-height, calc(2 / 1.5)))}}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge{display:inline-flex;--tw-translate-y: -3px ;translate:var(--tw-translate-x) var(--tw-translate-y);align-items:center;align-self:baseline;border-radius:var(--radius-md, .375rem);padding-inline:calc(var(--spacing, .25rem) * 2);padding-block:var(--spacing, .25rem);font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));--tw-leading: 1;line-height:1;--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge i{margin-inline-end:var(--spacing, .25rem);--tw-leading: 1;line-height:1;font-size:.5rem}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--warning{background-color:var(--color-warning-lightest);color:var(--color-on-warning-lightest);border-color:var(--color-border-warning-lightest)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--warning i{color:rgb(var(--ax-sys-color-warning-500))}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--danger{background-color:var(--color-danger-lightest);color:var(--color-on-danger-lightest);border-color:var(--color-border-danger-lightest)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--danger i{color:rgb(var(--ax-sys-color-danger-500))}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--success{background-color:var(--color-success-lightest);color:var(--color-on-success-lightest);border-color:var(--color-border-success-lightest)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--success i{color:rgb(var(--ax-sys-color-success-500))}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--primary{background-color:var(--color-primary-lightest);color:var(--color-on-primary-lightest);border-color:var(--color-border-primary-lightest)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--primary i{color:rgb(var(--ax-sys-color-primary-500))}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--secondary i{color:rgb(var(--ax-sys-color-secondary-500))}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--default i{color:rgb(var(--ax-sys-color-on-surface) / .45)}@media(max-width:600px){axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge{--tw-translate-y: 0;translate:var(--tw-translate-x) var(--tw-translate-y);background-color:transparent;padding:0;--tw-shadow: 0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge .__title-badge-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge i{margin:0;font-size:.625rem}}axp-page-layout>axp-layout-container>axp-layout-header axp-page-toolbar{margin-top:calc(var(--spacing, .25rem) * 2);padding-inline:calc(var(--spacing, .25rem) * 4)}axp-page-layout>axp-layout-container>axp-page-content{display:flex;width:100%;flex:1;flex-direction:column;padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 3)}axp-page-layout>axp-layout-container>axp-page-content.--scrollable{padding-bottom:calc(var(--spacing, .25rem) * 4)}axp-page-layout>axp-layout-container>axp-page-footer-container{border-top-style:var(--tw-border-style);border-top-width:1px;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest);position:sticky;bottom:0;z-index:20;padding-inline:calc(var(--spacing, .25rem) * 3);padding-block:calc(var(--spacing, .25rem) * 3);--tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}axp-page-layout>axp-layout-container>axp-page-footer-container:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:var(--color-lighter);color:var(--color-on-lighter);border-color:var(--color-border-lighter)}axp-page-layout>axp-layout-container>axp-page-footer-container.--animated{animation:var(--animate-fadeInUp, 1s both fadeInUp);--tw-duration: .3s;transition-duration:.3s;--tw-ease: var(--ease-out, cubic-bezier(0, 0, .2, 1));transition-timing-function:var(--ease-out, cubic-bezier(0, 0, .2, 1))}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-divide-y-reverse{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-translate-x{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-leading{syntax: \"*\"; inherits: false;}@property --tw-duration{syntax: \"*\"; inherits: false;}@property --tw-ease{syntax: \"*\"; inherits: false;}@keyframes fadeInDown{0%{transform:translate3d(0,-100%,0);opacity:0}}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight: initial;--tw-divide-y-reverse: 0;--tw-border-style: solid;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-leading: initial;--tw-duration: initial;--tw-ease: initial}}}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
201
+ ], selector: 'axp-page-layout', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [AXDrawerContainerDirective], providers: [], template: "<!-------- Begin Start Side Drawer -------->\n<div\n id=\"axp-drawer-start\"\n [mode]=\"deviceService.isSmall() ? 'overlay' : 'push'\"\n [transition]=\"250\"\n axDrawerItem\n [backDrop]=\"true\"\n (onBackdropClick)=\"handleBackdropClick($event)\"\n #startSideDrawer=\"axDrawerItem\"\n [backdropClass]=\"'bg-darkest/75'\"\n [collapsed]=\"deviceService.isSmall()\"\n drawerLocation=\"start\"\n class=\"h-full\"\n>\n <ng-content select=\"axp-layout-start-side\"></ng-content>\n</div>\n<!-------- Finish Start Side Drawer -------->\n<!--------------------------------------------------------------->\n<!-------- Begin Main Layout Container -------->\n<axp-layout-container id=\"axp-page-layout\" #container>\n <!-------- Begin Page Header -------->\n <axp-layout-header\n id=\"axp-page-header\"\n *translate=\"let t\"\n #sticky=\"axpSticky\"\n [axpSticky]=\"'axp-is-sticky'\"\n [stickyOffset]=\"50\"\n [stickyParent]=\"container.hostElement\"\n >\n <!-------- Begin Back Button (phone and tablet) -------->\n @if (page?.hasBackButton() && !deviceService.isLarge()) {\n <ax-button\n id=\"axp-btn-back\"\n [look]=\"'blank'\"\n class=\"ax-sm w-fit ms-1\"\n color=\"secondary\"\n (click)=\"page?.onBackButtonClick()\"\n [text]=\"($safeNavigationMigration(page?.backButton()?.title) | translate | async) ?? ''\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-chevron-left rtl:rotate-180\"></ax-icon>\n </ax-prefix>\n </ax-button>\n }\n <!-------- Finish Back Button -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Title Bar -------->\n <axp-layout-title-bar id=\"axp-title-bar\">\n <!-------- Begin Title Section -------->\n <div class=\"flex flex-col transition shrink-1 min-w-0\">\n <!-------- Begin Breadcrumbs -------->\n @if (page?.hasBreadcrumbs() && !deviceService.isSmall()) {\n <ax-breadcrumbs id=\"axp-breadcrumb\" class=\"mb-1\">\n @for (item of page?.breadcrumbs(); track $index) {\n <ax-breadcrumbs-item\n [attr.id]=\"'axp-breadcrumb-item-' + $index\"\n [active]=\"$last\"\n (click)=\"!$last && item.command ? execute(item.command) : null\"\n >\n @if (item.icon) {\n <i [class]=\"item.icon\"></i>\n }\n {{ t(item.title) | async }}\n </ax-breadcrumbs-item>\n }\n <ng-template #divider>\n <i class=\"fa-regular fa-chevron-right rtl:rotate-180 fa-sm\"></i>\n </ng-template>\n </ax-breadcrumbs>\n }\n <!-------- Finish Breadcrumbs -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Title Container -------->\n <div class=\"__title-container\">\n <!-------- Begin Page Title -------->\n @if (page?.hasTitle()) {\n <axp-layout-title id=\"axp-page-title\">\n @if (page?.hasTitleIcon()) {\n <ax-icon [icon]=\"$safeNavigationMigration(page?.titleIcon())!\" class=\"me-2\"></ax-icon>\n }\n {{ $safeNavigationMigration(page?.title()) | translate | async }}\n </axp-layout-title>\n }\n <!-------- Finish Page Title -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Title Actions -------->\n @if (page?.hasTitleActions()) {\n <ax-button\n id=\"axp-btn-title-actions\"\n [look]=\"'blank'\"\n class=\"ax-sm -mx-2\"\n >\n <ax-prefix>\n <i class=\"fa-solid fa-caret-down fa-fw\"></i>\n </ax-prefix>\n <ax-dropdown-panel #panel>\n <ax-button-item-list>\n @for (sub of page?.titleActions(); track $index) {\n <ng-container>\n <ax-button-item\n [attr.id]=\"\n 'axp-btn-title-action-' + (sub.name || $index)\n \"\n [text]=\"(t(sub.title) | async)!\"\n [color]=\"sub.color\"\n [disabled]=\"sub.disabled\"\n [selected]=\"$safeNavigationMigration(sub.command?.metadata?.['isSelected'])\"\n (onClick)=\"handleActionClick(sub)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light {{ sub.icon }}\"></ax-icon>\n </ax-prefix>\n @if (sub.suffix) {\n <ax-suffix>\n @if (sub.suffix.icon) {\n <ax-icon [icon]=\"sub.suffix.icon\"></ax-icon>\n }\n @if (sub.suffix.text) {\n <span>{{ t(sub.suffix.text) | async }}</span>\n }\n @if (sub.suffix.badge) {\n <ax-badge\n [text]=\"(t(sub.suffix.badge.text) | async)!\"\n [color]=\"sub.suffix.badge.color\"\n [look]=\"sub.suffix.badge.look\"\n ></ax-badge>\n }\n </ax-suffix>\n }\n </ax-button-item>\n @if (sub.break) {\n <ax-divider></ax-divider>\n }\n </ng-container>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n <!-------- Finish Title Actions -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Page Status -------->\n\n @if (page?.hasStatus()) {\n <axp-status-chip\n [value]=\"page?.status()?.value ?? null\"\n [readonly]=\"page?.status()?.readonly || false\"\n [definitionKey]=\"page?.status()?.definitionKey ?? null\"\n [entityData]=\"getEntityData()\"\n (transitionExecuted)=\"handleStatusTransition($event)\"\n class=\"__title-status\"\n ></axp-status-chip>\n }\n <!-------- Finish Page Status -------->\n\n <!-------- Begin Title Badge -------->\n @if (page?.hasBadge()) {\n <div\n id=\"axp-page-badge\"\n class=\"__title-badge --{{ page?.badge()?.color }}\"\n [attr.title]=\"page?.badge()?.description ?? page?.badge()?.title\"\n [attr.aria-label]=\"page?.badge()?.title\"\n >\n <i class=\"fa-solid fa-circle\" aria-hidden=\"true\"></i>\n <span class=\"__title-badge-label\">{{\n page?.badge()?.title\n }}</span>\n </div>\n }\n <!-------- Finish Title Badge -------->\n </div>\n <!-------- Finish Title Container -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Page Description -------->\n @if (page?.hasDescription()) {\n @if (\n ($safeNavigationMigration(page?.description()) | translate | async);\n as descriptionText\n ) {\n <axp-layout-description\n id=\"axp-page-description\"\n [attr.title]=\"descriptionText\"\n >\n {{ descriptionText }}\n </axp-layout-description>\n }\n }\n <!-------- Finish Page Description -------->\n </div>\n <!-------- Finish Title Section -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Page Actions -------->\n <axp-layout-actions id=\"axp-page-actions\" class=\"shrink-0\">\n <axp-component-slot name=\"page-header-actions\"></axp-component-slot>\n <!-------- Begin Primary Actions -------->\n @if (page?.hasPrimaryActions()) {\n @for (item of page?.primaryMenuItems(); track $index) {\n @if (item.visible != false) {\n <ax-button\n [attr.id]=\"'axp-btn-primary-' + (item.name || item.title)\"\n [attr.data-testid]=\"resolveEntityActionTestId(item)\"\n [class.ax-sm]=\"deviceService.isSmall()\"\n [iconOnly]=\"deviceService.isSmall()\"\n [disabled]=\"item.disabled\"\n [text]=\"(t(item.title) | async)!\"\n [look]=\"'solid'\"\n [color]=\"item.color\"\n (onClick)=\"handleActionClick(item)\"\n >\n <ax-prefix>\n <i class=\"{{ item.icon }}\"></i>\n </ax-prefix>\n @if (item?.items) {\n <ax-dropdown-panel #panel>\n <ax-button-item-list>\n @for (sub of item?.items; track $index) {\n @if (sub.visible != false) {\n <ax-button-item\n [attr.id]=\"\n 'axp-btn-primary-' +\n (item.name || item.title) +\n '-' +\n (sub.name || sub.title)\n \"\n [text]=\"(t(sub.title) | async)!\"\n [color]=\"sub.color\"\n [disabled]=\"sub.disabled\"\n (onClick)=\"handleActionClick(sub)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light {{ sub.icon }}\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n @if (sub.break) {\n <ax-divider></ax-divider>\n }\n }\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n }\n </ax-button>\n }\n }\n }\n <!-------- Finish Primary Actions -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Secondary Actions -------->\n @if (page?.hasSecondaryActions()) {\n <ax-button\n id=\"axp-btn-secondary\"\n [class.ax-sm]=\"deviceService.isSmall()\"\n [iconOnly]=\"deviceService.isSmall()\"\n [text]=\"'@general:terms.interface.actions' | translate | async\"\n [look]=\"deviceService.isSmall() ? 'blank' : 'solid'\"\n [color]=\"'default'\"\n >\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n <ax-dropdown-panel #panel>\n <ax-button-item-list>\n @for (item of page?.secondaryMenuItems(); track $index) {\n @if (item.visible != false) {\n <ax-button-item\n [attr.id]=\"\n 'axp-btn-secondary-' + (item.name || item.title)\n \"\n [text]=\"(item.title | translate | async)!\"\n [color]=\"item.color\"\n [disabled]=\"item.disabled\"\n (onClick)=\"handleSecondaryActionClick(item)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light {{ item.icon }}\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n @if (item.break) {\n <ax-divider></ax-divider>\n }\n }\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n <!-------- Finish Secondary Actions -------->\n </axp-layout-actions>\n <!-------- Finish Page Actions -------->\n </axp-layout-title-bar>\n <!-------- Finish Title Bar -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Page Toolbar / Navbar -------->\n @if (!sticky.isSticky) {}\n <ng-content select=\"axp-page-toolbar\"></ng-content>\n <!-------- Finish Page Toolbar / Navbar -------->\n </axp-layout-header>\n <!-------- Finish Page Header -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Page Content -------->\n <ng-content select=\"axp-page-content\"></ng-content>\n <!-------- Finish Page Content -------->\n <!--------------------------------------------------------------->\n <!-------- Begin Page Footer -------->\n <axp-page-footer-container\n id=\"axp-page-footer-container\"\n [ngStyle]=\"{\n display:\n tt.isEmpty() && prefixSlot.isEmpty() && suffixSlot.isEmpty()\n ? 'none'\n : 'block',\n }\"\n >\n <axp-layout-container #tt>\n <ng-content select=\"axp-page-footer\"></ng-content>\n </axp-layout-container>\n <axp-page-footer id=\"axp-page-footer\">\n <axp-layout-prefix>\n <axp-component-slot\n name=\"page-footer-start\"\n #prefixSlot=\"slot\"\n ></axp-component-slot>\n </axp-layout-prefix>\n <axp-layout-suffix>\n <axp-component-slot\n name=\"page-footer-end\"\n #suffixSlot=\"slot\"\n ></axp-component-slot>\n </axp-layout-suffix>\n </axp-page-footer>\n </axp-page-footer-container>\n <!-------- Finish Page Footer -------->\n</axp-layout-container>\n<!-------- Finish Main Layout Container -------->\n", styles: ["@charset \"UTF-8\";@layer properties;.axp-status-icon{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-leading: 1;line-height:1}.axp-status-chip{display:inline-flex}.axp-status-chip--primary{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface))}.axp-status-icon--primary{color:rgb(var(--ax-sys-color-primary-dark-surface))}.axp-status-chip--secondary{background-color:rgb(var(--ax-sys-color-secondary-lighter-surface));color:rgb(var(--ax-sys-color-on-secondary-lighter-surface))}.axp-status-icon--secondary{color:rgb(var(--ax-sys-color-secondary-dark-surface))}.axp-status-chip--success{background-color:rgb(var(--ax-sys-color-success-lighter-surface));color:rgb(var(--ax-sys-color-on-success-lighter-surface))}.axp-status-icon--success{color:rgb(var(--ax-sys-color-success-dark-surface))}.axp-status-chip--warning{background-color:rgb(var(--ax-sys-color-warning-lighter-surface));color:rgb(var(--ax-sys-color-on-warning-lighter-surface))}.axp-status-icon--warning{color:rgb(var(--ax-sys-color-warning-dark-surface))}.axp-status-chip--danger{background-color:rgb(var(--ax-sys-color-danger-lighter-surface));color:rgb(var(--ax-sys-color-on-danger-lighter-surface))}.axp-status-icon--danger{color:rgb(var(--ax-sys-color-danger-dark-surface))}.axp-status-chip--info{background-color:rgb(var(--ax-sys-color-accent3-lighter-surface));color:rgb(var(--ax-sys-color-on-accent3-lighter-surface))}.axp-status-icon--info{color:rgb(var(--ax-sys-color-accent3-dark-surface))}.axp-status-chip--accent1{background-color:rgb(var(--ax-sys-color-accent1-lighter-surface));color:rgb(var(--ax-sys-color-on-accent1-lighter-surface))}.axp-status-icon--accent1{color:rgb(var(--ax-sys-color-accent1-dark-surface))}.axp-status-chip--accent2{background-color:rgb(var(--ax-sys-color-accent2-lighter-surface));color:rgb(var(--ax-sys-color-on-accent2-lighter-surface))}.axp-status-icon--accent2{color:rgb(var(--ax-sys-color-accent2-dark-surface))}.axp-status-chip--accent3{background-color:rgb(var(--ax-sys-color-accent3-lighter-surface));color:rgb(var(--ax-sys-color-on-accent3-lighter-surface))}.axp-status-icon--accent3{color:rgb(var(--ax-sys-color-accent3-dark-surface))}.axp-status-chip--neutral{background-color:rgb(var(--ax-sys-color-neutral-lighter-surface));color:rgb(var(--ax-sys-color-on-neutral-lighter-surface))}.axp-status-icon--neutral{color:rgb(var(--ax-sys-color-neutral-dark-surface))}axp-layout-title{display:block;width:100%;--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axp-layout-description{display:block;width:100%;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));opacity:65%}axp-layout-actions{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 3)}axp-layout-actions axp-layout-actions-primary{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 3)}axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar{display:flex;width:100%;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 2)}:is(axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar)>axp-layout-prefix,:is(axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar)>axp-layout-suffix{display:flex;flex-direction:row;align-items:center;gap:calc(var(--spacing, .25rem) * 2)}:is(axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar)>axp-layout-prefix{order:-9999}:is(axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar)>axp-layout-suffix{order:9999;margin-inline-start:auto}axp-layout-list{display:flex;flex-direction:column}:where(axp-layout-list>:not(:last-child)){--tw-divide-y-reverse: 0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(axp-layout-list>:not(:last-child)){--tw-border-style: dashed;border-style:dashed}axp-layout-list:focus{outline:none}axp-layout-list-group{display:flex;flex-direction:column;padding-block:calc(var(--spacing, .25rem) * 2)}axp-layout-list-group>axp-layout-title{padding-bottom:calc(var(--spacing, .25rem) * 2);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axp-layout-list-group>axp-layout-header{display:flex;justify-content:space-between;padding-block:calc(var(--spacing, .25rem) * 2)}axp-layout-list-item{margin-top:var(--spacing, .25rem);display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 3);padding-inline:calc(var(--spacing, .25rem) * 2);padding-block:calc(var(--spacing, .25rem) * 2);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}axp-layout-list-item:focus{outline:none}axp-layout-list-item.axp-state-focused,axp-layout-list-item:hover{cursor:pointer;border-radius:.25rem;background-color:rgba(var(--ax-sys-color-light-surface));color:rgba(var(--ax-sys-color-on-lightest-surface))}axp-layout-list-item>axp-layout-prefix{margin-inline-end:auto;display:flex;flex-direction:row;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-list-item>axp-layout-content{flex:1}axp-layout-list-item>axp-layout-content axp-layout-description{margin-top:var(--spacing, .25rem)!important;font-size:var(--text-xs, .75rem)!important;line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)))!important}axp-layout-list-item>axp-layout-suffix{margin-inline-start:auto;display:flex;flex-direction:row;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-sections{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 4)}axp-layout-sections axp-layout-section{display:block;border-radius:var(--radius-md, .375rem);border-style:var(--tw-border-style);border-width:1px;--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 2)}@media(width>=80rem){axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding-block:calc(var(--spacing, .25rem) * 4)}}axp-layout-sections axp-layout-section>axp-layout-header{display:flex;flex-direction:column;gap:0px;border-top-left-radius:var(--radius-md, .375rem);border-top-right-radius:var(--radius-md, .375rem);border-bottom-style:var(--tw-border-style);border-bottom-width:1px}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-title{--tw-font-weight: var(--font-weight-bold, 700);font-weight:var(--font-weight-bold, 700)}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-description{margin-top:var(--spacing, .25rem);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}axp-layout-sections axp-layout-section>axp-layout-footer{display:flex;align-items:center;justify-content:space-between;border-bottom-right-radius:var(--radius-md, .375rem);border-bottom-left-radius:var(--radius-md, .375rem);border-top-style:var(--tw-border-style);border-top-width:1px;padding:calc(var(--spacing, .25rem) * 4)}axp-layout-sections axp-layout-section>axp-layout-footer>axp-layout-suffix{margin-inline-start:auto;display:flex;gap:calc(var(--spacing, .25rem) * 2)}@keyframes fadeInDown{0%{opacity:0}to{opacity:1}}axp-page-layout{display:flex;width:100%;height:100%;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}axp-page-layout:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:var(--color-dark);color:var(--color-on-dark);border-color:var(--color-border-dark)}axp-page-layout axp-layout-start-side,axp-page-layout axp-layout-end-side{display:flex;min-height:100%;min-width:calc(var(--spacing, .25rem) * 64);flex-direction:column;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}:is(axp-page-layout axp-layout-start-side,axp-page-layout axp-layout-end-side):where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:var(--color-darker);color:var(--color-on-darker);border-color:var(--color-border-darker)}:is(axp-page-layout axp-layout-start-side,axp-page-layout axp-layout-end-side) axp-layout-header{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 2);padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 4)}:is(axp-page-layout axp-layout-start-side,axp-page-layout axp-layout-end-side) axp-layout-header>axp-layout-title{font-size:var(--text-lg, 1.125rem);line-height:var(--tw-leading, var(--text-lg--line-height, calc(1.75 / 1.125)));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}:is(axp-page-layout axp-layout-start-side,axp-page-layout axp-layout-end-side)>axp-layout-content{flex:1}axp-page-layout>axp-layout-container{position:relative;display:flex;width:100%;height:100%;flex-direction:column;overflow:auto}axp-page-layout>axp-layout-container>axp-layout-header{position:sticky;top:0;z-index:20;display:flex;flex-direction:column;align-items:flex-start;gap:0px;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest);padding-block:calc(var(--spacing, .25rem) * 2);transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s))}@media(width>=48rem){axp-page-layout>axp-layout-container>axp-layout-header{padding-top:calc(var(--spacing, .25rem) * 4)}}axp-page-layout>axp-layout-container>axp-layout-header:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:var(--color-dark);color:var(--color-on-dark);border-color:var(--color-border-dark)}axp-page-layout>axp-layout-container>axp-layout-header.axp-is-sticky{border-color:rgba(var(--ax-sys-color-lightest-surface));--tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}axp-page-layout>axp-layout-container>axp-layout-header ax-breadcrumbs ax-breadcrumbs-item{font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)))}axp-page-layout>axp-layout-container>axp-layout-header ax-breadcrumbs ax-breadcrumbs-item.ax-state-active .ax-breadcrumb-item-content{cursor:default;color:var(--color-text-default);opacity:75%}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar{display:flex;width:100%;align-items:center;justify-content:space-between;padding-inline:calc(var(--spacing, .25rem) * 4)}@media(width>=80rem){axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar{border-style:var(--tw-border-style);border-width:0px}}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar ax-layout-nav-button{display:flex;align-items:center;justify-content:space-between}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container{display:flex;align-items:baseline;gap:calc(var(--spacing, .25rem) * 3)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container axp-layout-title{display:inline-block;width:fit-content;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xl, 1.25rem);line-height:var(--tw-leading, var(--text-xl--line-height, calc(1.75 / 1.25)));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}@media(width>=64rem){axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container axp-layout-title{font-size:var(--text-2xl, 1.5rem);line-height:var(--tw-leading, var(--text-2xl--line-height, calc(2 / 1.5)))}}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge{display:inline-flex;--tw-translate-y: -3px ;translate:var(--tw-translate-x) var(--tw-translate-y);align-items:center;align-self:baseline;border-radius:var(--radius-md, .375rem);padding-inline:calc(var(--spacing, .25rem) * 2);padding-block:var(--spacing, .25rem);font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));--tw-leading: 1;line-height:1;--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge i{margin-inline-end:var(--spacing, .25rem);--tw-leading: 1;line-height:1;font-size:.5rem}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--warning{background-color:var(--color-warning-lightest);color:var(--color-on-warning-lightest);border-color:var(--color-border-warning-lightest)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--warning i{color:rgb(var(--ax-sys-color-warning-500))}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--danger{background-color:var(--color-danger-lightest);color:var(--color-on-danger-lightest);border-color:var(--color-border-danger-lightest)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--danger i{color:rgb(var(--ax-sys-color-danger-500))}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--success{background-color:var(--color-success-lightest);color:var(--color-on-success-lightest);border-color:var(--color-border-success-lightest)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--success i{color:rgb(var(--ax-sys-color-success-500))}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--primary{background-color:var(--color-primary-lightest);color:var(--color-on-primary-lightest);border-color:var(--color-border-primary-lightest)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--primary i{color:rgb(var(--ax-sys-color-primary-500))}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--secondary i{color:rgb(var(--ax-sys-color-secondary-500))}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge.--default i{color:rgb(var(--ax-sys-color-on-surface) / .45)}axp-page-layout>axp-layout-container>axp-layout-header axp-page-toolbar{margin-top:calc(var(--spacing, .25rem) * 2);padding-inline:calc(var(--spacing, .25rem) * 4)}axp-page-layout>axp-layout-container>axp-page-content{display:flex;width:100%;flex:1;flex-direction:column;padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 3)}axp-page-layout>axp-layout-container>axp-page-content.--scrollable{padding-bottom:calc(var(--spacing, .25rem) * 4)}axp-page-layout>axp-layout-container>axp-page-footer-container{position:sticky;bottom:0;z-index:20;border-top-style:var(--tw-border-style);border-top-width:1px;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest);padding-inline:calc(var(--spacing, .25rem) * 3);padding-block:calc(var(--spacing, .25rem) * 3);--tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}axp-page-layout>axp-layout-container>axp-page-footer-container:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:var(--color-lighter);color:var(--color-on-lighter);border-color:var(--color-border-lighter)}axp-page-layout>axp-layout-container>axp-page-footer-container.--animated{animation:var(--animate-fadeInUp, 1s both fadeInUp);--tw-duration: .3s;transition-duration:.3s;--tw-ease: var(--ease-out, cubic-bezier(0, 0, .2, 1));transition-timing-function:var(--ease-out, cubic-bezier(0, 0, .2, 1))}@media(max-width:600px){axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge{--tw-translate-y: 0px;translate:var(--tw-translate-x) var(--tw-translate-y);background-color:transparent;padding:0;--tw-shadow: 0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge .__title-badge-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container .__title-badge i{margin:0;font-size:.625rem}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;text-overflow:ellipsis}}@property --tw-leading{syntax: \"*\"; inherits: false;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-divide-y-reverse{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-translate-x{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-duration{syntax: \"*\"; inherits: false;}@property --tw-ease{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-leading: initial;--tw-font-weight: initial;--tw-divide-y-reverse: 0;--tw-border-style: solid;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-duration: initial;--tw-ease: initial}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
181
202
  }], propDecorators: { startSideDrawer: [{ type: i0.ViewChild, args: ['startSideDrawer', { isSignal: true }] }] } });
182
203
 
183
204
  //#region ---- Page Unsaved Changes Utilities ----
@@ -231,9 +252,11 @@ class AXPPageLayoutBaseComponent {
231
252
  this.pageLayoutDestroyRef = inject(DestroyRef);
232
253
  //#endregion
233
254
  //#region ---------------- Signal to force recomputation ----------------
234
- this._updateTrigger = signal(0, ...(ngDevMode ? [{ debugName: "_updateTrigger" }] : /* istanbul ignore next */ []));
255
+ this._updateTrigger = signal(0, /* @ts-ignore */
256
+ ...(ngDevMode ? [{ debugName: "_updateTrigger" }] : /* istanbul ignore next */ []));
235
257
  /** Tab key captured at page init — stable while the route instance is cached. */
236
- this.pageTabKey = signal(null, ...(ngDevMode ? [{ debugName: "pageTabKey" }] : /* istanbul ignore next */ []));
258
+ this.pageTabKey = signal(null, /* @ts-ignore */
259
+ ...(ngDevMode ? [{ debugName: "pageTabKey" }] : /* istanbul ignore next */ []));
237
260
  this.updateTrigger = this._updateTrigger.asReadonly();
238
261
  //#endregion
239
262
  //#region ---------------- Tab Title Sync ----------------
@@ -250,7 +273,8 @@ class AXPPageLayoutBaseComponent {
250
273
  untracked(() => {
251
274
  this.recompute();
252
275
  });
253
- }, ...(ngDevMode ? [{ debugName: "#syncTabTitleOnActivate" }] : /* istanbul ignore next */ []));
276
+ }, /* @ts-ignore */
277
+ ...(ngDevMode ? [{ debugName: "#syncTabTitleOnActivate" }] : /* istanbul ignore next */ []));
254
278
  /** Publishes structured tab preview (hover card + dirty badge) for this cached page. */
255
279
  this.#syncTabStructuredPreview = effect(() => {
256
280
  this.updateTrigger();
@@ -272,11 +296,14 @@ class AXPPageLayoutBaseComponent {
272
296
  isDirty,
273
297
  });
274
298
  });
275
- }, ...(ngDevMode ? [{ debugName: "#syncTabStructuredPreview" }] : /* istanbul ignore next */ []));
299
+ }, /* @ts-ignore */
300
+ ...(ngDevMode ? [{ debugName: "#syncTabStructuredPreview" }] : /* istanbul ignore next */ []));
276
301
  //#endregion
277
302
  //#region ---------------- Title ----------------
278
- this.title = signal('', ...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
279
- this.titleIcon = signal(null, ...(ngDevMode ? [{ debugName: "titleIcon" }] : /* istanbul ignore next */ []));
303
+ this.title = signal('', /* @ts-ignore */
304
+ ...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
305
+ this.titleIcon = signal(null, /* @ts-ignore */
306
+ ...(ngDevMode ? [{ debugName: "titleIcon" }] : /* istanbul ignore next */ []));
280
307
  this.#titleEffect = effect(async () => {
281
308
  this.updateTrigger();
282
309
  this.title.set(await this.getPageTitle());
@@ -288,7 +315,8 @@ class AXPPageLayoutBaseComponent {
288
315
  this.tabNavigation.syncTabIcon(tabKey, icon);
289
316
  }
290
317
  }
291
- }, ...(ngDevMode ? [{ debugName: "#titleEffect" }] : /* istanbul ignore next */ []));
318
+ }, /* @ts-ignore */
319
+ ...(ngDevMode ? [{ debugName: "#titleEffect" }] : /* istanbul ignore next */ []));
292
320
  this.hasTitle = computed(() => {
293
321
  const value = this.title();
294
322
  if (value === null || value === undefined) {
@@ -301,8 +329,10 @@ class AXPPageLayoutBaseComponent {
301
329
  return !isEmpty(value);
302
330
  }
303
331
  return false;
304
- }, ...(ngDevMode ? [{ debugName: "hasTitle" }] : /* istanbul ignore next */ []));
305
- this.hasTitleIcon = computed(() => this.titleIcon() !== null, ...(ngDevMode ? [{ debugName: "hasTitleIcon" }] : /* istanbul ignore next */ []));
332
+ }, /* @ts-ignore */
333
+ ...(ngDevMode ? [{ debugName: "hasTitle" }] : /* istanbul ignore next */ []));
334
+ this.hasTitleIcon = computed(() => this.titleIcon() !== null, /* @ts-ignore */
335
+ ...(ngDevMode ? [{ debugName: "hasTitleIcon" }] : /* istanbul ignore next */ []));
306
336
  this.#browserTitleEffect = effect(() => {
307
337
  if (this.tabNavigation.effectiveMode() === 'tabular') {
308
338
  return;
@@ -315,10 +345,12 @@ class AXPPageLayoutBaseComponent {
315
345
  untracked(() => {
316
346
  void this.publishBrowserTitleIfActive();
317
347
  });
318
- }, ...(ngDevMode ? [{ debugName: "#browserTitleEffect" }] : /* istanbul ignore next */ []));
348
+ }, /* @ts-ignore */
349
+ ...(ngDevMode ? [{ debugName: "#browserTitleEffect" }] : /* istanbul ignore next */ []));
319
350
  //#endregion
320
351
  //#region ---------------- Description ----------------
321
- this.description = signal(null, ...(ngDevMode ? [{ debugName: "description" }] : /* istanbul ignore next */ []));
352
+ this.description = signal(null, /* @ts-ignore */
353
+ ...(ngDevMode ? [{ debugName: "description" }] : /* istanbul ignore next */ []));
322
354
  this.hasDescription = computed(() => {
323
355
  const value = this.description();
324
356
  if (value === null || value === undefined) {
@@ -331,11 +363,13 @@ class AXPPageLayoutBaseComponent {
331
363
  return !isEmpty(value);
332
364
  }
333
365
  return false;
334
- }, ...(ngDevMode ? [{ debugName: "hasDescription" }] : /* istanbul ignore next */ []));
366
+ }, /* @ts-ignore */
367
+ ...(ngDevMode ? [{ debugName: "hasDescription" }] : /* istanbul ignore next */ []));
335
368
  this.#descriptionEffect = effect(async () => {
336
369
  this.updateTrigger();
337
370
  this.description.set(await this.getPageDescription());
338
- }, ...(ngDevMode ? [{ debugName: "#descriptionEffect" }] : /* istanbul ignore next */ []));
371
+ }, /* @ts-ignore */
372
+ ...(ngDevMode ? [{ debugName: "#descriptionEffect" }] : /* istanbul ignore next */ []));
339
373
  //#endregion
340
374
  //#region ---------------- Breadcrumbs ----------------
341
375
  this.defaultBreadCrumbs = [
@@ -350,7 +384,8 @@ class AXPPageLayoutBaseComponent {
350
384
  },
351
385
  },
352
386
  ];
353
- this.breadcrumbs = signal(this.defaultBreadCrumbs, ...(ngDevMode ? [{ debugName: "breadcrumbs" }] : /* istanbul ignore next */ []));
387
+ this.breadcrumbs = signal(this.defaultBreadCrumbs, /* @ts-ignore */
388
+ ...(ngDevMode ? [{ debugName: "breadcrumbs" }] : /* istanbul ignore next */ []));
354
389
  this.#breadcrumbsEffect = effect(async () => {
355
390
  this.updateTrigger();
356
391
  const breadCrumbs = await this.getPageBreadcrumbs();
@@ -367,56 +402,78 @@ class AXPPageLayoutBaseComponent {
367
402
  this.tabNavigation.syncTabTitle(tabKey, tabTitleSegments.length ? tabTitleSegments : tabTitle);
368
403
  }
369
404
  }
370
- }, ...(ngDevMode ? [{ debugName: "#breadcrumbsEffect" }] : /* istanbul ignore next */ []));
371
- this.hasBreadcrumbs = computed(() => this.breadcrumbs().length > 1, ...(ngDevMode ? [{ debugName: "hasBreadcrumbs" }] : /* istanbul ignore next */ []));
405
+ }, /* @ts-ignore */
406
+ ...(ngDevMode ? [{ debugName: "#breadcrumbsEffect" }] : /* istanbul ignore next */ []));
407
+ this.hasBreadcrumbs = computed(() => this.breadcrumbs().length > 1, /* @ts-ignore */
408
+ ...(ngDevMode ? [{ debugName: "hasBreadcrumbs" }] : /* istanbul ignore next */ []));
372
409
  //#endregion
373
410
  //#region ---------------- Badge ----------------
374
- this.badge = signal(null, ...(ngDevMode ? [{ debugName: "badge" }] : /* istanbul ignore next */ []));
375
- this.hasBadge = computed(() => this.badge() !== null, ...(ngDevMode ? [{ debugName: "hasBadge" }] : /* istanbul ignore next */ []));
411
+ this.badge = signal(null, /* @ts-ignore */
412
+ ...(ngDevMode ? [{ debugName: "badge" }] : /* istanbul ignore next */ []));
413
+ this.hasBadge = computed(() => this.badge() !== null, /* @ts-ignore */
414
+ ...(ngDevMode ? [{ debugName: "hasBadge" }] : /* istanbul ignore next */ []));
376
415
  this.#badgeEffect = effect(async () => {
377
416
  this.updateTrigger();
378
417
  this.badge.set(await this.getPageBadge());
379
- }, ...(ngDevMode ? [{ debugName: "#badgeEffect" }] : /* istanbul ignore next */ []));
418
+ }, /* @ts-ignore */
419
+ ...(ngDevMode ? [{ debugName: "#badgeEffect" }] : /* istanbul ignore next */ []));
380
420
  //#endregion
381
421
  //#region ---------------- Status ----------------
382
- this.status = signal(null, ...(ngDevMode ? [{ debugName: "status" }] : /* istanbul ignore next */ []));
383
- this.hasStatus = computed(() => this.status() !== null, ...(ngDevMode ? [{ debugName: "hasStatus" }] : /* istanbul ignore next */ []));
422
+ this.status = signal(null, /* @ts-ignore */
423
+ ...(ngDevMode ? [{ debugName: "status" }] : /* istanbul ignore next */ []));
424
+ this.hasStatus = computed(() => this.status() !== null, /* @ts-ignore */
425
+ ...(ngDevMode ? [{ debugName: "hasStatus" }] : /* istanbul ignore next */ []));
384
426
  this.#statusEffect = effect(async () => {
385
427
  this.updateTrigger();
386
428
  this.status.set(await this.getPageStatus());
387
- }, ...(ngDevMode ? [{ debugName: "#statusEffect" }] : /* istanbul ignore next */ []));
429
+ }, /* @ts-ignore */
430
+ ...(ngDevMode ? [{ debugName: "#statusEffect" }] : /* istanbul ignore next */ []));
388
431
  //#endregion
389
432
  //#region ---------------- Layout ----------------
390
- this.layout = viewChild(AXPPageLayoutComponent, ...(ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []));
433
+ this.layout = viewChild(AXPPageLayoutComponent, /* @ts-ignore */
434
+ ...(ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []));
391
435
  //#endregion
392
436
  //#region ---------------- Actions ----------------
393
- this.primaryMenuItems = signal([], ...(ngDevMode ? [{ debugName: "primaryMenuItems" }] : /* istanbul ignore next */ []));
394
- this.hasPrimaryActions = computed(() => this.primaryMenuItems().filter((item) => item.visible != false).length > 0, ...(ngDevMode ? [{ debugName: "hasPrimaryActions" }] : /* istanbul ignore next */ []));
437
+ this.primaryMenuItems = signal([], /* @ts-ignore */
438
+ ...(ngDevMode ? [{ debugName: "primaryMenuItems" }] : /* istanbul ignore next */ []));
439
+ this.hasPrimaryActions = computed(() => this.primaryMenuItems().filter((item) => item.visible != false).length > 0, /* @ts-ignore */
440
+ ...(ngDevMode ? [{ debugName: "hasPrimaryActions" }] : /* istanbul ignore next */ []));
395
441
  this.#primaryMenuItemsEffect = effect(async () => {
396
442
  this.updateTrigger();
397
443
  const items = await this.getPrimaryMenuItems();
398
444
  this.primaryMenuItems.set(items);
399
- }, ...(ngDevMode ? [{ debugName: "#primaryMenuItemsEffect" }] : /* istanbul ignore next */ []));
400
- this.secondaryMenuItems = signal([], ...(ngDevMode ? [{ debugName: "secondaryMenuItems" }] : /* istanbul ignore next */ []));
401
- this.hasSecondaryActions = computed(() => this.secondaryMenuItems().filter((item) => item.visible != false).length > 0, ...(ngDevMode ? [{ debugName: "hasSecondaryActions" }] : /* istanbul ignore next */ []));
445
+ }, /* @ts-ignore */
446
+ ...(ngDevMode ? [{ debugName: "#primaryMenuItemsEffect" }] : /* istanbul ignore next */ []));
447
+ this.secondaryMenuItems = signal([], /* @ts-ignore */
448
+ ...(ngDevMode ? [{ debugName: "secondaryMenuItems" }] : /* istanbul ignore next */ []));
449
+ this.hasSecondaryActions = computed(() => this.secondaryMenuItems().filter((item) => item.visible != false).length > 0, /* @ts-ignore */
450
+ ...(ngDevMode ? [{ debugName: "hasSecondaryActions" }] : /* istanbul ignore next */ []));
402
451
  this.#secondaryMenuItemsEffect = effect(async () => {
403
452
  this.updateTrigger();
404
453
  const items = await this.getSecondaryMenuItems();
405
454
  this.secondaryMenuItems.set(items);
406
- }, ...(ngDevMode ? [{ debugName: "#secondaryMenuItemsEffect" }] : /* istanbul ignore next */ []));
407
- this.hasActions = computed(() => this.hasPrimaryActions() || this.hasSecondaryActions(), ...(ngDevMode ? [{ debugName: "hasActions" }] : /* istanbul ignore next */ []));
408
- this.titleActions = signal([], ...(ngDevMode ? [{ debugName: "titleActions" }] : /* istanbul ignore next */ []));
409
- this.hasTitleActions = computed(() => this.titleActions().length > 0, ...(ngDevMode ? [{ debugName: "hasTitleActions" }] : /* istanbul ignore next */ []));
455
+ }, /* @ts-ignore */
456
+ ...(ngDevMode ? [{ debugName: "#secondaryMenuItemsEffect" }] : /* istanbul ignore next */ []));
457
+ this.hasActions = computed(() => this.hasPrimaryActions() || this.hasSecondaryActions(), /* @ts-ignore */
458
+ ...(ngDevMode ? [{ debugName: "hasActions" }] : /* istanbul ignore next */ []));
459
+ this.titleActions = signal([], /* @ts-ignore */
460
+ ...(ngDevMode ? [{ debugName: "titleActions" }] : /* istanbul ignore next */ []));
461
+ this.hasTitleActions = computed(() => this.titleActions().length > 0, /* @ts-ignore */
462
+ ...(ngDevMode ? [{ debugName: "hasTitleActions" }] : /* istanbul ignore next */ []));
410
463
  this.#titleActionsEffect = effect(async () => {
411
464
  this.updateTrigger();
412
465
  this.titleActions.set(await this.getTitleActions());
413
- }, ...(ngDevMode ? [{ debugName: "#titleActionsEffect" }] : /* istanbul ignore next */ []));
414
- this.backButton = signal(null, ...(ngDevMode ? [{ debugName: "backButton" }] : /* istanbul ignore next */ []));
415
- this.hasBackButton = computed(() => this.backButton() !== null, ...(ngDevMode ? [{ debugName: "hasBackButton" }] : /* istanbul ignore next */ []));
466
+ }, /* @ts-ignore */
467
+ ...(ngDevMode ? [{ debugName: "#titleActionsEffect" }] : /* istanbul ignore next */ []));
468
+ this.backButton = signal(null, /* @ts-ignore */
469
+ ...(ngDevMode ? [{ debugName: "backButton" }] : /* istanbul ignore next */ []));
470
+ this.hasBackButton = computed(() => this.backButton() !== null, /* @ts-ignore */
471
+ ...(ngDevMode ? [{ debugName: "hasBackButton" }] : /* istanbul ignore next */ []));
416
472
  this.#backButtonEffect = effect(async () => {
417
473
  this.updateTrigger();
418
474
  this.backButton.set(await this.getBackButton());
419
- }, ...(ngDevMode ? [{ debugName: "#backButtonEffect" }] : /* istanbul ignore next */ []));
475
+ }, /* @ts-ignore */
476
+ ...(ngDevMode ? [{ debugName: "#backButtonEffect" }] : /* istanbul ignore next */ []));
420
477
  }
421
478
  recompute() {
422
479
  this._updateTrigger.set(this._updateTrigger() + 1);
@@ -672,10 +729,10 @@ class AXPPageLayoutBaseComponent {
672
729
  this.layout();
673
730
  }
674
731
  onBackButtonClick() { }
675
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPPageLayoutBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
676
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.9", type: AXPPageLayoutBaseComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "layout", first: true, predicate: AXPPageLayoutComponent, descendants: true, isSignal: true }], ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
732
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPPageLayoutBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
733
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.8", type: AXPPageLayoutBaseComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "layout", first: true, predicate: AXPPageLayoutComponent, descendants: true, isSignal: true }], ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
677
734
  }
678
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPPageLayoutBaseComponent, decorators: [{
735
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPPageLayoutBaseComponent, decorators: [{
679
736
  type: Component,
680
737
  args: [{
681
738
  standalone: true,
@@ -697,7 +754,8 @@ class AXPPopupLayoutComponent {
697
754
  this.#effect = effect(() => {
698
755
  this.popup?.title();
699
756
  this.checkScrollableContent();
700
- }, ...(ngDevMode ? [{ debugName: "#effect" }] : /* istanbul ignore next */ []));
757
+ }, /* @ts-ignore */
758
+ ...(ngDevMode ? [{ debugName: "#effect" }] : /* istanbul ignore next */ []));
701
759
  }
702
760
  #initialize;
703
761
  #effect;
@@ -723,14 +781,14 @@ class AXPPopupLayoutComponent {
723
781
  e.component.hide();
724
782
  return false;
725
783
  }
726
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPPopupLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
727
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXPPopupLayoutComponent, isStandalone: true, selector: "axp-popup-layout", ngImport: i0, template: "<axp-layout-container id=\"axp-popup-layout\" #container>\n <ng-content select=\"axp-page-content\"></ng-content>\n <axp-page-footer id=\"axp-popup-footer\" *translate=\"let t\">\n <ax-prefix> </ax-prefix>\n @if (popup.hasPrimaryActions()) {\n <ax-suffix>\n @for (item of popup.primaryMenuItems(); track $index) {\n <ax-button\n [attr.id]=\"'axp-btn-primary-' + (item.name || item.title)\"\n [text]=\"(t(item.title) | async)!\"\n [look]=\"'solid'\"\n [color]=\"item.color\"\n (onClick)=\"handleActionClick(item)\"\n >\n <ax-prefix>\n <i class=\"{{ item.icon }}\"></i>\n </ax-prefix>\n </ax-button>\n }\n </ax-suffix>\n }\n </axp-page-footer>\n</axp-layout-container>\n", styles: ["@layer properties;.axp-status-icon{font-size:.875rem;line-height:1}.axp-status-chip{display:inline-flex}.axp-status-chip--primary{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface))}.axp-status-icon--primary{color:rgb(var(--ax-sys-color-primary-dark-surface))}.axp-status-chip--secondary{background-color:rgb(var(--ax-sys-color-secondary-lighter-surface));color:rgb(var(--ax-sys-color-on-secondary-lighter-surface))}.axp-status-icon--secondary{color:rgb(var(--ax-sys-color-secondary-dark-surface))}.axp-status-chip--success{background-color:rgb(var(--ax-sys-color-success-lighter-surface));color:rgb(var(--ax-sys-color-on-success-lighter-surface))}.axp-status-icon--success{color:rgb(var(--ax-sys-color-success-dark-surface))}.axp-status-chip--warning{background-color:rgb(var(--ax-sys-color-warning-lighter-surface));color:rgb(var(--ax-sys-color-on-warning-lighter-surface))}.axp-status-icon--warning{color:rgb(var(--ax-sys-color-warning-dark-surface))}.axp-status-chip--danger{background-color:rgb(var(--ax-sys-color-danger-lighter-surface));color:rgb(var(--ax-sys-color-on-danger-lighter-surface))}.axp-status-icon--danger{color:rgb(var(--ax-sys-color-danger-dark-surface))}.axp-status-chip--info{background-color:rgb(var(--ax-sys-color-accent3-lighter-surface));color:rgb(var(--ax-sys-color-on-accent3-lighter-surface))}.axp-status-icon--info{color:rgb(var(--ax-sys-color-accent3-dark-surface))}.axp-status-chip--accent1{background-color:rgb(var(--ax-sys-color-accent1-lighter-surface));color:rgb(var(--ax-sys-color-on-accent1-lighter-surface))}.axp-status-icon--accent1{color:rgb(var(--ax-sys-color-accent1-dark-surface))}.axp-status-chip--accent2{background-color:rgb(var(--ax-sys-color-accent2-lighter-surface));color:rgb(var(--ax-sys-color-on-accent2-lighter-surface))}.axp-status-icon--accent2{color:rgb(var(--ax-sys-color-accent2-dark-surface))}.axp-status-chip--accent3{background-color:rgb(var(--ax-sys-color-accent3-lighter-surface));color:rgb(var(--ax-sys-color-on-accent3-lighter-surface))}.axp-status-icon--accent3{color:rgb(var(--ax-sys-color-accent3-dark-surface))}.axp-status-chip--neutral{background-color:rgb(var(--ax-sys-color-neutral-lighter-surface));color:rgb(var(--ax-sys-color-on-neutral-lighter-surface))}.axp-status-icon--neutral{color:rgb(var(--ax-sys-color-neutral-dark-surface))}axp-layout-title{display:block;width:100%;--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axp-layout-description{display:block;width:100%;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));opacity:65%}axp-layout-actions{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 3)}axp-layout-actions axp-layout-actions-primary{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 3)}axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar{display:flex;width:100%;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-footer>axp-layout-prefix,axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-prefix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-prefix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-prefix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-prefix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-prefix,axp-page-toolbar>axp-layout-suffix{display:flex;flex-direction:row;align-items:center;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-footer>axp-layout-prefix,axp-layout-toolbar>axp-layout-prefix,axp-layout-header>axp-layout-prefix,axp-page-header>axp-layout-prefix,axp-page-footer>axp-layout-prefix,axp-page-toolbar>axp-layout-prefix{order:-9999}axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-suffix{order:9999;margin-inline-start:auto}axp-layout-list{display:flex;flex-direction:column}:where(axp-layout-list>:not(:last-child)){--tw-divide-y-reverse: 0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(axp-layout-list>:not(:last-child)){--tw-border-style: dashed;border-style:dashed}axp-layout-list:focus{outline:none}axp-layout-list-group{display:flex;flex-direction:column;padding-block:calc(var(--spacing, .25rem) * 2)}axp-layout-list-group>axp-layout-title{padding-bottom:calc(var(--spacing, .25rem) * 2);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axp-layout-list-group>axp-layout-header{display:flex;justify-content:space-between;padding-block:calc(var(--spacing, .25rem) * 2)}axp-layout-list-item{margin-top:var(--spacing, .25rem);display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 3);padding-inline:calc(var(--spacing, .25rem) * 2);padding-block:calc(var(--spacing, .25rem) * 2);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}axp-layout-list-item:focus{outline:none}axp-layout-list-item.axp-state-focused,axp-layout-list-item:hover{cursor:pointer;border-radius:.25rem;background-color:rgba(var(--ax-sys-color-light-surface));color:rgba(var(--ax-sys-color-on-lightest-surface))}axp-layout-list-item>axp-layout-prefix{margin-inline-end:auto;display:flex;flex-direction:row;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-list-item>axp-layout-content{flex:1}axp-layout-list-item>axp-layout-content axp-layout-description{margin-top:var(--spacing, .25rem)!important;font-size:var(--text-xs, .75rem)!important;line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)))!important}axp-layout-list-item>axp-layout-suffix{margin-inline-start:auto;display:flex;flex-direction:row;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-sections{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 4)}axp-layout-sections axp-layout-section{display:block;border-radius:var(--radius-md, .375rem);border-style:var(--tw-border-style);border-width:1px;--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 2)}@media(width>=80rem){axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding-block:calc(var(--spacing, .25rem) * 4)}}axp-layout-sections axp-layout-section>axp-layout-header{display:flex;flex-direction:column;gap:0;border-top-left-radius:var(--radius-md, .375rem);border-top-right-radius:var(--radius-md, .375rem);border-bottom-style:var(--tw-border-style);border-bottom-width:1px}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-title{--tw-font-weight: var(--font-weight-bold, 700);font-weight:var(--font-weight-bold, 700);color:var(--color-text-default)}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-description{margin-top:var(--spacing, .25rem);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}axp-layout-sections axp-layout-section>axp-layout-footer{display:flex;align-items:center;justify-content:space-between;border-bottom-right-radius:var(--radius-md, .375rem);border-bottom-left-radius:var(--radius-md, .375rem);border-top-style:var(--tw-border-style);border-top-width:1px;padding:calc(var(--spacing, .25rem) * 4)}axp-layout-sections axp-layout-section>axp-layout-footer>axp-layout-suffix{margin-inline-start:auto;display:flex;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-sections axp-layout-section>axp-layout-footer{opacity:0;animation:fadeInDown .5s ease-out forwards}@keyframes fadeInDown{0%{opacity:0}to{opacity:1}}axp-popup-layout{display:flex;width:100%;height:100%;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}axp-popup-layout>axp-layout-container{position:relative;display:flex;width:100%;height:100%;flex-direction:column;overflow:auto;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}axp-popup-layout>axp-layout-container>axp-layout-header{position:sticky;top:0;z-index:10;display:flex;flex-direction:column;align-items:flex-start;gap:0;background-color:rgba(var(--ax-sys-color-lightest-surface));padding-block:calc(var(--spacing, .25rem) * 2);transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s))}@media(width>=48rem){axp-popup-layout>axp-layout-container>axp-layout-header{padding-block:calc(var(--spacing, .25rem) * 4)}}axp-popup-layout>axp-layout-container>axp-page-content{display:flex;width:100%;flex:1;flex-direction:column}axp-popup-layout>axp-layout-container>axp-page-footer{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:rgba(var(--ax-sys-color-lightest-surface));background-color:rgba(var(--ax-sys-color-lightest-surface));position:sticky;bottom:0;padding-inline:calc(var(--spacing, .25rem) * 3);padding-block:calc(var(--spacing, .25rem) * 3);--tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}axp-popup-layout>axp-layout-container>axp-page-footer:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){border-color:rgba(var(--ax-sys-color-dark-surface))}axp-popup-layout>axp-layout-container>axp-page-footer:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:rgba(var(--ax-sys-color-dark-surface))}axp-popup-layout>axp-layout-container>axp-page-footer.--animated{animation:var(--animate-fadeInUp, 1s both fadeInUp);--tw-duration: .3s;transition-duration:.3s;--tw-ease: var(--ease-out, cubic-bezier(0, 0, .2, 1));transition-timing-function:var(--ease-out, cubic-bezier(0, 0, .2, 1))}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-divide-y-reverse{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-duration{syntax: \"*\"; inherits: false;}@property --tw-ease{syntax: \"*\"; inherits: false;}@keyframes fadeInDown{0%{transform:translate3d(0,-100%,0);opacity:0}}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight: initial;--tw-divide-y-reverse: 0;--tw-border-style: solid;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-duration: initial;--tw-ease: initial}}}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type:
784
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPPopupLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
785
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXPPopupLayoutComponent, isStandalone: true, selector: "axp-popup-layout", ngImport: i0, template: "<axp-layout-container id=\"axp-popup-layout\" #container>\n <ng-content select=\"axp-page-content\"></ng-content>\n <axp-page-footer id=\"axp-popup-footer\" *translate=\"let t\">\n <ax-prefix> </ax-prefix>\n @if (popup.hasPrimaryActions()) {\n <ax-suffix>\n @for (item of popup.primaryMenuItems(); track $index) {\n <ax-button\n [attr.id]=\"'axp-btn-primary-' + (item.name || item.title)\"\n [text]=\"(t(item.title) | async)!\"\n [look]=\"'solid'\"\n [color]=\"item.color\"\n (onClick)=\"handleActionClick(item)\"\n >\n <ax-prefix>\n <i class=\"{{ item.icon }}\"></i>\n </ax-prefix>\n </ax-button>\n }\n </ax-suffix>\n }\n </axp-page-footer>\n</axp-layout-container>\n", styles: ["@layer properties;.axp-status-icon{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-leading: 1;line-height:1}.axp-status-chip{display:inline-flex}.axp-status-chip--primary{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface))}.axp-status-icon--primary{color:rgb(var(--ax-sys-color-primary-dark-surface))}.axp-status-chip--secondary{background-color:rgb(var(--ax-sys-color-secondary-lighter-surface));color:rgb(var(--ax-sys-color-on-secondary-lighter-surface))}.axp-status-icon--secondary{color:rgb(var(--ax-sys-color-secondary-dark-surface))}.axp-status-chip--success{background-color:rgb(var(--ax-sys-color-success-lighter-surface));color:rgb(var(--ax-sys-color-on-success-lighter-surface))}.axp-status-icon--success{color:rgb(var(--ax-sys-color-success-dark-surface))}.axp-status-chip--warning{background-color:rgb(var(--ax-sys-color-warning-lighter-surface));color:rgb(var(--ax-sys-color-on-warning-lighter-surface))}.axp-status-icon--warning{color:rgb(var(--ax-sys-color-warning-dark-surface))}.axp-status-chip--danger{background-color:rgb(var(--ax-sys-color-danger-lighter-surface));color:rgb(var(--ax-sys-color-on-danger-lighter-surface))}.axp-status-icon--danger{color:rgb(var(--ax-sys-color-danger-dark-surface))}.axp-status-chip--info{background-color:rgb(var(--ax-sys-color-accent3-lighter-surface));color:rgb(var(--ax-sys-color-on-accent3-lighter-surface))}.axp-status-icon--info{color:rgb(var(--ax-sys-color-accent3-dark-surface))}.axp-status-chip--accent1{background-color:rgb(var(--ax-sys-color-accent1-lighter-surface));color:rgb(var(--ax-sys-color-on-accent1-lighter-surface))}.axp-status-icon--accent1{color:rgb(var(--ax-sys-color-accent1-dark-surface))}.axp-status-chip--accent2{background-color:rgb(var(--ax-sys-color-accent2-lighter-surface));color:rgb(var(--ax-sys-color-on-accent2-lighter-surface))}.axp-status-icon--accent2{color:rgb(var(--ax-sys-color-accent2-dark-surface))}.axp-status-chip--accent3{background-color:rgb(var(--ax-sys-color-accent3-lighter-surface));color:rgb(var(--ax-sys-color-on-accent3-lighter-surface))}.axp-status-icon--accent3{color:rgb(var(--ax-sys-color-accent3-dark-surface))}.axp-status-chip--neutral{background-color:rgb(var(--ax-sys-color-neutral-lighter-surface));color:rgb(var(--ax-sys-color-on-neutral-lighter-surface))}.axp-status-icon--neutral{color:rgb(var(--ax-sys-color-neutral-dark-surface))}axp-layout-title{display:block;width:100%;--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axp-layout-description{display:block;width:100%;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));opacity:65%}axp-layout-actions{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 3)}axp-layout-actions axp-layout-actions-primary{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 3)}axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar{display:flex;width:100%;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 2)}:is(axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar)>axp-layout-prefix,:is(axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar)>axp-layout-suffix{display:flex;flex-direction:row;align-items:center;gap:calc(var(--spacing, .25rem) * 2)}:is(axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar)>axp-layout-prefix{order:-9999}:is(axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar)>axp-layout-suffix{order:9999;margin-inline-start:auto}axp-layout-list{display:flex;flex-direction:column}:where(axp-layout-list>:not(:last-child)){--tw-divide-y-reverse: 0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(axp-layout-list>:not(:last-child)){--tw-border-style: dashed;border-style:dashed}axp-layout-list:focus{outline:none}axp-layout-list-group{display:flex;flex-direction:column;padding-block:calc(var(--spacing, .25rem) * 2)}axp-layout-list-group>axp-layout-title{padding-bottom:calc(var(--spacing, .25rem) * 2);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axp-layout-list-group>axp-layout-header{display:flex;justify-content:space-between;padding-block:calc(var(--spacing, .25rem) * 2)}axp-layout-list-item{margin-top:var(--spacing, .25rem);display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 3);padding-inline:calc(var(--spacing, .25rem) * 2);padding-block:calc(var(--spacing, .25rem) * 2);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}axp-layout-list-item:focus{outline:none}axp-layout-list-item.axp-state-focused,axp-layout-list-item:hover{cursor:pointer;border-radius:.25rem;background-color:rgba(var(--ax-sys-color-light-surface));color:rgba(var(--ax-sys-color-on-lightest-surface))}axp-layout-list-item>axp-layout-prefix{margin-inline-end:auto;display:flex;flex-direction:row;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-list-item>axp-layout-content{flex:1}axp-layout-list-item>axp-layout-content axp-layout-description{margin-top:var(--spacing, .25rem)!important;font-size:var(--text-xs, .75rem)!important;line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)))!important}axp-layout-list-item>axp-layout-suffix{margin-inline-start:auto;display:flex;flex-direction:row;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-sections{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 4)}axp-layout-sections axp-layout-section{display:block;border-radius:var(--radius-md, .375rem);border-style:var(--tw-border-style);border-width:1px;--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 2)}@media(width>=80rem){axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding-block:calc(var(--spacing, .25rem) * 4)}}axp-layout-sections axp-layout-section>axp-layout-header{display:flex;flex-direction:column;gap:0px;border-top-left-radius:var(--radius-md, .375rem);border-top-right-radius:var(--radius-md, .375rem);border-bottom-style:var(--tw-border-style);border-bottom-width:1px}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-title{--tw-font-weight: var(--font-weight-bold, 700);font-weight:var(--font-weight-bold, 700)}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-description{margin-top:var(--spacing, .25rem);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}axp-layout-sections axp-layout-section>axp-layout-footer{display:flex;align-items:center;justify-content:space-between;border-bottom-right-radius:var(--radius-md, .375rem);border-bottom-left-radius:var(--radius-md, .375rem);border-top-style:var(--tw-border-style);border-top-width:1px;padding:calc(var(--spacing, .25rem) * 4)}axp-layout-sections axp-layout-section>axp-layout-footer>axp-layout-suffix{margin-inline-start:auto;display:flex;gap:calc(var(--spacing, .25rem) * 2)}@keyframes fadeInDown{0%{opacity:0}to{opacity:1}}axp-popup-layout{display:flex;width:100%;height:100%;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}axp-popup-layout>axp-layout-container{position:relative;display:flex;width:100%;height:100%;flex-direction:column;overflow:auto;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}axp-popup-layout>axp-layout-container>axp-layout-header{position:sticky;top:0;z-index:10;display:flex;flex-direction:column;align-items:flex-start;gap:0px;background-color:rgba(var(--ax-sys-color-lightest-surface));padding-block:calc(var(--spacing, .25rem) * 2);transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s))}@media(width>=48rem){axp-popup-layout>axp-layout-container>axp-layout-header{padding-block:calc(var(--spacing, .25rem) * 4)}}axp-popup-layout>axp-layout-container>axp-page-content{display:flex;width:100%;flex:1;flex-direction:column}axp-popup-layout>axp-layout-container>axp-page-footer{position:sticky;bottom:0;border-top-style:var(--tw-border-style);border-top-width:1px;border-color:rgba(var(--ax-sys-color-lightest-surface));background-color:rgba(var(--ax-sys-color-lightest-surface));padding-inline:calc(var(--spacing, .25rem) * 3);padding-block:calc(var(--spacing, .25rem) * 3);--tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}axp-popup-layout>axp-layout-container>axp-page-footer:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){border-color:rgba(var(--ax-sys-color-dark-surface))}axp-popup-layout>axp-layout-container>axp-page-footer:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:rgba(var(--ax-sys-color-dark-surface))}axp-popup-layout>axp-layout-container>axp-page-footer.--animated{animation:var(--animate-fadeInUp, 1s both fadeInUp);--tw-duration: .3s;transition-duration:.3s;--tw-ease: var(--ease-out, cubic-bezier(0, 0, .2, 1));transition-timing-function:var(--ease-out, cubic-bezier(0, 0, .2, 1))}@property --tw-leading{syntax: \"*\"; inherits: false;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-divide-y-reverse{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-duration{syntax: \"*\"; inherits: false;}@property --tw-ease{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-leading: initial;--tw-font-weight: initial;--tw-divide-y-reverse: 0;--tw-border-style: solid;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-duration: initial;--tw-ease: initial}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type:
728
786
  //
729
787
  AXCommonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i4.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: AXBreadcrumbsModule }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i7.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: AXTranslationModule }, { kind: "directive", type: i3$1.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "ngmodule", type: AXDrawerDirectiveModule }, { kind: "component", type:
730
788
  //
731
789
  AXPThemeLayoutBlockComponent, selector: " axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, " }, { kind: "component", type: AXPThemeLayoutContainerComponent, selector: "axp-layout-container" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
732
790
  }
733
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPPopupLayoutComponent, decorators: [{
791
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPPopupLayoutComponent, decorators: [{
734
792
  type: Component,
735
793
  args: [{ standalone: true, imports: [
736
794
  CommonModule,
@@ -747,7 +805,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
747
805
  //
748
806
  AXPThemeLayoutBlockComponent,
749
807
  AXPThemeLayoutContainerComponent,
750
- ], selector: 'axp-popup-layout', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<axp-layout-container id=\"axp-popup-layout\" #container>\n <ng-content select=\"axp-page-content\"></ng-content>\n <axp-page-footer id=\"axp-popup-footer\" *translate=\"let t\">\n <ax-prefix> </ax-prefix>\n @if (popup.hasPrimaryActions()) {\n <ax-suffix>\n @for (item of popup.primaryMenuItems(); track $index) {\n <ax-button\n [attr.id]=\"'axp-btn-primary-' + (item.name || item.title)\"\n [text]=\"(t(item.title) | async)!\"\n [look]=\"'solid'\"\n [color]=\"item.color\"\n (onClick)=\"handleActionClick(item)\"\n >\n <ax-prefix>\n <i class=\"{{ item.icon }}\"></i>\n </ax-prefix>\n </ax-button>\n }\n </ax-suffix>\n }\n </axp-page-footer>\n</axp-layout-container>\n", styles: ["@layer properties;.axp-status-icon{font-size:.875rem;line-height:1}.axp-status-chip{display:inline-flex}.axp-status-chip--primary{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface))}.axp-status-icon--primary{color:rgb(var(--ax-sys-color-primary-dark-surface))}.axp-status-chip--secondary{background-color:rgb(var(--ax-sys-color-secondary-lighter-surface));color:rgb(var(--ax-sys-color-on-secondary-lighter-surface))}.axp-status-icon--secondary{color:rgb(var(--ax-sys-color-secondary-dark-surface))}.axp-status-chip--success{background-color:rgb(var(--ax-sys-color-success-lighter-surface));color:rgb(var(--ax-sys-color-on-success-lighter-surface))}.axp-status-icon--success{color:rgb(var(--ax-sys-color-success-dark-surface))}.axp-status-chip--warning{background-color:rgb(var(--ax-sys-color-warning-lighter-surface));color:rgb(var(--ax-sys-color-on-warning-lighter-surface))}.axp-status-icon--warning{color:rgb(var(--ax-sys-color-warning-dark-surface))}.axp-status-chip--danger{background-color:rgb(var(--ax-sys-color-danger-lighter-surface));color:rgb(var(--ax-sys-color-on-danger-lighter-surface))}.axp-status-icon--danger{color:rgb(var(--ax-sys-color-danger-dark-surface))}.axp-status-chip--info{background-color:rgb(var(--ax-sys-color-accent3-lighter-surface));color:rgb(var(--ax-sys-color-on-accent3-lighter-surface))}.axp-status-icon--info{color:rgb(var(--ax-sys-color-accent3-dark-surface))}.axp-status-chip--accent1{background-color:rgb(var(--ax-sys-color-accent1-lighter-surface));color:rgb(var(--ax-sys-color-on-accent1-lighter-surface))}.axp-status-icon--accent1{color:rgb(var(--ax-sys-color-accent1-dark-surface))}.axp-status-chip--accent2{background-color:rgb(var(--ax-sys-color-accent2-lighter-surface));color:rgb(var(--ax-sys-color-on-accent2-lighter-surface))}.axp-status-icon--accent2{color:rgb(var(--ax-sys-color-accent2-dark-surface))}.axp-status-chip--accent3{background-color:rgb(var(--ax-sys-color-accent3-lighter-surface));color:rgb(var(--ax-sys-color-on-accent3-lighter-surface))}.axp-status-icon--accent3{color:rgb(var(--ax-sys-color-accent3-dark-surface))}.axp-status-chip--neutral{background-color:rgb(var(--ax-sys-color-neutral-lighter-surface));color:rgb(var(--ax-sys-color-on-neutral-lighter-surface))}.axp-status-icon--neutral{color:rgb(var(--ax-sys-color-neutral-dark-surface))}axp-layout-title{display:block;width:100%;--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axp-layout-description{display:block;width:100%;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));opacity:65%}axp-layout-actions{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 3)}axp-layout-actions axp-layout-actions-primary{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 3)}axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar{display:flex;width:100%;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-footer>axp-layout-prefix,axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-prefix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-prefix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-prefix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-prefix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-prefix,axp-page-toolbar>axp-layout-suffix{display:flex;flex-direction:row;align-items:center;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-footer>axp-layout-prefix,axp-layout-toolbar>axp-layout-prefix,axp-layout-header>axp-layout-prefix,axp-page-header>axp-layout-prefix,axp-page-footer>axp-layout-prefix,axp-page-toolbar>axp-layout-prefix{order:-9999}axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-suffix{order:9999;margin-inline-start:auto}axp-layout-list{display:flex;flex-direction:column}:where(axp-layout-list>:not(:last-child)){--tw-divide-y-reverse: 0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(axp-layout-list>:not(:last-child)){--tw-border-style: dashed;border-style:dashed}axp-layout-list:focus{outline:none}axp-layout-list-group{display:flex;flex-direction:column;padding-block:calc(var(--spacing, .25rem) * 2)}axp-layout-list-group>axp-layout-title{padding-bottom:calc(var(--spacing, .25rem) * 2);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axp-layout-list-group>axp-layout-header{display:flex;justify-content:space-between;padding-block:calc(var(--spacing, .25rem) * 2)}axp-layout-list-item{margin-top:var(--spacing, .25rem);display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 3);padding-inline:calc(var(--spacing, .25rem) * 2);padding-block:calc(var(--spacing, .25rem) * 2);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}axp-layout-list-item:focus{outline:none}axp-layout-list-item.axp-state-focused,axp-layout-list-item:hover{cursor:pointer;border-radius:.25rem;background-color:rgba(var(--ax-sys-color-light-surface));color:rgba(var(--ax-sys-color-on-lightest-surface))}axp-layout-list-item>axp-layout-prefix{margin-inline-end:auto;display:flex;flex-direction:row;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-list-item>axp-layout-content{flex:1}axp-layout-list-item>axp-layout-content axp-layout-description{margin-top:var(--spacing, .25rem)!important;font-size:var(--text-xs, .75rem)!important;line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)))!important}axp-layout-list-item>axp-layout-suffix{margin-inline-start:auto;display:flex;flex-direction:row;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-sections{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 4)}axp-layout-sections axp-layout-section{display:block;border-radius:var(--radius-md, .375rem);border-style:var(--tw-border-style);border-width:1px;--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 2)}@media(width>=80rem){axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding-block:calc(var(--spacing, .25rem) * 4)}}axp-layout-sections axp-layout-section>axp-layout-header{display:flex;flex-direction:column;gap:0;border-top-left-radius:var(--radius-md, .375rem);border-top-right-radius:var(--radius-md, .375rem);border-bottom-style:var(--tw-border-style);border-bottom-width:1px}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-title{--tw-font-weight: var(--font-weight-bold, 700);font-weight:var(--font-weight-bold, 700);color:var(--color-text-default)}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-description{margin-top:var(--spacing, .25rem);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}axp-layout-sections axp-layout-section>axp-layout-footer{display:flex;align-items:center;justify-content:space-between;border-bottom-right-radius:var(--radius-md, .375rem);border-bottom-left-radius:var(--radius-md, .375rem);border-top-style:var(--tw-border-style);border-top-width:1px;padding:calc(var(--spacing, .25rem) * 4)}axp-layout-sections axp-layout-section>axp-layout-footer>axp-layout-suffix{margin-inline-start:auto;display:flex;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-sections axp-layout-section>axp-layout-footer{opacity:0;animation:fadeInDown .5s ease-out forwards}@keyframes fadeInDown{0%{opacity:0}to{opacity:1}}axp-popup-layout{display:flex;width:100%;height:100%;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}axp-popup-layout>axp-layout-container{position:relative;display:flex;width:100%;height:100%;flex-direction:column;overflow:auto;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}axp-popup-layout>axp-layout-container>axp-layout-header{position:sticky;top:0;z-index:10;display:flex;flex-direction:column;align-items:flex-start;gap:0;background-color:rgba(var(--ax-sys-color-lightest-surface));padding-block:calc(var(--spacing, .25rem) * 2);transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s))}@media(width>=48rem){axp-popup-layout>axp-layout-container>axp-layout-header{padding-block:calc(var(--spacing, .25rem) * 4)}}axp-popup-layout>axp-layout-container>axp-page-content{display:flex;width:100%;flex:1;flex-direction:column}axp-popup-layout>axp-layout-container>axp-page-footer{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:rgba(var(--ax-sys-color-lightest-surface));background-color:rgba(var(--ax-sys-color-lightest-surface));position:sticky;bottom:0;padding-inline:calc(var(--spacing, .25rem) * 3);padding-block:calc(var(--spacing, .25rem) * 3);--tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}axp-popup-layout>axp-layout-container>axp-page-footer:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){border-color:rgba(var(--ax-sys-color-dark-surface))}axp-popup-layout>axp-layout-container>axp-page-footer:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:rgba(var(--ax-sys-color-dark-surface))}axp-popup-layout>axp-layout-container>axp-page-footer.--animated{animation:var(--animate-fadeInUp, 1s both fadeInUp);--tw-duration: .3s;transition-duration:.3s;--tw-ease: var(--ease-out, cubic-bezier(0, 0, .2, 1));transition-timing-function:var(--ease-out, cubic-bezier(0, 0, .2, 1))}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-divide-y-reverse{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-duration{syntax: \"*\"; inherits: false;}@property --tw-ease{syntax: \"*\"; inherits: false;}@keyframes fadeInDown{0%{transform:translate3d(0,-100%,0);opacity:0}}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight: initial;--tw-divide-y-reverse: 0;--tw-border-style: solid;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-duration: initial;--tw-ease: initial}}}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
808
+ ], selector: 'axp-popup-layout', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<axp-layout-container id=\"axp-popup-layout\" #container>\n <ng-content select=\"axp-page-content\"></ng-content>\n <axp-page-footer id=\"axp-popup-footer\" *translate=\"let t\">\n <ax-prefix> </ax-prefix>\n @if (popup.hasPrimaryActions()) {\n <ax-suffix>\n @for (item of popup.primaryMenuItems(); track $index) {\n <ax-button\n [attr.id]=\"'axp-btn-primary-' + (item.name || item.title)\"\n [text]=\"(t(item.title) | async)!\"\n [look]=\"'solid'\"\n [color]=\"item.color\"\n (onClick)=\"handleActionClick(item)\"\n >\n <ax-prefix>\n <i class=\"{{ item.icon }}\"></i>\n </ax-prefix>\n </ax-button>\n }\n </ax-suffix>\n }\n </axp-page-footer>\n</axp-layout-container>\n", styles: ["@layer properties;.axp-status-icon{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-leading: 1;line-height:1}.axp-status-chip{display:inline-flex}.axp-status-chip--primary{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface))}.axp-status-icon--primary{color:rgb(var(--ax-sys-color-primary-dark-surface))}.axp-status-chip--secondary{background-color:rgb(var(--ax-sys-color-secondary-lighter-surface));color:rgb(var(--ax-sys-color-on-secondary-lighter-surface))}.axp-status-icon--secondary{color:rgb(var(--ax-sys-color-secondary-dark-surface))}.axp-status-chip--success{background-color:rgb(var(--ax-sys-color-success-lighter-surface));color:rgb(var(--ax-sys-color-on-success-lighter-surface))}.axp-status-icon--success{color:rgb(var(--ax-sys-color-success-dark-surface))}.axp-status-chip--warning{background-color:rgb(var(--ax-sys-color-warning-lighter-surface));color:rgb(var(--ax-sys-color-on-warning-lighter-surface))}.axp-status-icon--warning{color:rgb(var(--ax-sys-color-warning-dark-surface))}.axp-status-chip--danger{background-color:rgb(var(--ax-sys-color-danger-lighter-surface));color:rgb(var(--ax-sys-color-on-danger-lighter-surface))}.axp-status-icon--danger{color:rgb(var(--ax-sys-color-danger-dark-surface))}.axp-status-chip--info{background-color:rgb(var(--ax-sys-color-accent3-lighter-surface));color:rgb(var(--ax-sys-color-on-accent3-lighter-surface))}.axp-status-icon--info{color:rgb(var(--ax-sys-color-accent3-dark-surface))}.axp-status-chip--accent1{background-color:rgb(var(--ax-sys-color-accent1-lighter-surface));color:rgb(var(--ax-sys-color-on-accent1-lighter-surface))}.axp-status-icon--accent1{color:rgb(var(--ax-sys-color-accent1-dark-surface))}.axp-status-chip--accent2{background-color:rgb(var(--ax-sys-color-accent2-lighter-surface));color:rgb(var(--ax-sys-color-on-accent2-lighter-surface))}.axp-status-icon--accent2{color:rgb(var(--ax-sys-color-accent2-dark-surface))}.axp-status-chip--accent3{background-color:rgb(var(--ax-sys-color-accent3-lighter-surface));color:rgb(var(--ax-sys-color-on-accent3-lighter-surface))}.axp-status-icon--accent3{color:rgb(var(--ax-sys-color-accent3-dark-surface))}.axp-status-chip--neutral{background-color:rgb(var(--ax-sys-color-neutral-lighter-surface));color:rgb(var(--ax-sys-color-on-neutral-lighter-surface))}.axp-status-icon--neutral{color:rgb(var(--ax-sys-color-neutral-dark-surface))}axp-layout-title{display:block;width:100%;--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axp-layout-description{display:block;width:100%;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));opacity:65%}axp-layout-actions{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 3)}axp-layout-actions axp-layout-actions-primary{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 3)}axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar{display:flex;width:100%;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 2)}:is(axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar)>axp-layout-prefix,:is(axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar)>axp-layout-suffix{display:flex;flex-direction:row;align-items:center;gap:calc(var(--spacing, .25rem) * 2)}:is(axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar)>axp-layout-prefix{order:-9999}:is(axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar)>axp-layout-suffix{order:9999;margin-inline-start:auto}axp-layout-list{display:flex;flex-direction:column}:where(axp-layout-list>:not(:last-child)){--tw-divide-y-reverse: 0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(axp-layout-list>:not(:last-child)){--tw-border-style: dashed;border-style:dashed}axp-layout-list:focus{outline:none}axp-layout-list-group{display:flex;flex-direction:column;padding-block:calc(var(--spacing, .25rem) * 2)}axp-layout-list-group>axp-layout-title{padding-bottom:calc(var(--spacing, .25rem) * 2);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axp-layout-list-group>axp-layout-header{display:flex;justify-content:space-between;padding-block:calc(var(--spacing, .25rem) * 2)}axp-layout-list-item{margin-top:var(--spacing, .25rem);display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 3);padding-inline:calc(var(--spacing, .25rem) * 2);padding-block:calc(var(--spacing, .25rem) * 2);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}axp-layout-list-item:focus{outline:none}axp-layout-list-item.axp-state-focused,axp-layout-list-item:hover{cursor:pointer;border-radius:.25rem;background-color:rgba(var(--ax-sys-color-light-surface));color:rgba(var(--ax-sys-color-on-lightest-surface))}axp-layout-list-item>axp-layout-prefix{margin-inline-end:auto;display:flex;flex-direction:row;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-list-item>axp-layout-content{flex:1}axp-layout-list-item>axp-layout-content axp-layout-description{margin-top:var(--spacing, .25rem)!important;font-size:var(--text-xs, .75rem)!important;line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)))!important}axp-layout-list-item>axp-layout-suffix{margin-inline-start:auto;display:flex;flex-direction:row;gap:calc(var(--spacing, .25rem) * 2)}axp-layout-sections{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 4)}axp-layout-sections axp-layout-section{display:block;border-radius:var(--radius-md, .375rem);border-style:var(--tw-border-style);border-width:1px;--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 2)}@media(width>=80rem){axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding-block:calc(var(--spacing, .25rem) * 4)}}axp-layout-sections axp-layout-section>axp-layout-header{display:flex;flex-direction:column;gap:0px;border-top-left-radius:var(--radius-md, .375rem);border-top-right-radius:var(--radius-md, .375rem);border-bottom-style:var(--tw-border-style);border-bottom-width:1px}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-title{--tw-font-weight: var(--font-weight-bold, 700);font-weight:var(--font-weight-bold, 700)}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-description{margin-top:var(--spacing, .25rem);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}axp-layout-sections axp-layout-section>axp-layout-footer{display:flex;align-items:center;justify-content:space-between;border-bottom-right-radius:var(--radius-md, .375rem);border-bottom-left-radius:var(--radius-md, .375rem);border-top-style:var(--tw-border-style);border-top-width:1px;padding:calc(var(--spacing, .25rem) * 4)}axp-layout-sections axp-layout-section>axp-layout-footer>axp-layout-suffix{margin-inline-start:auto;display:flex;gap:calc(var(--spacing, .25rem) * 2)}@keyframes fadeInDown{0%{opacity:0}to{opacity:1}}axp-popup-layout{display:flex;width:100%;height:100%;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}axp-popup-layout>axp-layout-container{position:relative;display:flex;width:100%;height:100%;flex-direction:column;overflow:auto;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}axp-popup-layout>axp-layout-container>axp-layout-header{position:sticky;top:0;z-index:10;display:flex;flex-direction:column;align-items:flex-start;gap:0px;background-color:rgba(var(--ax-sys-color-lightest-surface));padding-block:calc(var(--spacing, .25rem) * 2);transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s))}@media(width>=48rem){axp-popup-layout>axp-layout-container>axp-layout-header{padding-block:calc(var(--spacing, .25rem) * 4)}}axp-popup-layout>axp-layout-container>axp-page-content{display:flex;width:100%;flex:1;flex-direction:column}axp-popup-layout>axp-layout-container>axp-page-footer{position:sticky;bottom:0;border-top-style:var(--tw-border-style);border-top-width:1px;border-color:rgba(var(--ax-sys-color-lightest-surface));background-color:rgba(var(--ax-sys-color-lightest-surface));padding-inline:calc(var(--spacing, .25rem) * 3);padding-block:calc(var(--spacing, .25rem) * 3);--tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}axp-popup-layout>axp-layout-container>axp-page-footer:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){border-color:rgba(var(--ax-sys-color-dark-surface))}axp-popup-layout>axp-layout-container>axp-page-footer:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:rgba(var(--ax-sys-color-dark-surface))}axp-popup-layout>axp-layout-container>axp-page-footer.--animated{animation:var(--animate-fadeInUp, 1s both fadeInUp);--tw-duration: .3s;transition-duration:.3s;--tw-ease: var(--ease-out, cubic-bezier(0, 0, .2, 1));transition-timing-function:var(--ease-out, cubic-bezier(0, 0, .2, 1))}@property --tw-leading{syntax: \"*\"; inherits: false;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-divide-y-reverse{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-duration{syntax: \"*\"; inherits: false;}@property --tw-ease{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-leading: initial;--tw-font-weight: initial;--tw-divide-y-reverse: 0;--tw-border-style: solid;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-duration: initial;--tw-ease: initial}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
751
809
  }] });
752
810
 
753
811
  class AXPPopupLayoutBaseComponent extends AXBasePageComponent {
@@ -762,41 +820,56 @@ class AXPPopupLayoutBaseComponent extends AXBasePageComponent {
762
820
  this.homePageService = inject(AXPHomePageService);
763
821
  //#endregion
764
822
  //#region ---------------- Signal to force recomputation ----------------
765
- this._updateTrigger = signal(0, ...(ngDevMode ? [{ debugName: "_updateTrigger" }] : /* istanbul ignore next */ []));
823
+ this._updateTrigger = signal(0, /* @ts-ignore */
824
+ ...(ngDevMode ? [{ debugName: "_updateTrigger" }] : /* istanbul ignore next */ []));
766
825
  this.updateTrigger = this._updateTrigger.asReadonly();
767
826
  //#endregion
768
827
  //#region ---------------- Title ----------------
769
- this.title = signal('', ...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
828
+ this.title = signal('', /* @ts-ignore */
829
+ ...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
770
830
  this.#titleEffect = effect(async () => {
771
831
  this.updateTrigger();
772
832
  this.title.set(await this.getPopupTitle());
773
- }, ...(ngDevMode ? [{ debugName: "#titleEffect" }] : /* istanbul ignore next */ []));
774
- this.hasTitle = computed(() => this.title() !== '', ...(ngDevMode ? [{ debugName: "hasTitle" }] : /* istanbul ignore next */ []));
833
+ }, /* @ts-ignore */
834
+ ...(ngDevMode ? [{ debugName: "#titleEffect" }] : /* istanbul ignore next */ []));
835
+ this.hasTitle = computed(() => this.title() !== '', /* @ts-ignore */
836
+ ...(ngDevMode ? [{ debugName: "hasTitle" }] : /* istanbul ignore next */ []));
775
837
  //#endregion
776
838
  //#region ---------------- Layout ----------------
777
839
  // Placeholder for popup layout reference if needed
778
- this.layout = viewChild(AXPPopupLayoutComponent, ...(ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []));
840
+ this.layout = viewChild(AXPPopupLayoutComponent, /* @ts-ignore */
841
+ ...(ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []));
779
842
  //#endregion
780
843
  //#region ---------------- Actions ----------------
781
- this.primaryMenuItems = signal([], ...(ngDevMode ? [{ debugName: "primaryMenuItems" }] : /* istanbul ignore next */ []));
782
- this.hasPrimaryActions = computed(() => this.primaryMenuItems().length > 0, ...(ngDevMode ? [{ debugName: "hasPrimaryActions" }] : /* istanbul ignore next */ []));
844
+ this.primaryMenuItems = signal([], /* @ts-ignore */
845
+ ...(ngDevMode ? [{ debugName: "primaryMenuItems" }] : /* istanbul ignore next */ []));
846
+ this.hasPrimaryActions = computed(() => this.primaryMenuItems().length > 0, /* @ts-ignore */
847
+ ...(ngDevMode ? [{ debugName: "hasPrimaryActions" }] : /* istanbul ignore next */ []));
783
848
  this.#primaryMenuItemsEffect = effect(async () => {
784
849
  this.updateTrigger();
785
850
  this.primaryMenuItems.set(await this.getPrimaryMenuItems());
786
- }, ...(ngDevMode ? [{ debugName: "#primaryMenuItemsEffect" }] : /* istanbul ignore next */ []));
787
- this.secondaryMenuItems = signal([], ...(ngDevMode ? [{ debugName: "secondaryMenuItems" }] : /* istanbul ignore next */ []));
788
- this.hasSecondaryActions = computed(() => this.secondaryMenuItems().length > 0, ...(ngDevMode ? [{ debugName: "hasSecondaryActions" }] : /* istanbul ignore next */ []));
851
+ }, /* @ts-ignore */
852
+ ...(ngDevMode ? [{ debugName: "#primaryMenuItemsEffect" }] : /* istanbul ignore next */ []));
853
+ this.secondaryMenuItems = signal([], /* @ts-ignore */
854
+ ...(ngDevMode ? [{ debugName: "secondaryMenuItems" }] : /* istanbul ignore next */ []));
855
+ this.hasSecondaryActions = computed(() => this.secondaryMenuItems().length > 0, /* @ts-ignore */
856
+ ...(ngDevMode ? [{ debugName: "hasSecondaryActions" }] : /* istanbul ignore next */ []));
789
857
  this.#secondaryMenuItemsEffect = effect(async () => {
790
858
  this.updateTrigger();
791
859
  this.secondaryMenuItems.set(await this.getSecondaryMenuItems());
792
- }, ...(ngDevMode ? [{ debugName: "#secondaryMenuItemsEffect" }] : /* istanbul ignore next */ []));
793
- this.hasActions = computed(() => this.hasPrimaryActions() || this.hasSecondaryActions(), ...(ngDevMode ? [{ debugName: "hasActions" }] : /* istanbul ignore next */ []));
794
- this.titleActions = signal([], ...(ngDevMode ? [{ debugName: "titleActions" }] : /* istanbul ignore next */ []));
795
- this.hasTitleActions = computed(() => this.titleActions().length > 0, ...(ngDevMode ? [{ debugName: "hasTitleActions" }] : /* istanbul ignore next */ []));
860
+ }, /* @ts-ignore */
861
+ ...(ngDevMode ? [{ debugName: "#secondaryMenuItemsEffect" }] : /* istanbul ignore next */ []));
862
+ this.hasActions = computed(() => this.hasPrimaryActions() || this.hasSecondaryActions(), /* @ts-ignore */
863
+ ...(ngDevMode ? [{ debugName: "hasActions" }] : /* istanbul ignore next */ []));
864
+ this.titleActions = signal([], /* @ts-ignore */
865
+ ...(ngDevMode ? [{ debugName: "titleActions" }] : /* istanbul ignore next */ []));
866
+ this.hasTitleActions = computed(() => this.titleActions().length > 0, /* @ts-ignore */
867
+ ...(ngDevMode ? [{ debugName: "hasTitleActions" }] : /* istanbul ignore next */ []));
796
868
  this.#titleActionsEffect = effect(async () => {
797
869
  this.updateTrigger();
798
870
  this.titleActions.set(await this.getTitleActions());
799
- }, ...(ngDevMode ? [{ debugName: "#titleActionsEffect" }] : /* istanbul ignore next */ []));
871
+ }, /* @ts-ignore */
872
+ ...(ngDevMode ? [{ debugName: "#titleActionsEffect" }] : /* istanbul ignore next */ []));
800
873
  }
801
874
  recompute() {
802
875
  this._updateTrigger.set(this._updateTrigger() + 1);
@@ -828,10 +901,10 @@ class AXPPopupLayoutBaseComponent extends AXBasePageComponent {
828
901
  //#endregion
829
902
  //#region ---------------- Handle Commands ----------------
830
903
  execute(command) { }
831
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPPopupLayoutBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
832
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.9", type: AXPPopupLayoutBaseComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "layout", first: true, predicate: AXPPopupLayoutComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
904
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPPopupLayoutBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
905
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.8", type: AXPPopupLayoutBaseComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "layout", first: true, predicate: AXPPopupLayoutComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
833
906
  }
834
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPPopupLayoutBaseComponent, decorators: [{
907
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPPopupLayoutBaseComponent, decorators: [{
835
908
  type: Component,
836
909
  args: [{
837
910
  standalone: true,
@@ -1018,7 +1091,7 @@ const AXPLayoutDetailsViewViewModel = signalStore(withState(() => {
1018
1091
  const pageLoad = adapter.pages[currentPageIndex]?.load;
1019
1092
  if (typeof pageLoad === 'function') {
1020
1093
  const loadResult = await pageLoad({ forceRefresh });
1021
- context = loadResult?.data ?? {};
1094
+ context = runtimeCommandPayloadData(loadResult) ?? {};
1022
1095
  }
1023
1096
  else {
1024
1097
  // Component/list sidebar pages have no `load`; keep entity root context so widget
@@ -1045,17 +1118,6 @@ const AXPLayoutDetailsViewViewModel = signalStore(withState(() => {
1045
1118
  formDirty: false,
1046
1119
  pageSelectedRows: [],
1047
1120
  });
1048
- const urlPageParam = readPageQueryParam();
1049
- if (currentPage && axpIsEntityDetailsViewRoute(router)) {
1050
- if (!urlPageParam) {
1051
- router.navigate([], {
1052
- relativeTo: route,
1053
- queryParams: { page: currentPage.id },
1054
- queryParamsHandling: 'merge',
1055
- replaceUrl: true,
1056
- });
1057
- }
1058
- }
1059
1121
  }
1060
1122
  finally {
1061
1123
  if (isSidebarSwitch) {
@@ -1190,7 +1252,7 @@ const AXPLayoutDetailsViewViewModel = signalStore(withState(() => {
1190
1252
  let adapterContext = {};
1191
1253
  if (adapter.load) {
1192
1254
  const adapterResult = await adapter.load();
1193
- adapterContext = adapterResult?.data ?? {};
1255
+ adapterContext = runtimeCommandPayloadData(adapterResult) ?? {};
1194
1256
  }
1195
1257
  patchState(store, {
1196
1258
  rootContext: cloneDeep(adapterContext),
@@ -1199,6 +1261,41 @@ const AXPLayoutDetailsViewViewModel = signalStore(withState(() => {
1199
1261
  async loadPage(pageId, forceRefresh) {
1200
1262
  await activatePageById(pageId, forceRefresh);
1201
1263
  },
1264
+ /**
1265
+ * Reloads the active page's entity context from the server without rebuilding
1266
+ * evaluated widgets (avoids full remount after save). Use {@link loadPage} when
1267
+ * layout/structure must be re-evaluated.
1268
+ */
1269
+ async reloadActivePageContext() {
1270
+ const adapter = store.adapter();
1271
+ const currentPage = store.currentPage();
1272
+ if (!adapter || !currentPage) {
1273
+ return;
1274
+ }
1275
+ AXPDebugService.instance?.trace(DETAILS_VIEW_PAGE_TRACE_NS, 'viewmodel', 'reloadActivePageContext', () => ({
1276
+ pageId: currentPage.id,
1277
+ isPrimary: !!currentPage.isPrimary,
1278
+ note: 'Soft context refresh — widgets kept mounted',
1279
+ }));
1280
+ const pageLoad = adapter.pages.find((p) => p.id === currentPage.id)?.load;
1281
+ let context = {};
1282
+ if (typeof pageLoad === 'function') {
1283
+ const loadResult = await pageLoad({ forceRefresh: true });
1284
+ context = runtimeCommandPayloadData(loadResult) ?? {};
1285
+ }
1286
+ else {
1287
+ context = cloneDeep(store.rootContext());
1288
+ }
1289
+ const shouldSyncRootContext = currentPage.isPrimary === true && !isEmpty(context);
1290
+ patchState(store, {
1291
+ previousContext: cloneDeep(context),
1292
+ context: cloneDeep(context),
1293
+ savedContext: cloneDeep(context),
1294
+ ...(shouldSyncRootContext ? { rootContext: cloneDeep(context) } : {}),
1295
+ formDirty: false,
1296
+ status: AXPPageStatus.Rendered,
1297
+ });
1298
+ },
1202
1299
  async load(adapter, forceRefresh, pageIdFromUrl) {
1203
1300
  const scope = {
1204
1301
  context: {
@@ -1211,10 +1308,25 @@ const AXPLayoutDetailsViewViewModel = signalStore(withState(() => {
1211
1308
  });
1212
1309
  //
1213
1310
  await this.loadAdapter(adapter);
1214
- const pageId = pageIdFromUrl ?? readPageQueryParam() ?? undefined;
1311
+ let pageId = pageIdFromUrl ?? readPageQueryParam() ?? undefined;
1312
+ const resolvedPage = resolvePageFromId(adapter, pageId);
1313
+ // Side-menu details: put `?page=` on the URL before the first paint so we do not
1314
+ // activate widgets and then replaceUrl-redirect (visible extra hop + remount risk).
1315
+ if (resolvedPage &&
1316
+ adapter.pages.length > 1 &&
1317
+ axpIsEntityDetailsViewRoute(router) &&
1318
+ !readPageQueryParam()) {
1319
+ pageId = resolvedPage.id;
1320
+ await router.navigate([], {
1321
+ relativeTo: route,
1322
+ queryParams: { page: resolvedPage.id },
1323
+ queryParamsHandling: 'merge',
1324
+ replaceUrl: true,
1325
+ });
1326
+ }
1215
1327
  await this.loadPage(pageId, forceRefresh);
1216
1328
  },
1217
- async loadFromRoute(forceRefresh) {
1329
+ async loadFromRoute(forceRefresh, reason = 'unspecified') {
1218
1330
  const run = async () => {
1219
1331
  const pageIdFromUrl = readPageQueryParam() ?? undefined;
1220
1332
  const moduleName = route.parent?.snapshot.paramMap.get('module');
@@ -1226,6 +1338,7 @@ const AXPLayoutDetailsViewViewModel = signalStore(withState(() => {
1226
1338
  id,
1227
1339
  pageIdFromUrl: pageIdFromUrl ?? null,
1228
1340
  forceRefresh: forceRefresh ?? false,
1341
+ reason,
1229
1342
  note: 'Entity/route load started',
1230
1343
  }));
1231
1344
  if (!moduleName || !entityName || !id) {
@@ -1335,7 +1448,23 @@ const AXPLayoutDetailsViewViewModel = signalStore(withState(() => {
1335
1448
  setCurrentPage(page) {
1336
1449
  const previousPage = store.currentPage();
1337
1450
  if (page) {
1451
+ // Mobile page list keeps `currentPage` null while the list is shown.
1452
+ // That is not "initial load" — activate the chosen page directly.
1453
+ // (The queryParams sync effect also ignores null `currentPage`.)
1338
1454
  if (!previousPage) {
1455
+ if (deviceService.isLarge()) {
1456
+ // Desktop: first activation is owned by loadFromRoute / loadPage.
1457
+ return;
1458
+ }
1459
+ if (axpIsEntityDetailsViewRoute(router)) {
1460
+ router.navigate([], {
1461
+ relativeTo: route,
1462
+ queryParams: { page: page.id, filters: null },
1463
+ queryParamsHandling: 'merge',
1464
+ replaceUrl: false,
1465
+ });
1466
+ }
1467
+ void activatePageById(page.id);
1339
1468
  return;
1340
1469
  }
1341
1470
  const pageParam = readPageQueryParam();
@@ -1512,7 +1641,8 @@ const AXPLayoutDetailsViewViewModel = signalStore(withState(() => {
1512
1641
  const enableOperationToasts = await settingsService.get(AXPCommonSettings.EnableOperationToasts);
1513
1642
  if (result?.success) {
1514
1643
  try {
1515
- await this.loadPage(store.currentPage()?.id, true);
1644
+ // Soft refresh: pull latest row without rebuildEvaluatedPageContents / remount.
1645
+ await this.reloadActivePageContext();
1516
1646
  }
1517
1647
  catch {
1518
1648
  //
@@ -1594,7 +1724,7 @@ const AXPLayoutDetailsViewViewModel = signalStore(withState(() => {
1594
1724
  //#region ---- Details View Action Shortcut Utilities ----
1595
1725
  /** Platform defaults for known entity detail commands when `shortcuts` is omitted on the action. */
1596
1726
  const DEFAULT_ENTITY_DETAIL_ACTION_SHORTCUTS = {
1597
- 'Entity:Delete': ['ctrl+shift+delete'],
1727
+ 'Entity:Remove': ['ctrl+shift+delete'],
1598
1728
  };
1599
1729
  const DEFAULT_FOOTER_COMMAND_SHORTCUTS = {
1600
1730
  'update-entity': ['ctrl+s'],
@@ -1697,10 +1827,10 @@ class AXPPageComponentInstanceRegistryService {
1697
1827
  get(key) {
1698
1828
  return this.instances.get(key) ?? null;
1699
1829
  }
1700
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPPageComponentInstanceRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1701
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPPageComponentInstanceRegistryService, providedIn: 'root' }); }
1830
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPPageComponentInstanceRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1831
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPPageComponentInstanceRegistryService, providedIn: 'root' }); }
1702
1832
  }
1703
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPPageComponentInstanceRegistryService, decorators: [{
1833
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPPageComponentInstanceRegistryService, decorators: [{
1704
1834
  type: Injectable,
1705
1835
  args: [{
1706
1836
  providedIn: 'root',
@@ -1714,10 +1844,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
1714
1844
  */
1715
1845
  class AXPPageComponentRendererDirective {
1716
1846
  constructor() {
1717
- this.componentKey = input.required(...(ngDevMode ? [{ debugName: "componentKey" }] : /* istanbul ignore next */ []));
1718
- this.rootContext = input({}, ...(ngDevMode ? [{ debugName: "rootContext" }] : /* istanbul ignore next */ []));
1719
- this.pageConfig = input(...(ngDevMode ? [undefined, { debugName: "pageConfig" }] : /* istanbul ignore next */ []));
1720
- this.options = input({}, ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
1847
+ this.componentKey = input.required(/* @ts-ignore */
1848
+ ...(ngDevMode ? [{ debugName: "componentKey" }] : /* istanbul ignore next */ []));
1849
+ this.rootContext = input({}, /* @ts-ignore */
1850
+ ...(ngDevMode ? [{ debugName: "rootContext" }] : /* istanbul ignore next */ []));
1851
+ this.pageConfig = input(/* @ts-ignore */
1852
+ ...(ngDevMode ? [undefined, { debugName: "pageConfig" }] : /* istanbul ignore next */ []));
1853
+ this.options = input({}, /* @ts-ignore */
1854
+ ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
1721
1855
  /** Emitted when the component instance is registered and ready */
1722
1856
  this.componentReady = output();
1723
1857
  this.viewContainerRef = inject(ViewContainerRef);
@@ -1730,19 +1864,22 @@ class AXPPageComponentRendererDirective {
1730
1864
  if (this.componentRef && context) {
1731
1865
  this.componentRef.setInput('rootContext', context);
1732
1866
  }
1733
- }, ...(ngDevMode ? [{ debugName: "#contextEffect" }] : /* istanbul ignore next */ []));
1867
+ }, /* @ts-ignore */
1868
+ ...(ngDevMode ? [{ debugName: "#contextEffect" }] : /* istanbul ignore next */ []));
1734
1869
  this.#pageConfigEffect = effect(() => {
1735
1870
  const config = this.pageConfig();
1736
1871
  if (this.componentRef && config) {
1737
1872
  this.componentRef.setInput('pageConfig', config);
1738
1873
  }
1739
- }, ...(ngDevMode ? [{ debugName: "#pageConfigEffect" }] : /* istanbul ignore next */ []));
1874
+ }, /* @ts-ignore */
1875
+ ...(ngDevMode ? [{ debugName: "#pageConfigEffect" }] : /* istanbul ignore next */ []));
1740
1876
  this.#optionsEffect = effect(() => {
1741
1877
  const options = this.options();
1742
1878
  if (this.componentRef && options) {
1743
1879
  this.componentRef.setInput('options', options);
1744
1880
  }
1745
- }, ...(ngDevMode ? [{ debugName: "#optionsEffect" }] : /* istanbul ignore next */ []));
1881
+ }, /* @ts-ignore */
1882
+ ...(ngDevMode ? [{ debugName: "#optionsEffect" }] : /* istanbul ignore next */ []));
1746
1883
  }
1747
1884
  /** Returns the dynamically mounted page component instance, if loaded. */
1748
1885
  getMountedPageInstance() {
@@ -1807,10 +1944,10 @@ class AXPPageComponentRendererDirective {
1807
1944
  console.error(`Failed to load component "${this.componentKey()}":`, error);
1808
1945
  }
1809
1946
  }
1810
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPPageComponentRendererDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1811
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.9", type: AXPPageComponentRendererDirective, isStandalone: true, selector: "[axp-page-component-renderer]", inputs: { componentKey: { classPropertyName: "componentKey", publicName: "componentKey", isSignal: true, isRequired: true, transformFunction: null }, rootContext: { classPropertyName: "rootContext", publicName: "rootContext", isSignal: true, isRequired: false, transformFunction: null }, pageConfig: { classPropertyName: "pageConfig", publicName: "pageConfig", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { componentReady: "componentReady" }, ngImport: i0 }); }
1947
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPPageComponentRendererDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1948
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.8", type: AXPPageComponentRendererDirective, isStandalone: true, selector: "[axp-page-component-renderer]", inputs: { componentKey: { classPropertyName: "componentKey", publicName: "componentKey", isSignal: true, isRequired: true, transformFunction: null }, rootContext: { classPropertyName: "rootContext", publicName: "rootContext", isSignal: true, isRequired: false, transformFunction: null }, pageConfig: { classPropertyName: "pageConfig", publicName: "pageConfig", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { componentReady: "componentReady" }, ngImport: i0 }); }
1812
1949
  }
1813
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPPageComponentRendererDirective, decorators: [{
1950
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPPageComponentRendererDirective, decorators: [{
1814
1951
  type: Directive,
1815
1952
  args: [{
1816
1953
  selector: '[axp-page-component-renderer]',
@@ -1824,19 +1961,30 @@ class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent {
1824
1961
  //
1825
1962
  this.vm = inject(AXPLayoutDetailsViewViewModel);
1826
1963
  this.route = inject(ActivatedRoute);
1827
- this.eventService = inject(AXPBroadcastEventService);
1964
+ this.entityEvents = inject(AXPEntityBroadcastService);
1828
1965
  this.deviceService = inject(AXPDeviceService);
1829
1966
  this.unsavedChangesPopstate = inject(AXPUnsavedChangesPopstateService);
1830
1967
  this.pageComponentInstanceRegistry = inject(AXPPageComponentInstanceRegistryService);
1831
1968
  this.shortcutRegistry = inject(AXPKeyboardShortcutRegistry);
1832
- this.workflowEventService = inject(AXPWorkflowEventService);
1833
1969
  this.destroyRef = inject(DestroyRef);
1834
1970
  this.elementRef = inject((ElementRef));
1835
1971
  this.debug = inject(AXPDebugService);
1836
1972
  /** Cancels in-flight list selection bind when the sidebar page or widget tree changes. */
1837
1973
  this.pageListSelectionBindGeneration = 0;
1838
1974
  /** Prevents sidebar tab init events from pushing history before the first page activation completes. */
1839
- this.detailsLayoutReady = signal(false, ...(ngDevMode ? [{ debugName: "detailsLayoutReady" }] : /* istanbul ignore next */ []));
1975
+ this.detailsLayoutReady = signal(false, /* @ts-ignore */
1976
+ ...(ngDevMode ? [{ debugName: "detailsLayoutReady" }] : /* istanbul ignore next */ []));
1977
+ /**
1978
+ * While true, ignore {@link AXPEntityBroadcastService.listenLayoutRefresh} — own save already
1979
+ * calls `loadPage(..., true)` and must not also run `refreshLayout()` → second full remount.
1980
+ */
1981
+ this.suppressLayoutRefreshFromOwnSave = false;
1982
+ /**
1983
+ * Blocks layout-refresh → `loadFromRoute(true)` until the first open finishes. Debounced
1984
+ * REFRESH_LAYOUT events from list/update/realtime often land right after the initial load
1985
+ * and otherwise force a second full remount (see details-view-page logs).
1986
+ */
1987
+ this.suppressLayoutRefreshUntilInitialOpenDone = true;
1840
1988
  this.destroyed$ = new Subject();
1841
1989
  this.footerActionsGeneration = 0;
1842
1990
  this.keyboardShortcutRegistrationGeneration = 0;
@@ -1847,10 +1995,14 @@ class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent {
1847
1995
  /** Cancels in-flight overlay release when the page changes. */
1848
1996
  this.overlayReleaseGeneration = 0;
1849
1997
  /** Header actions with resolved shortcut chords, keyed by command name. */
1850
- this.actionShortcutEntries = signal(new Map(), ...(ngDevMode ? [{ debugName: "actionShortcutEntries" }] : /* istanbul ignore next */ []));
1851
- this.form = viewChild('form', ...(ngDevMode ? [{ debugName: "form" }] : /* istanbul ignore next */ []));
1852
- this.widgetContainer = viewChild(AXPWidgetContainerComponent, ...(ngDevMode ? [{ debugName: "widgetContainer" }] : /* istanbul ignore next */ []));
1853
- this.sidebarTabs = viewChild('sidebarTabs', ...(ngDevMode ? [{ debugName: "sidebarTabs" }] : /* istanbul ignore next */ []));
1998
+ this.actionShortcutEntries = signal(new Map(), /* @ts-ignore */
1999
+ ...(ngDevMode ? [{ debugName: "actionShortcutEntries" }] : /* istanbul ignore next */ []));
2000
+ this.form = viewChild('form', /* @ts-ignore */
2001
+ ...(ngDevMode ? [{ debugName: "form" }] : /* istanbul ignore next */ []));
2002
+ this.widgetContainer = viewChild(AXPWidgetContainerComponent, /* @ts-ignore */
2003
+ ...(ngDevMode ? [{ debugName: "widgetContainer" }] : /* istanbul ignore next */ []));
2004
+ this.sidebarTabs = viewChild('sidebarTabs', /* @ts-ignore */
2005
+ ...(ngDevMode ? [{ debugName: "sidebarTabs" }] : /* istanbul ignore next */ []));
1854
2006
  this.sidebarTabChangeSuppressed = false;
1855
2007
  /** Syncs the line indicator when the active page changes programmatically. */
1856
2008
  this.#sidebarTabsIndicatorEffect = effect(() => {
@@ -1872,7 +2024,8 @@ class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent {
1872
2024
  this.sidebarTabChangeSuppressed = false;
1873
2025
  }
1874
2026
  }));
1875
- }, ...(ngDevMode ? [{ debugName: "#sidebarTabsIndicatorEffect" }] : /* istanbul ignore next */ []));
2027
+ }, /* @ts-ignore */
2028
+ ...(ngDevMode ? [{ debugName: "#sidebarTabsIndicatorEffect" }] : /* istanbul ignore next */ []));
1876
2029
  /**
1877
2030
  * Binds list selection whenever the active page-list data-list registers (including after remount).
1878
2031
  * `find()` / `waitForWidget()` can return a destroyed instance; registration always carries the live widget.
@@ -1909,7 +2062,8 @@ class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent {
1909
2062
  if (existing) {
1910
2063
  untracked(() => this.attachSelectionToListWidget(pageId, generation, existing));
1911
2064
  }
1912
- }, ...(ngDevMode ? [{ debugName: "#pageListSelectionBindEffect" }] : /* istanbul ignore next */ []));
2065
+ }, /* @ts-ignore */
2066
+ ...(ngDevMode ? [{ debugName: "#pageListSelectionBindEffect" }] : /* istanbul ignore next */ []));
1913
2067
  /** Clears the page overlay reactively once VM + widget hydration are both idle. */
1914
2068
  this.#overlayReleaseEffect = effect(() => {
1915
2069
  const showPages = this.vm.showPages();
@@ -1979,25 +2133,33 @@ class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent {
1979
2133
  }
1980
2134
  void this.requestOverlayRelease(pageId);
1981
2135
  });
1982
- }, ...(ngDevMode ? [{ debugName: "#overlayReleaseEffect" }] : /* istanbul ignore next */ []));
1983
- this.footerPrimaryActions = signal([], ...(ngDevMode ? [{ debugName: "footerPrimaryActions" }] : /* istanbul ignore next */ []));
1984
- this.footerSecondaryActions = signal([], ...(ngDevMode ? [{ debugName: "footerSecondaryActions" }] : /* istanbul ignore next */ []));
1985
- this.footerActions = computed(() => [...this.footerPrimaryActions(), ...this.footerSecondaryActions()], ...(ngDevMode ? [{ debugName: "footerActions" }] : /* istanbul ignore next */ []));
2136
+ }, /* @ts-ignore */
2137
+ ...(ngDevMode ? [{ debugName: "#overlayReleaseEffect" }] : /* istanbul ignore next */ []));
2138
+ this.footerPrimaryActions = signal([], /* @ts-ignore */
2139
+ ...(ngDevMode ? [{ debugName: "footerPrimaryActions" }] : /* istanbul ignore next */ []));
2140
+ this.footerSecondaryActions = signal([], /* @ts-ignore */
2141
+ ...(ngDevMode ? [{ debugName: "footerSecondaryActions" }] : /* istanbul ignore next */ []));
2142
+ this.footerActions = computed(() => [...this.footerPrimaryActions(), ...this.footerSecondaryActions()], /* @ts-ignore */
2143
+ ...(ngDevMode ? [{ debugName: "footerActions" }] : /* istanbul ignore next */ []));
1986
2144
  this.rejectFooterCommand = computed(() => {
1987
2145
  if (this.vm.currentPage()?.isReadonly) {
1988
2146
  return null;
1989
2147
  }
1990
2148
  return this.vm.currentPage()?.settings?.commands?.reject ?? null;
1991
- }, ...(ngDevMode ? [{ debugName: "rejectFooterCommand" }] : /* istanbul ignore next */ []));
2149
+ }, /* @ts-ignore */
2150
+ ...(ngDevMode ? [{ debugName: "rejectFooterCommand" }] : /* istanbul ignore next */ []));
1992
2151
  this.acceptFooterCommand = computed(() => {
1993
2152
  if (this.vm.currentPage()?.isReadonly) {
1994
2153
  return null;
1995
2154
  }
1996
2155
  return this.vm.currentPage()?.settings?.commands?.accept ?? null;
1997
- }, ...(ngDevMode ? [{ debugName: "acceptFooterCommand" }] : /* istanbul ignore next */ []));
1998
- this.hasSaveDiscardFooterCommands = computed(() => !!(this.rejectFooterCommand() || this.acceptFooterCommand()), ...(ngDevMode ? [{ debugName: "hasSaveDiscardFooterCommands" }] : /* istanbul ignore next */ []));
2156
+ }, /* @ts-ignore */
2157
+ ...(ngDevMode ? [{ debugName: "acceptFooterCommand" }] : /* istanbul ignore next */ []));
2158
+ this.hasSaveDiscardFooterCommands = computed(() => !!(this.rejectFooterCommand() || this.acceptFooterCommand()), /* @ts-ignore */
2159
+ ...(ngDevMode ? [{ debugName: "hasSaveDiscardFooterCommands" }] : /* istanbul ignore next */ []));
1999
2160
  /** Entity save/discard — driven live by widget/container dirty state, not evaluated action metadata. */
2000
- this.showSaveDiscardFooter = computed(() => this.hasSaveDiscardFooterCommands() && this.liveFormIsDirty(), ...(ngDevMode ? [{ debugName: "showSaveDiscardFooter" }] : /* istanbul ignore next */ []));
2161
+ this.showSaveDiscardFooter = computed(() => this.hasSaveDiscardFooterCommands() && this.liveFormIsDirty(), /* @ts-ignore */
2162
+ ...(ngDevMode ? [{ debugName: "showSaveDiscardFooter" }] : /* istanbul ignore next */ []));
2001
2163
  /** Live dirty flag for widget-based entity forms (not component-hosted pages). */
2002
2164
  this.liveFormIsDirty = computed(() => {
2003
2165
  if (this.vm.currentPage()?.isReadonly || this.getActivePageComponentKey()) {
@@ -2011,18 +2173,22 @@ class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent {
2011
2173
  return false;
2012
2174
  }
2013
2175
  return container.isFormDirty();
2014
- }, ...(ngDevMode ? [{ debugName: "liveFormIsDirty" }] : /* istanbul ignore next */ []));
2176
+ }, /* @ts-ignore */
2177
+ ...(ngDevMode ? [{ debugName: "liveFormIsDirty" }] : /* istanbul ignore next */ []));
2015
2178
  this.hasVisibleFooterPrimaryActions = computed(() => {
2016
2179
  if (this.showSaveDiscardFooter()) {
2017
2180
  return true;
2018
2181
  }
2019
2182
  return this.footerPrimaryActions().some((action) => !this.isSaveDiscardFooterAction(action) && this.isFooterActionVisible(action));
2020
- }, ...(ngDevMode ? [{ debugName: "hasVisibleFooterPrimaryActions" }] : /* istanbul ignore next */ []));
2021
- this.hasVisibleFooterSecondaryActions = computed(() => this.footerSecondaryActions().some((action) => this.isFooterActionVisible(action)), ...(ngDevMode ? [{ debugName: "hasVisibleFooterSecondaryActions" }] : /* istanbul ignore next */ []));
2183
+ }, /* @ts-ignore */
2184
+ ...(ngDevMode ? [{ debugName: "hasVisibleFooterPrimaryActions" }] : /* istanbul ignore next */ []));
2185
+ this.hasVisibleFooterSecondaryActions = computed(() => this.footerSecondaryActions().some((action) => this.isFooterActionVisible(action)), /* @ts-ignore */
2186
+ ...(ngDevMode ? [{ debugName: "hasVisibleFooterSecondaryActions" }] : /* istanbul ignore next */ []));
2022
2187
  this.hasFooter = computed(() => {
2023
2188
  return ((this.hasVisibleFooterPrimaryActions() || this.hasVisibleFooterSecondaryActions()) &&
2024
2189
  !this.vm.currentPage()?.isReadonly);
2025
- }, ...(ngDevMode ? [{ debugName: "hasFooter" }] : /* istanbul ignore next */ []));
2190
+ }, /* @ts-ignore */
2191
+ ...(ngDevMode ? [{ debugName: "hasFooter" }] : /* istanbul ignore next */ []));
2026
2192
  this.#formDirtyEffect = effect(() => {
2027
2193
  if (this.vm.currentPage()?.isReadonly || this.getActivePageComponentKey()) {
2028
2194
  return;
@@ -2045,21 +2211,24 @@ class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent {
2045
2211
  this.vm.setFormDirty(isDirty);
2046
2212
  this.recompute();
2047
2213
  });
2048
- }, ...(ngDevMode ? [{ debugName: "#formDirtyEffect" }] : /* istanbul ignore next */ []));
2214
+ }, /* @ts-ignore */
2215
+ ...(ngDevMode ? [{ debugName: "#formDirtyEffect" }] : /* istanbul ignore next */ []));
2049
2216
  /** Refresh title badge (Not Saved) when dirty state changes. */
2050
2217
  this.#headerBadgeEffect = effect(() => {
2051
2218
  this.liveFormIsDirty();
2052
2219
  this.vm.currentPage()?.id;
2053
2220
  this.isActivePageComponentDirty();
2054
2221
  untracked(() => this.recompute());
2055
- }, ...(ngDevMode ? [{ debugName: "#headerBadgeEffect" }] : /* istanbul ignore next */ []));
2222
+ }, /* @ts-ignore */
2223
+ ...(ngDevMode ? [{ debugName: "#headerBadgeEffect" }] : /* istanbul ignore next */ []));
2056
2224
  this.#FooterActionsEffect = effect(() => {
2057
2225
  const generation = ++this.footerActionsGeneration;
2058
2226
  this.updateTrigger();
2059
2227
  this.liveFormIsDirty();
2060
2228
  this.vm.isOverlayBusy();
2061
2229
  void this.refreshFooterActions(generation);
2062
- }, ...(ngDevMode ? [{ debugName: "#FooterActionsEffect" }] : /* istanbul ignore next */ []));
2230
+ }, /* @ts-ignore */
2231
+ ...(ngDevMode ? [{ debugName: "#FooterActionsEffect" }] : /* istanbul ignore next */ []));
2063
2232
  this.#keyboardShortcutsEffect = effect(() => {
2064
2233
  const generation = ++this.keyboardShortcutRegistrationGeneration;
2065
2234
  this.updateTrigger();
@@ -2068,7 +2237,8 @@ class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent {
2068
2237
  this.vm.isOverlayBusy();
2069
2238
  this.vm.currentPage()?.id;
2070
2239
  untracked(() => void this.refreshKeyboardShortcutRegistrations(generation));
2071
- }, ...(ngDevMode ? [{ debugName: "#keyboardShortcutsEffect" }] : /* istanbul ignore next */ []));
2240
+ }, /* @ts-ignore */
2241
+ ...(ngDevMode ? [{ debugName: "#keyboardShortcutsEffect" }] : /* istanbul ignore next */ []));
2072
2242
  }
2073
2243
  /** Safety cap when widget ready detection does not settle. */
2074
2244
  static { this.overlayMaxWaitMs = 30_000; }
@@ -2131,11 +2301,18 @@ class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent {
2131
2301
  /**
2132
2302
  * Re-fetches the entity adapter and reloads the active page.
2133
2303
  */
2134
- async refreshLayout() {
2304
+ async refreshLayout(reason = 'layout-refresh') {
2305
+ this.debug.trace(OVERLAY_DETAILS_VIEW_TRACE_NS, 'details-view', 'refreshLayout', () => ({
2306
+ reason,
2307
+ adapter: this.vm.adapter()?.name ?? null,
2308
+ pageId: this.vm.currentPage()?.id ?? null,
2309
+ suppressOwnSave: this.suppressLayoutRefreshFromOwnSave,
2310
+ suppressInitialOpen: this.suppressLayoutRefreshUntilInitialOpenDone,
2311
+ }));
2135
2312
  this.unsavedChangesConfirm.markLeaveConfirmed();
2136
2313
  this.detailsLayoutReady.set(false);
2137
2314
  try {
2138
- await this.vm.loadFromRoute(true);
2315
+ await this.vm.loadFromRoute(true, reason);
2139
2316
  }
2140
2317
  finally {
2141
2318
  this.detailsLayoutReady.set(true);
@@ -2148,28 +2325,79 @@ class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent {
2148
2325
  isDirty: () => this.hasUnsavedChanges(),
2149
2326
  });
2150
2327
  this.destroyRef.onDestroy(() => this.unsavedChangesPopstate.unregisterSource('axp-layout-details-view'));
2151
- //
2152
- await this.vm.loadFromRoute();
2328
+ this.suppressLayoutRefreshUntilInitialOpenDone = true;
2329
+ try {
2330
+ await this.vm.loadFromRoute(false, 'ngOnInit');
2331
+ }
2332
+ finally {
2333
+ // REFRESH_LAYOUT is debounced (~200ms). Keep suppress long enough to drop open-transition echoes.
2334
+ setTimeout(() => {
2335
+ this.suppressLayoutRefreshUntilInitialOpenDone = false;
2336
+ }, 300);
2337
+ }
2153
2338
  this.detailsLayoutReady.set(true);
2154
2339
  void this.refreshKeyboardShortcutRegistrations(++this.keyboardShortcutRegistrationGeneration);
2155
- this.eventService
2156
- //TODO: Use the constant from the entity module
2157
- .listen('entity:refresh-layout')
2340
+ this.entityEvents
2341
+ .listenLayoutRefresh()
2158
2342
  .pipe(takeUntil(this.destroyed$))
2159
2343
  .subscribe((e) => {
2344
+ // Own save already force-reloads the active page; ignore the update middleware
2345
+ // layout-refresh echo so widgets are not torn down and rebuilt a second time.
2346
+ if (this.suppressLayoutRefreshFromOwnSave || this.suppressLayoutRefreshUntilInitialOpenDone) {
2347
+ this.debug.trace(OVERLAY_DETAILS_VIEW_TRACE_NS, 'details-view', 'layout-refresh ignored', () => ({
2348
+ entity: e.data.name,
2349
+ meta: e.data.meta ?? null,
2350
+ suppressOwnSave: this.suppressLayoutRefreshFromOwnSave,
2351
+ suppressInitialOpen: this.suppressLayoutRefreshUntilInitialOpenDone,
2352
+ }));
2353
+ return;
2354
+ }
2160
2355
  if (e.data.name == this.vm.adapter()?.name) {
2161
- this.refreshLayout();
2356
+ void this.refreshLayout(`layout-refresh:${e.data.name}`);
2162
2357
  }
2163
2358
  });
2164
- this.workflowEventService.events$
2165
- .pipe(filter$1((event) => event.type === AXP_ENTITY_DELETED_EVENT_TYPE), takeUntil(this.destroyed$))
2359
+ this.entityEvents
2360
+ .listenDeleted()
2361
+ .pipe(takeUntil(this.destroyed$))
2166
2362
  .subscribe((event) => {
2167
- void this.handleEntityDeleted(event.payload);
2363
+ void this.handleEntityDeleted(event.data);
2364
+ });
2365
+ this.entityEvents
2366
+ .listenModified()
2367
+ .pipe(takeUntil(this.destroyed$))
2368
+ .subscribe((event) => {
2369
+ this.handleEntityModified(event.data);
2168
2370
  });
2169
2371
  }
2372
+ /**
2373
+ * Merges server-returned field updates (e.g. derived effectiveState after a status transition)
2374
+ * into the open record context and live widget form.
2375
+ */
2376
+ handleEntityModified(payload) {
2377
+ if (!payload?.name || !payload.values || typeof payload.values !== 'object') {
2378
+ return;
2379
+ }
2380
+ const adapterName = this.vm.adapter()?.name;
2381
+ const recordId = this.vm.context()?.['id'];
2382
+ if (!adapterName || recordId == null) {
2383
+ return;
2384
+ }
2385
+ const values = payload.values;
2386
+ const valueId = values['id'] ?? values['_id'];
2387
+ if (payload.name !== adapterName || valueId == null || String(valueId) !== String(recordId)) {
2388
+ return;
2389
+ }
2390
+ const merged = { ...this.vm.context(), ...values };
2391
+ this.vm.updateContext(merged);
2392
+ const container = this.widgetContainer();
2393
+ if (container) {
2394
+ container.contextService.patch(values, { updateSaved: true });
2395
+ }
2396
+ this.recompute();
2397
+ }
2170
2398
  /** Navigates to {@link AXPLayoutDetailsViewAdapter.exitUrl} when the open record was deleted. */
2171
2399
  async handleEntityDeleted(payload) {
2172
- if (!payload?.entity || !payload.ids?.length) {
2400
+ if (!payload?.name || !payload.ids?.length) {
2173
2401
  return;
2174
2402
  }
2175
2403
  const adapterName = this.vm.adapter()?.name;
@@ -2178,7 +2406,7 @@ class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent {
2178
2406
  return;
2179
2407
  }
2180
2408
  const deletedIds = payload.ids.map((id) => String(id));
2181
- if (payload.entity !== adapterName || !deletedIds.includes(String(recordId))) {
2409
+ if (payload.name !== adapterName || !deletedIds.includes(String(recordId))) {
2182
2410
  return;
2183
2411
  }
2184
2412
  this.unsavedChangesConfirm.markLeaveConfirmed();
@@ -2408,6 +2636,27 @@ class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent {
2408
2636
  }
2409
2637
  void this.completePageSwitch(target);
2410
2638
  }
2639
+ /**
2640
+ * Sidebar / page-list labels: keep `@scope:key` intact for the translate pipe.
2641
+ * Only run template interpolation (`{{ path }}`) through the string formatter —
2642
+ * lodash `get(rootContext, fullI18nKey)` can otherwise steal dotted keys.
2643
+ */
2644
+ formatPageLabel(label) {
2645
+ if (label == null) {
2646
+ return '';
2647
+ }
2648
+ if (typeof label === 'string') {
2649
+ const trimmed = label.trim();
2650
+ if (!trimmed) {
2651
+ return '';
2652
+ }
2653
+ if (trimmed.startsWith('@')) {
2654
+ return trimmed;
2655
+ }
2656
+ return String(this.formatService.format(trimmed, 'string', this.vm.rootContext()) ?? trimmed);
2657
+ }
2658
+ return String(this.formatService.format(label, 'string', this.vm.rootContext()) ?? '');
2659
+ }
2411
2660
  async handleSelectPage(page) {
2412
2661
  if (page.id === this.vm.currentPage()?.id) {
2413
2662
  return;
@@ -2497,10 +2746,21 @@ class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent {
2497
2746
  return this.vm.getPageStatus();
2498
2747
  }
2499
2748
  /**
2500
- * Get entity data for status chip component
2749
+ * Context for header status-chip → default `Entity:UpdateStatus`.
2750
+ * Raw record context alone is not enough: executeTransition requires entity key (+ status field).
2501
2751
  */
2502
2752
  getEntityData() {
2503
- return this.vm.context() ?? null;
2753
+ const context = this.vm.context();
2754
+ if (!context) {
2755
+ return null;
2756
+ }
2757
+ const entityKey = this.vm.adapter()?.name;
2758
+ const statusField = this.status()?.dataPath;
2759
+ return {
2760
+ ...context,
2761
+ ...(entityKey ? { entity: entityKey, entityName: entityKey } : {}),
2762
+ ...(statusField ? { statusField } : {}),
2763
+ };
2504
2764
  }
2505
2765
  async onBackButtonClick() {
2506
2766
  if (!(await this.confirmLeaveIfDirty())) {
@@ -2613,9 +2873,19 @@ class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent {
2613
2873
  const acceptCommand = this.vm.currentPage()?.settings?.commands?.accept?.command.name;
2614
2874
  const rejectCommand = this.vm.currentPage()?.settings?.commands?.reject?.command.name;
2615
2875
  if (command.name == acceptCommand) {
2616
- const saved = await this.vm.save(command, this.form(), this.getLiveFormContext());
2617
- if (saved) {
2618
- await this.finalizeSave();
2876
+ this.suppressLayoutRefreshFromOwnSave = true;
2877
+ try {
2878
+ const saved = await this.vm.save(command, this.form(), this.getLiveFormContext());
2879
+ if (saved) {
2880
+ await this.finalizeSave();
2881
+ }
2882
+ }
2883
+ finally {
2884
+ // REFRESH_LAYOUT is debounced (~200ms). Clear suppress only after that window so
2885
+ // failed/partial saves (validation errors) do not remount via refreshLayout.
2886
+ setTimeout(() => {
2887
+ this.suppressLayoutRefreshFromOwnSave = false;
2888
+ }, 300);
2619
2889
  }
2620
2890
  this.recompute();
2621
2891
  return;
@@ -2940,14 +3210,14 @@ class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent {
2940
3210
  }
2941
3211
  this.registerDetailsViewShortcutScope('layout-details-view-actions', shortcuts);
2942
3212
  }
2943
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPLayoutDetailsViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2944
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXPLayoutDetailsViewComponent, isStandalone: true, selector: "axp-layout-details-view", providers: [
3213
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPLayoutDetailsViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3214
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXPLayoutDetailsViewComponent, isStandalone: true, selector: "axp-layout-details-view", providers: [
2945
3215
  {
2946
3216
  provide: AXPPageLayoutBase,
2947
3217
  useExisting: AXPLayoutDetailsViewComponent,
2948
3218
  },
2949
3219
  AXPLayoutDetailsViewViewModel,
2950
- ], viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], descendants: true, isSignal: true }, { propertyName: "widgetContainer", first: true, predicate: AXPWidgetContainerComponent, descendants: true, isSignal: true }, { propertyName: "sidebarTabs", first: true, predicate: ["sidebarTabs"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<axp-page-layout *translate=\"let t\">\n @if (vm.adapter()?.pages?.length! > 1 && vm.isLarge()) {\n <axp-layout-start-side>\n <axp-layout-header>\n <axp-layout-title>{{\n formatService.format(\n vm.showPages()\n ? (vm.adapter()?.title ?? '')\n : (vm.adapter()?.label ?? ''),\n 'string',\n vm.rootContext()\n )\n | translate\n | async\n }}</axp-layout-title>\n <axp-layout-description>{{\n formatService.format(\n vm.adapter()?.description ?? '',\n 'string',\n vm.rootContext()\n )\n | translate\n | async\n }}</axp-layout-description>\n </axp-layout-header>\n <axp-layout-content>\n <ax-tabs\n #sidebarTabs\n class=\"axp-vertical-tabs\"\n [look]=\"'with-line-color'\"\n [location]=\"'end'\"\n [fitParent]=\"true\"\n (onActiveTabChanged)=\"handleSidebarTabChanged($event)\"\n >\n @for (item of vm.adapter()?.pages; track item.id) {\n <ax-tab-item\n [key]=\"item.id\"\n [text]=\"\n (formatService.format(item.label, 'string', vm.rootContext())\n | translate\n | async)!\n \"\n [active]=\"vm.currentPage()?.id === item.id\"\n >\n <ax-prefix>\n <ax-icon icon=\"far ${{ item.icon }}\"></ax-icon>\n </ax-prefix>\n </ax-tab-item>\n }\n </ax-tabs>\n </axp-layout-content>\n </axp-layout-start-side>\n }\n <!-- Content Section -->\n <axp-page-content class=\"flex flex-row gap-4\">\n @if (vm.showPages()) {\n <axp-layout-list class=\"w-full\">\n @for (item of vm.adapter()?.pages; track $index) {\n <axp-layout-list-item (click)=\"handleSelectPage(item)\">\n <axp-layout-prefix>\n <ax-icon\n icon=\"far ${{ item.icon }}\"\n class=\"text-gray-500\"\n ></ax-icon>\n </axp-layout-prefix>\n <axp-layout-content>\n <a class=\"font-semibold\">{{\n formatService.format(item.label, 'string', vm.rootContext())\n | translate\n | async\n }}</a>\n </axp-layout-content>\n <axp-layout-suffix>\n <ax-icon\n icon=\" far fa-chevron-right\"\n class=\"text-gray-400\"\n ></ax-icon>\n </axp-layout-suffix>\n </axp-layout-list-item>\n }\n </axp-layout-list>\n } @else {\n <ax-form class=\"h-full w-full\" #form>\n <axp-widgets-container\n #widgetsContainerRef\n [context]=\"vm.context()\"\n (onContextChanged)=\"handleOnContextChanged($event)\"\n >\n <div class=\"flex flex-col w-full h-full\">\n @for (\n item of vm.currentPageContent();\n track pageContentTrackKey($any(item), $index)\n ) {\n @if ('type' in item && item.type === 'component') {\n <!-- Component-based content -->\n <div\n axp-page-component-renderer\n [componentKey]=\"$any(item).componentKey\"\n [rootContext]=\"vm.rootContext()\"\n [pageConfig]=\"$any(item).pageConfig\"\n [options]=\"$any(item).options\"\n (componentReady)=\"recompute()\"\n ></div>\n } @else {\n <!-- Widget-based content -->\n <ng-container\n axp-widget-renderer\n [node]=\"$any(item)\"\n [mode]=\"$any(item).mode ?? 'view'\"\n ></ng-container>\n }\n }\n @if (vm.currentPage()?.tabs?.length) {\n <div class=\"axp-horizontal-tabs\">\n <ax-tabs\n [location]=\"'bottom'\"\n [fitParent]=\"false\"\n look=\"classic\"\n >\n @for (tab of vm.currentPageTabs(); track $index) {\n <ax-tab-item\n (onClick)=\"vm.setCurrentTab(tab)\"\n [text]=\"(tab.title | translate | async)!\"\n [active]=\"vm.currentTab()?.id === tab.id\"\n >\n <ax-prefix>\n <ax-icon icon=\"far ${{ tab.icon }}\"></ax-icon>\n </ax-prefix>\n </ax-tab-item>\n }\n </ax-tabs>\n <div class=\"content\">\n @if (vm.currentTab()) {\n @for (\n content of vm.activeTabContent();\n track content.name\n ) {\n <ng-container\n axp-widget-renderer\n [node]=\"content\"\n [mode]=\"content.mode ?? 'view'\"\n >\n </ng-container>\n }\n }\n </div>\n </div>\n }\n </div>\n </axp-widgets-container>\n <ax-validation-summary\n [displayMode]=\"'toast'\"\n [autoHide]=\"true\"\n ></ax-validation-summary>\n </ax-form>\n }\n </axp-page-content>\n\n <!-- Footer Section -->\n @if (hasFooter()) {\n <axp-page-footer class=\"--animated\">\n <axp-layout-suffix>\n <!-- secondary footer actions -->\n @if (hasVisibleFooterSecondaryActions()) {\n <ax-button\n [class.ax-sm]=\"deviceService.isSmall()\"\n [iconOnly]=\"deviceService.isSmall()\"\n [text]=\"'@general:terms.interface.actions' | translate | async\"\n [look]=\"deviceService.isSmall() ? 'blank' : 'solid'\"\n [color]=\"'default'\"\n >\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n <ax-dropdown-panel #panel>\n <ax-button-item-list>\n @for (action of footerSecondaryActions(); track $index) {\n @if (isFooterActionVisible(action)) {\n <ax-button-item\n [text]=\"(t(action.title) | async)!\"\n [color]=\"action.color\"\n [disabled]=\"isFooterActionDisabled(action)\"\n (onClick)=\"execute(action.command!)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light {{ action.icon }}\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n @if (action.break) {\n <ax-divider></ax-divider>\n }\n }\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n\n @if (hasVisibleFooterPrimaryActions()) {\n @if (showSaveDiscardFooter()) {\n @if (rejectFooterCommand(); as reject) {\n <ax-button\n [class.ax-sm]=\"deviceService.isSmall()\"\n [disabled]=\"vm.isOverlayBusy()\"\n [text]=\"(t(reject.title) | async)!\"\n [look]=\"'solid'\"\n [color]=\"reject.color\"\n (onClick)=\"execute(reject.command)\"\n >\n <ax-prefix>\n <i class=\"{{ reject.icon }}\"></i>\n </ax-prefix>\n </ax-button>\n }\n @if (acceptFooterCommand(); as accept) {\n <ax-button\n [class.ax-sm]=\"deviceService.isSmall()\"\n [disabled]=\"vm.isOverlayBusy()\"\n [text]=\"(t(accept.title) | async)!\"\n [look]=\"'solid'\"\n [color]=\"accept.color\"\n (onClick)=\"execute(accept.command)\"\n >\n <ax-prefix>\n <i class=\"{{ accept.icon }}\"></i>\n </ax-prefix>\n </ax-button>\n }\n }\n @for (action of footerPrimaryActions(); track $index) {\n @if (isFooterActionVisible(action)) {\n <ax-button\n [class.ax-sm]=\"deviceService.isSmall()\"\n [disabled]=\"isFooterActionDisabled(action)\"\n [text]=\"(t(action.title) | async)!\"\n [look]=\"'solid'\"\n [color]=\"action.color\"\n (onClick)=\"execute(action.command!)\"\n >\n <ax-prefix>\n <i class=\"{{ action.icon }}\"></i>\n </ax-prefix>\n @if (action?.items) {\n <ax-dropdown-panel #panel>\n <ax-button-item-list>\n @for (sub of action?.items; track $index) {\n @if (isFooterActionVisible(sub)) {\n <ax-button-item\n [text]=\"(t(sub.title) | async)!\"\n [color]=\"sub.color\"\n [disabled]=\"isFooterActionDisabled(sub)\"\n (onClick)=\"execute(sub.command!)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light {{ sub.icon }}\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n @if (sub.break) {\n <ax-divider></ax-divider>\n }\n }\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n }\n </ax-button>\n }\n }\n }\n </axp-layout-suffix>\n </axp-page-footer>\n }\n</axp-page-layout>\n", styles: ["@layer properties;axp-layout-details-view .axp-vertical-tabs ax-tab-item{margin-block:0;border-radius:0!important;padding-block:calc(var(--spacing, .25rem) * 3);--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axp-layout-details-view .axp-vertical-tabs ax-tab-item>div{display:flex;align-items:center}axp-layout-details-view .axp-vertical-tabs ax-tab-item>div .tab-item-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}axp-layout-details-view .axp-horizontal-tabs{display:flex;width:100%;flex-direction:column}axp-layout-details-view .axp-horizontal-tabs .content{margin-block:calc(var(--spacing, .25rem) * 4);display:block;width:100%}axp-layout-details-view axp-layout-section axp-layout-content{display:flex;width:100%;flex-direction:column}:where(axp-layout-details-view axp-layout-section axp-layout-content>:not(:last-child)){--tw-divide-y-reverse: 0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(axp-layout-details-view axp-layout-section axp-layout-content>:not(:last-child)){--tw-border-style: dashed;border-style:dashed}:where(axp-layout-details-view axp-layout-section axp-layout-content>:not(:last-child)){border-color:rgba(var(--ax-sys-color-lightest-surface))}axp-layout-details-view axp-layout-section axp-layout-content .--item-container{align-items:center;gap:calc(var(--spacing, .25rem) * 4);padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 4);display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}@media(width>=64rem){axp-layout-details-view axp-layout-section axp-layout-content .--item-container{padding-inline:calc(var(--spacing, .25rem) * 6)}}@media(width>=80rem){axp-layout-details-view axp-layout-section axp-layout-content .--item-container{padding-inline:calc(var(--spacing, .25rem) * 8)}}@media(width>=96rem){axp-layout-details-view axp-layout-section axp-layout-content .--item-container{padding-inline:calc(var(--spacing, .25rem) * 10)}}axp-layout-details-view axp-layout-section axp-layout-content .--item-container axp-layout-description{margin-top:calc(var(--spacing, .25rem) * 2);font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)))}axp-layout-details-view axp-page-content ax-form form{height:100%}axp-layout-details-view axp-layout-start-side{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-divide-y-reverse{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight: initial;--tw-divide-y-reverse: 0;--tw-border-style: solid}}}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type:
3220
+ ], viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], descendants: true, isSignal: true }, { propertyName: "widgetContainer", first: true, predicate: AXPWidgetContainerComponent, descendants: true, isSignal: true }, { propertyName: "sidebarTabs", first: true, predicate: ["sidebarTabs"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<axp-page-layout *translate=\"let t\">\n @if (vm.adapter()?.pages?.length! > 1 && vm.isLarge()) {\n <axp-layout-start-side>\n <axp-layout-header>\n <axp-layout-title>{{\n formatPageLabel(\n vm.showPages()\n ? (vm.adapter()?.title ?? '')\n : (vm.adapter()?.label ?? '')\n )\n | translate\n | async\n }}</axp-layout-title>\n <axp-layout-description>{{\n formatPageLabel(vm.adapter()?.description ?? '')\n | translate\n | async\n }}</axp-layout-description>\n </axp-layout-header>\n <axp-layout-content>\n <ax-tabs\n #sidebarTabs\n class=\"axp-vertical-tabs\"\n [look]=\"'with-line-color'\"\n [location]=\"'end'\"\n [fitParent]=\"true\"\n (onActiveTabChanged)=\"handleSidebarTabChanged($event)\"\n >\n @for (item of vm.adapter()?.pages; track item.id) {\n <ax-tab-item\n [key]=\"item.id\"\n [text]=\"(formatPageLabel(item.label) | translate | async)!\"\n [active]=\"vm.currentPage()?.id === item.id\"\n >\n <ax-prefix>\n <ax-icon icon=\"far ${{ item.icon }}\"></ax-icon>\n </ax-prefix>\n </ax-tab-item>\n }\n </ax-tabs>\n </axp-layout-content>\n </axp-layout-start-side>\n }\n <!-- Content Section -->\n <axp-page-content class=\"flex flex-row gap-4\">\n @if (vm.showPages()) {\n <axp-layout-list class=\"w-full\">\n @for (item of vm.adapter()?.pages; track $index) {\n <axp-layout-list-item (click)=\"handleSelectPage(item)\">\n <axp-layout-prefix>\n <ax-icon\n icon=\"far ${{ item.icon }}\"\n class=\"text-gray-500\"\n ></ax-icon>\n </axp-layout-prefix>\n <axp-layout-content>\n <a class=\"font-semibold\">{{\n formatPageLabel(item.label) | translate | async\n }}</a>\n </axp-layout-content>\n <axp-layout-suffix>\n <ax-icon\n icon=\" far fa-chevron-right\"\n class=\"text-gray-400\"\n ></ax-icon>\n </axp-layout-suffix>\n </axp-layout-list-item>\n }\n </axp-layout-list>\n } @else {\n <ax-form class=\"h-full w-full\" #form>\n <axp-widgets-container\n #widgetsContainerRef\n [context]=\"vm.context()\"\n (onContextChanged)=\"handleOnContextChanged($event)\"\n >\n <div class=\"flex flex-col w-full h-full\">\n @for (\n item of vm.currentPageContent();\n track pageContentTrackKey($any(item), $index)\n ) {\n @if ('type' in item && item.type === 'component') {\n <!-- Component-based content -->\n <div\n axp-page-component-renderer\n [componentKey]=\"$any(item).componentKey\"\n [rootContext]=\"vm.rootContext()\"\n [pageConfig]=\"$any(item).pageConfig\"\n [options]=\"$any(item).options\"\n (componentReady)=\"recompute()\"\n ></div>\n } @else {\n <!-- Widget-based content -->\n <ng-container\n axp-widget-renderer\n [node]=\"$any(item)\"\n [mode]=\"$any(item).mode ?? 'view'\"\n ></ng-container>\n }\n }\n @if (vm.currentPage()?.tabs?.length) {\n <div class=\"axp-horizontal-tabs\">\n <ax-tabs\n [location]=\"'bottom'\"\n [fitParent]=\"false\"\n look=\"classic\"\n >\n @for (tab of vm.currentPageTabs(); track $index) {\n <ax-tab-item\n (onClick)=\"vm.setCurrentTab(tab)\"\n [text]=\"(tab.title | translate | async)!\"\n [active]=\"vm.currentTab()?.id === tab.id\"\n >\n <ax-prefix>\n <ax-icon icon=\"far ${{ tab.icon }}\"></ax-icon>\n </ax-prefix>\n </ax-tab-item>\n }\n </ax-tabs>\n <div class=\"content\">\n @if (vm.currentTab()) {\n @for (\n content of vm.activeTabContent();\n track content.name\n ) {\n <ng-container\n axp-widget-renderer\n [node]=\"content\"\n [mode]=\"content.mode ?? 'view'\"\n >\n </ng-container>\n }\n }\n </div>\n </div>\n }\n </div>\n </axp-widgets-container>\n <ax-validation-summary\n [displayMode]=\"'toast'\"\n [autoHide]=\"true\"\n ></ax-validation-summary>\n </ax-form>\n }\n </axp-page-content>\n\n <!-- Footer Section -->\n @if (hasFooter()) {\n <axp-page-footer class=\"--animated\">\n <axp-layout-suffix>\n <!-- secondary footer actions -->\n @if (hasVisibleFooterSecondaryActions()) {\n <ax-button\n [class.ax-sm]=\"deviceService.isSmall()\"\n [iconOnly]=\"deviceService.isSmall()\"\n [text]=\"'@general:terms.interface.actions' | translate | async\"\n [look]=\"deviceService.isSmall() ? 'blank' : 'solid'\"\n [color]=\"'default'\"\n >\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n <ax-dropdown-panel #panel>\n <ax-button-item-list>\n @for (action of footerSecondaryActions(); track $index) {\n @if (isFooterActionVisible(action)) {\n <ax-button-item\n [text]=\"(t(action.title) | async)!\"\n [color]=\"action.color\"\n [disabled]=\"isFooterActionDisabled(action)\"\n (onClick)=\"execute(action.command!)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light {{ action.icon }}\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n @if (action.break) {\n <ax-divider></ax-divider>\n }\n }\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n\n @if (hasVisibleFooterPrimaryActions()) {\n @if (showSaveDiscardFooter()) {\n @if (rejectFooterCommand(); as reject) {\n <ax-button\n [class.ax-sm]=\"deviceService.isSmall()\"\n [disabled]=\"vm.isOverlayBusy()\"\n [text]=\"(t(reject.title) | async)!\"\n [look]=\"'solid'\"\n [color]=\"reject.color\"\n (onClick)=\"execute(reject.command)\"\n >\n <ax-prefix>\n <i class=\"{{ reject.icon }}\"></i>\n </ax-prefix>\n </ax-button>\n }\n @if (acceptFooterCommand(); as accept) {\n <ax-button\n [class.ax-sm]=\"deviceService.isSmall()\"\n [disabled]=\"vm.isOverlayBusy()\"\n [text]=\"(t(accept.title) | async)!\"\n [look]=\"'solid'\"\n [color]=\"accept.color\"\n (onClick)=\"execute(accept.command)\"\n >\n <ax-prefix>\n <i class=\"{{ accept.icon }}\"></i>\n </ax-prefix>\n </ax-button>\n }\n }\n @for (action of footerPrimaryActions(); track $index) {\n @if (isFooterActionVisible(action)) {\n <ax-button\n [class.ax-sm]=\"deviceService.isSmall()\"\n [disabled]=\"isFooterActionDisabled(action)\"\n [text]=\"(t(action.title) | async)!\"\n [look]=\"'solid'\"\n [color]=\"action.color\"\n (onClick)=\"execute(action.command!)\"\n >\n <ax-prefix>\n <i class=\"{{ action.icon }}\"></i>\n </ax-prefix>\n @if (action?.items) {\n <ax-dropdown-panel #panel>\n <ax-button-item-list>\n @for (sub of action?.items; track $index) {\n @if (isFooterActionVisible(sub)) {\n <ax-button-item\n [text]=\"(t(sub.title) | async)!\"\n [color]=\"sub.color\"\n [disabled]=\"isFooterActionDisabled(sub)\"\n (onClick)=\"execute(sub.command!)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light {{ sub.icon }}\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n @if (sub.break) {\n <ax-divider></ax-divider>\n }\n }\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n }\n </ax-button>\n }\n }\n }\n </axp-layout-suffix>\n </axp-page-footer>\n }\n</axp-page-layout>\n", styles: ["@layer properties;axp-layout-details-view .axp-vertical-tabs ax-tab-item{margin-block:0px;border-radius:0!important;padding-block:calc(var(--spacing, .25rem) * 3);--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axp-layout-details-view .axp-vertical-tabs ax-tab-item>div{display:flex;align-items:center}axp-layout-details-view .axp-vertical-tabs ax-tab-item>div .tab-item-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}axp-layout-details-view .axp-horizontal-tabs{display:flex;width:100%;flex-direction:column}axp-layout-details-view .axp-horizontal-tabs .content{margin-block:calc(var(--spacing, .25rem) * 4);display:block;width:100%}axp-layout-details-view axp-layout-section axp-layout-content{display:flex;width:100%;flex-direction:column}:where(axp-layout-details-view axp-layout-section axp-layout-content>:not(:last-child)){--tw-divide-y-reverse: 0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(axp-layout-details-view axp-layout-section axp-layout-content>:not(:last-child)){--tw-border-style: dashed;border-style:dashed}:where(axp-layout-details-view axp-layout-section axp-layout-content>:not(:last-child)){border-color:var(--color-gray-200, oklch(92.8% .006 264.531))}axp-layout-details-view axp-layout-section axp-layout-content .--item-container{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:calc(var(--spacing, .25rem) * 4);padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 4)}@media(width>=64rem){axp-layout-details-view axp-layout-section axp-layout-content .--item-container{padding-inline:calc(var(--spacing, .25rem) * 6)}}@media(width>=80rem){axp-layout-details-view axp-layout-section axp-layout-content .--item-container{padding-inline:calc(var(--spacing, .25rem) * 8)}}@media(width>=96rem){axp-layout-details-view axp-layout-section axp-layout-content .--item-container{padding-inline:calc(var(--spacing, .25rem) * 10)}}axp-layout-details-view axp-layout-section axp-layout-content .--item-container axp-layout-description{margin-top:calc(var(--spacing, .25rem) * 2);font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)))}axp-layout-details-view axp-page-content ax-form form{height:100%}axp-layout-details-view axp-layout-start-side{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-divide-y-reverse{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight: initial;--tw-divide-y-reverse: 0;--tw-border-style: solid}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type:
2951
3221
  // Angular
2952
3222
  CommonModule }, { kind: "ngmodule", type:
2953
3223
  // ACoreX
@@ -2955,7 +3225,7 @@ class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent {
2955
3225
  //
2956
3226
  AXPThemeLayoutListComponent, selector: "axp-layout-list" }, { kind: "component", type: AXPThemeLayoutListItemComponent, selector: "axp-layout-list-item" }, { kind: "component", type: AXPPageLayoutComponent, selector: "axp-page-layout" }, { kind: "component", type: AXPThemeLayoutBlockComponent, selector: " axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, " }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "component", type: i6$1.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "functions"], outputs: ["onContextChanged"] }, { kind: "directive", type: i6$1.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], outputs: ["onOptionsChanged", "onValueChanged", "onLoad"], exportAs: ["widgetRenderer"] }, { kind: "component", type: AXPThemeLayoutStartSideComponent, selector: "axp-layout-page-start-side, axp-layout-start-side" }, { kind: "component", type: AXPThemeLayoutHeaderComponent, selector: "axp-layout-header" }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i7$1.AXFormComponent, selector: "ax-form", inputs: ["disabled", "readonly", "labelMode", "look", "messageStyle", "updateOn", "inUserInteractionActive"], outputs: ["onValidate", "updateOnChange"] }, { kind: "component", type: i7$1.AXValidationSummaryComponent, selector: "ax-validation-summary", inputs: ["title", "displayMode", "timeOut", "autoHide"] }, { kind: "directive", type: AXPPageComponentRendererDirective, selector: "[axp-page-component-renderer]", inputs: ["componentKey", "rootContext", "pageConfig", "options"], outputs: ["componentReady"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2957
3227
  }
2958
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPLayoutDetailsViewComponent, decorators: [{
3228
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPLayoutDetailsViewComponent, decorators: [{
2959
3229
  type: Component,
2960
3230
  args: [{ selector: 'axp-layout-details-view', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
2961
3231
  // Angular
@@ -2992,7 +3262,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
2992
3262
  useExisting: AXPLayoutDetailsViewComponent,
2993
3263
  },
2994
3264
  AXPLayoutDetailsViewViewModel,
2995
- ], template: "<axp-page-layout *translate=\"let t\">\n @if (vm.adapter()?.pages?.length! > 1 && vm.isLarge()) {\n <axp-layout-start-side>\n <axp-layout-header>\n <axp-layout-title>{{\n formatService.format(\n vm.showPages()\n ? (vm.adapter()?.title ?? '')\n : (vm.adapter()?.label ?? ''),\n 'string',\n vm.rootContext()\n )\n | translate\n | async\n }}</axp-layout-title>\n <axp-layout-description>{{\n formatService.format(\n vm.adapter()?.description ?? '',\n 'string',\n vm.rootContext()\n )\n | translate\n | async\n }}</axp-layout-description>\n </axp-layout-header>\n <axp-layout-content>\n <ax-tabs\n #sidebarTabs\n class=\"axp-vertical-tabs\"\n [look]=\"'with-line-color'\"\n [location]=\"'end'\"\n [fitParent]=\"true\"\n (onActiveTabChanged)=\"handleSidebarTabChanged($event)\"\n >\n @for (item of vm.adapter()?.pages; track item.id) {\n <ax-tab-item\n [key]=\"item.id\"\n [text]=\"\n (formatService.format(item.label, 'string', vm.rootContext())\n | translate\n | async)!\n \"\n [active]=\"vm.currentPage()?.id === item.id\"\n >\n <ax-prefix>\n <ax-icon icon=\"far ${{ item.icon }}\"></ax-icon>\n </ax-prefix>\n </ax-tab-item>\n }\n </ax-tabs>\n </axp-layout-content>\n </axp-layout-start-side>\n }\n <!-- Content Section -->\n <axp-page-content class=\"flex flex-row gap-4\">\n @if (vm.showPages()) {\n <axp-layout-list class=\"w-full\">\n @for (item of vm.adapter()?.pages; track $index) {\n <axp-layout-list-item (click)=\"handleSelectPage(item)\">\n <axp-layout-prefix>\n <ax-icon\n icon=\"far ${{ item.icon }}\"\n class=\"text-gray-500\"\n ></ax-icon>\n </axp-layout-prefix>\n <axp-layout-content>\n <a class=\"font-semibold\">{{\n formatService.format(item.label, 'string', vm.rootContext())\n | translate\n | async\n }}</a>\n </axp-layout-content>\n <axp-layout-suffix>\n <ax-icon\n icon=\" far fa-chevron-right\"\n class=\"text-gray-400\"\n ></ax-icon>\n </axp-layout-suffix>\n </axp-layout-list-item>\n }\n </axp-layout-list>\n } @else {\n <ax-form class=\"h-full w-full\" #form>\n <axp-widgets-container\n #widgetsContainerRef\n [context]=\"vm.context()\"\n (onContextChanged)=\"handleOnContextChanged($event)\"\n >\n <div class=\"flex flex-col w-full h-full\">\n @for (\n item of vm.currentPageContent();\n track pageContentTrackKey($any(item), $index)\n ) {\n @if ('type' in item && item.type === 'component') {\n <!-- Component-based content -->\n <div\n axp-page-component-renderer\n [componentKey]=\"$any(item).componentKey\"\n [rootContext]=\"vm.rootContext()\"\n [pageConfig]=\"$any(item).pageConfig\"\n [options]=\"$any(item).options\"\n (componentReady)=\"recompute()\"\n ></div>\n } @else {\n <!-- Widget-based content -->\n <ng-container\n axp-widget-renderer\n [node]=\"$any(item)\"\n [mode]=\"$any(item).mode ?? 'view'\"\n ></ng-container>\n }\n }\n @if (vm.currentPage()?.tabs?.length) {\n <div class=\"axp-horizontal-tabs\">\n <ax-tabs\n [location]=\"'bottom'\"\n [fitParent]=\"false\"\n look=\"classic\"\n >\n @for (tab of vm.currentPageTabs(); track $index) {\n <ax-tab-item\n (onClick)=\"vm.setCurrentTab(tab)\"\n [text]=\"(tab.title | translate | async)!\"\n [active]=\"vm.currentTab()?.id === tab.id\"\n >\n <ax-prefix>\n <ax-icon icon=\"far ${{ tab.icon }}\"></ax-icon>\n </ax-prefix>\n </ax-tab-item>\n }\n </ax-tabs>\n <div class=\"content\">\n @if (vm.currentTab()) {\n @for (\n content of vm.activeTabContent();\n track content.name\n ) {\n <ng-container\n axp-widget-renderer\n [node]=\"content\"\n [mode]=\"content.mode ?? 'view'\"\n >\n </ng-container>\n }\n }\n </div>\n </div>\n }\n </div>\n </axp-widgets-container>\n <ax-validation-summary\n [displayMode]=\"'toast'\"\n [autoHide]=\"true\"\n ></ax-validation-summary>\n </ax-form>\n }\n </axp-page-content>\n\n <!-- Footer Section -->\n @if (hasFooter()) {\n <axp-page-footer class=\"--animated\">\n <axp-layout-suffix>\n <!-- secondary footer actions -->\n @if (hasVisibleFooterSecondaryActions()) {\n <ax-button\n [class.ax-sm]=\"deviceService.isSmall()\"\n [iconOnly]=\"deviceService.isSmall()\"\n [text]=\"'@general:terms.interface.actions' | translate | async\"\n [look]=\"deviceService.isSmall() ? 'blank' : 'solid'\"\n [color]=\"'default'\"\n >\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n <ax-dropdown-panel #panel>\n <ax-button-item-list>\n @for (action of footerSecondaryActions(); track $index) {\n @if (isFooterActionVisible(action)) {\n <ax-button-item\n [text]=\"(t(action.title) | async)!\"\n [color]=\"action.color\"\n [disabled]=\"isFooterActionDisabled(action)\"\n (onClick)=\"execute(action.command!)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light {{ action.icon }}\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n @if (action.break) {\n <ax-divider></ax-divider>\n }\n }\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n\n @if (hasVisibleFooterPrimaryActions()) {\n @if (showSaveDiscardFooter()) {\n @if (rejectFooterCommand(); as reject) {\n <ax-button\n [class.ax-sm]=\"deviceService.isSmall()\"\n [disabled]=\"vm.isOverlayBusy()\"\n [text]=\"(t(reject.title) | async)!\"\n [look]=\"'solid'\"\n [color]=\"reject.color\"\n (onClick)=\"execute(reject.command)\"\n >\n <ax-prefix>\n <i class=\"{{ reject.icon }}\"></i>\n </ax-prefix>\n </ax-button>\n }\n @if (acceptFooterCommand(); as accept) {\n <ax-button\n [class.ax-sm]=\"deviceService.isSmall()\"\n [disabled]=\"vm.isOverlayBusy()\"\n [text]=\"(t(accept.title) | async)!\"\n [look]=\"'solid'\"\n [color]=\"accept.color\"\n (onClick)=\"execute(accept.command)\"\n >\n <ax-prefix>\n <i class=\"{{ accept.icon }}\"></i>\n </ax-prefix>\n </ax-button>\n }\n }\n @for (action of footerPrimaryActions(); track $index) {\n @if (isFooterActionVisible(action)) {\n <ax-button\n [class.ax-sm]=\"deviceService.isSmall()\"\n [disabled]=\"isFooterActionDisabled(action)\"\n [text]=\"(t(action.title) | async)!\"\n [look]=\"'solid'\"\n [color]=\"action.color\"\n (onClick)=\"execute(action.command!)\"\n >\n <ax-prefix>\n <i class=\"{{ action.icon }}\"></i>\n </ax-prefix>\n @if (action?.items) {\n <ax-dropdown-panel #panel>\n <ax-button-item-list>\n @for (sub of action?.items; track $index) {\n @if (isFooterActionVisible(sub)) {\n <ax-button-item\n [text]=\"(t(sub.title) | async)!\"\n [color]=\"sub.color\"\n [disabled]=\"isFooterActionDisabled(sub)\"\n (onClick)=\"execute(sub.command!)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light {{ sub.icon }}\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n @if (sub.break) {\n <ax-divider></ax-divider>\n }\n }\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n }\n </ax-button>\n }\n }\n }\n </axp-layout-suffix>\n </axp-page-footer>\n }\n</axp-page-layout>\n", styles: ["@layer properties;axp-layout-details-view .axp-vertical-tabs ax-tab-item{margin-block:0;border-radius:0!important;padding-block:calc(var(--spacing, .25rem) * 3);--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axp-layout-details-view .axp-vertical-tabs ax-tab-item>div{display:flex;align-items:center}axp-layout-details-view .axp-vertical-tabs ax-tab-item>div .tab-item-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}axp-layout-details-view .axp-horizontal-tabs{display:flex;width:100%;flex-direction:column}axp-layout-details-view .axp-horizontal-tabs .content{margin-block:calc(var(--spacing, .25rem) * 4);display:block;width:100%}axp-layout-details-view axp-layout-section axp-layout-content{display:flex;width:100%;flex-direction:column}:where(axp-layout-details-view axp-layout-section axp-layout-content>:not(:last-child)){--tw-divide-y-reverse: 0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(axp-layout-details-view axp-layout-section axp-layout-content>:not(:last-child)){--tw-border-style: dashed;border-style:dashed}:where(axp-layout-details-view axp-layout-section axp-layout-content>:not(:last-child)){border-color:rgba(var(--ax-sys-color-lightest-surface))}axp-layout-details-view axp-layout-section axp-layout-content .--item-container{align-items:center;gap:calc(var(--spacing, .25rem) * 4);padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 4);display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}@media(width>=64rem){axp-layout-details-view axp-layout-section axp-layout-content .--item-container{padding-inline:calc(var(--spacing, .25rem) * 6)}}@media(width>=80rem){axp-layout-details-view axp-layout-section axp-layout-content .--item-container{padding-inline:calc(var(--spacing, .25rem) * 8)}}@media(width>=96rem){axp-layout-details-view axp-layout-section axp-layout-content .--item-container{padding-inline:calc(var(--spacing, .25rem) * 10)}}axp-layout-details-view axp-layout-section axp-layout-content .--item-container axp-layout-description{margin-top:calc(var(--spacing, .25rem) * 2);font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)))}axp-layout-details-view axp-page-content ax-form form{height:100%}axp-layout-details-view axp-layout-start-side{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-divide-y-reverse{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight: initial;--tw-divide-y-reverse: 0;--tw-border-style: solid}}}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
3265
+ ], template: "<axp-page-layout *translate=\"let t\">\n @if (vm.adapter()?.pages?.length! > 1 && vm.isLarge()) {\n <axp-layout-start-side>\n <axp-layout-header>\n <axp-layout-title>{{\n formatPageLabel(\n vm.showPages()\n ? (vm.adapter()?.title ?? '')\n : (vm.adapter()?.label ?? '')\n )\n | translate\n | async\n }}</axp-layout-title>\n <axp-layout-description>{{\n formatPageLabel(vm.adapter()?.description ?? '')\n | translate\n | async\n }}</axp-layout-description>\n </axp-layout-header>\n <axp-layout-content>\n <ax-tabs\n #sidebarTabs\n class=\"axp-vertical-tabs\"\n [look]=\"'with-line-color'\"\n [location]=\"'end'\"\n [fitParent]=\"true\"\n (onActiveTabChanged)=\"handleSidebarTabChanged($event)\"\n >\n @for (item of vm.adapter()?.pages; track item.id) {\n <ax-tab-item\n [key]=\"item.id\"\n [text]=\"(formatPageLabel(item.label) | translate | async)!\"\n [active]=\"vm.currentPage()?.id === item.id\"\n >\n <ax-prefix>\n <ax-icon icon=\"far ${{ item.icon }}\"></ax-icon>\n </ax-prefix>\n </ax-tab-item>\n }\n </ax-tabs>\n </axp-layout-content>\n </axp-layout-start-side>\n }\n <!-- Content Section -->\n <axp-page-content class=\"flex flex-row gap-4\">\n @if (vm.showPages()) {\n <axp-layout-list class=\"w-full\">\n @for (item of vm.adapter()?.pages; track $index) {\n <axp-layout-list-item (click)=\"handleSelectPage(item)\">\n <axp-layout-prefix>\n <ax-icon\n icon=\"far ${{ item.icon }}\"\n class=\"text-gray-500\"\n ></ax-icon>\n </axp-layout-prefix>\n <axp-layout-content>\n <a class=\"font-semibold\">{{\n formatPageLabel(item.label) | translate | async\n }}</a>\n </axp-layout-content>\n <axp-layout-suffix>\n <ax-icon\n icon=\" far fa-chevron-right\"\n class=\"text-gray-400\"\n ></ax-icon>\n </axp-layout-suffix>\n </axp-layout-list-item>\n }\n </axp-layout-list>\n } @else {\n <ax-form class=\"h-full w-full\" #form>\n <axp-widgets-container\n #widgetsContainerRef\n [context]=\"vm.context()\"\n (onContextChanged)=\"handleOnContextChanged($event)\"\n >\n <div class=\"flex flex-col w-full h-full\">\n @for (\n item of vm.currentPageContent();\n track pageContentTrackKey($any(item), $index)\n ) {\n @if ('type' in item && item.type === 'component') {\n <!-- Component-based content -->\n <div\n axp-page-component-renderer\n [componentKey]=\"$any(item).componentKey\"\n [rootContext]=\"vm.rootContext()\"\n [pageConfig]=\"$any(item).pageConfig\"\n [options]=\"$any(item).options\"\n (componentReady)=\"recompute()\"\n ></div>\n } @else {\n <!-- Widget-based content -->\n <ng-container\n axp-widget-renderer\n [node]=\"$any(item)\"\n [mode]=\"$any(item).mode ?? 'view'\"\n ></ng-container>\n }\n }\n @if (vm.currentPage()?.tabs?.length) {\n <div class=\"axp-horizontal-tabs\">\n <ax-tabs\n [location]=\"'bottom'\"\n [fitParent]=\"false\"\n look=\"classic\"\n >\n @for (tab of vm.currentPageTabs(); track $index) {\n <ax-tab-item\n (onClick)=\"vm.setCurrentTab(tab)\"\n [text]=\"(tab.title | translate | async)!\"\n [active]=\"vm.currentTab()?.id === tab.id\"\n >\n <ax-prefix>\n <ax-icon icon=\"far ${{ tab.icon }}\"></ax-icon>\n </ax-prefix>\n </ax-tab-item>\n }\n </ax-tabs>\n <div class=\"content\">\n @if (vm.currentTab()) {\n @for (\n content of vm.activeTabContent();\n track content.name\n ) {\n <ng-container\n axp-widget-renderer\n [node]=\"content\"\n [mode]=\"content.mode ?? 'view'\"\n >\n </ng-container>\n }\n }\n </div>\n </div>\n }\n </div>\n </axp-widgets-container>\n <ax-validation-summary\n [displayMode]=\"'toast'\"\n [autoHide]=\"true\"\n ></ax-validation-summary>\n </ax-form>\n }\n </axp-page-content>\n\n <!-- Footer Section -->\n @if (hasFooter()) {\n <axp-page-footer class=\"--animated\">\n <axp-layout-suffix>\n <!-- secondary footer actions -->\n @if (hasVisibleFooterSecondaryActions()) {\n <ax-button\n [class.ax-sm]=\"deviceService.isSmall()\"\n [iconOnly]=\"deviceService.isSmall()\"\n [text]=\"'@general:terms.interface.actions' | translate | async\"\n [look]=\"deviceService.isSmall() ? 'blank' : 'solid'\"\n [color]=\"'default'\"\n >\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n <ax-dropdown-panel #panel>\n <ax-button-item-list>\n @for (action of footerSecondaryActions(); track $index) {\n @if (isFooterActionVisible(action)) {\n <ax-button-item\n [text]=\"(t(action.title) | async)!\"\n [color]=\"action.color\"\n [disabled]=\"isFooterActionDisabled(action)\"\n (onClick)=\"execute(action.command!)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light {{ action.icon }}\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n @if (action.break) {\n <ax-divider></ax-divider>\n }\n }\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n\n @if (hasVisibleFooterPrimaryActions()) {\n @if (showSaveDiscardFooter()) {\n @if (rejectFooterCommand(); as reject) {\n <ax-button\n [class.ax-sm]=\"deviceService.isSmall()\"\n [disabled]=\"vm.isOverlayBusy()\"\n [text]=\"(t(reject.title) | async)!\"\n [look]=\"'solid'\"\n [color]=\"reject.color\"\n (onClick)=\"execute(reject.command)\"\n >\n <ax-prefix>\n <i class=\"{{ reject.icon }}\"></i>\n </ax-prefix>\n </ax-button>\n }\n @if (acceptFooterCommand(); as accept) {\n <ax-button\n [class.ax-sm]=\"deviceService.isSmall()\"\n [disabled]=\"vm.isOverlayBusy()\"\n [text]=\"(t(accept.title) | async)!\"\n [look]=\"'solid'\"\n [color]=\"accept.color\"\n (onClick)=\"execute(accept.command)\"\n >\n <ax-prefix>\n <i class=\"{{ accept.icon }}\"></i>\n </ax-prefix>\n </ax-button>\n }\n }\n @for (action of footerPrimaryActions(); track $index) {\n @if (isFooterActionVisible(action)) {\n <ax-button\n [class.ax-sm]=\"deviceService.isSmall()\"\n [disabled]=\"isFooterActionDisabled(action)\"\n [text]=\"(t(action.title) | async)!\"\n [look]=\"'solid'\"\n [color]=\"action.color\"\n (onClick)=\"execute(action.command!)\"\n >\n <ax-prefix>\n <i class=\"{{ action.icon }}\"></i>\n </ax-prefix>\n @if (action?.items) {\n <ax-dropdown-panel #panel>\n <ax-button-item-list>\n @for (sub of action?.items; track $index) {\n @if (isFooterActionVisible(sub)) {\n <ax-button-item\n [text]=\"(t(sub.title) | async)!\"\n [color]=\"sub.color\"\n [disabled]=\"isFooterActionDisabled(sub)\"\n (onClick)=\"execute(sub.command!)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light {{ sub.icon }}\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n @if (sub.break) {\n <ax-divider></ax-divider>\n }\n }\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n }\n </ax-button>\n }\n }\n }\n </axp-layout-suffix>\n </axp-page-footer>\n }\n</axp-page-layout>\n", styles: ["@layer properties;axp-layout-details-view .axp-vertical-tabs ax-tab-item{margin-block:0px;border-radius:0!important;padding-block:calc(var(--spacing, .25rem) * 3);--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axp-layout-details-view .axp-vertical-tabs ax-tab-item>div{display:flex;align-items:center}axp-layout-details-view .axp-vertical-tabs ax-tab-item>div .tab-item-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}axp-layout-details-view .axp-horizontal-tabs{display:flex;width:100%;flex-direction:column}axp-layout-details-view .axp-horizontal-tabs .content{margin-block:calc(var(--spacing, .25rem) * 4);display:block;width:100%}axp-layout-details-view axp-layout-section axp-layout-content{display:flex;width:100%;flex-direction:column}:where(axp-layout-details-view axp-layout-section axp-layout-content>:not(:last-child)){--tw-divide-y-reverse: 0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(axp-layout-details-view axp-layout-section axp-layout-content>:not(:last-child)){--tw-border-style: dashed;border-style:dashed}:where(axp-layout-details-view axp-layout-section axp-layout-content>:not(:last-child)){border-color:var(--color-gray-200, oklch(92.8% .006 264.531))}axp-layout-details-view axp-layout-section axp-layout-content .--item-container{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:calc(var(--spacing, .25rem) * 4);padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 4)}@media(width>=64rem){axp-layout-details-view axp-layout-section axp-layout-content .--item-container{padding-inline:calc(var(--spacing, .25rem) * 6)}}@media(width>=80rem){axp-layout-details-view axp-layout-section axp-layout-content .--item-container{padding-inline:calc(var(--spacing, .25rem) * 8)}}@media(width>=96rem){axp-layout-details-view axp-layout-section axp-layout-content .--item-container{padding-inline:calc(var(--spacing, .25rem) * 10)}}axp-layout-details-view axp-layout-section axp-layout-content .--item-container axp-layout-description{margin-top:calc(var(--spacing, .25rem) * 2);font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)))}axp-layout-details-view axp-page-content ax-form form{height:100%}axp-layout-details-view axp-layout-start-side{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-divide-y-reverse{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight: initial;--tw-divide-y-reverse: 0;--tw-border-style: solid}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
2996
3266
  }], propDecorators: { form: [{ type: i0.ViewChild, args: ['form', { isSignal: true }] }], widgetContainer: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXPWidgetContainerComponent), { isSignal: true }] }], sidebarTabs: [{ type: i0.ViewChild, args: ['sidebarTabs', { isSignal: true }] }] } });
2997
3267
 
2998
3268
  //#region ---- Details View Can Deactivate Guard ----