@acorex/modules 20.8.21 → 20.8.23

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 (41) hide show
  1. package/fesm2022/acorex-modules-application-management.mjs +1 -1
  2. package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
  3. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-dgKWK4M-.mjs → acorex-modules-auth-acorex-modules-auth-C6qGQv_F.mjs} +42 -37
  4. package/fesm2022/acorex-modules-auth-acorex-modules-auth-C6qGQv_F.mjs.map +1 -0
  5. package/fesm2022/{acorex-modules-auth-app-chooser.component-DE7nsDoV.mjs → acorex-modules-auth-app-chooser.component-DkBkMn1r.mjs} +4 -4
  6. package/fesm2022/acorex-modules-auth-app-chooser.component-DkBkMn1r.mjs.map +1 -0
  7. package/fesm2022/{acorex-modules-auth-login.module-CfDSXIAI.mjs → acorex-modules-auth-login.module-D9pM1Xk8.mjs} +4 -4
  8. package/fesm2022/{acorex-modules-auth-login.module-CfDSXIAI.mjs.map → acorex-modules-auth-login.module-D9pM1Xk8.mjs.map} +1 -1
  9. package/fesm2022/{acorex-modules-auth-master.layout-Bt2evGBK.mjs → acorex-modules-auth-master.layout-CiBpuWwm.mjs} +2 -2
  10. package/fesm2022/{acorex-modules-auth-master.layout-Bt2evGBK.mjs.map → acorex-modules-auth-master.layout-CiBpuWwm.mjs.map} +1 -1
  11. package/fesm2022/{acorex-modules-auth-oauth-callback.component-D-ZI1Zlu.mjs → acorex-modules-auth-oauth-callback.component-GSA5zP6y.mjs} +2 -2
  12. package/fesm2022/{acorex-modules-auth-oauth-callback.component-D-ZI1Zlu.mjs.map → acorex-modules-auth-oauth-callback.component-GSA5zP6y.mjs.map} +1 -1
  13. package/fesm2022/{acorex-modules-auth-password.component-Bq2AXxsh.mjs → acorex-modules-auth-password.component-DW7Ts7Ow.mjs} +2 -2
  14. package/fesm2022/{acorex-modules-auth-password.component-Bq2AXxsh.mjs.map → acorex-modules-auth-password.component-DW7Ts7Ow.mjs.map} +1 -1
  15. package/fesm2022/{acorex-modules-auth-password.component-QDPyViE8.mjs → acorex-modules-auth-password.component-DnCxmoV2.mjs} +2 -2
  16. package/fesm2022/{acorex-modules-auth-password.component-QDPyViE8.mjs.map → acorex-modules-auth-password.component-DnCxmoV2.mjs.map} +1 -1
  17. package/fesm2022/{acorex-modules-auth-routes-C_oH3fv-.mjs → acorex-modules-auth-routes-Dh-tS9U2.mjs} +2 -2
  18. package/fesm2022/{acorex-modules-auth-routes-C_oH3fv-.mjs.map → acorex-modules-auth-routes-Dh-tS9U2.mjs.map} +1 -1
  19. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-C-q5FlJt.mjs → acorex-modules-auth-tenant-chooser.component-DTP16dBf.mjs} +2 -2
  20. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-C-q5FlJt.mjs.map → acorex-modules-auth-tenant-chooser.component-DTP16dBf.mjs.map} +1 -1
  21. package/fesm2022/{acorex-modules-auth-two-factor.module-Dybj3zGa.mjs → acorex-modules-auth-two-factor.module-DKA8d1Gf.mjs} +2 -2
  22. package/fesm2022/{acorex-modules-auth-two-factor.module-Dybj3zGa.mjs.map → acorex-modules-auth-two-factor.module-DKA8d1Gf.mjs.map} +1 -1
  23. package/fesm2022/{acorex-modules-auth-user-sessions.component-CjMVASef.mjs → acorex-modules-auth-user-sessions.component-DZmzUnch.mjs} +2 -2
  24. package/fesm2022/{acorex-modules-auth-user-sessions.component-CjMVASef.mjs.map → acorex-modules-auth-user-sessions.component-DZmzUnch.mjs.map} +1 -1
  25. package/fesm2022/acorex-modules-auth.mjs +1 -1
  26. package/fesm2022/acorex-modules-locale-management.mjs +1 -1
  27. package/fesm2022/acorex-modules-locale-management.mjs.map +1 -1
  28. package/fesm2022/acorex-modules-security-management.mjs +2 -2
  29. package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
  30. package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-CQR64tFc.mjs → acorex-modules-settings-management-acorex-modules-settings-management-bpl66oq_.mjs} +6 -6
  31. package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-CQR64tFc.mjs.map → acorex-modules-settings-management-acorex-modules-settings-management-bpl66oq_.mjs.map} +1 -1
  32. package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-Y6HBcIFV.mjs → acorex-modules-settings-management-permission-definition.provider-D9XfxvPa.mjs} +2 -2
  33. package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-Y6HBcIFV.mjs.map → acorex-modules-settings-management-permission-definition.provider-D9XfxvPa.mjs.map} +1 -1
  34. package/fesm2022/{acorex-modules-settings-management-setting-page.component-COOQW9ON.mjs → acorex-modules-settings-management-setting-page.component-JQJ9NeTO.mjs} +2 -2
  35. package/fesm2022/{acorex-modules-settings-management-setting-page.component-COOQW9ON.mjs.map → acorex-modules-settings-management-setting-page.component-JQJ9NeTO.mjs.map} +1 -1
  36. package/fesm2022/{acorex-modules-settings-management-setting-view.component-CeyzDpwa.mjs → acorex-modules-settings-management-setting-view.component-G8LpEl1T.mjs} +2 -2
  37. package/fesm2022/{acorex-modules-settings-management-setting-view.component-CeyzDpwa.mjs.map → acorex-modules-settings-management-setting-view.component-G8LpEl1T.mjs.map} +1 -1
  38. package/fesm2022/acorex-modules-settings-management.mjs +1 -1
  39. package/package.json +21 -21
  40. package/fesm2022/acorex-modules-auth-acorex-modules-auth-dgKWK4M-.mjs.map +0 -1
  41. package/fesm2022/acorex-modules-auth-app-chooser.component-DE7nsDoV.mjs.map +0 -1
@@ -3,11 +3,11 @@ import { AXPLayoutThemeService } from '@acorex/platform/themes/shared';
3
3
  import * as i1$3 from '@angular/common/http';
4
4
  import { HttpErrorResponse } from '@angular/common/http';
5
5
  import * as i0 from '@angular/core';
6
- import { inject, isDevMode, Injectable, InjectionToken, output, viewChild, viewChildren, signal, computed, effect, ChangeDetectionStrategy, Component, input, ViewChild, ViewEncapsulation, NgModule } from '@angular/core';
6
+ import { inject, isDevMode, Injectable, InjectionToken, input, output, viewChild, viewChildren, signal, computed, effect, ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation, NgModule } from '@angular/core';
7
7
  import * as i1$2 from '@angular/router';
8
8
  import { Router, RouterModule, ROUTES } from '@angular/router';
9
9
  import * as i1$5 from '@acorex/platform/common';
