@acorex-platform/module-auth-client 0.0.32 → 0.0.33
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.
- package/fesm2022/{acorex-platform-module-auth-client-acorex-platform-module-auth-client-CPmffSrQ.mjs → acorex-platform-module-auth-client-acorex-platform-module-auth-client-CTf7qxkQ.mjs} +48 -46
- package/fesm2022/acorex-platform-module-auth-client-acorex-platform-module-auth-client-CTf7qxkQ.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-auth-client-app-chooser.component-BfOgjNxw.mjs → acorex-platform-module-auth-client-app-chooser.component-TPCkYJej.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-auth-client-app-chooser.component-BfOgjNxw.mjs.map → acorex-platform-module-auth-client-app-chooser.component-TPCkYJej.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-auth-client-change-password.command-BcBbN5hX.mjs → acorex-platform-module-auth-client-change-password.command-DHwnPkUO.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-auth-client-change-password.command-BcBbN5hX.mjs.map → acorex-platform-module-auth-client-change-password.command-DHwnPkUO.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-auth-client-change-photo.command-DfHUPj7p.mjs → acorex-platform-module-auth-client-change-photo.command-BZK_W29M.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-auth-client-change-photo.command-DfHUPj7p.mjs.map → acorex-platform-module-auth-client-change-photo.command-BZK_W29M.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-auth-client-get-user-activity.query-D9fyLuBy.mjs → acorex-platform-module-auth-client-get-user-activity.query-DBdELID4.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-auth-client-get-user-activity.query-D9fyLuBy.mjs.map → acorex-platform-module-auth-client-get-user-activity.query-DBdELID4.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-auth-client-lock-screen.command-DUZ255VK.mjs → acorex-platform-module-auth-client-lock-screen.command-BADSRZxj.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-auth-client-lock-screen.command-DUZ255VK.mjs.map → acorex-platform-module-auth-client-lock-screen.command-BADSRZxj.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-auth-client-login.module-uRv9Gwea.mjs → acorex-platform-module-auth-client-login.module-DushGqH6.mjs} +3 -3
- package/fesm2022/{acorex-platform-module-auth-client-login.module-uRv9Gwea.mjs.map → acorex-platform-module-auth-client-login.module-DushGqH6.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-auth-client-master.layout-Cu8mQN9B.mjs → acorex-platform-module-auth-client-master.layout-BLUWyFTY.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-auth-client-master.layout-Cu8mQN9B.mjs.map → acorex-platform-module-auth-client-master.layout-BLUWyFTY.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-auth-client-open-sessions.command-BlPxfa3v.mjs → acorex-platform-module-auth-client-open-sessions.command-BHAf7500.mjs} +13 -23
- package/fesm2022/acorex-platform-module-auth-client-open-sessions.command-BHAf7500.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-auth-client-password.component-5-0kaY5J.mjs → acorex-platform-module-auth-client-password.component-D5QDAaKY.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-auth-client-password.component-5-0kaY5J.mjs.map → acorex-platform-module-auth-client-password.component-D5QDAaKY.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-auth-client-profile-activity-chart.component-kBmoYwRh.mjs → acorex-platform-module-auth-client-profile-activity-chart.component-o7Eq3zuR.mjs} +4 -4
- package/fesm2022/{acorex-platform-module-auth-client-profile-activity-chart.component-kBmoYwRh.mjs.map → acorex-platform-module-auth-client-profile-activity-chart.component-o7Eq3zuR.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-auth-client-profile-page-component.provider-Bz1mdVCM.mjs → acorex-platform-module-auth-client-profile-page-component.provider-CfQySdD8.mjs} +3 -3
- package/fesm2022/{acorex-platform-module-auth-client-profile-page-component.provider-Bz1mdVCM.mjs.map → acorex-platform-module-auth-client-profile-page-component.provider-CfQySdD8.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-auth-client-profile-page.component-w2SYmCyc.mjs → acorex-platform-module-auth-client-profile-page.component-CPHQXCpS.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-auth-client-profile-page.component-w2SYmCyc.mjs.map → acorex-platform-module-auth-client-profile-page.component-CPHQXCpS.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-auth-client-register-password.component-BtDgEnmo.mjs → acorex-platform-module-auth-client-register-password.component-BMHOG5m4.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-auth-client-register-password.component-BtDgEnmo.mjs.map → acorex-platform-module-auth-client-register-password.component-BMHOG5m4.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-auth-client-register.module-DCWoPb0u.mjs → acorex-platform-module-auth-client-register.module-CFIHZOYj.mjs} +3 -3
- package/fesm2022/{acorex-platform-module-auth-client-register.module-DCWoPb0u.mjs.map → acorex-platform-module-auth-client-register.module-CFIHZOYj.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-auth-client-remove-pin-code.command-DJeSHCLL.mjs → acorex-platform-module-auth-client-remove-pin-code.command-CdlJF48g.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-auth-client-remove-pin-code.command-DJeSHCLL.mjs.map → acorex-platform-module-auth-client-remove-pin-code.command-CdlJF48g.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-auth-client-session-lock-overlay.component-3HJEmCYI.mjs → acorex-platform-module-auth-client-session-lock-overlay.component-CcGFA6Op.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-auth-client-session-lock-overlay.component-3HJEmCYI.mjs.map → acorex-platform-module-auth-client-session-lock-overlay.component-CcGFA6Op.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-auth-client-set-pin-code.command-C2kCGuQW.mjs → acorex-platform-module-auth-client-set-pin-code.command-BSZhRCN7.mjs} +3 -3
- package/fesm2022/{acorex-platform-module-auth-client-set-pin-code.command-C2kCGuQW.mjs.map → acorex-platform-module-auth-client-set-pin-code.command-BSZhRCN7.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-auth-client-set-pin-code.component-Dpdgw4KT.mjs → acorex-platform-module-auth-client-set-pin-code.component-Bm32dRFz.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-auth-client-set-pin-code.component-Dpdgw4KT.mjs.map → acorex-platform-module-auth-client-set-pin-code.component-Bm32dRFz.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-auth-client-tenant-chooser.component-1Kv-LGZc.mjs → acorex-platform-module-auth-client-tenant-chooser.component-DKTvZ1-I.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-auth-client-tenant-chooser.component-1Kv-LGZc.mjs.map → acorex-platform-module-auth-client-tenant-chooser.component-DKTvZ1-I.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-auth-client-view-login-history.command-C_T4l61M.mjs → acorex-platform-module-auth-client-view-login-history.command-CWmD9wNM.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-auth-client-view-login-history.command-C_T4l61M.mjs.map → acorex-platform-module-auth-client-view-login-history.command-CWmD9wNM.mjs.map} +1 -1
- package/fesm2022/acorex-platform-module-auth-client.mjs +1 -1
- package/package.json +2 -2
- package/fesm2022/acorex-platform-module-auth-client-acorex-platform-module-auth-client-CPmffSrQ.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-auth-client-open-sessions.command-BlPxfa3v.mjs.map +0 -1
|
@@ -29,21 +29,20 @@ import { AXDecoratorModule } from '@acorex/components/decorators';
|
|
|
29
29
|
import * as i2$1 from '@acorex/components/popover';
|
|
30
30
|
import { AXPopoverModule } from '@acorex/components/popover';
|
|
31
31
|
import { RootConfig as RootConfig$1 } from '@acorex-platform/module-application-management-client/contracts';
|
|
32
|
-
import * as
|
|
32
|
+
import * as i4 from '@acorex/cdk/list-navigation';
|
|
33
33
|
import { AXListNavigationDirective, AXListNavigationItemDirective, AXListNavigationModule } from '@acorex/cdk/list-navigation';
|
|
34
|
-
import
|
|
35
|
-
import { AXSearchBoxModule } from '@acorex/components/search-box';
|
|
36
|
-
import * as i4 from '@acorex/components/select-box';
|
|
37
|
-
import { AXSelectBoxModule } from '@acorex/components/select-box';
|
|
34
|
+
import { AXLookupComponent } from '@acorex/components/lookup';
|
|
38
35
|
import * as i2 from '@acorex/components/loading';
|
|
39
36
|
import { AXLoadingModule } from '@acorex/components/loading';
|
|
40
37
|
import * as i1$2 from '@acorex/components/skeleton';
|
|
41
38
|
import { AXSkeletonModule } from '@acorex/components/skeleton';
|
|
42
|
-
import * as i5
|
|
39
|
+
import * as i5 from '@acorex/core/translation';
|
|
43
40
|
import { AXTranslationModule, AXTranslationService, resolveMultiLanguageString } from '@acorex/core/translation';
|
|
44
41
|
import { AXAvatarModule } from '@acorex/components/avatar';
|
|
45
42
|
import { AXImageModule } from '@acorex/components/image';
|
|
46
43
|
import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
44
|
+
import * as i6 from '@acorex/components/search-box';
|
|
45
|
+
import { AXSearchBoxModule } from '@acorex/components/search-box';
|
|
47
46
|
import * as i1$3 from '@angular/forms';
|
|
48
47
|
import { FormsModule } from '@angular/forms';
|
|
49
48
|
import { AXToastService } from '@acorex/components/toast';
|
|
@@ -994,17 +993,17 @@ const routes = [
|
|
|
994
993
|
},
|
|
995
994
|
{
|
|
996
995
|
path: '',
|
|
997
|
-
loadComponent: () => import('./acorex-platform-module-auth-client-master.layout-
|
|
998
|
-
loadChildren: () => import('./acorex-platform-module-auth-client-login.module-
|
|
996
|
+
loadComponent: () => import('./acorex-platform-module-auth-client-master.layout-BLUWyFTY.mjs').then((c) => c.AXPAuthMasterLayoutComponent),
|
|
997
|
+
loadChildren: () => import('./acorex-platform-module-auth-client-login.module-DushGqH6.mjs').then((c) => c.AXPSignInModule),
|
|
999
998
|
},
|
|
1000
999
|
{
|
|
1001
1000
|
path: '',
|
|
1002
|
-
loadComponent: () => import('./acorex-platform-module-auth-client-master.layout-
|
|
1001
|
+
loadComponent: () => import('./acorex-platform-module-auth-client-master.layout-BLUWyFTY.mjs').then((c) => c.AXPAuthMasterLayoutComponent),
|
|
1003
1002
|
loadChildren: () => import('./acorex-platform-module-auth-client-two-factor.module-BnH72Bob.mjs').then((c) => c.AXPTwoFactorModule),
|
|
1004
1003
|
},
|
|
1005
1004
|
{
|
|
1006
1005
|
path: '',
|
|
1007
|
-
loadComponent: () => import('./acorex-platform-module-auth-client-master.layout-
|
|
1006
|
+
loadComponent: () => import('./acorex-platform-module-auth-client-master.layout-BLUWyFTY.mjs').then((c) => c.AXPAuthMasterLayoutComponent),
|
|
1008
1007
|
loadChildren: () => import('./acorex-platform-module-auth-client-routes-IX2qmeqU.mjs').then((c) => c),
|
|
1009
1008
|
},
|
|
1010
1009
|
{
|
|
@@ -1018,8 +1017,8 @@ const routes = [
|
|
|
1018
1017
|
},
|
|
1019
1018
|
{
|
|
1020
1019
|
path: '',
|
|
1021
|
-
loadComponent: () => import('./acorex-platform-module-auth-client-master.layout-
|
|
1022
|
-
loadChildren: () => import('./acorex-platform-module-auth-client-register.module-
|
|
1020
|
+
loadComponent: () => import('./acorex-platform-module-auth-client-master.layout-BLUWyFTY.mjs').then((c) => c.AXPAuthMasterLayoutComponent),
|
|
1021
|
+
loadChildren: () => import('./acorex-platform-module-auth-client-register.module-CFIHZOYj.mjs').then((c) => c.AXPRegisterModule),
|
|
1023
1022
|
},
|
|
1024
1023
|
],
|
|
1025
1024
|
},
|
|
@@ -1100,11 +1099,13 @@ class AXPAppChooserListComponent {
|
|
|
1100
1099
|
}
|
|
1101
1100
|
//#endregion
|
|
1102
1101
|
//#region ---- UI Handlers ----
|
|
1102
|
+
handleApplicationSelectionChanged(event) {
|
|
1103
|
+
this.selectedApplication.set(event.items?.[0] ?? null);
|
|
1104
|
+
}
|
|
1103
1105
|
handleApplicationSelect(event) {
|
|
1104
1106
|
if (!event.isUserInteraction) {
|
|
1105
1107
|
return;
|
|
1106
1108
|
}
|
|
1107
|
-
this.selectedApplication.set(event.component.selectedItems[0] ?? null);
|
|
1108
1109
|
}
|
|
1109
1110
|
handleListItemKeyDown(event, application) {
|
|
1110
1111
|
if (event.key === 'Enter' || event.key === ' ') {
|
|
@@ -1200,7 +1201,7 @@ class AXPAppChooserListComponent {
|
|
|
1200
1201
|
}
|
|
1201
1202
|
}
|
|
1202
1203
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPAppChooserListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1203
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXPAppChooserListComponent, isStandalone: true, selector: "axp-app-chooser-list", inputs: { simple: { classPropertyName: "simple", publicName: "simple", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { applicationChosen: "applicationChosen", loadingChange: "loadingChange" }, 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=\"w-full flex flex-col gap-3\">\n @for (item of skeletonItems; track item) {\n <div class=\"flex gap-3 items-center p-2\">\n <ax-skeleton [animated]=\"true\" class=\"size-10 rounded-lg shrink-0\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"flex-1 h-5 rounded-md\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"w-16 h-4 rounded-md shrink-0\"></ax-skeleton>\n </div>\n }\n </div>\n} @else if (useSelectBox()) {\n <div\n class=\"w-full flex flex-col gap-4\"\n [class.pointer-events-none]=\"isChoosing()\"\n [class.opacity-60]=\"isChoosing()\"\n (keydown.capture)=\"handleSelectBoxKeyDown($event)\"\n >\n <ax-
|
|
1204
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXPAppChooserListComponent, isStandalone: true, selector: "axp-app-chooser-list", inputs: { simple: { classPropertyName: "simple", publicName: "simple", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { applicationChosen: "applicationChosen", loadingChange: "loadingChange" }, 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=\"w-full flex flex-col gap-3\">\n @for (item of skeletonItems; track item) {\n <div class=\"flex gap-3 items-center p-2\">\n <ax-skeleton [animated]=\"true\" class=\"size-10 rounded-lg shrink-0\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"flex-1 h-5 rounded-md\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"w-16 h-4 rounded-md shrink-0\"></ax-skeleton>\n </div>\n }\n </div>\n} @else if (useSelectBox()) {\n <div\n class=\"w-full flex flex-col gap-4\"\n [class.pointer-events-none]=\"isChoosing()\"\n [class.opacity-60]=\"isChoosing()\"\n (keydown.capture)=\"handleSelectBoxKeyDown($event)\"\n >\n <ax-lookup\n class=\"w-full\"\n mode=\"drop-down-list\"\n [dataSource]=\"allApplications()\"\n textField=\"title\"\n valueField=\"id\"\n [value]=\"selectedApplication()?.id\"\n [itemHeight]=\"56\"\n [searchable]=\"true\"\n [placeholder]=\"('@auth:application-chooser.select-placeholder' | translate | async) ?? ''\"\n [itemTemplate]=\"applicationItemTemplate\"\n [selectedTemplate]=\"applicationItemTemplate\"\n (onOpened)=\"isSelectBoxOpen.set(true)\"\n (onClosed)=\"isSelectBoxOpen.set(false)\"\n (onValueChanged)=\"handleApplicationSelect($event)\"\n (onSelectionChanged)=\"handleApplicationSelectionChanged($event)\"\n >\n </ax-lookup>\n <ax-button\n class=\"w-full\"\n color=\"primary\"\n [disabled]=\"!canApply() || isChoosing()\"\n [text]=\"('@general:actions.apply.title' | translate | async) ?? ''\"\n (onClick)=\"applySelection()\"\n >\n @if (isChoosing()) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n </div>\n} @else {\n <div\n axListNavigation\n #listNav=\"axListNavigation\"\n class=\"w-full overflow-auto max-h-[300px] flex flex-col divide-y divide-neutral-100 dark:divide-neutral-800\"\n role=\"listbox\"\n [class.pointer-events-none]=\"isChoosing()\"\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 [attr.aria-busy]=\"choosingId() === application.id\"\n class=\"flex gap-2 items-center p-2 cursor-pointer rounded-md transition-colors outline-none hover:bg-primary-lightest hover:dark:bg-primary-dark focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary\"\n [class.bg-primary-lighter]=\"isApplicationSelected(application)\"\n [class.dark:bg-primary-darker]=\"isApplicationSelected(application)\"\n [class.text-primary-on-lighter]=\"isApplicationSelected(application)\"\n [class.dark:text-primary-on-darker]=\"isApplicationSelected(application)\"\n [class.opacity-50]=\"isChoosing() && choosingId() !== application.id\"\n [class.cursor-wait]=\"isChoosing()\"\n (click)=\"chooseApplication(application)\"\n (keydown)=\"handleListItemKeyDown($event, application)\"\n >\n <div class=\"flex flex-1 gap-3 items-center min-w-0\">\n <div class=\"shrink-0 size-12 overflow-hidden rounded-lg\">\n <axp-logo\n [logoKey]=\"applicationLogoKey(application)\"\n appearance=\"colored\"\n [size]=\"42\"\n [attr.alt]=\"(application.title | translate | async) ?? ''\"\n class=\"size-12 overflow-hidden rounded-lg\"\n ></axp-logo>\n </div>\n <span class=\"flex-1 min-w-0 text-start md:text-base text-sm break-words md:truncate\">{{\n application.title | translate | async\n }}</span>\n @if (application.edition?.title) {\n <span class=\"text-muted text-xs shrink-0\">{{\n application.edition?.title | translate | async\n }}</span>\n }\n </div>\n @if (choosingId() === application.id) {\n <ax-loading class=\"shrink-0\"></ax-loading>\n }\n </div>\n }\n </div>\n}\n\n<ng-template #applicationItemTemplate let-item>\n <div class=\"flex gap-3 items-center p-2\">\n <div class=\"size-12 overflow-hidden rounded-lg shrink-0\">\n <axp-logo\n [logoKey]=\"applicationLogoKey(item)\"\n appearance=\"colored\"\n [size]=\"42\"\n [attr.alt]=\"(item.title | translate | async) ?? ''\"\n class=\"size-12 overflow-hidden rounded-lg\"\n ></axp-logo>\n </div>\n <span class=\"flex-1 text-start md:text-base text-sm\">{{ item.title | translate | async }}</span>\n @if (item.edition?.title) {\n <span class=\"text-muted text-xs\">{{ item.edition.title | translate | async }}</span>\n }\n </div>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i2.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXSkeletonModule }, { kind: "component", type: i1$2.AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "component", type: AXLookupComponent, selector: "ax-lookup", inputs: ["name", "mode", "dataSource", "treeDataSource", "valueField", "textField", "disabledField", "columns", "treeParentField", "hasChildrenField", "searchable", "adaptivityEnabled", "caption", "alternate", "searchPlaceholder", "placeholder", "disabled", "readonly", "look", "itemHeight", "maxVisibleItems", "treeSelectionBehavior", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "value", "valueItems"], outputs: ["lookChange", "valueChange", "onValueChanged", "onSelectionChanged", "onFocus", "onBlur", "onItemClick", "onItemSelected", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXListNavigationModule }, { kind: "directive", type: i4.AXListNavigationDirective, selector: "[axListNavigation]", inputs: ["orientation"], outputs: ["onNavigationChanged", "onKeypress"], exportAs: ["axListNavigation"] }, { kind: "directive", type: i4.AXListNavigationItemDirective, selector: "[axListNavigationItem]", outputs: ["onKeypress"], exportAs: ["axListNavigationItem"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "component", type: AXPLogoComponent, selector: "axp-logo", inputs: ["logoKey", "appearance", "size", "format"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1204
1205
|
}
|
|
1205
1206
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPAppChooserListComponent, decorators: [{
|
|
1206
1207
|
type: Component,
|
|
@@ -1210,12 +1211,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
1210
1211
|
AXDecoratorModule,
|
|
1211
1212
|
AXLoadingModule,
|
|
1212
1213
|
AXSkeletonModule,
|
|
1213
|
-
|
|
1214
|
-
AXSearchBoxModule,
|
|
1214
|
+
AXLookupComponent,
|
|
1215
1215
|
AXListNavigationModule,
|
|
1216
1216
|
AXTranslationModule,
|
|
1217
1217
|
AXPLogoComponent,
|
|
1218
|
-
], template: "@if (isLoading()) {\n <div class=\"w-full flex flex-col gap-3\">\n @for (item of skeletonItems; track item) {\n <div class=\"flex gap-3 items-center p-2\">\n <ax-skeleton [animated]=\"true\" class=\"size-10 rounded-lg shrink-0\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"flex-1 h-5 rounded-md\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"w-16 h-4 rounded-md shrink-0\"></ax-skeleton>\n </div>\n }\n </div>\n} @else if (useSelectBox()) {\n <div\n class=\"w-full flex flex-col gap-4\"\n [class.pointer-events-none]=\"isChoosing()\"\n [class.opacity-60]=\"isChoosing()\"\n (keydown.capture)=\"handleSelectBoxKeyDown($event)\"\n >\n <ax-
|
|
1218
|
+
], template: "@if (isLoading()) {\n <div class=\"w-full flex flex-col gap-3\">\n @for (item of skeletonItems; track item) {\n <div class=\"flex gap-3 items-center p-2\">\n <ax-skeleton [animated]=\"true\" class=\"size-10 rounded-lg shrink-0\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"flex-1 h-5 rounded-md\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"w-16 h-4 rounded-md shrink-0\"></ax-skeleton>\n </div>\n }\n </div>\n} @else if (useSelectBox()) {\n <div\n class=\"w-full flex flex-col gap-4\"\n [class.pointer-events-none]=\"isChoosing()\"\n [class.opacity-60]=\"isChoosing()\"\n (keydown.capture)=\"handleSelectBoxKeyDown($event)\"\n >\n <ax-lookup\n class=\"w-full\"\n mode=\"drop-down-list\"\n [dataSource]=\"allApplications()\"\n textField=\"title\"\n valueField=\"id\"\n [value]=\"selectedApplication()?.id\"\n [itemHeight]=\"56\"\n [searchable]=\"true\"\n [placeholder]=\"('@auth:application-chooser.select-placeholder' | translate | async) ?? ''\"\n [itemTemplate]=\"applicationItemTemplate\"\n [selectedTemplate]=\"applicationItemTemplate\"\n (onOpened)=\"isSelectBoxOpen.set(true)\"\n (onClosed)=\"isSelectBoxOpen.set(false)\"\n (onValueChanged)=\"handleApplicationSelect($event)\"\n (onSelectionChanged)=\"handleApplicationSelectionChanged($event)\"\n >\n </ax-lookup>\n <ax-button\n class=\"w-full\"\n color=\"primary\"\n [disabled]=\"!canApply() || isChoosing()\"\n [text]=\"('@general:actions.apply.title' | translate | async) ?? ''\"\n (onClick)=\"applySelection()\"\n >\n @if (isChoosing()) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n </div>\n} @else {\n <div\n axListNavigation\n #listNav=\"axListNavigation\"\n class=\"w-full overflow-auto max-h-[300px] flex flex-col divide-y divide-neutral-100 dark:divide-neutral-800\"\n role=\"listbox\"\n [class.pointer-events-none]=\"isChoosing()\"\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 [attr.aria-busy]=\"choosingId() === application.id\"\n class=\"flex gap-2 items-center p-2 cursor-pointer rounded-md transition-colors outline-none hover:bg-primary-lightest hover:dark:bg-primary-dark focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary\"\n [class.bg-primary-lighter]=\"isApplicationSelected(application)\"\n [class.dark:bg-primary-darker]=\"isApplicationSelected(application)\"\n [class.text-primary-on-lighter]=\"isApplicationSelected(application)\"\n [class.dark:text-primary-on-darker]=\"isApplicationSelected(application)\"\n [class.opacity-50]=\"isChoosing() && choosingId() !== application.id\"\n [class.cursor-wait]=\"isChoosing()\"\n (click)=\"chooseApplication(application)\"\n (keydown)=\"handleListItemKeyDown($event, application)\"\n >\n <div class=\"flex flex-1 gap-3 items-center min-w-0\">\n <div class=\"shrink-0 size-12 overflow-hidden rounded-lg\">\n <axp-logo\n [logoKey]=\"applicationLogoKey(application)\"\n appearance=\"colored\"\n [size]=\"42\"\n [attr.alt]=\"(application.title | translate | async) ?? ''\"\n class=\"size-12 overflow-hidden rounded-lg\"\n ></axp-logo>\n </div>\n <span class=\"flex-1 min-w-0 text-start md:text-base text-sm break-words md:truncate\">{{\n application.title | translate | async\n }}</span>\n @if (application.edition?.title) {\n <span class=\"text-muted text-xs shrink-0\">{{\n application.edition?.title | translate | async\n }}</span>\n }\n </div>\n @if (choosingId() === application.id) {\n <ax-loading class=\"shrink-0\"></ax-loading>\n }\n </div>\n }\n </div>\n}\n\n<ng-template #applicationItemTemplate let-item>\n <div class=\"flex gap-3 items-center p-2\">\n <div class=\"size-12 overflow-hidden rounded-lg shrink-0\">\n <axp-logo\n [logoKey]=\"applicationLogoKey(item)\"\n appearance=\"colored\"\n [size]=\"42\"\n [attr.alt]=\"(item.title | translate | async) ?? ''\"\n class=\"size-12 overflow-hidden rounded-lg\"\n ></axp-logo>\n </div>\n <span class=\"flex-1 text-start md:text-base text-sm\">{{ item.title | translate | async }}</span>\n @if (item.edition?.title) {\n <span class=\"text-muted text-xs\">{{ item.edition.title | translate | async }}</span>\n }\n </div>\n</ng-template>\n" }]
|
|
1219
1219
|
}], ctorParameters: () => [], propDecorators: { simple: [{ type: i0.Input, args: [{ isSignal: true, alias: "simple", required: false }] }], applicationChosen: [{ type: i0.Output, args: ["applicationChosen"] }], loadingChange: [{ type: i0.Output, args: ["loadingChange"] }], listNav: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXListNavigationDirective), { isSignal: true }] }], listItems: [{ type: i0.ViewChildren, args: [i0.forwardRef(() => AXListNavigationItemDirective), { isSignal: true }] }] } });
|
|
1220
1220
|
|
|
1221
1221
|
class AXMAppChooserSlotComponent {
|
|
@@ -1342,11 +1342,13 @@ class AXPTenantChooserListComponent {
|
|
|
1342
1342
|
showAllTenants() {
|
|
1343
1343
|
this.showAll.update((value) => !value);
|
|
1344
1344
|
}
|
|
1345
|
+
handleTenantSelectionChanged(event) {
|
|
1346
|
+
this.selectedTenant.set(event.items?.[0] ?? null);
|
|
1347
|
+
}
|
|
1345
1348
|
handleTenantSelect(event) {
|
|
1346
1349
|
if (!event.isUserInteraction) {
|
|
1347
1350
|
return;
|
|
1348
1351
|
}
|
|
1349
|
-
this.selectedTenant.set(event.component.selectedItems[0] ?? null);
|
|
1350
1352
|
}
|
|
1351
1353
|
handleListItemKeyDown(event, tenant) {
|
|
1352
1354
|
if (event.key === 'Enter' || event.key === ' ') {
|
|
@@ -1413,7 +1415,7 @@ class AXPTenantChooserListComponent {
|
|
|
1413
1415
|
}
|
|
1414
1416
|
}
|
|
1415
1417
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPTenantChooserListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1416
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXPTenantChooserListComponent, isStandalone: true, selector: "axp-tenant-chooser-list", inputs: { simple: { classPropertyName: "simple", publicName: "simple", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tenantChosen: "tenantChosen", loadingChange: "loadingChange" }, 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=\"w-full flex flex-col gap-3\">\n @for (item of skeletonItems; track item) {\n <div class=\"flex gap-3 items-center p-2\">\n <ax-skeleton [animated]=\"true\" class=\"size-12 rounded-lg shrink-0\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"flex-1 h-5 rounded-md\"></ax-skeleton>\n </div>\n }\n </div>\n} @else if (simple()) {\n <div\n class=\"w-full overflow-auto max-h-[300px] pe-2 flex flex-col divide-y divide-neutral-100 dark:divide-neutral-800\"\n [class.pointer-events-none]=\"isChoosing()\"\n >\n @for (tenant of allTenants(); track tenant.id) {\n <div\n class=\"flex gap-2 justify-between py-3 items-center cursor-pointer rounded-md transition-colors hover:bg-primary-lightest hover:dark:bg-primary-dark\"\n [class.opacity-50]=\"isChoosing() && choosingId() !== tenant.id\"\n [class.cursor-wait]=\"isChoosing()\"\n [attr.aria-busy]=\"choosingId() === tenant.id\"\n (click)=\"chooseTenant(tenant)\"\n >\n <div class=\"flex flex-1 gap-3 items-center font-medium min-w-0\">\n <div class=\"shrink-0 size-12 overflow-hidden rounded-lg\">\n <axp-logo\n [logoKey]=\"tenantLogoKey(tenant)\"\n appearance=\"colored\"\n [size]=\"42\"\n [attr.alt]=\"(tenant.title | translate | async) ?? ''\"\n class=\"size-12 overflow-hidden rounded-lg\"\n ></axp-logo>\n </div>\n <span class=\"flex-1 truncate text-start md:text-base text-sm\">{{\n tenant.title | translate | async\n }}</span>\n </div>\n @if (choosingId() === tenant.id) {\n <ax-loading class=\"shrink-0\"></ax-loading>\n }\n </div>\n }\n </div>\n} @else if (useSelectBox()) {\n <div\n class=\"w-full flex flex-col gap-4\"\n [class.pointer-events-none]=\"isChoosing()\"\n [class.opacity-60]=\"isChoosing()\"\n (keydown.capture)=\"handleSelectBoxKeyDown($event)\"\n >\n <ax-select-box\n class=\"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=\"w-full\"\n color=\"primary\"\n [disabled]=\"!canApply() || isChoosing()\"\n [text]=\"('@general:actions.apply.title' | translate | async) ?? ''\"\n (onClick)=\"applySelection()\"\n >\n @if (isChoosing()) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n </div>\n} @else {\n @if (showSearchAndViewAll()) {\n <ax-search-box\n [placeholder]=\"'@general:search.title' | translate | async\"\n [ngModel]=\"searchValue()\"\n (ngModelChange)=\"handleSearch($event)\"\n class=\"w-full\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n }\n <div\n axListNavigation\n #listNav=\"axListNavigation\"\n class=\"w-full overflow-auto max-h-[300px] flex flex-col divide-y divide-neutral-100 dark:divide-neutral-800\"\n role=\"listbox\"\n [class.pointer-events-none]=\"isChoosing()\"\n >\n @for (tenant of displayedTenants(); track tenant.id) {\n <div\n axListNavigationItem\n #navItem=\"axListNavigationItem\"\n tabindex=\"0\"\n role=\"option\"\n [attr.aria-selected]=\"isTenantSelected(tenant)\"\n [attr.aria-busy]=\"choosingId() === tenant.id\"\n class=\"flex gap-2 items-center p-2 cursor-pointer rounded-md transition-colors outline-none hover:bg-primary-lightest hover:dark:bg-primary-dark focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary\"\n [class.bg-primary-lighter]=\"isTenantSelected(tenant)\"\n [class.dark:bg-primary-darker]=\"isTenantSelected(tenant)\"\n [class.text-primary-on-lighter]=\"isTenantSelected(tenant)\"\n [class.dark:text-primary-on-darker]=\"isTenantSelected(tenant)\"\n [class.opacity-50]=\"isChoosing() && choosingId() !== tenant.id\"\n [class.cursor-wait]=\"isChoosing()\"\n (click)=\"chooseTenant(tenant)\"\n (keydown)=\"handleListItemKeyDown($event, tenant)\"\n >\n <div class=\"flex flex-1 gap-3 items-center min-w-0\">\n <div class=\"shrink-0 size-12 overflow-hidden rounded-lg\">\n <axp-logo\n [logoKey]=\"tenantLogoKey(tenant)\"\n appearance=\"colored\"\n [size]=\"42\"\n [attr.alt]=\"(tenant.title | translate | async) ?? ''\"\n class=\"size-12 overflow-hidden rounded-lg\"\n ></axp-logo>\n </div>\n <span class=\"flex-1 truncate text-start md:text-base text-sm\">{{\n tenant.title | translate | async\n }}</span>\n </div>\n @if (choosingId() === tenant.id) {\n <ax-loading class=\"shrink-0\"></ax-loading>\n }\n </div>\n }\n </div>\n @if (showSearchAndViewAll()) {\n <div class=\"mt-6 w-full flex justify-center\">\n <ax-button\n (onClick)=\"showAllTenants()\"\n class=\"w-full\"\n look=\"outline\"\n [disabled]=\"isChoosing()\"\n [text]=\"\n showAll()\n ? ('@general:actions.view-less.title' | translate | async)\n : ('@general:actions.view-all.title' | translate | async)\n \"\n ></ax-button>\n </div>\n }\n}\n\n<ng-template #tenantItemTemplate let-item>\n <div class=\"flex gap-3 items-center p-2\">\n <div class=\"size-12 overflow-hidden rounded-lg shrink-0\">\n <axp-logo\n [logoKey]=\"tenantLogoKey(item.data)\"\n appearance=\"colored\"\n [size]=\"42\"\n [attr.alt]=\"(item.data.title | translate | async) ?? ''\"\n class=\"size-12 overflow-hidden rounded-lg\"\n ></axp-logo>\n </div>\n <span class=\"text-start md:text-base text-sm\">{{ item.data.title | translate | async }}</span>\n </div>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$1.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i2.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXSkeletonModule }, { kind: "component", type: i1$2.AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i4.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: i5.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: i6.AXListNavigationDirective, selector: "[axListNavigation]", inputs: ["orientation"], outputs: ["onNavigationChanged", "onKeypress"], exportAs: ["axListNavigation"] }, { kind: "directive", type: i6.AXListNavigationItemDirective, selector: "[axListNavigationItem]", outputs: ["onKeypress"], exportAs: ["axListNavigationItem"] }, { kind: "component", type: AXPLogoComponent, selector: "axp-logo", inputs: ["logoKey", "appearance", "size", "format"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i5$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1418
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXPTenantChooserListComponent, isStandalone: true, selector: "axp-tenant-chooser-list", inputs: { simple: { classPropertyName: "simple", publicName: "simple", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tenantChosen: "tenantChosen", loadingChange: "loadingChange" }, 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=\"w-full flex flex-col gap-3\">\n @for (item of skeletonItems; track item) {\n <div class=\"flex gap-3 items-center p-2\">\n <ax-skeleton [animated]=\"true\" class=\"size-12 rounded-lg shrink-0\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"flex-1 h-5 rounded-md\"></ax-skeleton>\n </div>\n }\n </div>\n} @else if (simple()) {\n <div\n class=\"w-full overflow-auto max-h-[300px] pe-2 flex flex-col divide-y divide-neutral-100 dark:divide-neutral-800\"\n [class.pointer-events-none]=\"isChoosing()\"\n >\n @for (tenant of allTenants(); track tenant.id) {\n <div\n class=\"flex gap-2 justify-between py-3 items-center cursor-pointer rounded-md transition-colors hover:bg-primary-lightest hover:dark:bg-primary-dark\"\n [class.opacity-50]=\"isChoosing() && choosingId() !== tenant.id\"\n [class.cursor-wait]=\"isChoosing()\"\n [attr.aria-busy]=\"choosingId() === tenant.id\"\n (click)=\"chooseTenant(tenant)\"\n >\n <div class=\"flex flex-1 gap-3 items-center font-medium min-w-0\">\n <div class=\"shrink-0 size-12 overflow-hidden rounded-lg\">\n <axp-logo\n [logoKey]=\"tenantLogoKey(tenant)\"\n appearance=\"colored\"\n [size]=\"42\"\n [attr.alt]=\"(tenant.title | translate | async) ?? ''\"\n class=\"size-12 overflow-hidden rounded-lg\"\n ></axp-logo>\n </div>\n <span class=\"flex-1 truncate text-start md:text-base text-sm\">{{\n tenant.title | translate | async\n }}</span>\n </div>\n @if (choosingId() === tenant.id) {\n <ax-loading class=\"shrink-0\"></ax-loading>\n }\n </div>\n }\n </div>\n} @else if (useSelectBox()) {\n <div\n class=\"w-full flex flex-col gap-4\"\n [class.pointer-events-none]=\"isChoosing()\"\n [class.opacity-60]=\"isChoosing()\"\n (keydown.capture)=\"handleSelectBoxKeyDown($event)\"\n >\n <ax-lookup\n class=\"w-full\"\n mode=\"drop-down-list\"\n [dataSource]=\"allTenants()\"\n textField=\"title\"\n valueField=\"id\"\n [value]=\"selectedTenant()?.id\"\n [itemHeight]=\"56\"\n [searchable]=\"true\"\n [placeholder]=\"('@auth:tenant-chooser.select-placeholder' | translate | async) ?? ''\"\n [itemTemplate]=\"tenantItemTemplate\"\n [selectedTemplate]=\"tenantItemTemplate\"\n (onOpened)=\"isSelectBoxOpen.set(true)\"\n (onClosed)=\"isSelectBoxOpen.set(false)\"\n (onValueChanged)=\"handleTenantSelect($event)\"\n (onSelectionChanged)=\"handleTenantSelectionChanged($event)\"\n >\n </ax-lookup>\n <ax-button\n class=\"w-full\"\n color=\"primary\"\n [disabled]=\"!canApply() || isChoosing()\"\n [text]=\"('@general:actions.apply.title' | translate | async) ?? ''\"\n (onClick)=\"applySelection()\"\n >\n @if (isChoosing()) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n </div>\n} @else {\n @if (showSearchAndViewAll()) {\n <ax-search-box\n [placeholder]=\"'@general:search.title' | translate | async\"\n [ngModel]=\"searchValue()\"\n (ngModelChange)=\"handleSearch($event)\"\n class=\"w-full\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n }\n <div\n axListNavigation\n #listNav=\"axListNavigation\"\n class=\"w-full overflow-auto max-h-[300px] flex flex-col divide-y divide-neutral-100 dark:divide-neutral-800\"\n role=\"listbox\"\n [class.pointer-events-none]=\"isChoosing()\"\n >\n @for (tenant of displayedTenants(); track tenant.id) {\n <div\n axListNavigationItem\n #navItem=\"axListNavigationItem\"\n tabindex=\"0\"\n role=\"option\"\n [attr.aria-selected]=\"isTenantSelected(tenant)\"\n [attr.aria-busy]=\"choosingId() === tenant.id\"\n class=\"flex gap-2 items-center p-2 cursor-pointer rounded-md transition-colors outline-none hover:bg-primary-lightest hover:dark:bg-primary-dark focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary\"\n [class.bg-primary-lighter]=\"isTenantSelected(tenant)\"\n [class.dark:bg-primary-darker]=\"isTenantSelected(tenant)\"\n [class.text-primary-on-lighter]=\"isTenantSelected(tenant)\"\n [class.dark:text-primary-on-darker]=\"isTenantSelected(tenant)\"\n [class.opacity-50]=\"isChoosing() && choosingId() !== tenant.id\"\n [class.cursor-wait]=\"isChoosing()\"\n (click)=\"chooseTenant(tenant)\"\n (keydown)=\"handleListItemKeyDown($event, tenant)\"\n >\n <div class=\"flex flex-1 gap-3 items-center min-w-0\">\n <div class=\"shrink-0 size-12 overflow-hidden rounded-lg\">\n <axp-logo\n [logoKey]=\"tenantLogoKey(tenant)\"\n appearance=\"colored\"\n [size]=\"42\"\n [attr.alt]=\"(tenant.title | translate | async) ?? ''\"\n class=\"size-12 overflow-hidden rounded-lg\"\n ></axp-logo>\n </div>\n <span class=\"flex-1 truncate text-start md:text-base text-sm\">{{\n tenant.title | translate | async\n }}</span>\n </div>\n @if (choosingId() === tenant.id) {\n <ax-loading class=\"shrink-0\"></ax-loading>\n }\n </div>\n }\n </div>\n @if (showSearchAndViewAll()) {\n <div class=\"mt-6 w-full flex justify-center\">\n <ax-button\n (onClick)=\"showAllTenants()\"\n class=\"w-full\"\n look=\"outline\"\n [disabled]=\"isChoosing()\"\n [text]=\"\n showAll()\n ? ('@general:actions.view-less.title' | translate | async)\n : ('@general:actions.view-all.title' | translate | async)\n \"\n ></ax-button>\n </div>\n }\n}\n\n<ng-template #tenantItemTemplate let-item>\n <div class=\"flex gap-3 items-center p-2\">\n <div class=\"size-12 overflow-hidden rounded-lg shrink-0\">\n <axp-logo\n [logoKey]=\"tenantLogoKey(item)\"\n appearance=\"colored\"\n [size]=\"42\"\n [attr.alt]=\"(item.title | translate | async) ?? ''\"\n class=\"size-12 overflow-hidden rounded-lg\"\n ></axp-logo>\n </div>\n <span class=\"text-start md:text-base text-sm\">{{ item.title | translate | async }}</span>\n </div>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$1.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i2.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXSkeletonModule }, { kind: "component", type: i1$2.AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "component", type: AXLookupComponent, selector: "ax-lookup", inputs: ["name", "mode", "dataSource", "treeDataSource", "valueField", "textField", "disabledField", "columns", "treeParentField", "hasChildrenField", "searchable", "adaptivityEnabled", "caption", "alternate", "searchPlaceholder", "placeholder", "disabled", "readonly", "look", "itemHeight", "maxVisibleItems", "treeSelectionBehavior", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "value", "valueItems"], outputs: ["lookChange", "valueChange", "onValueChanged", "onSelectionChanged", "onFocus", "onBlur", "onItemClick", "onItemSelected", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i6.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: i4.AXListNavigationDirective, selector: "[axListNavigation]", inputs: ["orientation"], outputs: ["onNavigationChanged", "onKeypress"], exportAs: ["axListNavigation"] }, { kind: "directive", type: i4.AXListNavigationItemDirective, selector: "[axListNavigationItem]", outputs: ["onKeypress"], exportAs: ["axListNavigationItem"] }, { kind: "component", type: AXPLogoComponent, selector: "axp-logo", inputs: ["logoKey", "appearance", "size", "format"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1417
1419
|
}
|
|
1418
1420
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPTenantChooserListComponent, decorators: [{
|
|
1419
1421
|
type: Component,
|
|
@@ -1425,11 +1427,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
1425
1427
|
AXDecoratorModule,
|
|
1426
1428
|
AXLoadingModule,
|
|
1427
1429
|
AXSkeletonModule,
|
|
1428
|
-
|
|
1430
|
+
AXLookupComponent,
|
|
1429
1431
|
AXSearchBoxModule,
|
|
1430
1432
|
AXListNavigationModule,
|
|
1431
1433
|
AXPLogoComponent,
|
|
1432
|
-
], template: "@if (isLoading()) {\n <div class=\"w-full flex flex-col gap-3\">\n @for (item of skeletonItems; track item) {\n <div class=\"flex gap-3 items-center p-2\">\n <ax-skeleton [animated]=\"true\" class=\"size-12 rounded-lg shrink-0\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"flex-1 h-5 rounded-md\"></ax-skeleton>\n </div>\n }\n </div>\n} @else if (simple()) {\n <div\n class=\"w-full overflow-auto max-h-[300px] pe-2 flex flex-col divide-y divide-neutral-100 dark:divide-neutral-800\"\n [class.pointer-events-none]=\"isChoosing()\"\n >\n @for (tenant of allTenants(); track tenant.id) {\n <div\n class=\"flex gap-2 justify-between py-3 items-center cursor-pointer rounded-md transition-colors hover:bg-primary-lightest hover:dark:bg-primary-dark\"\n [class.opacity-50]=\"isChoosing() && choosingId() !== tenant.id\"\n [class.cursor-wait]=\"isChoosing()\"\n [attr.aria-busy]=\"choosingId() === tenant.id\"\n (click)=\"chooseTenant(tenant)\"\n >\n <div class=\"flex flex-1 gap-3 items-center font-medium min-w-0\">\n <div class=\"shrink-0 size-12 overflow-hidden rounded-lg\">\n <axp-logo\n [logoKey]=\"tenantLogoKey(tenant)\"\n appearance=\"colored\"\n [size]=\"42\"\n [attr.alt]=\"(tenant.title | translate | async) ?? ''\"\n class=\"size-12 overflow-hidden rounded-lg\"\n ></axp-logo>\n </div>\n <span class=\"flex-1 truncate text-start md:text-base text-sm\">{{\n tenant.title | translate | async\n }}</span>\n </div>\n @if (choosingId() === tenant.id) {\n <ax-loading class=\"shrink-0\"></ax-loading>\n }\n </div>\n }\n </div>\n} @else if (useSelectBox()) {\n <div\n class=\"w-full flex flex-col gap-4\"\n [class.pointer-events-none]=\"isChoosing()\"\n [class.opacity-60]=\"isChoosing()\"\n (keydown.capture)=\"handleSelectBoxKeyDown($event)\"\n >\n <ax-
|
|
1434
|
+
], template: "@if (isLoading()) {\n <div class=\"w-full flex flex-col gap-3\">\n @for (item of skeletonItems; track item) {\n <div class=\"flex gap-3 items-center p-2\">\n <ax-skeleton [animated]=\"true\" class=\"size-12 rounded-lg shrink-0\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"flex-1 h-5 rounded-md\"></ax-skeleton>\n </div>\n }\n </div>\n} @else if (simple()) {\n <div\n class=\"w-full overflow-auto max-h-[300px] pe-2 flex flex-col divide-y divide-neutral-100 dark:divide-neutral-800\"\n [class.pointer-events-none]=\"isChoosing()\"\n >\n @for (tenant of allTenants(); track tenant.id) {\n <div\n class=\"flex gap-2 justify-between py-3 items-center cursor-pointer rounded-md transition-colors hover:bg-primary-lightest hover:dark:bg-primary-dark\"\n [class.opacity-50]=\"isChoosing() && choosingId() !== tenant.id\"\n [class.cursor-wait]=\"isChoosing()\"\n [attr.aria-busy]=\"choosingId() === tenant.id\"\n (click)=\"chooseTenant(tenant)\"\n >\n <div class=\"flex flex-1 gap-3 items-center font-medium min-w-0\">\n <div class=\"shrink-0 size-12 overflow-hidden rounded-lg\">\n <axp-logo\n [logoKey]=\"tenantLogoKey(tenant)\"\n appearance=\"colored\"\n [size]=\"42\"\n [attr.alt]=\"(tenant.title | translate | async) ?? ''\"\n class=\"size-12 overflow-hidden rounded-lg\"\n ></axp-logo>\n </div>\n <span class=\"flex-1 truncate text-start md:text-base text-sm\">{{\n tenant.title | translate | async\n }}</span>\n </div>\n @if (choosingId() === tenant.id) {\n <ax-loading class=\"shrink-0\"></ax-loading>\n }\n </div>\n }\n </div>\n} @else if (useSelectBox()) {\n <div\n class=\"w-full flex flex-col gap-4\"\n [class.pointer-events-none]=\"isChoosing()\"\n [class.opacity-60]=\"isChoosing()\"\n (keydown.capture)=\"handleSelectBoxKeyDown($event)\"\n >\n <ax-lookup\n class=\"w-full\"\n mode=\"drop-down-list\"\n [dataSource]=\"allTenants()\"\n textField=\"title\"\n valueField=\"id\"\n [value]=\"selectedTenant()?.id\"\n [itemHeight]=\"56\"\n [searchable]=\"true\"\n [placeholder]=\"('@auth:tenant-chooser.select-placeholder' | translate | async) ?? ''\"\n [itemTemplate]=\"tenantItemTemplate\"\n [selectedTemplate]=\"tenantItemTemplate\"\n (onOpened)=\"isSelectBoxOpen.set(true)\"\n (onClosed)=\"isSelectBoxOpen.set(false)\"\n (onValueChanged)=\"handleTenantSelect($event)\"\n (onSelectionChanged)=\"handleTenantSelectionChanged($event)\"\n >\n </ax-lookup>\n <ax-button\n class=\"w-full\"\n color=\"primary\"\n [disabled]=\"!canApply() || isChoosing()\"\n [text]=\"('@general:actions.apply.title' | translate | async) ?? ''\"\n (onClick)=\"applySelection()\"\n >\n @if (isChoosing()) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n </div>\n} @else {\n @if (showSearchAndViewAll()) {\n <ax-search-box\n [placeholder]=\"'@general:search.title' | translate | async\"\n [ngModel]=\"searchValue()\"\n (ngModelChange)=\"handleSearch($event)\"\n class=\"w-full\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n }\n <div\n axListNavigation\n #listNav=\"axListNavigation\"\n class=\"w-full overflow-auto max-h-[300px] flex flex-col divide-y divide-neutral-100 dark:divide-neutral-800\"\n role=\"listbox\"\n [class.pointer-events-none]=\"isChoosing()\"\n >\n @for (tenant of displayedTenants(); track tenant.id) {\n <div\n axListNavigationItem\n #navItem=\"axListNavigationItem\"\n tabindex=\"0\"\n role=\"option\"\n [attr.aria-selected]=\"isTenantSelected(tenant)\"\n [attr.aria-busy]=\"choosingId() === tenant.id\"\n class=\"flex gap-2 items-center p-2 cursor-pointer rounded-md transition-colors outline-none hover:bg-primary-lightest hover:dark:bg-primary-dark focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary\"\n [class.bg-primary-lighter]=\"isTenantSelected(tenant)\"\n [class.dark:bg-primary-darker]=\"isTenantSelected(tenant)\"\n [class.text-primary-on-lighter]=\"isTenantSelected(tenant)\"\n [class.dark:text-primary-on-darker]=\"isTenantSelected(tenant)\"\n [class.opacity-50]=\"isChoosing() && choosingId() !== tenant.id\"\n [class.cursor-wait]=\"isChoosing()\"\n (click)=\"chooseTenant(tenant)\"\n (keydown)=\"handleListItemKeyDown($event, tenant)\"\n >\n <div class=\"flex flex-1 gap-3 items-center min-w-0\">\n <div class=\"shrink-0 size-12 overflow-hidden rounded-lg\">\n <axp-logo\n [logoKey]=\"tenantLogoKey(tenant)\"\n appearance=\"colored\"\n [size]=\"42\"\n [attr.alt]=\"(tenant.title | translate | async) ?? ''\"\n class=\"size-12 overflow-hidden rounded-lg\"\n ></axp-logo>\n </div>\n <span class=\"flex-1 truncate text-start md:text-base text-sm\">{{\n tenant.title | translate | async\n }}</span>\n </div>\n @if (choosingId() === tenant.id) {\n <ax-loading class=\"shrink-0\"></ax-loading>\n }\n </div>\n }\n </div>\n @if (showSearchAndViewAll()) {\n <div class=\"mt-6 w-full flex justify-center\">\n <ax-button\n (onClick)=\"showAllTenants()\"\n class=\"w-full\"\n look=\"outline\"\n [disabled]=\"isChoosing()\"\n [text]=\"\n showAll()\n ? ('@general:actions.view-less.title' | translate | async)\n : ('@general:actions.view-all.title' | translate | async)\n \"\n ></ax-button>\n </div>\n }\n}\n\n<ng-template #tenantItemTemplate let-item>\n <div class=\"flex gap-3 items-center p-2\">\n <div class=\"size-12 overflow-hidden rounded-lg shrink-0\">\n <axp-logo\n [logoKey]=\"tenantLogoKey(item)\"\n appearance=\"colored\"\n [size]=\"42\"\n [attr.alt]=\"(item.title | translate | async) ?? ''\"\n class=\"size-12 overflow-hidden rounded-lg\"\n ></axp-logo>\n </div>\n <span class=\"text-start md:text-base text-sm\">{{ item.title | translate | async }}</span>\n </div>\n</ng-template>\n" }]
|
|
1433
1435
|
}], ctorParameters: () => [], propDecorators: { simple: [{ type: i0.Input, args: [{ isSignal: true, alias: "simple", required: false }] }], tenantChosen: [{ type: i0.Output, args: ["tenantChosen"] }], loadingChange: [{ type: i0.Output, args: ["loadingChange"] }], listNav: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXListNavigationDirective), { isSignal: true }] }], listItems: [{ type: i0.ViewChildren, args: [i0.forwardRef(() => AXListNavigationItemDirective), { isSignal: true }] }] } });
|
|
1434
1436
|
|
|
1435
1437
|
class AXPTenantChooserDropdownComponent {
|
|
@@ -1470,7 +1472,7 @@ class AXPTenantChooserDropdownComponent {
|
|
|
1470
1472
|
void this.router.navigate(['/auth/account/tenant-chooser']);
|
|
1471
1473
|
}
|
|
1472
1474
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPTenantChooserDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1473
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXPTenantChooserDropdownComponent, isStandalone: true, selector: "axp-tenant-chooser-dropdown", inputs: { inline: "inline" }, viewQueries: [{ propertyName: "tenantPopover", first: true, predicate: ["tenantPopover"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (tenantsLoading()) {\n <ax-skeleton [animated]=\"true\" class=\"h-5 w-32 max-w-full\"></ax-skeleton>\n} @else if (tenants$ | async; as tenants) {\n @if (inline) {\n @if (tenants.length > 1) {\n <!-- ----- Inline dropdown for multi-tenant ----- -->\n <span\n class=\"text-xs font-medium px-3 cursor-pointer inline-flex items-center gap-1\"\n #inlineTenantTrigger\n >\n {{ ((tenant$ | async)?.title | translate | async) ?? '' }}\n <i class=\"fa-solid fa-caret-down text-2xs opacity-60\"></i>\n </span>\n <ax-popover\n [target]=\"inlineTenantTrigger\"\n [openOn]=\"'toggle'\"\n [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"true\"\n #tenantPopover\n >\n <div\n class=\"bg-lightest border overflow-hidden rounded-md shadow-md w-full min-w-64 p-1\"\n >\n <axp-tenant-chooser-list\n [simple]=\"true\"\n (tenantChosen)=\"closePopover()\"\n ></axp-tenant-chooser-list>\n </div>\n </ax-popover>\n } @else {\n <!-- ----- Plain text for single tenant ----- -->\n <span class=\"text-xs font-medium px-3\">\n {{ ((tenant$ | async)?.title | translate | async) ?? '' }}\n </span>\n }\n } @else {\n @if (tenants.length > 1) {\n <ax-button\n [text]=\"((tenant$ | async)?.title | translate | async) ?? ''\"\n class=\"ax-sm\"\n look=\"blank\"\n #tenantChooser\n >\n <ax-suffix>\n <ax-icon class=\"fa-solid fa-caret-down\"></ax-icon>\n </ax-suffix>\n </ax-button>\n <ax-popover\n [target]=\"tenantChooser\"\n [openOn]=\"'toggle'\"\n [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"true\"\n #tenantPopover\n >\n <div\n class=\"bg-lightest border overflow-hidden rounded-md shadow-md w-full min-w-64 p-1\"\n >\n <axp-tenant-chooser-list\n [simple]=\"true\"\n (tenantChosen)=\"closePopover()\"\n ></axp-tenant-chooser-list>\n </div>\n </ax-popover>\n } @else {\n <ax-button\n [text]=\"((tenant$ | async)?.title | translate | async) ?? ''\"\n class=\"ax-sm\"\n look=\"blank\"\n ></ax-button>\n }\n }\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i2$1.AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disablePanelClass", "visualContextScope", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "closeOnScroll", "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: "ngmodule", type: AXSkeletonModule }, { kind: "component", type: i1$2.AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "component", type: AXPTenantChooserListComponent, selector: "axp-tenant-chooser-list", inputs: ["simple"], outputs: ["tenantChosen", "loadingChange"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i5
|
|
1475
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXPTenantChooserDropdownComponent, isStandalone: true, selector: "axp-tenant-chooser-dropdown", inputs: { inline: "inline" }, viewQueries: [{ propertyName: "tenantPopover", first: true, predicate: ["tenantPopover"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (tenantsLoading()) {\n <ax-skeleton [animated]=\"true\" class=\"h-5 w-32 max-w-full\"></ax-skeleton>\n} @else if (tenants$ | async; as tenants) {\n @if (inline) {\n @if (tenants.length > 1) {\n <!-- ----- Inline dropdown for multi-tenant ----- -->\n <span\n class=\"text-xs font-medium px-3 cursor-pointer inline-flex items-center gap-1\"\n #inlineTenantTrigger\n >\n {{ ((tenant$ | async)?.title | translate | async) ?? '' }}\n <i class=\"fa-solid fa-caret-down text-2xs opacity-60\"></i>\n </span>\n <ax-popover\n [target]=\"inlineTenantTrigger\"\n [openOn]=\"'toggle'\"\n [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"true\"\n #tenantPopover\n >\n <div\n class=\"bg-lightest border overflow-hidden rounded-md shadow-md w-full min-w-64 p-1\"\n >\n <axp-tenant-chooser-list\n [simple]=\"true\"\n (tenantChosen)=\"closePopover()\"\n ></axp-tenant-chooser-list>\n </div>\n </ax-popover>\n } @else {\n <!-- ----- Plain text for single tenant ----- -->\n <span class=\"text-xs font-medium px-3\">\n {{ ((tenant$ | async)?.title | translate | async) ?? '' }}\n </span>\n }\n } @else {\n @if (tenants.length > 1) {\n <ax-button\n [text]=\"((tenant$ | async)?.title | translate | async) ?? ''\"\n class=\"ax-sm\"\n look=\"blank\"\n #tenantChooser\n >\n <ax-suffix>\n <ax-icon class=\"fa-solid fa-caret-down\"></ax-icon>\n </ax-suffix>\n </ax-button>\n <ax-popover\n [target]=\"tenantChooser\"\n [openOn]=\"'toggle'\"\n [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"true\"\n #tenantPopover\n >\n <div\n class=\"bg-lightest border overflow-hidden rounded-md shadow-md w-full min-w-64 p-1\"\n >\n <axp-tenant-chooser-list\n [simple]=\"true\"\n (tenantChosen)=\"closePopover()\"\n ></axp-tenant-chooser-list>\n </div>\n </ax-popover>\n } @else {\n <ax-button\n [text]=\"((tenant$ | async)?.title | translate | async) ?? ''\"\n class=\"ax-sm\"\n look=\"blank\"\n ></ax-button>\n }\n }\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i2$1.AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disablePanelClass", "visualContextScope", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "closeOnScroll", "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: "ngmodule", type: AXSkeletonModule }, { kind: "component", type: i1$2.AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "component", type: AXPTenantChooserListComponent, selector: "axp-tenant-chooser-list", inputs: ["simple"], outputs: ["tenantChosen", "loadingChange"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
1474
1476
|
}
|
|
1475
1477
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPTenantChooserDropdownComponent, decorators: [{
|
|
1476
1478
|
type: Component,
|
|
@@ -1618,7 +1620,7 @@ class AXMAuthProfileSlotComponent {
|
|
|
1618
1620
|
// AXKBDItemComponent,
|
|
1619
1621
|
AXLoadingModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "component", type: AXPUserAvatarComponent, selector: "axp-user-avatar", inputs: ["size", "userId", "showPresence", "displayName", "displayAvatar"] }, { kind: "component", type:
|
|
1620
1622
|
//
|
|
1621
|
-
AXPTenantChooserDropdownComponent, selector: "axp-tenant-chooser-dropdown", inputs: ["inline"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i5
|
|
1623
|
+
AXPTenantChooserDropdownComponent, selector: "axp-tenant-chooser-dropdown", inputs: ["inline"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1622
1624
|
}
|
|
1623
1625
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMAuthProfileSlotComponent, decorators: [{
|
|
1624
1626
|
type: Component,
|
|
@@ -1914,12 +1916,12 @@ function routesFacory() {
|
|
|
1914
1916
|
routes = [
|
|
1915
1917
|
{
|
|
1916
1918
|
path: 'tenant-chooser',
|
|
1917
|
-
loadComponent: () => import('./acorex-platform-module-auth-client-tenant-chooser.component-
|
|
1919
|
+
loadComponent: () => import('./acorex-platform-module-auth-client-tenant-chooser.component-DKTvZ1-I.mjs').then((c) => c.AXPAuthTenantChooserComponent),
|
|
1918
1920
|
canActivate: [AXPAuthGuard, canActivateTenantChooser],
|
|
1919
1921
|
},
|
|
1920
1922
|
{
|
|
1921
1923
|
path: 'app-chooser',
|
|
1922
|
-
loadComponent: () => import('./acorex-platform-module-auth-client-app-chooser.component-
|
|
1924
|
+
loadComponent: () => import('./acorex-platform-module-auth-client-app-chooser.component-TPCkYJej.mjs').then((c) => c.AXPAuthAppChooserComponent),
|
|
1923
1925
|
canActivate: [AXPAuthGuard, canActivateAppChooser],
|
|
1924
1926
|
},
|
|
1925
1927
|
];
|
|
@@ -2307,7 +2309,7 @@ class AXPIdleLockService {
|
|
|
2307
2309
|
this.overlayOpening = true;
|
|
2308
2310
|
this.locked.set(true);
|
|
2309
2311
|
try {
|
|
2310
|
-
const { AXMSessionLockOverlayComponent: overlayComponent } = await import('./acorex-platform-module-auth-client-session-lock-overlay.component-
|
|
2312
|
+
const { AXMSessionLockOverlayComponent: overlayComponent } = await import('./acorex-platform-module-auth-client-session-lock-overlay.component-CcGFA6Op.mjs');
|
|
2311
2313
|
const panelClasses = ['axm-session-lock-overlay-shell'];
|
|
2312
2314
|
if (this.platform.isDark()) {
|
|
2313
2315
|
panelClasses.push('ax-dark');
|
|
@@ -3131,7 +3133,7 @@ const userAvatarCacheRefreshMiddleware = {
|
|
|
3131
3133
|
//#endregion
|
|
3132
3134
|
|
|
3133
3135
|
function profileRoutesFactory() {
|
|
3134
|
-
const loadProfilePage = () => import('./acorex-platform-module-auth-client-profile-page.component-
|
|
3136
|
+
const loadProfilePage = () => import('./acorex-platform-module-auth-client-profile-page.component-CPHQXCpS.mjs').then((c) => c.AXMUserProfilePageComponent);
|
|
3135
3137
|
return [
|
|
3136
3138
|
{
|
|
3137
3139
|
path: ':app/profile',
|
|
@@ -3247,11 +3249,11 @@ class AXMAuthModule {
|
|
|
3247
3249
|
AXMAuthErrorHandler,
|
|
3248
3250
|
provideLazyProvider(AXP_MENU_PROVIDER, () => import('./acorex-platform-module-auth-client-menu.provider-Bz-kRip4.mjs').then(m => m.AXMSecurityManagementModuleMenuProvider)),
|
|
3249
3251
|
provideLazyProvider(AXP_SETTING_DEFINITION_PROVIDER, () => import('./acorex-platform-module-auth-client-settings.provider-Yaoz8yp3.mjs').then(m => m.AXMSettingProvider)),
|
|
3250
|
-
provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => import('./acorex-platform-module-auth-client-profile-page-component.provider-
|
|
3252
|
+
provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => import('./acorex-platform-module-auth-client-profile-page-component.provider-CfQySdD8.mjs').then((module) => module.AXMProfilePageComponentProvider)),
|
|
3251
3253
|
provideQuerySetups([
|
|
3252
3254
|
{
|
|
3253
3255
|
key: 'Auth:GetUserActivity',
|
|
3254
|
-
loader: () => import('./acorex-platform-module-auth-client-get-user-activity.query-
|
|
3256
|
+
loader: () => import('./acorex-platform-module-auth-client-get-user-activity.query-DBdELID4.mjs').then((c) => c.AXMGetUserActivityQuery),
|
|
3255
3257
|
},
|
|
3256
3258
|
]),
|
|
3257
3259
|
{
|
|
@@ -3275,15 +3277,15 @@ class AXMAuthModule {
|
|
|
3275
3277
|
},
|
|
3276
3278
|
{
|
|
3277
3279
|
key: AXMAuthCommandKeys.Session.OpenSessions,
|
|
3278
|
-
command: () => import('./acorex-platform-module-auth-client-open-sessions.command-
|
|
3280
|
+
command: () => import('./acorex-platform-module-auth-client-open-sessions.command-BHAf7500.mjs').then((c) => c.AXPOpenSessionsCommand),
|
|
3279
3281
|
},
|
|
3280
3282
|
{
|
|
3281
3283
|
key: AXMAuthCommandKeys.Session.LockScreen,
|
|
3282
|
-
command: () => import('./acorex-platform-module-auth-client-lock-screen.command-
|
|
3284
|
+
command: () => import('./acorex-platform-module-auth-client-lock-screen.command-BADSRZxj.mjs').then((c) => c.AXPLockScreenCommand),
|
|
3283
3285
|
},
|
|
3284
3286
|
{
|
|
3285
3287
|
key: AXMAuthCommandKeys.Profile.ChangePhoto,
|
|
3286
|
-
command: () => import('./acorex-platform-module-auth-client-change-photo.command-
|
|
3288
|
+
command: () => import('./acorex-platform-module-auth-client-change-photo.command-BZK_W29M.mjs').then((c) => c.AXPChangePhotoCommand),
|
|
3287
3289
|
},
|
|
3288
3290
|
{
|
|
3289
3291
|
key: AXMAuthCommandKeys.Profile.EditAccountInfo,
|
|
@@ -3291,19 +3293,19 @@ class AXMAuthModule {
|
|
|
3291
3293
|
},
|
|
3292
3294
|
{
|
|
3293
3295
|
key: AXMAuthCommandKeys.Security.ChangePassword,
|
|
3294
|
-
command: () => import('./acorex-platform-module-auth-client-change-password.command-
|
|
3296
|
+
command: () => import('./acorex-platform-module-auth-client-change-password.command-DHwnPkUO.mjs').then((c) => c.AXPChangePasswordCommand),
|
|
3295
3297
|
},
|
|
3296
3298
|
{
|
|
3297
3299
|
key: AXMAuthCommandKeys.Security.SetPinCode,
|
|
3298
|
-
command: () => import('./acorex-platform-module-auth-client-set-pin-code.command-
|
|
3300
|
+
command: () => import('./acorex-platform-module-auth-client-set-pin-code.command-BSZhRCN7.mjs').then((c) => c.AXPSetPinCodeCommand),
|
|
3299
3301
|
},
|
|
3300
3302
|
{
|
|
3301
3303
|
key: AXMAuthCommandKeys.Security.RemovePinCode,
|
|
3302
|
-
command: () => import('./acorex-platform-module-auth-client-remove-pin-code.command-
|
|
3304
|
+
command: () => import('./acorex-platform-module-auth-client-remove-pin-code.command-CdlJF48g.mjs').then((c) => c.AXPRemovePinCodeCommand),
|
|
3303
3305
|
},
|
|
3304
3306
|
{
|
|
3305
3307
|
key: AXMAuthCommandKeys.Security.ViewLoginHistory,
|
|
3306
|
-
command: () => import('./acorex-platform-module-auth-client-view-login-history.command-
|
|
3308
|
+
command: () => import('./acorex-platform-module-auth-client-view-login-history.command-CWmD9wNM.mjs').then((c) => c.AXPViewLoginHistoryCommand),
|
|
3307
3309
|
},
|
|
3308
3310
|
{
|
|
3309
3311
|
key: AXMAuthCommandKeys.Security.EditSignature,
|
|
@@ -3456,11 +3458,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
3456
3458
|
AXMAuthErrorHandler,
|
|
3457
3459
|
provideLazyProvider(AXP_MENU_PROVIDER, () => import('./acorex-platform-module-auth-client-menu.provider-Bz-kRip4.mjs').then(m => m.AXMSecurityManagementModuleMenuProvider)),
|
|
3458
3460
|
provideLazyProvider(AXP_SETTING_DEFINITION_PROVIDER, () => import('./acorex-platform-module-auth-client-settings.provider-Yaoz8yp3.mjs').then(m => m.AXMSettingProvider)),
|
|
3459
|
-
provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => import('./acorex-platform-module-auth-client-profile-page-component.provider-
|
|
3461
|
+
provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => import('./acorex-platform-module-auth-client-profile-page-component.provider-CfQySdD8.mjs').then((module) => module.AXMProfilePageComponentProvider)),
|
|
3460
3462
|
provideQuerySetups([
|
|
3461
3463
|
{
|
|
3462
3464
|
key: 'Auth:GetUserActivity',
|
|
3463
|
-
loader: () => import('./acorex-platform-module-auth-client-get-user-activity.query-
|
|
3465
|
+
loader: () => import('./acorex-platform-module-auth-client-get-user-activity.query-DBdELID4.mjs').then((c) => c.AXMGetUserActivityQuery),
|
|
3464
3466
|
},
|
|
3465
3467
|
]),
|
|
3466
3468
|
{
|
|
@@ -3484,15 +3486,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
3484
3486
|
},
|
|
3485
3487
|
{
|
|
3486
3488
|
key: AXMAuthCommandKeys.Session.OpenSessions,
|
|
3487
|
-
command: () => import('./acorex-platform-module-auth-client-open-sessions.command-
|
|
3489
|
+
command: () => import('./acorex-platform-module-auth-client-open-sessions.command-BHAf7500.mjs').then((c) => c.AXPOpenSessionsCommand),
|
|
3488
3490
|
},
|
|
3489
3491
|
{
|
|
3490
3492
|
key: AXMAuthCommandKeys.Session.LockScreen,
|
|
3491
|
-
command: () => import('./acorex-platform-module-auth-client-lock-screen.command-
|
|
3493
|
+
command: () => import('./acorex-platform-module-auth-client-lock-screen.command-BADSRZxj.mjs').then((c) => c.AXPLockScreenCommand),
|
|
3492
3494
|
},
|
|
3493
3495
|
{
|
|
3494
3496
|
key: AXMAuthCommandKeys.Profile.ChangePhoto,
|
|
3495
|
-
command: () => import('./acorex-platform-module-auth-client-change-photo.command-
|
|
3497
|
+
command: () => import('./acorex-platform-module-auth-client-change-photo.command-BZK_W29M.mjs').then((c) => c.AXPChangePhotoCommand),
|
|
3496
3498
|
},
|
|
3497
3499
|
{
|
|
3498
3500
|
key: AXMAuthCommandKeys.Profile.EditAccountInfo,
|
|
@@ -3500,19 +3502,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
3500
3502
|
},
|
|
3501
3503
|
{
|
|
3502
3504
|
key: AXMAuthCommandKeys.Security.ChangePassword,
|
|
3503
|
-
command: () => import('./acorex-platform-module-auth-client-change-password.command-
|
|
3505
|
+
command: () => import('./acorex-platform-module-auth-client-change-password.command-DHwnPkUO.mjs').then((c) => c.AXPChangePasswordCommand),
|
|
3504
3506
|
},
|
|
3505
3507
|
{
|
|
3506
3508
|
key: AXMAuthCommandKeys.Security.SetPinCode,
|
|
3507
|
-
command: () => import('./acorex-platform-module-auth-client-set-pin-code.command-
|
|
3509
|
+
command: () => import('./acorex-platform-module-auth-client-set-pin-code.command-BSZhRCN7.mjs').then((c) => c.AXPSetPinCodeCommand),
|
|
3508
3510
|
},
|
|
3509
3511
|
{
|
|
3510
3512
|
key: AXMAuthCommandKeys.Security.RemovePinCode,
|
|
3511
|
-
command: () => import('./acorex-platform-module-auth-client-remove-pin-code.command-
|
|
3513
|
+
command: () => import('./acorex-platform-module-auth-client-remove-pin-code.command-CdlJF48g.mjs').then((c) => c.AXPRemovePinCodeCommand),
|
|
3512
3514
|
},
|
|
3513
3515
|
{
|
|
3514
3516
|
key: AXMAuthCommandKeys.Security.ViewLoginHistory,
|
|
3515
|
-
command: () => import('./acorex-platform-module-auth-client-view-login-history.command-
|
|
3517
|
+
command: () => import('./acorex-platform-module-auth-client-view-login-history.command-CWmD9wNM.mjs').then((c) => c.AXPViewLoginHistoryCommand),
|
|
3516
3518
|
},
|
|
3517
3519
|
{
|
|
3518
3520
|
key: AXMAuthCommandKeys.Security.EditSignature,
|
|
@@ -3636,4 +3638,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
3636
3638
|
*/
|
|
3637
3639
|
|
|
3638
3640
|
export { resolveDayDateRange as $, AXMUserDeviceSessionsService as A, AXPLoginExternalProvidersComponent as B, CHANGE_PASSWORD_SECTION_ID as C, AXMAuthenticationTypes as D, AUTH_LOGIN_EXTERNAL_PROVIDERS_SLOT as E, AUTH_USER_ACTIVITY_CLUSTER_GAP_DAYS as F, AUTH_USER_ACTIVITY_DEFAULT_WEEKS as G, AUTH_USER_ACTIVITY_WEEK_PRESETS as H, AXMAuthErrorHandler as I, AXMAuthModule as J, AXMDefaultAuthConfigs as K, AXM_AUTH_CONFIG_TOKEN as L, aggregateDailySessionCounts as M, aggregateHourlySessionCounts as N, buildUserActivityHours as O, PROFILE_PAGE_GROUPS_HOOK as P, buildUserActivityWeeks as Q, canActivateLogin as R, computeUserActivityStats as S, configAuthModule as T, countToActivityLevel as U, extractUserActivityEndDate as V, extractUserActivityStartDate as W, extractUserActivityUserId as X, isUserProfileGroupComponent as Y, isUserProfileSectionsGroupRequested as Z, parseAuthCredentialType as _, PROFILE_PAGE_SECTIONS_HOOK as a, resolveUserActivityHeatmapLayout as a0, PROFILE_PAGE_HEADER_META_HOOK as b, resolveUserProfileSectionContent as c, PROFILE_SECTION_INSIGHTS_PATCH_METADATA_KEY as d, PROFILE_ACTIVITY_CHART_COMPONENT_KEY as e, PROFILE_DELETE_ACCOUNT_DANGER_ZONE_COMPONENT_KEY as f, resolveDefaultUserActivityDateRange as g, resolveSmartUserActivityDateRange as h, buildUserActivityDataSourceItem as i, AXPIdleLockService as j, AXPUserAvatarSyncService as k, AXPAuthPasswordComplexityService as l, AXPAuthPasswordChangeTrackingService as m, getPasswordComplexityHintKey as n, getPasswordComplexityValidationMessageKey as o, validatePasswordAgainstComplexity as p, buildPasswordLastChangedInsights as q, resolveDefaultUserProfileSectionAction as r, AXPLoginHistoryService as s, AXMAuthPlatformSettingsService as t, AXM_LOGIN_GUARD_TOKEN as u, visibleUserProfileSectionActions as v, AXPTenantChooserListComponent as w, AXPTenantChooserDropdownComponent as x, AXPAppChooserListComponent as y, formatCompactActivityCount as z };
|
|
3639
|
-
//# sourceMappingURL=acorex-platform-module-auth-client-acorex-platform-module-auth-client-
|
|
3641
|
+
//# sourceMappingURL=acorex-platform-module-auth-client-acorex-platform-module-auth-client-CTf7qxkQ.mjs.map
|