@acorex/platform 19.2.17-next.0 → 19.2.19

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 (140) hide show
  1. package/common/lib/file-storage/file-storage.types.d.ts +4 -0
  2. package/common/lib/layout/menu/menu.types.d.ts +2 -1
  3. package/common/lib/search/search-definition.builder.d.ts +0 -1
  4. package/common/lib/search/search.types.d.ts +12 -0
  5. package/common/lib/utils/filter-cleaner.d.ts +2 -0
  6. package/common/lib/utils/index.d.ts +1 -0
  7. package/core/lib/directives/dbl-click.directive.d.ts +11 -0
  8. package/core/lib/directives/index.d.ts +1 -0
  9. package/core/lib/types.d.ts +8 -0
  10. package/fesm2022/acorex-platform-auth.mjs +1 -1
  11. package/fesm2022/acorex-platform-common.mjs +45 -10
  12. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-core.mjs +41 -2
  14. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-builder.mjs +1 -1
  16. package/fesm2022/acorex-platform-layout-designer.mjs +9 -9
  17. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  18. package/fesm2022/acorex-platform-layout-entity.mjs +112 -100
  19. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  20. package/fesm2022/acorex-platform-layout-search.mjs +34 -12
  21. package/fesm2022/acorex-platform-layout-search.mjs.map +1 -1
  22. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-Bvwr0PVk.mjs → acorex-platform-themes-default-entity-master-create-view.component-LKhN00ob.mjs} +5 -5
  23. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-Bvwr0PVk.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-LKhN00ob.mjs.map} +1 -1
  24. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-CdC4eF25.mjs +400 -0
  25. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-CdC4eF25.mjs.map +1 -0
  26. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-BAU_s90_.mjs → acorex-platform-themes-default-entity-master-modify-view.component-B9TUh-2S.mjs} +5 -5
  27. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-BAU_s90_.mjs.map → acorex-platform-themes-default-entity-master-modify-view.component-B9TUh-2S.mjs.map} +1 -1
  28. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-ZfUaIxUa.mjs +135 -0
  29. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-ZfUaIxUa.mjs.map +1 -0
  30. package/fesm2022/{acorex-platform-themes-default-error-401.component-Brx-zHqH.mjs → acorex-platform-themes-default-error-401.component-Ycz5LYvk.mjs} +2 -2
  31. package/fesm2022/{acorex-platform-themes-default-error-401.component-Brx-zHqH.mjs.map → acorex-platform-themes-default-error-401.component-Ycz5LYvk.mjs.map} +1 -1
  32. package/fesm2022/{acorex-platform-themes-default-error-404.component-C8mJP9D8.mjs → acorex-platform-themes-default-error-404.component-DvVSMoRS.mjs} +2 -2
  33. package/fesm2022/{acorex-platform-themes-default-error-404.component-C8mJP9D8.mjs.map → acorex-platform-themes-default-error-404.component-DvVSMoRS.mjs.map} +1 -1
  34. package/fesm2022/{acorex-platform-themes-default-error-offline.component-CwBClgcf.mjs → acorex-platform-themes-default-error-offline.component-DU6dstng.mjs} +2 -2
  35. package/fesm2022/{acorex-platform-themes-default-error-offline.component-CwBClgcf.mjs.map → acorex-platform-themes-default-error-offline.component-DU6dstng.mjs.map} +1 -1
  36. package/fesm2022/acorex-platform-themes-default-search-popup.component-CGARdU4C.mjs +128 -0
  37. package/fesm2022/acorex-platform-themes-default-search-popup.component-CGARdU4C.mjs.map +1 -0
  38. package/fesm2022/acorex-platform-themes-default-setting-page.component-Cd2yaPEZ.mjs +74 -0
  39. package/fesm2022/acorex-platform-themes-default-setting-page.component-Cd2yaPEZ.mjs.map +1 -0
  40. package/fesm2022/{acorex-platform-themes-default-setting-view.component-fuHM7W6Y.mjs → acorex-platform-themes-default-setting-view.component-B3Aob67f.mjs} +9 -7
  41. package/fesm2022/acorex-platform-themes-default-setting-view.component-B3Aob67f.mjs.map +1 -0
  42. package/fesm2022/acorex-platform-themes-default-theme-palette-preview.page-DqAngWCf.mjs +146 -0
  43. package/fesm2022/acorex-platform-themes-default-theme-palette-preview.page-DqAngWCf.mjs.map +1 -0
  44. package/fesm2022/acorex-platform-themes-default.mjs +288 -143
  45. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  46. package/fesm2022/acorex-platform-themes-shared.mjs +282 -187
  47. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  48. package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-BWhqDxGH.mjs → acorex-platform-widgets-button-widget-designer.component-DVhi_mBH.mjs} +3 -3
  49. package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-BWhqDxGH.mjs.map → acorex-platform-widgets-button-widget-designer.component-DVhi_mBH.mjs.map} +1 -1
  50. package/fesm2022/{acorex-platform-widgets-checkbox-widget-column.component-C8NRF4BO.mjs → acorex-platform-widgets-checkbox-widget-column.component-BfVyjSLL.mjs} +2 -2
  51. package/fesm2022/{acorex-platform-widgets-checkbox-widget-column.component-C8NRF4BO.mjs.map → acorex-platform-widgets-checkbox-widget-column.component-BfVyjSLL.mjs.map} +1 -1
  52. package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-D8KErkus.mjs → acorex-platform-widgets-checkbox-widget-designer.component-CrdfTgeq.mjs} +2 -2
  53. package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-D8KErkus.mjs.map → acorex-platform-widgets-checkbox-widget-designer.component-CrdfTgeq.mjs.map} +1 -1
  54. package/fesm2022/{acorex-platform-widgets-checkbox-widget-view.component-bf272Wuo.mjs → acorex-platform-widgets-checkbox-widget-view.component-DfSoF52n.mjs} +2 -2
  55. package/fesm2022/{acorex-platform-widgets-checkbox-widget-view.component-bf272Wuo.mjs.map → acorex-platform-widgets-checkbox-widget-view.component-DfSoF52n.mjs.map} +1 -1
  56. package/fesm2022/{acorex-platform-widgets-color-box-widget-designer.component-CG3HEOUD.mjs → acorex-platform-widgets-color-box-widget-designer.component-BM1G-WaN.mjs} +2 -2
  57. package/fesm2022/{acorex-platform-widgets-color-box-widget-designer.component-CG3HEOUD.mjs.map → acorex-platform-widgets-color-box-widget-designer.component-BM1G-WaN.mjs.map} +1 -1
  58. package/fesm2022/{acorex-platform-widgets-contact-widget-filter.component-B1HiCGC6.mjs → acorex-platform-widgets-contact-widget-filter.component-B1cKV-TM.mjs} +2 -2
  59. package/fesm2022/{acorex-platform-widgets-contact-widget-filter.component-B1HiCGC6.mjs.map → acorex-platform-widgets-contact-widget-filter.component-B1cKV-TM.mjs.map} +1 -1
  60. package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-CITselce.mjs → acorex-platform-widgets-page-widget-designer.component-DtwyOnuO.mjs} +2 -2
  61. package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-CITselce.mjs.map → acorex-platform-widgets-page-widget-designer.component-DtwyOnuO.mjs.map} +1 -1
  62. package/fesm2022/{acorex-platform-widgets-rich-text-popup.component-DYExfz5U.mjs → acorex-platform-widgets-rich-text-popup.component-CXLjPrFq.mjs} +3 -3
  63. package/fesm2022/{acorex-platform-widgets-rich-text-popup.component-DYExfz5U.mjs.map → acorex-platform-widgets-rich-text-popup.component-CXLjPrFq.mjs.map} +1 -1
  64. package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-Emh145xN.mjs → acorex-platform-widgets-tabular-data-edit-popup.component-u2RCVYRB.mjs} +3 -3
  65. package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-Emh145xN.mjs.map → acorex-platform-widgets-tabular-data-edit-popup.component-u2RCVYRB.mjs.map} +1 -1
  66. package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-Ca6Cwzez.mjs → acorex-platform-widgets-tabular-data-view-popup.component-BiO5M_eY.mjs} +3 -3
  67. package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-Ca6Cwzez.mjs.map → acorex-platform-widgets-tabular-data-view-popup.component-BiO5M_eY.mjs.map} +1 -1
  68. package/fesm2022/{acorex-platform-widgets-text-block-widget-designer.component-BToPbMjj.mjs → acorex-platform-widgets-text-block-widget-designer.component-C3H0Zldz.mjs} +2 -2
  69. package/fesm2022/{acorex-platform-widgets-text-block-widget-designer.component-BToPbMjj.mjs.map → acorex-platform-widgets-text-block-widget-designer.component-C3H0Zldz.mjs.map} +1 -1
  70. package/fesm2022/acorex-platform-widgets.mjs +1191 -291
  71. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  72. package/fesm2022/acorex-platform-workflow.mjs +1 -1
  73. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +1 -2
  74. package/layout/entity/lib/entity-storage-service.d.ts +4 -0
  75. package/layout/entity/lib/entity.config.d.ts +1 -1
  76. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.d.ts +1 -0
  77. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.d.ts +2 -1
  78. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.d.ts +3 -1
  79. package/layout/entity/lib/workflows/delete-entity.workflow.d.ts +4 -0
  80. package/layout/search/lib/search.viewmodel.d.ts +2 -0
  81. package/layout/setting/lib/setting.viewmodel.d.ts +4 -0
  82. package/package.json +1 -1
  83. package/themes/default/lib/layouts/base/base-page.component.d.ts +83 -0
  84. package/themes/default/lib/layouts/base/base-page.types.d.ts +9 -0
  85. package/themes/default/lib/layouts/base/index.d.ts +3 -1
  86. package/themes/default/lib/layouts/base/simple-page/index.d.ts +1 -0
  87. package/themes/default/lib/layouts/base/simple-page/simple-page.layout.d.ts +16 -5
  88. package/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.d.ts +4 -0
  89. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.d.ts +12 -2
  90. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.d.ts +0 -3
  91. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-sorting/list-view-option-sorting.component.d.ts +0 -3
  92. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.d.ts +4 -0
  93. package/themes/default/lib/layouts/root-layout/components/footer/footer.component.d.ts +1 -1
  94. package/themes/default/lib/layouts/root-layout/components/header/header.component.d.ts +5 -1
  95. package/themes/default/lib/layouts/root-layout/components/horizontal-menu/horizontal-menu.component.d.ts +86 -0
  96. package/themes/default/lib/layouts/root-layout/components/{menu/root-menu.component.d.ts → side-menu/side-menu.component.d.ts} +1 -2
  97. package/themes/default/lib/layouts/root-layout/horizontal/horizontal-layout.component.d.ts +79 -0
  98. package/themes/default/lib/layouts/root-layout/index.d.ts +3 -2
  99. package/themes/default/lib/layouts/root-layout/root-layout.component.d.ts +26 -19
  100. package/themes/default/lib/layouts/root-layout/vertical/vertical-layout.component.d.ts +79 -0
  101. package/themes/default/lib/layouts/search-layout/search-popup.component.d.ts +2 -1
  102. package/themes/default/lib/layouts/setting-layout/setting-page/setting-page.component.d.ts +1 -1
  103. package/themes/default/lib/layouts/setting-layout/setting-view/setting-view.component.d.ts +4 -0
  104. package/themes/default/lib/pages/theme-palette-preview/theme-palette-preview.page.d.ts +5 -1
  105. package/themes/shared/index.d.ts +1 -0
  106. package/themes/shared/lib/components/drawer/drawer.directive.d.ts +22 -0
  107. package/themes/shared/lib/components/drawer/index.d.ts +1 -0
  108. package/themes/shared/lib/components/layout-elements/index.d.ts +4 -4
  109. package/themes/shared/lib/components/layout-elements/layout-actions.component.d.ts +1 -1
  110. package/themes/shared/lib/components/layout-elements/layout-blocks.component.d.ts +1 -1
  111. package/themes/shared/lib/components/layout-elements/layout-footer.component.d.ts +1 -1
  112. package/themes/shared/lib/components/layout-elements/layout-header.component.d.ts +7 -3
  113. package/themes/shared/lib/components/layout-elements/layout-section.component.d.ts +3 -7
  114. package/themes/shared/lib/components/layout-elements/layout-side.component.d.ts +6 -13
  115. package/themes/shared/lib/components/slots/theme-slot.component.d.ts +4 -0
  116. package/themes/shared/lib/setting.keys.d.ts +2 -1
  117. package/themes/shared/lib/theme.service.d.ts +5 -1
  118. package/themes/shared/lib/theme.types.d.ts +4 -0
  119. package/widgets/lib/widgets/advance/gallery/gallery-widget-edit.component.d.ts +13 -0
  120. package/widgets/lib/widgets/advance/gallery/index.d.ts +2 -1
  121. package/widgets/lib/widgets/charts/bar-chart/bar-chart-widget-edit.component.d.ts +5 -0
  122. package/widgets/lib/widgets/charts/donut-chart/donut-chart-widget-edit.component.d.ts +32 -2
  123. package/widgets/lib/widgets/charts/donut-chart/donut-chart.type.d.ts +15 -0
  124. package/widgets/lib/widgets/charts/gauge-chart/gauge-chart-widget-edit.component.d.ts +16 -3
  125. package/widgets/lib/widgets/charts/gauge-chart/gauge-chart.type.d.ts +1 -1
  126. package/widgets/lib/widgets/charts/sticky-note/sticky-note-widget-edit.component.d.ts +2 -2
  127. package/widgets/lib/widgets/editors/select/select-box-widget-edit.component.d.ts +1 -0
  128. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BLM2kf7R.mjs +0 -405
  129. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BLM2kf7R.mjs.map +0 -1
  130. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BmBPyfQY.mjs +0 -130
  131. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BmBPyfQY.mjs.map +0 -1
  132. package/fesm2022/acorex-platform-themes-default-search-popup.component-DfeNmpS9.mjs +0 -129
  133. package/fesm2022/acorex-platform-themes-default-search-popup.component-DfeNmpS9.mjs.map +0 -1
  134. package/fesm2022/acorex-platform-themes-default-setting-page.component-DtJmPSFo.mjs +0 -75
  135. package/fesm2022/acorex-platform-themes-default-setting-page.component-DtJmPSFo.mjs.map +0 -1
  136. package/fesm2022/acorex-platform-themes-default-setting-view.component-fuHM7W6Y.mjs.map +0 -1
  137. package/fesm2022/acorex-platform-themes-default-theme-palette-preview.page-DkjAgWLn.mjs +0 -138
  138. package/fesm2022/acorex-platform-themes-default-theme-palette-preview.page-DkjAgWLn.mjs.map +0 -1
  139. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-filters/list-view-option-filters.component.d.ts +0 -14
  140. package/themes/default/lib/layouts/root-layout/root-layout.module.d.ts +0 -27
@@ -1,67 +1,74 @@
1
1
  import * as i1 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { inject, contentChild, afterNextRender, Component, ViewEncapsulation, ChangeDetectionStrategy, computed, effect, Input, ViewChild, NgModule } from '@angular/core';
