@acorex/modules 18.0.9 → 18.0.10

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 (72) hide show
  1. package/auth/lib/auth.config.d.ts +2 -2
  2. package/backend/lib/auth/oidc/index.d.ts +0 -2
  3. package/backend/lib/auth/oidc/oidc.strategy.d.ts +41 -9
  4. package/backend/lib/auth/oidc/signincallback.component.d.ts +1 -3
  5. package/backend/lib/backend.module.d.ts +4 -3
  6. package/backend/lib/data/api/file.service.d.ts +16 -0
  7. package/backend/lib/data/index.d.ts +1 -0
  8. package/esm2022/auth/lib/account/account.module.mjs +24 -19
  9. package/esm2022/auth/lib/account/app-chooser/app-chooser-list.component.mjs +3 -3
  10. package/esm2022/auth/lib/account/app-chooser/app-chooser-slot.component.mjs +4 -4
  11. package/esm2022/auth/lib/account/app-chooser/app-chooser.component.mjs +3 -3
  12. package/esm2022/auth/lib/account/profile/profile-slot.component.mjs +4 -4
  13. package/esm2022/auth/lib/account/tenant-chooser/tenant-chooser-dropdown.component.mjs +3 -3
  14. package/esm2022/auth/lib/account/tenant-chooser/tenant-chooser.component.mjs +5 -5
  15. package/esm2022/auth/lib/auth.config.mjs +1 -1
  16. package/esm2022/auth/lib/auth.module.mjs +4 -4
  17. package/esm2022/auth/lib/error-handler.mjs +3 -3
  18. package/esm2022/auth/lib/forgot/password/password.component.mjs +4 -4
  19. package/esm2022/auth/lib/login/login.module.mjs +4 -4
  20. package/esm2022/auth/lib/login/password/password.component.mjs +7 -6
  21. package/esm2022/auth/lib/shared/layouts/blank/blank.layout.mjs +3 -3
  22. package/esm2022/auth/lib/shared/layouts/master/master.layout.mjs +3 -3
  23. package/esm2022/auth/lib/shared/services/idle.service.mjs +3 -3
  24. package/esm2022/auth/lib/store/auth.effects.mjs +3 -3
  25. package/esm2022/auth/lib/two-factor/two-factor-code/two-factor-code.component.mjs +4 -4
  26. package/esm2022/auth/lib/two-factor/two-factor.module.mjs +4 -4
  27. package/esm2022/backend/lib/auth/oidc/application.loader.mjs +3 -3
  28. package/esm2022/backend/lib/auth/oidc/configuration.service.mjs +3 -3
  29. package/esm2022/backend/lib/auth/oidc/index.mjs +1 -3
  30. package/esm2022/backend/lib/auth/oidc/oidc.strategy.mjs +195 -56
  31. package/esm2022/backend/lib/auth/oidc/permission.loader.mjs +3 -3
  32. package/esm2022/backend/lib/auth/oidc/signincallback.component.mjs +8 -11
  33. package/esm2022/backend/lib/auth/oidc/tenant.loader.mjs +3 -3
  34. package/esm2022/backend/lib/backend.module.mjs +23 -9
  35. package/esm2022/backend/lib/data/api/data-provider.mjs +3 -3
  36. package/esm2022/backend/lib/data/api/file.service.mjs +101 -0
  37. package/esm2022/backend/lib/data/index.mjs +2 -1
  38. package/esm2022/backend/lib/data/local/local-data-provider.mjs +3 -3
  39. package/esm2022/log-management/lib/log-management.module.mjs +4 -4
  40. package/esm2022/notification/lib/notification.module.mjs +4 -4
  41. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-BjhfeQT8.mjs → acorex-modules-auth-acorex-modules-auth-d_YCfQWo.mjs} +55 -50
  42. package/fesm2022/acorex-modules-auth-acorex-modules-auth-d_YCfQWo.mjs.map +1 -0
  43. package/fesm2022/{acorex-modules-auth-app-chooser.component-B-wfsJob.mjs → acorex-modules-auth-app-chooser.component-D6LlSqNY.mjs} +5 -5
  44. package/fesm2022/{acorex-modules-auth-app-chooser.component-B-wfsJob.mjs.map → acorex-modules-auth-app-chooser.component-D6LlSqNY.mjs.map} +1 -1
  45. package/fesm2022/{acorex-modules-auth-blank.layout-BOdRxDNv.mjs → acorex-modules-auth-blank.layout-Bq822Iz4.mjs} +4 -4
  46. package/fesm2022/{acorex-modules-auth-blank.layout-BOdRxDNv.mjs.map → acorex-modules-auth-blank.layout-Bq822Iz4.mjs.map} +1 -1
  47. package/fesm2022/{acorex-modules-auth-login.module-CcNDUqEl.mjs → acorex-modules-auth-login.module-DZ0QDjNv.mjs} +8 -8
  48. package/fesm2022/{acorex-modules-auth-login.module-CcNDUqEl.mjs.map → acorex-modules-auth-login.module-DZ0QDjNv.mjs.map} +1 -1
  49. package/fesm2022/{acorex-modules-auth-master.layout-BGy5Vo5H.mjs → acorex-modules-auth-master.layout-CjfjDdzw.mjs} +5 -5
  50. package/fesm2022/{acorex-modules-auth-master.layout-BGy5Vo5H.mjs.map → acorex-modules-auth-master.layout-CjfjDdzw.mjs.map} +1 -1
  51. package/fesm2022/{acorex-modules-auth-password.component-IzjzV-ia.mjs → acorex-modules-auth-password.component-BudkNaNl.mjs} +8 -7
  52. package/fesm2022/acorex-modules-auth-password.component-BudkNaNl.mjs.map +1 -0
  53. package/fesm2022/{acorex-modules-auth-password.component-BZfvv8yV.mjs → acorex-modules-auth-password.component-CAw3jKFN.mjs} +5 -5
  54. package/fesm2022/{acorex-modules-auth-password.component-BZfvv8yV.mjs.map → acorex-modules-auth-password.component-CAw3jKFN.mjs.map} +1 -1
  55. package/fesm2022/{acorex-modules-auth-routes-JW0JYsnX.mjs → acorex-modules-auth-routes-CTyAW4kk.mjs} +2 -2
  56. package/fesm2022/{acorex-modules-auth-routes-JW0JYsnX.mjs.map → acorex-modules-auth-routes-CTyAW4kk.mjs.map} +1 -1
  57. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-Bkyqj03k.mjs → acorex-modules-auth-tenant-chooser.component-B_uu2uK2.mjs} +5 -5
  58. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-Bkyqj03k.mjs.map → acorex-modules-auth-tenant-chooser.component-B_uu2uK2.mjs.map} +1 -1
  59. package/fesm2022/{acorex-modules-auth-two-factor-code.component-ChMhFBJL.mjs → acorex-modules-auth-two-factor-code.component-BfS5gngN.mjs} +4 -4
  60. package/fesm2022/{acorex-modules-auth-two-factor-code.component-ChMhFBJL.mjs.map → acorex-modules-auth-two-factor-code.component-BfS5gngN.mjs.map} +1 -1
  61. package/fesm2022/{acorex-modules-auth-two-factor.module-Biz85Ffl.mjs → acorex-modules-auth-two-factor.module-D-jZC2Fc.mjs} +7 -7
  62. package/fesm2022/{acorex-modules-auth-two-factor.module-Biz85Ffl.mjs.map → acorex-modules-auth-two-factor.module-D-jZC2Fc.mjs.map} +1 -1
  63. package/fesm2022/acorex-modules-auth.mjs +1 -1
  64. package/fesm2022/acorex-modules-backend.mjs +579 -370
  65. package/fesm2022/acorex-modules-backend.mjs.map +1 -1
  66. package/fesm2022/acorex-modules-log-management.mjs +4 -4
  67. package/fesm2022/acorex-modules-notification.mjs +4 -4
  68. package/package.json +1 -1
  69. package/backend/lib/auth/oidc/usermanager.service.d.ts +0 -15
  70. package/esm2022/backend/lib/auth/oidc/usermanager.service.mjs +0 -37
  71. package/fesm2022/acorex-modules-auth-acorex-modules-auth-BjhfeQT8.mjs.map +0 -1
  72. package/fesm2022/acorex-modules-auth-password.component-IzjzV-ia.mjs.map +0 -1
