@acorex/platform 19.1.1 → 19.1.3

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 (82) hide show
  1. package/common/index.d.ts +1 -0
  2. package/common/lib/app/application.types.d.ts +14 -9
  3. package/common/lib/configs/app.config.d.ts +0 -1
  4. package/common/lib/filters/filters.service.d.ts +8 -0
  5. package/common/lib/filters/filters.types.d.ts +18 -0
  6. package/common/lib/filters/index.d.ts +2 -0
  7. package/common/lib/settings/setting-definition.provider.d.ts +4 -2
  8. package/common/lib/settings/setting.builder.d.ts +3 -5
  9. package/common/lib/settings/settings.types.d.ts +1 -0
  10. package/fesm2022/acorex-platform-auth.mjs +5 -4
  11. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  12. package/fesm2022/acorex-platform-common.mjs +72 -15
  13. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  14. package/fesm2022/acorex-platform-layout-builder.mjs +80 -28
  15. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  16. package/fesm2022/acorex-platform-layout-designer.mjs +7 -7
  17. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  18. package/fesm2022/acorex-platform-layout-entity.mjs +364 -256
  19. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  20. package/fesm2022/acorex-platform-layout-filters.mjs +47 -0
  21. package/fesm2022/acorex-platform-layout-filters.mjs.map +1 -0
  22. package/fesm2022/acorex-platform-layout-setting.mjs +175 -70
  23. package/fesm2022/acorex-platform-layout-setting.mjs.map +1 -1
  24. package/fesm2022/acorex-platform-layouts.mjs +1 -1
  25. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  26. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-CJ_HVKX-.mjs → acorex-platform-themes-default-entity-master-create-view.component-CSyR4pYp.mjs} +4 -4
  27. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-CJ_HVKX-.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-CSyR4pYp.mjs.map} +1 -1
  28. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-BJ-ELNnN.mjs → acorex-platform-themes-default-entity-master-list-view.component-xHWp2Lk-.mjs} +83 -20
  29. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-xHWp2Lk-.mjs.map +1 -0
  30. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-DveB-N1Z.mjs → acorex-platform-themes-default-entity-master-modify-view.component-n7mYNduJ.mjs} +4 -4
  31. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-DveB-N1Z.mjs.map → acorex-platform-themes-default-entity-master-modify-view.component-n7mYNduJ.mjs.map} +1 -1
  32. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-q_DOP0cT.mjs → acorex-platform-themes-default-entity-master-single-view.component-DjyYU0Gy.mjs} +11 -11
  33. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-q_DOP0cT.mjs.map → acorex-platform-themes-default-entity-master-single-view.component-DjyYU0Gy.mjs.map} +1 -1
  34. package/fesm2022/acorex-platform-themes-default-setting-page.component-6Dd8MGqr.mjs +78 -0
  35. package/fesm2022/acorex-platform-themes-default-setting-page.component-6Dd8MGqr.mjs.map +1 -0
  36. package/fesm2022/acorex-platform-themes-default-setting-view.component-BgiMClew.mjs +58 -0
  37. package/fesm2022/acorex-platform-themes-default-setting-view.component-BgiMClew.mjs.map +1 -0
  38. package/fesm2022/acorex-platform-themes-default.mjs +47 -98
  39. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  40. package/fesm2022/acorex-platform-themes-shared.mjs +248 -54
  41. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  42. package/fesm2022/acorex-platform-widgets.mjs +258 -34
  43. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  44. package/layout/builder/lib/builder/widget-renderer.component.directive.d.ts +3 -4
  45. package/layout/builder/lib/builder/widget.types.d.ts +12 -5
  46. package/layout/entity/lib/entity-master-create.viewmodel.d.ts +3 -3
  47. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +2 -1
  48. package/layout/entity/lib/entity.viewmodel.d.ts +1 -0
  49. package/layout/entity/lib/workflows/modify-entity.workflow.d.ts +14 -0
  50. package/layout/filters/README.md +3 -0
  51. package/layout/filters/index.d.ts +1 -0
  52. package/layout/filters/lib/filters.viewmodel.d.ts +20 -0
  53. package/layout/setting/lib/setting.viewmodel.d.ts +23 -21
  54. package/package.json +15 -11
  55. package/themes/default/index.d.ts +0 -1
  56. package/themes/default/lib/layouts/base/simple-page/simple-page.layout.d.ts +48 -3
  57. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-filters/list-view-option-filters.component.d.ts +11 -0
  58. package/themes/default/lib/layouts/filters-layout/simple-filter-builder/filters-view.component.d.ts +12 -0
  59. package/themes/default/lib/layouts/setting-layout/setting-page/setting-page.component.d.ts +51 -0
  60. package/themes/default/lib/layouts/setting-layout/setting-view/setting-view.component.d.ts +43 -0
  61. package/themes/shared/lib/components/layout-elements/index.d.ts +5 -1
  62. package/themes/shared/lib/components/layout-elements/layout-actions.component.d.ts +20 -0
  63. package/themes/shared/lib/components/layout-elements/layout-blocks.component.d.ts +1 -1
  64. package/themes/shared/lib/components/layout-elements/layout-header.component.d.ts +12 -0
  65. package/themes/shared/lib/components/layout-elements/layout-list-component.d.ts +13 -0
  66. package/themes/shared/lib/components/layout-elements/layout-section.component.d.ts +9 -0
  67. package/themes/shared/lib/components/layout-elements/layout-side.component.d.ts +9 -0
  68. package/themes/shared/lib/shared.module.d.ts +3 -1
  69. package/widgets/lib/properties/editors.props.d.ts +2 -0
  70. package/widgets/lib/properties/layout.props.d.ts +2 -0
  71. package/widgets/lib/widgets/editors/select/select-box-widget-edit.component.d.ts +1 -0
  72. package/widgets/lib/widgets/index.d.ts +1 -0
  73. package/widgets/lib/widgets/property-editors/border/border-widget-editor.component.d.ts +12 -0
  74. package/widgets/lib/widgets/property-editors/border/border-widget-type.d.ts +18 -0
  75. package/widgets/lib/widgets/property-editors/border/border-widget.config.d.ts +7 -0
  76. package/widgets/lib/widgets/property-editors/border/index.d.ts +3 -0
  77. package/widgets/lib/widgets/property-editors/spacing/spacing-widget-editor.component.d.ts +14 -4
  78. package/widgets/lib/widgets/property-editors/spacing/spacing-widget-type.d.ts +9 -3
  79. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BJ-ELNnN.mjs.map +0 -1
  80. package/themes/default/lib/layouts/setting-layout/index.d.ts +0 -2
  81. package/themes/default/lib/layouts/setting-layout/setting-menu/setting-menu.component.d.ts +0 -10
  82. package/themes/shared/lib/components/layout-elements/layout-page-header.component.d.ts +0 -11