4
+ import { inject, contentChild, viewChild, afterNextRender, ChangeDetectionStrategy, ViewEncapsulation, Component, signal, computed, effect, ViewChild, Input, NgModule } from '@angular/core';
5
5
  import { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';
6
6
  import * as i4$1 from '@acorex/components/button';
7
7
  import { AXButtonModule } from '@acorex/components/button';
8
8
  import { AXCommonModule } from '@acorex/components/common';
9
- import * as i5 from '@acorex/components/decorators';
9
+ import * as i3$1 from '@acorex/components/decorators';
10
10
  import { AXDecoratorModule } from '@acorex/components/decorators';
11
- import * as i2 from '@acorex/components/drawer';
11
+ import * as i3 from '@acorex/components/drawer';
12
12
  import { AXDrawerModule } from '@acorex/components/drawer';
13
13
  import * as i4 from '@acorex/components/dropdown';
14
14
  import { AXDropdownModule } from '@acorex/components/dropdown';
15
15
  import { AXDropdownButtonModule } from '@acorex/components/dropdown-button';
16
- import * as i5$1 from '@acorex/platform/common';
17
- import { AXPStickyDirective, AXPRefreshEvent, AXP_PLATFORM_CONFIG_TOKEN, AXPMenuService, AXPLogoComponent, AXPComponentSlotModule, AXPCommonModule } from '@acorex/platform/common';
16
+ import * as i1$2 from '@acorex/platform/common';
17
+ import { AXPStickyDirective, AXPRefreshEvent, AXPComponentSlotModule, AXP_PLATFORM_CONFIG_TOKEN, AXPMenuService, AXPLogoComponent, AXPCommonModule } from '@acorex/platform/common';
18
18
  import * as i6 from '@acorex/core/translation';
19
- import { AXTranslationModule } from '@acorex/core/translation';
20
- import { AXPLayoutThemeService, AXPThemeLayoutHeaderTemplateComponent, AXPThemeLayoutSideTemplateComponent, AXPThemeLayoutEndSideTemplateComponent, AXPThemeLayoutActionsComponent, AXPThemeLayoutBlockComponent, AXPThemesSharedModule } from '@acorex/platform/themes/shared';
19
+ import { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';
20
+ import { AXPLayoutThemeService, AXPThemeLayoutPageHeaderComponent, AXPThemeLayoutStartSideComponent, AXPThemeLayoutEndSideComponent, AXPThemeLayoutActionsComponent, AXPThemeLayoutBlockComponent, AXPThemeLayoutHeaderComponent, AXPThemesSharedModule } from '@acorex/platform/themes/shared';
21
+ import * as i5 from '@acorex/platform/auth';
22
+ import { AXPSessionService, AXPAuthModule, AXPSessionStatus } from '@acorex/platform/auth';
21
23
  import * as i1$1 from '@acorex/components/action-sheet';
22
24
  import { AXActionSheetModule } from '@acorex/components/action-sheet';
23
25
  import { AXBadgeModule } from '@acorex/components/badge';
24
26
  import * as i8 from '@acorex/components/data-table';
25
27
  import { AXDataTableModule } from '@acorex/components/data-table';
26
- import { AXDialogModule, AXDialogService } from '@acorex/components/dialog';
28
+ import { AXDialogModule } from '@acorex/components/dialog';
27
29
  import { AXFormModule } from '@acorex/components/form';
28
- import * as i5$2 from '@acorex/components/loading';
29
30
  import { AXLoadingModule } from '@acorex/components/loading';
30
31
  import { AXPopoverModule } from '@acorex/components/popover';
31
32
  import * as i7 from '@acorex/components/search-box';
32
33
  import { AXSearchBoxModule } from '@acorex/components/search-box';
33
34
  import { AXTabsModule } from '@acorex/components/tabs';
34
35
  import { AXTooltipModule } from '@acorex/components/tooltip';
35
- import * as i2$1 from '@acorex/core/utils';
36
+ import * as i2 from '@acorex/core/utils';
36
37
  import { AXUnsubscriber } from '@acorex/core/utils';
37
- import * as i4$2 from '@acorex/platform/auth';
38
- import { AXPAuthModule, AXPSessionService, AXPSessionStatus } from '@acorex/platform/auth';
39
38
  import * as i6$1 from '@acorex/platform/layout/builder';
40
39
  import { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';
41
40
  import { AXP_ENTITY_CONFIG_TOKEN } from '@acorex/platform/layout/entity';
42
41
  import { AXPWidgetsModule } from '@acorex/platform/widgets';
43
42
  import { AXPWorkflowService, ofType } from '@acorex/platform/workflow';
44
43
  import { FormsModule } from '@angular/forms';
45
- import * as i3$1 from '@angular/router';
44
+ import * as i1$3 from '@angular/router';
46
45
  import { RouterModule, Router, NavigationEnd, RouteReuseStrategy, ROUTES } from '@angular/router';
47
46
  import { Subject, takeUntil, filter } from 'rxjs';
48
47
  import { sortBy } from 'lodash-es';
49
- import * as i3 from '@acorex/components/side-menu';
48
+ import * as i2$1 from '@acorex/components/side-menu';
50
49
  import { AXSideMenuModule } from '@acorex/components/side-menu';
51
- import { AXPBroadcastEventService } from '@acorex/platform/core';
52
- import * as i6$2 from '@acorex/cdk/resizable';
53
- import { AXResizableDirective } from '@acorex/cdk/resizable';
54
50
  import { AXAvatarModule } from '@acorex/components/avatar';
55
51
  import { AXImageModule } from '@acorex/components/image';
52
+ import { AXPBroadcastEventService } from '@acorex/platform/core';
53
+ import * as i3$2 from '@acorex/components/menu';
54
+ import { AXMenuModule } from '@acorex/components/menu';
55
+ import sortBy$1 from 'lodash-es/sortBy';
56
+ import { AXResizableDirective } from '@acorex/cdk/resizable';
56
57
  import { AXP_GLOBAL_SEARCH_CONFIG_TOKEN } from '@acorex/platform/layout/search';
57
58
 
59
+ class AXPBasePage {
60
+ }
61
+
58
62
  class AXPSimplePageLayout {
59
63
  constructor() {
64
+ this.page = inject(AXPBasePage, { optional: true });
60
65
  this.layoutService = inject(AXPLayoutThemeService);
61
- this.headerLayout = contentChild(AXPThemeLayoutHeaderTemplateComponent, { descendants: false });
62
- this.layoutSide = contentChild(AXPThemeLayoutSideTemplateComponent);
63
- this.layoutEndSide = contentChild(AXPThemeLayoutEndSideTemplateComponent);
66
+ this.headerLayout = contentChild(AXPThemeLayoutPageHeaderComponent);
67
+ this.layoutStartSide = contentChild(AXPThemeLayoutStartSideComponent);
68
+ this.layoutEndSide = contentChild(AXPThemeLayoutEndSideComponent);
64
69
  this.pageActionsLayout = contentChild(AXPThemeLayoutActionsComponent);
70
+ this.startSideDrawer = viewChild('startSide');
71
+ this.endSideDrawer = viewChild('endSide');
65
72
  this.#initialize = afterNextRender(async () => {
66
73
  const content = document.querySelector('axp-layout-content');
67
74
  if (content && content.scrollHeight > content.clientHeight) {
@@ -69,13 +76,19 @@ class AXPSimplePageLayout {
69
76
  }
70
77
  });
71
78
  }
79
+ toggleEndSide() {
80
+ this.endSideDrawer()?.toggle();
81
+ }
82
+ toggleStartSide() {
83
+ this.startSideDrawer()?.toggle();
84
+ }
72
85
  #initialize;
73
86
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSimplePageLayout, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
74
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPSimplePageLayout, isStandalone: true, selector: "axp-layout-simple-page", queries: [{ propertyName: "headerLayout", first: true, predicate: AXPThemeLayoutHeaderTemplateComponent, isSignal: true }, { propertyName: "layoutSide", first: true, predicate: AXPThemeLayoutSideTemplateComponent, descendants: true, isSignal: true }, { propertyName: "layoutEndSide", first: true, predicate: AXPThemeLayoutEndSideTemplateComponent, descendants: true, isSignal: true }, { propertyName: "pageActionsLayout", first: true, predicate: AXPThemeLayoutActionsComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<ax-drawer-container>\n @if(layoutSide()) {\n <ax-drawer #drawer location=\"start\" [collapsed]=\"false\" [mode]=\"'push'\">\n <ax-content>\n <axp-layout-side-container>\n <axp-layout-header-container>\n <ng-container *ngTemplateOutlet=\"layoutSide()?.header()?.title()!\"></ng-container>\n <ng-container *ngTemplateOutlet=\"layoutSide()?.header()?.description()!\"></ng-container>\n <ng-container *ngTemplateOutlet=\"layoutSide()?.header()?.navbar()!\"></ng-container>\n </axp-layout-header-container>\n <ng-container *ngTemplateOutlet=\"layoutSide()?.content()!\"></ng-container>\n </axp-layout-side-container>\n </ax-content>\n </ax-drawer>\n }\n <ax-content #content class=\"ax-overflow-x-hidden\" id=\"simple-page-content\" *translate=\"let t\">\n <axp-layout-body>\n <axp-layout-header-container\n #sticky=\"axpSticky\"\n [axpSticky]=\"layoutService.isSmall() ? '' : 'axp-is-sticky'\"\n [stickyOffset]=\"50\"\n [stickyParent]=\"content.getHostElement()\"\n >\n <!-------- Begin Title Bar -------->\n <axp-layout-title-bar>\n <!-------- Begin Title -------->\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <ng-container *ngTemplateOutlet=\"headerLayout()?.navButton()!\"></ng-container>\n <div class=\"ax-flex ax-flex-col ax-gap-1 ax-transition\">\n <ng-container *ngTemplateOutlet=\"headerLayout()?.breadcrumbs()!\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"headerLayout()?.title()!\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"headerLayout()?.description()!\"></ng-container>\n </div>\n </div>\n <!-------- Finish Title -------->\n <!--------------------------------------------------------------->\n <!-- Begin Action Menu -->\n @if(pageActionsLayout()) {\n <axp-layout-actions>\n <!-- Primary Actions -->\n @if(pageActionsLayout()?.hasPrimary()) {\n <ng-container *ngTemplateOutlet=\"pageActionsLayout()?.primaryTemplate()!\"></ng-container>\n }\n <!-- Secondary Actions -->\n @if(pageActionsLayout()?.hasSecondary()) {\n <ax-button\n [class.ax-xs]=\"layoutService.isSmall()\"\n [text]=\"layoutService.isSmall() ? null : (t('actions') | async)\"\n [look]=\"layoutService.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 <ng-container [ngTemplateOutlet]=\"pageActionsLayout()?.secondaryTemplate()!\"></ng-container>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n </axp-layout-actions>\n }\n <!-- Finish Action Menu -->\n </axp-layout-title-bar>\n <!----- Finish Title Bar ----->\n <!--------------------------------------------------------------->\n <!-- Begin Navbar -->\n @if(!sticky.isSticky) {\n <ng-container *ngTemplateOutlet=\"headerLayout()?.navbar()!\"></ng-container>\n }\n <!-- Finish Navbar -->\n </axp-layout-header-container>\n <ng-content select=\"axp-layout-content\"></ng-content>\n <ng-content select=\"axp-layout-footer\"></ng-content>\n </axp-layout-body>\n </ax-content>\n <!-- @if(layoutEndSide()) { -->\n <ax-drawer #endSide location=\"end\" [collapsed]=\"false\" [mode]=\"'push'\">\n <ax-content>\n <axp-layout-side-container>\n <axp-layout-header-container>\n <ng-container *ngTemplateOutlet=\"layoutEndSide()?.header()?.title()!\"></ng-container>\n <ng-container *ngTemplateOutlet=\"layoutEndSide()?.header()?.description()!\"></ng-container>\n <ng-container *ngTemplateOutlet=\"layoutEndSide()?.header()?.navbar()!\"></ng-container>\n </axp-layout-header-container>\n <ng-container *ngTemplateOutlet=\"layoutEndSide()?.content()!\"></ng-container>\n </axp-layout-side-container>\n </ax-content>\n </ax-drawer>\n <!-- } -->\n</ax-drawer-container>\n", styles: ["axp-layout-title{display:block;font-weight:600}axp-layout-description{color:rgba(var(--ax-color-text-default));opacity:.5;margin-top:.25rem;display:block;font-size:.875rem;line-height:1.25rem}axp-layout-side-container{display:block;height:100%;min-width:16rem;border-inline-end-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1))}axp-layout-side-container:is(.ax-dark *){--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lighter-surface),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lighter-surface),var(--tw-bg-opacity, 1))}@media (min-width: 1536px){axp-layout-side-container{min-width:18rem}}axp-layout-side-container axp-layout-header-container{gap:.5rem!important;padding:1rem!important}axp-layout-side-container axp-layout-header-container axp-layout-title{font-size:1.25rem;line-height:1.75rem}axp-layout-side-container axp-layout-header-container axp-layout-toolbar{margin-top:.5rem;display:block;padding-left:0;padding-right:0}axp-layout-header-container{display:flex;flex-direction:column}axp-layout-actions{display:flex;align-items:center;gap:.75rem}axp-layout-actions axp-layout-actions-primary{display:flex;align-items:center;gap:.75rem}axp-layout-title-bar{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;padding:.75rem 1rem}@media (min-width: 1280px){axp-layout-title-bar{border-width:0px}}axp-layout-title-bar ax-layout-nav-button{display:flex;align-items:center;justify-content:space-between}axp-layout-toolbar{display:flex;justify-content:space-between;padding-left:1rem;padding-right:1rem}axp-layout-toolbar axp-layout-suffix,axp-layout-toolbar axo-layout-prefix{display:flex;gap:.5rem}axp-layout-toolbar axp-layout-suffix{margin-inline-start:auto;justify-self:end}axp-layout-list{display:flex;flex-direction:column}axp-layout-list>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-style:dashed}axp-layout-list:focus{outline:none}axp-layout-list-group{display:flex;flex-direction:column;padding-top:.5rem;padding-bottom:.5rem}axp-layout-list-group>axp-layout-title{padding-bottom:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:600}axp-layout-list-group>axp-layout-header{display:flex;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}axp-layout-list-item{margin-top:.25rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem;font-size:.875rem;line-height:1.25rem}axp-layout-list-item:focus{outline:none}axp-layout-list-item.axp-state-focused,axp-layout-list-item:hover{cursor:pointer;border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-primary-lighter-surface),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-primary-lighter-surface),var(--tw-text-opacity, 1))}axp-layout-list-item.axp-state-focused:is(.ax-dark *),axp-layout-list-item:hover:is(.ax-dark *){--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-primary-light-surface),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-primary-light-surface),var(--tw-text-opacity, 1))}axp-layout-list-item>axp-layout-prefix{margin-inline-end:auto;display:flex;flex-direction:row;gap:.5rem}axp-layout-list-item>axp-layout-content{flex:1 1 0%}axp-layout-list-item>axp-layout-content axp-layout-description{font-size:.75rem!important;line-height:1rem!important;opacity:.65!important}axp-layout-list-item>axp-layout-suffix{margin-inline-start:auto;display:flex;flex-direction:row;gap:.5rem}axp-layout-sections{display:flex;flex-direction:column;gap:1rem}axp-layout-sections axp-layout-section-container{display:block;border-radius:.375rem;border-width:1px;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-layout-sections axp-layout-section-container>axp-layout-footer-container,axp-layout-sections axp-layout-section-container>axp-layout-header-container{padding:.5rem 1rem}@media (min-width: 1280px){axp-layout-sections axp-layout-section-container>axp-layout-footer-container,axp-layout-sections axp-layout-section-container>axp-layout-header-container{padding-top:1rem;padding-bottom:1rem}}axp-layout-sections axp-layout-section-container>axp-layout-header-container{display:flex;flex-direction:column;gap:0px;border-top-left-radius:.375rem;border-top-right-radius:.375rem;border-bottom-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-layout-sections axp-layout-section-container>axp-layout-header-container axp-layout-title{font-weight:700;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lightest-surface),var(--tw-text-opacity, 1))}axp-layout-sections axp-layout-section-container>axp-layout-header-container axp-layout-description{margin-top:.25rem;font-size:.875rem;line-height:1.25rem;color:rgba(var(--ax-color-text-default));opacity:.5}axp-layout-sections axp-layout-section-container>axp-layout-footer-container{display:flex;align-items:center;justify-content:space-between;border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem;border-top-width:1px;padding:1rem;opacity:0;animation:fadeInDown .5s ease-out forwards}axp-layout-sections axp-layout-section-container>axp-layout-footer-container>axp-layout-suffix{margin-inline-start:auto;display:flex;gap:.5rem}@keyframes fadeInDown{0%{opacity:0}to{opacity:1}}axp-layout-simple-page{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1))}axp-layout-simple-page ax-drawer{z-index:0!important}axp-layout-simple-page axp-layout-body{display:flex;min-height:100%;flex-direction:column;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1))}axp-layout-simple-page axp-layout-body>axp-layout-header-container{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;flex-direction:column;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}axp-layout-simple-page axp-layout-body>axp-layout-header-container.axp-is-sticky{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1))}axp-layout-simple-page axp-layout-body>axp-layout-header-container.axp-is-sticky axp-layout-title-bar{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}axp-layout-simple-page axp-layout-body>axp-layout-header-container axp-layout-breadcrumbs>ax-breadcrumbs{font-size:.75rem;line-height:1rem;opacity:.5}axp-layout-simple-page axp-layout-body>axp-layout-header-container axp-layout-breadcrumbs>ax-breadcrumbs ax-breadcrumbs-item{font-size:.75rem;line-height:1rem}axp-layout-simple-page axp-layout-body>axp-layout-header-container axp-layout-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.25rem;line-height:1.75rem;font-weight:500}@media (min-width: 768px){axp-layout-simple-page axp-layout-body>axp-layout-header-container axp-layout-title{font-size:1.5rem;line-height:2rem}}axp-layout-simple-page axp-layout-body>axp-layout-header-container axp-layout-description{display:none;opacity:.85}@media (min-width: 768px){axp-layout-simple-page axp-layout-body>axp-layout-header-container axp-layout-description{display:block}}axp-layout-simple-page axp-layout-body>axp-layout-content{height:100%;width:100%;flex:1 1 0%;padding:.75rem 1rem}axp-layout-simple-page axp-layout-body>axp-layout-content.--scrollable{padding-bottom:3rem}axp-layout-simple-page axp-layout-body axp-layout-footer{display:flex;flex-direction:column;align-items:center;gap:.5rem}@media (min-width: 768px){axp-layout-simple-page axp-layout-body axp-layout-footer{flex-direction:row}}axp-layout-simple-page axp-layout-body axp-layout-footer{border-top-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1))}axp-layout-simple-page axp-layout-body axp-layout-footer:is(.ax-dark *){--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-dark-surface),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-dark-surface),var(--tw-bg-opacity, 1))}axp-layout-simple-page axp-layout-body axp-layout-footer{position:-webkit-sticky;position:sticky;bottom:0;width:100%;padding:.75rem;--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}axp-layout-simple-page axp-layout-body axp-layout-prefix,axp-layout-simple-page axp-layout-body axp-layout-suffix{display:flex;width:auto;flex-direction:row;align-items:center;gap:.5rem}axp-layout-simple-page axp-layout-body axp-layout-prefix{justify-content:flex-start}axp-layout-simple-page axp-layout-body axp-layout-suffix{margin-inline-start:auto;justify-content:flex-end}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type:
87
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPSimplePageLayout, isStandalone: true, selector: "axp-layout-simple-page", queries: [{ propertyName: "headerLayout", first: true, predicate: AXPThemeLayoutPageHeaderComponent, descendants: true, isSignal: true }, { propertyName: "layoutStartSide", first: true, predicate: AXPThemeLayoutStartSideComponent, descendants: true, isSignal: true }, { propertyName: "layoutEndSide", first: true, predicate: AXPThemeLayoutEndSideComponent, descendants: true, isSignal: true }, { propertyName: "pageActionsLayout", first: true, predicate: AXPThemeLayoutActionsComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "startSideDrawer", first: true, predicate: ["startSide"], descendants: true, isSignal: true }, { propertyName: "endSideDrawer", first: true, predicate: ["endSide"], descendants: true, isSignal: true }], ngImport: i0, template: "<ax-drawer-container>\n @if(layoutStartSide()) {\n <ax-drawer #drawer [location]=\"'start'\" [collapsed]=\"false\" [mode]=\"'push'\">\n <ax-content>\n <ng-content select=\"axp-layout-page-start-side\"></ng-content>\n </ax-content>\n </ax-drawer>\n }\n <ax-content #content class=\"ax-overflow-x-hidden\" id=\"simple-page-content\" *translate=\"let t\">\n <axp-layout-page-body>\n <axp-layout-header #sticky=\"axpSticky\" [axpSticky]=\"layoutService.isSmall() ? '' : 'axp-is-sticky'\"\n [stickyOffset]=\"50\" [stickyParent]=\"content.getHostElement()\">\n <!-------- Begin Title Bar -------->\n <axp-layout-title-bar>\n <!-------- Begin Title -------->\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <ng-container *ngTemplateOutlet=\"headerLayout()?.navButton()!\"></ng-container>\n <div class=\"ax-flex ax-flex-col ax-gap-1 ax-transition\">\n <ng-container *ngTemplateOutlet=\"headerLayout()?.breadcrumbs()!\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"headerLayout()?.title()!\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"headerLayout()?.description()!\"></ng-container>\n </div>\n </div>\n <!-------- Finish Title -------->\n <!--------------------------------------------------------------->\n <!-------- Dynamic Actions -------->\n @if(page?.hasActions())\n {\n <axp-layout-actions>\n <!--Primary Actions -->\n @if(page?.hasPrimaryActions())\n {\n @for (item of page?.primaryMenuItems(); track $index) {\n <ax-button [class.ax-sm]=\"layoutService.isSmall()\" [iconOnly]=\"layoutService.isSmall()\"\n [text]=\"(t(item.title) | async)!\" [look]=\"'solid'\" [color]=\"item.color\">\n <ax-prefix>\n <i class=\"{{item.icon}}\"></i>\n </ax-prefix>\n @if(item?.items)\n {\n <ax-dropdown-panel #panel>\n <ax-button-item-list>\n @for (sub of item?.items; track $index) {\n <ng-container>\n <ax-button-item [text]=\"(t(sub.title) | async)!\" [color]=\"sub.color\">\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 {\n <ax-divider></ax-divider>\n }\n </ng-container>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n }\n </ax-button>\n }\n }\n <!-- Secondary Actions -->\n @if(page?.hasSecondaryActions())\n {\n <ax-button [class.ax-sm]=\"layoutService.isSmall()\" [iconOnly]=\"layoutService.isSmall()\"\n [text]=\"t('actions') | async\" [look]=\"layoutService.isSmall() ? 'blank' : 'solid'\" [color]=\"'default'\">\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 <ng-container>\n <ax-button-item [text]=\"(t(item.title) | async)!\" [color]=\"item.color\">\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 {\n <ax-divider></ax-divider>\n }\n </ng-container>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n </axp-layout-actions>\n }\n\n <!-------- End of Actions -------->\n <!-- Begin Action Menu -->\n @else if(pageActionsLayout()) {\n <axp-layout-actions>\n @if(pageActionsLayout()?.hasPrimary()) {\n <ng-container *ngTemplateOutlet=\"pageActionsLayout()?.primaryTemplate()!\"></ng-container>\n }\n <!-- Secondary Actions -->\n @if(pageActionsLayout()?.hasSecondary()) {\n <ax-button [class.ax-sm]=\"layoutService.isSmall()\"\n [text]=\"layoutService.isSmall() ? null : (t('actions') | async)\"\n [look]=\"layoutService.isSmall() ? 'blank' : 'solid'\" [color]=\"'default'\">\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 <ng-container [ngTemplateOutlet]=\"pageActionsLayout()?.secondaryTemplate()!\"></ng-container>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n </axp-layout-actions>\n }\n <!-- Finish Action Menu -->\n </axp-layout-title-bar>\n <!----- Finish Title Bar ----->\n <!--------------------------------------------------------------->\n <!-- Begin Navbar -->\n @if(!sticky.isSticky) {\n <ng-container *ngTemplateOutlet=\"headerLayout()?.navbar()!\"></ng-container>\n }\n <!-- Finish Navbar -->\n </axp-layout-header>\n <ng-content select=\"axp-layout-page-content\"></ng-content>\n <ng-content select=\"axp-layout-page-footer\"></ng-content>\n </axp-layout-page-body>\n </ax-content>\n @if(layoutEndSide()) {\n <ax-drawer #endSide [location]=\"'end'\" [mode]=\"'overlay'\" [collapsed]=\"true\">\n <ax-content>\n <ng-content select=\"axp-layout-page-end-side\"></ng-content>\n </ax-content>\n </ax-drawer>\n }\n</ax-drawer-container>", styles: ["axp-layout-title{display:block;width:100%;font-weight:600}axp-layout-description{display:block;width:100%;font-size:.875rem;line-height:1.25rem;opacity:.65}axp-layout-actions{display:flex;align-items:center;gap:.75rem}axp-layout-actions axp-layout-actions-primary{display:flex;align-items:center;gap:.75rem}axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-layout-page-footer{display:flex;width:100%;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}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-layout-page-footer>axp-layout-prefix,axp-layout-page-footer>axp-layout-suffix{display:flex;flex-direction:row;align-items:center;gap:.5rem}axp-layout-footer>axp-layout-prefix,axp-layout-toolbar>axp-layout-prefix,axp-layout-header>axp-layout-prefix,axp-layout-page-footer>axp-layout-prefix{order:-9999}axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-suffix,axp-layout-page-footer>axp-layout-suffix{order:9999;margin-inline-start:auto}axp-layout-list{display:flex;flex-direction:column}axp-layout-list>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-style:dashed}axp-layout-list:focus{outline:none}axp-layout-list-group{display:flex;flex-direction:column;padding-top:.5rem;padding-bottom:.5rem}axp-layout-list-group>axp-layout-title{padding-bottom:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:600}axp-layout-list-group>axp-layout-header{display:flex;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}axp-layout-list-item{margin-top:.25rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem;font-size:.875rem;line-height:1.25rem}axp-layout-list-item:focus{outline:none}axp-layout-list-item.axp-state-focused,axp-layout-list-item:hover{cursor:pointer;border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-primary-lighter-surface),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-primary-lighter-surface),var(--tw-text-opacity, 1))}axp-layout-list-item.axp-state-focused:is(.ax-dark *),axp-layout-list-item:hover:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border-color:rgb(var(--ax-sys-color-border-surface))}axp-layout-list-item>axp-layout-prefix{margin-inline-end:auto;display:flex;flex-direction:row;gap:.5rem}axp-layout-list-item>axp-layout-content{flex:1 1 0%}axp-layout-list-item>axp-layout-content axp-layout-description{margin-top:.25rem!important;font-size:.75rem!important;line-height:1rem!important}axp-layout-list-item>axp-layout-suffix{margin-inline-start:auto;display:flex;flex-direction:row;gap:.5rem}axp-layout-sections{display:flex;flex-direction:column;gap:1rem}axp-layout-sections axp-layout-section{display:block;border-radius:.375rem;border-width:1px;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding:.5rem 1rem}@media (min-width: 1280px){axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding-top:1rem;padding-bottom:1rem}}axp-layout-sections axp-layout-section>axp-layout-header{display:flex;flex-direction:column;gap:0px;border-top-left-radius:.375rem;border-top-right-radius:.375rem;border-bottom-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-title{font-weight:700;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lightest-surface),var(--tw-text-opacity, 1))}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-description{margin-top:.25rem;font-size:.875rem;line-height:1.25rem}axp-layout-sections axp-layout-section>axp-layout-footer{display:flex;align-items:center;justify-content:space-between;border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem;border-top-width:1px;padding:1rem;opacity:0;animation:fadeInDown .5s ease-out forwards}axp-layout-sections axp-layout-section>axp-layout-footer>axp-layout-suffix{margin-inline-start:auto;display:flex;gap:.5rem}@keyframes fadeInDown{0%{opacity:0}to{opacity:1}}axp-layout-simple-page{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1))}axp-layout-simple-page ax-drawer{z-index:999!important}axp-layout-simple-page axp-layout-page-body{display:flex;height:100%;flex-direction:column;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1))}axp-layout-simple-page axp-layout-page-body>axp-layout-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;flex-direction:column;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1));padding-top:.5rem;padding-bottom:.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@media (min-width: 768px){axp-layout-simple-page axp-layout-page-body>axp-layout-header{padding-top:1rem;padding-bottom:1rem}}axp-layout-simple-page axp-layout-page-body>axp-layout-header.axp-is-sticky{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}axp-layout-simple-page axp-layout-page-body>axp-layout-header axp-layout-breadcrumbs>ax-breadcrumbs{font-size:.75rem;line-height:1rem;opacity:.5}axp-layout-simple-page axp-layout-page-body>axp-layout-header axp-layout-breadcrumbs>ax-breadcrumbs ax-breadcrumbs-item{font-size:.75rem;line-height:1rem}axp-layout-simple-page axp-layout-page-body>axp-layout-header axp-layout-title-bar{display:flex;width:100%;align-items:center;justify-content:space-between;padding-left:1rem;padding-right:1rem}@media (min-width: 1280px){axp-layout-simple-page axp-layout-page-body>axp-layout-header axp-layout-title-bar{border-width:0px}}axp-layout-simple-page axp-layout-page-body>axp-layout-header axp-layout-title-bar ax-layout-nav-button{display:flex;align-items:center;justify-content:space-between}axp-layout-simple-page axp-layout-page-body>axp-layout-header axp-layout-title-bar axp-layout-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.25rem;line-height:1.75rem;font-weight:500;line-height:1.625}@media (min-width: 1024px){axp-layout-simple-page axp-layout-page-body>axp-layout-header axp-layout-title-bar axp-layout-title{font-size:1.5rem;line-height:2rem}}axp-layout-simple-page axp-layout-page-body>axp-layout-header axp-layout-toolbar{padding-left:1rem;padding-right:1rem}axp-layout-simple-page axp-layout-page-body>axp-layout-page-content{display:flex;height:100%;width:100%;flex:1 1 0%;flex-direction:column;padding:.75rem 1rem}axp-layout-simple-page axp-layout-page-body>axp-layout-page-content.--scrollable{padding-bottom:3rem}axp-layout-simple-page axp-layout-page-body>axp-layout-page-footer{border-top-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1))}axp-layout-simple-page axp-layout-page-body>axp-layout-page-footer:is(.ax-dark *){--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-dark-surface),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-dark-surface),var(--tw-bg-opacity, 1))}axp-layout-simple-page axp-layout-page-body>axp-layout-page-footer{position:-webkit-sticky;position:sticky;bottom:0;padding:.75rem;--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}axp-layout-simple-page axp-layout-page-start-side,axp-layout-simple-page axp-layout-page-end-side{display:flex;min-height:100%;min-width:16rem;flex-direction:column;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-layout-simple-page axp-layout-page-start-side>axp-layout-header,axp-layout-simple-page axp-layout-page-end-side>axp-layout-header{display:flex;flex-direction:column;gap:.5rem;padding:1rem}axp-layout-simple-page axp-layout-page-start-side>axp-layout-header>axp-layout-title,axp-layout-simple-page axp-layout-page-end-side>axp-layout-header>axp-layout-title{font-size:1.125rem;line-height:1.75rem;font-weight:500}axp-layout-simple-page axp-layout-page-start-side>axp-layout-content,axp-layout-simple-page axp-layout-page-end-side>axp-layout-content{flex:1 1 0%}.axp-drawer{background-color:#fff;box-shadow:0 0 10px rgba(0,0,0,.1);z-index:1000;overflow-y:auto;overflow-x:hidden}.axp-drawer.axp-drawer-overlay{z-index:1050}.axp-drawer.axp-drawer-overlay:before{content:\"\";position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);z-index:-1;opacity:0;transition:opacity .3s ease-in-out;pointer-events:none}.axp-drawer.axp-drawer-overlay.axp-drawer-opened:before{opacity:1;pointer-events:all}.axp-drawer.axp-drawer-push{z-index:1}.axp-drawer.axp-drawer-start{border-right:1px solid rgba(0,0,0,.12)}.axp-drawer.axp-drawer-end{border-left:1px solid rgba(0,0,0,.12)}.axp-drawer-container{position:relative;overflow:hidden;width:100%;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type:
75
88
  //
76
- AXCommonModule }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "component", type: i2.AXDrawerComponent, selector: "ax-drawer", inputs: ["location", "showBackdrop", "mode", "closeOthers", "collapsed"], outputs: ["locationChange", "modeChange", "collapsedChange"] }, { kind: "component", type: i2.AXDrawerContainerComponent, selector: "ax-drawer-container" }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i5.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: "component", type: i4.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i4$1.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i6.AXTranslatorDirective, selector: "[translate]" }, { kind: "component", type:
89
+ AXCommonModule }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "component", type: i3.AXDrawerComponent, selector: "ax-drawer", inputs: ["location", "showBackdrop", "mode", "closeOthers", "collapsed"], outputs: ["locationChange", "modeChange", "collapsedChange"] }, { kind: "component", type: i3.AXDrawerContainerComponent, selector: "ax-drawer-container" }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i4.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i4$1.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i4$1.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i6.AXTranslatorDirective, selector: "[translate]" }, { kind: "component", type:
77
90
  //
78
- AXPThemeLayoutBlockComponent, selector: " axp-layout-content, axp-layout-header-container, axp-layout-side-container, axp-layout-sections, axp-layout-section-container, axp-layout-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title, axp-layout-nav-button, axp-layout-description, axp-layout-title-bar, axp-layout-breadcrumbs, axp-layout-list-action, " }, { kind: "component", type: AXPThemeLayoutActionsComponent, selector: "axp-layout-actions" }, { kind: "directive", type: AXPStickyDirective, selector: "[axpSticky]", inputs: ["axpSticky", "stickyOffset", "stickyParent", "stickyTarget"], outputs: ["isStickyChange"], exportAs: ["axpSticky"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
91
+ AXPThemeLayoutBlockComponent, selector: " 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, axp-layout-nav-button, axp-layout-description, axp-layout-title-bar, 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
79
92
  }
80
93
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSimplePageLayout, decorators: [{
81
94
  type: Component,
@@ -93,9 +106,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
93
106
  //
94
107
  AXPThemeLayoutBlockComponent,
95
108
  AXPThemeLayoutActionsComponent,
109
+ AXPThemeLayoutHeaderComponent,
96
110
  AXPStickyDirective,
97
- //
98
- ], selector: 'axp-layout-simple-page', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ax-drawer-container>\n @if(layoutSide()) {\n <ax-drawer #drawer location=\"start\" [collapsed]=\"false\" [mode]=\"'push'\">\n <ax-content>\n <axp-layout-side-container>\n <axp-layout-header-container>\n <ng-container *ngTemplateOutlet=\"layoutSide()?.header()?.title()!\"></ng-container>\n <ng-container *ngTemplateOutlet=\"layoutSide()?.header()?.description()!\"></ng-container>\n <ng-container *ngTemplateOutlet=\"layoutSide()?.header()?.navbar()!\"></ng-container>\n </axp-layout-header-container>\n <ng-container *ngTemplateOutlet=\"layoutSide()?.content()!\"></ng-container>\n </axp-layout-side-container>\n </ax-content>\n </ax-drawer>\n }\n <ax-content #content class=\"ax-overflow-x-hidden\" id=\"simple-page-content\" *translate=\"let t\">\n <axp-layout-body>\n <axp-layout-header-container\n #sticky=\"axpSticky\"\n [axpSticky]=\"layoutService.isSmall() ? '' : 'axp-is-sticky'\"\n [stickyOffset]=\"50\"\n [stickyParent]=\"content.getHostElement()\"\n >\n <!-------- Begin Title Bar -------->\n <axp-layout-title-bar>\n <!-------- Begin Title -------->\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <ng-container *ngTemplateOutlet=\"headerLayout()?.navButton()!\"></ng-container>\n <div class=\"ax-flex ax-flex-col ax-gap-1 ax-transition\">\n <ng-container *ngTemplateOutlet=\"headerLayout()?.breadcrumbs()!\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"headerLayout()?.title()!\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"headerLayout()?.description()!\"></ng-container>\n </div>\n </div>\n <!-------- Finish Title -------->\n <!--------------------------------------------------------------->\n <!-- Begin Action Menu -->\n @if(pageActionsLayout()) {\n <axp-layout-actions>\n <!-- Primary Actions -->\n @if(pageActionsLayout()?.hasPrimary()) {\n <ng-container *ngTemplateOutlet=\"pageActionsLayout()?.primaryTemplate()!\"></ng-container>\n }\n <!-- Secondary Actions -->\n @if(pageActionsLayout()?.hasSecondary()) {\n <ax-button\n [class.ax-xs]=\"layoutService.isSmall()\"\n [text]=\"layoutService.isSmall() ? null : (t('actions') | async)\"\n [look]=\"layoutService.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 <ng-container [ngTemplateOutlet]=\"pageActionsLayout()?.secondaryTemplate()!\"></ng-container>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n </axp-layout-actions>\n }\n <!-- Finish Action Menu -->\n </axp-layout-title-bar>\n <!----- Finish Title Bar ----->\n <!--------------------------------------------------------------->\n <!-- Begin Navbar -->\n @if(!sticky.isSticky) {\n <ng-container *ngTemplateOutlet=\"headerLayout()?.navbar()!\"></ng-container>\n }\n <!-- Finish Navbar -->\n </axp-layout-header-container>\n <ng-content select=\"axp-layout-content\"></ng-content>\n <ng-content select=\"axp-layout-footer\"></ng-content>\n </axp-layout-body>\n </ax-content>\n <!-- @if(layoutEndSide()) { -->\n <ax-drawer #endSide location=\"end\" [collapsed]=\"false\" [mode]=\"'push'\">\n <ax-content>\n <axp-layout-side-container>\n <axp-layout-header-container>\n <ng-container *ngTemplateOutlet=\"layoutEndSide()?.header()?.title()!\"></ng-container>\n <ng-container *ngTemplateOutlet=\"layoutEndSide()?.header()?.description()!\"></ng-container>\n <ng-container *ngTemplateOutlet=\"layoutEndSide()?.header()?.navbar()!\"></ng-container>\n </axp-layout-header-container>\n <ng-container *ngTemplateOutlet=\"layoutEndSide()?.content()!\"></ng-container>\n </axp-layout-side-container>\n </ax-content>\n </ax-drawer>\n <!-- } -->\n</ax-drawer-container>\n", styles: ["axp-layout-title{display:block;font-weight:600}axp-layout-description{color:rgba(var(--ax-color-text-default));opacity:.5;margin-top:.25rem;display:block;font-size:.875rem;line-height:1.25rem}axp-layout-side-container{display:block;height:100%;min-width:16rem;border-inline-end-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1))}axp-layout-side-container:is(.ax-dark *){--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lighter-surface),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lighter-surface),var(--tw-bg-opacity, 1))}@media (min-width: 1536px){axp-layout-side-container{min-width:18rem}}axp-layout-side-container axp-layout-header-container{gap:.5rem!important;padding:1rem!important}axp-layout-side-container axp-layout-header-container axp-layout-title{font-size:1.25rem;line-height:1.75rem}axp-layout-side-container axp-layout-header-container axp-layout-toolbar{margin-top:.5rem;display:block;padding-left:0;padding-right:0}axp-layout-header-container{display:flex;flex-direction:column}axp-layout-actions{display:flex;align-items:center;gap:.75rem}axp-layout-actions axp-layout-actions-primary{display:flex;align-items:center;gap:.75rem}axp-layout-title-bar{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;padding:.75rem 1rem}@media (min-width: 1280px){axp-layout-title-bar{border-width:0px}}axp-layout-title-bar ax-layout-nav-button{display:flex;align-items:center;justify-content:space-between}axp-layout-toolbar{display:flex;justify-content:space-between;padding-left:1rem;padding-right:1rem}axp-layout-toolbar axp-layout-suffix,axp-layout-toolbar axo-layout-prefix{display:flex;gap:.5rem}axp-layout-toolbar axp-layout-suffix{margin-inline-start:auto;justify-self:end}axp-layout-list{display:flex;flex-direction:column}axp-layout-list>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-style:dashed}axp-layout-list:focus{outline:none}axp-layout-list-group{display:flex;flex-direction:column;padding-top:.5rem;padding-bottom:.5rem}axp-layout-list-group>axp-layout-title{padding-bottom:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:600}axp-layout-list-group>axp-layout-header{display:flex;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}axp-layout-list-item{margin-top:.25rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem;font-size:.875rem;line-height:1.25rem}axp-layout-list-item:focus{outline:none}axp-layout-list-item.axp-state-focused,axp-layout-list-item:hover{cursor:pointer;border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-primary-lighter-surface),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-primary-lighter-surface),var(--tw-text-opacity, 1))}axp-layout-list-item.axp-state-focused:is(.ax-dark *),axp-layout-list-item:hover:is(.ax-dark *){--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-primary-light-surface),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-primary-light-surface),var(--tw-text-opacity, 1))}axp-layout-list-item>axp-layout-prefix{margin-inline-end:auto;display:flex;flex-direction:row;gap:.5rem}axp-layout-list-item>axp-layout-content{flex:1 1 0%}axp-layout-list-item>axp-layout-content axp-layout-description{font-size:.75rem!important;line-height:1rem!important;opacity:.65!important}axp-layout-list-item>axp-layout-suffix{margin-inline-start:auto;display:flex;flex-direction:row;gap:.5rem}axp-layout-sections{display:flex;flex-direction:column;gap:1rem}axp-layout-sections axp-layout-section-container{display:block;border-radius:.375rem;border-width:1px;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-layout-sections axp-layout-section-container>axp-layout-footer-container,axp-layout-sections axp-layout-section-container>axp-layout-header-container{padding:.5rem 1rem}@media (min-width: 1280px){axp-layout-sections axp-layout-section-container>axp-layout-footer-container,axp-layout-sections axp-layout-section-container>axp-layout-header-container{padding-top:1rem;padding-bottom:1rem}}axp-layout-sections axp-layout-section-container>axp-layout-header-container{display:flex;flex-direction:column;gap:0px;border-top-left-radius:.375rem;border-top-right-radius:.375rem;border-bottom-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-layout-sections axp-layout-section-container>axp-layout-header-container axp-layout-title{font-weight:700;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lightest-surface),var(--tw-text-opacity, 1))}axp-layout-sections axp-layout-section-container>axp-layout-header-container axp-layout-description{margin-top:.25rem;font-size:.875rem;line-height:1.25rem;color:rgba(var(--ax-color-text-default));opacity:.5}axp-layout-sections axp-layout-section-container>axp-layout-footer-container{display:flex;align-items:center;justify-content:space-between;border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem;border-top-width:1px;padding:1rem;opacity:0;animation:fadeInDown .5s ease-out forwards}axp-layout-sections axp-layout-section-container>axp-layout-footer-container>axp-layout-suffix{margin-inline-start:auto;display:flex;gap:.5rem}@keyframes fadeInDown{0%{opacity:0}to{opacity:1}}axp-layout-simple-page{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1))}axp-layout-simple-page ax-drawer{z-index:0!important}axp-layout-simple-page axp-layout-body{display:flex;min-height:100%;flex-direction:column;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1))}axp-layout-simple-page axp-layout-body>axp-layout-header-container{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;flex-direction:column;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}axp-layout-simple-page axp-layout-body>axp-layout-header-container.axp-is-sticky{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1))}axp-layout-simple-page axp-layout-body>axp-layout-header-container.axp-is-sticky axp-layout-title-bar{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}axp-layout-simple-page axp-layout-body>axp-layout-header-container axp-layout-breadcrumbs>ax-breadcrumbs{font-size:.75rem;line-height:1rem;opacity:.5}axp-layout-simple-page axp-layout-body>axp-layout-header-container axp-layout-breadcrumbs>ax-breadcrumbs ax-breadcrumbs-item{font-size:.75rem;line-height:1rem}axp-layout-simple-page axp-layout-body>axp-layout-header-container axp-layout-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.25rem;line-height:1.75rem;font-weight:500}@media (min-width: 768px){axp-layout-simple-page axp-layout-body>axp-layout-header-container axp-layout-title{font-size:1.5rem;line-height:2rem}}axp-layout-simple-page axp-layout-body>axp-layout-header-container axp-layout-description{display:none;opacity:.85}@media (min-width: 768px){axp-layout-simple-page axp-layout-body>axp-layout-header-container axp-layout-description{display:block}}axp-layout-simple-page axp-layout-body>axp-layout-content{height:100%;width:100%;flex:1 1 0%;padding:.75rem 1rem}axp-layout-simple-page axp-layout-body>axp-layout-content.--scrollable{padding-bottom:3rem}axp-layout-simple-page axp-layout-body axp-layout-footer{display:flex;flex-direction:column;align-items:center;gap:.5rem}@media (min-width: 768px){axp-layout-simple-page axp-layout-body axp-layout-footer{flex-direction:row}}axp-layout-simple-page axp-layout-body axp-layout-footer{border-top-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1))}axp-layout-simple-page axp-layout-body axp-layout-footer:is(.ax-dark *){--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-dark-surface),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-dark-surface),var(--tw-bg-opacity, 1))}axp-layout-simple-page axp-layout-body axp-layout-footer{position:-webkit-sticky;position:sticky;bottom:0;width:100%;padding:.75rem;--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}axp-layout-simple-page axp-layout-body axp-layout-prefix,axp-layout-simple-page axp-layout-body axp-layout-suffix{display:flex;width:auto;flex-direction:row;align-items:center;gap:.5rem}axp-layout-simple-page axp-layout-body axp-layout-prefix{justify-content:flex-start}axp-layout-simple-page axp-layout-body axp-layout-suffix{margin-inline-start:auto;justify-content:flex-end}\n"] }]
111
+ ], selector: 'axp-layout-simple-page', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ax-drawer-container>\n @if(layoutStartSide()) {\n <ax-drawer #drawer [location]=\"'start'\" [collapsed]=\"false\" [mode]=\"'push'\">\n <ax-content>\n <ng-content select=\"axp-layout-page-start-side\"></ng-content>\n </ax-content>\n </ax-drawer>\n }\n <ax-content #content class=\"ax-overflow-x-hidden\" id=\"simple-page-content\" *translate=\"let t\">\n <axp-layout-page-body>\n <axp-layout-header #sticky=\"axpSticky\" [axpSticky]=\"layoutService.isSmall() ? '' : 'axp-is-sticky'\"\n [stickyOffset]=\"50\" [stickyParent]=\"content.getHostElement()\">\n <!-------- Begin Title Bar -------->\n <axp-layout-title-bar>\n <!-------- Begin Title -------->\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <ng-container *ngTemplateOutlet=\"headerLayout()?.navButton()!\"></ng-container>\n <div class=\"ax-flex ax-flex-col ax-gap-1 ax-transition\">\n <ng-container *ngTemplateOutlet=\"headerLayout()?.breadcrumbs()!\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"headerLayout()?.title()!\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"headerLayout()?.description()!\"></ng-container>\n </div>\n </div>\n <!-------- Finish Title -------->\n <!--------------------------------------------------------------->\n <!-------- Dynamic Actions -------->\n @if(page?.hasActions())\n {\n <axp-layout-actions>\n <!--Primary Actions -->\n @if(page?.hasPrimaryActions())\n {\n @for (item of page?.primaryMenuItems(); track $index) {\n <ax-button [class.ax-sm]=\"layoutService.isSmall()\" [iconOnly]=\"layoutService.isSmall()\"\n [text]=\"(t(item.title) | async)!\" [look]=\"'solid'\" [color]=\"item.color\">\n <ax-prefix>\n <i class=\"{{item.icon}}\"></i>\n </ax-prefix>\n @if(item?.items)\n {\n <ax-dropdown-panel #panel>\n <ax-button-item-list>\n @for (sub of item?.items; track $index) {\n <ng-container>\n <ax-button-item [text]=\"(t(sub.title) | async)!\" [color]=\"sub.color\">\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 {\n <ax-divider></ax-divider>\n }\n </ng-container>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n }\n </ax-button>\n }\n }\n <!-- Secondary Actions -->\n @if(page?.hasSecondaryActions())\n {\n <ax-button [class.ax-sm]=\"layoutService.isSmall()\" [iconOnly]=\"layoutService.isSmall()\"\n [text]=\"t('actions') | async\" [look]=\"layoutService.isSmall() ? 'blank' : 'solid'\" [color]=\"'default'\">\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 <ng-container>\n <ax-button-item [text]=\"(t(item.title) | async)!\" [color]=\"item.color\">\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 {\n <ax-divider></ax-divider>\n }\n </ng-container>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n </axp-layout-actions>\n }\n\n <!-------- End of Actions -------->\n <!-- Begin Action Menu -->\n @else if(pageActionsLayout()) {\n <axp-layout-actions>\n @if(pageActionsLayout()?.hasPrimary()) {\n <ng-container *ngTemplateOutlet=\"pageActionsLayout()?.primaryTemplate()!\"></ng-container>\n }\n <!-- Secondary Actions -->\n @if(pageActionsLayout()?.hasSecondary()) {\n <ax-button [class.ax-sm]=\"layoutService.isSmall()\"\n [text]=\"layoutService.isSmall() ? null : (t('actions') | async)\"\n [look]=\"layoutService.isSmall() ? 'blank' : 'solid'\" [color]=\"'default'\">\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 <ng-container [ngTemplateOutlet]=\"pageActionsLayout()?.secondaryTemplate()!\"></ng-container>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n </axp-layout-actions>\n }\n <!-- Finish Action Menu -->\n </axp-layout-title-bar>\n <!----- Finish Title Bar ----->\n <!--------------------------------------------------------------->\n <!-- Begin Navbar -->\n @if(!sticky.isSticky) {\n <ng-container *ngTemplateOutlet=\"headerLayout()?.navbar()!\"></ng-container>\n }\n <!-- Finish Navbar -->\n </axp-layout-header>\n <ng-content select=\"axp-layout-page-content\"></ng-content>\n <ng-content select=\"axp-layout-page-footer\"></ng-content>\n </axp-layout-page-body>\n </ax-content>\n @if(layoutEndSide()) {\n <ax-drawer #endSide [location]=\"'end'\" [mode]=\"'overlay'\" [collapsed]=\"true\">\n <ax-content>\n <ng-content select=\"axp-layout-page-end-side\"></ng-content>\n </ax-content>\n </ax-drawer>\n }\n</ax-drawer-container>", styles: ["axp-layout-title{display:block;width:100%;font-weight:600}axp-layout-description{display:block;width:100%;font-size:.875rem;line-height:1.25rem;opacity:.65}axp-layout-actions{display:flex;align-items:center;gap:.75rem}axp-layout-actions axp-layout-actions-primary{display:flex;align-items:center;gap:.75rem}axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-layout-page-footer{display:flex;width:100%;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}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-layout-page-footer>axp-layout-prefix,axp-layout-page-footer>axp-layout-suffix{display:flex;flex-direction:row;align-items:center;gap:.5rem}axp-layout-footer>axp-layout-prefix,axp-layout-toolbar>axp-layout-prefix,axp-layout-header>axp-layout-prefix,axp-layout-page-footer>axp-layout-prefix{order:-9999}axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-suffix,axp-layout-page-footer>axp-layout-suffix{order:9999;margin-inline-start:auto}axp-layout-list{display:flex;flex-direction:column}axp-layout-list>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-style:dashed}axp-layout-list:focus{outline:none}axp-layout-list-group{display:flex;flex-direction:column;padding-top:.5rem;padding-bottom:.5rem}axp-layout-list-group>axp-layout-title{padding-bottom:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:600}axp-layout-list-group>axp-layout-header{display:flex;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}axp-layout-list-item{margin-top:.25rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem;font-size:.875rem;line-height:1.25rem}axp-layout-list-item:focus{outline:none}axp-layout-list-item.axp-state-focused,axp-layout-list-item:hover{cursor:pointer;border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-primary-lighter-surface),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-primary-lighter-surface),var(--tw-text-opacity, 1))}axp-layout-list-item.axp-state-focused:is(.ax-dark *),axp-layout-list-item:hover:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border-color:rgb(var(--ax-sys-color-border-surface))}axp-layout-list-item>axp-layout-prefix{margin-inline-end:auto;display:flex;flex-direction:row;gap:.5rem}axp-layout-list-item>axp-layout-content{flex:1 1 0%}axp-layout-list-item>axp-layout-content axp-layout-description{margin-top:.25rem!important;font-size:.75rem!important;line-height:1rem!important}axp-layout-list-item>axp-layout-suffix{margin-inline-start:auto;display:flex;flex-direction:row;gap:.5rem}axp-layout-sections{display:flex;flex-direction:column;gap:1rem}axp-layout-sections axp-layout-section{display:block;border-radius:.375rem;border-width:1px;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding:.5rem 1rem}@media (min-width: 1280px){axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding-top:1rem;padding-bottom:1rem}}axp-layout-sections axp-layout-section>axp-layout-header{display:flex;flex-direction:column;gap:0px;border-top-left-radius:.375rem;border-top-right-radius:.375rem;border-bottom-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-title{font-weight:700;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lightest-surface),var(--tw-text-opacity, 1))}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-description{margin-top:.25rem;font-size:.875rem;line-height:1.25rem}axp-layout-sections axp-layout-section>axp-layout-footer{display:flex;align-items:center;justify-content:space-between;border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem;border-top-width:1px;padding:1rem;opacity:0;animation:fadeInDown .5s ease-out forwards}axp-layout-sections axp-layout-section>axp-layout-footer>axp-layout-suffix{margin-inline-start:auto;display:flex;gap:.5rem}@keyframes fadeInDown{0%{opacity:0}to{opacity:1}}axp-layout-simple-page{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1))}axp-layout-simple-page ax-drawer{z-index:999!important}axp-layout-simple-page axp-layout-page-body{display:flex;height:100%;flex-direction:column;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1))}axp-layout-simple-page axp-layout-page-body>axp-layout-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;flex-direction:column;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1));padding-top:.5rem;padding-bottom:.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@media (min-width: 768px){axp-layout-simple-page axp-layout-page-body>axp-layout-header{padding-top:1rem;padding-bottom:1rem}}axp-layout-simple-page axp-layout-page-body>axp-layout-header.axp-is-sticky{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}axp-layout-simple-page axp-layout-page-body>axp-layout-header axp-layout-breadcrumbs>ax-breadcrumbs{font-size:.75rem;line-height:1rem;opacity:.5}axp-layout-simple-page axp-layout-page-body>axp-layout-header axp-layout-breadcrumbs>ax-breadcrumbs ax-breadcrumbs-item{font-size:.75rem;line-height:1rem}axp-layout-simple-page axp-layout-page-body>axp-layout-header axp-layout-title-bar{display:flex;width:100%;align-items:center;justify-content:space-between;padding-left:1rem;padding-right:1rem}@media (min-width: 1280px){axp-layout-simple-page axp-layout-page-body>axp-layout-header axp-layout-title-bar{border-width:0px}}axp-layout-simple-page axp-layout-page-body>axp-layout-header axp-layout-title-bar ax-layout-nav-button{display:flex;align-items:center;justify-content:space-between}axp-layout-simple-page axp-layout-page-body>axp-layout-header axp-layout-title-bar axp-layout-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.25rem;line-height:1.75rem;font-weight:500;line-height:1.625}@media (min-width: 1024px){axp-layout-simple-page axp-layout-page-body>axp-layout-header axp-layout-title-bar axp-layout-title{font-size:1.5rem;line-height:2rem}}axp-layout-simple-page axp-layout-page-body>axp-layout-header axp-layout-toolbar{padding-left:1rem;padding-right:1rem}axp-layout-simple-page axp-layout-page-body>axp-layout-page-content{display:flex;height:100%;width:100%;flex:1 1 0%;flex-direction:column;padding:.75rem 1rem}axp-layout-simple-page axp-layout-page-body>axp-layout-page-content.--scrollable{padding-bottom:3rem}axp-layout-simple-page axp-layout-page-body>axp-layout-page-footer{border-top-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1))}axp-layout-simple-page axp-layout-page-body>axp-layout-page-footer:is(.ax-dark *){--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-dark-surface),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-dark-surface),var(--tw-bg-opacity, 1))}axp-layout-simple-page axp-layout-page-body>axp-layout-page-footer{position:-webkit-sticky;position:sticky;bottom:0;padding:.75rem;--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}axp-layout-simple-page axp-layout-page-start-side,axp-layout-simple-page axp-layout-page-end-side{display:flex;min-height:100%;min-width:16rem;flex-direction:column;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-layout-simple-page axp-layout-page-start-side>axp-layout-header,axp-layout-simple-page axp-layout-page-end-side>axp-layout-header{display:flex;flex-direction:column;gap:.5rem;padding:1rem}axp-layout-simple-page axp-layout-page-start-side>axp-layout-header>axp-layout-title,axp-layout-simple-page axp-layout-page-end-side>axp-layout-header>axp-layout-title{font-size:1.125rem;line-height:1.75rem;font-weight:500}axp-layout-simple-page axp-layout-page-start-side>axp-layout-content,axp-layout-simple-page axp-layout-page-end-side>axp-layout-content{flex:1 1 0%}.axp-drawer{background-color:#fff;box-shadow:0 0 10px rgba(0,0,0,.1);z-index:1000;overflow-y:auto;overflow-x:hidden}.axp-drawer.axp-drawer-overlay{z-index:1050}.axp-drawer.axp-drawer-overlay:before{content:\"\";position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);z-index:-1;opacity:0;transition:opacity .3s ease-in-out;pointer-events:none}.axp-drawer.axp-drawer-overlay.axp-drawer-opened:before{opacity:1;pointer-events:all}.axp-drawer.axp-drawer-push{z-index:1}.axp-drawer.axp-drawer-start{border-right:1px solid rgba(0,0,0,.12)}.axp-drawer.axp-drawer-end{border-left:1px solid rgba(0,0,0,.12)}.axp-drawer-container{position:relative;overflow:hidden;width:100%;height:100%}\n"] }]
112
+ }] });
113
+
114
+ class AXPBasePageComponent extends AXPBasePage {
115
+ constructor() {
116
+ super(...arguments);
117
+ this.layoutService = inject(AXPLayoutThemeService);
118
+ this.sessionService = inject(AXPSessionService);
119
+ this.translateService = inject(AXTranslationService);
120
+ this.layout = viewChild(AXPSimplePageLayout);
121
+ this.updateTrigger = signal(0); // Signal to force recomputation
122
+ this.primaryMenuItems = computed(() => {
123
+ this.updateTrigger();
124
+ return this.getPrimaryMenuItems();
125
+ });
126
+ this.secondaryMenuItems = computed(() => {
127
+ this.updateTrigger();
128
+ return this.getSecondaryMenuItems();
129
+ });
130
+ this.hasPrimaryActions = computed(() => this.primaryMenuItems().length > 0);
131
+ this.hasSecondaryActions = computed(() => this.secondaryMenuItems().length > 0);
132
+ this.hasActions = computed(() => this.hasPrimaryActions() || this.hasSecondaryActions());
133
+ }
134
+ toggleEndSide() {
135
+ this.layout()?.toggleEndSide();
136
+ }
137
+ getPrimaryMenuItems() {
138
+ return [];
139
+ }
140
+ getSecondaryMenuItems() {
141
+ return [];
142
+ }
143
+ updateMenuItems() {
144
+ this.updateTrigger();
145
+ }
146
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPBasePageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
147
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.3", type: AXPBasePageComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "layout", first: true, predicate: AXPSimplePageLayout, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
148
+ }
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPBasePageComponent, decorators: [{
150
+ type: Component,
151
+ args: [{
152
+ standalone: true,
153
+ template: '',
154
+ }]
99
155
  }] });