@@ -132,10 +132,10 @@ export class AXMBackendDataProvider {
132
132
  const url = `${this.mainUrl}/common/files/${id}/Download/${name}`;
133
133
  return firstValueFrom(this.http.get(url, { responseType: 'blob' }));
134
134
  }
135
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMBackendDataProvider, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
136
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMBackendDataProvider, providedIn: 'root' }); }
135
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMBackendDataProvider, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
136
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMBackendDataProvider, providedIn: 'root' }); }
137
137
  }
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMBackendDataProvider, decorators: [{
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMBackendDataProvider, decorators: [{
139
139
  type: Injectable,
140
140
  args: [{
141
141
  providedIn: 'root',
@@ -0,0 +1,101 @@
1
+ import { AXDownloadStatus, AXNetworkService, AXUploadStatus } from '@acorex/core/network';
2
+ import { AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';
3
+ import { HttpClient } from '@angular/common/http';
4
+ import { Injectable, inject } from '@angular/core';
5
+ import { Observable } from 'rxjs';
6
+ import * as i0 from "@angular/core";
7
+ export class AXMFileManagementService {
8
+ constructor() {
9
+ this.configs = inject(AXP_ROOT_CONFIG_TOKEN);
10
+ this.mainUrl = this.configs.baseUrl;
11
+ this.http = inject(HttpClient);
12
+ this.networkService = inject(AXNetworkService);
13
+ }
14
+ upload(requests) {
15
+ const url = `${this.mainUrl}/common/files`;
16
+ const tasks = requests.map((r) => {
17
+ const formData = new FormData();
18
+ formData.append('File', r.file);
19
+ const task = this.networkService.upload(url, formData);
20
+ return new Promise((resolve, reject) => {
21
+ task.events.subscribe({
22
+ next: (event) => {
23
+ if (event.status == AXUploadStatus.UploadFailed) {
24
+ r.error(event.message || '');
25
+ reject(event.result);
26
+ }
27
+ if (event.status == AXUploadStatus.UploadComplete) {
28
+ r.finish();
29
+ resolve(event.result);
30
+ }
31
+ else {
32
+ r.setTransferredBytes(event.bytesTransferred);
33
+ }
34
+ },
35
+ });
36
+ r.onStart.subscribe(() => {
37
+ task.start();
38
+ });
39
+ r.onCancel.subscribe(() => {
40
+ task.cancel();
41
+ reject({ status: 'cancelled', request: r });
42
+ });
43
+ r.upload();
44
+ });
45
+ });
46
+ return Promise.allSettled(tasks);
47
+ }
48
+ delete(fileId) {
49
+ return new Promise((resolve, reject) => {
50
+ setTimeout(() => resolve({ success: true, fileId }), 1000);
51
+ });
52
+ }
53
+ get(fileId, name) {
54
+ return new Observable((observer) => {
55
+ const url = `${this.mainUrl}/common/files/${fileId}/Download/${name}`;
56
+ const downloadTask = this.networkService.download(url);
57
+ downloadTask.events.subscribe((event) => {
58
+ // Emit progress events
59
+ observer.next({
60
+ status: event.status,
61
+ progress: event.progress,
62
+ fileId,
63
+ data: event.data || null, // Assuming `event.data` contains the downloaded file's data when completed
64
+ });
65
+ // Complete the observable if download is finished
66
+ if (event.status === AXDownloadStatus.DownloadComplete) {
67
+ observer.complete();
68
+ }
69
+ }, (error) => {
70
+ console.error('Download failed:', error);
71
+ observer.error({
72
+ status: 'failed',
73
+ fileId,
74
+ error,
75
+ });
76
+ });
77
+ return () => {
78
+ downloadTask.cancel();
79
+ };
80
+ });
81
+ }
82
+ list() {
83
+ return new Promise((resolve, reject) => {
84
+ setTimeout(() => resolve([{ fileId: '1', data: 'fileData' }]), 1000);
85
+ });
86
+ }
87
+ setMetadata(fileId, metadata) {
88
+ return new Promise((resolve, reject) => {
89
+ setTimeout(() => resolve({ fileId, metadata }), 1000);
90
+ });
91
+ }
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMFileManagementService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
93
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMFileManagementService, providedIn: 'root' }); }
94
+ }
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMFileManagementService, decorators: [{
96
+ type: Injectable,
97
+ args: [{
98
+ providedIn: 'root',
99
+ }]
100
+ }] });
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2JhY2tlbmQvc3JjL2xpYi9kYXRhL2FwaS9maWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUtsQyxNQUFNLE9BQU8sd0JBQXdCO0lBSHJDO1FBSVUsWUFBTyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3hDLFlBQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUMvQixTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFCLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7S0E0Rm5EO0lBMUZDLE1BQU0sQ0FBQyxRQUEyQjtRQUNoQyxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLGVBQWUsQ0FBQztRQUMzQyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDL0IsTUFBTSxRQUFRLEdBQWEsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUMxQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBRXZELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO29CQUNwQixJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTt3QkFDZCxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDOzRCQUNoRCxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUM7NEJBQzdCLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQ3ZCLENBQUM7d0JBQ0QsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLGNBQWMsQ0FBQyxjQUFjLEVBQUUsQ0FBQzs0QkFDbEQsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDOzRCQUNYLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQ3hCLENBQUM7NkJBQU0sQ0FBQzs0QkFDTixDQUFDLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7d0JBQ2hELENBQUM7b0JBQ0gsQ0FBQztpQkFDRixDQUFDLENBQUM7Z0JBRUgsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO29CQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2YsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO29CQUN4QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ2QsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDOUMsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2IsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQWM7UUFDbkIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELEdBQUcsQ0FBQyxNQUFjLEVBQUUsSUFBWTtRQUM5QixPQUFPLElBQUksVUFBVSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDakMsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxpQkFBaUIsTUFBTSxhQUFhLElBQUksRUFBRSxDQUFDO1lBQ3RFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRXZELFlBQVksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUMzQixDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNSLHVCQUF1QjtnQkFDdkIsUUFBUSxDQUFDLElBQUksQ0FBQztvQkFDWixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07b0JBQ3BCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtvQkFDeEIsTUFBTTtvQkFDTixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUUsMkVBQTJFO2lCQUN0RyxDQUFDLENBQUM7Z0JBRUgsa0RBQWtEO2dCQUNsRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssZ0JBQWdCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztvQkFDdkQsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN0QixDQUFDO1lBQ0gsQ0FBQyxFQUNELENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ1IsT0FBTyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDekMsUUFBUSxDQUFDLEtBQUssQ0FBQztvQkFDYixNQUFNLEVBQUUsUUFBUTtvQkFDaEIsTUFBTTtvQkFDTixLQUFLO2lCQUNOLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FDRixDQUFDO1lBQ0YsT0FBTyxHQUFHLEVBQUU7Z0JBQ1YsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3hCLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUk7UUFDRixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN2RSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBYyxFQUFFLFFBQWE7UUFDdkMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQS9GVSx3QkFBd0I7a0hBQXhCLHdCQUF3QixjQUZ2QixNQUFNOzsyRkFFUCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhVcGxvYWRSZXF1ZXN0IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3VwbG9hZGVyJztcbmltcG9ydCB7IEFYRG93bmxvYWRTdGF0dXMsIEFYTmV0d29ya1NlcnZpY2UsIEFYVXBsb2FkU3RhdHVzIH0gZnJvbSAnQGFjb3JleC9jb3JlL25ldHdvcmsnO1xuaW1wb3J0IHsgQVhQX1JPT1RfQ09ORklHX1RPS0VOIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhNRmlsZU1hbmFnZW1lbnRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjb25maWdzID0gaW5qZWN0KEFYUF9ST09UX0NPTkZJR19UT0tFTik7XG4gIHByaXZhdGUgbWFpblVybCA9IHRoaXMuY29uZmlncy5iYXNlVXJsO1xuICBwcml2YXRlIGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gIHByaXZhdGUgbmV0d29ya1NlcnZpY2UgPSBpbmplY3QoQVhOZXR3b3JrU2VydmljZSk7XG5cbiAgdXBsb2FkKHJlcXVlc3RzOiBBWFVwbG9hZFJlcXVlc3RbXSk6IFByb21pc2U8UHJvbWlzZVNldHRsZWRSZXN1bHQ8dW5rbm93bj5bXT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMubWFpblVybH0vY29tbW9uL2ZpbGVzYDtcbiAgICBjb25zdCB0YXNrcyA9IHJlcXVlc3RzLm1hcCgocikgPT4ge1xuICAgICAgY29uc3QgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ0ZpbGUnLCByLmZpbGUpO1xuICAgICAgY29uc3QgdGFzayA9IHRoaXMubmV0d29ya1NlcnZpY2UudXBsb2FkKHVybCwgZm9ybURhdGEpO1xuXG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICB0YXNrLmV2ZW50cy5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6IChldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKGV2ZW50LnN0YXR1cyA9PSBBWFVwbG9hZFN0YXR1cy5VcGxvYWRGYWlsZWQpIHtcbiAgICAgICAgICAgICAgci5lcnJvcihldmVudC5tZXNzYWdlIHx8ICcnKTtcbiAgICAgICAgICAgICAgcmVqZWN0KGV2ZW50LnJlc3VsdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZXZlbnQuc3RhdHVzID09IEFYVXBsb2FkU3RhdHVzLlVwbG9hZENvbXBsZXRlKSB7XG4gICAgICAgICAgICAgIHIuZmluaXNoKCk7XG4gICAgICAgICAgICAgIHJlc29sdmUoZXZlbnQucmVzdWx0KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHIuc2V0VHJhbnNmZXJyZWRCeXRlcyhldmVudC5ieXRlc1RyYW5zZmVycmVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcblxuICAgICAgICByLm9uU3RhcnQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0YXNrLnN0YXJ0KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHIub25DYW5jZWwuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0YXNrLmNhbmNlbCgpO1xuICAgICAgICAgIHJlamVjdCh7IHN0YXR1czogJ2NhbmNlbGxlZCcsIHJlcXVlc3Q6IHIgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHIudXBsb2FkKCk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBQcm9taXNlLmFsbFNldHRsZWQodGFza3MpO1xuICB9XG5cbiAgZGVsZXRlKGZpbGVJZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiByZXNvbHZlKHsgc3VjY2VzczogdHJ1ZSwgZmlsZUlkIH0pLCAxMDAwKTtcbiAgICB9KTtcbiAgfVxuICBnZXQoZmlsZUlkOiBzdHJpbmcsIG5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5tYWluVXJsfS9jb21tb24vZmlsZXMvJHtmaWxlSWR9L0Rvd25sb2FkLyR7bmFtZX1gO1xuICAgICAgY29uc3QgZG93bmxvYWRUYXNrID0gdGhpcy5uZXR3b3JrU2VydmljZS5kb3dubG9hZCh1cmwpO1xuXG4gICAgICBkb3dubG9hZFRhc2suZXZlbnRzLnN1YnNjcmliZShcbiAgICAgICAgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgLy8gRW1pdCBwcm9ncmVzcyBldmVudHNcbiAgICAgICAgICBvYnNlcnZlci5uZXh0KHtcbiAgICAgICAgICAgIHN0YXR1czogZXZlbnQuc3RhdHVzLFxuICAgICAgICAgICAgcHJvZ3Jlc3M6IGV2ZW50LnByb2dyZXNzLFxuICAgICAgICAgICAgZmlsZUlkLFxuICAgICAgICAgICAgZGF0YTogZXZlbnQuZGF0YSB8fCBudWxsLCAvLyBBc3N1bWluZyBgZXZlbnQuZGF0YWAgY29udGFpbnMgdGhlIGRvd25sb2FkZWQgZmlsZSdzIGRhdGEgd2hlbiBjb21wbGV0ZWRcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIC8vIENvbXBsZXRlIHRoZSBvYnNlcnZhYmxlIGlmIGRvd25sb2FkIGlzIGZpbmlzaGVkXG4gICAgICAgICAgaWYgKGV2ZW50LnN0YXR1cyA9PT0gQVhEb3dubG9hZFN0YXR1cy5Eb3dubG9hZENvbXBsZXRlKSB7XG4gICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignRG93bmxvYWQgZmFpbGVkOicsIGVycm9yKTtcbiAgICAgICAgICBvYnNlcnZlci5lcnJvcih7XG4gICAgICAgICAgICBzdGF0dXM6ICdmYWlsZWQnLFxuICAgICAgICAgICAgZmlsZUlkLFxuICAgICAgICAgICAgZXJyb3IsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBkb3dubG9hZFRhc2suY2FuY2VsKCk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgbGlzdCgpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHJlc29sdmUoW3sgZmlsZUlkOiAnMScsIGRhdGE6ICdmaWxlRGF0YScgfV0pLCAxMDAwKTtcbiAgICB9KTtcbiAgfVxuXG4gIHNldE1ldGFkYXRhKGZpbGVJZDogc3RyaW5nLCBtZXRhZGF0YTogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiByZXNvbHZlKHsgZmlsZUlkLCBtZXRhZGF0YSB9KSwgMTAwMCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,5 @@
1
1
  export * from './api/data-provider';
2
+ export * from './api/file.service';
2
3
  export * from './local/data-Conditioner';
3
4
  export * from './local/local-data-provider';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYmFja2VuZC9zcmMvbGliL2RhdGEvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FwaS9kYXRhLXByb3ZpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbG9jYWwvZGF0YS1Db25kaXRpb25lcic7XG5leHBvcnQgKiBmcm9tICcuL2xvY2FsL2xvY2FsLWRhdGEtcHJvdmlkZXInOyJdfQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYmFja2VuZC9zcmMvbGliL2RhdGEvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXBpL2RhdGEtcHJvdmlkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9hcGkvZmlsZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbG9jYWwvZGF0YS1Db25kaXRpb25lcic7XG5leHBvcnQgKiBmcm9tICcuL2xvY2FsL2xvY2FsLWRhdGEtcHJvdmlkZXInO1xuIl19
@@ -72,10 +72,10 @@ export class AXMLocalDataProvider {
72
72
  downloadFile(id, name) {
73
73
  return this.viewFile(id, name);
74
74
  }
75
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMLocalDataProvider, deps: [{ token: i1.AXPStorageMockService }], target: i0.ɵɵFactoryTarget.Injectable }); }
76
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMLocalDataProvider, providedIn: 'root' }); }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMLocalDataProvider, deps: [{ token: i1.AXPStorageMockService }], target: i0.ɵɵFactoryTarget.Injectable }); }
76
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMLocalDataProvider, providedIn: 'root' }); }
77
77
  }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMLocalDataProvider, decorators: [{
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMLocalDataProvider, decorators: [{
79
79
  type: Injectable,
80
80
  args: [{
81
81
  providedIn: 'root',
@@ -1,11 +1,11 @@
1
1
  import { NgModule } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  export class AXMLogManagementModule {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMLogManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: AXMLogManagementModule }); }
6
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMLogManagementModule }); }
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMLogManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXMLogManagementModule }); }
6
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMLogManagementModule }); }
7
7
  }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMLogManagementModule, decorators: [{
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMLogManagementModule, decorators: [{
9
9
  type: NgModule,
10
10
  args: [{
11
11
  imports: [],
@@ -1,11 +1,11 @@
1
1
  import { NgModule } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  export class AXMNotificationModule {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMNotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: AXMNotificationModule }); }
6
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMNotificationModule }); }
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMNotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXMNotificationModule }); }
6
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMNotificationModule }); }
7
7
  }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMNotificationModule, decorators: [{
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMNotificationModule, decorators: [{
9
9
  type: NgModule,
10
10
  args: [{
11
11
  imports: [],
@@ -64,10 +64,10 @@ class AXMAuthErrorHandler {
64
64
  }
65
65
  this.layoutService.setNavigationLoading(false);
66
66
  }
67
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMAuthErrorHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
68
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMAuthErrorHandler }); }
67
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMAuthErrorHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
68
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMAuthErrorHandler }); }
69
69
  }
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMAuthErrorHandler, decorators: [{
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMAuthErrorHandler, decorators: [{
71
71
  type: Injectable
72
72
  }] });