@@ -1,31 +1,29 @@
1
- import * as i4 from '@acorex/components/button';
1
+ import * as i1 from '@angular/common';
2
+ import { CommonModule } from '@angular/common';
3
+ import * as i0 from '@angular/core';
4
+ import { inject, contentChild, Component, ViewEncapsulation, ChangeDetectionStrategy, computed, effect, Input, ViewChild, NgModule } from '@angular/core';
5
+ import { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';
6
+ import * as i4$1 from '@acorex/components/button';
2
7
  import { AXButtonModule } from '@acorex/components/button';
3
8
  import { AXCommonModule } from '@acorex/components/common';
4
- import * as i3 from '@acorex/components/decorators';
9
+ import * as i5 from '@acorex/components/decorators';
5
10
  import { AXDecoratorModule } from '@acorex/components/decorators';
6
11
  import * as i2 from '@acorex/components/drawer';
7
12
  import { AXDrawerModule } from '@acorex/components/drawer';
8
- import * as i6 from '@acorex/components/dropdown';
13
+ import * as i4 from '@acorex/components/dropdown';
9
14
  import { AXDropdownModule } from '@acorex/components/dropdown';
10
- import * as i7$1 from '@acorex/components/dropdown-button';
11
15
  import { AXDropdownButtonModule } from '@acorex/components/dropdown-button';
12
16
  import * as i1$2 from '@acorex/platform/common';
13
17
  import { AXPStickyDirective, AXPMenuService, AXP_PLATFORM_CONFIG_TOKEN, AXPLogoComponent, AXPComponentSlotModule, AXPCommonModule } from '@acorex/platform/common';
14
- import { AXPThemeLayoutPageHeaderComponent, AXPThemeLayoutBlockComponent, AXPLayoutThemeService, AXPThemesSharedModule } from '@acorex/platform/themes/shared';
15
- import * as i1 from '@angular/common';
16
- import { CommonModule, AsyncPipe } from '@angular/common';
17
- import * as i0 from '@angular/core';
18
- import { contentChild, Component, ViewEncapsulation, ChangeDetectionStrategy, inject, computed, effect, Input, ViewChild, NgModule, afterNextRender, Injector } from '@angular/core';
18
+ import { AXPLayoutThemeService, AXPThemeLayoutHeaderTemplateComponent, AXPThemeLayoutSideTemplateComponent, AXPThemeLayoutActionsComponent, AXPThemeLayoutBlockComponent, AXPThemesSharedModule } from '@acorex/platform/themes/shared';
19
19
  import * as i1$1 from '@acorex/components/action-sheet';
20
20
  import { AXActionSheetModule } from '@acorex/components/action-sheet';
21
21
  import { AXBadgeModule } from '@acorex/components/badge';
22
- import * as i4$2 from '@acorex/components/breadcrumbs';
23
- import { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';
24
22
  import * as i11 from '@acorex/components/data-table';
25
23
  import { AXDataTableModule } from '@acorex/components/data-table';
26
24
  import { AXDialogModule } from '@acorex/components/dialog';
27
25
  import { AXFormModule } from '@acorex/components/form';
28
- import * as i5 from '@acorex/components/loading';
26
+ import * as i4$3 from '@acorex/components/loading';
29
27
  import { AXLoadingModule } from '@acorex/components/loading';
30
28
  import { AXPopoverModule } from '@acorex/components/popover';
31
29
  import * as i7 from '@acorex/components/search-box';
@@ -36,7 +34,7 @@ import * as i10 from '@acorex/core/translation';
36
34
  import { AXTranslationModule } from '@acorex/core/translation';
37
35
  import * as i2$1 from '@acorex/core/utils';
38
36
  import { AXUnsubscriber } from '@acorex/core/utils';
39
- import * as i4$1 from '@acorex/platform/auth';
37
+ import * as i4$2 from '@acorex/platform/auth';
40
38
  import { AXPAuthModule } from '@acorex/platform/auth';
41
39
  import * as i9 from '@acorex/platform/layout/builder';
42
40
  import { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';
@@ -44,41 +42,48 @@ import { AXP_ENTITY_CONFIG_TOKEN } from '@acorex/platform/layout/entity';
44
42
  import { AXPEntityDeletedEvent, AXPEntityCreateEvent } from '@acorex/platform/layouts';
45
43
  import { AXPWidgetsModule } from '@acorex/platform/widgets';
46
44
  import { AXPWorkflowService, ofType } from '@acorex/platform/workflow';
47
- import * as i10$1 from '@angular/forms';
48
45
  import { FormsModule } from '@angular/forms';
49
- import * as i1$3 from '@angular/router';
50
- import { RouterModule, Router, NavigationEnd, ActivatedRoute, RouterOutlet, RouterLink, RouteReuseStrategy, ROUTES } from '@angular/router';
46
+ import * as i3$1 from '@angular/router';
47
+ import { RouterModule, Router, NavigationEnd, RouteReuseStrategy, ROUTES } from '@angular/router';
51
48
  import { Subject, takeUntil, filter } from 'rxjs';
52
49
  import { sortBy } from 'lodash-es';
53
- import * as i3$1 from '@acorex/components/side-menu';
50
+ import * as i3 from '@acorex/components/side-menu';
54
51
  import { AXSideMenuModule } from '@acorex/components/side-menu';
55
52
  import { AXAvatarModule } from '@acorex/components/avatar';
56
53
  import { AXImageModule } from '@acorex/components/image';
57
- import * as i3$2 from '@acorex/components/tree-view';
58
- import { AXTreeViewModule } from '@acorex/components/tree-view';
59
- import { AXPSettingsViewModel } from '@acorex/platform/layout/setting';
60
54
 
61
55
  class AXPSimplePageLayout {
62
56
  constructor() {
63
- this.headerLayout = contentChild(AXPThemeLayoutPageHeaderComponent);
57
+ this.layoutService = inject(AXPLayoutThemeService);
58
+ this.headerLayout = contentChild(AXPThemeLayoutHeaderTemplateComponent, { descendants: false });
59
+ this.layoutSide = contentChild(AXPThemeLayoutSideTemplateComponent);
60
+ this.pageActionsLayout = contentChild(AXPThemeLayoutActionsComponent);
64
61
  }
65
62
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSimplePageLayout, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
66
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.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 }], ngImport: i0, template: "<ax-drawer-container>\n <ax-drawer #drawer location=\"start\" [collapsed]=\"false\" [mode]=\"'push'\">\n <ax-content class=\"ax-border-e ax-p-6 ax-w-64\">\n <ng-content select=\"axp-page-side\"></ng-content>\n </ax-content>\n </ax-drawer>\n <ax-content #content class=\"ax-overflow-x-hidden\">\n <axp-page-body>\n <axp-page-header #sticky=\"axpSticky\" [axpSticky]=\"'axp-is-sticky'\" [stickyOffset]=\"30\"\n [stickyParent]=\"content.getHostElement()\">\n <ng-template>\n <ng-content select=\"axp-page-header\"></ng-content>\n </ng-template>\n <!-------- Begin Toolbar -------->\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <!-------- Begin Title -------->\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-transition\">\n <ng-container *ngTemplateOutlet=\"headerLayout()?.title()!\"></ng-container>\n <ng-container *ngTemplateOutlet=\"headerLayout()?.description()!\"></ng-container>\n <ng-container *ngTemplateOutlet=\"headerLayout()?.breadcrumbs()!\"></ng-container>\n </div>\n </div>\n <!-------- Finish Title -------->\n <!--------------------------------------------------------------->\n <!-- Begin Action Menu -->\n <ng-container *ngTemplateOutlet=\"headerLayout()?.actions()!\"></ng-container>\n <!-- Finish Action Menu -->\n </div>\n <!----- Finish Toolbar ----->\n <!--------------------------------------------------------------->\n <!-- Begin Navbar -->\n <ng-container *ngTemplateOutlet=\"headerLayout()?.navbar()!\"></ng-container>\n <!-- Finish Navbar -->\n </axp-page-header>\n <ng-content select=\"axp-page-content\"></ng-content>\n </axp-page-body>\n </ax-content>\n</ax-drawer-container>", styles: ["axp-layout-simple-page axp-page-body{display:flex;min-height:100%;flex-direction:column;gap:1rem;border-bottom-width:1px;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity, 1));padding-left:1rem;padding-right:1rem;padding-bottom:1rem}@media (min-width: 768px){axp-layout-simple-page axp-page-body{border-width:0px;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-background-default),var(--tw-bg-opacity, 1));padding-left:1.5rem;padding-right:1.5rem}}axp-layout-simple-page axp-page-body axp-page-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;flex-direction:column;padding-top:1rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}axp-layout-simple-page axp-page-body axp-page-header.axp-is-sticky{margin-left:-1.5rem;margin-right:-1.5rem;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity, 1));padding:.75rem 1.5rem;--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-page-body axp-page-header axp-page-title{font-size:1.25rem;line-height:1.75rem;font-weight:700}@media (min-width: 768px){axp-layout-simple-page axp-page-body axp-page-header axp-page-title{font-size:1.5rem;line-height:2rem}}axp-layout-simple-page axp-page-body axp-page-header axp-page-description{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgba(var(--ax-color-neutral-600),var(--tw-text-opacity, 1))}axp-layout-simple-page axp-page-body axp-page-header axp-page-actions{display:flex;align-items:center;gap:.75rem}axp-layout-simple-page axp-page-body axp-page-content{height:100%;overflow:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: 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: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "directive", type: AXPStickyDirective, selector: "[axpSticky]", inputs: ["axpSticky", "stickyOffset", "stickyParent", "stickyTarget"], outputs: ["isStickyChange"], exportAs: ["axpSticky"] }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: AXPThemeLayoutBlockComponent, selector: " axp-page-content, axp-page-body, axp-page-title, axp-page-description, axp-page-actions, axp-page-navbar, axp-page-side, axp-page-breadcrumbs " }, { kind: "component", type: AXPThemeLayoutPageHeaderComponent, selector: "axp-page-header" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
63
+ 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: "pageActionsLayout", first: true, predicate: AXPThemeLayoutActionsComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<ax-drawer-container>\n @if(layoutSide())\n {\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\">\n <axp-layout-body>\n <axp-layout-header-container #sticky=\"axpSticky\"\n [axpSticky]=\"layoutService.isSmall() ? '' : 'axp-is-sticky'\" [stickyOffset]=\"50\"\n [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()?.title()!\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"headerLayout()?.description()!\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"headerLayout()?.breadcrumbs()!\"></ng-container>\n </div>\n </div>\n <!-------- Finish Title -------->\n <!--------------------------------------------------------------->\n <!-- Begin Action Menu -->\n @if(pageActionsLayout())\n {\n <axp-layout-actions>\n <!-- Primary Actions -->\n @if(pageActionsLayout()?.hasPrimary())\n {\n <ng-container *ngTemplateOutlet=\"pageActionsLayout()?.primaryTemplate()!\"></ng-container>\n }\n <!-- Secondary Actions -->\n @if(pageActionsLayout()?.hasSecondary())\n {\n <ax-button [class.ax-xs]=\"layoutService.isSmall()\"\n [text]=\"layoutService.isSmall() ? null : 'Actions'\"\n [look]=\"layoutService.isSmall() ? 'blank' : 'solid'\" [color]=\"'ghost'\">\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\n [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 {\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 </axp-layout-body>\n </ax-content>\n</ax-drawer-container>", styles: ["axp-layout-side-container{display:block;height:100%;min-width:16rem;border-inline-end-width:1px}@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{display:block;font-size:1.25rem;line-height:1.75rem;font-weight:700}axp-layout-side-container axp-layout-header-container axp-layout-description{display:block;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgba(var(--ax-color-neutral-400),var(--tw-text-opacity, 1))}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;gap:1rem}axp-layout-actions{display:flex;align-items:center;gap:.75rem}axp-layout-title-bar{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity, 1));padding:.75rem 1rem}@media (min-width: 1280px){axp-layout-title-bar{border-width:0px;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-background-default),var(--tw-bg-opacity, 1))}}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 ax-suffix,axp-layout-toolbar ax-prefix{display:flex;gap:.5rem}axp-layout-toolbar ax-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>axp-layout-list-group,axp-layout-list>axp-layout-list-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;font-weight:600}axp-layout-list-group{padding:.5rem 1rem;font-weight:600}axp-layout-list-item:hover{cursor:pointer;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-primary-50),var(--tw-bg-opacity, 1))}axp-layout-list-item:hover:is(.ax-dark *){--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-primary-700),var(--tw-bg-opacity, 1))}axp-layout-list-item>axp-layout-prefix{margin-inline-end:auto;display:flex;gap:.5rem}axp-layout-list-item>axp-layout-content{flex:1 1 0%}axp-layout-list-item>axp-layout-suffix{margin-inline-start:auto;display:flex;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-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity, 1));--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)}axp-layout-sections axp-layout-section-container>axp-layout-footer-container,axp-layout-sections axp-layout-section-container>axp-layout-header-container{--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1));padding:.5rem 1rem}axp-layout-sections axp-layout-section-container>axp-layout-footer-container:is(.ax-dark *),axp-layout-sections axp-layout-section-container>axp-layout-header-container:is(.ax-dark *){--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-input-surface),var(--tw-bg-opacity, 1))}@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}axp-layout-sections axp-layout-section-container>axp-layout-header-container axp-layout-title{font-weight:700}axp-layout-sections axp-layout-section-container>axp-layout-header-container axp-layout-description{font-size:.75rem;line-height:1rem;--tw-text-opacity: 1;color:rgba(var(--ax-color-neutral-400),var(--tw-text-opacity, 1))}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 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-color-surface),var(--tw-bg-opacity, 1))}@media (min-width: 768px){axp-layout-simple-page axp-layout-body{--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-background-default),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;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 axp-layout-title-bar{--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-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-body>axp-layout-header-container axp-layout-title{font-weight:700;--tw-text-opacity: 1;color:rgb(var(--ax-color-text-default),var(--tw-text-opacity, 1))}@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{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgba(var(--ax-color-neutral-400),var(--tw-text-opacity, 1))}axp-layout-simple-page axp-layout-body>axp-layout-content{height:100%;overflow:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type:
64
+ //
65
+ 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-sub-title, 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", "_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", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i4$1.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "component", type:
66
+ //
67
+ AXPThemeLayoutBlockComponent, selector: " axp-layout-content, axp-layout-header-container, axp-layout-footer-container, axp-layout-side-container, axp-layout-sections, axp-layout-section-container, axp-layout-body, axp-layout-suffix, axp-layout-prefix, axp-layout-title, axp-layout-nav-button, axp-layout-description, axp-layout-toolbar, axp-layout-title-bar, axp-layout-breadcrumbs " }, { 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 }); }
67
68
  }
68
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSimplePageLayout, decorators: [{
69
70
  type: Component,
70
71
  args: [{ standalone: true, imports: [
71
72
  CommonModule,
73
+ //
72
74
  AXCommonModule,
73
75
  AXDrawerModule,
74
76
  AXDecoratorModule,
75
- AXPStickyDirective,
77
+ AXBreadcrumbsModule,
76
78
  AXDropdownButtonModule,
77
79
  AXDropdownModule,
78
80
  AXButtonModule,
81
+ //
79
82
  AXPThemeLayoutBlockComponent,
80
- AXPThemeLayoutPageHeaderComponent
81
- ], selector: 'axp-layout-simple-page', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ax-drawer-container>\n <ax-drawer #drawer location=\"start\" [collapsed]=\"false\" [mode]=\"'push'\">\n <ax-content class=\"ax-border-e ax-p-6 ax-w-64\">\n <ng-content select=\"axp-page-side\"></ng-content>\n </ax-content>\n </ax-drawer>\n <ax-content #content class=\"ax-overflow-x-hidden\">\n <axp-page-body>\n <axp-page-header #sticky=\"axpSticky\" [axpSticky]=\"'axp-is-sticky'\" [stickyOffset]=\"30\"\n [stickyParent]=\"content.getHostElement()\">\n <ng-template>\n <ng-content select=\"axp-page-header\"></ng-content>\n </ng-template>\n <!-------- Begin Toolbar -------->\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <!-------- Begin Title -------->\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-transition\">\n <ng-container *ngTemplateOutlet=\"headerLayout()?.title()!\"></ng-container>\n <ng-container *ngTemplateOutlet=\"headerLayout()?.description()!\"></ng-container>\n <ng-container *ngTemplateOutlet=\"headerLayout()?.breadcrumbs()!\"></ng-container>\n </div>\n </div>\n <!-------- Finish Title -------->\n <!--------------------------------------------------------------->\n <!-- Begin Action Menu -->\n <ng-container *ngTemplateOutlet=\"headerLayout()?.actions()!\"></ng-container>\n <!-- Finish Action Menu -->\n </div>\n <!----- Finish Toolbar ----->\n <!--------------------------------------------------------------->\n <!-- Begin Navbar -->\n <ng-container *ngTemplateOutlet=\"headerLayout()?.navbar()!\"></ng-container>\n <!-- Finish Navbar -->\n </axp-page-header>\n <ng-content select=\"axp-page-content\"></ng-content>\n </axp-page-body>\n </ax-content>\n</ax-drawer-container>", styles: ["axp-layout-simple-page axp-page-body{display:flex;min-height:100%;flex-direction:column;gap:1rem;border-bottom-width:1px;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity, 1));padding-left:1rem;padding-right:1rem;padding-bottom:1rem}@media (min-width: 768px){axp-layout-simple-page axp-page-body{border-width:0px;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-background-default),var(--tw-bg-opacity, 1));padding-left:1.5rem;padding-right:1.5rem}}axp-layout-simple-page axp-page-body axp-page-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;flex-direction:column;padding-top:1rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}axp-layout-simple-page axp-page-body axp-page-header.axp-is-sticky{margin-left:-1.5rem;margin-right:-1.5rem;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity, 1));padding:.75rem 1.5rem;--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-page-body axp-page-header axp-page-title{font-size:1.25rem;line-height:1.75rem;font-weight:700}@media (min-width: 768px){axp-layout-simple-page axp-page-body axp-page-header axp-page-title{font-size:1.5rem;line-height:2rem}}axp-layout-simple-page axp-page-body axp-page-header axp-page-description{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgba(var(--ax-color-neutral-600),var(--tw-text-opacity, 1))}axp-layout-simple-page axp-page-body axp-page-header axp-page-actions{display:flex;align-items:center;gap:.75rem}axp-layout-simple-page axp-page-body axp-page-content{height:100%;overflow:auto}\n"] }]
83
+ AXPThemeLayoutActionsComponent,
84
+ AXPStickyDirective,
85
+ //
86
+ ], selector: 'axp-layout-simple-page', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ax-drawer-container>\n @if(layoutSide())\n {\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\">\n <axp-layout-body>\n <axp-layout-header-container #sticky=\"axpSticky\"\n [axpSticky]=\"layoutService.isSmall() ? '' : 'axp-is-sticky'\" [stickyOffset]=\"50\"\n [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()?.title()!\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"headerLayout()?.description()!\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"headerLayout()?.breadcrumbs()!\"></ng-container>\n </div>\n </div>\n <!-------- Finish Title -------->\n <!--------------------------------------------------------------->\n <!-- Begin Action Menu -->\n @if(pageActionsLayout())\n {\n <axp-layout-actions>\n <!-- Primary Actions -->\n @if(pageActionsLayout()?.hasPrimary())\n {\n <ng-container *ngTemplateOutlet=\"pageActionsLayout()?.primaryTemplate()!\"></ng-container>\n }\n <!-- Secondary Actions -->\n @if(pageActionsLayout()?.hasSecondary())\n {\n <ax-button [class.ax-xs]=\"layoutService.isSmall()\"\n [text]=\"layoutService.isSmall() ? null : 'Actions'\"\n [look]=\"layoutService.isSmall() ? 'blank' : 'solid'\" [color]=\"'ghost'\">\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\n [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 {\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 </axp-layout-body>\n </ax-content>\n</ax-drawer-container>", styles: ["axp-layout-side-container{display:block;height:100%;min-width:16rem;border-inline-end-width:1px}@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{display:block;font-size:1.25rem;line-height:1.75rem;font-weight:700}axp-layout-side-container axp-layout-header-container axp-layout-description{display:block;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgba(var(--ax-color-neutral-400),var(--tw-text-opacity, 1))}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;gap:1rem}axp-layout-actions{display:flex;align-items:center;gap:.75rem}axp-layout-title-bar{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity, 1));padding:.75rem 1rem}@media (min-width: 1280px){axp-layout-title-bar{border-width:0px;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-background-default),var(--tw-bg-opacity, 1))}}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 ax-suffix,axp-layout-toolbar ax-prefix{display:flex;gap:.5rem}axp-layout-toolbar ax-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>axp-layout-list-group,axp-layout-list>axp-layout-list-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;font-weight:600}axp-layout-list-group{padding:.5rem 1rem;font-weight:600}axp-layout-list-item:hover{cursor:pointer;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-primary-50),var(--tw-bg-opacity, 1))}axp-layout-list-item:hover:is(.ax-dark *){--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-primary-700),var(--tw-bg-opacity, 1))}axp-layout-list-item>axp-layout-prefix{margin-inline-end:auto;display:flex;gap:.5rem}axp-layout-list-item>axp-layout-content{flex:1 1 0%}axp-layout-list-item>axp-layout-suffix{margin-inline-start:auto;display:flex;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-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity, 1));--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)}axp-layout-sections axp-layout-section-container>axp-layout-footer-container,axp-layout-sections axp-layout-section-container>axp-layout-header-container{--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1));padding:.5rem 1rem}axp-layout-sections axp-layout-section-container>axp-layout-footer-container:is(.ax-dark *),axp-layout-sections axp-layout-section-container>axp-layout-header-container:is(.ax-dark *){--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-input-surface),var(--tw-bg-opacity, 1))}@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}axp-layout-sections axp-layout-section-container>axp-layout-header-container axp-layout-title{font-weight:700}axp-layout-sections axp-layout-section-container>axp-layout-header-container axp-layout-description{font-size:.75rem;line-height:1rem;--tw-text-opacity: 1;color:rgba(var(--ax-color-neutral-400),var(--tw-text-opacity, 1))}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 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-color-surface),var(--tw-bg-opacity, 1))}@media (min-width: 768px){axp-layout-simple-page axp-layout-body{--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-background-default),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;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 axp-layout-title-bar{--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-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-body>axp-layout-header-container axp-layout-title{font-weight:700;--tw-text-opacity: 1;color:rgb(var(--ax-color-text-default),var(--tw-text-opacity, 1))}@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{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgba(var(--ax-color-neutral-400),var(--tw-text-opacity, 1))}axp-layout-simple-page axp-layout-body>axp-layout-content{height:100%;overflow:auto}\n"] }]
82
87
  }] });