100
156
 
101
157
  class AXPEntityDetailListViewComponent {
@@ -175,8 +231,8 @@ class AXPEntityDetailListViewComponent {
175
231
  ngOnDestroy() {
176
232
  this.destroy();
177
233
  }
178
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPEntityDetailListViewComponent, deps: [{ token: i1$1.AXActionSheetService }, { token: i2$1.AXUnsubscriber }], target: i0.ɵɵFactoryTarget.Component }); }
179
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPEntityDetailListViewComponent, isStandalone: true, selector: "axp-entity-detail-list-view", inputs: { vm: ["viewModel", "vm"] }, providers: [AXUnsubscriber], viewQueries: [{ propertyName: "grid", first: true, predicate: ["grid"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"ax-flex ax-p-2\">\n <div class=\"ax-flex ax-flex-col ax-items-end ax-gap-3 ax-flex-1 ax-overflow-auto ax-min-h-72\">\n <div class=\"ax-flex ax-justify-between ax-items-center ax-w-full\">\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <div class=\"ax-flex ax-justify-start ax-items-center ax-gap-4\">\n @if(vm.hasSelectedItems()) {\n <div class=\"ax-flex ax-gap-3 ax-items-center ax-h-10\">\n <span class=\"ax-text-xl ax-font-bold\"> {{ vm.selectedItems().length }} {{ 't(\"itemsSelected\", { scope:\n \"common\" })' | translate | async }} </span>\n <span (click)=\"vm.clearSelection()\" class=\"ax-text-sm ax-text-primary-500 ax-underline ax-cursor-pointer\">{{\n 't(\"unselect\", { scope: \"common\" })' | translate | async }}</span>\n </div>\n\n } @else { @if(vm.hasInlineFilters() && !store.isSmall()) {\n <div class=\"ax-w-72\">\n <ax-search-box\n [placeholder]=\"('widget.lookup.search' | translate | async) + vm.inlineFiltersPlaceholders().join(', ')\"\n (onValueChanged)=\"handleChangeSearchValue($event)\"><ax-clear-button></ax-clear-button></ax-search-box>\n </div>\n } }\n </div>\n </div>\n <div class=\"ax-flex ax-items-center ax-gap-3\">\n @for(tr of vm.primaryActions();track $index) {\n <ax-button [text]=\"(tr.title | translate | async)!\" [color]=\"tr.color\" (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button>\n } @if(vm.secondaryActions().length) {\n <ax-button [text]=\"store.isSmall() ? null : ('actions' | translate | async)\" [color]=\"'default'\">\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n @for(tr of vm.secondaryActions();track $index) {\n <ng-container>\n @if(tr.separated && !$first) {\n <ax-divider></ax-divider>\n }\n <ax-button-item [text]=\"(tr.title | translate | async)!\" class=\"ax-font-semibold ax-text-{{ tr.color }}\"\n (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ng-container>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n </div>\n </div>\n\n <div class=\"ax-flex ax-flex-1 ax-pt-0 ax-overflow-auto\">\n <ax-data-table #grid [showFooter]=\"false\" class=\"ax-flex-1\" [paging]=\"true\" [fetchDataMode]=\"'manual'\"\n [parentField]=\"vm.parentKey()\" [loading]=\"{ enabled: true, animation: true }\" [dataSource]=\"vm.dataSource\"\n (selectedRowsChange)=\"handleSelectedRowsChange($event)\" (onRowDbClick)=\"handleRowDbClick($event)\">\n <ax-index-column fixed=\"start\" [width]=\"'80px'\" [padZero]=\"true\"></ax-index-column>\n @if(vm.selectedScopeActionsCount()){\n <ax-select-column fixed=\"start\" [width]=\"'50px'\"></ax-select-column>\n } @for(col of vm.columns();track col.name) { @if(col.visible) {\n <axp-widget-column-renderer [expandHandler]=\"$index === 0 && vm.parentKey() ? true : false\"\n [caption]=\"(col.title | translate | async)!\" [node]=\"col.node()\"></axp-widget-column-renderer>\n } } @if(getCommandRowItems().length){\n\n <ax-command-column fixed=\"end\" [width]=\"getCommandRowItems().length * 60 + 'px'\" [items]=\"getCommandRowItems()\"\n (onItemClick)=\"handleRowCommandClick($event)\"></ax-command-column>\n\n } @if(dropdownRowItems().length){\n <ax-dropdown-command-column fixed=\"end\" [width]=\"'60px'\" [items]=\"getDropdownRowItems\"\n (onItemClick)=\"handleRowCommandClick($event)\"></ax-dropdown-command-column>\n }\n </ax-data-table>\n </div>\n </div>\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i4$1.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i4$1.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i5.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i5.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: i5.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: AXBadgeModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i4.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXActionSheetModule }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i7.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXDataTableModule }, { kind: "component", type: i8.AXDataTableComponent, selector: "ax-data-table", inputs: ["dataSource", "parentField", "rowTemplate", "emptyTemplate", "alternative", "showHeader", "fixedHeader", "showFooter", "fixedFooter", "itemHeight", "allowReordering", "paging", "fetchDataMode", "loading", "focusedRow"], outputs: ["selectedRowsChange", "focusedRowChange", "onRowClick", "onRowDbClick", "onColumnsOrderChanged", "onColumnSizeChanged", "onPageChanged"] }, { kind: "component", type: i8.AXRowIndexColumnComponent, selector: "ax-index-column", inputs: ["width", "caption", "fixed", "footerTemplate", "padZero"] }, { kind: "component", type: i8.AXRowSelectColumnComponent, selector: "ax-select-column", inputs: ["width", "caption", "fixed"] }, { kind: "component", type: i8.AXRowCommandColumnComponent, selector: "ax-command-column", inputs: ["width", "caption", "fixed", "footerTemplate", "items"], outputs: ["onItemClick"] }, { kind: "component", type: i8.AXRowDropdownCommandColumnComponent, selector: "ax-dropdown-command-column", inputs: ["width", "caption", "fixed", "footerTemplate", "items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type:
234
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPEntityDetailListViewComponent, deps: [{ token: i1$1.AXActionSheetService }, { token: i2.AXUnsubscriber }], target: i0.ɵɵFactoryTarget.Component }); }
235
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPEntityDetailListViewComponent, isStandalone: true, selector: "axp-entity-detail-list-view", inputs: { vm: ["viewModel", "vm"] }, providers: [AXUnsubscriber], viewQueries: [{ propertyName: "grid", first: true, predicate: ["grid"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"ax-flex ax-p-2\">\n <div class=\"ax-flex ax-flex-col ax-items-end ax-gap-3 ax-flex-1 ax-overflow-auto ax-min-h-72\">\n <div class=\"ax-flex ax-justify-between ax-items-center ax-w-full\">\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <div class=\"ax-flex ax-justify-start ax-items-center ax-gap-4\">\n @if(vm.hasSelectedItems()) {\n <div class=\"ax-flex ax-gap-3 ax-items-center ax-h-10\">\n <span class=\"ax-text-xl ax-font-bold\"> {{ vm.selectedItems().length }} {{ 't(\"itemsSelected\", { scope:\n \"common\" })' | translate | async }} </span>\n <span (click)=\"vm.clearSelection()\" class=\"ax-text-sm ax-text-primary-500 ax-underline ax-cursor-pointer\">{{\n 't(\"unselect\", { scope: \"common\" })' | translate | async }}</span>\n </div>\n\n } @else { @if(vm.hasInlineFilters() && !store.isSmall()) {\n <div class=\"ax-w-72\">\n <ax-search-box\n [placeholder]=\"('widget.lookup.search' | translate | async) + vm.inlineFiltersPlaceholders().join(', ')\"\n (onValueChanged)=\"handleChangeSearchValue($event)\"><ax-clear-button></ax-clear-button></ax-search-box>\n </div>\n } }\n </div>\n </div>\n <div class=\"ax-flex ax-items-center ax-gap-3\">\n @for(tr of vm.primaryActions();track $index) {\n <ax-button [text]=\"(tr.title | translate | async)!\" [color]=\"tr.color\" (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button>\n } @if(vm.secondaryActions().length) {\n <ax-button [text]=\"store.isSmall() ? null : ('actions' | translate | async)\" [color]=\"'default'\">\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n @for(tr of vm.secondaryActions();track $index) {\n <ng-container>\n @if(tr.separated && !$first) {\n <ax-divider></ax-divider>\n }\n <ax-button-item [text]=\"(tr.title | translate | async)!\" class=\"ax-font-semibold ax-text-{{ tr.color }}\"\n (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ng-container>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n </div>\n </div>\n\n <div class=\"ax-flex ax-flex-1 ax-pt-0 ax-overflow-auto\">\n <ax-data-table #grid [showFooter]=\"false\" class=\"ax-flex-1\" [paging]=\"true\" [fetchDataMode]=\"'manual'\"\n [parentField]=\"vm.parentKey()\" [loading]=\"{ enabled: true, animation: true }\" [dataSource]=\"vm.dataSource\"\n (selectedRowsChange)=\"handleSelectedRowsChange($event)\" (onRowDbClick)=\"handleRowDbClick($event)\">\n <ax-index-column fixed=\"start\" [width]=\"'80px'\" [padZero]=\"true\"></ax-index-column>\n @if(vm.selectedScopeActionsCount()){\n <ax-select-column fixed=\"start\" [width]=\"'50px'\"></ax-select-column>\n } @for(col of vm.columns();track col.name) { @if(col.visible) {\n <axp-widget-column-renderer [expandHandler]=\"$index === 0 && vm.parentKey() ? true : false\"\n [caption]=\"(col.title | translate | async)!\" [node]=\"col.node()\"></axp-widget-column-renderer>\n } } @if(getCommandRowItems().length){\n\n <ax-command-column fixed=\"end\" [width]=\"getCommandRowItems().length * 60 + 'px'\" [items]=\"getCommandRowItems()\"\n (onItemClick)=\"handleRowCommandClick($event)\"></ax-command-column>\n\n } @if(dropdownRowItems().length){\n <ax-dropdown-command-column fixed=\"end\" [width]=\"'60px'\" [items]=\"getDropdownRowItems\"\n (onItemClick)=\"handleRowCommandClick($event)\"></ax-dropdown-command-column>\n }\n </ax-data-table>\n </div>\n </div>\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i4$1.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i4$1.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3$1.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: i3$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i4.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXActionSheetModule }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i7.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXDataTableModule }, { kind: "component", type: i8.AXDataTableComponent, selector: "ax-data-table", inputs: ["dataSource", "parentField", "rowTemplate", "emptyTemplate", "alternative", "showHeader", "fixedHeader", "showFooter", "fixedFooter", "itemHeight", "allowReordering", "paging", "fetchDataMode", "loading", "focusedRow"], outputs: ["selectedRowsChange", "focusedRowChange", "onRowClick", "onRowDbClick", "onColumnsOrderChanged", "onColumnSizeChanged", "onPageChanged"] }, { kind: "component", type: i8.AXRowIndexColumnComponent, selector: "ax-index-column", inputs: ["width", "caption", "fixed", "footerTemplate", "padZero"] }, { kind: "component", type: i8.AXRowSelectColumnComponent, selector: "ax-select-column", inputs: ["width", "caption", "fixed"] }, { kind: "component", type: i8.AXRowCommandColumnComponent, selector: "ax-command-column", inputs: ["width", "caption", "fixed", "footerTemplate", "items"], outputs: ["onItemClick"] }, { kind: "component", type: i8.AXRowDropdownCommandColumnComponent, selector: "ax-dropdown-command-column", inputs: ["width", "caption", "fixed", "footerTemplate", "items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type:
180
236
  //
181
237
  AXPLayoutBuilderModule }, { kind: "component", type: i6$1.AXPWidgetColumnRendererComponent, selector: "axp-widget-column-renderer", inputs: ["caption", "customExpandIcon", "customCollapseIcon", "customWidth", "node", "footerTemplate", "expandHandler", "cellTemplate", "headerTemplate"] }, { kind: "ngmodule", type: AXPWidgetsModule }, { kind: "ngmodule", type: AXPAuthModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
182
238
  }
@@ -207,7 +263,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
207
263
  AXPAuthModule,
208
264
  AXTranslationModule,
209
265
  ], template: "<div class=\"ax-flex ax-p-2\">\n <div class=\"ax-flex ax-flex-col ax-items-end ax-gap-3 ax-flex-1 ax-overflow-auto ax-min-h-72\">\n <div class=\"ax-flex ax-justify-between ax-items-center ax-w-full\">\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <div class=\"ax-flex ax-justify-start ax-items-center ax-gap-4\">\n @if(vm.hasSelectedItems()) {\n <div class=\"ax-flex ax-gap-3 ax-items-center ax-h-10\">\n <span class=\"ax-text-xl ax-font-bold\"> {{ vm.selectedItems().length }} {{ 't(\"itemsSelected\", { scope:\n \"common\" })' | translate | async }} </span>\n <span (click)=\"vm.clearSelection()\" class=\"ax-text-sm ax-text-primary-500 ax-underline ax-cursor-pointer\">{{\n 't(\"unselect\", { scope: \"common\" })' | translate | async }}</span>\n </div>\n\n } @else { @if(vm.hasInlineFilters() && !store.isSmall()) {\n <div class=\"ax-w-72\">\n <ax-search-box\n [placeholder]=\"('widget.lookup.search' | translate | async) + vm.inlineFiltersPlaceholders().join(', ')\"\n (onValueChanged)=\"handleChangeSearchValue($event)\"><ax-clear-button></ax-clear-button></ax-search-box>\n </div>\n } }\n </div>\n </div>\n <div class=\"ax-flex ax-items-center ax-gap-3\">\n @for(tr of vm.primaryActions();track $index) {\n <ax-button [text]=\"(tr.title | translate | async)!\" [color]=\"tr.color\" (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button>\n } @if(vm.secondaryActions().length) {\n <ax-button [text]=\"store.isSmall() ? null : ('actions' | translate | async)\" [color]=\"'default'\">\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n @for(tr of vm.secondaryActions();track $index) {\n <ng-container>\n @if(tr.separated && !$first) {\n <ax-divider></ax-divider>\n }\n <ax-button-item [text]=\"(tr.title | translate | async)!\" class=\"ax-font-semibold ax-text-{{ tr.color }}\"\n (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ng-container>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n </div>\n </div>\n\n <div class=\"ax-flex ax-flex-1 ax-pt-0 ax-overflow-auto\">\n <ax-data-table #grid [showFooter]=\"false\" class=\"ax-flex-1\" [paging]=\"true\" [fetchDataMode]=\"'manual'\"\n [parentField]=\"vm.parentKey()\" [loading]=\"{ enabled: true, animation: true }\" [dataSource]=\"vm.dataSource\"\n (selectedRowsChange)=\"handleSelectedRowsChange($event)\" (onRowDbClick)=\"handleRowDbClick($event)\">\n <ax-index-column fixed=\"start\" [width]=\"'80px'\" [padZero]=\"true\"></ax-index-column>\n @if(vm.selectedScopeActionsCount()){\n <ax-select-column fixed=\"start\" [width]=\"'50px'\"></ax-select-column>\n } @for(col of vm.columns();track col.name) { @if(col.visible) {\n <axp-widget-column-renderer [expandHandler]=\"$index === 0 && vm.parentKey() ? true : false\"\n [caption]=\"(col.title | translate | async)!\" [node]=\"col.node()\"></axp-widget-column-renderer>\n } } @if(getCommandRowItems().length){\n\n <ax-command-column fixed=\"end\" [width]=\"getCommandRowItems().length * 60 + 'px'\" [items]=\"getCommandRowItems()\"\n (onItemClick)=\"handleRowCommandClick($event)\"></ax-command-column>\n\n } @if(dropdownRowItems().length){\n <ax-dropdown-command-column fixed=\"end\" [width]=\"'60px'\" [items]=\"getDropdownRowItems\"\n (onItemClick)=\"handleRowCommandClick($event)\"></ax-dropdown-command-column>\n }\n </ax-data-table>\n </div>\n </div>\n</div>" }]