73
73
 
@@ -104,22 +104,22 @@ const routes = [
104
104
  },
105
105
  {
106
106
  path: '',
107
- loadComponent: () => import('./acorex-modules-auth-master.layout-BGy5Vo5H.mjs').then((c) => c.AXPAuthMasterLayoutComponent),
108
- loadChildren: () => import('./acorex-modules-auth-login.module-CcNDUqEl.mjs').then((c) => c.AXPSignInModule),
107
+ loadComponent: () => import('./acorex-modules-auth-master.layout-CjfjDdzw.mjs').then((c) => c.AXPAuthMasterLayoutComponent),
108
+ loadChildren: () => import('./acorex-modules-auth-login.module-DZ0QDjNv.mjs').then((c) => c.AXPSignInModule),
109
109
  },
110
110
  {
111
111
  path: '',
112
- loadComponent: () => import('./acorex-modules-auth-master.layout-BGy5Vo5H.mjs').then((c) => c.AXPAuthMasterLayoutComponent),
113
- loadChildren: () => import('./acorex-modules-auth-two-factor.module-Biz85Ffl.mjs').then((c) => c.AXPTwoFactorModule),
112
+ loadComponent: () => import('./acorex-modules-auth-master.layout-CjfjDdzw.mjs').then((c) => c.AXPAuthMasterLayoutComponent),
113
+ loadChildren: () => import('./acorex-modules-auth-two-factor.module-D-jZC2Fc.mjs').then((c) => c.AXPTwoFactorModule),
114
114
  },