83
88
 
84
89
  class AXPEntityDetailListViewComponent {
@@ -159,7 +164,7 @@ class AXPEntityDetailListViewComponent {
159
164
  this.destroy();
160
165
  }
161
166
  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 }); }
162
- 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\">\n {{ vm.selectedItems().length }} {{ 't(\"itemsSelected\", { scope: \"common\" })' | translate | async }}\n </span>\n <span\n (click)=\"vm.clearSelection()\"\n class=\"ax-text-sm ax-text-primary dark:ax-text-primary-300 ax-underline ax-cursor-pointer\"\n >{{ 't(\"unselect\", { scope: \"common\" })' | translate | async }}</span\n >\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)\"\n ><ax-clear-button></ax-clear-button\n ></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=\"ghost\">\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\n [text]=\"(tr.title | translate | async)!\"\n class=\"ax-font-semibold ax-text-{{ tr.color }}\"\n (onClick)=\"vm.executeCommand(tr.name)\"\n >\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 <ax-data-table\n #grid\n [showFooter]=\"false\"\n class=\"ax-flex-1\"\n [paging]=\"true\"\n [fetchDataMode]=\"'manual'\"\n [parentField]=\"vm.parentKey()\"\n [loading]=\"{ enabled: true, animation: true }\"\n [dataSource]=\"vm.dataSource\"\n (selectedRowsChange)=\"handleSelectedRowsChange($event)\"\n (onRowDbClick)=\"handleRowDbClick($event)\"\n >\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\n [caption]=\"col.title | translate | async\"\n [expandHandler]=\"$index === 0 && vm.parentKey() ? true : false\"\n [node]=\"col.node()\"\n ></axp-widget-column-renderer>\n } } @if(getCommandRowItems().length){\n\n <ax-command-column\n fixed=\"end\"\n [width]=\"getCommandRowItems().length * 60 + 'px'\"\n [items]=\"getCommandRowItems()\"\n (onItemClick)=\"handleRowCommandClick($event)\"\n ></ax-command-column>\n\n } @if(dropdownRowItems().length){\n <ax-dropdown-command-column\n fixed=\"end\"\n [width]=\"'60px'\"\n [items]=\"getDropdownRowItems\"\n (onItemClick)=\"handleRowCommandClick($event)\"\n ></ax-dropdown-command-column>\n }\n </ax-data-table>\n </div>\n</div>\n", 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.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i4.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i4.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i6.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_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", "delayTime"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXDataTableModule }, { kind: "component", type: i11.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"] }, { kind: "component", type: i11.AXRowSelectColumnComponent, selector: "ax-select-column", inputs: ["width", "caption", "fixed"] }, { kind: "component", type: i11.AXRowCommandColumnComponent, selector: "ax-command-column", inputs: ["width", "caption", "fixed", "footerTemplate", "items"], outputs: ["onItemClick"] }, { kind: "component", type: i11.AXRowDropdownCommandColumnComponent, selector: "ax-dropdown-command-column", inputs: ["width", "caption", "fixed", "footerTemplate", "items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type:
167
+ 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\">\n {{ vm.selectedItems().length }} {{ 't(\"itemsSelected\", { scope: \"common\" })' | translate | async }}\n </span>\n <span\n (click)=\"vm.clearSelection()\"\n class=\"ax-text-sm ax-text-primary dark:ax-text-primary-300 ax-underline ax-cursor-pointer\"\n >{{ 't(\"unselect\", { scope: \"common\" })' | translate | async }}</span\n >\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)\"\n ><ax-clear-button></ax-clear-button\n ></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=\"ghost\">\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\n [text]=\"(tr.title | translate | async)!\"\n class=\"ax-font-semibold ax-text-{{ tr.color }}\"\n (onClick)=\"vm.executeCommand(tr.name)\"\n >\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 <ax-data-table\n #grid\n [showFooter]=\"false\"\n class=\"ax-flex-1\"\n [paging]=\"true\"\n [fetchDataMode]=\"'manual'\"\n [parentField]=\"vm.parentKey()\"\n [loading]=\"{ enabled: true, animation: true }\"\n [dataSource]=\"vm.dataSource\"\n (selectedRowsChange)=\"handleSelectedRowsChange($event)\"\n (onRowDbClick)=\"handleRowDbClick($event)\"\n >\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\n [caption]=\"col.title | translate | async\"\n [expandHandler]=\"$index === 0 && vm.parentKey() ? true : false\"\n [node]=\"col.node()\"\n ></axp-widget-column-renderer>\n } } @if(getCommandRowItems().length){\n\n <ax-command-column\n fixed=\"end\"\n [width]=\"getCommandRowItems().length * 60 + 'px'\"\n [items]=\"getCommandRowItems()\"\n (onItemClick)=\"handleRowCommandClick($event)\"\n ></ax-command-column>\n\n } @if(dropdownRowItems().length){\n <ax-dropdown-command-column\n fixed=\"end\"\n [width]=\"'60px'\"\n [items]=\"getDropdownRowItems\"\n (onItemClick)=\"handleRowCommandClick($event)\"\n ></ax-dropdown-command-column>\n }\n </ax-data-table>\n </div>\n</div>\n", 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", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "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-sub-title, 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", "_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", "delayTime"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXDataTableModule }, { kind: "component", type: i11.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"] }, { kind: "component", type: i11.AXRowSelectColumnComponent, selector: "ax-select-column", inputs: ["width", "caption", "fixed"] }, { kind: "component", type: i11.AXRowCommandColumnComponent, selector: "ax-command-column", inputs: ["width", "caption", "fixed", "footerTemplate", "items"], outputs: ["onItemClick"] }, { kind: "component", type: i11.AXRowDropdownCommandColumnComponent, selector: "ax-dropdown-command-column", inputs: ["width", "caption", "fixed", "footerTemplate", "items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type:
163
168
  //
164
169
  AXPLayoutBuilderModule }, { kind: "component", type: i9.AXPWidgetColumnRendererComponent, selector: "axp-widget-column-renderer", inputs: ["caption", "node", "footerTemplate", "expandHandler", "cellTemplate", "headerTemplate"] }, { kind: "ngmodule", type: AXPWidgetsModule }, { kind: "ngmodule", type: AXPAuthModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i10.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
165
170
  }
@@ -221,13 +226,13 @@ class AXPRootLayoutHeaderComponent {
221
226
  this.router.navigate(['/']);
222
227
  }
223
228
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRootLayoutHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
224
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPRootLayoutHeaderComponent, isStandalone: false, selector: "axp-dashboard-admin-header", host: { classAttribute: "ax-h-16 ax-flex ax-justify-between ax-px-4 md:ax-px-0 md:ax-pe-6 ax-py-4 ax-bg-surface ax-border-b" }, ngImport: i0, template: "<div class=\"ax-w-full ax-flex ax-justify-between\">\n <div class=\"ax-flex ax-items-center md:ax-hidden\">\n <i class=\"fa-solid fa-bars ax-text-lg ax-me-3\" (click)=\"menuClick()\"></i>\n </div>\n <div class=\"ax-flex ax-items-center\">\n <div\n class=\"ax-hidden md:ax-flex ax-items-center ax-justify-center ax-w-8 ax-h-8 ax-bg-on-surface ax-rounded ax-rounded-s-none ax-me-8 ax-cursor-pointer\"\n (click)=\"menuClick()\">\n <i class=\"fa-solid fa-chevrons-left ax-text-sm\" [ngClass]=\"{ 'ax-rotate-180': !store.isSideMenuOpen() }\"> </i>\n </div>\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>", styles: [".profile-menus ul{margin-top:.5rem;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-color-border-default),var(--tw-border-opacity, 1));padding-left:.5rem;padding-right:.5rem}.profile-menus ul:last-child{border-width:0px}.profile-menus ul li{display:flex;cursor:pointer;border-radius:.375rem;padding:.5rem}.profile-menus ul li:last-child{margin-bottom:.5rem}.profile-menus ul li:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.profile-menus ul li:hover:is(.ax-dark *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.profile-menus ul li i{margin-inline-end:.75rem;display:grid;height:1.5rem;width:1.5rem;place-items:center;font-size:1.25rem;line-height:1.75rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.AXPComponentSlotDirective, selector: "axp-component-slot", inputs: ["name"] }], encapsulation: i0.ViewEncapsulation.None }); }
229
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPRootLayoutHeaderComponent, isStandalone: false, selector: "axp-dashboard-admin-header", host: { classAttribute: "ax-h-16 ax-flex ax-justify-between ax-px-4 md:ax-px-0 md:ax-pe-6 ax-py-4 ax-bg-surface ax-border-b" }, ngImport: i0, template: "<div class=\"ax-w-full ax-flex ax-justify-between\">\n <div class=\"ax-flex ax-items-center md:ax-hidden\">\n <i class=\"fa-solid fa-bars ax-text-lg ax-me-3\" (click)=\"menuClick()\"></i>\n </div>\n <div class=\"ax-flex ax-items-center\">\n <div\n class=\"ax-hidden md:ax-flex ax-items-center ax-justify-center ax-w-8 ax-h-8 ax-bg-on-surface ax-rounded ax-rounded-s-none ax-me-8 ax-cursor-pointer\"\n (click)=\"menuClick()\">\n <i class=\"fa-solid fa-chevrons-left ax-text-sm\" [ngClass]=\"{ 'ax-rotate-180': !store.isSideMenuOpen() }\"> </i>\n </div>\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>", styles: [".profile-menus ul{margin-top:.5rem;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-color-border-default),var(--tw-border-opacity, 1));padding-left:.5rem;padding-right:.5rem}.profile-menus ul:last-child{border-width:0px}.profile-menus ul li{display:flex;cursor:pointer;border-radius:.375rem}.profile-menus ul li:last-child{margin-bottom:.5rem}.profile-menus ul li:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.profile-menus ul li:hover:is(.ax-dark *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.profile-menus ul li i{margin-inline-end:.75rem;display:grid;height:1.5rem;width:1.5rem;place-items:center;font-size:1.25rem;line-height:1.75rem}.profile-menus ul li a{display:flex;height:100%;width:100%;padding:.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.AXPComponentSlotDirective, selector: "axp-component-slot", inputs: ["name"] }], encapsulation: i0.ViewEncapsulation.None }); }
225
230
  }
226
231
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRootLayoutHeaderComponent, decorators: [{
227
232
  type: Component,
228
233
  args: [{ selector: 'axp-dashboard-admin-header', encapsulation: ViewEncapsulation.None, host: {
229
234
  class: 'ax-h-16 ax-flex ax-justify-between ax-px-4 md:ax-px-0 md:ax-pe-6 ax-py-4 ax-bg-surface ax-border-b',
230
- }, standalone: false, template: "<div class=\"ax-w-full ax-flex ax-justify-between\">\n <div class=\"ax-flex ax-items-center md:ax-hidden\">\n <i class=\"fa-solid fa-bars ax-text-lg ax-me-3\" (click)=\"menuClick()\"></i>\n </div>\n <div class=\"ax-flex ax-items-center\">\n <div\n class=\"ax-hidden md:ax-flex ax-items-center ax-justify-center ax-w-8 ax-h-8 ax-bg-on-surface ax-rounded ax-rounded-s-none ax-me-8 ax-cursor-pointer\"\n (click)=\"menuClick()\">\n <i class=\"fa-solid fa-chevrons-left ax-text-sm\" [ngClass]=\"{ 'ax-rotate-180': !store.isSideMenuOpen() }\"> </i>\n </div>\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>", styles: [".profile-menus ul{margin-top:.5rem;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-color-border-default),var(--tw-border-opacity, 1));padding-left:.5rem;padding-right:.5rem}.profile-menus ul:last-child{border-width:0px}.profile-menus ul li{display:flex;cursor:pointer;border-radius:.375rem;padding:.5rem}.profile-menus ul li:last-child{margin-bottom:.5rem}.profile-menus ul li:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.profile-menus ul li:hover:is(.ax-dark *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.profile-menus ul li i{margin-inline-end:.75rem;display:grid;height:1.5rem;width:1.5rem;place-items:center;font-size:1.25rem;line-height:1.75rem}\n"] }]
235
+ }, standalone: false, template: "<div class=\"ax-w-full ax-flex ax-justify-between\">\n <div class=\"ax-flex ax-items-center md:ax-hidden\">\n <i class=\"fa-solid fa-bars ax-text-lg ax-me-3\" (click)=\"menuClick()\"></i>\n </div>\n <div class=\"ax-flex ax-items-center\">\n <div\n class=\"ax-hidden md:ax-flex ax-items-center ax-justify-center ax-w-8 ax-h-8 ax-bg-on-surface ax-rounded ax-rounded-s-none ax-me-8 ax-cursor-pointer\"\n (click)=\"menuClick()\">\n <i class=\"fa-solid fa-chevrons-left ax-text-sm\" [ngClass]=\"{ 'ax-rotate-180': !store.isSideMenuOpen() }\"> </i>\n </div>\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>", styles: [".profile-menus ul{margin-top:.5rem;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-color-border-default),var(--tw-border-opacity, 1));padding-left:.5rem;padding-right:.5rem}.profile-menus ul:last-child{border-width:0px}.profile-menus ul li{display:flex;cursor:pointer;border-radius:.375rem}.profile-menus ul li:last-child{margin-bottom:.5rem}.profile-menus ul li:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.profile-menus ul li:hover:is(.ax-dark *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.profile-menus ul li i{margin-inline-end:.75rem;display:grid;height:1.5rem;width:1.5rem;place-items:center;font-size:1.25rem;line-height:1.75rem}.profile-menus ul li a{display:flex;height:100%;width:100%;padding:.5rem}\n"] }]
231
236
  }] });