210
- }], ctorParameters: () => [{ type: i1$1.AXActionSheetService }, { type: i2$1.AXUnsubscriber }], propDecorators: { vm: [{
266
+ }], ctorParameters: () => [{ type: i1$1.AXActionSheetService }, { type: i2.AXUnsubscriber }], propDecorators: { vm: [{
211
267
  type: Input,
212
268
  args: ['viewModel']
213
269
  }], grid: [{
@@ -217,13 +273,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
217
273
 
218
274
  class AXPRootLayoutFooterComponent {
219
275
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRootLayoutFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
220
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPRootLayoutFooterComponent, isStandalone: false, selector: "axp-dashboard-admin-footer", host: { classAttribute: "ax-h-10 ax-flex ax-item-center ax-justify-between ax-bg-lighter ax-border-lighter ax-px-6 ax-border-t" }, providers: [], ngImport: i0, template: "<div class=\"ax-flex ax-items-center ax-justify-start ax-gap-1\">\n <axp-component-slot name=\"footer-start\"></axp-component-slot>\n</div>\n<div class=\"ax-flex ax-items-center ax-justify-end ax-gap-1\">\n <axp-component-slot name=\"footer-end\"></axp-component-slot>\n</div>", dependencies: [{ kind: "directive", type: i5$1.AXPComponentSlotDirective, selector: "axp-component-slot", inputs: ["name"] }], encapsulation: i0.ViewEncapsulation.None }); }
276
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPRootLayoutFooterComponent, isStandalone: true, selector: "axp-dashboard-admin-footer", host: { classAttribute: "ax-h-10 ax-flex ax-item-center ax-justify-between ax-bg-lighter ax-border-lighter ax-px-6 ax-border-t" }, providers: [], ngImport: i0, template: "<div class=\"ax-flex ax-items-center ax-justify-start ax-gap-1\">\n <axp-component-slot name=\"footer-start\"></axp-component-slot>\n</div>\n<div class=\"ax-flex ax-items-center ax-justify-end ax-gap-1\">\n <axp-component-slot name=\"footer-end\"></axp-component-slot>\n</div>", dependencies: [{ kind: "ngmodule", type: AXPComponentSlotModule }, { kind: "directive", type: i1$2.AXPComponentSlotDirective, selector: "axp-component-slot", inputs: ["name"] }], encapsulation: i0.ViewEncapsulation.None }); }
221
277
  }
222
278
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRootLayoutFooterComponent, decorators: [{
223
279
  type: Component,
224
280
  args: [{ selector: 'axp-dashboard-admin-footer', encapsulation: ViewEncapsulation.None, providers: [], host: {
225
281
  class: 'ax-h-10 ax-flex ax-item-center ax-justify-between ax-bg-lighter ax-border-lighter ax-px-6 ax-border-t',
226
- }, standalone: false, template: "<div class=\"ax-flex ax-items-center ax-justify-start ax-gap-1\">\n <axp-component-slot name=\"footer-start\"></axp-component-slot>\n</div>\n<div class=\"ax-flex ax-items-center ax-justify-end ax-gap-1\">\n <axp-component-slot name=\"footer-end\"></axp-component-slot>\n</div>" }]
282
+ }, standalone: true, imports: [
283
+ AXPComponentSlotModule
284
+ ], template: "<div class=\"ax-flex ax-items-center ax-justify-start ax-gap-1\">\n <axp-component-slot name=\"footer-start\"></axp-component-slot>\n</div>\n<div class=\"ax-flex ax-items-center ax-justify-end ax-gap-1\">\n <axp-component-slot name=\"footer-end\"></axp-component-slot>\n</div>" }]
227
285
  }] });
228
286
 