115
115
  {
116
116
  path: '',
117
- loadComponent: () => import('./acorex-modules-auth-master.layout-BGy5Vo5H.mjs').then((c) => c.AXPAuthMasterLayoutComponent),
118
- loadChildren: () => import('./acorex-modules-auth-routes-JW0JYsnX.mjs').then((c) => c),
117
+ loadComponent: () => import('./acorex-modules-auth-master.layout-CjfjDdzw.mjs').then((c) => c.AXPAuthMasterLayoutComponent),
118
+ loadChildren: () => import('./acorex-modules-auth-routes-CTyAW4kk.mjs').then((c) => c),
119
119
  },
120
120
  {
121
121
  path: 'account',
122
- loadComponent: () => import('./acorex-modules-auth-blank.layout-BOdRxDNv.mjs').then((c) => c.AXPAuthBlankLayoutComponent),
122
+ loadComponent: () => import('./acorex-modules-auth-blank.layout-Bq822Iz4.mjs').then((c) => c.AXPAuthBlankLayoutComponent),
123
123
  loadChildren: () => Promise.resolve().then(function () { return account_module; }).then((c) => c.AXPAccountModule),
124
124
  },
125
125
  // {
@@ -161,10 +161,10 @@ class AXPIdleService {
161
161
  this.idleSubscription = null;
162
162
  }