232
237
 
233
238
  class AXPRootLayoutMenuComponent {
@@ -252,7 +257,7 @@ class AXPRootLayoutMenuComponent {
252
257
  return sortBy(items, [c => c.priority ?? 0, c => c.text]);
253
258
  }
254
259
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRootLayoutMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
255
- 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>\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 } @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\"></ax-icon>\n </ax-prefix>\n {{ item.text | translate | async }}\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>", styles: [""], 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: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i3$1.AXSideMenuComponent, selector: "ax-side-menu" }, { kind: "component", type: i3$1.AXSideMenuItemComponent, selector: "ax-side-menu-item", inputs: ["disabled", "color", "isLoading", "text", "isCollapsed", "active", "href", "routerLink", "routerLinkActive", "routerLinkActiveOptions", "target"], outputs: ["isLoadingChange", "textChange", "isCollapsedChange", "activeChange", "onClick"] }, { kind: "directive", type: i4$1.AXPPermissionDirective, selector: "[permission]", inputs: ["permission", "permissionElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.AXTranslatorPipe, name: "translate" }] }); }
260
+ 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>\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 } @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\"></ax-icon>\n </ax-prefix>\n {{ item.text | translate | async }}\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>", styles: [""], 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-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i3.AXSideMenuComponent, selector: "ax-side-menu" }, { kind: "component", type: i3.AXSideMenuItemComponent, selector: "ax-side-menu-item", inputs: ["disabled", "color", "isLoading", "text", "isCollapsed", "active", "href", "routerLink", "routerLinkActive", "routerLinkActiveOptions", "target"], outputs: ["isLoadingChange", "textChange", "isCollapsedChange", "activeChange", "onClick"] }, { kind: "directive", type: i4$2.AXPPermissionDirective, selector: "[permission]", inputs: ["permission", "permissionElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.AXTranslatorPipe, name: "translate" }] }); }
256
261
  }
257
262
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRootLayoutMenuComponent, decorators: [{
258
263
  type: Component,
@@ -272,11 +277,11 @@ class AXPRootLayoutComponent {
272
277
  ;
273
278
  }
274
279
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRootLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
275
- 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: "<ax-drawer-container>\n <ax-drawer #drawer location=\"start\" [collapsed]=\"!store.isSideMenuOpen()\"\n [mode]=\"store.isSmall() ? 'overlay' : 'push'\" (collapsedChange)=\"handleCollapsedChange($event)\">\n <ax-content\n class=\"ax-w-72 ax-h-full ax-flex ax-flex-col ax-bg-secondary-600 dark:ax-bg-surface ax-text-primary-fore ax-border-e ax-border-primary-700 dark:ax-border-default\">\n <header class=\"ax-px-7 ax-h-16 ax-flex ax-items-center ax-border-b ax-border-white/10\">\n <axp-logo [source]=\"logo?.light\"></axp-logo>\n </header>\n <nav class=\"ax-px-2 ax-py-4 ax-overflow-y-auto ax-flex-1 ax-h-full\">\n <axp-root-menu></axp-root-menu>\n </nav>\n </ax-content>\n </ax-drawer>\n <ax-content class=\"ax-flex ax-flex-col ax-relative\">\n @if(store.isNavigationLoading()) {\n <div class=\"axp-navigating-progress\">\n <div></div>\n </div>\n }\n <axp-dashboard-admin-header></axp-dashboard-admin-header>\n <div class=\"ax-flex-1 ax-overflow-auto ax-relative\" [axIsLoading]=\"store.isOverlayLoading()\">\n <router-outlet></router-outlet>\n </div>\n <axp-dashboard-admin-footer></axp-dashboard-admin-footer>\n </ax-content>\n</ax-drawer-container>", dependencies: [{ kind: "directive", type: i1$3.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, 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.AXLoadingDirective, selector: "[axIsLoading]", inputs: ["axIsLoading"] }, { kind: "component", type: i1$2.AXPLogoComponent, selector: "axp-logo", inputs: ["source"] }, { 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" }], encapsulation: i0.ViewEncapsulation.None }); }
280
+ 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: "<ax-drawer-container>\n <ax-drawer #drawer location=\"start\" [collapsed]=\"!store.isSideMenuOpen()\"\n [mode]=\"store.isSmall() || store.isMedium() ? 'overlay' : 'push'\" (collapsedChange)=\"handleCollapsedChange($event)\">\n <ax-content\n class=\"ax-w-72 ax-h-full ax-flex ax-flex-col ax-bg-secondary-600 dark:ax-bg-surface ax-text-primary-fore ax-border-e ax-border-primary-700 dark:ax-border-default\">\n <header class=\"ax-px-7 ax-h-16 ax-flex ax-items-center ax-border-b ax-border-white/10\">\n <axp-logo [source]=\"logo?.light\"></axp-logo>\n </header>\n <nav class=\"ax-px-2 ax-py-4 ax-overflow-y-auto ax-flex-1 ax-h-full\">\n <axp-root-menu></axp-root-menu>\n </nav>\n </ax-content>\n </ax-drawer>\n <ax-content class=\"ax-flex ax-flex-col ax-relative\">\n @if(store.isNavigationLoading()) {\n <div class=\"axp-navigating-progress\">\n <div></div>\n </div>\n }\n <axp-dashboard-admin-header></axp-dashboard-admin-header>\n <div class=\"ax-flex-1 ax-overflow-auto ax-relative\" [axIsLoading]=\"store.isOverlayLoading()\">\n <router-outlet></router-outlet>\n </div>\n <axp-dashboard-admin-footer></axp-dashboard-admin-footer>\n </ax-content>\n</ax-drawer-container>", 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-sub-title, 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: i4$3.AXLoadingDirective, selector: "[axIsLoading]", inputs: ["axIsLoading"] }, { kind: "component", type: i1$2.AXPLogoComponent, selector: "axp-logo", inputs: ["source"] }, { 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" }], encapsulation: i0.ViewEncapsulation.None }); }
276
281
  }
277
282
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRootLayoutComponent, decorators: [{
278
283
  type: Component,
279
- args: [{ encapsulation: ViewEncapsulation.None, standalone: false, template: "<ax-drawer-container>\n <ax-drawer #drawer location=\"start\" [collapsed]=\"!store.isSideMenuOpen()\"\n [mode]=\"store.isSmall() ? 'overlay' : 'push'\" (collapsedChange)=\"handleCollapsedChange($event)\">\n <ax-content\n class=\"ax-w-72 ax-h-full ax-flex ax-flex-col ax-bg-secondary-600 dark:ax-bg-surface ax-text-primary-fore ax-border-e ax-border-primary-700 dark:ax-border-default\">\n <header class=\"ax-px-7 ax-h-16 ax-flex ax-items-center ax-border-b ax-border-white/10\">\n <axp-logo [source]=\"logo?.light\"></axp-logo>\n </header>\n <nav class=\"ax-px-2 ax-py-4 ax-overflow-y-auto ax-flex-1 ax-h-full\">\n <axp-root-menu></axp-root-menu>\n </nav>\n </ax-content>\n </ax-drawer>\n <ax-content class=\"ax-flex ax-flex-col ax-relative\">\n @if(store.isNavigationLoading()) {\n <div class=\"axp-navigating-progress\">\n <div></div>\n </div>\n }\n <axp-dashboard-admin-header></axp-dashboard-admin-header>\n <div class=\"ax-flex-1 ax-overflow-auto ax-relative\" [axIsLoading]=\"store.isOverlayLoading()\">\n <router-outlet></router-outlet>\n </div>\n <axp-dashboard-admin-footer></axp-dashboard-admin-footer>\n </ax-content>\n</ax-drawer-container>" }]
284
+ args: [{ encapsulation: ViewEncapsulation.None, standalone: false, template: "<ax-drawer-container>\n <ax-drawer #drawer location=\"start\" [collapsed]=\"!store.isSideMenuOpen()\"\n [mode]=\"store.isSmall() || store.isMedium() ? 'overlay' : 'push'\" (collapsedChange)=\"handleCollapsedChange($event)\">\n <ax-content\n class=\"ax-w-72 ax-h-full ax-flex ax-flex-col ax-bg-secondary-600 dark:ax-bg-surface ax-text-primary-fore ax-border-e ax-border-primary-700 dark:ax-border-default\">\n <header class=\"ax-px-7 ax-h-16 ax-flex ax-items-center ax-border-b ax-border-white/10\">\n <axp-logo [source]=\"logo?.light\"></axp-logo>\n </header>\n <nav class=\"ax-px-2 ax-py-4 ax-overflow-y-auto ax-flex-1 ax-h-full\">\n <axp-root-menu></axp-root-menu>\n </nav>\n </ax-content>\n </ax-drawer>\n <ax-content class=\"ax-flex ax-flex-col ax-relative\">\n @if(store.isNavigationLoading()) {\n <div class=\"axp-navigating-progress\">\n <div></div>\n </div>\n }\n <axp-dashboard-admin-header></axp-dashboard-admin-header>\n <div class=\"ax-flex-1 ax-overflow-auto ax-relative\" [axIsLoading]=\"store.isOverlayLoading()\">\n <router-outlet></router-outlet>\n </div>\n <axp-dashboard-admin-footer></axp-dashboard-admin-footer>\n </ax-content>\n</ax-drawer-container>" }]
280
285
  }], ctorParameters: () => [], propDecorators: { drawer: [{
281
286
  type: ViewChild,
282
287
  args: ['drawer']
@@ -359,51 +364,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
359
364
  }]
360
365
  }] });
361
366
 
362
- class AXPSettingsMenuComponent {
363
- constructor() {
364
- this.settings = inject(AXPSettingsViewModel);
365
- this.activatedRoute = inject(ActivatedRoute);
366
- afterNextRender(async () => {
367
- await this.settings.initializeService(this.activatedRoute);
368
- });
369
- }
370
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSettingsMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
371
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPSettingsMenuComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<ax-drawer-container id=\"ax-settings\" class=\"ax-w-full md:ax-min-w-96 ax-flex ax-items-center ax-h-[100vh-104px]\">\n <ax-drawer #drawer location=\"start\" mode=\"push\" class=\"ax-w-full ax-max-w-full md:ax-w-auto\"\n [collapsed]=\"settings.isMobile() && !!settings.activatedGroup()\">\n <ax-content class=\"ax-flex ax-min-w-[300px] ax-flex-col ax-p-6 ax-border-r\">\n <p class=\"ax-text-xl ax-font-bold ax-pb-6\">Workspace Settings</p>\n <div class=\"ax-settings-menu\">\n <ax-tree-view #tree (onNodeClick)=\"settings.onChooseGroup($event)\" [hasChildField]=\"'hasChild'\"\n [selectable]=\"false\" [items]=\"settings.formattedData()\"></ax-tree-view>\n </div>\n </ax-content>\n </ax-drawer>\n\n <ax-content [class.ax-hidden]=\"settings.isMobile() && !settings.activatedGroup()\">\n @if(!settings.activatedGroup()){\n <div\n class=\"ax-bg-surface ax-flex ax-flex-col ax-justify-center ax-h-[calc(100vh-104px)] ax-items-center ax-p-10 ax-gap-10\">\n <div class=\"ax-relative ax-w-32 ax-h-32 ax-animate-rotateIn\">\n <div class=\"ax-absolute ax-inset-0 ax-bg-blue-50 ax-rounded-full\"></div>\n <svg\n class=\"ax-absolute ax-inset-0 ax-w-full ax-h-full ax-text-blue-500 ax-transform ax-transition-transform ax-hover:rotate-180 ax-duration-700\"\n fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n d=\"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z\">\n </path>\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15 12a3 3 0 11-6 0 3 3 0 016 0z\">\n </path>\n </svg>\n </div>\n\n <div class=\"ax-space-y-3 ax-text-center\">\n <h2 class=\"ax-text-2xl ax-font-bold\">No Settings Choose</h2>\n <p>Start customizing your settings by choosing one</p>\n </div>\n </div>\n }\n <router-outlet></router-outlet>\n </ax-content>\n</ax-drawer-container>", dependencies: [{ 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: CommonModule }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXTreeViewModule }, { kind: "component", type: i3$2.AXTreeViewComponent, selector: "ax-tree-view", inputs: ["items", "selectable", "selectionMode", "selectionBehavior", "showActiveNode", "valueField", "textField", "visibleField", "disableField", "hasChildField", "iconField"], outputs: ["onSelectionChange", "onItemClick", "onNodeClick", "onNodeExpandClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
372
- }
373
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSettingsMenuComponent, decorators: [{
374
- type: Component,
375
- args: [{ imports: [AXDrawerModule, CommonModule, RouterOutlet, AXDecoratorModule, AXTreeViewModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ax-drawer-container id=\"ax-settings\" class=\"ax-w-full md:ax-min-w-96 ax-flex ax-items-center ax-h-[100vh-104px]\">\n <ax-drawer #drawer location=\"start\" mode=\"push\" class=\"ax-w-full ax-max-w-full md:ax-w-auto\"\n [collapsed]=\"settings.isMobile() && !!settings.activatedGroup()\">\n <ax-content class=\"ax-flex ax-min-w-[300px] ax-flex-col ax-p-6 ax-border-r\">\n <p class=\"ax-text-xl ax-font-bold ax-pb-6\">Workspace Settings</p>\n <div class=\"ax-settings-menu\">\n <ax-tree-view #tree (onNodeClick)=\"settings.onChooseGroup($event)\" [hasChildField]=\"'hasChild'\"\n [selectable]=\"false\" [items]=\"settings.formattedData()\"></ax-tree-view>\n </div>\n </ax-content>\n </ax-drawer>\n\n <ax-content [class.ax-hidden]=\"settings.isMobile() && !settings.activatedGroup()\">\n @if(!settings.activatedGroup()){\n <div\n class=\"ax-bg-surface ax-flex ax-flex-col ax-justify-center ax-h-[calc(100vh-104px)] ax-items-center ax-p-10 ax-gap-10\">\n <div class=\"ax-relative ax-w-32 ax-h-32 ax-animate-rotateIn\">\n <div class=\"ax-absolute ax-inset-0 ax-bg-blue-50 ax-rounded-full\"></div>\n <svg\n class=\"ax-absolute ax-inset-0 ax-w-full ax-h-full ax-text-blue-500 ax-transform ax-transition-transform ax-hover:rotate-180 ax-duration-700\"\n fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n d=\"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z\">\n </path>\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15 12a3 3 0 11-6 0 3 3 0 016 0z\">\n </path>\n </svg>\n </div>\n\n <div class=\"ax-space-y-3 ax-text-center\">\n <h2 class=\"ax-text-2xl ax-font-bold\">No Settings Choose</h2>\n <p>Start customizing your settings by choosing one</p>\n </div>\n </div>\n }\n <router-outlet></router-outlet>\n </ax-content>\n</ax-drawer-container>" }]
376
- }], ctorParameters: () => [] });
377
-
378
- class AXPSettingsViewComponent {
379
- constructor() {
380
- this.vm = inject(AXPSettingsViewModel);
381
- this.injector = inject(Injector);
382
- }
383
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSettingsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
384
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPSettingsViewComponent, isStandalone: true, selector: "ng-component", host: { classAttribute: "ax-w-full" }, ngImport: i0, template: "<div #content class=\"ax-overflow-auto ax-h-full\">\n <div class=\"ax-flex ax-flex-col ax-px-6 ax-pt-0 md:ax-pt-6 ax-sticky ax-top-0 ax-z-10 ax-transition-all\"\n #sticky=\"axpSticky\" [axpSticky]=\"'ax-bg-surface ax-py-3 ax-shadow-xl'\" [stickyOffset]=\"0\" [stickyParent]=\"content\">\n <div\n class=\"ax-flex ax-justify-between ax-items-center ax-flex-wrap md:ax-flex-nowrap ax-gap-4 ax-pt-4 ax-overflow-x-auto\">\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-transition\">\n <div class=\"md:ax-block ax-flex ax-justify-start ax-items-center ax-gap-4\">\n <ax-button class=\"ax-block md:ax-hidden\" color=\"ghost\" [routerLink]=\"vm.fullRoute\">\n <ax-icon> <i class=\"fa-solid fa-chevron-left\"></i></ax-icon></ax-button>\n <div class=\"ax-text-xl md:ax-text-2xl ax-font-bold\">\n {{ vm.groups()?.breadcrumb?.[(vm.groups()?.breadcrumb?.length??1)- 1]?.title }}\n </div>\n </div>\n <ax-breadcrumbs class=\"child:ax-font-normal child:ax-text-neutral-400 ax-flex-wrap ax-hidden md:ax-block\">\n <ng-template #divider>\n <i class=\"fa-solid fa-chevron-right ax-text-xs ax-mx-2\"></i>\n </ng-template>\n <ax-breadcrumbs-item [active]=\"false\" [routerLink]=\"vm.fullRoute\">\n <i class=\"ax-me-2 ax-text-xs fa-home fa-solid\"></i>{{ 'home' | translate | async }}</ax-breadcrumbs-item>\n @for(b of vm.groups()?.breadcrumb;track $index;let last=$last) {\n <ax-breadcrumbs-item [active]=\"last\" [class.!ax-font-semibold]=\"last\" [class.!ax-text-neutral-600]=\"last\"\n [routerLink]=\"vm.fullRoute + b.name\">\n {{ b.title | translate | async }}\n </ax-breadcrumbs-item>\n }\n </ax-breadcrumbs>\n </div>\n <div class=\"ax-w-64\">\n <ax-search-box [delayTime]=\"300\" [(ngModel)]=\"vm.search\"> </ax-search-box>\n </div>\n </div>\n </div>\n\n <axp-widgets-container [context]=\"vm.context()\" (onChanged)=\"vm.handleContextChanged($event)\">\n @if(vm.search() && vm.searchResult()!.length>0){\n <div class=\"ax-settings-items\">\n @for(group of vm.searchResult(); track group.name)\n {\n <p class=\"ax-text-lg md:ax-text-xl ax-font-semibold ax-p-6 ax-pb-3 ax-text-neutral-400\">\n {{ group.title }}\n </p>\n @for (section of group.sections; track section.name)\n {\n <ng-container [ngTemplateOutlet]=\"sectionTpl\" [ngTemplateOutletContext]=\"{ section }\"\n [ngTemplateOutletInjector]=\"injector\"></ng-container>\n }\n }\n <ng-container *ngTemplateOutlet=\"actions\"></ng-container>\n </div>\n }\n @else if(vm.search() && vm.searchResult()!.length===0) {\n <div class=\"ax-p-2\">\n <div\n class=\"ax-mt-3 ax-flex ax-flex-col ax-justify-center ax-h-[calc(100vh-236px)] ax-items-center ax-p-10 ax-gap-10\">\n <p class=\"ax-text-xl md:ax-text-2xl ax-font-bold\">No Setting Found!</p>\n </div>\n </div>\n }\n @else if(vm.groups()?.sections)\n {\n <div class=\"ax-settings-items \">\n @for(section of vm.groups()?.sections; track section.name)\n {\n <ng-container [ngTemplateOutlet]=\"sectionTpl\" [ngTemplateOutletContext]=\"{ section }\"\n [ngTemplateOutletInjector]=\"injector\"></ng-container>\n }\n <ng-container *ngTemplateOutlet=\"actions\"></ng-container>\n </div>\n }\n @else\n {\n <div class=\"ax-bg-surface ax-m-6 ax-px-4 ax-border ax-rounded-md\">\n @for(group of vm.groups()?.groups; track $index)\n {\n <div class=\"ax-p-4\">\n <a [routerLink]=\"vm.fullRoute + group.name\"\n class=\"ax-text-primary-500 dark:ax-text-primary-200 ax-underline ax-font-bold ax-text-xl\">{{ group.title\n }}</a>\n </div>\n }\n </div>\n }\n <ng-template #sectionTpl let-section=\"section\">\n <div class=\"ax-bg-surface ax-m-6 ax-px-4 ax-border ax-rounded-md ax-shadow-sm\">\n <div class=\"ax-py-4\">\n <p class=\"ax-font-semibold ax-text-xl\">{{ section.title }}</p>\n @if(section.description)\n {\n <p class=\"ax-text-sm ax-text-neutral-400\">{{ section.description }}</p>\n }\n </div>\n <div class=\"ax-divide-y ax-w-full \">\n @for(j of section.settings; track j.name){\n <div class=\"ax-py-4\">\n @if(widget.options().needLabel!=false || j.description)\n {\n <p class=\"ax-font-semibold\">{{ j.title }}</p>\n }\n @if(j.description)\n {\n <p class=\"ax-text-sm ax-text-neutral-400\">{{ j.description }}</p>\n }\n <div class=\"ax-w-full md:ax-min-w-fit md:ax-max-w-[50%] lg:ax-max-w-[30%] ax-mt-4\">\n <ng-container axp-widget-renderer [node]=\"j.widget\" [mode]=\"'edit'\" #widget=\"widgetRenderer\">\n </ng-container>\n </div>\n </div>\n }\n </div>\n </div>\n </ng-template>\n\n <ng-template #actions>\n <div class=\"ax-w-full ax-gap-3 ax-p-6 ax-pt-0 ax-flex ax-justify-end ax-items-center ax-flex-wrap\">\n <ax-dropdown-button [text]=\"('reset' | translate | async)!\" (onClick)=\"vm.reset()\">\n <ax-button-item-list>\n <ax-button-item [text]=\"('restore-defaults' | translate | async)!\" (onClick)=\"vm.resetToDefault()\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-rotate-left fa-flip-horizontal\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n <ax-button [disabled]=\"!vm.canSave()\" (onClick)=\"vm.apply()\" color=\"primary\"\n [text]=\"'apply' | translate | async\">\n @if(vm.isSaving())\n {\n <ax-loading></ax-loading>\n }\n </ax-button>\n </div>\n </ng-template>\n\n </axp-widgets-container>\n</div>", 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: AXPLayoutBuilderModule }, { kind: "component", type: i9.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "variables", "functions"], outputs: ["onChanged", "contextChange"] }, { kind: "directive", type: i9.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], exportAs: ["widgetRenderer"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "component", type: i4$2.AXBreadCrumbsComponent, selector: "ax-breadcrumbs" }, { kind: "component", type: i4$2.AXBreadCrumbsItemComponent, selector: "ax-breadcrumbs-item", inputs: ["disabled", "active"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i4.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i4.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i10.AXTranslatorPipe, name: "translate" }, { kind: "directive", type: AXPStickyDirective, selector: "[axpSticky]", inputs: ["axpSticky", "stickyOffset", "stickyParent", "stickyTarget"], outputs: ["isStickyChange"], exportAs: ["axpSticky"] }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i7.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "delayTime"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "component", type: i7$1.AXDropdownButtonComponent, selector: "ax-dropdown-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "type", "mode"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i5.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i10$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
385
- }
386
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSettingsViewComponent, decorators: [{
387
- type: Component,
388
- args: [{ imports: [
389
- CommonModule,
390
- AXPLayoutBuilderModule,
391
- AXDecoratorModule,
392
- AXBreadcrumbsModule,
393
- RouterLink,
394
- AXButtonModule,
395
- AXTranslationModule,
396
- AsyncPipe,
397
- AXPStickyDirective,
398
- AXSearchBoxModule,
399
- AXDropdownButtonModule,
400
- AXLoadingModule,
401
- FormsModule
402
- ], changeDetection: ChangeDetectionStrategy.OnPush, host: {
403
- class: 'ax-w-full',
404
- }, template: "<div #content class=\"ax-overflow-auto ax-h-full\">\n <div class=\"ax-flex ax-flex-col ax-px-6 ax-pt-0 md:ax-pt-6 ax-sticky ax-top-0 ax-z-10 ax-transition-all\"\n #sticky=\"axpSticky\" [axpSticky]=\"'ax-bg-surface ax-py-3 ax-shadow-xl'\" [stickyOffset]=\"0\" [stickyParent]=\"content\">\n <div\n class=\"ax-flex ax-justify-between ax-items-center ax-flex-wrap md:ax-flex-nowrap ax-gap-4 ax-pt-4 ax-overflow-x-auto\">\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-transition\">\n <div class=\"md:ax-block ax-flex ax-justify-start ax-items-center ax-gap-4\">\n <ax-button class=\"ax-block md:ax-hidden\" color=\"ghost\" [routerLink]=\"vm.fullRoute\">\n <ax-icon> <i class=\"fa-solid fa-chevron-left\"></i></ax-icon></ax-button>\n <div class=\"ax-text-xl md:ax-text-2xl ax-font-bold\">\n {{ vm.groups()?.breadcrumb?.[(vm.groups()?.breadcrumb?.length??1)- 1]?.title }}\n </div>\n </div>\n <ax-breadcrumbs class=\"child:ax-font-normal child:ax-text-neutral-400 ax-flex-wrap ax-hidden md:ax-block\">\n <ng-template #divider>\n <i class=\"fa-solid fa-chevron-right ax-text-xs ax-mx-2\"></i>\n </ng-template>\n <ax-breadcrumbs-item [active]=\"false\" [routerLink]=\"vm.fullRoute\">\n <i class=\"ax-me-2 ax-text-xs fa-home fa-solid\"></i>{{ 'home' | translate | async }}</ax-breadcrumbs-item>\n @for(b of vm.groups()?.breadcrumb;track $index;let last=$last) {\n <ax-breadcrumbs-item [active]=\"last\" [class.!ax-font-semibold]=\"last\" [class.!ax-text-neutral-600]=\"last\"\n [routerLink]=\"vm.fullRoute + b.name\">\n {{ b.title | translate | async }}\n </ax-breadcrumbs-item>\n }\n </ax-breadcrumbs>\n </div>\n <div class=\"ax-w-64\">\n <ax-search-box [delayTime]=\"300\" [(ngModel)]=\"vm.search\"> </ax-search-box>\n </div>\n </div>\n </div>\n\n <axp-widgets-container [context]=\"vm.context()\" (onChanged)=\"vm.handleContextChanged($event)\">\n @if(vm.search() && vm.searchResult()!.length>0){\n <div class=\"ax-settings-items\">\n @for(group of vm.searchResult(); track group.name)\n {\n <p class=\"ax-text-lg md:ax-text-xl ax-font-semibold ax-p-6 ax-pb-3 ax-text-neutral-400\">\n {{ group.title }}\n </p>\n @for (section of group.sections; track section.name)\n {\n <ng-container [ngTemplateOutlet]=\"sectionTpl\" [ngTemplateOutletContext]=\"{ section }\"\n [ngTemplateOutletInjector]=\"injector\"></ng-container>\n }\n }\n <ng-container *ngTemplateOutlet=\"actions\"></ng-container>\n </div>\n }\n @else if(vm.search() && vm.searchResult()!.length===0) {\n <div class=\"ax-p-2\">\n <div\n class=\"ax-mt-3 ax-flex ax-flex-col ax-justify-center ax-h-[calc(100vh-236px)] ax-items-center ax-p-10 ax-gap-10\">\n <p class=\"ax-text-xl md:ax-text-2xl ax-font-bold\">No Setting Found!</p>\n </div>\n </div>\n }\n @else if(vm.groups()?.sections)\n {\n <div class=\"ax-settings-items \">\n @for(section of vm.groups()?.sections; track section.name)\n {\n <ng-container [ngTemplateOutlet]=\"sectionTpl\" [ngTemplateOutletContext]=\"{ section }\"\n [ngTemplateOutletInjector]=\"injector\"></ng-container>\n }\n <ng-container *ngTemplateOutlet=\"actions\"></ng-container>\n </div>\n }\n @else\n {\n <div class=\"ax-bg-surface ax-m-6 ax-px-4 ax-border ax-rounded-md\">\n @for(group of vm.groups()?.groups; track $index)\n {\n <div class=\"ax-p-4\">\n <a [routerLink]=\"vm.fullRoute + group.name\"\n class=\"ax-text-primary-500 dark:ax-text-primary-200 ax-underline ax-font-bold ax-text-xl\">{{ group.title\n }}</a>\n </div>\n }\n </div>\n }\n <ng-template #sectionTpl let-section=\"section\">\n <div class=\"ax-bg-surface ax-m-6 ax-px-4 ax-border ax-rounded-md ax-shadow-sm\">\n <div class=\"ax-py-4\">\n <p class=\"ax-font-semibold ax-text-xl\">{{ section.title }}</p>\n @if(section.description)\n {\n <p class=\"ax-text-sm ax-text-neutral-400\">{{ section.description }}</p>\n }\n </div>\n <div class=\"ax-divide-y ax-w-full \">\n @for(j of section.settings; track j.name){\n <div class=\"ax-py-4\">\n @if(widget.options().needLabel!=false || j.description)\n {\n <p class=\"ax-font-semibold\">{{ j.title }}</p>\n }\n @if(j.description)\n {\n <p class=\"ax-text-sm ax-text-neutral-400\">{{ j.description }}</p>\n }\n <div class=\"ax-w-full md:ax-min-w-fit md:ax-max-w-[50%] lg:ax-max-w-[30%] ax-mt-4\">\n <ng-container axp-widget-renderer [node]=\"j.widget\" [mode]=\"'edit'\" #widget=\"widgetRenderer\">\n </ng-container>\n </div>\n </div>\n }\n </div>\n </div>\n </ng-template>\n\n <ng-template #actions>\n <div class=\"ax-w-full ax-gap-3 ax-p-6 ax-pt-0 ax-flex ax-justify-end ax-items-center ax-flex-wrap\">\n <ax-dropdown-button [text]=\"('reset' | translate | async)!\" (onClick)=\"vm.reset()\">\n <ax-button-item-list>\n <ax-button-item [text]=\"('restore-defaults' | translate | async)!\" (onClick)=\"vm.resetToDefault()\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-rotate-left fa-flip-horizontal\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n <ax-button [disabled]=\"!vm.canSave()\" (onClick)=\"vm.apply()\" color=\"primary\"\n [text]=\"'apply' | translate | async\">\n @if(vm.isSaving())\n {\n <ax-loading></ax-loading>\n }\n </ax-button>\n </div>\n </ng-template>\n\n </axp-widgets-container>\n</div>" }]
405
- }] });
406
-
407
367
  class AXPEntityReuseStrategy {
408
368
  shouldDetach(route) {
409
369
  return false;
@@ -432,28 +392,17 @@ function routesFacory() {
432
392
  children: [
433
393
  {
434
394
  path: '',
435
- component: AXPSettingsMenuComponent,
395
+ loadComponent: () => import('./acorex-platform-themes-default-setting-page.component-6Dd8MGqr.mjs').then((c) => c.AXPSettingPageComponent),
436
396
  data: { reuse: true },
437
397
  children: [
438
398
  {
439
399
  path: ':group',
440
- component: AXPSettingsViewComponent,
400
+ loadComponent: () => import('./acorex-platform-themes-default-setting-view.component-BgiMClew.mjs').then((c) => c.AXPSettingsViewComponent),
441
401
  },
442
402
  ],
443
403
  },
444
404
  ],
445
405
  },
446
- // {
447
- // path: ':app/settings/:scope',
448
- // component: config.viewers.root(),
449
- // children: [
450
- // {
451
- // path: '',
452
- // component: AXPSettingPageComponent,
453
- // data: { reuse: true },
454
- // },
455
- // ],
456
- // },
457
406
  {
458
407
  path: 'error',
459
408
  children: [
@@ -487,13 +436,13 @@ class AXPDefaultThemeModule {
487
436
  viewers: {
488
437
  root: () => AXPRootLayoutComponent,
489
438
  master: {
490
- single: () => import('./acorex-platform-themes-default-entity-master-single-view.component-q_DOP0cT.mjs').then((c) => c.AXPEntityMasterSingleViewComponent),
439
+ single: () => import('./acorex-platform-themes-default-entity-master-single-view.component-DjyYU0Gy.mjs').then((c) => c.AXPEntityMasterSingleViewComponent),
491
440
  ///
492
- create: () => import('./acorex-platform-themes-default-entity-master-create-view.component-CJ_HVKX-.mjs').then((c) => c.AXPEntityMasterCreateViewComponent),
441
+ create: () => import('./acorex-platform-themes-default-entity-master-create-view.component-CSyR4pYp.mjs').then((c) => c.AXPEntityMasterCreateViewComponent),
493
442
  ///
494
- modify: () => import('./acorex-platform-themes-default-entity-master-modify-view.component-DveB-N1Z.mjs').then((c) => c.AXPEntityMasterModifyViewComponent),
443
+ modify: () => import('./acorex-platform-themes-default-entity-master-modify-view.component-n7mYNduJ.mjs').then((c) => c.AXPEntityMasterModifyViewComponent),
495
444
  //
496
- list: () => import('./acorex-platform-themes-default-entity-master-list-view.component-BJ-ELNnN.mjs').then((c) => c.AXPEntityMasterListViewComponent),
445
+ list: () => import('./acorex-platform-themes-default-entity-master-list-view.component-xHWp2Lk-.mjs').then((c) => c.AXPEntityMasterListViewComponent),
497
446
  },
498
447
  },
499
448
  },
@@ -526,13 +475,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
526
475
  viewers: {
527
476
  root: () => AXPRootLayoutComponent,
528
477
  master: {
529
- single: () => import('./acorex-platform-themes-default-entity-master-single-view.component-q_DOP0cT.mjs').then((c) => c.AXPEntityMasterSingleViewComponent),
478
+ single: () => import('./acorex-platform-themes-default-entity-master-single-view.component-DjyYU0Gy.mjs').then((c) => c.AXPEntityMasterSingleViewComponent),
530
479
  ///
531
- create: () => import('./acorex-platform-themes-default-entity-master-create-view.component-CJ_HVKX-.mjs').then((c) => c.AXPEntityMasterCreateViewComponent),
480
+ create: () => import('./acorex-platform-themes-default-entity-master-create-view.component-CSyR4pYp.mjs').then((c) => c.AXPEntityMasterCreateViewComponent),
532
481
  ///
533
- modify: () => import('./acorex-platform-themes-default-entity-master-modify-view.component-DveB-N1Z.mjs').then((c) => c.AXPEntityMasterModifyViewComponent),
482
+ modify: () => import('./acorex-platform-themes-default-entity-master-modify-view.component-n7mYNduJ.mjs').then((c) => c.AXPEntityMasterModifyViewComponent),
534
483
  //
535
- list: () => import('./acorex-platform-themes-default-entity-master-list-view.component-BJ-ELNnN.mjs').then((c) => c.AXPEntityMasterListViewComponent),
484
+ list: () => import('./acorex-platform-themes-default-entity-master-list-view.component-xHWp2Lk-.mjs').then((c) => c.AXPEntityMasterListViewComponent),
536
485
  },
537
486
  },
538
487
  },
@@ -551,5 +500,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
551
500
  * Generated bundle index. Do not edit.
552
501
  */
553
502
 
554
- export { AXPAdminRootLayoutModule, AXPDefaultThemeModule, AXPEntityDetailListViewComponent, AXPRootLayoutComponent, AXPRootLayoutFooterComponent, AXPRootLayoutHeaderComponent, AXPRootLayoutMenuComponent, AXPSettingsMenuComponent, AXPSettingsViewComponent, AXPSimplePageLayout };
503
+ export { AXPAdminRootLayoutModule, AXPDefaultThemeModule, AXPEntityDetailListViewComponent, AXPRootLayoutComponent, AXPRootLayoutFooterComponent, AXPRootLayoutHeaderComponent, AXPRootLayoutMenuComponent, AXPSimplePageLayout };
555
504
  //# sourceMappingURL=acorex-platform-themes-default.mjs.map