229
287
  class AXPRootLayoutHeaderComponent {
@@ -240,11 +298,15 @@ class AXPRootLayoutHeaderComponent {
240
298
  this.router.navigate(['/']);
241
299
  }
242
300
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRootLayoutHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
243
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPRootLayoutHeaderComponent, isStandalone: false, selector: "axp-dashboard-admin-header", host: { classAttribute: "ax-w-full ax-flex ax-items-center ax-justify-between ax-bg-brand ax-text-on-brand ax-h-14 ax-px-2" }, ngImport: i0, template: "<ax-button (onClick)=\"toggleSideMenu()\" color=\"primary\">\n <!-- <ax-icon class=\"fa-light \"\n [ngClass]=\"{ 'fa-bars': !store.isSideMenuOpen(),'fa-bars-sort':store.isSideMenuOpen() }\"></ax-icon> -->\n <ax-icon>\n <svg width=\"28\" height=\"28\" viewBox=\"0 0 30 30\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n @if(store.isSideMenuOpen())\n {\n <!-- <path d=\"M3 6H17\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M3 12H13\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M3 18H17\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M21 8L17 12L21 16\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" /> -->\n\n\n <defs>\n <clipPath id=\"clip1382_20239\">\n <rect id=\"\u6298\u53E0\u8FB9\u680F0730\" width=\"30.000000\" height=\"30.000000\" fill=\"white\" fill-opacity=\"0\"></rect>\n </clipPath>\n </defs>\n <rect id=\"\u6298\u53E0\u8FB9\u680F0730\" width=\"30.000000\" height=\"30.000000\" fill=\"#FFFFFF\" fill-opacity=\"0\"></rect>\n <g clip-path=\"url(#clip1382_20239)\">\n <rect id=\"rect\" x=\"17.420410\" y=\"12.316406\" rx=\"1.000947\" width=\"5.995172\" height=\"2.001895\"\n transform=\"rotate(137.159 17.420410 12.316406)\" fill=\"currentColor\" fill-opacity=\"1.000000\"></rect>\n <rect id=\"rect\" x=\"12.959473\" y=\"13.728516\" rx=\"0.995190\" width=\"6.002943\" height=\"1.990380\"\n transform=\"rotate(40.853 12.959473 13.728516)\" fill=\"currentColor\" fill-opacity=\"1.000000\"></rect>\n <path id=\"path\"\n d=\"M20.1 25.5L9.9 25.51C9.48 25.51 9.06 25.47 8.65 25.39C8.24 25.3 7.84 25.18 7.45 25.02C7.06 24.86 6.69 24.66 6.34 24.43C5.99 24.19 5.67 23.92 5.37 23.63C5.07 23.33 4.81 23 4.58 22.65C4.34 22.3 4.15 21.93 3.98 21.54C3.82 21.15 3.7 20.75 3.62 20.34C3.54 19.93 3.5 19.51 3.5 19.09L3.5 10.93C3.5 10.51 3.54 10.1 3.62 9.68C3.7 9.27 3.82 8.87 3.98 8.48C4.15 8.09 4.34 7.72 4.58 7.37C4.81 7.02 5.07 6.69 5.37 6.39C5.67 6.1 5.99 5.83 6.34 5.6C6.69 5.36 7.06 5.16 7.45 5C7.84 4.84 8.24 4.72 8.65 4.64C9.06 4.55 9.48 4.51 9.9 4.51L20.1 4.5C20.52 4.5 20.94 4.54 21.35 4.62C21.76 4.7 22.16 4.83 22.55 4.99C22.94 5.15 23.31 5.35 23.66 5.58C24 5.82 24.33 6.08 24.62 6.38C24.92 6.68 25.19 7 25.42 7.35C25.65 7.7 25.85 8.07 26.01 8.46C26.17 8.85 26.3 9.25 26.38 9.67C26.46 10.08 26.5 10.5 26.5 10.92L26.5 19.07C26.5 19.5 26.46 19.91 26.38 20.32C26.3 20.74 26.17 21.14 26.01 21.53C25.85 21.92 25.65 22.29 25.42 22.64C25.19 22.99 24.92 23.31 24.62 23.61C24.33 23.91 24 24.17 23.66 24.41C23.31 24.64 22.94 24.84 22.55 25C22.16 25.16 21.76 25.29 21.35 25.37C20.94 25.45 20.52 25.5 20.1 25.5ZM9.9 6.6C9.61 6.6 9.33 6.63 9.05 6.69C8.78 6.74 8.51 6.82 8.24 6.93C7.98 7.04 7.73 7.18 7.5 7.33C7.26 7.49 7.04 7.67 6.84 7.87C6.64 8.07 6.46 8.29 6.31 8.53C6.15 8.77 6.02 9.01 5.91 9.28C5.8 9.54 5.72 9.81 5.66 10.09C5.61 10.37 5.58 10.65 5.58 10.93L5.58 19.09C5.58 19.37 5.61 19.65 5.66 19.93C5.72 20.21 5.8 20.48 5.91 20.74C6.02 21.01 6.15 21.26 6.31 21.49C6.46 21.73 6.64 21.95 6.84 22.15C7.04 22.35 7.26 22.53 7.5 22.69C7.73 22.85 7.98 22.98 8.24 23.09C8.51 23.2 8.78 23.28 9.05 23.33C9.33 23.39 9.61 23.42 9.9 23.42L20.1 23.41C20.38 23.41 20.67 23.37 20.94 23.32C21.22 23.26 21.49 23.18 21.75 23.07C22.01 22.96 22.26 22.83 22.5 22.67C22.73 22.51 22.95 22.33 23.15 22.13C23.35 21.93 23.53 21.71 23.69 21.48C23.85 21.24 23.98 20.99 24.09 20.73C24.2 20.47 24.28 20.2 24.33 19.92C24.39 19.64 24.42 19.36 24.42 19.07L24.42 10.92C24.42 10.64 24.39 10.35 24.33 10.07C24.28 9.79 24.2 9.52 24.09 9.26C23.98 9 23.85 8.75 23.69 8.51C23.53 8.28 23.35 8.06 23.15 7.86C22.95 7.66 22.73 7.48 22.5 7.32C22.26 7.16 22.01 7.03 21.75 6.92C21.49 6.81 21.22 6.73 20.94 6.67C20.67 6.62 20.38 6.59 20.1 6.59L9.9 6.6Z\"\n fill=\"currentColor\" fill-opacity=\"1.000000\" fill-rule=\"nonzero\"></path>\n <path id=\"rect\" d=\"M8.5 5.51L10.54 5.51L10.6 24.43L8.55 24.43L8.5 5.51Z\" fill=\"currentColor\"\n fill-opacity=\"1.000000\" fill-rule=\"evenodd\"></path>\n </g>\n }\n @else {\n <!-- <path d=\"M3 12H15\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M3 6H13\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M3 18H13\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M17 8L21 12L17 16\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" /> -->\n\n <defs>\n <clipPath id=\"clip1381_20236\">\n <rect id=\"\u6253\u5F00\u8FB9\u680F0730\" width=\"30.000000\" height=\"30.000000\" fill=\"white\" fill-opacity=\"0\"></rect>\n </clipPath>\n </defs>\n <rect id=\"\u6253\u5F00\u8FB9\u680F0730\" width=\"30.000000\" height=\"30.000000\" fill=\"#FFFFFF\" fill-opacity=\"0\"></rect>\n <g clip-path=\"url(#clip1381_20236)\">\n <rect id=\"rect\" x=\"11.572754\" y=\"17.683594\" rx=\"1.000947\" width=\"5.995172\" height=\"2.001895\"\n transform=\"rotate(-42.841 11.572754 17.683594)\" fill=\"currentColor\" fill-opacity=\"1.000000\"></rect>\n <rect id=\"rect\" x=\"16.033691\" y=\"16.271484\" rx=\"0.995190\" width=\"6.002943\" height=\"1.990380\"\n transform=\"rotate(-139.147 16.033691 16.271484)\" fill=\"currentColor\" fill-opacity=\"1.000000\"></rect>\n <path id=\"path\"\n d=\"M20.09 25.48L9.89 25.5C9.47 25.5 9.05 25.45 8.64 25.37C8.23 25.29 7.83 25.17 7.44 25C7.05 24.84 6.68 24.64 6.33 24.41C5.98 24.18 5.66 23.91 5.36 23.61C5.07 23.31 4.8 22.99 4.57 22.64C4.34 22.29 4.14 21.92 3.98 21.53C3.82 21.14 3.69 20.74 3.61 20.32C3.53 19.91 3.49 19.49 3.49 19.07L3.49 10.92C3.49 10.5 3.53 10.08 3.61 9.67C3.69 9.25 3.82 8.85 3.98 8.46C4.14 8.07 4.34 7.7 4.57 7.35C4.8 7 5.07 6.68 5.36 6.38C5.66 6.08 5.98 5.81 6.33 5.58C6.68 5.35 7.05 5.15 7.44 4.99C7.83 4.82 8.23 4.7 8.64 4.62C9.05 4.54 9.47 4.5 9.89 4.5L20.09 4.48C20.51 4.48 20.93 4.52 21.34 4.6C21.75 4.69 22.15 4.81 22.54 4.97C22.93 5.13 23.3 5.33 23.65 5.57C24 5.8 24.32 6.06 24.62 6.36C24.92 6.66 25.18 6.98 25.41 7.33C25.65 7.69 25.84 8.06 26.01 8.45C26.17 8.84 26.29 9.24 26.37 9.65C26.45 10.06 26.49 10.48 26.5 10.91L26.5 19.06C26.49 19.48 26.45 19.89 26.37 20.31C26.29 20.72 26.17 21.12 26.01 21.51C25.84 21.9 25.65 22.27 25.41 22.62C25.18 22.97 24.92 23.3 24.62 23.6C24.32 23.89 24 24.16 23.65 24.39C23.3 24.63 22.93 24.83 22.54 24.99C22.15 25.15 21.75 25.27 21.34 25.35C20.93 25.44 20.51 25.48 20.09 25.48ZM9.89 6.59C9.61 6.59 9.32 6.62 9.05 6.67C8.77 6.73 8.5 6.81 8.24 6.92C7.98 7.03 7.73 7.16 7.49 7.32C7.26 7.48 7.04 7.66 6.84 7.86C6.64 8.06 6.46 8.28 6.3 8.51C6.14 8.75 6.01 9 5.9 9.26C5.79 9.52 5.71 9.8 5.66 10.07C5.6 10.35 5.57 10.63 5.57 10.92L5.57 19.07C5.57 19.36 5.6 19.64 5.66 19.92C5.71 20.19 5.79 20.47 5.9 20.73C6.01 20.99 6.14 21.24 6.3 21.48C6.46 21.71 6.64 21.93 6.84 22.13C7.04 22.33 7.26 22.51 7.49 22.67C7.73 22.83 7.98 22.96 8.24 23.07C8.5 23.18 8.77 23.26 9.05 23.32C9.32 23.37 9.61 23.4 9.89 23.4L20.09 23.39C20.38 23.39 20.66 23.36 20.94 23.3C21.21 23.25 21.48 23.17 21.75 23.06C22.01 22.95 22.26 22.81 22.49 22.66C22.73 22.5 22.95 22.32 23.15 22.12C23.35 21.91 23.52 21.7 23.68 21.46C23.84 21.22 23.97 20.98 24.08 20.71C24.19 20.45 24.27 20.18 24.33 19.9C24.38 19.62 24.41 19.34 24.41 19.06L24.41 10.91C24.41 10.62 24.38 10.34 24.33 10.06C24.27 9.78 24.19 9.51 24.08 9.25C23.97 8.98 23.84 8.74 23.68 8.5C23.52 8.26 23.35 8.04 23.15 7.84C22.95 7.64 22.73 7.46 22.49 7.3C22.26 7.15 22.01 7.01 21.75 6.9C21.48 6.79 21.21 6.71 20.94 6.66C20.66 6.6 20.38 6.57 20.09 6.57L9.89 6.59Z\"\n fill=\"currentColor\" fill-opacity=\"1.000000\" fill-rule=\"nonzero\"></path>\n <path id=\"rect\" d=\"M8.49 5.5L10.53 5.5L10.59 24.41L8.54 24.41L8.49 5.5Z\" fill=\"currentColor\"\n fill-opacity=\"1.000000\" fill-rule=\"evenodd\"></path>\n </g>\n }\n </svg>\n\n </ax-icon>\n\n</ax-button>\n<div class=\"ax-flex ax-items-center ax-gap-1 ax-justify-between ax-w-full\">\n <div class=\"ax-flex ax-items-center ax-gap-1 \">\n <axp-component-slot name=\"header-start\"></axp-component-slot>\n </div>\n <div class=\"ax-flex ax-items-center ax-gap-1 \">\n <axp-component-slot name=\"header-end\"></axp-component-slot>\n </div>\n</div>", dependencies: [{ kind: "component", type: i4$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i5.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "directive", type: i5$1.AXPComponentSlotDirective, selector: "axp-component-slot", inputs: ["name"] }], encapsulation: i0.ViewEncapsulation.None }); }
301
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPRootLayoutHeaderComponent, isStandalone: true, selector: "axp-dashboard-admin-header", host: { classAttribute: "ax-w-full ax-flex ax-items-center ax-justify-between ax-bg-primary-surface ax-text-primary-on-surface ax-h-14 ax-px-2 ax-light" }, ngImport: i0, template: "<ax-button (onClick)=\"toggleSideMenu()\" color=\"primary\">\n <!-- <ax-icon class=\"fa-light \"\n [ngClass]=\"{ 'fa-bars': !store.isSideMenuOpen(),'fa-bars-sort':store.isSideMenuOpen() }\"></ax-icon> -->\n <ax-icon>\n <svg width=\"28\" height=\"28\" viewBox=\"0 0 30 30\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n @if(store.isSideMenuOpen())\n {\n <!-- <path d=\"M3 6H17\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M3 12H13\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M3 18H17\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M21 8L17 12L21 16\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" /> -->\n\n\n <defs>\n <clipPath id=\"clip1382_20239\">\n <rect width=\"30.000000\" height=\"30.000000\" fill=\"white\" fill-opacity=\"0\"></rect>\n </clipPath>\n </defs>\n <rect width=\"30.000000\" height=\"30.000000\" fill=\"#FFFFFF\" fill-opacity=\"0\"></rect>\n <g clip-path=\"url(#clip1382_20239)\">\n <rect id=\"rect\" x=\"17.420410\" y=\"12.316406\" rx=\"1.000947\" width=\"5.995172\" height=\"2.001895\"\n transform=\"rotate(137.159 17.420410 12.316406)\" fill=\"currentColor\" fill-opacity=\"1.000000\"></rect>\n <rect id=\"rect\" x=\"12.959473\" y=\"13.728516\" rx=\"0.995190\" width=\"6.002943\" height=\"1.990380\"\n transform=\"rotate(40.853 12.959473 13.728516)\" fill=\"currentColor\" fill-opacity=\"1.000000\"></rect>\n <path id=\"path\"\n d=\"M20.1 25.5L9.9 25.51C9.48 25.51 9.06 25.47 8.65 25.39C8.24 25.3 7.84 25.18 7.45 25.02C7.06 24.86 6.69 24.66 6.34 24.43C5.99 24.19 5.67 23.92 5.37 23.63C5.07 23.33 4.81 23 4.58 22.65C4.34 22.3 4.15 21.93 3.98 21.54C3.82 21.15 3.7 20.75 3.62 20.34C3.54 19.93 3.5 19.51 3.5 19.09L3.5 10.93C3.5 10.51 3.54 10.1 3.62 9.68C3.7 9.27 3.82 8.87 3.98 8.48C4.15 8.09 4.34 7.72 4.58 7.37C4.81 7.02 5.07 6.69 5.37 6.39C5.67 6.1 5.99 5.83 6.34 5.6C6.69 5.36 7.06 5.16 7.45 5C7.84 4.84 8.24 4.72 8.65 4.64C9.06 4.55 9.48 4.51 9.9 4.51L20.1 4.5C20.52 4.5 20.94 4.54 21.35 4.62C21.76 4.7 22.16 4.83 22.55 4.99C22.94 5.15 23.31 5.35 23.66 5.58C24 5.82 24.33 6.08 24.62 6.38C24.92 6.68 25.19 7 25.42 7.35C25.65 7.7 25.85 8.07 26.01 8.46C26.17 8.85 26.3 9.25 26.38 9.67C26.46 10.08 26.5 10.5 26.5 10.92L26.5 19.07C26.5 19.5 26.46 19.91 26.38 20.32C26.3 20.74 26.17 21.14 26.01 21.53C25.85 21.92 25.65 22.29 25.42 22.64C25.19 22.99 24.92 23.31 24.62 23.61C24.33 23.91 24 24.17 23.66 24.41C23.31 24.64 22.94 24.84 22.55 25C22.16 25.16 21.76 25.29 21.35 25.37C20.94 25.45 20.52 25.5 20.1 25.5ZM9.9 6.6C9.61 6.6 9.33 6.63 9.05 6.69C8.78 6.74 8.51 6.82 8.24 6.93C7.98 7.04 7.73 7.18 7.5 7.33C7.26 7.49 7.04 7.67 6.84 7.87C6.64 8.07 6.46 8.29 6.31 8.53C6.15 8.77 6.02 9.01 5.91 9.28C5.8 9.54 5.72 9.81 5.66 10.09C5.61 10.37 5.58 10.65 5.58 10.93L5.58 19.09C5.58 19.37 5.61 19.65 5.66 19.93C5.72 20.21 5.8 20.48 5.91 20.74C6.02 21.01 6.15 21.26 6.31 21.49C6.46 21.73 6.64 21.95 6.84 22.15C7.04 22.35 7.26 22.53 7.5 22.69C7.73 22.85 7.98 22.98 8.24 23.09C8.51 23.2 8.78 23.28 9.05 23.33C9.33 23.39 9.61 23.42 9.9 23.42L20.1 23.41C20.38 23.41 20.67 23.37 20.94 23.32C21.22 23.26 21.49 23.18 21.75 23.07C22.01 22.96 22.26 22.83 22.5 22.67C22.73 22.51 22.95 22.33 23.15 22.13C23.35 21.93 23.53 21.71 23.69 21.48C23.85 21.24 23.98 20.99 24.09 20.73C24.2 20.47 24.28 20.2 24.33 19.92C24.39 19.64 24.42 19.36 24.42 19.07L24.42 10.92C24.42 10.64 24.39 10.35 24.33 10.07C24.28 9.79 24.2 9.52 24.09 9.26C23.98 9 23.85 8.75 23.69 8.51C23.53 8.28 23.35 8.06 23.15 7.86C22.95 7.66 22.73 7.48 22.5 7.32C22.26 7.16 22.01 7.03 21.75 6.92C21.49 6.81 21.22 6.73 20.94 6.67C20.67 6.62 20.38 6.59 20.1 6.59L9.9 6.6Z\"\n fill=\"currentColor\" fill-opacity=\"1.000000\" fill-rule=\"nonzero\"></path>\n <path id=\"rect\" d=\"M8.5 5.51L10.54 5.51L10.6 24.43L8.55 24.43L8.5 5.51Z\" fill=\"currentColor\"\n fill-opacity=\"1.000000\" fill-rule=\"evenodd\"></path>\n </g>\n }\n @else {\n <!-- <path d=\"M3 12H15\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M3 6H13\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M3 18H13\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M17 8L21 12L17 16\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" /> -->\n\n <defs>\n <clipPath id=\"clip1381_20236\">\n <rect id=\"\u6253\u5F00\u8FB9\u680F0730\" width=\"30.000000\" height=\"30.000000\" fill=\"white\" fill-opacity=\"0\"></rect>\n </clipPath>\n </defs>\n <rect id=\"\u6253\u5F00\u8FB9\u680F0730\" width=\"30.000000\" height=\"30.000000\" fill=\"#FFFFFF\" fill-opacity=\"0\"></rect>\n <g clip-path=\"url(#clip1381_20236)\">\n <rect id=\"rect\" x=\"11.572754\" y=\"17.683594\" rx=\"1.000947\" width=\"5.995172\" height=\"2.001895\"\n transform=\"rotate(-42.841 11.572754 17.683594)\" fill=\"currentColor\" fill-opacity=\"1.000000\"></rect>\n <rect id=\"rect\" x=\"16.033691\" y=\"16.271484\" rx=\"0.995190\" width=\"6.002943\" height=\"1.990380\"\n transform=\"rotate(-139.147 16.033691 16.271484)\" fill=\"currentColor\" fill-opacity=\"1.000000\"></rect>\n <path id=\"path\"\n d=\"M20.09 25.48L9.89 25.5C9.47 25.5 9.05 25.45 8.64 25.37C8.23 25.29 7.83 25.17 7.44 25C7.05 24.84 6.68 24.64 6.33 24.41C5.98 24.18 5.66 23.91 5.36 23.61C5.07 23.31 4.8 22.99 4.57 22.64C4.34 22.29 4.14 21.92 3.98 21.53C3.82 21.14 3.69 20.74 3.61 20.32C3.53 19.91 3.49 19.49 3.49 19.07L3.49 10.92C3.49 10.5 3.53 10.08 3.61 9.67C3.69 9.25 3.82 8.85 3.98 8.46C4.14 8.07 4.34 7.7 4.57 7.35C4.8 7 5.07 6.68 5.36 6.38C5.66 6.08 5.98 5.81 6.33 5.58C6.68 5.35 7.05 5.15 7.44 4.99C7.83 4.82 8.23 4.7 8.64 4.62C9.05 4.54 9.47 4.5 9.89 4.5L20.09 4.48C20.51 4.48 20.93 4.52 21.34 4.6C21.75 4.69 22.15 4.81 22.54 4.97C22.93 5.13 23.3 5.33 23.65 5.57C24 5.8 24.32 6.06 24.62 6.36C24.92 6.66 25.18 6.98 25.41 7.33C25.65 7.69 25.84 8.06 26.01 8.45C26.17 8.84 26.29 9.24 26.37 9.65C26.45 10.06 26.49 10.48 26.5 10.91L26.5 19.06C26.49 19.48 26.45 19.89 26.37 20.31C26.29 20.72 26.17 21.12 26.01 21.51C25.84 21.9 25.65 22.27 25.41 22.62C25.18 22.97 24.92 23.3 24.62 23.6C24.32 23.89 24 24.16 23.65 24.39C23.3 24.63 22.93 24.83 22.54 24.99C22.15 25.15 21.75 25.27 21.34 25.35C20.93 25.44 20.51 25.48 20.09 25.48ZM9.89 6.59C9.61 6.59 9.32 6.62 9.05 6.67C8.77 6.73 8.5 6.81 8.24 6.92C7.98 7.03 7.73 7.16 7.49 7.32C7.26 7.48 7.04 7.66 6.84 7.86C6.64 8.06 6.46 8.28 6.3 8.51C6.14 8.75 6.01 9 5.9 9.26C5.79 9.52 5.71 9.8 5.66 10.07C5.6 10.35 5.57 10.63 5.57 10.92L5.57 19.07C5.57 19.36 5.6 19.64 5.66 19.92C5.71 20.19 5.79 20.47 5.9 20.73C6.01 20.99 6.14 21.24 6.3 21.48C6.46 21.71 6.64 21.93 6.84 22.13C7.04 22.33 7.26 22.51 7.49 22.67C7.73 22.83 7.98 22.96 8.24 23.07C8.5 23.18 8.77 23.26 9.05 23.32C9.32 23.37 9.61 23.4 9.89 23.4L20.09 23.39C20.38 23.39 20.66 23.36 20.94 23.3C21.21 23.25 21.48 23.17 21.75 23.06C22.01 22.95 22.26 22.81 22.49 22.66C22.73 22.5 22.95 22.32 23.15 22.12C23.35 21.91 23.52 21.7 23.68 21.46C23.84 21.22 23.97 20.98 24.08 20.71C24.19 20.45 24.27 20.18 24.33 19.9C24.38 19.62 24.41 19.34 24.41 19.06L24.41 10.91C24.41 10.62 24.38 10.34 24.33 10.06C24.27 9.78 24.19 9.51 24.08 9.25C23.97 8.98 23.84 8.74 23.68 8.5C23.52 8.26 23.35 8.04 23.15 7.84C22.95 7.64 22.73 7.46 22.49 7.3C22.26 7.15 22.01 7.01 21.75 6.9C21.48 6.79 21.21 6.71 20.94 6.66C20.66 6.6 20.38 6.57 20.09 6.57L9.89 6.59Z\"\n fill=\"currentColor\" fill-opacity=\"1.000000\" fill-rule=\"nonzero\"></path>\n <path id=\"rect\" d=\"M8.49 5.5L10.53 5.5L10.59 24.41L8.54 24.41L8.49 5.5Z\" fill=\"currentColor\"\n fill-opacity=\"1.000000\" fill-rule=\"evenodd\"></path>\n </g>\n }\n </svg>\n\n </ax-icon>\n\n</ax-button>\n<div class=\"ax-flex ax-items-center ax-gap-1 ax-justify-between ax-w-full\">\n <div class=\"ax-flex ax-items-center ax-gap-1 \">\n <axp-component-slot name=\"header-start\"></axp-component-slot>\n </div>\n <div class=\"ax-flex ax-items-center ax-gap-1 \">\n <axp-component-slot name=\"header-end\"></axp-component-slot>\n </div>\n</div>", dependencies: [{ kind: "ngmodule", type: AXPComponentSlotModule }, { kind: "directive", type: i1$2.AXPComponentSlotDirective, selector: "axp-component-slot", inputs: ["name"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], encapsulation: i0.ViewEncapsulation.None }); }
244
302
  }