163
163
  }
164
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPIdleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
165
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPIdleService, providedIn: 'root' }); }
164
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPIdleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
165
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPIdleService, providedIn: 'root' }); }
166
166
  }
167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPIdleService, decorators: [{
167
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPIdleService, decorators: [{
168
168
  type: Injectable,
169
169
  args: [{ providedIn: 'root' }]
170
170
  }], ctorParameters: () => [] });
@@ -240,10 +240,10 @@ class AXPAuthEffects {
240
240
  }
241
241
  })), { dispatch: false });
242
242
  }
243
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPAuthEffects, deps: [{ token: i1.Actions }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
244
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPAuthEffects }); }
243
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPAuthEffects, deps: [{ token: i1.Actions }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
244
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPAuthEffects }); }
245
245
  }
246
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPAuthEffects, decorators: [{
246
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPAuthEffects, decorators: [{
247
247
  type: Injectable
248
248
  }], ctorParameters: () => [{ type: i1.Actions }, { type: i2.Router }] });
249
249
 
@@ -261,10 +261,10 @@ class AXPAppChooserListComponent {
261
261
  await this.sessionService.setApplication(item);
262
262
  this.router.navigate([`/${item.name}/home`]);
263
263
  }
264
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPAppChooserListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
265
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXPAppChooserListComponent, isStandalone: true, selector: "axp-app-chooser-list", ngImport: i0, template: "<div class=\" ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for(application of (applications$ | async); track $index){\n <div class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-start ax-cursor-pointer\"\n (click)=\"chooseApplication(application)\">\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 <ax-icon class=\"fa-solid fa-computer ax-text-neutral-500 ax-text-lg\"> </ax-icon>\n <!-- TODO: logo instead of application icon -->\n <!-- <axp-logo [source]=\"application.logo\" [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 ax-rounded-full\"></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-gray-500 md:ax-text-sm ax-text-xs\">{{application.editionName}}</span>\n @if(application.name===selectedApplication?.name){\n <ax-loading></ax-loading>\n }@else {\n <ax-icon class=\"fa-solid fa-chevron-right ax-text-neutral-400\"> </ax-icon>\n }\n </div>\n </div>\n }\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i3.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }] }); }
264
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPAppChooserListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
265
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPAppChooserListComponent, isStandalone: true, selector: "axp-app-chooser-list", ngImport: i0, template: "<div class=\" ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for(application of (applications$ | async); track $index){\n <div class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-start ax-cursor-pointer\"\n (click)=\"chooseApplication(application)\">\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 <ax-icon class=\"fa-solid fa-computer ax-text-neutral-500 ax-text-lg\"> </ax-icon>\n <!-- TODO: logo instead of application icon -->\n <!-- <axp-logo [source]=\"application.logo\" [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 ax-rounded-full\"></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-gray-500 md:ax-text-sm ax-text-xs\">{{application.editionName}}</span>\n @if(application.name===selectedApplication?.name){\n <ax-loading></ax-loading>\n }@else {\n <ax-icon class=\"fa-solid fa-chevron-right ax-text-neutral-400\"> </ax-icon>\n }\n </div>\n </div>\n }\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i3.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }] }); }
266
266
  }