10
- import { AXPHomePageService, AXPDataProvider, AXP_ROOT_CONFIG_TOKEN, AXPSettingsService, AXPCommonModule, AXP_NOT_FOUND_ROUTE, AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';
10
+ import { AXPHomePageService, AXPDataProvider, AXP_ROOT_CONFIG_TOKEN, AXPSettingsService, AXPCommonModule, AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';
11
11
  import { AXPCommandExecutor, provideCommandSetups } from '@acorex/platform/runtime';
12
12
  import * as i1$1 from '@angular/common';
13
13
  import { CommonModule, AsyncPipe } from '@angular/common';
@@ -136,22 +136,22 @@ const routes = [
136
136
  },
137
137
  {
138
138
  path: '',
139
- loadComponent: () => import('./acorex-modules-auth-master.layout-Bt2evGBK.mjs').then((c) => c.AXPAuthMasterLayoutComponent),
140
- loadChildren: () => import('./acorex-modules-auth-login.module-CfDSXIAI.mjs').then((c) => c.AXPSignInModule),
139
+ loadComponent: () => import('./acorex-modules-auth-master.layout-CiBpuWwm.mjs').then((c) => c.AXPAuthMasterLayoutComponent),
140
+ loadChildren: () => import('./acorex-modules-auth-login.module-D9pM1Xk8.mjs').then((c) => c.AXPSignInModule),
141
141
  },
142
142
  {
143
143
  path: '',
144
- loadComponent: () => import('./acorex-modules-auth-master.layout-Bt2evGBK.mjs').then((c) => c.AXPAuthMasterLayoutComponent),
145
- loadChildren: () => import('./acorex-modules-auth-two-factor.module-Dybj3zGa.mjs').then((c) => c.AXPTwoFactorModule),
144
+ loadComponent: () => import('./acorex-modules-auth-master.layout-CiBpuWwm.mjs').then((c) => c.AXPAuthMasterLayoutComponent),
145
+ loadChildren: () => import('./acorex-modules-auth-two-factor.module-DKA8d1Gf.mjs').then((c) => c.AXPTwoFactorModule),
146
146
  },
147
147
  {
148
148
  path: '',
149
- loadComponent: () => import('./acorex-modules-auth-master.layout-Bt2evGBK.mjs').then((c) => c.AXPAuthMasterLayoutComponent),
150
- loadChildren: () => import('./acorex-modules-auth-routes-C_oH3fv-.mjs').then((c) => c),
149
+ loadComponent: () => import('./acorex-modules-auth-master.layout-CiBpuWwm.mjs').then((c) => c.AXPAuthMasterLayoutComponent),
150
+ loadChildren: () => import('./acorex-modules-auth-routes-Dh-tS9U2.mjs').then((c) => c),
151
151
  },
152
152
  {
153
153
  path: 'axp-oauth-callback',
154
- loadComponent: () => import('./acorex-modules-auth-oauth-callback.component-D-ZI1Zlu.mjs').then((c) => c.AXPOAuthCallbackComponent),
154
+ loadComponent: () => import('./acorex-modules-auth-oauth-callback.component-GSA5zP6y.mjs').then((c) => c.AXPOAuthCallbackComponent),
155
155
  },
156
156
  {
157
157
  path: 'account',
@@ -174,6 +174,11 @@ const routes = [
174
174
  ];
175
175
 
176
176
  class AXPAppChooserListComponent {
177
+ //#endregion
178
+ //#region ---- Computed Properties ----
179
+ isApplicationSelected(application) {
180
+ return application.id === this.sessionService.application?.id;
181
+ }
177
182
  //#endregion
178
183
  //#region ---- Constructor ----
179
184
  constructor() {
@@ -185,7 +190,8 @@ class AXPAppChooserListComponent {
185
190
  this.strategyName = this.sessionService.getSessionData()?.strategy;
186
191
  this.strategy = this.authStrategyRegistry.get(this.strategyName);
187
192
  //#endregion
188
- //#region ---- Outputs ----
193
+ //#region ---- Inputs & Outputs ----
194
+ this.simple = input(false, ...(ngDevMode ? [{ debugName: "simple" }] : []));
189
195
  this.applicationChosen = output();
190
196
  //#endregion
191
197
  //#region ---- View References ----
@@ -291,12 +297,14 @@ class AXPAppChooserListComponent {
291
297
  focusFirstListItem() {
292
298
  const nav = this.listNav();
293
299
  const items = this.listItems();
300
+ const applications = this.allApplications();
301
+ const currentIndex = applications.findIndex((application) => this.isApplicationSelected(application));
294
302
  if (nav && items.length > 0) {
295
- nav.navigateTo(items[0]);
303
+ nav.navigateTo(items[currentIndex >= 0 ? currentIndex : 0]);
296
304
  }
297
305
  }
298
306
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPAppChooserListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
299
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: AXPAppChooserListComponent, isStandalone: true, selector: "axp-app-chooser-list", outputs: { applicationChosen: "applicationChosen" }, viewQueries: [{ propertyName: "listNav", first: true, predicate: AXListNavigationDirective, descendants: true, isSignal: true }, { propertyName: "listItems", predicate: AXListNavigationItemDirective, descendants: true, isSignal: true }], ngImport: i0, template: "@if (isLoading()) {\n <div class=\"ax-w-full ax-flex ax-flex-col ax-gap-3\">\n @for (item of skeletonItems; track item) {\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-py-1\">\n <ax-skeleton [animated]=\"true\" class=\"ax-w-12 ax-h-12 ax-rounded-full ax-shrink-0\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"ax-flex-1 ax-h-6 ax-rounded-md\"></ax-skeleton>\n </div>\n }\n </div>\n} @else if (useSelectBox()) {\n <div class=\"ax-w-full ax-flex ax-flex-col ax-gap-4\" (keydown.capture)=\"handleSelectBoxKeyDown($event)\">\n <ax-select-box\n class=\"ax-w-full\"\n [dataSource]=\"allApplications()\"\n textField=\"title\"\n valueField=\"id\"\n [itemHeight]=\"56\"\n [value]=\"selectedApplication()\"\n [placeholder]=\"('@auth:application-chooser.select-placeholder' | translate | async) ?? ''\"\n [itemTemplate]=\"applicationItemTemplate\"\n (onOpened)=\"isSelectBoxOpen.set(true)\"\n (onClosed)=\"isSelectBoxOpen.set(false)\"\n (onValueChanged)=\"handleApplicationSelect($event)\"\n >\n <ax-search-box look=\"fill\"></ax-search-box>\n </ax-select-box>\n <ax-button\n class=\"ax-w-full\"\n color=\"primary\"\n [disabled]=\"!canApply()\"\n [text]=\"('@general:actions.apply.title' | translate | async) ?? ''\"\n (onClick)=\"applySelection()\"\n ></ax-button>\n </div>\n} @else {\n <div\n axListNavigation\n #listNav=\"axListNavigation\"\n class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\"\n role=\"listbox\"\n >\n @for (application of allApplications(); track application.id) {\n <div\n axListNavigationItem\n #navItem=\"axListNavigationItem\"\n tabindex=\"0\"\n role=\"option\"\n [attr.aria-selected]=\"navItem.isActive()\"\n class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-1 ax-px-2 ax-items-start ax-cursor-pointer ax-rounded-md ax-transition-colors ax-outline-none hover:ax-bg-primary-lightest hover:dark:ax-bg-primary-dark\"\n [class.ax-bg-primary-lightest]=\"navItem.isActive()\"\n [class.dark:ax-bg-primary-dark]=\"navItem.isActive()\"\n (click)=\"chooseApplication(application)\"\n (keydown)=\"handleListItemKeyDown($event, application)\"\n >\n <div class=\"ax-flex ax-flex-1 ax-gap-2 ax-items-center ax-justify-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\"\n >\n <axp-logo\n [source]=\"application.logo\"\n [attr.alt]=\"application.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 dark:ax-bg-neutral-800 ax-rounded-full\"\n ></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-text-start md:ax-text-base ax-text-sm\">{{ application.title }}</span>\n <span class=\"ax-text-muted ax-text-xs\">{{ application.edition?.title }}</span>\n </div>\n </div>\n }\n </div>\n}\n\n<ng-template #applicationItemTemplate let-item>\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-p-2\">\n <div\n class=\"ax-w-10 ax-h-10 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-shrink-0\"\n >\n <axp-logo\n [source]=\"item.data.logo\"\n [attr.alt]=\"item.data.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-w-8 ax-h-8 ax-bg-neutral-200 ax-rounded-full\"\n ></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-text-start md:ax-text-base ax-text-sm\">{{ item.data.title }}</span>\n @if (item.data.edition?.title) {\n <span class=\"ax-text-muted ax-text-xs\">{{ item.data.edition.title }}</span>\n }\n </div>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXSkeletonModule }, { kind: "component", type: i2.AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i3.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "isItemTruncated", "showItemTooltip", "itemHeight", "maxVisibleItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed", "onItemSelected", "onItemClick"] }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i4.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXListNavigationModule }, { kind: "directive", type: i5.AXListNavigationDirective, selector: "[axListNavigation]", inputs: ["orientation"], outputs: ["onNavigationChanged", "onKeypress"], exportAs: ["axListNavigation"] }, { kind: "directive", type: i5.AXListNavigationItemDirective, selector: "[axListNavigationItem]", outputs: ["onKeypress"], exportAs: ["axListNavigationItem"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "component", type: AXPLogoComponent, selector: "axp-logo", inputs: ["source"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
307
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: AXPAppChooserListComponent, isStandalone: true, selector: "axp-app-chooser-list", inputs: { simple: { classPropertyName: "simple", publicName: "simple", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { applicationChosen: "applicationChosen" }, viewQueries: [{ propertyName: "listNav", first: true, predicate: AXListNavigationDirective, descendants: true, isSignal: true }, { propertyName: "listItems", predicate: AXListNavigationItemDirective, descendants: true, isSignal: true }], ngImport: i0, template: "@if (isLoading()) {\n <div class=\"ax-w-full ax-flex ax-flex-col ax-gap-3\">\n @for (item of skeletonItems; track item) {\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-p-2\">\n <ax-skeleton [animated]=\"true\" class=\"ax-w-12 ax-h-12 ax-rounded-full ax-shrink-0\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"ax-flex-1 ax-h-6 ax-rounded-md\"></ax-skeleton>\n </div>\n }\n </div>\n} @else if (useSelectBox()) {\n <div class=\"ax-w-full ax-flex ax-flex-col ax-gap-4\" (keydown.capture)=\"handleSelectBoxKeyDown($event)\">\n <ax-select-box\n class=\"ax-w-full\"\n [dataSource]=\"allApplications()\"\n textField=\"title\"\n valueField=\"id\"\n [itemHeight]=\"56\"\n [value]=\"selectedApplication()\"\n [placeholder]=\"('@auth:application-chooser.select-placeholder' | translate | async) ?? ''\"\n [itemTemplate]=\"applicationItemTemplate\"\n (onOpened)=\"isSelectBoxOpen.set(true)\"\n (onClosed)=\"isSelectBoxOpen.set(false)\"\n (onValueChanged)=\"handleApplicationSelect($event)\"\n >\n <ax-search-box look=\"fill\"></ax-search-box>\n </ax-select-box>\n <ax-button\n class=\"ax-w-full\"\n color=\"primary\"\n [disabled]=\"!canApply()\"\n [text]=\"('@general:actions.apply.title' | translate | async) ?? ''\"\n (onClick)=\"applySelection()\"\n ></ax-button>\n </div>\n} @else {\n <div\n axListNavigation\n #listNav=\"axListNavigation\"\n class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-flex ax-flex-col ax-gap-1\"\n role=\"listbox\"\n >\n @for (application of allApplications(); track application.id) {\n <div\n axListNavigationItem\n #navItem=\"axListNavigationItem\"\n tabindex=\"0\"\n role=\"option\"\n [attr.aria-selected]=\"isApplicationSelected(application)\"\n class=\"ax-flex ax-gap-2 ax-items-center ax-p-2 ax-cursor-pointer ax-rounded-md ax-transition-colors ax-outline-none hover:ax-bg-primary-lightest hover:dark:ax-bg-primary-dark\"\n [class.ax-bg-primary-lighter]=\"isApplicationSelected(application)\"\n [class.dark:ax-bg-primary-darker]=\"isApplicationSelected(application)\"\n [class.ax-text-primary-on-lighter]=\"isApplicationSelected(application)\"\n [class.dark:ax-text-primary-on-darker]=\"isApplicationSelected(application)\"\n [class.ax-ring-2]=\"navItem.isActive()\"\n [class.ax-ring-primary]=\"navItem.isActive()\"\n (click)=\"chooseApplication(application)\"\n (keydown)=\"handleListItemKeyDown($event, application)\"\n >\n <div class=\"ax-flex ax-flex-1 ax-gap-2 ax-items-center ax-min-w-0\">\n <div\n class=\"ax-shrink-0 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100\"\n [class.ax-w-10]=\"simple()\"\n [class.ax-h-10]=\"simple()\"\n [class.ax-w-12]=\"!simple()\"\n [class.ax-h-12]=\"!simple()\"\n >\n <axp-logo\n [source]=\"application.logo\"\n [attr.alt]=\"application.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-bg-neutral-200 dark:ax-bg-neutral-800 ax-rounded-full\"\n [class.ax-w-8]=\"simple()\"\n [class.ax-h-8]=\"simple()\"\n [class.ax-w-10]=\"!simple()\"\n [class.ax-h-10]=\"!simple()\"\n ></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-truncate ax-text-start md:ax-text-base ax-text-sm\">{{ application.title }}</span>\n @if (application.edition?.title) {\n <span class=\"ax-text-muted ax-text-xs ax-shrink-0\">{{ application.edition?.title }}</span>\n }\n </div>\n </div>\n }\n </div>\n}\n\n<ng-template #applicationItemTemplate let-item>\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-p-2\">\n <div\n class=\"ax-w-10 ax-h-10 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-shrink-0\"\n >\n <axp-logo\n [source]=\"item.data.logo\"\n [attr.alt]=\"item.data.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-w-8 ax-h-8 ax-bg-neutral-200 ax-rounded-full\"\n ></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-text-start md:ax-text-base ax-text-sm\">{{ item.data.title }}</span>\n @if (item.data.edition?.title) {\n <span class=\"ax-text-muted ax-text-xs\">{{ item.data.edition.title }}</span>\n }\n </div>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXSkeletonModule }, { kind: "component", type: i2.AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i3.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "isItemTruncated", "showItemTooltip", "itemHeight", "maxVisibleItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed", "onItemSelected", "onItemClick"] }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i4.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXListNavigationModule }, { kind: "directive", type: i5.AXListNavigationDirective, selector: "[axListNavigation]", inputs: ["orientation"], outputs: ["onNavigationChanged", "onKeypress"], exportAs: ["axListNavigation"] }, { kind: "directive", type: i5.AXListNavigationItemDirective, selector: "[axListNavigationItem]", outputs: ["onKeypress"], exportAs: ["axListNavigationItem"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "component", type: AXPLogoComponent, selector: "axp-logo", inputs: ["source"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
300
308
  }
301
309
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPAppChooserListComponent, decorators: [{
302
310
  type: Component,
@@ -310,8 +318,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
310
318
  AXListNavigationModule,
311
319
  AXTranslationModule,
312
320
  AXPLogoComponent,
313
- ], template: "@if (isLoading()) {\n <div class=\"ax-w-full ax-flex ax-flex-col ax-gap-3\">\n @for (item of skeletonItems; track item) {\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-py-1\">\n <ax-skeleton [animated]=\"true\" class=\"ax-w-12 ax-h-12 ax-rounded-full ax-shrink-0\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"ax-flex-1 ax-h-6 ax-rounded-md\"></ax-skeleton>\n </div>\n }\n </div>\n} @else if (useSelectBox()) {\n <div class=\"ax-w-full ax-flex ax-flex-col ax-gap-4\" (keydown.capture)=\"handleSelectBoxKeyDown($event)\">\n <ax-select-box\n class=\"ax-w-full\"\n [dataSource]=\"allApplications()\"\n textField=\"title\"\n valueField=\"id\"\n [itemHeight]=\"56\"\n [value]=\"selectedApplication()\"\n [placeholder]=\"('@auth:application-chooser.select-placeholder' | translate | async) ?? ''\"\n [itemTemplate]=\"applicationItemTemplate\"\n (onOpened)=\"isSelectBoxOpen.set(true)\"\n (onClosed)=\"isSelectBoxOpen.set(false)\"\n (onValueChanged)=\"handleApplicationSelect($event)\"\n >\n <ax-search-box look=\"fill\"></ax-search-box>\n </ax-select-box>\n <ax-button\n class=\"ax-w-full\"\n color=\"primary\"\n [disabled]=\"!canApply()\"\n [text]=\"('@general:actions.apply.title' | translate | async) ?? ''\"\n (onClick)=\"applySelection()\"\n ></ax-button>\n </div>\n} @else {\n <div\n axListNavigation\n #listNav=\"axListNavigation\"\n class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\"\n role=\"listbox\"\n >\n @for (application of allApplications(); track application.id) {\n <div\n axListNavigationItem\n #navItem=\"axListNavigationItem\"\n tabindex=\"0\"\n role=\"option\"\n [attr.aria-selected]=\"navItem.isActive()\"\n class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-1 ax-px-2 ax-items-start ax-cursor-pointer ax-rounded-md ax-transition-colors ax-outline-none hover:ax-bg-primary-lightest hover:dark:ax-bg-primary-dark\"\n [class.ax-bg-primary-lightest]=\"navItem.isActive()\"\n [class.dark:ax-bg-primary-dark]=\"navItem.isActive()\"\n (click)=\"chooseApplication(application)\"\n (keydown)=\"handleListItemKeyDown($event, application)\"\n >\n <div class=\"ax-flex ax-flex-1 ax-gap-2 ax-items-center ax-justify-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\"\n >\n <axp-logo\n [source]=\"application.logo\"\n [attr.alt]=\"application.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 dark:ax-bg-neutral-800 ax-rounded-full\"\n ></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-text-start md:ax-text-base ax-text-sm\">{{ application.title }}</span>\n <span class=\"ax-text-muted ax-text-xs\">{{ application.edition?.title }}</span>\n </div>\n </div>\n }\n </div>\n}\n\n<ng-template #applicationItemTemplate let-item>\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-p-2\">\n <div\n class=\"ax-w-10 ax-h-10 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-shrink-0\"\n >\n <axp-logo\n [source]=\"item.data.logo\"\n [attr.alt]=\"item.data.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-w-8 ax-h-8 ax-bg-neutral-200 ax-rounded-full\"\n ></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-text-start md:ax-text-base ax-text-sm\">{{ item.data.title }}</span>\n @if (item.data.edition?.title) {\n <span class=\"ax-text-muted ax-text-xs\">{{ item.data.edition.title }}</span>\n }\n </div>\n</ng-template>\n" }]
314
- }], ctorParameters: () => [], propDecorators: { applicationChosen: [{ type: i0.Output, args: ["applicationChosen"] }], listNav: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXListNavigationDirective), { isSignal: true }] }], listItems: [{ type: i0.ViewChildren, args: [i0.forwardRef(() => AXListNavigationItemDirective), { isSignal: true }] }] } });
321
+ ], template: "@if (isLoading()) {\n <div class=\"ax-w-full ax-flex ax-flex-col ax-gap-3\">\n @for (item of skeletonItems; track item) {\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-p-2\">\n <ax-skeleton [animated]=\"true\" class=\"ax-w-12 ax-h-12 ax-rounded-full ax-shrink-0\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"ax-flex-1 ax-h-6 ax-rounded-md\"></ax-skeleton>\n </div>\n }\n </div>\n} @else if (useSelectBox()) {\n <div class=\"ax-w-full ax-flex ax-flex-col ax-gap-4\" (keydown.capture)=\"handleSelectBoxKeyDown($event)\">\n <ax-select-box\n class=\"ax-w-full\"\n [dataSource]=\"allApplications()\"\n textField=\"title\"\n valueField=\"id\"\n [itemHeight]=\"56\"\n [value]=\"selectedApplication()\"\n [placeholder]=\"('@auth:application-chooser.select-placeholder' | translate | async) ?? ''\"\n [itemTemplate]=\"applicationItemTemplate\"\n (onOpened)=\"isSelectBoxOpen.set(true)\"\n (onClosed)=\"isSelectBoxOpen.set(false)\"\n (onValueChanged)=\"handleApplicationSelect($event)\"\n >\n <ax-search-box look=\"fill\"></ax-search-box>\n </ax-select-box>\n <ax-button\n class=\"ax-w-full\"\n color=\"primary\"\n [disabled]=\"!canApply()\"\n [text]=\"('@general:actions.apply.title' | translate | async) ?? ''\"\n (onClick)=\"applySelection()\"\n ></ax-button>\n </div>\n} @else {\n <div\n axListNavigation\n #listNav=\"axListNavigation\"\n class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-flex ax-flex-col ax-gap-1\"\n role=\"listbox\"\n >\n @for (application of allApplications(); track application.id) {\n <div\n axListNavigationItem\n #navItem=\"axListNavigationItem\"\n tabindex=\"0\"\n role=\"option\"\n [attr.aria-selected]=\"isApplicationSelected(application)\"\n class=\"ax-flex ax-gap-2 ax-items-center ax-p-2 ax-cursor-pointer ax-rounded-md ax-transition-colors ax-outline-none hover:ax-bg-primary-lightest hover:dark:ax-bg-primary-dark\"\n [class.ax-bg-primary-lighter]=\"isApplicationSelected(application)\"\n [class.dark:ax-bg-primary-darker]=\"isApplicationSelected(application)\"\n [class.ax-text-primary-on-lighter]=\"isApplicationSelected(application)\"\n [class.dark:ax-text-primary-on-darker]=\"isApplicationSelected(application)\"\n [class.ax-ring-2]=\"navItem.isActive()\"\n [class.ax-ring-primary]=\"navItem.isActive()\"\n (click)=\"chooseApplication(application)\"\n (keydown)=\"handleListItemKeyDown($event, application)\"\n >\n <div class=\"ax-flex ax-flex-1 ax-gap-2 ax-items-center ax-min-w-0\">\n <div\n class=\"ax-shrink-0 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100\"\n [class.ax-w-10]=\"simple()\"\n [class.ax-h-10]=\"simple()\"\n [class.ax-w-12]=\"!simple()\"\n [class.ax-h-12]=\"!simple()\"\n >\n <axp-logo\n [source]=\"application.logo\"\n [attr.alt]=\"application.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-bg-neutral-200 dark:ax-bg-neutral-800 ax-rounded-full\"\n [class.ax-w-8]=\"simple()\"\n [class.ax-h-8]=\"simple()\"\n [class.ax-w-10]=\"!simple()\"\n [class.ax-h-10]=\"!simple()\"\n ></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-truncate ax-text-start md:ax-text-base ax-text-sm\">{{ application.title }}</span>\n @if (application.edition?.title) {\n <span class=\"ax-text-muted ax-text-xs ax-shrink-0\">{{ application.edition?.title }}</span>\n }\n </div>\n </div>\n }\n </div>\n}\n\n<ng-template #applicationItemTemplate let-item>\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-p-2\">\n <div\n class=\"ax-w-10 ax-h-10 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-shrink-0\"\n >\n <axp-logo\n [source]=\"item.data.logo\"\n [attr.alt]=\"item.data.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-w-8 ax-h-8 ax-bg-neutral-200 ax-rounded-full\"\n ></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-text-start md:ax-text-base ax-text-sm\">{{ item.data.title }}</span>\n @if (item.data.edition?.title) {\n <span class=\"ax-text-muted ax-text-xs\">{{ item.data.edition.title }}</span>\n }\n </div>\n</ng-template>\n" }]
322
+ }], ctorParameters: () => [], propDecorators: { simple: [{ type: i0.Input, args: [{ isSignal: true, alias: "simple", required: false }] }], applicationChosen: [{ type: i0.Output, args: ["applicationChosen"] }], listNav: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXListNavigationDirective), { isSignal: true }] }], listItems: [{ type: i0.ViewChildren, args: [i0.forwardRef(() => AXListNavigationItemDirective), { isSignal: true }] }] } });
315
323
 