245
303
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRootLayoutHeaderComponent, decorators: [{
246
304
  type: Component,
247
- args: [{ selector: 'axp-dashboard-admin-header', encapsulation: ViewEncapsulation.None, host: { class: 'ax-w-full ax-flex ax-items-center ax-justify-between ax-bg-brand ax-text-on-brand ax-h-14 ax-px-2' }, standalone: false, template: "<ax-button (onClick)=\"toggleSideMenu()\" color=\"primary\">\n <!-- <ax-icon class=\"fa-light \"\n [ngClass]=\"{ 'fa-bars': !store.isSideMenuOpen(),'fa-bars-sort':store.isSideMenuOpen() }\"></ax-icon> -->\n <ax-icon>\n <svg width=\"28\" height=\"28\" viewBox=\"0 0 30 30\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n @if(store.isSideMenuOpen())\n {\n <!-- <path d=\"M3 6H17\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M3 12H13\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M3 18H17\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M21 8L17 12L21 16\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" /> -->\n\n\n <defs>\n <clipPath id=\"clip1382_20239\">\n <rect id=\"\u6298\u53E0\u8FB9\u680F0730\" width=\"30.000000\" height=\"30.000000\" fill=\"white\" fill-opacity=\"0\"></rect>\n </clipPath>\n </defs>\n <rect id=\"\u6298\u53E0\u8FB9\u680F0730\" width=\"30.000000\" height=\"30.000000\" fill=\"#FFFFFF\" fill-opacity=\"0\"></rect>\n <g clip-path=\"url(#clip1382_20239)\">\n <rect id=\"rect\" x=\"17.420410\" y=\"12.316406\" rx=\"1.000947\" width=\"5.995172\" height=\"2.001895\"\n transform=\"rotate(137.159 17.420410 12.316406)\" fill=\"currentColor\" fill-opacity=\"1.000000\"></rect>\n <rect id=\"rect\" x=\"12.959473\" y=\"13.728516\" rx=\"0.995190\" width=\"6.002943\" height=\"1.990380\"\n transform=\"rotate(40.853 12.959473 13.728516)\" fill=\"currentColor\" fill-opacity=\"1.000000\"></rect>\n <path id=\"path\"\n d=\"M20.1 25.5L9.9 25.51C9.48 25.51 9.06 25.47 8.65 25.39C8.24 25.3 7.84 25.18 7.45 25.02C7.06 24.86 6.69 24.66 6.34 24.43C5.99 24.19 5.67 23.92 5.37 23.63C5.07 23.33 4.81 23 4.58 22.65C4.34 22.3 4.15 21.93 3.98 21.54C3.82 21.15 3.7 20.75 3.62 20.34C3.54 19.93 3.5 19.51 3.5 19.09L3.5 10.93C3.5 10.51 3.54 10.1 3.62 9.68C3.7 9.27 3.82 8.87 3.98 8.48C4.15 8.09 4.34 7.72 4.58 7.37C4.81 7.02 5.07 6.69 5.37 6.39C5.67 6.1 5.99 5.83 6.34 5.6C6.69 5.36 7.06 5.16 7.45 5C7.84 4.84 8.24 4.72 8.65 4.64C9.06 4.55 9.48 4.51 9.9 4.51L20.1 4.5C20.52 4.5 20.94 4.54 21.35 4.62C21.76 4.7 22.16 4.83 22.55 4.99C22.94 5.15 23.31 5.35 23.66 5.58C24 5.82 24.33 6.08 24.62 6.38C24.92 6.68 25.19 7 25.42 7.35C25.65 7.7 25.85 8.07 26.01 8.46C26.17 8.85 26.3 9.25 26.38 9.67C26.46 10.08 26.5 10.5 26.5 10.92L26.5 19.07C26.5 19.5 26.46 19.91 26.38 20.32C26.3 20.74 26.17 21.14 26.01 21.53C25.85 21.92 25.65 22.29 25.42 22.64C25.19 22.99 24.92 23.31 24.62 23.61C24.33 23.91 24 24.17 23.66 24.41C23.31 24.64 22.94 24.84 22.55 25C22.16 25.16 21.76 25.29 21.35 25.37C20.94 25.45 20.52 25.5 20.1 25.5ZM9.9 6.6C9.61 6.6 9.33 6.63 9.05 6.69C8.78 6.74 8.51 6.82 8.24 6.93C7.98 7.04 7.73 7.18 7.5 7.33C7.26 7.49 7.04 7.67 6.84 7.87C6.64 8.07 6.46 8.29 6.31 8.53C6.15 8.77 6.02 9.01 5.91 9.28C5.8 9.54 5.72 9.81 5.66 10.09C5.61 10.37 5.58 10.65 5.58 10.93L5.58 19.09C5.58 19.37 5.61 19.65 5.66 19.93C5.72 20.21 5.8 20.48 5.91 20.74C6.02 21.01 6.15 21.26 6.31 21.49C6.46 21.73 6.64 21.95 6.84 22.15C7.04 22.35 7.26 22.53 7.5 22.69C7.73 22.85 7.98 22.98 8.24 23.09C8.51 23.2 8.78 23.28 9.05 23.33C9.33 23.39 9.61 23.42 9.9 23.42L20.1 23.41C20.38 23.41 20.67 23.37 20.94 23.32C21.22 23.26 21.49 23.18 21.75 23.07C22.01 22.96 22.26 22.83 22.5 22.67C22.73 22.51 22.95 22.33 23.15 22.13C23.35 21.93 23.53 21.71 23.69 21.48C23.85 21.24 23.98 20.99 24.09 20.73C24.2 20.47 24.28 20.2 24.33 19.92C24.39 19.64 24.42 19.36 24.42 19.07L24.42 10.92C24.42 10.64 24.39 10.35 24.33 10.07C24.28 9.79 24.2 9.52 24.09 9.26C23.98 9 23.85 8.75 23.69 8.51C23.53 8.28 23.35 8.06 23.15 7.86C22.95 7.66 22.73 7.48 22.5 7.32C22.26 7.16 22.01 7.03 21.75 6.92C21.49 6.81 21.22 6.73 20.94 6.67C20.67 6.62 20.38 6.59 20.1 6.59L9.9 6.6Z\"\n fill=\"currentColor\" fill-opacity=\"1.000000\" fill-rule=\"nonzero\"></path>\n <path id=\"rect\" d=\"M8.5 5.51L10.54 5.51L10.6 24.43L8.55 24.43L8.5 5.51Z\" fill=\"currentColor\"\n fill-opacity=\"1.000000\" fill-rule=\"evenodd\"></path>\n </g>\n }\n @else {\n <!-- <path d=\"M3 12H15\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M3 6H13\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M3 18H13\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M17 8L21 12L17 16\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" /> -->\n\n <defs>\n <clipPath id=\"clip1381_20236\">\n <rect id=\"\u6253\u5F00\u8FB9\u680F0730\" width=\"30.000000\" height=\"30.000000\" fill=\"white\" fill-opacity=\"0\"></rect>\n </clipPath>\n </defs>\n <rect id=\"\u6253\u5F00\u8FB9\u680F0730\" width=\"30.000000\" height=\"30.000000\" fill=\"#FFFFFF\" fill-opacity=\"0\"></rect>\n <g clip-path=\"url(#clip1381_20236)\">\n <rect id=\"rect\" x=\"11.572754\" y=\"17.683594\" rx=\"1.000947\" width=\"5.995172\" height=\"2.001895\"\n transform=\"rotate(-42.841 11.572754 17.683594)\" fill=\"currentColor\" fill-opacity=\"1.000000\"></rect>\n <rect id=\"rect\" x=\"16.033691\" y=\"16.271484\" rx=\"0.995190\" width=\"6.002943\" height=\"1.990380\"\n transform=\"rotate(-139.147 16.033691 16.271484)\" fill=\"currentColor\" fill-opacity=\"1.000000\"></rect>\n <path id=\"path\"\n d=\"M20.09 25.48L9.89 25.5C9.47 25.5 9.05 25.45 8.64 25.37C8.23 25.29 7.83 25.17 7.44 25C7.05 24.84 6.68 24.64 6.33 24.41C5.98 24.18 5.66 23.91 5.36 23.61C5.07 23.31 4.8 22.99 4.57 22.64C4.34 22.29 4.14 21.92 3.98 21.53C3.82 21.14 3.69 20.74 3.61 20.32C3.53 19.91 3.49 19.49 3.49 19.07L3.49 10.92C3.49 10.5 3.53 10.08 3.61 9.67C3.69 9.25 3.82 8.85 3.98 8.46C4.14 8.07 4.34 7.7 4.57 7.35C4.8 7 5.07 6.68 5.36 6.38C5.66 6.08 5.98 5.81 6.33 5.58C6.68 5.35 7.05 5.15 7.44 4.99C7.83 4.82 8.23 4.7 8.64 4.62C9.05 4.54 9.47 4.5 9.89 4.5L20.09 4.48C20.51 4.48 20.93 4.52 21.34 4.6C21.75 4.69 22.15 4.81 22.54 4.97C22.93 5.13 23.3 5.33 23.65 5.57C24 5.8 24.32 6.06 24.62 6.36C24.92 6.66 25.18 6.98 25.41 7.33C25.65 7.69 25.84 8.06 26.01 8.45C26.17 8.84 26.29 9.24 26.37 9.65C26.45 10.06 26.49 10.48 26.5 10.91L26.5 19.06C26.49 19.48 26.45 19.89 26.37 20.31C26.29 20.72 26.17 21.12 26.01 21.51C25.84 21.9 25.65 22.27 25.41 22.62C25.18 22.97 24.92 23.3 24.62 23.6C24.32 23.89 24 24.16 23.65 24.39C23.3 24.63 22.93 24.83 22.54 24.99C22.15 25.15 21.75 25.27 21.34 25.35C20.93 25.44 20.51 25.48 20.09 25.48ZM9.89 6.59C9.61 6.59 9.32 6.62 9.05 6.67C8.77 6.73 8.5 6.81 8.24 6.92C7.98 7.03 7.73 7.16 7.49 7.32C7.26 7.48 7.04 7.66 6.84 7.86C6.64 8.06 6.46 8.28 6.3 8.51C6.14 8.75 6.01 9 5.9 9.26C5.79 9.52 5.71 9.8 5.66 10.07C5.6 10.35 5.57 10.63 5.57 10.92L5.57 19.07C5.57 19.36 5.6 19.64 5.66 19.92C5.71 20.19 5.79 20.47 5.9 20.73C6.01 20.99 6.14 21.24 6.3 21.48C6.46 21.71 6.64 21.93 6.84 22.13C7.04 22.33 7.26 22.51 7.49 22.67C7.73 22.83 7.98 22.96 8.24 23.07C8.5 23.18 8.77 23.26 9.05 23.32C9.32 23.37 9.61 23.4 9.89 23.4L20.09 23.39C20.38 23.39 20.66 23.36 20.94 23.3C21.21 23.25 21.48 23.17 21.75 23.06C22.01 22.95 22.26 22.81 22.49 22.66C22.73 22.5 22.95 22.32 23.15 22.12C23.35 21.91 23.52 21.7 23.68 21.46C23.84 21.22 23.97 20.98 24.08 20.71C24.19 20.45 24.27 20.18 24.33 19.9C24.38 19.62 24.41 19.34 24.41 19.06L24.41 10.91C24.41 10.62 24.38 10.34 24.33 10.06C24.27 9.78 24.19 9.51 24.08 9.25C23.97 8.98 23.84 8.74 23.68 8.5C23.52 8.26 23.35 8.04 23.15 7.84C22.95 7.64 22.73 7.46 22.49 7.3C22.26 7.15 22.01 7.01 21.75 6.9C21.48 6.79 21.21 6.71 20.94 6.66C20.66 6.6 20.38 6.57 20.09 6.57L9.89 6.59Z\"\n fill=\"currentColor\" fill-opacity=\"1.000000\" fill-rule=\"nonzero\"></path>\n <path id=\"rect\" d=\"M8.49 5.5L10.53 5.5L10.59 24.41L8.54 24.41L8.49 5.5Z\" fill=\"currentColor\"\n fill-opacity=\"1.000000\" fill-rule=\"evenodd\"></path>\n </g>\n }\n </svg>\n\n </ax-icon>\n\n</ax-button>\n<div class=\"ax-flex ax-items-center ax-gap-1 ax-justify-between ax-w-full\">\n <div class=\"ax-flex ax-items-center ax-gap-1 \">\n <axp-component-slot name=\"header-start\"></axp-component-slot>\n </div>\n <div class=\"ax-flex ax-items-center ax-gap-1 \">\n <axp-component-slot name=\"header-end\"></axp-component-slot>\n </div>\n</div>" }]
305
+ args: [{ selector: 'axp-dashboard-admin-header', encapsulation: ViewEncapsulation.None, host: { class: 'ax-w-full ax-flex ax-items-center ax-justify-between ax-bg-primary-surface ax-text-primary-on-surface ax-h-14 ax-px-2 ax-light' }, standalone: true, imports: [
306
+ AXPComponentSlotModule,
307
+ AXButtonModule,
308
+ AXDecoratorModule
309
+ ], template: "<ax-button (onClick)=\"toggleSideMenu()\" color=\"primary\">\n <!-- <ax-icon class=\"fa-light \"\n [ngClass]=\"{ 'fa-bars': !store.isSideMenuOpen(),'fa-bars-sort':store.isSideMenuOpen() }\"></ax-icon> -->\n <ax-icon>\n <svg width=\"28\" height=\"28\" viewBox=\"0 0 30 30\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n @if(store.isSideMenuOpen())\n {\n <!-- <path d=\"M3 6H17\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M3 12H13\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M3 18H17\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M21 8L17 12L21 16\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" /> -->\n\n\n <defs>\n <clipPath id=\"clip1382_20239\">\n <rect width=\"30.000000\" height=\"30.000000\" fill=\"white\" fill-opacity=\"0\"></rect>\n </clipPath>\n </defs>\n <rect width=\"30.000000\" height=\"30.000000\" fill=\"#FFFFFF\" fill-opacity=\"0\"></rect>\n <g clip-path=\"url(#clip1382_20239)\">\n <rect id=\"rect\" x=\"17.420410\" y=\"12.316406\" rx=\"1.000947\" width=\"5.995172\" height=\"2.001895\"\n transform=\"rotate(137.159 17.420410 12.316406)\" fill=\"currentColor\" fill-opacity=\"1.000000\"></rect>\n <rect id=\"rect\" x=\"12.959473\" y=\"13.728516\" rx=\"0.995190\" width=\"6.002943\" height=\"1.990380\"\n transform=\"rotate(40.853 12.959473 13.728516)\" fill=\"currentColor\" fill-opacity=\"1.000000\"></rect>\n <path id=\"path\"\n d=\"M20.1 25.5L9.9 25.51C9.48 25.51 9.06 25.47 8.65 25.39C8.24 25.3 7.84 25.18 7.45 25.02C7.06 24.86 6.69 24.66 6.34 24.43C5.99 24.19 5.67 23.92 5.37 23.63C5.07 23.33 4.81 23 4.58 22.65C4.34 22.3 4.15 21.93 3.98 21.54C3.82 21.15 3.7 20.75 3.62 20.34C3.54 19.93 3.5 19.51 3.5 19.09L3.5 10.93C3.5 10.51 3.54 10.1 3.62 9.68C3.7 9.27 3.82 8.87 3.98 8.48C4.15 8.09 4.34 7.72 4.58 7.37C4.81 7.02 5.07 6.69 5.37 6.39C5.67 6.1 5.99 5.83 6.34 5.6C6.69 5.36 7.06 5.16 7.45 5C7.84 4.84 8.24 4.72 8.65 4.64C9.06 4.55 9.48 4.51 9.9 4.51L20.1 4.5C20.52 4.5 20.94 4.54 21.35 4.62C21.76 4.7 22.16 4.83 22.55 4.99C22.94 5.15 23.31 5.35 23.66 5.58C24 5.82 24.33 6.08 24.62 6.38C24.92 6.68 25.19 7 25.42 7.35C25.65 7.7 25.85 8.07 26.01 8.46C26.17 8.85 26.3 9.25 26.38 9.67C26.46 10.08 26.5 10.5 26.5 10.92L26.5 19.07C26.5 19.5 26.46 19.91 26.38 20.32C26.3 20.74 26.17 21.14 26.01 21.53C25.85 21.92 25.65 22.29 25.42 22.64C25.19 22.99 24.92 23.31 24.62 23.61C24.33 23.91 24 24.17 23.66 24.41C23.31 24.64 22.94 24.84 22.55 25C22.16 25.16 21.76 25.29 21.35 25.37C20.94 25.45 20.52 25.5 20.1 25.5ZM9.9 6.6C9.61 6.6 9.33 6.63 9.05 6.69C8.78 6.74 8.51 6.82 8.24 6.93C7.98 7.04 7.73 7.18 7.5 7.33C7.26 7.49 7.04 7.67 6.84 7.87C6.64 8.07 6.46 8.29 6.31 8.53C6.15 8.77 6.02 9.01 5.91 9.28C5.8 9.54 5.72 9.81 5.66 10.09C5.61 10.37 5.58 10.65 5.58 10.93L5.58 19.09C5.58 19.37 5.61 19.65 5.66 19.93C5.72 20.21 5.8 20.48 5.91 20.74C6.02 21.01 6.15 21.26 6.31 21.49C6.46 21.73 6.64 21.95 6.84 22.15C7.04 22.35 7.26 22.53 7.5 22.69C7.73 22.85 7.98 22.98 8.24 23.09C8.51 23.2 8.78 23.28 9.05 23.33C9.33 23.39 9.61 23.42 9.9 23.42L20.1 23.41C20.38 23.41 20.67 23.37 20.94 23.32C21.22 23.26 21.49 23.18 21.75 23.07C22.01 22.96 22.26 22.83 22.5 22.67C22.73 22.51 22.95 22.33 23.15 22.13C23.35 21.93 23.53 21.71 23.69 21.48C23.85 21.24 23.98 20.99 24.09 20.73C24.2 20.47 24.28 20.2 24.33 19.92C24.39 19.64 24.42 19.36 24.42 19.07L24.42 10.92C24.42 10.64 24.39 10.35 24.33 10.07C24.28 9.79 24.2 9.52 24.09 9.26C23.98 9 23.85 8.75 23.69 8.51C23.53 8.28 23.35 8.06 23.15 7.86C22.95 7.66 22.73 7.48 22.5 7.32C22.26 7.16 22.01 7.03 21.75 6.92C21.49 6.81 21.22 6.73 20.94 6.67C20.67 6.62 20.38 6.59 20.1 6.59L9.9 6.6Z\"\n fill=\"currentColor\" fill-opacity=\"1.000000\" fill-rule=\"nonzero\"></path>\n <path id=\"rect\" d=\"M8.5 5.51L10.54 5.51L10.6 24.43L8.55 24.43L8.5 5.51Z\" fill=\"currentColor\"\n fill-opacity=\"1.000000\" fill-rule=\"evenodd\"></path>\n </g>\n }\n @else {\n <!-- <path d=\"M3 12H15\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M3 6H13\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M3 18H13\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path d=\"M17 8L21 12L17 16\" stroke=\"#FFF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" /> -->\n\n <defs>\n <clipPath id=\"clip1381_20236\">\n <rect id=\"\u6253\u5F00\u8FB9\u680F0730\" width=\"30.000000\" height=\"30.000000\" fill=\"white\" fill-opacity=\"0\"></rect>\n </clipPath>\n </defs>\n <rect id=\"\u6253\u5F00\u8FB9\u680F0730\" width=\"30.000000\" height=\"30.000000\" fill=\"#FFFFFF\" fill-opacity=\"0\"></rect>\n <g clip-path=\"url(#clip1381_20236)\">\n <rect id=\"rect\" x=\"11.572754\" y=\"17.683594\" rx=\"1.000947\" width=\"5.995172\" height=\"2.001895\"\n transform=\"rotate(-42.841 11.572754 17.683594)\" fill=\"currentColor\" fill-opacity=\"1.000000\"></rect>\n <rect id=\"rect\" x=\"16.033691\" y=\"16.271484\" rx=\"0.995190\" width=\"6.002943\" height=\"1.990380\"\n transform=\"rotate(-139.147 16.033691 16.271484)\" fill=\"currentColor\" fill-opacity=\"1.000000\"></rect>\n <path id=\"path\"\n d=\"M20.09 25.48L9.89 25.5C9.47 25.5 9.05 25.45 8.64 25.37C8.23 25.29 7.83 25.17 7.44 25C7.05 24.84 6.68 24.64 6.33 24.41C5.98 24.18 5.66 23.91 5.36 23.61C5.07 23.31 4.8 22.99 4.57 22.64C4.34 22.29 4.14 21.92 3.98 21.53C3.82 21.14 3.69 20.74 3.61 20.32C3.53 19.91 3.49 19.49 3.49 19.07L3.49 10.92C3.49 10.5 3.53 10.08 3.61 9.67C3.69 9.25 3.82 8.85 3.98 8.46C4.14 8.07 4.34 7.7 4.57 7.35C4.8 7 5.07 6.68 5.36 6.38C5.66 6.08 5.98 5.81 6.33 5.58C6.68 5.35 7.05 5.15 7.44 4.99C7.83 4.82 8.23 4.7 8.64 4.62C9.05 4.54 9.47 4.5 9.89 4.5L20.09 4.48C20.51 4.48 20.93 4.52 21.34 4.6C21.75 4.69 22.15 4.81 22.54 4.97C22.93 5.13 23.3 5.33 23.65 5.57C24 5.8 24.32 6.06 24.62 6.36C24.92 6.66 25.18 6.98 25.41 7.33C25.65 7.69 25.84 8.06 26.01 8.45C26.17 8.84 26.29 9.24 26.37 9.65C26.45 10.06 26.49 10.48 26.5 10.91L26.5 19.06C26.49 19.48 26.45 19.89 26.37 20.31C26.29 20.72 26.17 21.12 26.01 21.51C25.84 21.9 25.65 22.27 25.41 22.62C25.18 22.97 24.92 23.3 24.62 23.6C24.32 23.89 24 24.16 23.65 24.39C23.3 24.63 22.93 24.83 22.54 24.99C22.15 25.15 21.75 25.27 21.34 25.35C20.93 25.44 20.51 25.48 20.09 25.48ZM9.89 6.59C9.61 6.59 9.32 6.62 9.05 6.67C8.77 6.73 8.5 6.81 8.24 6.92C7.98 7.03 7.73 7.16 7.49 7.32C7.26 7.48 7.04 7.66 6.84 7.86C6.64 8.06 6.46 8.28 6.3 8.51C6.14 8.75 6.01 9 5.9 9.26C5.79 9.52 5.71 9.8 5.66 10.07C5.6 10.35 5.57 10.63 5.57 10.92L5.57 19.07C5.57 19.36 5.6 19.64 5.66 19.92C5.71 20.19 5.79 20.47 5.9 20.73C6.01 20.99 6.14 21.24 6.3 21.48C6.46 21.71 6.64 21.93 6.84 22.13C7.04 22.33 7.26 22.51 7.49 22.67C7.73 22.83 7.98 22.96 8.24 23.07C8.5 23.18 8.77 23.26 9.05 23.32C9.32 23.37 9.61 23.4 9.89 23.4L20.09 23.39C20.38 23.39 20.66 23.36 20.94 23.3C21.21 23.25 21.48 23.17 21.75 23.06C22.01 22.95 22.26 22.81 22.49 22.66C22.73 22.5 22.95 22.32 23.15 22.12C23.35 21.91 23.52 21.7 23.68 21.46C23.84 21.22 23.97 20.98 24.08 20.71C24.19 20.45 24.27 20.18 24.33 19.9C24.38 19.62 24.41 19.34 24.41 19.06L24.41 10.91C24.41 10.62 24.38 10.34 24.33 10.06C24.27 9.78 24.19 9.51 24.08 9.25C23.97 8.98 23.84 8.74 23.68 8.5C23.52 8.26 23.35 8.04 23.15 7.84C22.95 7.64 22.73 7.46 22.49 7.3C22.26 7.15 22.01 7.01 21.75 6.9C21.48 6.79 21.21 6.71 20.94 6.66C20.66 6.6 20.38 6.57 20.09 6.57L9.89 6.59Z\"\n fill=\"currentColor\" fill-opacity=\"1.000000\" fill-rule=\"nonzero\"></path>\n <path id=\"rect\" d=\"M8.49 5.5L10.53 5.5L10.59 24.41L8.54 24.41L8.49 5.5Z\" fill=\"currentColor\"\n fill-opacity=\"1.000000\" fill-rule=\"evenodd\"></path>\n </g>\n }\n </svg>\n\n </ax-icon>\n\n</ax-button>\n<div class=\"ax-flex ax-items-center ax-gap-1 ax-justify-between ax-w-full\">\n <div class=\"ax-flex ax-items-center ax-gap-1 \">\n <axp-component-slot name=\"header-start\"></axp-component-slot>\n </div>\n <div class=\"ax-flex ax-items-center ax-gap-1 \">\n <axp-component-slot name=\"header-end\"></axp-component-slot>\n </div>\n</div>" }]
248
310
  }] });
249
311
 
250
312
  class AXPRootLayoutMenuComponent {
@@ -257,36 +319,60 @@ class AXPRootLayoutMenuComponent {
257
319
  this.menuStore.executeCommand(item);
258
320
  }
259
321
  }
260
- ngOnInit() {
261
- // Select the menu item based on the current route when the page loads
262
- this.menuStore.selectMenuItemByRoute(this.router.url);
263
- // Update the selected menu item whenever the route changes
264
- this.router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe((event) => {
265
- this.menuStore.selectMenuItemByRoute(event.urlAfterRedirects);
266
- });
267
- }
268
322
  sort(items) {
269
323
  return sortBy(items, [c => c.priority ?? 0, c => c.text]);
270
324
  }
271
325
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRootLayoutMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
272
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPRootLayoutMenuComponent, isStandalone: false, selector: "axp-root-menu", ngImport: i0, template: "<ax-side-menu look=\"pills\">\n <ng-container *ngFor=\"let item of sort(menuStore.items())\" [ngTemplateOutlet]=\"recursiveMenu\"\n [ngTemplateOutletContext]=\"{ item: item }\">\n </ng-container>\n</ax-side-menu>\n\n<ng-template #recursiveMenu let-item=\"item\">\n @if(item.type=='group') {\n <ax-title *permission=\"item.data?.requiredPermission\">{{ item.text | translate | async }}</ax-title>\n }\n @else if(item.type=='break') {\n <ax-divider></ax-divider>\n }\n @else {\n <ax-side-menu-item *permission=\"item.data?.requiredPermission\" (onClick)=\"onMenuItemClick( item)\"\n [active]=\"item ===menuStore.selectedMenuItem().item\" [isCollapsed]=\"!menuStore.isItemOpen(item)\">\n <ax-prefix>\n <ax-icon [class]=\"item.icon\" class=\"fa-fw\"></ax-icon>\n </ax-prefix>\n <span>{{ item.text | translate | async }}</span>\n <ng-container *ngIf=\"item.children?.length\">\n <ng-container *ngFor=\"let child of sort(item.children)\" [ngTemplateOutlet]=\"recursiveMenu\"\n [ngTemplateOutletContext]=\"{ item: child }\">\n </ng-container>\n </ng-container>\n </ax-side-menu-item>\n }\n</ng-template>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i5.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: "component", type: i3.AXSideMenuComponent, selector: "ax-side-menu", inputs: ["items", "look", "location"], outputs: ["itemsChange"] }, { kind: "component", type: i3.AXSideMenuItemComponent, selector: "ax-side-menu-item", inputs: ["disabled", "text", "active", "isLoading", "isCollapsed", "href", "routerLink", "routerLinkActive", "routerLinkActiveOptions", "target"], outputs: ["textChange", "activeChange", "isLoadingChange", "isCollapsedChange", "onClick"] }, { kind: "directive", type: i4$2.AXPPermissionDirective, selector: "[permission]", inputs: ["permission", "permissionElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
326
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPRootLayoutMenuComponent, isStandalone: true, selector: "axp-side-menu", ngImport: i0, template: "<ax-side-menu look=\"pills\">\n <ng-container *ngFor=\"let item of sort(menuStore.items())\" [ngTemplateOutlet]=\"recursiveMenu\"\n [ngTemplateOutletContext]=\"{ item: item }\">\n </ng-container>\n</ax-side-menu>\n<ng-template #recursiveMenu let-item=\"item\">\n @if(item.type=='group') {\n <ax-title *permission=\"item.data?.requiredPermission\">{{ item.text | translate | async }}</ax-title>\n }\n @else if(item.type=='break') {\n <ax-divider></ax-divider>\n }\n @else {\n <ax-side-menu-item *permission=\"item.data?.requiredPermission\" (onClick)=\"onMenuItemClick( item)\"\n [active]=\"item ===menuStore.selectedMenuItem().item\" [isCollapsed]=\"!menuStore.isItemOpen(item)\">\n <ax-prefix>\n <ax-icon [class]=\"item.icon\" class=\"fa-fw\"></ax-icon>\n </ax-prefix>\n <span>{{ item.text | translate | async }}</span>\n <ng-container *ngIf=\"item.children?.length\">\n <ng-container *ngFor=\"let child of sort(item.children)\" [ngTemplateOutlet]=\"recursiveMenu\"\n [ngTemplateOutletContext]=\"{ item: child }\">\n </ng-container>\n </ng-container>\n </ax-side-menu-item>\n }\n</ng-template>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXSideMenuModule }, { kind: "component", type: i2$1.AXSideMenuComponent, selector: "ax-side-menu", inputs: ["items", "look", "location"], outputs: ["itemsChange"] }, { kind: "component", type: i2$1.AXSideMenuItemComponent, selector: "ax-side-menu-item", inputs: ["disabled", "text", "active", "isLoading", "isCollapsed", "href", "routerLink", "routerLinkActive", "routerLinkActiveOptions", "target"], outputs: ["textChange", "activeChange", "isLoadingChange", "isCollapsedChange", "onClick"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }, { kind: "ngmodule", type: AXPAuthModule }, { kind: "directive", type: i5.AXPPermissionDirective, selector: "[permission]", inputs: ["permission", "permissionElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
273
327
  }
274
328
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRootLayoutMenuComponent, decorators: [{
275
329
  type: Component,
276
- args: [{ selector: 'axp-root-menu', encapsulation: ViewEncapsulation.None, standalone: false, template: "<ax-side-menu look=\"pills\">\n <ng-container *ngFor=\"let item of sort(menuStore.items())\" [ngTemplateOutlet]=\"recursiveMenu\"\n [ngTemplateOutletContext]=\"{ item: item }\">\n </ng-container>\n</ax-side-menu>\n\n<ng-template #recursiveMenu let-item=\"item\">\n @if(item.type=='group') {\n <ax-title *permission=\"item.data?.requiredPermission\">{{ item.text | translate | async }}</ax-title>\n }\n @else if(item.type=='break') {\n <ax-divider></ax-divider>\n }\n @else {\n <ax-side-menu-item *permission=\"item.data?.requiredPermission\" (onClick)=\"onMenuItemClick( item)\"\n [active]=\"item ===menuStore.selectedMenuItem().item\" [isCollapsed]=\"!menuStore.isItemOpen(item)\">\n <ax-prefix>\n <ax-icon [class]=\"item.icon\" class=\"fa-fw\"></ax-icon>\n </ax-prefix>\n <span>{{ item.text | translate | async }}</span>\n <ng-container *ngIf=\"item.children?.length\">\n <ng-container *ngFor=\"let child of sort(item.children)\" [ngTemplateOutlet]=\"recursiveMenu\"\n [ngTemplateOutletContext]=\"{ item: child }\">\n </ng-container>\n </ng-container>\n </ax-side-menu-item>\n }\n</ng-template>" }]
330
+ args: [{ selector: 'axp-side-menu', encapsulation: ViewEncapsulation.None, standalone: true, imports: [
331
+ CommonModule,
332
+ AXSideMenuModule,
333
+ AXDecoratorModule,
334
+ AXTranslationModule,
335
+ AXPAuthModule,
336
+ ], template: "<ax-side-menu look=\"pills\">\n <ng-container *ngFor=\"let item of sort(menuStore.items())\" [ngTemplateOutlet]=\"recursiveMenu\"\n [ngTemplateOutletContext]=\"{ item: item }\">\n </ng-container>\n</ax-side-menu>\n<ng-template #recursiveMenu let-item=\"item\">\n @if(item.type=='group') {\n <ax-title *permission=\"item.data?.requiredPermission\">{{ item.text | translate | async }}</ax-title>\n }\n @else if(item.type=='break') {\n <ax-divider></ax-divider>\n }\n @else {\n <ax-side-menu-item *permission=\"item.data?.requiredPermission\" (onClick)=\"onMenuItemClick( item)\"\n [active]=\"item ===menuStore.selectedMenuItem().item\" [isCollapsed]=\"!menuStore.isItemOpen(item)\">\n <ax-prefix>\n <ax-icon [class]=\"item.icon\" class=\"fa-fw\"></ax-icon>\n </ax-prefix>\n <span>{{ item.text | translate | async }}</span>\n <ng-container *ngIf=\"item.children?.length\">\n <ng-container *ngFor=\"let child of sort(item.children)\" [ngTemplateOutlet]=\"recursiveMenu\"\n [ngTemplateOutletContext]=\"{ item: child }\">\n </ng-container>\n </ng-container>\n </ax-side-menu-item>\n }\n</ng-template>" }]
277
337
  }] });