267
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPAppChooserListComponent, decorators: [{
267
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPAppChooserListComponent, decorators: [{
268
268
  type: Component,
269
269
  args: [{ selector: 'axp-app-chooser-list', standalone: true, imports: [CommonModule, AXDecoratorModule, AXPLogoComponent, AXLoadingModule], template: "<div class=\" ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for(application of (applications$ | async); track $index){\n <div class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-start ax-cursor-pointer\"\n (click)=\"chooseApplication(application)\">\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 <ax-icon class=\"fa-solid fa-computer ax-text-neutral-500 ax-text-lg\"> </ax-icon>\n <!-- TODO: logo instead of application icon -->\n <!-- <axp-logo [source]=\"application.logo\" [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 ax-rounded-full\"></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-gray-500 md:ax-text-sm ax-text-xs\">{{application.editionName}}</span>\n @if(application.name===selectedApplication?.name){\n <ax-loading></ax-loading>\n }@else {\n <ax-icon class=\"fa-solid fa-chevron-right ax-text-neutral-400\"> </ax-icon>\n }\n </div>\n </div>\n }\n</div>" }]
270
270
  }] });
@@ -281,10 +281,10 @@ class AXMAppChooserSlotComponent {
281
281
  //await this.sessionService.selectApplication(item.name);
282
282
  this.router.navigate([`/${item.name}/home`]);
283
283
  }
284
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMAppChooserSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
285
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXMAppChooserSlotComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "@if(((applications$ | async)?.length ?? 0) > 1)\n{\n<ax-button color=\"default\" look=\"blank\" #appChooser>\n <ax-icon>\n <i class=\"fa-solid fa-grid-2 ax-text-slate-400 dark:ax-text-slate-200\"></i>\n </ax-icon>\n</ax-button>\n<ax-popover [target]=\"appChooser\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" [adaptivityEnabled]=\"true\">\n <div class=\"ax-bg-surface 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></axp-app-chooser-list>\n </div>\n</ax-popover>\n}", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2$2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i3$1.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXPAppChooserListComponent, selector: "axp-app-chooser-list" }] }); }
284
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMAppChooserSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
285
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXMAppChooserSlotComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "@if(((applications$ | async)?.length ?? 0) > 1)\n{\n<ax-button color=\"default\" look=\"blank\" #appChooser>\n <ax-icon>\n <i class=\"fa-solid fa-grid-2 ax-text-slate-400 dark:ax-text-slate-200\"></i>\n </ax-icon>\n</ax-button>\n<ax-popover [target]=\"appChooser\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" [adaptivityEnabled]=\"true\">\n <div class=\"ax-bg-surface 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></axp-app-chooser-list>\n </div>\n</ax-popover>\n}", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2$2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i3$1.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXPAppChooserListComponent, selector: "axp-app-chooser-list" }] }); }
286
286
  }