316
324
  class AXMAppChooserSlotComponent {
317
325
  constructor() {
@@ -323,14 +331,19 @@ class AXMAppChooserSlotComponent {
323
331
  this.appPopover()?.close();
324
332
  }
325
333
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXMAppChooserSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
326
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: AXMAppChooserSlotComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "appPopover", first: true, predicate: ["appPopover"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (((applications$ | async)?.length ?? 0) > 1) {\n <ax-button color=\"primary\" #appChooser>\n <ax-icon class=\"fa-regular fa-grid-2\"> </ax-icon>\n </ax-button>\n <ax-popover [target]=\"appChooser\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" #appPopover>\n <div class=\"ax-bg-lightest ax-border ax-overflow-hidden ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64 ax-p-3\">\n <axp-app-chooser-list (applicationChosen)=\"closePopover()\"></axp-app-chooser-list>\n </div>\n </ax-popover>\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i2$2.AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disablePanelClass", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "repositionOnScroll", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXPAppChooserListComponent, selector: "axp-app-chooser-list", outputs: ["applicationChosen"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }] }); }
334
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: AXMAppChooserSlotComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "appPopover", first: true, predicate: ["appPopover"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (((applications$ | async)?.length ?? 0) > 1) {\n <ax-button color=\"primary\" #appChooser>\n <ax-icon class=\"fa-regular fa-grid-2\"> </ax-icon>\n </ax-button>\n <ax-popover [target]=\"appChooser\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" #appPopover>\n <div class=\"ax-bg-lightest ax-border ax-overflow-hidden ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64 ax-p-1\">\n <axp-app-chooser-list [simple]=\"true\" (applicationChosen)=\"closePopover()\"></axp-app-chooser-list>\n </div>\n </ax-popover>\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i2$2.AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disablePanelClass", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "repositionOnScroll", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXPAppChooserListComponent, selector: "axp-app-chooser-list", inputs: ["simple"], outputs: ["applicationChosen"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }] }); }
327
335
  }
328
336
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXMAppChooserSlotComponent, decorators: [{
329
337
  type: Component,
330
- args: [{ imports: [CommonModule, AXButtonModule, AXPopoverModule, AXDecoratorModule, AXPAppChooserListComponent], template: "@if (((applications$ | async)?.length ?? 0) > 1) {\n <ax-button color=\"primary\" #appChooser>\n <ax-icon class=\"fa-regular fa-grid-2\"> </ax-icon>\n </ax-button>\n <ax-popover [target]=\"appChooser\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" #appPopover>\n <div class=\"ax-bg-lightest ax-border ax-overflow-hidden ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64 ax-p-3\">\n <axp-app-chooser-list (applicationChosen)=\"closePopover()\"></axp-app-chooser-list>\n </div>\n </ax-popover>\n}\n" }]
338
+ args: [{ imports: [CommonModule, AXButtonModule, AXPopoverModule, AXDecoratorModule, AXPAppChooserListComponent], template: "@if (((applications$ | async)?.length ?? 0) > 1) {\n <ax-button color=\"primary\" #appChooser>\n <ax-icon class=\"fa-regular fa-grid-2\"> </ax-icon>\n </ax-button>\n <ax-popover [target]=\"appChooser\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" #appPopover>\n <div class=\"ax-bg-lightest ax-border ax-overflow-hidden ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64 ax-p-1\">\n <axp-app-chooser-list [simple]=\"true\" (applicationChosen)=\"closePopover()\"></axp-app-chooser-list>\n </div>\n </ax-popover>\n}\n" }]
331
339
  }], propDecorators: { appPopover: [{ type: i0.ViewChild, args: ['appPopover', { isSignal: true }] }] } });
332
340
 
333
341
  class AXPTenantChooserListComponent {
342
+ //#endregion
343
+ //#region ---- Computed Properties ----
344
+ isTenantSelected(tenant) {
345
+ return tenant.id === this.sessionService.tenant?.id;
346
+ }
334
347
  //#endregion
335
348
  //#region ---- Constructor ----
336
349
  constructor() {
@@ -427,12 +440,14 @@ class AXPTenantChooserListComponent {
427
440
  focusFirstListItem() {
428
441
  const nav = this.listNav();
429
442
  const items = this.listItems();
443
+ const tenants = this.allTenants();
444
+ const currentIndex = tenants.findIndex((tenant) => this.isTenantSelected(tenant));
430
445
  if (nav && items.length > 0) {
431
- nav.navigateTo(items[0]);
446
+ nav.navigateTo(items[currentIndex >= 0 ? currentIndex : 0]);
432
447
  }
433
448
  }
434
449
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPTenantChooserListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
435
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: AXPTenantChooserListComponent, isStandalone: true, selector: "axp-tenant-chooser-list", inputs: { simple: { classPropertyName: "simple", publicName: "simple", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tenantChosen: "tenantChosen" }, viewQueries: [{ propertyName: "listNav", first: true, predicate: AXListNavigationDirective, descendants: true, isSignal: true }, { propertyName: "listItems", predicate: AXListNavigationItemDirective, descendants: true, isSignal: true }], ngImport: i0, template: "@if (isLoading()) {\n <div class=\"ax-w-full ax-flex ax-flex-col ax-gap-3\">\n @for (item of skeletonItems; track item) {\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-py-1\">\n <ax-skeleton [animated]=\"true\" class=\"ax-w-12 ax-h-12 ax-rounded-full ax-shrink-0\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"ax-flex-1 ax-h-6 ax-rounded-md\"></ax-skeleton>\n </div>\n }\n </div>\n} @else if (useSelectBox()) {\n <div class=\"ax-w-full ax-flex ax-flex-col ax-gap-4\" (keydown.capture)=\"handleSelectBoxKeyDown($event)\">\n <ax-select-box\n class=\"ax-w-full\"\n [dataSource]=\"allTenants()\"\n textField=\"title\"\n valueField=\"id\"\n [value]=\"selectedTenant()\"\n [itemHeight]=\"56\"\n [placeholder]=\"('@auth:tenant-chooser.select-placeholder' | translate | async) ?? ''\"\n [itemTemplate]=\"tenantItemTemplate\"\n (onOpened)=\"isSelectBoxOpen.set(true)\"\n (onClosed)=\"isSelectBoxOpen.set(false)\"\n (onValueChanged)=\"handleTenantSelect($event)\"\n >\n <ax-search-box look=\"fill\"></ax-search-box>\n </ax-select-box>\n <ax-button\n class=\"ax-w-full\"\n color=\"primary\"\n [disabled]=\"!canApply()\"\n [text]=\"('@general:actions.apply.title' | translate | async) ?? ''\"\n (onClick)=\"applySelection()\"\n ></ax-button>\n </div>\n} @else {\n <div\n axListNavigation\n #listNav=\"axListNavigation\"\n class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\"\n role=\"listbox\"\n >\n @for (tenant of allTenants(); track tenant.id) {\n <div\n axListNavigationItem\n #navItem=\"axListNavigationItem\"\n tabindex=\"0\"\n role=\"option\"\n [attr.aria-selected]=\"navItem.isActive()\"\n class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-1 ax-px-2 ax-items-center ax-cursor-pointer ax-rounded-md ax-transition-colors ax-outline-none hover:ax-bg-primary-lightest hover:dark:ax-bg-primary-dark\"\n [class.ax-bg-primary-lightest]=\"navItem.isActive()\"\n [class.dark:ax-bg-primary-dark]=\"navItem.isActive()\"\n [class.ax-items-start]=\"simple()\"\n (click)=\"chooseTenant(tenant)\"\n (keydown)=\"handleListItemKeyDown($event, tenant)\"\n >\n <div class=\"ax-flex ax-flex-1 ax-gap-2 ax-items-center ax-font-medium\" [class.ax-justify-center]=\"simple()\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\"\n >\n <axp-logo\n [source]=\"tenant.logo ?? defaultLogo\"\n [attr.alt]=\"tenant.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 dark:ax-bg-neutral-800 ax-rounded-full\"\n ></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-text-start md:ax-text-base ax-text-sm\">{{ tenant.title }}</span>\n </div>\n </div>\n }\n </div>\n}\n\n<ng-template #tenantItemTemplate let-item>\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-p-2\">\n <div\n class=\"ax-w-10 ax-h-10 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-shrink-0\"\n >\n <axp-logo\n [source]=\"item.data.logo ?? defaultLogo\"\n [attr.alt]=\"item.data.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-w-8 ax-h-8 ax-bg-neutral-200 ax-rounded-full\"\n ></axp-logo>\n </div>\n <span class=\"ax-text-start md:ax-text-base ax-text-sm\">{{ item.data.title }}</span>\n </div>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXSkeletonModule }, { kind: "component", type: i2.AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i3.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "isItemTruncated", "showItemTooltip", "itemHeight", "maxVisibleItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed", "onItemSelected", "onItemClick"] }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i4.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXListNavigationModule }, { kind: "directive", type: i5.AXListNavigationDirective, selector: "[axListNavigation]", inputs: ["orientation"], outputs: ["onNavigationChanged", "onKeypress"], exportAs: ["axListNavigation"] }, { kind: "directive", type: i5.AXListNavigationItemDirective, selector: "[axListNavigationItem]", outputs: ["onKeypress"], exportAs: ["axListNavigationItem"] }, { kind: "component", type: AXPLogoComponent, selector: "axp-logo", inputs: ["source"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
450
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: AXPTenantChooserListComponent, isStandalone: true, selector: "axp-tenant-chooser-list", inputs: { simple: { classPropertyName: "simple", publicName: "simple", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tenantChosen: "tenantChosen" }, viewQueries: [{ propertyName: "listNav", first: true, predicate: AXListNavigationDirective, descendants: true, isSignal: true }, { propertyName: "listItems", predicate: AXListNavigationItemDirective, descendants: true, isSignal: true }], ngImport: i0, template: "@if (isLoading()) {\n <div class=\"ax-w-full ax-flex ax-flex-col ax-gap-3\">\n @for (item of skeletonItems; track item) {\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-p-2\">\n <ax-skeleton [animated]=\"true\" class=\"ax-w-12 ax-h-12 ax-rounded-full ax-shrink-0\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"ax-flex-1 ax-h-6 ax-rounded-md\"></ax-skeleton>\n </div>\n }\n </div>\n} @else if (useSelectBox()) {\n <div class=\"ax-w-full ax-flex ax-flex-col ax-gap-4\" (keydown.capture)=\"handleSelectBoxKeyDown($event)\">\n <ax-select-box\n class=\"ax-w-full\"\n [dataSource]=\"allTenants()\"\n textField=\"title\"\n valueField=\"id\"\n [value]=\"selectedTenant()\"\n [itemHeight]=\"56\"\n [placeholder]=\"('@auth:tenant-chooser.select-placeholder' | translate | async) ?? ''\"\n [itemTemplate]=\"tenantItemTemplate\"\n (onOpened)=\"isSelectBoxOpen.set(true)\"\n (onClosed)=\"isSelectBoxOpen.set(false)\"\n (onValueChanged)=\"handleTenantSelect($event)\"\n >\n <ax-search-box look=\"fill\"></ax-search-box>\n </ax-select-box>\n <ax-button\n class=\"ax-w-full\"\n color=\"primary\"\n [disabled]=\"!canApply()\"\n [text]=\"('@general:actions.apply.title' | translate | async) ?? ''\"\n (onClick)=\"applySelection()\"\n ></ax-button>\n </div>\n} @else {\n <div\n axListNavigation\n #listNav=\"axListNavigation\"\n class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-flex ax-flex-col ax-gap-1\"\n role=\"listbox\"\n >\n @for (tenant of allTenants(); track tenant.id) {\n <div\n axListNavigationItem\n #navItem=\"axListNavigationItem\"\n tabindex=\"0\"\n role=\"option\"\n [attr.aria-selected]=\"isTenantSelected(tenant)\"\n class=\"ax-flex ax-gap-2 ax-items-center ax-p-2 ax-cursor-pointer ax-rounded-md ax-transition-colors ax-outline-none hover:ax-bg-primary-lightest hover:dark:ax-bg-primary-dark\"\n [class.ax-bg-primary-lighter]=\"isTenantSelected(tenant)\"\n [class.dark:ax-bg-primary-darker]=\"isTenantSelected(tenant)\"\n [class.ax-text-primary-on-lighter]=\"isTenantSelected(tenant)\"\n [class.dark:ax-text-primary-on-darker]=\"isTenantSelected(tenant)\"\n [class.ax-ring-2]=\"navItem.isActive()\"\n [class.ax-ring-primary]=\"navItem.isActive()\"\n (click)=\"chooseTenant(tenant)\"\n (keydown)=\"handleListItemKeyDown($event, tenant)\"\n >\n <div class=\"ax-flex ax-flex-1 ax-gap-2 ax-items-center ax-min-w-0\">\n <div\n class=\"ax-shrink-0 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100\"\n [class.ax-w-10]=\"simple()\"\n [class.ax-h-10]=\"simple()\"\n [class.ax-w-12]=\"!simple()\"\n [class.ax-h-12]=\"!simple()\"\n >\n <axp-logo\n [source]=\"tenant.logo ?? defaultLogo\"\n [attr.alt]=\"tenant.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-bg-neutral-200 dark:ax-bg-neutral-800 ax-rounded-full\"\n [class.ax-w-8]=\"simple()\"\n [class.ax-h-8]=\"simple()\"\n [class.ax-w-10]=\"!simple()\"\n [class.ax-h-10]=\"!simple()\"\n ></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-truncate ax-text-start md:ax-text-base ax-text-sm\">{{ tenant.title }}</span>\n </div>\n </div>\n }\n </div>\n}\n\n<ng-template #tenantItemTemplate let-item>\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-p-2\">\n <div\n class=\"ax-w-10 ax-h-10 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-shrink-0\"\n >\n <axp-logo\n [source]=\"item.data.logo ?? defaultLogo\"\n [attr.alt]=\"item.data.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-w-8 ax-h-8 ax-bg-neutral-200 ax-rounded-full\"\n ></axp-logo>\n </div>\n <span class=\"ax-text-start md:ax-text-base ax-text-sm\">{{ item.data.title }}</span>\n </div>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXSkeletonModule }, { kind: "component", type: i2.AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i3.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "isItemTruncated", "showItemTooltip", "itemHeight", "maxVisibleItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed", "onItemSelected", "onItemClick"] }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i4.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXListNavigationModule }, { kind: "directive", type: i5.AXListNavigationDirective, selector: "[axListNavigation]", inputs: ["orientation"], outputs: ["onNavigationChanged", "onKeypress"], exportAs: ["axListNavigation"] }, { kind: "directive", type: i5.AXListNavigationItemDirective, selector: "[axListNavigationItem]", outputs: ["onKeypress"], exportAs: ["axListNavigationItem"] }, { kind: "component", type: AXPLogoComponent, selector: "axp-logo", inputs: ["source"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
436
451
  }
437
452
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPTenantChooserListComponent, decorators: [{
438
453
  type: Component,
@@ -446,7 +461,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
446
461
  AXSearchBoxModule,
447
462
  AXListNavigationModule,
448
463
  AXPLogoComponent,
449
- ], template: "@if (isLoading()) {\n <div class=\"ax-w-full ax-flex ax-flex-col ax-gap-3\">\n @for (item of skeletonItems; track item) {\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-py-1\">\n <ax-skeleton [animated]=\"true\" class=\"ax-w-12 ax-h-12 ax-rounded-full ax-shrink-0\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"ax-flex-1 ax-h-6 ax-rounded-md\"></ax-skeleton>\n </div>\n }\n </div>\n} @else if (useSelectBox()) {\n <div class=\"ax-w-full ax-flex ax-flex-col ax-gap-4\" (keydown.capture)=\"handleSelectBoxKeyDown($event)\">\n <ax-select-box\n class=\"ax-w-full\"\n [dataSource]=\"allTenants()\"\n textField=\"title\"\n valueField=\"id\"\n [value]=\"selectedTenant()\"\n [itemHeight]=\"56\"\n [placeholder]=\"('@auth:tenant-chooser.select-placeholder' | translate | async) ?? ''\"\n [itemTemplate]=\"tenantItemTemplate\"\n (onOpened)=\"isSelectBoxOpen.set(true)\"\n (onClosed)=\"isSelectBoxOpen.set(false)\"\n (onValueChanged)=\"handleTenantSelect($event)\"\n >\n <ax-search-box look=\"fill\"></ax-search-box>\n </ax-select-box>\n <ax-button\n class=\"ax-w-full\"\n color=\"primary\"\n [disabled]=\"!canApply()\"\n [text]=\"('@general:actions.apply.title' | translate | async) ?? ''\"\n (onClick)=\"applySelection()\"\n ></ax-button>\n </div>\n} @else {\n <div\n axListNavigation\n #listNav=\"axListNavigation\"\n class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\"\n role=\"listbox\"\n >\n @for (tenant of allTenants(); track tenant.id) {\n <div\n axListNavigationItem\n #navItem=\"axListNavigationItem\"\n tabindex=\"0\"\n role=\"option\"\n [attr.aria-selected]=\"navItem.isActive()\"\n class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-1 ax-px-2 ax-items-center ax-cursor-pointer ax-rounded-md ax-transition-colors ax-outline-none hover:ax-bg-primary-lightest hover:dark:ax-bg-primary-dark\"\n [class.ax-bg-primary-lightest]=\"navItem.isActive()\"\n [class.dark:ax-bg-primary-dark]=\"navItem.isActive()\"\n [class.ax-items-start]=\"simple()\"\n (click)=\"chooseTenant(tenant)\"\n (keydown)=\"handleListItemKeyDown($event, tenant)\"\n >\n <div class=\"ax-flex ax-flex-1 ax-gap-2 ax-items-center ax-font-medium\" [class.ax-justify-center]=\"simple()\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\"\n >\n <axp-logo\n [source]=\"tenant.logo ?? defaultLogo\"\n [attr.alt]=\"tenant.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 dark:ax-bg-neutral-800 ax-rounded-full\"\n ></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-text-start md:ax-text-base ax-text-sm\">{{ tenant.title }}</span>\n </div>\n </div>\n }\n </div>\n}\n\n<ng-template #tenantItemTemplate let-item>\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-p-2\">\n <div\n class=\"ax-w-10 ax-h-10 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-shrink-0\"\n >\n <axp-logo\n [source]=\"item.data.logo ?? defaultLogo\"\n [attr.alt]=\"item.data.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-w-8 ax-h-8 ax-bg-neutral-200 ax-rounded-full\"\n ></axp-logo>\n </div>\n <span class=\"ax-text-start md:ax-text-base ax-text-sm\">{{ item.data.title }}</span>\n </div>\n</ng-template>\n" }]
464
+ ], template: "@if (isLoading()) {\n <div class=\"ax-w-full ax-flex ax-flex-col ax-gap-3\">\n @for (item of skeletonItems; track item) {\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-p-2\">\n <ax-skeleton [animated]=\"true\" class=\"ax-w-12 ax-h-12 ax-rounded-full ax-shrink-0\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"ax-flex-1 ax-h-6 ax-rounded-md\"></ax-skeleton>\n </div>\n }\n </div>\n} @else if (useSelectBox()) {\n <div class=\"ax-w-full ax-flex ax-flex-col ax-gap-4\" (keydown.capture)=\"handleSelectBoxKeyDown($event)\">\n <ax-select-box\n class=\"ax-w-full\"\n [dataSource]=\"allTenants()\"\n textField=\"title\"\n valueField=\"id\"\n [value]=\"selectedTenant()\"\n [itemHeight]=\"56\"\n [placeholder]=\"('@auth:tenant-chooser.select-placeholder' | translate | async) ?? ''\"\n [itemTemplate]=\"tenantItemTemplate\"\n (onOpened)=\"isSelectBoxOpen.set(true)\"\n (onClosed)=\"isSelectBoxOpen.set(false)\"\n (onValueChanged)=\"handleTenantSelect($event)\"\n >\n <ax-search-box look=\"fill\"></ax-search-box>\n </ax-select-box>\n <ax-button\n class=\"ax-w-full\"\n color=\"primary\"\n [disabled]=\"!canApply()\"\n [text]=\"('@general:actions.apply.title' | translate | async) ?? ''\"\n (onClick)=\"applySelection()\"\n ></ax-button>\n </div>\n} @else {\n <div\n axListNavigation\n #listNav=\"axListNavigation\"\n class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-flex ax-flex-col ax-gap-1\"\n role=\"listbox\"\n >\n @for (tenant of allTenants(); track tenant.id) {\n <div\n axListNavigationItem\n #navItem=\"axListNavigationItem\"\n tabindex=\"0\"\n role=\"option\"\n [attr.aria-selected]=\"isTenantSelected(tenant)\"\n class=\"ax-flex ax-gap-2 ax-items-center ax-p-2 ax-cursor-pointer ax-rounded-md ax-transition-colors ax-outline-none hover:ax-bg-primary-lightest hover:dark:ax-bg-primary-dark\"\n [class.ax-bg-primary-lighter]=\"isTenantSelected(tenant)\"\n [class.dark:ax-bg-primary-darker]=\"isTenantSelected(tenant)\"\n [class.ax-text-primary-on-lighter]=\"isTenantSelected(tenant)\"\n [class.dark:ax-text-primary-on-darker]=\"isTenantSelected(tenant)\"\n [class.ax-ring-2]=\"navItem.isActive()\"\n [class.ax-ring-primary]=\"navItem.isActive()\"\n (click)=\"chooseTenant(tenant)\"\n (keydown)=\"handleListItemKeyDown($event, tenant)\"\n >\n <div class=\"ax-flex ax-flex-1 ax-gap-2 ax-items-center ax-min-w-0\">\n <div\n class=\"ax-shrink-0 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100\"\n [class.ax-w-10]=\"simple()\"\n [class.ax-h-10]=\"simple()\"\n [class.ax-w-12]=\"!simple()\"\n [class.ax-h-12]=\"!simple()\"\n >\n <axp-logo\n [source]=\"tenant.logo ?? defaultLogo\"\n [attr.alt]=\"tenant.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-bg-neutral-200 dark:ax-bg-neutral-800 ax-rounded-full\"\n [class.ax-w-8]=\"simple()\"\n [class.ax-h-8]=\"simple()\"\n [class.ax-w-10]=\"!simple()\"\n [class.ax-h-10]=\"!simple()\"\n ></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-truncate ax-text-start md:ax-text-base ax-text-sm\">{{ tenant.title }}</span>\n </div>\n </div>\n }\n </div>\n}\n\n<ng-template #tenantItemTemplate let-item>\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-p-2\">\n <div\n class=\"ax-w-10 ax-h-10 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-shrink-0\"\n >\n <axp-logo\n [source]=\"item.data.logo ?? defaultLogo\"\n [attr.alt]=\"item.data.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-w-8 ax-h-8 ax-bg-neutral-200 ax-rounded-full\"\n ></axp-logo>\n </div>\n <span class=\"ax-text-start md:ax-text-base ax-text-sm\">{{ item.data.title }}</span>\n </div>\n</ng-template>\n" }]
450
465
  }], ctorParameters: () => [], propDecorators: { simple: [{ type: i0.Input, args: [{ isSignal: true, alias: "simple", required: false }] }], tenantChosen: [{ type: i0.Output, args: ["tenantChosen"] }], listNav: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXListNavigationDirective), { isSignal: true }] }], listItems: [{ type: i0.ViewChildren, args: [i0.forwardRef(() => AXListNavigationItemDirective), { isSignal: true }] }] } });