278
338
 
279
- class AXPRootLayoutComponent {
339
+ class AXPHorizontalMenuComponent {
340
+ constructor() {
341
+ this.platformConfig = inject(AXP_PLATFORM_CONFIG_TOKEN);
342
+ this.menuStore = inject(AXPMenuService);
343
+ this.layoutService = inject(AXPLayoutThemeService);
344
+ }
345
+ onMenuItemClick(item) {
346
+ if (!item.children?.length) {
347
+ this.menuStore.executeCommand(item);
348
+ }
349
+ }
350
+ sort(items) {
351
+ return sortBy$1(items, [c => c.priority ?? 0, c => c.text]);
352
+ }
353
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPHorizontalMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
354
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPHorizontalMenuComponent, isStandalone: true, selector: "axp-horizontal-menu", host: { classAttribute: "ax-light" }, ngImport: i0, template: "<div\n class=\"ax-w-full ax-flex ax-items-center ax-justify-between ax-gap-1 ax-bg-primary-surface ax-text-primary-on-surface ax-h-14 ax-px-4\">\n <div class=\"ax-flex ax-items-center ax-gap-1\">\n <axp-logo [source]=\"platformConfig.logo?.light\" [attr.alt]=\"platformConfig.title\"\n class=\"ax-mx-auto ax-text-2xl\"></axp-logo>\n </div>\n <div class=\"ax-flex ax-items-center ax-gap-1\">\n <axp-component-slot name=\"header-start\"></axp-component-slot>\n <axp-component-slot name=\"header-end\"></axp-component-slot>\n </div>\n</div>\n\n<div class=\"__menu-bar\">\n <ax-menu [orientation]=\"'horizontal'\" [class.ax-dark]=\"layoutService.isDarkMode()\" [hasArrow]=\"true\">\n <ng-container *ngFor=\"let item of sort(menuStore.items())\" [ngTemplateOutlet]=\"recursiveMenu\"\n [ngTemplateOutletContext]=\"{ item: item }\">\n </ng-container>\n <!-- Item Templates -->\n <ng-template #recursiveMenu let-item=\"item\">\n @if(item.type=='group') {\n <!-- <ax-title *permission=\"item.data?.requiredPermission\">{{ item.text | translate | async }}</ax-title> -->\n <!-- <ax-divider></ax-divider> -->\n }\n @else if(item.type=='break') {\n <ax-divider></ax-divider>\n }\n @else {\n <ax-menu-item *permission=\"item.data?.requiredPermission\" (onClick)=\"onMenuItemClick( item)\">\n @if(!item.meta?.isRoot)\n {\n <ax-prefix>\n <ax-icon [class]=\"item.icon\" class=\"fa-fw\"></ax-icon>\n </ax-prefix>\n }\n <ax-text> {{ item.text | translate | async }}</ax-text>\n <ng-container *ngIf=\"item.children?.length\">\n <ng-container *ngFor=\"let child of sort(item.children)\" [ngTemplateOutlet]=\"recursiveMenu\"\n [ngTemplateOutletContext]=\"{ item: child }\">\n </ng-container>\n </ng-container>\n </ax-menu-item>\n }\n </ng-template>\n </ax-menu>\n</div>\n<!-- <div class=\"__tab-bar\">\n <div class=\"axp-tabs-item axp-state-active\">\n <span class=\"ax-font-medium\">Account</span>\n <i class=\"fa-light fa-times ax-text-sm\"></i>\n </div>\n <div class=\"axp-tabs-item\">\n <span class=\"ax-font-medium\">Projects</span>\n\n </div>\n</div> -->", styles: [".__tab-bar{display:flex;height:3rem;width:100%;align-items:flex-end;gap:.5rem;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-primary-darker-surface),var(--tw-bg-opacity, 1));padding-left:1rem;padding-right:1rem;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-primary-darker-surface),var(--tw-text-opacity, 1))}.__tab-bar .axp-tabs-item{display:flex;height:2.5rem;cursor:pointer;align-items:center;justify-content:space-between;gap:.5rem;border-top-left-radius:.5rem;border-top-right-radius:.5rem;padding-left:1rem;padding-right:1rem;font-size:.875rem;line-height:1.25rem;line-height:1}.__tab-bar .axp-tabs-item:hover,.__tab-bar .axp-tabs-item.axp-state-active{--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lightest-surface),var(--tw-text-opacity, 1))}.__menu-bar{display:flex;width:100%;align-items:flex-end;gap:.5rem;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-primary-dark-surface),var(--tw-bg-opacity, 1));padding:.375rem 1rem;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-primary-dark-surface),var(--tw-text-opacity, 1))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXPComponentSlotModule }, { kind: "directive", type: i1$2.AXPComponentSlotDirective, selector: "axp-component-slot", inputs: ["name"] }, { kind: "component", type: AXPLogoComponent, selector: "axp-logo", inputs: ["source"] }, { kind: "ngmodule", type: AXMenuModule }, { kind: "component", type: i3$2.AXMenuItemComponent, selector: "ax-menu-item", inputs: ["name", "data", "disabled", "color"], outputs: ["onClick"] }, { kind: "component", type: i3$2.AXMenuComponent, selector: "ax-menu", inputs: ["orientation", "openOn", "closeOn", "items", "hasArrow"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }, { kind: "ngmodule", type: AXPAuthModule }, { kind: "directive", type: i5.AXPPermissionDirective, selector: "[permission]", inputs: ["permission", "permissionElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
355
+ }
356
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPHorizontalMenuComponent, decorators: [{
357
+ type: Component,
358
+ args: [{ selector: 'axp-horizontal-menu', host: { class: 'ax-light' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
359
+ CommonModule,
360
+ AXPComponentSlotModule,
361
+ AXPLogoComponent,
362
+ AXMenuModule,
363
+ AXDecoratorModule,
364
+ AXTranslationModule,
365
+ AXPAuthModule
366
+ ], template: "<div\n class=\"ax-w-full ax-flex ax-items-center ax-justify-between ax-gap-1 ax-bg-primary-surface ax-text-primary-on-surface ax-h-14 ax-px-4\">\n <div class=\"ax-flex ax-items-center ax-gap-1\">\n <axp-logo [source]=\"platformConfig.logo?.light\" [attr.alt]=\"platformConfig.title\"\n class=\"ax-mx-auto ax-text-2xl\"></axp-logo>\n </div>\n <div class=\"ax-flex ax-items-center ax-gap-1\">\n <axp-component-slot name=\"header-start\"></axp-component-slot>\n <axp-component-slot name=\"header-end\"></axp-component-slot>\n </div>\n</div>\n\n<div class=\"__menu-bar\">\n <ax-menu [orientation]=\"'horizontal'\" [class.ax-dark]=\"layoutService.isDarkMode()\" [hasArrow]=\"true\">\n <ng-container *ngFor=\"let item of sort(menuStore.items())\" [ngTemplateOutlet]=\"recursiveMenu\"\n [ngTemplateOutletContext]=\"{ item: item }\">\n </ng-container>\n <!-- Item Templates -->\n <ng-template #recursiveMenu let-item=\"item\">\n @if(item.type=='group') {\n <!-- <ax-title *permission=\"item.data?.requiredPermission\">{{ item.text | translate | async }}</ax-title> -->\n <!-- <ax-divider></ax-divider> -->\n }\n @else if(item.type=='break') {\n <ax-divider></ax-divider>\n }\n @else {\n <ax-menu-item *permission=\"item.data?.requiredPermission\" (onClick)=\"onMenuItemClick( item)\">\n @if(!item.meta?.isRoot)\n {\n <ax-prefix>\n <ax-icon [class]=\"item.icon\" class=\"fa-fw\"></ax-icon>\n </ax-prefix>\n }\n <ax-text> {{ item.text | translate | async }}</ax-text>\n <ng-container *ngIf=\"item.children?.length\">\n <ng-container *ngFor=\"let child of sort(item.children)\" [ngTemplateOutlet]=\"recursiveMenu\"\n [ngTemplateOutletContext]=\"{ item: child }\">\n </ng-container>\n </ng-container>\n </ax-menu-item>\n }\n </ng-template>\n </ax-menu>\n</div>\n<!-- <div class=\"__tab-bar\">\n <div class=\"axp-tabs-item axp-state-active\">\n <span class=\"ax-font-medium\">Account</span>\n <i class=\"fa-light fa-times ax-text-sm\"></i>\n </div>\n <div class=\"axp-tabs-item\">\n <span class=\"ax-font-medium\">Projects</span>\n\n </div>\n</div> -->", styles: [".__tab-bar{display:flex;height:3rem;width:100%;align-items:flex-end;gap:.5rem;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-primary-darker-surface),var(--tw-bg-opacity, 1));padding-left:1rem;padding-right:1rem;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-primary-darker-surface),var(--tw-text-opacity, 1))}.__tab-bar .axp-tabs-item{display:flex;height:2.5rem;cursor:pointer;align-items:center;justify-content:space-between;gap:.5rem;border-top-left-radius:.5rem;border-top-right-radius:.5rem;padding-left:1rem;padding-right:1rem;font-size:.875rem;line-height:1.25rem;line-height:1}.__tab-bar .axp-tabs-item:hover,.__tab-bar .axp-tabs-item.axp-state-active{--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lightest-surface),var(--tw-text-opacity, 1))}.__menu-bar{display:flex;width:100%;align-items:flex-end;gap:.5rem;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-primary-dark-surface),var(--tw-bg-opacity, 1));padding:.375rem 1rem;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-primary-dark-surface),var(--tw-text-opacity, 1))}\n"] }]
367
+ }] });
368
+
369
+ class AXPRootHorizontalLayoutComponent {
280
370
  constructor() {
281
371
  this.config = inject(AXP_PLATFORM_CONFIG_TOKEN);
282
372
  this.logo = this.config.logo;
283
373
  this.store = inject(AXPLayoutThemeService);
284
374
  this.eventService = inject(AXPBroadcastEventService);
285
- this.sessionService = inject(AXPSessionService);
286
375
  this.router = inject(Router);
287
- // private idleService = inject(AXPIdleService);
288
- this.dialogService = inject(AXDialogService);
289
- this.dialogAlreadyOpen = false;
290
376
  this.eventService.listen(AXPSessionStatus.SignedOut).subscribe(() => {
291
377
  debugger;
292
378
  this.router.navigate(['/auth/login']);
@@ -302,65 +388,68 @@ class AXPRootLayoutComponent {
302
388
  this.store.setSideMenuWidth(e.value);
303
389
  }
304
390
  }
305
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRootLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
306
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPRootLayoutComponent, isStandalone: false, selector: "ng-component", viewQueries: [{ propertyName: "drawer", first: true, predicate: ["drawer"], descendants: true }], ngImport: i0, template: "<div class=\"axp-root-layout\">\n <ax-drawer-container>\n <ax-drawer\n [axResizable]=\"store.isLarge()\"\n #drawer\n class=\"ax-w-56 lg:ax-w-72 ax-border-lighter ax-bg-lighter dark:ax-border-darkest dark:ax-bg-darkest\"\n [width]=\"store.sideMenuWidth()\"\n location=\"start\"\n [collapsed]=\"!store.isSideMenuOpen()\"\n [defaultWidth]=\"288\"\n [mode]=\"store.isSmall() || store.isMedium() ? 'overlay' : 'push'\"\n [dblClickAction]=\"'fit'\"\n (collapsedChange)=\"handleCollapsedChange($event)\"\n (onResizingEnded)=\"handleResizingEnded($event)\"\n (onResizingDblClick)=\"handleResizingEnded($event)\"\n >\n <ax-header\n class=\"ax-light ax-h-14 ax-flex ax-items-center ax-justify-center ax-bg-brand ax-border-e ax-border-primary-600\"\n >\n <axp-logo [source]=\"logo?.light\"></axp-logo>\n </ax-header>\n <ax-content class=\"ax-flex ax-flex-col ax-border-e\">\n <axp-component-slot name=\"side-menu-header\"></axp-component-slot>\n <div class=\"ax-overflow-auto ax-flex-1\">\n <axp-root-menu class=\"ax-p-4 ax-block\"></axp-root-menu>\n </div>\n <axp-component-slot name=\"side-menu-footer\"></axp-component-slot>\n </ax-content>\n </ax-drawer>\n <ax-content class=\"ax-flex ax-flex-col ax-relative ax-bg-lightest dark:ax-bg-lighter\">\n @if(store.isNavigationLoading()) {\n <div class=\"axp-navigating-progress\">\n <div></div>\n </div>\n }\n <axp-dashboard-admin-header class=\"ax-light\"></axp-dashboard-admin-header>\n\n <div class=\"ax-flex-1 ax-overflow-auto ax-relative\" [axIsLoading]=\"store.isOverlayLoading()\">\n <router-outlet></router-outlet>\n </div>\n </ax-content>\n </ax-drawer-container>\n <axp-dashboard-admin-footer></axp-dashboard-admin-footer>\n</div>\n", styles: [".axp-root-layout{display:flex;height:100%;width:100%;flex-direction:column;justify-content:space-between}.axp-navigating-progress{position:absolute;top:0;height:.25rem;width:100%;overflow:hidden;background-color:rgba(var(--ax-sys-color-primary-200),.4)}.axp-navigating-progress>div{height:100%;width:100%;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-primary-500),var(--tw-bg-opacity, 1));animation:indeterminateAnimation 1.5s infinite cubic-bezier(.65,.815,.735,.395);transform-origin:0% 50%}@keyframes indeterminateAnimation{0%{transform:translate(-100%) scaleX(.2)}50%{transform:translate(50%) scaleX(.6)}to{transform:translate(100%) scaleX(.4)}}axp-dashboard-admin-header{background-color:rgba(var(--axp-brand-color));color:rgba(var(--axp-on-brand-color))}axp-dashboard-admin-header ax-button{--ax-comp-button-normal-bg-color: 0, 0, 0, 0 !important;--ax-comp-button-border-width: 0 !important;--ax-comp-button-normal-text-color: var(--axp-on-brand-color) !important;--ax-comp-button-hover-text-color: var(--axp-on-brand-color) !important;--ax-comp-button-focus-text-color: var(--axp-on-brand-color) !important;--ax-comp-button-pressed-text-color: var(--axp-on-brand-color) !important}.resize-handle{background-color:transparent!important}.resize-handle:hover{background-color:rgba(var(--ax-sys-color-primary-surface))!important}\n"], dependencies: [{ kind: "directive", type: i3$1.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i5.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: "component", type: i2.AXDrawerComponent, selector: "ax-drawer", inputs: ["location", "showBackdrop", "mode", "closeOthers", "collapsed"], outputs: ["locationChange", "modeChange", "collapsedChange"] }, { kind: "component", type: i2.AXDrawerContainerComponent, selector: "ax-drawer-container" }, { kind: "directive", type: i5$2.AXLoadingDirective, selector: "[axIsLoading]", inputs: ["axIsLoading"] }, { kind: "component", type: i5$1.AXPLogoComponent, selector: "axp-logo", inputs: ["source"] }, { kind: "directive", type: i5$1.AXPComponentSlotDirective, selector: "axp-component-slot", inputs: ["name"] }, { kind: "directive", type: i6$2.AXResizableDirective, selector: "[axResizable]", inputs: ["axResizable", "minWidth", "maxWidth", "dblClickAction", "width", "defaultWidth"], outputs: ["axResizableChange", "minWidthChange", "maxWidthChange", "dblClickActionChange", "widthChange", "defaultWidthChange", "onResizingStarted", "onResizingEnded", "onResizingDblClick"] }, { kind: "component", type: AXPRootLayoutFooterComponent, selector: "axp-dashboard-admin-footer" }, { kind: "component", type: AXPRootLayoutHeaderComponent, selector: "axp-dashboard-admin-header" }, { kind: "component", type: AXPRootLayoutMenuComponent, selector: "axp-root-menu" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
391
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRootHorizontalLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
392
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPRootHorizontalLayoutComponent, isStandalone: true, selector: "axp-root-horizontal-layout", viewQueries: [{ propertyName: "drawer", first: true, predicate: ["drawer"], descendants: true }], ngImport: i0, template: "<div class=\"axp-root-layout\">\n <ax-drawer-container>\n <ax-content class=\"ax-flex ax-flex-col ax-relative ax-bg-lightest dark:ax-bg-lighter\">\n @if(store.isNavigationLoading()) {\n <div class=\"axp-navigating-progress\">\n <div></div>\n </div>\n }\n <axp-horizontal-menu></axp-horizontal-menu>\n <div class=\"ax-flex-1 ax-overflow-auto ax-relative\">\n <router-outlet></router-outlet>\n </div>\n </ax-content>\n </ax-drawer-container>\n <axp-dashboard-admin-footer></axp-dashboard-admin-footer>\n</div>", styles: [".axp-root-layout{display:flex;height:100%;width:100%;flex-direction:column;justify-content:space-between}.axp-navigating-progress{position:absolute;top:0;height:.25rem;width:100%;overflow:hidden;background-color:rgba(var(--ax-sys-color-primary-200),.4)}.axp-navigating-progress>div{height:100%;width:100%;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-primary-500),var(--tw-bg-opacity, 1));animation:indeterminateAnimation 1.5s infinite cubic-bezier(.65,.815,.735,.395);transform-origin:0% 50%}@keyframes indeterminateAnimation{0%{transform:translate(-100%) scaleX(.2)}50%{transform:translate(50%) scaleX(.6)}to{transform:translate(100%) scaleX(.4)}}axp-dashboard-admin-header{--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-primary-500),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-primary-surface),var(--tw-text-opacity, 1))}axp-dashboard-admin-header ax-button{--ax-comp-button-normal-bg-color: 0, 0, 0, 0 !important;--ax-comp-button-border-width: 0 !important;--ax-comp-button-normal-text-color: var(--axp-on-brand-color) !important;--ax-comp-button-hover-text-color: var(--axp-on-brand-color) !important;--ax-comp-button-focus-text-color: var(--axp-on-brand-color) !important;--ax-comp-button-pressed-text-color: var(--axp-on-brand-color) !important}.resize-handle{background-color:transparent!important}.resize-handle:hover{background-color:rgba(var(--ax-sys-color-primary-surface))!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$3.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXAvatarModule }, { kind: "ngmodule", type: AXImageModule }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "component", type: i3.AXDrawerContainerComponent, selector: "ax-drawer-container" }, { kind: "ngmodule", type: AXSideMenuModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXPAuthModule }, { kind: "ngmodule", type: AXPComponentSlotModule }, { kind: "component", type: AXPRootLayoutFooterComponent, selector: "axp-dashboard-admin-footer" }, { kind: "component", type: AXPHorizontalMenuComponent, selector: "axp-horizontal-menu" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
307
393
  }
308
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRootLayoutComponent, decorators: [{
394
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRootHorizontalLayoutComponent, decorators: [{
309
395
  type: Component,
310
- args: [{ encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div class=\"axp-root-layout\">\n <ax-drawer-container>\n <ax-drawer\n [axResizable]=\"store.isLarge()\"\n #drawer\n class=\"ax-w-56 lg:ax-w-72 ax-border-lighter ax-bg-lighter dark:ax-border-darkest dark:ax-bg-darkest\"\n [width]=\"store.sideMenuWidth()\"\n location=\"start\"\n [collapsed]=\"!store.isSideMenuOpen()\"\n [defaultWidth]=\"288\"\n [mode]=\"store.isSmall() || store.isMedium() ? 'overlay' : 'push'\"\n [dblClickAction]=\"'fit'\"\n (collapsedChange)=\"handleCollapsedChange($event)\"\n (onResizingEnded)=\"handleResizingEnded($event)\"\n (onResizingDblClick)=\"handleResizingEnded($event)\"\n >\n <ax-header\n class=\"ax-light ax-h-14 ax-flex ax-items-center ax-justify-center ax-bg-brand ax-border-e ax-border-primary-600\"\n >\n <axp-logo [source]=\"logo?.light\"></axp-logo>\n </ax-header>\n <ax-content class=\"ax-flex ax-flex-col ax-border-e\">\n <axp-component-slot name=\"side-menu-header\"></axp-component-slot>\n <div class=\"ax-overflow-auto ax-flex-1\">\n <axp-root-menu class=\"ax-p-4 ax-block\"></axp-root-menu>\n </div>\n <axp-component-slot name=\"side-menu-footer\"></axp-component-slot>\n </ax-content>\n </ax-drawer>\n <ax-content class=\"ax-flex ax-flex-col ax-relative ax-bg-lightest dark:ax-bg-lighter\">\n @if(store.isNavigationLoading()) {\n <div class=\"axp-navigating-progress\">\n <div></div>\n </div>\n }\n <axp-dashboard-admin-header class=\"ax-light\"></axp-dashboard-admin-header>\n\n <div class=\"ax-flex-1 ax-overflow-auto ax-relative\" [axIsLoading]=\"store.isOverlayLoading()\">\n <router-outlet></router-outlet>\n </div>\n </ax-content>\n </ax-drawer-container>\n <axp-dashboard-admin-footer></axp-dashboard-admin-footer>\n</div>\n", styles: [".axp-root-layout{display:flex;height:100%;width:100%;flex-direction:column;justify-content:space-between}.axp-navigating-progress{position:absolute;top:0;height:.25rem;width:100%;overflow:hidden;background-color:rgba(var(--ax-sys-color-primary-200),.4)}.axp-navigating-progress>div{height:100%;width:100%;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-primary-500),var(--tw-bg-opacity, 1));animation:indeterminateAnimation 1.5s infinite cubic-bezier(.65,.815,.735,.395);transform-origin:0% 50%}@keyframes indeterminateAnimation{0%{transform:translate(-100%) scaleX(.2)}50%{transform:translate(50%) scaleX(.6)}to{transform:translate(100%) scaleX(.4)}}axp-dashboard-admin-header{background-color:rgba(var(--axp-brand-color));color:rgba(var(--axp-on-brand-color))}axp-dashboard-admin-header ax-button{--ax-comp-button-normal-bg-color: 0, 0, 0, 0 !important;--ax-comp-button-border-width: 0 !important;--ax-comp-button-normal-text-color: var(--axp-on-brand-color) !important;--ax-comp-button-hover-text-color: var(--axp-on-brand-color) !important;--ax-comp-button-focus-text-color: var(--axp-on-brand-color) !important;--ax-comp-button-pressed-text-color: var(--axp-on-brand-color) !important}.resize-handle{background-color:transparent!important}.resize-handle:hover{background-color:rgba(var(--ax-sys-color-primary-surface))!important}\n"] }]
396
+ args: [{ selector: 'axp-root-horizontal-layout', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
397
+ CommonModule,
398
+ RouterModule,
399
+ AXButtonModule,
400
+ AXTranslationModule,
401
+ AXDecoratorModule,
402
+ AXDropdownModule,
403
+ AXAvatarModule,
404
+ AXImageModule,
405
+ AXImageModule,
406
+ AXPopoverModule,
407
+ AXBadgeModule,
408
+ AXTabsModule,
409
+ AXDrawerModule,
410
+ AXSideMenuModule,
411
+ AXLoadingModule,
412
+ AXPAuthModule,
413
+ AXPComponentSlotModule,
414
+ AXPRootLayoutFooterComponent,
415
+ AXPHorizontalMenuComponent
416
+ ], template: "<div class=\"axp-root-layout\">\n <ax-drawer-container>\n <ax-content class=\"ax-flex ax-flex-col ax-relative ax-bg-lightest dark:ax-bg-lighter\">\n @if(store.isNavigationLoading()) {\n <div class=\"axp-navigating-progress\">\n <div></div>\n </div>\n }\n <axp-horizontal-menu></axp-horizontal-menu>\n <div class=\"ax-flex-1 ax-overflow-auto ax-relative\">\n <router-outlet></router-outlet>\n </div>\n </ax-content>\n </ax-drawer-container>\n <axp-dashboard-admin-footer></axp-dashboard-admin-footer>\n</div>", styles: [".axp-root-layout{display:flex;height:100%;width:100%;flex-direction:column;justify-content:space-between}.axp-navigating-progress{position:absolute;top:0;height:.25rem;width:100%;overflow:hidden;background-color:rgba(var(--ax-sys-color-primary-200),.4)}.axp-navigating-progress>div{height:100%;width:100%;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-primary-500),var(--tw-bg-opacity, 1));animation:indeterminateAnimation 1.5s infinite cubic-bezier(.65,.815,.735,.395);transform-origin:0% 50%}@keyframes indeterminateAnimation{0%{transform:translate(-100%) scaleX(.2)}50%{transform:translate(50%) scaleX(.6)}to{transform:translate(100%) scaleX(.4)}}axp-dashboard-admin-header{--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-primary-500),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-primary-surface),var(--tw-text-opacity, 1))}axp-dashboard-admin-header ax-button{--ax-comp-button-normal-bg-color: 0, 0, 0, 0 !important;--ax-comp-button-border-width: 0 !important;--ax-comp-button-normal-text-color: var(--axp-on-brand-color) !important;--ax-comp-button-hover-text-color: var(--axp-on-brand-color) !important;--ax-comp-button-focus-text-color: var(--axp-on-brand-color) !important;--ax-comp-button-pressed-text-color: var(--axp-on-brand-color) !important}.resize-handle{background-color:transparent!important}.resize-handle:hover{background-color:rgba(var(--ax-sys-color-primary-surface))!important}\n"] }]
311
417
  }], ctorParameters: () => [], propDecorators: { drawer: [{
312
418
  type: ViewChild,
313
419
  args: ['drawer']
314
420
  }] } });
315
421
 
316
- class AXPAdminRootLayoutModule {
317
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAdminRootLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
318
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: AXPAdminRootLayoutModule, declarations: [AXPRootLayoutFooterComponent,
319
- AXPRootLayoutHeaderComponent,
320
- AXPRootLayoutComponent,
321
- AXPRootLayoutMenuComponent], imports: [CommonModule,
322
- RouterModule,
323
- AXButtonModule,
324
- AXTranslationModule,
325
- AXDecoratorModule,
326
- AXDropdownModule,
327
- AXAvatarModule,
328
- AXImageModule,
329
- AXImageModule,
330
- AXPopoverModule,
331
- AXBadgeModule,
332
- AXTabsModule,
333
- AXDrawerModule,
334
- AXSideMenuModule,
335
- AXLoadingModule,
336
- AXPLogoComponent,
337
- AXPAuthModule,
338
- AXPComponentSlotModule,
339
- // AXMConversationModule
340
- AXResizableDirective] }); }
341
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAdminRootLayoutModule, imports: [CommonModule,
342
- RouterModule,
343
- AXButtonModule,
344
- AXTranslationModule,
345
- AXDecoratorModule,
346
- AXDropdownModule,
347
- AXAvatarModule,
348
- AXImageModule,
349
- AXImageModule,
350
- AXPopoverModule,
351
- AXBadgeModule,
352
- AXTabsModule,
353
- AXDrawerModule,
354
- AXSideMenuModule,
355
- AXLoadingModule,
356
- AXPLogoComponent,
357
- AXPAuthModule,
358
- AXPComponentSlotModule] }); }
422
+ class AXPRootVerticalLayoutComponent {
423
+ constructor() {
424
+ this.config = inject(AXP_PLATFORM_CONFIG_TOKEN);
425
+ this.logo = this.config.logo;
426
+ this.store = inject(AXPLayoutThemeService);
427
+ this.eventService = inject(AXPBroadcastEventService);
428
+ this.router = inject(Router);
429
+ this.eventService.listen(AXPSessionStatus.SignedOut).subscribe(() => {
430
+ this.router.navigate(['/auth/login']);
431
+ });
432
+ this.router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe(() => {
433
+ if (this.store.isSideMenuOverlay())
434
+ this.store.closeSideMenu();
435
+ });
436
+ }
437
+ handleCollapsedChange(value) {
438
+ if (value) {
439
+ this.store.closeSideMenu();
440
+ }
441
+ }
442
+ handleResizingEnded(e) {
443
+ if (e.isUserInteraction) {
444
+ this.store.setSideMenuWidth(e.value);
445
+ }
446
+ }
447
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRootVerticalLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
448
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPRootVerticalLayoutComponent, isStandalone: true, selector: "axp-root-vertical-layout", viewQueries: [{ propertyName: "drawer", first: true, predicate: ["drawer"], descendants: true }], ngImport: i0, template: "<div class=\"axp-root-layout\">\n <ax-drawer-container>\n <ax-drawer [axResizable]=\"store.isLarge()\" #drawer\n class=\"ax-w-56 lg:ax-w-72 ax-border-lighter ax-bg-lighter dark:ax-border-darkest dark:ax-bg-darkest\"\n [width]=\"store.sideMenuWidth()\" location=\"start\" [collapsed]=\"!store.isSideMenuOpen()\" [defaultWidth]=\"288\"\n [mode]=\"store.isSideMenuOverlay() ? 'overlay' : 'push'\" [dblClickAction]=\"'fit'\"\n (collapsedChange)=\"handleCollapsedChange($event)\" (onResizingEnded)=\"handleResizingEnded($event)\"\n (onResizingDblClick)=\"handleResizingEnded($event)\">\n <ax-header\n class=\"ax-light ax-h-14 ax-flex ax-items-center ax-justify-center ax-bg-primary-500 ax-text-primary-on-surface ax-border-e ax-border-primary-600\">\n <axp-logo [source]=\"logo?.light\"></axp-logo>\n </ax-header>\n <ax-content class=\"ax-flex ax-flex-col ax-border-e\">\n <axp-component-slot name=\"side-menu-header\"></axp-component-slot>\n <div class=\"ax-overflow-auto ax-flex-1\">\n <axp-side-menu class=\"ax-p-4 ax-block\"></axp-side-menu>\n </div>\n <axp-component-slot name=\"side-menu-footer\"></axp-component-slot>\n </ax-content>\n </ax-drawer>\n <ax-content class=\"ax-flex ax-flex-col ax-relative ax-bg-lightest dark:ax-bg-lighter\">\n @if(store.isNavigationLoading()) {\n <div class=\"axp-navigating-progress\">\n <div></div>\n </div>\n }\n <axp-dashboard-admin-header class=\"ax-light\"></axp-dashboard-admin-header>\n\n <div class=\"ax-flex-1 ax-overflow-auto ax-relative\">\n <router-outlet></router-outlet>\n </div>\n </ax-content>\n </ax-drawer-container>\n <axp-dashboard-admin-footer></axp-dashboard-admin-footer>\n</div>", styles: [".axp-root-layout{display:flex;height:100%;width:100%;flex-direction:column;justify-content:space-between}.axp-navigating-progress{position:absolute;top:0;height:.25rem;width:100%;overflow:hidden;background-color:rgba(var(--ax-sys-color-primary-200),.4)}.axp-navigating-progress>div{height:100%;width:100%;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-primary-500),var(--tw-bg-opacity, 1));animation:indeterminateAnimation 1.5s infinite cubic-bezier(.65,.815,.735,.395);transform-origin:0% 50%}@keyframes indeterminateAnimation{0%{transform:translate(-100%) scaleX(.2)}50%{transform:translate(50%) scaleX(.6)}to{transform:translate(100%) scaleX(.4)}}axp-dashboard-admin-header{--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-primary-500),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-primary-surface),var(--tw-text-opacity, 1))}axp-dashboard-admin-header ax-button{--ax-comp-button-normal-bg-color: 0, 0, 0, 0 !important;--ax-comp-button-border-width: 0 !important;--ax-comp-button-normal-text-color: var(--axp-on-brand-color) !important;--ax-comp-button-hover-text-color: var(--axp-on-brand-color) !important;--ax-comp-button-focus-text-color: var(--axp-on-brand-color) !important;--ax-comp-button-pressed-text-color: var(--axp-on-brand-color) !important}.resize-handle{background-color:transparent!important}.resize-handle:hover{background-color:rgba(var(--ax-sys-color-primary-surface))!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$3.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXAvatarModule }, { kind: "ngmodule", type: AXImageModule }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "component", type: i3.AXDrawerComponent, selector: "ax-drawer", inputs: ["location", "showBackdrop", "mode", "closeOthers", "collapsed"], outputs: ["locationChange", "modeChange", "collapsedChange"] }, { kind: "component", type: i3.AXDrawerContainerComponent, selector: "ax-drawer-container" }, { kind: "ngmodule", type: AXSideMenuModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: AXPLogoComponent, selector: "axp-logo", inputs: ["source"] }, { kind: "ngmodule", type: AXPAuthModule }, { kind: "ngmodule", type: AXPComponentSlotModule }, { kind: "directive", type: i1$2.AXPComponentSlotDirective, selector: "axp-component-slot", inputs: ["name"] }, { kind: "directive", type: AXResizableDirective, selector: "[axResizable]", inputs: ["axResizable", "minWidth", "maxWidth", "dblClickAction", "width", "defaultWidth"], outputs: ["axResizableChange", "minWidthChange", "maxWidthChange", "dblClickActionChange", "widthChange", "defaultWidthChange", "onResizingStarted", "onResizingEnded", "onResizingDblClick"] }, { kind: "component", type: AXPRootLayoutFooterComponent, selector: "axp-dashboard-admin-footer" }, { kind: "component", type: AXPRootLayoutHeaderComponent, selector: "axp-dashboard-admin-header" }, { kind: "component", type: AXPRootLayoutMenuComponent, selector: "axp-side-menu" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
359
449
  }
360
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAdminRootLayoutModule, decorators: [{
361
- type: NgModule,
362
- args: [{
363
- imports: [
450
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRootVerticalLayoutComponent, decorators: [{
451
+ type: Component,
452
+ args: [{ selector: 'axp-root-vertical-layout', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
364
453
  CommonModule,
365
454
  RouterModule,
366
455
  AXButtonModule,
@@ -379,20 +468,64 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
379
468
  AXPLogoComponent,
380
469
  AXPAuthModule,
381
470
  AXPComponentSlotModule,
382
- // AXMConversationModule
383
- AXResizableDirective
384
- ],
385
- exports: [],
386
- declarations: [
471
+ AXResizableDirective,
387
472
  AXPRootLayoutFooterComponent,
388
473
  AXPRootLayoutHeaderComponent,
389
- AXPRootLayoutComponent,
390
474
  AXPRootLayoutMenuComponent,
391
- ],
392
- providers: [],
475
+ ], template: "<div class=\"axp-root-layout\">\n <ax-drawer-container>\n <ax-drawer [axResizable]=\"store.isLarge()\" #drawer\n class=\"ax-w-56 lg:ax-w-72 ax-border-lighter ax-bg-lighter dark:ax-border-darkest dark:ax-bg-darkest\"\n [width]=\"store.sideMenuWidth()\" location=\"start\" [collapsed]=\"!store.isSideMenuOpen()\" [defaultWidth]=\"288\"\n [mode]=\"store.isSideMenuOverlay() ? 'overlay' : 'push'\" [dblClickAction]=\"'fit'\"\n (collapsedChange)=\"handleCollapsedChange($event)\" (onResizingEnded)=\"handleResizingEnded($event)\"\n (onResizingDblClick)=\"handleResizingEnded($event)\">\n <ax-header\n class=\"ax-light ax-h-14 ax-flex ax-items-center ax-justify-center ax-bg-primary-500 ax-text-primary-on-surface ax-border-e ax-border-primary-600\">\n <axp-logo [source]=\"logo?.light\"></axp-logo>\n </ax-header>\n <ax-content class=\"ax-flex ax-flex-col ax-border-e\">\n <axp-component-slot name=\"side-menu-header\"></axp-component-slot>\n <div class=\"ax-overflow-auto ax-flex-1\">\n <axp-side-menu class=\"ax-p-4 ax-block\"></axp-side-menu>\n </div>\n <axp-component-slot name=\"side-menu-footer\"></axp-component-slot>\n </ax-content>\n </ax-drawer>\n <ax-content class=\"ax-flex ax-flex-col ax-relative ax-bg-lightest dark:ax-bg-lighter\">\n @if(store.isNavigationLoading()) {\n <div class=\"axp-navigating-progress\">\n <div></div>\n </div>\n }\n <axp-dashboard-admin-header class=\"ax-light\"></axp-dashboard-admin-header>\n\n <div class=\"ax-flex-1 ax-overflow-auto ax-relative\">\n <router-outlet></router-outlet>\n </div>\n </ax-content>\n </ax-drawer-container>\n <axp-dashboard-admin-footer></axp-dashboard-admin-footer>\n</div>", styles: [".axp-root-layout{display:flex;height:100%;width:100%;flex-direction:column;justify-content:space-between}.axp-navigating-progress{position:absolute;top:0;height:.25rem;width:100%;overflow:hidden;background-color:rgba(var(--ax-sys-color-primary-200),.4)}.axp-navigating-progress>div{height:100%;width:100%;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-primary-500),var(--tw-bg-opacity, 1));animation:indeterminateAnimation 1.5s infinite cubic-bezier(.65,.815,.735,.395);transform-origin:0% 50%}@keyframes indeterminateAnimation{0%{transform:translate(-100%) scaleX(.2)}50%{transform:translate(50%) scaleX(.6)}to{transform:translate(100%) scaleX(.4)}}axp-dashboard-admin-header{--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-primary-500),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-primary-surface),var(--tw-text-opacity, 1))}axp-dashboard-admin-header ax-button{--ax-comp-button-normal-bg-color: 0, 0, 0, 0 !important;--ax-comp-button-border-width: 0 !important;--ax-comp-button-normal-text-color: var(--axp-on-brand-color) !important;--ax-comp-button-hover-text-color: var(--axp-on-brand-color) !important;--ax-comp-button-focus-text-color: var(--axp-on-brand-color) !important;--ax-comp-button-pressed-text-color: var(--axp-on-brand-color) !important}.resize-handle{background-color:transparent!important}.resize-handle:hover{background-color:rgba(var(--ax-sys-color-primary-surface))!important}\n"] }]
476
+ }], ctorParameters: () => [], propDecorators: { drawer: [{
477
+ type: ViewChild,
478
+ args: ['drawer']
479
+ }] } });
480
+
481
+ class AXPRootLayoutComponent {
482
+ constructor() {
483
+ this.layout = inject(AXPLayoutThemeService);
484
+ this.menuStore = inject(AXPMenuService);
485
+ this.router = inject(Router);
486
+ }
487
+ ngOnInit() {
488
+ // Select the menu item based on the current route when the page loads
489
+ this.menuStore.selectMenuItemByRoute(this.router.url);
490
+ // Update the selected menu item whenever the route changes
491
+ this.router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe((event) => {
492
+ this.menuStore.selectMenuItemByRoute(event.urlAfterRedirects);
493
+ });
494
+ }
495
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRootLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
496
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPRootLayoutComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
497
+ @if(layout.isMenuHorizontal()){
498
+ <axp-root-horizontal-layout></axp-root-horizontal-layout>
499
+ }@else{
500
+ <axp-root-vertical-layout></axp-root-vertical-layout>
501
+ }
502
+ `, isInline: true, dependencies: [{ kind: "component", type: AXPRootHorizontalLayoutComponent, selector: "axp-root-horizontal-layout" }, { kind: "component", type: AXPRootVerticalLayoutComponent, selector: "axp-root-vertical-layout" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
503
+ }
504
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRootLayoutComponent, decorators: [{
505
+ type: Component,
506
+ args: [{
507
+ template: `
508
+ @if(layout.isMenuHorizontal()){
509
+ <axp-root-horizontal-layout></axp-root-horizontal-layout>
510
+ }@else{
511
+ <axp-root-vertical-layout></axp-root-vertical-layout>
512
+ }
513
+ `,
514
+ encapsulation: ViewEncapsulation.None,
515
+ changeDetection: ChangeDetectionStrategy.OnPush,
516
+ standalone: true,
517
+ imports: [
518
+ AXPRootHorizontalLayoutComponent,
519
+ AXPRootVerticalLayoutComponent
520
+ ]
393
521
  }]
394
522
  }] });
395
523
 
524
+ var rootLayout_component = /*#__PURE__*/Object.freeze({
525
+ __proto__: null,
526
+ AXPRootLayoutComponent: AXPRootLayoutComponent
527
+ });
528
+
396
529
  class AXPEntityReuseStrategy {
397
530
  shouldDetach(route) {
398
531
  return false;
@@ -417,16 +550,18 @@ function routesFacory() {
417
550
  let routes = [
418
551
  {
419
552
  path: ':app/settings/:scope',
420
- component: config.viewers.root(),
553
+ loadComponent: () => {
554
+ return config.viewers.root();
555
+ },
421
556
  children: [
422
557
  {
423
558
  path: '',
424
- loadComponent: () => import('./acorex-platform-themes-default-setting-page.component-DtJmPSFo.mjs').then((c) => c.AXPSettingPageComponent),
559
+ loadComponent: () => import('./acorex-platform-themes-default-setting-page.component-Cd2yaPEZ.mjs').then((c) => c.AXPSettingPageComponent),
425
560
  data: { reuse: true },
426
561
  children: [
427
562
  {
428
563
  path: ':group',
429
- loadComponent: () => import('./acorex-platform-themes-default-setting-view.component-fuHM7W6Y.mjs').then((c) => c.AXPSettingsViewComponent),
564
+ loadComponent: () => import('./acorex-platform-themes-default-setting-view.component-B3Aob67f.mjs').then((c) => c.AXPSettingsViewComponent),
430
565
  },
431
566
  ],
432
567
  },
@@ -437,25 +572,27 @@ function routesFacory() {
437
572
  children: [
438
573
  {
439
574
  path: 'offline',
440
- loadComponent: () => import('./acorex-platform-themes-default-error-offline.component-CwBClgcf.mjs').then((c) => c.AXPErrorOfflineComponent),
575
+ loadComponent: () => import('./acorex-platform-themes-default-error-offline.component-DU6dstng.mjs').then((c) => c.AXPErrorOfflineComponent),
441
576
  },
442
577
  {
443
578
  path: '404',
444
- loadComponent: () => import('./acorex-platform-themes-default-error-404.component-C8mJP9D8.mjs').then((c) => c.AXPError404Component),
579
+ loadComponent: () => import('./acorex-platform-themes-default-error-404.component-DvVSMoRS.mjs').then((c) => c.AXPError404Component),
445
580
  },
446
581
  {
447
582
  path: '401',
448
- loadComponent: () => import('./acorex-platform-themes-default-error-401.component-Brx-zHqH.mjs').then((c) => c.AXPError401Component),
583
+ loadComponent: () => import('./acorex-platform-themes-default-error-401.component-Ycz5LYvk.mjs').then((c) => c.AXPError401Component),
449
584
  },
450
585
  ],
451
586
  },
452
587
  {
453
588
  path: ':app/theme',
454
- component: config.viewers.root(),
589
+ loadComponent: () => {
590
+ return config.viewers.root();
591
+ },
455
592
  children: [
456
593
  {
457
594
  path: 'palette',
458
- loadComponent: () => import('./acorex-platform-themes-default-theme-palette-preview.page-DkjAgWLn.mjs').then((c) => c.AXPThemePalettePreviewPageComponent),
595
+ loadComponent: () => import('./acorex-platform-themes-default-theme-palette-preview.page-DqAngWCf.mjs').then((c) => c.AXPThemePalettePreviewPageComponent),
459
596
  },
460
597
  ],
461
598
  },
@@ -471,25 +608,29 @@ class AXPDefaultThemeModule {
471
608
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPDefaultThemeModule, providers: [
472
609
  {
473
610
  provide: AXP_ENTITY_CONFIG_TOKEN,
474
- useValue: {
475
- viewers: {
476
- root: () => AXPRootLayoutComponent,
477
- master: {
478
- single: () => import('./acorex-platform-themes-default-entity-master-single-view.component-BmBPyfQY.mjs').then((c) => c.AXPEntityMasterSingleViewComponent),
479
- ///
480
- create: () => import('./acorex-platform-themes-default-entity-master-create-view.component-Bvwr0PVk.mjs').then((c) => c.AXPEntityMasterCreateViewComponent),
481
- ///
482
- modify: () => import('./acorex-platform-themes-default-entity-master-modify-view.component-BAU_s90_.mjs').then((c) => c.AXPEntityMasterModifyViewComponent),
483
- //
484
- list: () => import('./acorex-platform-themes-default-entity-master-list-view.component-BLM2kf7R.mjs').then((c) => c.AXPEntityMasterListViewComponent),
611
+ useFactory: () => {
612
+ const config = {
613
+ viewers: {
614
+ root: () => Promise.resolve().then(function () { return rootLayout_component; }).then(c => c.AXPRootLayoutComponent),
615
+ master: {
616
+ single: () => import('./acorex-platform-themes-default-entity-master-single-view.component-ZfUaIxUa.mjs').then((c) => c.AXPEntityMasterSingleViewComponent),
617
+ ///
618
+ create: () => import('./acorex-platform-themes-default-entity-master-create-view.component-LKhN00ob.mjs').then((c) => c.AXPEntityMasterCreateViewComponent),
619
+ ///
620
+ modify: () => import('./acorex-platform-themes-default-entity-master-modify-view.component-B9TUh-2S.mjs').then((c) => c.AXPEntityMasterModifyViewComponent),
621
+ //
622
+ list: () => import('./acorex-platform-themes-default-entity-master-list-view.component-CdC4eF25.mjs').then((c) => c.AXPEntityMasterListViewComponent),
623
+ },
485
624
  },
486
- },
487
- },
625
+ };
626
+ console.log('config', config);
627
+ return config;
628
+ }
488
629
  },
489
630
  {
490
631
  provide: AXP_GLOBAL_SEARCH_CONFIG_TOKEN,
491
632
  useValue: {
492
- window: () => import('./acorex-platform-themes-default-search-popup.component-DfeNmpS9.mjs').then((c) => c.AXPGlobalSearchPopupComponent),
633
+ window: () => import('./acorex-platform-themes-default-search-popup.component-CGARdU4C.mjs').then((c) => c.AXPGlobalSearchPopupComponent),
493
634
  },
494
635
  },
495
636
  { provide: RouteReuseStrategy, useClass: AXPEntityReuseStrategy },
@@ -516,25 +657,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
516
657
  providers: [
517
658
  {
518
659
  provide: AXP_ENTITY_CONFIG_TOKEN,
519
- useValue: {
520
- viewers: {
521
- root: () => AXPRootLayoutComponent,
522
- master: {
523
- single: () => import('./acorex-platform-themes-default-entity-master-single-view.component-BmBPyfQY.mjs').then((c) => c.AXPEntityMasterSingleViewComponent),
524
- ///
525
- create: () => import('./acorex-platform-themes-default-entity-master-create-view.component-Bvwr0PVk.mjs').then((c) => c.AXPEntityMasterCreateViewComponent),
526
- ///
527
- modify: () => import('./acorex-platform-themes-default-entity-master-modify-view.component-BAU_s90_.mjs').then((c) => c.AXPEntityMasterModifyViewComponent),
528
- //
529
- list: () => import('./acorex-platform-themes-default-entity-master-list-view.component-BLM2kf7R.mjs').then((c) => c.AXPEntityMasterListViewComponent),
660
+ useFactory: () => {
661
+ const config = {
662
+ viewers: {
663
+ root: () => Promise.resolve().then(function () { return rootLayout_component; }).then(c => c.AXPRootLayoutComponent),
664
+ master: {
665
+ single: () => import('./acorex-platform-themes-default-entity-master-single-view.component-ZfUaIxUa.mjs').then((c) => c.AXPEntityMasterSingleViewComponent),
666
+ ///
667
+ create: () => import('./acorex-platform-themes-default-entity-master-create-view.component-LKhN00ob.mjs').then((c) => c.AXPEntityMasterCreateViewComponent),
668
+ ///
669
+ modify: () => import('./acorex-platform-themes-default-entity-master-modify-view.component-B9TUh-2S.mjs').then((c) => c.AXPEntityMasterModifyViewComponent),
670
+ //
671
+ list: () => import('./acorex-platform-themes-default-entity-master-list-view.component-CdC4eF25.mjs').then((c) => c.AXPEntityMasterListViewComponent),
672
+ },
530
673
  },
531
- },
532
- },
674
+ };
675
+ console.log('config', config);
676
+ return config;
677
+ }
533
678
  },
534
679
  {
535
680
  provide: AXP_GLOBAL_SEARCH_CONFIG_TOKEN,
536
681
  useValue: {
537
- window: () => import('./acorex-platform-themes-default-search-popup.component-DfeNmpS9.mjs').then((c) => c.AXPGlobalSearchPopupComponent),
682
+ window: () => import('./acorex-platform-themes-default-search-popup.component-CGARdU4C.mjs').then((c) => c.AXPGlobalSearchPopupComponent),
538
683
  },
539
684
  },
540
685
  { provide: RouteReuseStrategy, useClass: AXPEntityReuseStrategy },
@@ -551,5 +696,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
551
696
  * Generated bundle index. Do not edit.
552
697
  */
553
698
 
554
- export { AXPAdminRootLayoutModule, AXPDefaultThemeModule, AXPEntityDetailListViewComponent, AXPRootLayoutComponent, AXPRootLayoutFooterComponent, AXPRootLayoutHeaderComponent, AXPRootLayoutMenuComponent, AXPSimplePageLayout };
699
+ export { AXPBasePage, AXPBasePageComponent, AXPDefaultThemeModule, AXPEntityDetailListViewComponent, AXPRootHorizontalLayoutComponent, AXPRootLayoutComponent, AXPRootLayoutFooterComponent, AXPRootLayoutHeaderComponent, AXPRootLayoutMenuComponent, AXPRootVerticalLayoutComponent, AXPSimplePageLayout };
555
700
  //# sourceMappingURL=acorex-platform-themes-default.mjs.map