287
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMAppChooserSlotComponent, decorators: [{
287
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMAppChooserSlotComponent, decorators: [{
288
288
  type: Component,
289
289
  args: [{ standalone: true, imports: [
290
290
  CommonModule,
@@ -306,10 +306,10 @@ class AXPTenantChooserDropdownComponent {
306
306
  tenantChooser() {
307
307
  this.router.navigate(['/auth/account/tenant-chooser']);
308
308
  }
309
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPTenantChooserDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
310
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXPTenantChooserDropdownComponent, isStandalone: true, selector: "axp-tenant-chooser-dropdown", ngImport: i0, template: "<ng-container *ngIf=\"tenants$ | async as tenants\">\n @if(tenants.length>1){\n <div (click)=\"tenantChooser()\"\n class=\"ax-flex ax-items-center ax-border ax-rounded-full ax-px-4 ax-py-1 ax-gap-2 ax-cursor-pointer\">\n <ax-icon class=\"fa-solid fa-building ax-text-neutral-500 ax-text-xs\"></ax-icon>\n <p class=\"ax-text-neutral-500 ax-text-sm ax-font-medium\">\n {{ tenant?.title }}\n </p>\n <ax-icon class=\"fa-regular fa-chevron-down ax-text-neutral-400\"></ax-icon>\n </div>\n }@else {\n <div class=\"ax-flex ax-items-center ax-border ax-rounded-full ax-px-4 ax-py-1 ax-gap-2 ax-cursor-pointer\">\n <ax-icon class=\"fa-solid fa-building ax-text-neutral-500\"></ax-icon>\n <p class=\"ax-text-neutral-500 ax-text-sm ax-font-medium\">\n {{ tenant?.title }}\n </p>\n </div>\n }\n</ng-container>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }] }); }
309
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPTenantChooserDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
310
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPTenantChooserDropdownComponent, isStandalone: true, selector: "axp-tenant-chooser-dropdown", ngImport: i0, template: "<ng-container *ngIf=\"tenants$ | async as tenants\">\n @if(tenants.length>1){\n <div (click)=\"tenantChooser()\"\n class=\"ax-flex ax-items-center ax-border ax-rounded-full ax-px-4 ax-py-1 ax-gap-2 ax-cursor-pointer\">\n <ax-icon class=\"fa-solid fa-building ax-text-neutral-500 ax-text-xs\"></ax-icon>\n <p class=\"ax-text-neutral-500 ax-text-sm ax-font-medium\">\n {{ tenant?.title }}\n </p>\n <ax-icon class=\"fa-regular fa-chevron-down ax-text-neutral-400\"></ax-icon>\n </div>\n }@else {\n <div class=\"ax-flex ax-items-center ax-border ax-rounded-full ax-px-4 ax-py-1 ax-gap-2 ax-cursor-pointer\">\n <ax-icon class=\"fa-solid fa-building ax-text-neutral-500\"></ax-icon>\n <p class=\"ax-text-neutral-500 ax-text-sm ax-font-medium\">\n {{ tenant?.title }}\n </p>\n </div>\n }\n</ng-container>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }] }); }
311
311
  }
312
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPTenantChooserDropdownComponent, decorators: [{
312
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPTenantChooserDropdownComponent, decorators: [{
313
313
  type: Component,
314
314
  args: [{ selector: 'axp-tenant-chooser-dropdown', standalone: true, imports: [CommonModule, AXDecoratorModule], template: "<ng-container *ngIf=\"tenants$ | async as tenants\">\n @if(tenants.length>1){\n <div (click)=\"tenantChooser()\"\n class=\"ax-flex ax-items-center ax-border ax-rounded-full ax-px-4 ax-py-1 ax-gap-2 ax-cursor-pointer\">\n <ax-icon class=\"fa-solid fa-building ax-text-neutral-500 ax-text-xs\"></ax-icon>\n <p class=\"ax-text-neutral-500 ax-text-sm ax-font-medium\">\n {{ tenant?.title }}\n </p>\n <ax-icon class=\"fa-regular fa-chevron-down ax-text-neutral-400\"></ax-icon>\n </div>\n }@else {\n <div class=\"ax-flex ax-items-center ax-border ax-rounded-full ax-px-4 ax-py-1 ax-gap-2 ax-cursor-pointer\">\n <ax-icon class=\"fa-solid fa-building ax-text-neutral-500\"></ax-icon>\n <p class=\"ax-text-neutral-500 ax-text-sm ax-font-medium\">\n {{ tenant?.title }}\n </p>\n </div>\n }\n</ng-container>" }]
315
315
  }] });
@@ -367,10 +367,10 @@ class AXMAuthProfileSlotComponent {
367
367
  console.error('Failed to load image by ID:', error);
368
368
  }
369
369
  }
370
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMAuthProfileSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
371
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXMAuthProfileSlotComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "profilePopover", first: true, predicate: ["profilePopover"], descendants: true }], ngImport: i0, template: "@if((isAuthenticated$ | async)) {\n<ax-avatar #avatar color=\"secondary\" [size]=\"32\" class=\"ax-cursor-pointer ax-ms-4\">\n <ax-image [src]=\"src\"></ax-image>\n</ax-avatar>\n<ax-popover [target]=\"avatar\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\">\n <div class=\"ax-bg-surface ax-border ax-border-default 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 <ax-avatar [size]=\"60\">\n <ax-image [src]=\"src\">\n <ax-loading></ax-loading>\n </ax-image>\n </ax-avatar>\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-mt-2 ax-gap-1\">\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=\"profile-menus ax-text-slate-500\">\n <!-- <ul>\n <li>\n <i class=\"fa-solid fa-folder-open\"></i>\n <span> Project Management </span>\n </li>\n <li>\n <i class=\"fa-solid fa-envelope-open-text\"></i>\n <span>Email Config</span>\n </li>\n <li>\n <i class=\"fa-solid fa-gear\"></i>\n <span>Setting</span>\n </li>\n </ul> -->\n <ul>\n <!-- <li>\n <i class=\"fa-solid fa-gem ax-text-primary-500\"></i>\n <span> Upgrade account </span>\n </li> -->\n <li (click)=\"editProfile()\">\n <i class=\"fa-solid fa-user\"></i>\n <span>{{ 'profile.edit' | translate | async }}</span>\n </li>\n </ul>\n <ul>\n <li class=\"ax-text-danger-500\" (click)=\"logOut()\">\n <i class=\"fa-solid fa-arrow-right-from-bracket\"></i>\n <span>{{ 'profile.logout' | translate | async }}</span>\n </li>\n </ul>\n </div>\n </div>\n</ax-popover>\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}", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXImageModule }, { kind: "component", type: i2$3.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "ngmodule", type: AXAvatarModule }, { kind: "component", type: i3$2.AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "look"], outputs: ["sizeChange"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i3$1.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2$2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXPTenantChooserDropdownComponent, selector: "axp-tenant-chooser-dropdown" }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i3.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }] }); }
370
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMAuthProfileSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
371
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXMAuthProfileSlotComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "profilePopover", first: true, predicate: ["profilePopover"], descendants: true }], ngImport: i0, template: "@if((isAuthenticated$ | async)) {\n<ax-avatar #avatar color=\"secondary\" [size]=\"32\" class=\"ax-cursor-pointer ax-ms-4\">\n <ax-image [src]=\"src\"></ax-image>\n</ax-avatar>\n<ax-popover [target]=\"avatar\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\">\n <div class=\"ax-bg-surface ax-border ax-border-default 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 <ax-avatar [size]=\"60\">\n <ax-image [src]=\"src\">\n <ax-loading></ax-loading>\n </ax-image>\n </ax-avatar>\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-mt-2 ax-gap-1\">\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=\"profile-menus ax-text-slate-500\">\n <!-- <ul>\n <li>\n <i class=\"fa-solid fa-folder-open\"></i>\n <span> Project Management </span>\n </li>\n <li>\n <i class=\"fa-solid fa-envelope-open-text\"></i>\n <span>Email Config</span>\n </li>\n <li>\n <i class=\"fa-solid fa-gear\"></i>\n <span>Setting</span>\n </li>\n </ul> -->\n <ul>\n <!-- <li>\n <i class=\"fa-solid fa-gem ax-text-primary-500\"></i>\n <span> Upgrade account </span>\n </li> -->\n <li (click)=\"editProfile()\">\n <i class=\"fa-solid fa-user\"></i>\n <span>{{ 'profile.edit' | translate | async }}</span>\n </li>\n </ul>\n <ul>\n <li class=\"ax-text-danger-500\" (click)=\"logOut()\">\n <i class=\"fa-solid fa-arrow-right-from-bracket\"></i>\n <span>{{ 'profile.logout' | translate | async }}</span>\n </li>\n </ul>\n </div>\n </div>\n</ax-popover>\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}", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXImageModule }, { kind: "component", type: i2$3.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "ngmodule", type: AXAvatarModule }, { kind: "component", type: i3$2.AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "look"], outputs: ["sizeChange"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i3$1.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2$2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXPTenantChooserDropdownComponent, selector: "axp-tenant-chooser-dropdown" }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i3.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }] }); }
372
372
  }