451
466
 
452
467
  class AXPTenantChooserDropdownComponent {
@@ -460,11 +475,11 @@ class AXPTenantChooserDropdownComponent {
460
475
  this.tenantPopover()?.close();
461
476
  }
462
477
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPTenantChooserDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
463
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: AXPTenantChooserDropdownComponent, isStandalone: true, selector: "axp-tenant-chooser-dropdown", viewQueries: [{ propertyName: "tenantPopover", first: true, predicate: ["tenantPopover"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (tenants$ | async; as tenants) {\n@if (tenants.length > 1) {\n<ax-button [text]=\"tenant?.title ?? ''\" class=\"ax-xs\" look=\"blank\" #tenantChooser>\n <ax-suffix>\n <ax-icon class=\"fa-solid fa-caret-down\"></ax-icon>\n </ax-suffix>\n</ax-button>\n<ax-popover [target]=\"tenantChooser\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" [adaptivityEnabled]=\"true\"\n #tenantPopover>\n <div class=\"ax-bg-lightest ax-border ax-overflow-hidden ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64 ax-p-3\">\n <axp-tenant-chooser-list [simple]=\"true\" (tenantChosen)=\"closePopover()\"></axp-tenant-chooser-list>\n </div>\n</ax-popover>\n} @else {\n<ax-button [text]=\"tenant?.title ?? ''\" class=\"ax-xs\" look=\"blank\"></ax-button>\n}\n}", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i2$2.AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disablePanelClass", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "repositionOnScroll", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXPTenantChooserListComponent, selector: "axp-tenant-chooser-list", inputs: ["simple"], outputs: ["tenantChosen"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }] }); }
478
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: AXPTenantChooserDropdownComponent, isStandalone: true, selector: "axp-tenant-chooser-dropdown", viewQueries: [{ propertyName: "tenantPopover", first: true, predicate: ["tenantPopover"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (tenants$ | async; as tenants) {\n@if (tenants.length > 1) {\n<ax-button [text]=\"tenant?.title ?? ''\" class=\"ax-xs\" look=\"blank\" #tenantChooser>\n <ax-suffix>\n <ax-icon class=\"fa-solid fa-caret-down\"></ax-icon>\n </ax-suffix>\n</ax-button>\n<ax-popover [target]=\"tenantChooser\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" [adaptivityEnabled]=\"true\"\n #tenantPopover>\n <div class=\"ax-bg-lightest ax-border ax-overflow-hidden ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64 ax-p-1\">\n <axp-tenant-chooser-list [simple]=\"true\" (tenantChosen)=\"closePopover()\"></axp-tenant-chooser-list>\n </div>\n</ax-popover>\n} @else {\n<ax-button [text]=\"tenant?.title ?? ''\" class=\"ax-xs\" look=\"blank\"></ax-button>\n}\n}", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i2$2.AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disablePanelClass", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "repositionOnScroll", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXPTenantChooserListComponent, selector: "axp-tenant-chooser-list", inputs: ["simple"], outputs: ["tenantChosen"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }] }); }
464
479
  }
465
480
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPTenantChooserDropdownComponent, decorators: [{
466
481
  type: Component,
467
- args: [{ selector: 'axp-tenant-chooser-dropdown', imports: [CommonModule, AXButtonModule, AXPopoverModule, AXDecoratorModule, AXPTenantChooserListComponent], template: "@if (tenants$ | async; as tenants) {\n@if (tenants.length > 1) {\n<ax-button [text]=\"tenant?.title ?? ''\" class=\"ax-xs\" look=\"blank\" #tenantChooser>\n <ax-suffix>\n <ax-icon class=\"fa-solid fa-caret-down\"></ax-icon>\n </ax-suffix>\n</ax-button>\n<ax-popover [target]=\"tenantChooser\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" [adaptivityEnabled]=\"true\"\n #tenantPopover>\n <div class=\"ax-bg-lightest ax-border ax-overflow-hidden ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64 ax-p-3\">\n <axp-tenant-chooser-list [simple]=\"true\" (tenantChosen)=\"closePopover()\"></axp-tenant-chooser-list>\n </div>\n</ax-popover>\n} @else {\n<ax-button [text]=\"tenant?.title ?? ''\" class=\"ax-xs\" look=\"blank\"></ax-button>\n}\n}" }]
482
+ args: [{ selector: 'axp-tenant-chooser-dropdown', imports: [CommonModule, AXButtonModule, AXPopoverModule, AXDecoratorModule, AXPTenantChooserListComponent], template: "@if (tenants$ | async; as tenants) {\n@if (tenants.length > 1) {\n<ax-button [text]=\"tenant?.title ?? ''\" class=\"ax-xs\" look=\"blank\" #tenantChooser>\n <ax-suffix>\n <ax-icon class=\"fa-solid fa-caret-down\"></ax-icon>\n </ax-suffix>\n</ax-button>\n<ax-popover [target]=\"tenantChooser\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" [adaptivityEnabled]=\"true\"\n #tenantPopover>\n <div class=\"ax-bg-lightest ax-border ax-overflow-hidden ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64 ax-p-1\">\n <axp-tenant-chooser-list [simple]=\"true\" (tenantChosen)=\"closePopover()\"></axp-tenant-chooser-list>\n </div>\n</ax-popover>\n} @else {\n<ax-button [text]=\"tenant?.title ?? ''\" class=\"ax-xs\" look=\"blank\"></ax-button>\n}\n}" }]
468
483
  }], propDecorators: { tenantPopover: [{ type: i0.ViewChild, args: ['tenantPopover', { isSignal: true }] }] } });
469
484
 
470
485
  class AXMAuthProfileSlotComponent {
@@ -495,7 +510,7 @@ class AXMAuthProfileSlotComponent {
495
510
  this.router.navigate(['/auth/login']);
496
511
  }
497
512
  async openUserSession() {
498
- const com = await import('./acorex-modules-auth-user-sessions.component-CjMVASef.mjs').then((c) => c.AXMUserSessionsComponent);
513
+ const com = await import('./acorex-modules-auth-user-sessions.component-DZmzUnch.mjs').then((c) => c.AXMUserSessionsComponent);
499
514
  this.popupService.open(com, {
500
515
  size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'sm',
501
516
  title: await this.translateService.translateAsync('@auth:profile.sessions.title'),
@@ -505,7 +520,7 @@ class AXMAuthProfileSlotComponent {
505
520
  this.commandExecutor.execute('auth:profile', {});
506
521
  }
507
522
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXMAuthProfileSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
508
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: AXMAuthProfileSlotComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "profilePopover", first: true, predicate: ["profilePopover"], descendants: true }], ngImport: i0, template: "@if (isAuthenticated$ | async) {\n <div class=\"ax-size-fit\">\n <div #avatar>\n <axp-user-avatar [size]=\"36\" [userId]=\"(user$ | async)?.id!\"></axp-user-avatar>\n </div>\n\n <ax-popover [target]=\"avatar\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" #p>\n <div class=\"ax-bg-lightest ax-border ax-border-lightest ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64\">\n <div class=\"ax-flex ax-flex-col ax-items-center ax-p-4 ax-border-b\">\n <axp-user-avatar [size]=\"64\" [userId]=\"(user$ | async)?.id!\"></axp-user-avatar>\n\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-mt-2\">\n <div class=\"ax-text-base ax-font-bold\">{{ (user$ | async)?.title }}</div>\n <axp-tenant-chooser-dropdown></axp-tenant-chooser-dropdown>\n </div>\n </div>\n <div class=\"axp-profile-slot-menus\">\n <ul>\n <li>\n <a (click)=\"showProfile()\">\n <i class=\"fa-light fa-user\"></i>\n <span>{{ '@auth:profile.edit' | translate | async }}</span>\n </a>\n </li>\n <li>\n <a (click)=\"p.close()\" [routerLink]=\"['/', appName(), 'settings', 'user']\">\n <i class=\"fa-light fa-gear\"></i>\n <span>{{ '@auth:profile.settings' | translate | async }}</span>\n </a>\n </li>\n <li>\n <a (click)=\"openUserSession()\">\n <i class=\"fa-light fa-mobile\"></i>\n <span>{{ '@auth:profile.sessions' | translate | async }}</span>\n </a>\n </li>\n <li class=\"ax-text-danger-500\">\n <a (click)=\"logOut()\">\n <i class=\"fa-light fa-arrow-right-from-bracket\"></i>\n <span>{{ '@auth:profile.logout' | translate | async }}</span>\n </a>\n </li>\n </ul>\n </div>\n </div>\n </ax-popover>\n </div>\n} @else {\n <ax-button color=\"default\" look=\"blank\" text=\"Sign Up / Sign In\" (click)=\"handleSignIn()\">\n <ax-icon>\n <i class=\"fa-solid fa-user ax-text-slate-400 dark:ax-text-slate-200\"></i>\n </ax-icon>\n </ax-button>\n}\n", styles: [".axp-profile-slot-menus ul{margin-top:.5rem;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));padding-left:.5rem;padding-right:.5rem}.axp-profile-slot-menus ul:last-child{border-width:0px}.axp-profile-slot-menus ul li{display:flex;cursor:pointer;border-radius:.375rem}.axp-profile-slot-menus ul li:last-child{margin-bottom:.5rem}.axp-profile-slot-menus ul li:hover{--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-dark-surface),var(--tw-bg-opacity, 1))}.axp-profile-slot-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}.axp-profile-slot-menus ul li a{display:flex;height:100%;width:100%;align-items:center;padding:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type:
523
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: AXMAuthProfileSlotComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "profilePopover", first: true, predicate: ["profilePopover"], descendants: true }], ngImport: i0, template: "@if (isAuthenticated$ | async) {\n <div class=\"ax-size-fit\">\n <div #avatar>\n <axp-user-avatar [size]=\"36\" [userId]=\"(user$ | async)?.id!\"></axp-user-avatar>\n </div>\n\n <ax-popover [target]=\"avatar\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" #p>\n <div class=\"ax-bg-lightest ax-border ax-border-lightest ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64\">\n <div class=\"ax-flex ax-flex-col ax-items-center ax-p-4 ax-border-b\">\n <axp-user-avatar [size]=\"64\" [userId]=\"(user$ | async)?.id!\"></axp-user-avatar>\n\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-mt-2\">\n <div class=\"ax-text-base ax-font-bold\">{{ (user$ | async)?.title }}</div>\n <axp-tenant-chooser-dropdown></axp-tenant-chooser-dropdown>\n </div>\n </div>\n <div class=\"axp-profile-slot-menus\">\n <ul>\n <!-- <li>\n <a (click)=\"showProfile()\">\n <i class=\"fa-light fa-user\"></i>\n <span>{{ '@auth:profile.edit' | translate | async }}</span>\n </a>\n </li> -->\n <li>\n <a (click)=\"p.close()\" [routerLink]=\"['/', appName(), 'settings', 'user']\">\n <i class=\"fa-light fa-gear\"></i>\n <span>{{ '@auth:profile.settings' | translate | async }}</span>\n </a>\n </li>\n <!-- <li>\n <a (click)=\"openUserSession()\">\n <i class=\"fa-light fa-mobile\"></i>\n <span>{{ '@auth:profile.sessions' | translate | async }}</span>\n </a>\n </li> -->\n <li class=\"ax-text-danger-500\">\n <a (click)=\"logOut()\">\n <i class=\"fa-light fa-arrow-right-from-bracket\"></i>\n <span>{{ '@auth:profile.logout' | translate | async }}</span>\n </a>\n </li>\n </ul>\n </div>\n </div>\n </ax-popover>\n </div>\n} @else {\n <ax-button color=\"default\" look=\"blank\" text=\"Sign Up / Sign In\" (click)=\"handleSignIn()\">\n <ax-icon>\n <i class=\"fa-solid fa-user ax-text-slate-400 dark:ax-text-slate-200\"></i>\n </ax-icon>\n </ax-button>\n}\n", styles: [".axp-profile-slot-menus ul{margin-top:.5rem;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));padding-left:.5rem;padding-right:.5rem}.axp-profile-slot-menus ul:last-child{border-width:0px}.axp-profile-slot-menus ul li{display:flex;cursor:pointer;border-radius:.375rem}.axp-profile-slot-menus ul li:last-child{margin-bottom:.5rem}.axp-profile-slot-menus ul li:hover{--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-dark-surface),var(--tw-bg-opacity, 1))}.axp-profile-slot-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}.axp-profile-slot-menus ul li a{display:flex;height:100%;width:100%;align-items:center;padding:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type:
509
524
  //
510
525
  AXImageModule }, { kind: "ngmodule", type: AXAvatarModule }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i2$2.AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disablePanelClass", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "repositionOnScroll", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "component", type: AXPUserAvatarComponent, selector: "axp-user-avatar", inputs: ["size", "userId"] }, { kind: "component", type:
511
526
  //
@@ -527,7 +542,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
527
542
  AXPUserAvatarComponent,
528
543
  //
529
544
  AXPTenantChooserDropdownComponent,
530
- ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "@if (isAuthenticated$ | async) {\n <div class=\"ax-size-fit\">\n <div #avatar>\n <axp-user-avatar [size]=\"36\" [userId]=\"(user$ | async)?.id!\"></axp-user-avatar>\n </div>\n\n <ax-popover [target]=\"avatar\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" #p>\n <div class=\"ax-bg-lightest ax-border ax-border-lightest ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64\">\n <div class=\"ax-flex ax-flex-col ax-items-center ax-p-4 ax-border-b\">\n <axp-user-avatar [size]=\"64\" [userId]=\"(user$ | async)?.id!\"></axp-user-avatar>\n\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-mt-2\">\n <div class=\"ax-text-base ax-font-bold\">{{ (user$ | async)?.title }}</div>\n <axp-tenant-chooser-dropdown></axp-tenant-chooser-dropdown>\n </div>\n </div>\n <div class=\"axp-profile-slot-menus\">\n <ul>\n <li>\n <a (click)=\"showProfile()\">\n <i class=\"fa-light fa-user\"></i>\n <span>{{ '@auth:profile.edit' | translate | async }}</span>\n </a>\n </li>\n <li>\n <a (click)=\"p.close()\" [routerLink]=\"['/', appName(), 'settings', 'user']\">\n <i class=\"fa-light fa-gear\"></i>\n <span>{{ '@auth:profile.settings' | translate | async }}</span>\n </a>\n </li>\n <li>\n <a (click)=\"openUserSession()\">\n <i class=\"fa-light fa-mobile\"></i>\n <span>{{ '@auth:profile.sessions' | translate | async }}</span>\n </a>\n </li>\n <li class=\"ax-text-danger-500\">\n <a (click)=\"logOut()\">\n <i class=\"fa-light fa-arrow-right-from-bracket\"></i>\n <span>{{ '@auth:profile.logout' | translate | async }}</span>\n </a>\n </li>\n </ul>\n </div>\n </div>\n </ax-popover>\n </div>\n} @else {\n <ax-button color=\"default\" look=\"blank\" text=\"Sign Up / Sign In\" (click)=\"handleSignIn()\">\n <ax-icon>\n <i class=\"fa-solid fa-user ax-text-slate-400 dark:ax-text-slate-200\"></i>\n </ax-icon>\n </ax-button>\n}\n", styles: [".axp-profile-slot-menus ul{margin-top:.5rem;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));padding-left:.5rem;padding-right:.5rem}.axp-profile-slot-menus ul:last-child{border-width:0px}.axp-profile-slot-menus ul li{display:flex;cursor:pointer;border-radius:.375rem}.axp-profile-slot-menus ul li:last-child{margin-bottom:.5rem}.axp-profile-slot-menus ul li:hover{--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-dark-surface),var(--tw-bg-opacity, 1))}.axp-profile-slot-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}.axp-profile-slot-menus ul li a{display:flex;height:100%;width:100%;align-items:center;padding:.5rem}\n"] }]
545
+ ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "@if (isAuthenticated$ | async) {\n <div class=\"ax-size-fit\">\n <div #avatar>\n <axp-user-avatar [size]=\"36\" [userId]=\"(user$ | async)?.id!\"></axp-user-avatar>\n </div>\n\n <ax-popover [target]=\"avatar\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" #p>\n <div class=\"ax-bg-lightest ax-border ax-border-lightest ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64\">\n <div class=\"ax-flex ax-flex-col ax-items-center ax-p-4 ax-border-b\">\n <axp-user-avatar [size]=\"64\" [userId]=\"(user$ | async)?.id!\"></axp-user-avatar>\n\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-mt-2\">\n <div class=\"ax-text-base ax-font-bold\">{{ (user$ | async)?.title }}</div>\n <axp-tenant-chooser-dropdown></axp-tenant-chooser-dropdown>\n </div>\n </div>\n <div class=\"axp-profile-slot-menus\">\n <ul>\n <!-- <li>\n <a (click)=\"showProfile()\">\n <i class=\"fa-light fa-user\"></i>\n <span>{{ '@auth:profile.edit' | translate | async }}</span>\n </a>\n </li> -->\n <li>\n <a (click)=\"p.close()\" [routerLink]=\"['/', appName(), 'settings', 'user']\">\n <i class=\"fa-light fa-gear\"></i>\n <span>{{ '@auth:profile.settings' | translate | async }}</span>\n </a>\n </li>\n <!-- <li>\n <a (click)=\"openUserSession()\">\n <i class=\"fa-light fa-mobile\"></i>\n <span>{{ '@auth:profile.sessions' | translate | async }}</span>\n </a>\n </li> -->\n <li class=\"ax-text-danger-500\">\n <a (click)=\"logOut()\">\n <i class=\"fa-light fa-arrow-right-from-bracket\"></i>\n <span>{{ '@auth:profile.logout' | translate | async }}</span>\n </a>\n </li>\n </ul>\n </div>\n </div>\n </ax-popover>\n </div>\n} @else {\n <ax-button color=\"default\" look=\"blank\" text=\"Sign Up / Sign In\" (click)=\"handleSignIn()\">\n <ax-icon>\n <i class=\"fa-solid fa-user ax-text-slate-400 dark:ax-text-slate-200\"></i>\n </ax-icon>\n </ax-button>\n}\n", styles: [".axp-profile-slot-menus ul{margin-top:.5rem;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));padding-left:.5rem;padding-right:.5rem}.axp-profile-slot-menus ul:last-child{border-width:0px}.axp-profile-slot-menus ul li{display:flex;cursor:pointer;border-radius:.375rem}.axp-profile-slot-menus ul li:last-child{margin-bottom:.5rem}.axp-profile-slot-menus ul li:hover{--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-dark-surface),var(--tw-bg-opacity, 1))}.axp-profile-slot-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}.axp-profile-slot-menus ul li a{display:flex;height:100%;width:100%;align-items:center;padding:.5rem}\n"] }]
531
546
  }], propDecorators: { profilePopover: [{
532
547
  type: ViewChild,
533
548
  args: ['profilePopover']
@@ -788,12 +803,12 @@ function routesFacory() {
788
803
  routes = [
789
804
  {
790
805
  path: 'tenant-chooser',
791
- loadComponent: () => import('./acorex-modules-auth-tenant-chooser.component-C-q5FlJt.mjs').then((c) => c.AXPAuthTenantChooserComponent),
806
+ loadComponent: () => import('./acorex-modules-auth-tenant-chooser.component-DTP16dBf.mjs').then((c) => c.AXPAuthTenantChooserComponent),
792
807
  canActivate: [AXPAuthGuard, canActivateTenantChooser],
793
808
  },
794
809
  {
795
810
  path: 'app-chooser',
796
- loadComponent: () => import('./acorex-modules-auth-app-chooser.component-DE7nsDoV.mjs').then((c) => c.AXPAuthAppChooserComponent),
811
+ loadComponent: () => import('./acorex-modules-auth-app-chooser.component-DkBkMn1r.mjs').then((c) => c.AXPAuthAppChooserComponent),
797
812
  canActivate: [AXPAuthGuard, canActivateAppChooser],
798
813
  },
799
814
  ];
@@ -899,11 +914,6 @@ class AXMAuthModule {
899
914
  command: () => import('./acorex-modules-auth-show-profile-command-13HXhZWr.mjs').then((c) => c.AXPShowProfileCommand),
900
915
  },
901
916
  ]),
902
- {
903
- provide: ROUTES,
904
- multi: true,
905
- useValue: [{ path: '**', redirectTo: AXP_NOT_FOUND_ROUTE }],
906
- },
907
917
  ], imports: [CommonModule,
908
918
  AXPCommonModule.forChild({ errorHandlers: [AXMAuthErrorHandler] }),
909
919
  RouterModule.forChild(routes),
@@ -929,11 +939,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
929
939
  command: () => import('./acorex-modules-auth-show-profile-command-13HXhZWr.mjs').then((c) => c.AXPShowProfileCommand),
930
940
  },
931
941
  ]),
932
- {
933
- provide: ROUTES,
934
- multi: true,
935
- useValue: [{ path: '**', redirectTo: AXP_NOT_FOUND_ROUTE }],
936
- },
937
942
  ],
938
943
  }]
939
944
  }] });
@@ -950,4 +955,4 @@ var AXMSessionStatusTypes;
950
955
  */
951
956
 
952
957
  export { AXM_AUTH_CONFIG_TOKEN as A, AXM_LOGIN_GUARD_TOKEN as a, AXMAuthenticationTypes as b, AXPTenantChooserListComponent as c, AXPTenantChooserDropdownComponent as d, AXPAppChooserListComponent as e, AXMUserDeviceSessionsService as f, AXMAuthErrorHandler as g, AXMAuthModule as h, AXMDefaultAuthConfigs as i, AXMDeviceSessionsService as j, AXMDeviceSessionsServiceImpl as k, AXMSessionStatusTypes as l, AXPIdleService as m, canActivateLogin as n, configAuthModule as o };
953
- //# sourceMappingURL=acorex-modules-auth-acorex-modules-auth-dgKWK4M-.mjs.map
958
+ //# sourceMappingURL=acorex-modules-auth-acorex-modules-auth-C6qGQv_F.mjs.map