373
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMAuthProfileSlotComponent, decorators: [{
373
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMAuthProfileSlotComponent, decorators: [{
374
374
  type: Component,
375
375
  args: [{ standalone: true, imports: [
376
376
  CommonModule,
@@ -391,6 +391,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
391
391
  const canActivateTenantChooser = async (route, state) => {
392
392
  const sessionService = inject(AXPSessionService);
393
393
  const router = inject(Router);
394
+ const sessionDate = await sessionService.getSessionData();
395
+ // if tenantn exist in session skip choose tenant
396
+ if (sessionDate?.tenant && sessionDate.tenant.id) {
397
+ return router.createUrlTree(['/auth/account/app-chooser']);
398
+ }
394
399
  const tenants = await firstValueFrom(sessionService.tenants$);
395
400
  if (tenants.length == 0) {
396
401
  return router.createUrlTree(['/auth/login']);
@@ -419,21 +424,21 @@ function routesFacory() {
419
424
  routes = [
420
425
  {
421
426
  path: 'tenant-chooser',
422
- loadComponent: () => import('./acorex-modules-auth-tenant-chooser.component-Bkyqj03k.mjs').then((c) => c.AXPAuthTenantChooserComponent),
423
- canActivate: [AXPAuthGuard, canActivateTenantChooser]
427
+ loadComponent: () => import('./acorex-modules-auth-tenant-chooser.component-B_uu2uK2.mjs').then((c) => c.AXPAuthTenantChooserComponent),
428
+ canActivate: [AXPAuthGuard, canActivateTenantChooser],
424
429
  },
425
430
  {
426
431
  path: 'app-chooser',
427
- loadComponent: () => import('./acorex-modules-auth-app-chooser.component-B-wfsJob.mjs').then((c) => c.AXPAuthAppChooserComponent),
428
- canActivate: [AXPAuthGuard, canActivateAppChooser]
432
+ loadComponent: () => import('./acorex-modules-auth-app-chooser.component-D6LlSqNY.mjs').then((c) => c.AXPAuthAppChooserComponent),
433
+ canActivate: [AXPAuthGuard, canActivateAppChooser],
429
434
  },
430
435
  ];
431
436
  return routes;
432
437
  }
433
438
  class AXPAccountModule {
434
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPAccountModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
435
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: AXPAccountModule, imports: [RouterModule, i1$2.AXPComponentSlotModule] }); }
436
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPAccountModule, providers: [
439
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPAccountModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
440
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXPAccountModule, imports: [RouterModule, i1$2.AXPComponentSlotModule] }); }
441
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPAccountModule, providers: [
437
442
  {
438
443
  provide: ROUTES,
439
444
  multi: true,
@@ -442,19 +447,19 @@ class AXPAccountModule {
442
447
  ], imports: [RouterModule,
443
448
  //
444
449
  AXPComponentSlotModule.forChild({
445
- "header-end": [
450
+ 'header-end': [
446
451
  {
447
- name: "app-choser",
452
+ name: 'app-choser',
448
453
  component: AXMAppChooserSlotComponent,
449
454
  },
450
455
  {
451
- name: "profile",
456
+ name: 'profile',
452
457
  component: AXMAuthProfileSlotComponent,
453
458
  },
454
- ]
459
+ ],
455
460
  })] }); }
456
461
  }
457
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPAccountModule, decorators: [{
462
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPAccountModule, decorators: [{
458
463
  type: NgModule,
459
464
  args: [{
460
465
  declarations: [],
@@ -462,17 +467,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
462
467
  RouterModule,
463
468
  //
464
469
  AXPComponentSlotModule.forChild({
465
- "header-end": [
470
+ 'header-end': [
466
471
  {
467
- name: "app-choser",
472
+ name: 'app-choser',
468
473
  component: AXMAppChooserSlotComponent,
469
474
  },
470
475
  {
471
- name: "profile",
476
+ name: 'profile',
472
477
  component: AXMAuthProfileSlotComponent,
473
478
  },
474
- ]
475
- })
479
+ ],
480
+ }),
476
481
  ],
477
482
  exports: [],
478
483
  providers: [
@@ -497,16 +502,16 @@ class AXMAuthModule {
497
502
  providers: [],
498
503
  };
499
504
  }
500
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
501
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: AXMAuthModule, imports: [CommonModule, i1$2.AXPCommonModule, HttpClientModule, i2.RouterModule, i1.EffectsFeatureModule, AXPAccountModule] }); }
502
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMAuthModule, providers: [AXMAuthErrorHandler], imports: [CommonModule,
505
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
506
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXMAuthModule, imports: [CommonModule, i1$2.AXPCommonModule, HttpClientModule, i2.RouterModule, i1.EffectsFeatureModule, AXPAccountModule] }); }
507
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMAuthModule, providers: [AXMAuthErrorHandler], imports: [CommonModule,
503
508
  AXPCommonModule.forChild({ errorHandlers: [AXMAuthErrorHandler] }),
504
509
  HttpClientModule,
505
510
  RouterModule.forChild(routes),
506
511
  EffectsModule.forFeature([AXPAuthEffects]),
507
512
  AXPAccountModule] }); }
508
513
  }
509
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMAuthModule, decorators: [{
514
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMAuthModule, decorators: [{
510
515
  type: NgModule,
511
516
  args: [{
512
517
  imports: [
@@ -526,4 +531,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
526
531
  */
527
532
 
528
533
  export { AXM_AUTH_CONFIG_TOKEN as A, AXMAuthenticationTypes as a, AXPTenantChooserDropdownComponent as b, AXPAppChooserListComponent as c, AXMAuthErrorHandler as d, AXMDefaultAuthConfigs as e, configAuthModule as f, AXMAuthModule as g, AXPIdleService as h };
529
- //# sourceMappingURL=acorex-modules-auth-acorex-modules-auth-BjhfeQT8.mjs.map
534
+ //# sourceMappingURL=acorex-modules-auth-acorex-modules-auth-d_YCfQWo.mjs.map