@volosoft/abp.ng.theme.lepton-x 3.2.0-rc.5 → 3.2.1

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 (26) hide show
  1. package/esm2022/account/account/account-layout.component.mjs +3 -3
  2. package/esm2022/account/account/account-layout.module.mjs +4 -4
  3. package/esm2022/account/account/components/auth-wrapper/auth-wrapper.component.mjs +3 -3
  4. package/esm2022/account/account/components/tenant-box/tenant-box.component.mjs +3 -3
  5. package/esm2022/layouts/empty-layout/empty-layout.component.mjs +3 -3
  6. package/esm2022/layouts/side-menu/layout/side-menu-application-layout.component.mjs +3 -3
  7. package/esm2022/layouts/side-menu/layout/side-menu-layout.module.mjs +4 -4
  8. package/esm2022/layouts/top-menu/layout/top-menu-application-layout.component.mjs +3 -3
  9. package/esm2022/layouts/top-menu/layout/top-menu-layout.module.mjs +4 -4
  10. package/esm2022/lib/components/abp-validation-error/abp-validation-error.component.mjs +3 -3
  11. package/esm2022/lib/components/abp-validation-error/abp-validation-error.module.mjs +4 -4
  12. package/esm2022/lib/components/http-error/http-error.component.mjs +3 -3
  13. package/esm2022/lib/enums/user-menu-items.mjs +3 -2
  14. package/esm2022/lib/lepton-x.module.mjs +4 -4
  15. package/esm2022/lib/providers/user-menu-service.provider.mjs +30 -17
  16. package/esm2022/lib/services/abp-auth.service.mjs +3 -3
  17. package/esm2022/lib/services/abp-create-error-component.service.mjs +3 -3
  18. package/esm2022/lib/services/abp-settings.service.mjs +3 -3
  19. package/esm2022/lib/services/abp-translate.service.mjs +3 -3
  20. package/fesm2022/volosoft-abp.ng.theme.lepton-x-account.mjs +13 -13
  21. package/fesm2022/volosoft-abp.ng.theme.lepton-x-layouts.mjs +17 -17
  22. package/fesm2022/volosoft-abp.ng.theme.lepton-x.mjs +56 -42
  23. package/fesm2022/volosoft-abp.ng.theme.lepton-x.mjs.map +1 -1
  24. package/lib/enums/user-menu-items.d.ts +3 -2
  25. package/lib/providers/user-menu-service.provider.d.ts +2 -4
  26. package/package.json +6 -6
@@ -102,10 +102,10 @@ export class AbpSettingsService {
102
102
  this.sessionService.setLanguage(lang?.cultureName || '');
103
103
  });
104
104
  }
105
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpSettingsService, deps: [{ token: i1.SessionStateService }, { token: i1.ConfigStateService }, { token: i2.LanguageService }, { token: i2.UserProfileService }, { token: PROFILE_PICTURE }, { token: NAVIGATE_TO_MANAGE_PROFILE }, { token: NAVIGATE_TO_MY_SECURITY_LOGS }, { token: OPEN_MY_LINK_USERS_MODAL, optional: true }, { token: i3.UserMenuService }], target: i0.ɵɵFactoryTarget.Injectable }); }
106
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpSettingsService, providedIn: 'root' }); }
105
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpSettingsService, deps: [{ token: i1.SessionStateService }, { token: i1.ConfigStateService }, { token: i2.LanguageService }, { token: i2.UserProfileService }, { token: PROFILE_PICTURE }, { token: NAVIGATE_TO_MANAGE_PROFILE }, { token: NAVIGATE_TO_MY_SECURITY_LOGS }, { token: OPEN_MY_LINK_USERS_MODAL, optional: true }, { token: i3.UserMenuService }], target: i0.ɵɵFactoryTarget.Injectable }); }
106
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpSettingsService, providedIn: 'root' }); }
107
107
  }
108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpSettingsService, decorators: [{
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpSettingsService, decorators: [{
109
109
  type: Injectable,
110
110
  args: [{ providedIn: 'root' }]
111
111
  }], ctorParameters: () => [{ type: i1.SessionStateService }, { type: i1.ConfigStateService }, { type: i2.LanguageService }, { type: i2.UserProfileService }, { type: i4.BehaviorSubject, decorators: [{
@@ -34,10 +34,10 @@ export class AbpTranslateService {
34
34
  const keys = flatArrayDeepToObject(this.translateKeys);
35
35
  return keys[key] ? keys[key] : key.includes('::') ? key : undefined;
36
36
  }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpTranslateService, deps: [{ token: i1.LocalizationService }, { token: LPX_TRANSLATE_KEY_MAP_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
38
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpTranslateService }); }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpTranslateService, deps: [{ token: i1.LocalizationService }, { token: LPX_TRANSLATE_KEY_MAP_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
38
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpTranslateService }); }
39
39
  }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpTranslateService, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpTranslateService, decorators: [{
41
41
  type: Injectable
42
42
  }], ctorParameters: () => [{ type: i1.LocalizationService }, { type: Array, decorators: [{
43
43
  type: Inject,
@@ -21,10 +21,10 @@ class TenantBoxComponent {
21
21
  constructor() {
22
22
  this.service = inject(TenantBoxService);
23
23
  }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TenantBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: TenantBoxComponent, isStandalone: true, selector: "abp-tenant-box", providers: [TenantBoxService], ngImport: i0, template: "@if ((service.currentTenant$ | async) || {}; as currentTenant) {\r\n <hr />\r\n <div>\r\n <div class=\"tenant-switch-box\">\r\n <div class=\"row\">\r\n <div class=\"col pr-1 pb-2\">\r\n <h6 class=\"m0\">\r\n {{ 'AbpUiMultiTenancy::Tenant' | abpLocalization }}\r\n </h6>\r\n <i>{{\r\n currentTenant.name ||\r\n ('AbpUiMultiTenancy::NotSelected' | abpLocalization)\r\n }}</i>\r\n </div>\r\n\r\n <div class=\"col-auto pl-1\">\r\n <a\r\n id=\"abp-tenant-switch-link\"\r\n class=\"btn btn-sm btn-outline-primary float-end pointer\"\r\n (click)=\"service.onSwitch()\"\r\n href=\"javascript:void(0)\"\r\n >{{ 'AbpUiMultiTenancy::Switch' | abpLocalization }}</a\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <hr />\r\n\r\n <abp-modal\r\n [(visible)]=\"service.isModalVisible\"\r\n [busy]=\"service.modalBusy\"\r\n size=\"md\"\r\n >\r\n <ng-template #abpHeader>\r\n <h5>Switch Tenant</h5>\r\n </ng-template>\r\n <ng-template #abpBody>\r\n <form (ngSubmit)=\"service.save()\">\r\n <div class=\"mt-2\">\r\n <div class=\"form-group\">\r\n <label for=\"name\">{{\r\n 'AbpUiMultiTenancy::Name' | abpLocalization\r\n }}</label>\r\n <input\r\n [(ngModel)]=\"service.name\"\r\n type=\"text\"\r\n id=\"name\"\r\n name=\"tenant\"\r\n class=\"form-control\"\r\n autofocus\r\n />\r\n </div>\r\n <p>{{ 'AbpUiMultiTenancy::SwitchTenantHint' | abpLocalization }}</p>\r\n </div>\r\n </form>\r\n </ng-template>\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-outline-primary\">\r\n {{ 'AbpAccount::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n type=\"abp-button\"\r\n iconClass=\"fa fa-check\"\r\n (click)=\"service.save()\"\r\n [disabled]=\"currentTenant?.name === service.name\"\r\n >\r\n {{ 'AbpAccount::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n </abp-modal>\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "pipe", type: i3.LocalizationPipe, name: "abpLocalization" }, { kind: "directive", type: i3.AutofocusDirective, selector: "[autofocus]", inputs: ["autofocus"] }, { kind: "ngmodule", type: ThemeSharedModule }, { kind: "component", type: i4.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i4.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i4.ModalCloseDirective, selector: "[abpClose]" }] }); }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TenantBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: TenantBoxComponent, isStandalone: true, selector: "abp-tenant-box", providers: [TenantBoxService], ngImport: i0, template: "@if ((service.currentTenant$ | async) || {}; as currentTenant) {\r\n <hr />\r\n <div>\r\n <div class=\"tenant-switch-box\">\r\n <div class=\"row\">\r\n <div class=\"col pr-1 pb-2\">\r\n <h6 class=\"m0\">\r\n {{ 'AbpUiMultiTenancy::Tenant' | abpLocalization }}\r\n </h6>\r\n <i>{{\r\n currentTenant.name ||\r\n ('AbpUiMultiTenancy::NotSelected' | abpLocalization)\r\n }}</i>\r\n </div>\r\n\r\n <div class=\"col-auto pl-1\">\r\n <a\r\n id=\"abp-tenant-switch-link\"\r\n class=\"btn btn-sm btn-outline-primary float-end pointer\"\r\n (click)=\"service.onSwitch()\"\r\n href=\"javascript:void(0)\"\r\n >{{ 'AbpUiMultiTenancy::Switch' | abpLocalization }}</a\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <hr />\r\n\r\n <abp-modal\r\n [(visible)]=\"service.isModalVisible\"\r\n [busy]=\"service.modalBusy\"\r\n size=\"md\"\r\n >\r\n <ng-template #abpHeader>\r\n <h5>Switch Tenant</h5>\r\n </ng-template>\r\n <ng-template #abpBody>\r\n <form (ngSubmit)=\"service.save()\">\r\n <div class=\"mt-2\">\r\n <div class=\"form-group\">\r\n <label for=\"name\">{{\r\n 'AbpUiMultiTenancy::Name' | abpLocalization\r\n }}</label>\r\n <input\r\n [(ngModel)]=\"service.name\"\r\n type=\"text\"\r\n id=\"name\"\r\n name=\"tenant\"\r\n class=\"form-control\"\r\n autofocus\r\n />\r\n </div>\r\n <p>{{ 'AbpUiMultiTenancy::SwitchTenantHint' | abpLocalization }}</p>\r\n </div>\r\n </form>\r\n </ng-template>\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-outline-primary\">\r\n {{ 'AbpAccount::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n type=\"abp-button\"\r\n iconClass=\"fa fa-check\"\r\n (click)=\"service.save()\"\r\n [disabled]=\"currentTenant?.name === service.name\"\r\n >\r\n {{ 'AbpAccount::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n </abp-modal>\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "pipe", type: i3.LocalizationPipe, name: "abpLocalization" }, { kind: "directive", type: i3.AutofocusDirective, selector: "[autofocus]", inputs: ["autofocus"] }, { kind: "ngmodule", type: ThemeSharedModule }, { kind: "component", type: i4.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i4.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i4.ModalCloseDirective, selector: "[abpClose]" }] }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TenantBoxComponent, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TenantBoxComponent, decorators: [{
28
28
  type: Component,
29
29
  args: [{ standalone: true, selector: 'abp-tenant-box', imports: [CoreModule, ThemeSharedModule, AsyncPipe], providers: [TenantBoxService], template: "@if ((service.currentTenant$ | async) || {}; as currentTenant) {\r\n <hr />\r\n <div>\r\n <div class=\"tenant-switch-box\">\r\n <div class=\"row\">\r\n <div class=\"col pr-1 pb-2\">\r\n <h6 class=\"m0\">\r\n {{ 'AbpUiMultiTenancy::Tenant' | abpLocalization }}\r\n </h6>\r\n <i>{{\r\n currentTenant.name ||\r\n ('AbpUiMultiTenancy::NotSelected' | abpLocalization)\r\n }}</i>\r\n </div>\r\n\r\n <div class=\"col-auto pl-1\">\r\n <a\r\n id=\"abp-tenant-switch-link\"\r\n class=\"btn btn-sm btn-outline-primary float-end pointer\"\r\n (click)=\"service.onSwitch()\"\r\n href=\"javascript:void(0)\"\r\n >{{ 'AbpUiMultiTenancy::Switch' | abpLocalization }}</a\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <hr />\r\n\r\n <abp-modal\r\n [(visible)]=\"service.isModalVisible\"\r\n [busy]=\"service.modalBusy\"\r\n size=\"md\"\r\n >\r\n <ng-template #abpHeader>\r\n <h5>Switch Tenant</h5>\r\n </ng-template>\r\n <ng-template #abpBody>\r\n <form (ngSubmit)=\"service.save()\">\r\n <div class=\"mt-2\">\r\n <div class=\"form-group\">\r\n <label for=\"name\">{{\r\n 'AbpUiMultiTenancy::Name' | abpLocalization\r\n }}</label>\r\n <input\r\n [(ngModel)]=\"service.name\"\r\n type=\"text\"\r\n id=\"name\"\r\n name=\"tenant\"\r\n class=\"form-control\"\r\n autofocus\r\n />\r\n </div>\r\n <p>{{ 'AbpUiMultiTenancy::SwitchTenantHint' | abpLocalization }}</p>\r\n </div>\r\n </form>\r\n </ng-template>\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-outline-primary\">\r\n {{ 'AbpAccount::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n type=\"abp-button\"\r\n iconClass=\"fa fa-check\"\r\n (click)=\"service.save()\"\r\n [disabled]=\"currentTenant?.name === service.name\"\r\n >\r\n {{ 'AbpAccount::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n </abp-modal>\r\n}\r\n" }]
30
30
  }] });
@@ -33,10 +33,10 @@ class AuthWrapperComponent {
33
33
  constructor() {
34
34
  this.service = inject(AuthWrapperService);
35
35
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AuthWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
37
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: AuthWrapperComponent, isStandalone: true, selector: "abp-auth-wrapper", providers: [AuthWrapperService], ngImport: i0, template: "<div class=\"card mx-auto\" style=\"max-width: 30rem\">\r\n <div class=\"card-body p-3 p-sm-4\">\r\n <div class=\"align-items-start d-flex justify-content-between mb-2\">\r\n <h2 class=\"lpx-main-title lpx-login-title m-0 me-auto\">\r\n {{ service.pageLabel | abpLocalization }}\r\n </h2>\r\n\r\n <div ngbDropdown class=\"dropdown btn-group ms-auto\">\r\n @if (service.defaultLanguage$ | async; as defaultLang) {\r\n <button\r\n ngbDropdownToggle\r\n type=\"button\"\r\n id=\"dropdownMenuLink\"\r\n class=\"btn btn-sm btn-light dropdown-toggle\"\r\n aria-expanded=\"false\"\r\n data-bs-toggle=\"dropdown\"\r\n >\r\n <i class=\"bi bi-translate me-1\"></i>\r\n <span class=\"ml-2\">{{ defaultLang.displayName }}</span>\r\n </button>\r\n }\r\n\r\n <ul ngbDropdownMenu class=\"dropdown-menu dropdown-menu-right\">\r\n <li>\r\n @for (lang of service.dropdownLanguages$ | async; track $index) {\r\n <a\r\n class=\"dropdown-item pointer\"\r\n (click)=\"service.onChangeLang(lang.cultureName)\"\r\n >\r\n {{ lang?.displayName }}\r\n </a>\r\n }\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n @if (\r\n (service.isMultiTenancyEnabled$ | async) && service.isTenantBoxVisible\r\n ) {\r\n <abp-tenant-box\r\n *abpReplaceableTemplate=\"{ componentKey: service.tenantBoxKey }\"\r\n ></abp-tenant-box>\r\n }\r\n\r\n @if (service.enableLocalLogin$ | async) {\r\n <div>\r\n <ng-content></ng-content>\r\n </div>\r\n } @else {\r\n <div class=\"alert alert-warning\">\r\n <strong>{{\r\n 'AbpAccount::InvalidLoginRequest' | abpLocalization\r\n }}</strong>\r\n {{\r\n 'AbpAccount::ThereAreNoLoginSchemesConfiguredForThisClient'\r\n | abpLocalization\r\n }}\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n<div class=\"copyright text-center my-3\">\r\n <span class=\"copyright-text\"\r\n >2023 \u00A9\r\n <a\r\n href=\"https://leptontheme.com/\"\r\n class=\"text-dark text-decoration-none\"\r\n target=\"_blank\"\r\n >LeptonX Theme</a\r\n >\r\n by\r\n <a\r\n href=\"https://abp.io/\"\r\n class=\"text-brand text-decoration-none\"\r\n target=\"_blank\"\r\n >ABP Platform</a\r\n >\r\n </span>\r\n</div>\r\n", dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: NgbDropdownModule }, { kind: "directive", type: i1$1.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i1$1.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i1$1.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "ngmodule", type: CoreModule }, { kind: "pipe", type: i3.LocalizationPipe, name: "abpLocalization" }, { kind: "directive", type: i3.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "component", type: TenantBoxComponent, selector: "abp-tenant-box" }] }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: AuthWrapperComponent, isStandalone: true, selector: "abp-auth-wrapper", providers: [AuthWrapperService], ngImport: i0, template: "<div class=\"card mx-auto\" style=\"max-width: 30rem\">\r\n <div class=\"card-body p-3 p-sm-4\">\r\n <div class=\"align-items-start d-flex justify-content-between mb-2\">\r\n <h2 class=\"lpx-main-title lpx-login-title m-0 me-auto\">\r\n {{ service.pageLabel | abpLocalization }}\r\n </h2>\r\n\r\n <div ngbDropdown class=\"dropdown btn-group ms-auto\">\r\n @if (service.defaultLanguage$ | async; as defaultLang) {\r\n <button\r\n ngbDropdownToggle\r\n type=\"button\"\r\n id=\"dropdownMenuLink\"\r\n class=\"btn btn-sm btn-light dropdown-toggle\"\r\n aria-expanded=\"false\"\r\n data-bs-toggle=\"dropdown\"\r\n >\r\n <i class=\"bi bi-translate me-1\"></i>\r\n <span class=\"ml-2\">{{ defaultLang.displayName }}</span>\r\n </button>\r\n }\r\n\r\n <ul ngbDropdownMenu class=\"dropdown-menu dropdown-menu-right\">\r\n <li>\r\n @for (lang of service.dropdownLanguages$ | async; track $index) {\r\n <a\r\n class=\"dropdown-item pointer\"\r\n (click)=\"service.onChangeLang(lang.cultureName)\"\r\n >\r\n {{ lang?.displayName }}\r\n </a>\r\n }\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n @if (\r\n (service.isMultiTenancyEnabled$ | async) && service.isTenantBoxVisible\r\n ) {\r\n <abp-tenant-box\r\n *abpReplaceableTemplate=\"{ componentKey: service.tenantBoxKey }\"\r\n ></abp-tenant-box>\r\n }\r\n\r\n @if (service.enableLocalLogin$ | async) {\r\n <div>\r\n <ng-content></ng-content>\r\n </div>\r\n } @else {\r\n <div class=\"alert alert-warning\">\r\n <strong>{{\r\n 'AbpAccount::InvalidLoginRequest' | abpLocalization\r\n }}</strong>\r\n {{\r\n 'AbpAccount::ThereAreNoLoginSchemesConfiguredForThisClient'\r\n | abpLocalization\r\n }}\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n<div class=\"copyright text-center my-3\">\r\n <span class=\"copyright-text\"\r\n >2023 \u00A9\r\n <a\r\n href=\"https://leptontheme.com/\"\r\n class=\"text-dark text-decoration-none\"\r\n target=\"_blank\"\r\n >LeptonX Theme</a\r\n >\r\n by\r\n <a\r\n href=\"https://abp.io/\"\r\n class=\"text-brand text-decoration-none\"\r\n target=\"_blank\"\r\n >ABP Platform</a\r\n >\r\n </span>\r\n</div>\r\n", dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: NgbDropdownModule }, { kind: "directive", type: i1$1.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i1$1.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i1$1.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "ngmodule", type: CoreModule }, { kind: "pipe", type: i3.LocalizationPipe, name: "abpLocalization" }, { kind: "directive", type: i3.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "component", type: TenantBoxComponent, selector: "abp-tenant-box" }] }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AuthWrapperComponent, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthWrapperComponent, decorators: [{
40
40
  type: Component,
41
41
  args: [{ standalone: true, selector: 'abp-auth-wrapper', imports: [AsyncPipe, NgbDropdownModule, CoreModule, TenantBoxComponent], providers: [AuthWrapperService], template: "<div class=\"card mx-auto\" style=\"max-width: 30rem\">\r\n <div class=\"card-body p-3 p-sm-4\">\r\n <div class=\"align-items-start d-flex justify-content-between mb-2\">\r\n <h2 class=\"lpx-main-title lpx-login-title m-0 me-auto\">\r\n {{ service.pageLabel | abpLocalization }}\r\n </h2>\r\n\r\n <div ngbDropdown class=\"dropdown btn-group ms-auto\">\r\n @if (service.defaultLanguage$ | async; as defaultLang) {\r\n <button\r\n ngbDropdownToggle\r\n type=\"button\"\r\n id=\"dropdownMenuLink\"\r\n class=\"btn btn-sm btn-light dropdown-toggle\"\r\n aria-expanded=\"false\"\r\n data-bs-toggle=\"dropdown\"\r\n >\r\n <i class=\"bi bi-translate me-1\"></i>\r\n <span class=\"ml-2\">{{ defaultLang.displayName }}</span>\r\n </button>\r\n }\r\n\r\n <ul ngbDropdownMenu class=\"dropdown-menu dropdown-menu-right\">\r\n <li>\r\n @for (lang of service.dropdownLanguages$ | async; track $index) {\r\n <a\r\n class=\"dropdown-item pointer\"\r\n (click)=\"service.onChangeLang(lang.cultureName)\"\r\n >\r\n {{ lang?.displayName }}\r\n </a>\r\n }\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n @if (\r\n (service.isMultiTenancyEnabled$ | async) && service.isTenantBoxVisible\r\n ) {\r\n <abp-tenant-box\r\n *abpReplaceableTemplate=\"{ componentKey: service.tenantBoxKey }\"\r\n ></abp-tenant-box>\r\n }\r\n\r\n @if (service.enableLocalLogin$ | async) {\r\n <div>\r\n <ng-content></ng-content>\r\n </div>\r\n } @else {\r\n <div class=\"alert alert-warning\">\r\n <strong>{{\r\n 'AbpAccount::InvalidLoginRequest' | abpLocalization\r\n }}</strong>\r\n {{\r\n 'AbpAccount::ThereAreNoLoginSchemesConfiguredForThisClient'\r\n | abpLocalization\r\n }}\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n<div class=\"copyright text-center my-3\">\r\n <span class=\"copyright-text\"\r\n >2023 \u00A9\r\n <a\r\n href=\"https://leptontheme.com/\"\r\n class=\"text-dark text-decoration-none\"\r\n target=\"_blank\"\r\n >LeptonX Theme</a\r\n >\r\n by\r\n <a\r\n href=\"https://abp.io/\"\r\n class=\"text-brand text-decoration-none\"\r\n target=\"_blank\"\r\n >ABP Platform</a\r\n >\r\n </span>\r\n</div>\r\n" }]
42
42
  }] });
@@ -45,10 +45,10 @@ class AccountLayoutComponent {
45
45
  constructor() {
46
46
  this.authWrapperKey = 'Account.AuthWrapper';
47
47
  }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AccountLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: AccountLayoutComponent, selector: "abp-account-layout", ngImport: i0, template: "<lpx-auth-layout>\r\n <abp-page-alert-container></abp-page-alert-container>\r\n <abp-auth-wrapper\r\n *abpReplaceableTemplate=\"{\r\n componentKey: authWrapperKey\r\n }\"\r\n >\r\n <router-outlet></router-outlet>\r\n </abp-auth-wrapper>\r\n</lpx-auth-layout>\r\n", dependencies: [{ kind: "component", type: i1$2.AuthLayoutComponent, selector: "lpx-auth-layout" }, { kind: "component", type: i2$1.PageAlertContainerComponent, selector: "abp-page-alert-container" }, { kind: "directive", type: i3$1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i3.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "component", type: AuthWrapperComponent, selector: "abp-auth-wrapper" }] }); }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AccountLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AccountLayoutComponent, selector: "abp-account-layout", ngImport: i0, template: "<lpx-auth-layout>\r\n <abp-page-alert-container></abp-page-alert-container>\r\n <abp-auth-wrapper\r\n *abpReplaceableTemplate=\"{\r\n componentKey: authWrapperKey\r\n }\"\r\n >\r\n <router-outlet></router-outlet>\r\n </abp-auth-wrapper>\r\n</lpx-auth-layout>\r\n", dependencies: [{ kind: "component", type: i1$2.AuthLayoutComponent, selector: "lpx-auth-layout" }, { kind: "component", type: i2$1.PageAlertContainerComponent, selector: "abp-page-alert-container" }, { kind: "directive", type: i3$1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i3.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "component", type: AuthWrapperComponent, selector: "abp-auth-wrapper" }] }); }
50
50
  }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AccountLayoutComponent, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AccountLayoutComponent, decorators: [{
52
52
  type: Component,
53
53
  args: [{ selector: 'abp-account-layout', template: "<lpx-auth-layout>\r\n <abp-page-alert-container></abp-page-alert-container>\r\n <abp-auth-wrapper\r\n *abpReplaceableTemplate=\"{\r\n componentKey: authWrapperKey\r\n }\"\r\n >\r\n <router-outlet></router-outlet>\r\n </abp-auth-wrapper>\r\n</lpx-auth-layout>\r\n" }]
54
54
  }] });
@@ -63,21 +63,21 @@ class AccountLayoutModule {
63
63
  providers: [],
64
64
  };
65
65
  }
66
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AccountLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
67
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: AccountLayoutModule, declarations: [AccountLayoutComponent], imports: [LpxAuthLayoutModule,
66
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AccountLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
67
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: AccountLayoutModule, declarations: [AccountLayoutComponent], imports: [LpxAuthLayoutModule,
68
68
  LpxContextMenuModule,
69
69
  PageAlertContainerModule,
70
70
  CoreModule,
71
71
  ThemeSharedModule,
72
72
  AuthWrapperComponent] }); }
73
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AccountLayoutModule, imports: [LpxAuthLayoutModule,
73
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AccountLayoutModule, imports: [LpxAuthLayoutModule,
74
74
  LpxContextMenuModule,
75
75
  PageAlertContainerModule,
76
76
  CoreModule,
77
77
  ThemeSharedModule,
78
78
  AuthWrapperComponent] }); }
79
79
  }
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AccountLayoutModule, decorators: [{
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AccountLayoutModule, decorators: [{
81
81
  type: NgModule,
82
82
  args: [{
83
83
  imports: [
@@ -15,10 +15,10 @@ import { LPX_TRANSLATE_KEY_MAP_TOKEN, AbpAuthService } from '@volosoft/abp.ng.th
15
15
 
16
16
  class EmptyLayoutComponent {
17
17
  static { this.type = "empty" /* eLayoutType.empty */; }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: EmptyLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: EmptyLayoutComponent, isStandalone: true, selector: "abp-layout-empty", ngImport: i0, template: ` <router-outlet></router-outlet> `, isInline: true, dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EmptyLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: EmptyLayoutComponent, isStandalone: true, selector: "abp-layout-empty", ngImport: i0, template: ` <router-outlet></router-outlet> `, isInline: true, dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: EmptyLayoutComponent, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EmptyLayoutComponent, decorators: [{
22
22
  type: Component,
23
23
  args: [{
24
24
  selector: 'abp-layout-empty',
@@ -42,10 +42,10 @@ class SideMenuApplicationLayoutComponent {
42
42
  this.logoKey = "Theme.LogoComponent" /* eThemeLeptonXComponents.Logo */;
43
43
  this.currentUserImageKey = "Theme.CurrentUserImageComponent" /* eThemeLeptonXComponents.CurrentUserImage */;
44
44
  }
45
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SideMenuApplicationLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
46
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SideMenuApplicationLayoutComponent, selector: "abp-application-layout", ngImport: i0, template: "<lpx-layout>\r\n <ng-template lpx-navbar-panel>\r\n <lpx-navbar\r\n *abpReplaceableTemplate=\"{\r\n componentKey: navbarKey\r\n }\"\r\n >\r\n <ng-container *abpIfReplaceableTemplateExists=\"logoKey\">\r\n <ng-template lpx-logo-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: logoKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n \r\n <ng-template lpx-navbar-routes let-items let-groupItems=\"groupItems\">\r\n <lpx-navbar-routes\r\n *abpReplaceableTemplate=\"{\r\n componentKey: routesKey,\r\n inputs: {\r\n navbarItems: items,\r\n groupItems\r\n }\r\n }\"\r\n [navbarItems]=\"items\"\r\n [groupedItems]=\"groupItems\"\r\n >\r\n </lpx-navbar-routes>\r\n </ng-template>\r\n </lpx-navbar>\r\n </ng-template>\r\n <ng-template lpx-content>\r\n <abp-page-alert-container\r\n *abpReplaceableTemplate=\"{ componentKey: pageAlertContainerKey }\"\r\n ></abp-page-alert-container>\r\n\r\n <router-outlet></router-outlet>\r\n </ng-template>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"breadcrumbKey\">\r\n <ng-template lpx-breadcrumb-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: breadcrumbKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"toolbarKey\">\r\n <ng-template lpx-toolbar-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: toolbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"logoKey\">\r\n <ng-template lpx-logo-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: logoKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"navItemsKey\">\r\n <ng-template lpx-navitem-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: navItemsKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"footerKey\">\r\n <ng-template lpx-footer-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: footerKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"currentUserImageKey\">\r\n <ng-template lpx-current-user-image-panel>\r\n <ng-container\r\n *abpReplaceableTemplate=\"{ componentKey: currentUserImageKey }\"\r\n >\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"mobileNavbarKey\">\r\n <ng-template lpx-mobile-navbar-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: mobileNavbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"settingsPanelKey\">\r\n <ng-template lpx-settings-panel>\r\n <ng-container\r\n *abpReplaceableTemplate=\"{\r\n componentKey: settingsPanelKey\r\n }\"\r\n ></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n</lpx-layout>\r\n", dependencies: [{ kind: "directive", type: i1$1.IfReplaceableTemplateExistsDirective, selector: "[abpIfReplaceableTemplateExists]", inputs: ["abpIfReplaceableTemplateExists"] }, { kind: "component", type: i1$1.PageAlertContainerComponent, selector: "abp-page-alert-container" }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i3.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "component", type: i4.SideMenuLayoutComponent, selector: "lpx-layout" }, { kind: "component", type: i5.NavbarComponent, selector: "lpx-navbar" }, { kind: "component", type: i5.NavbarRoutesComponent, selector: "lpx-navbar-routes", inputs: ["groupedItems", "navbarItems", "routerItem"], outputs: ["routeClick"] }, { kind: "directive", type: i5.NavbarRoutesDirective, selector: "[lpx-navbar-routes],[lpxNavbarRoutes]", exportAs: ["lpxNavbarRoutes"] }, { kind: "directive", type: i5.BreadcrumbPanelDirective, selector: "ng-template[lpx-breadcrumb-panel]" }, { kind: "directive", type: i5.ContentPanelDirective, selector: "ng-template[lpx-content]" }, { kind: "directive", type: i5.CurrentUserImagePanelDirective, selector: "ng-template[lpx-current-user-image-panel]" }, { kind: "directive", type: i5.FooterPanelDirective, selector: "ng-template[lpx-footer-panel]" }, { kind: "directive", type: i5.LogoPanelDirective, selector: "ng-template[lpx-logo-panel]" }, { kind: "directive", type: i5.MobileNavbarPanelDirective, selector: "ng-template[lpx-mobile-navbar-panel]" }, { kind: "directive", type: i5.NavbarPanelDirective, selector: "ng-template[lpx-navbar-panel]" }, { kind: "directive", type: i5.NavitemPanelDirective, selector: "ng-template[lpx-navitem-panel]" }, { kind: "directive", type: i5.SettingsPanelDirective, selector: "ng-template[lpx-settings-panel]" }, { kind: "directive", type: i5.ToolbarPanelDirective, selector: "ng-template[lpx-toolbar-panel]" }], encapsulation: i0.ViewEncapsulation.None }); }
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SideMenuApplicationLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
46
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SideMenuApplicationLayoutComponent, selector: "abp-application-layout", ngImport: i0, template: "<lpx-layout>\r\n <ng-template lpx-navbar-panel>\r\n <lpx-navbar\r\n *abpReplaceableTemplate=\"{\r\n componentKey: navbarKey\r\n }\"\r\n >\r\n <ng-container *abpIfReplaceableTemplateExists=\"logoKey\">\r\n <ng-template lpx-logo-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: logoKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n \r\n <ng-template lpx-navbar-routes let-items let-groupItems=\"groupItems\">\r\n <lpx-navbar-routes\r\n *abpReplaceableTemplate=\"{\r\n componentKey: routesKey,\r\n inputs: {\r\n navbarItems: items,\r\n groupItems\r\n }\r\n }\"\r\n [navbarItems]=\"items\"\r\n [groupedItems]=\"groupItems\"\r\n >\r\n </lpx-navbar-routes>\r\n </ng-template>\r\n </lpx-navbar>\r\n </ng-template>\r\n <ng-template lpx-content>\r\n <abp-page-alert-container\r\n *abpReplaceableTemplate=\"{ componentKey: pageAlertContainerKey }\"\r\n ></abp-page-alert-container>\r\n\r\n <router-outlet></router-outlet>\r\n </ng-template>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"breadcrumbKey\">\r\n <ng-template lpx-breadcrumb-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: breadcrumbKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"toolbarKey\">\r\n <ng-template lpx-toolbar-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: toolbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"logoKey\">\r\n <ng-template lpx-logo-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: logoKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"navItemsKey\">\r\n <ng-template lpx-navitem-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: navItemsKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"footerKey\">\r\n <ng-template lpx-footer-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: footerKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"currentUserImageKey\">\r\n <ng-template lpx-current-user-image-panel>\r\n <ng-container\r\n *abpReplaceableTemplate=\"{ componentKey: currentUserImageKey }\"\r\n >\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"mobileNavbarKey\">\r\n <ng-template lpx-mobile-navbar-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: mobileNavbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"settingsPanelKey\">\r\n <ng-template lpx-settings-panel>\r\n <ng-container\r\n *abpReplaceableTemplate=\"{\r\n componentKey: settingsPanelKey\r\n }\"\r\n ></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n</lpx-layout>\r\n", dependencies: [{ kind: "directive", type: i1$1.IfReplaceableTemplateExistsDirective, selector: "[abpIfReplaceableTemplateExists]", inputs: ["abpIfReplaceableTemplateExists"] }, { kind: "component", type: i1$1.PageAlertContainerComponent, selector: "abp-page-alert-container" }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i3.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "component", type: i4.SideMenuLayoutComponent, selector: "lpx-layout" }, { kind: "component", type: i5.NavbarComponent, selector: "lpx-navbar" }, { kind: "component", type: i5.NavbarRoutesComponent, selector: "lpx-navbar-routes", inputs: ["groupedItems", "navbarItems", "routerItem"], outputs: ["routeClick"] }, { kind: "directive", type: i5.NavbarRoutesDirective, selector: "[lpx-navbar-routes],[lpxNavbarRoutes]", exportAs: ["lpxNavbarRoutes"] }, { kind: "directive", type: i5.BreadcrumbPanelDirective, selector: "ng-template[lpx-breadcrumb-panel]" }, { kind: "directive", type: i5.ContentPanelDirective, selector: "ng-template[lpx-content]" }, { kind: "directive", type: i5.CurrentUserImagePanelDirective, selector: "ng-template[lpx-current-user-image-panel]" }, { kind: "directive", type: i5.FooterPanelDirective, selector: "ng-template[lpx-footer-panel]" }, { kind: "directive", type: i5.LogoPanelDirective, selector: "ng-template[lpx-logo-panel]" }, { kind: "directive", type: i5.MobileNavbarPanelDirective, selector: "ng-template[lpx-mobile-navbar-panel]" }, { kind: "directive", type: i5.NavbarPanelDirective, selector: "ng-template[lpx-navbar-panel]" }, { kind: "directive", type: i5.NavitemPanelDirective, selector: "ng-template[lpx-navitem-panel]" }, { kind: "directive", type: i5.SettingsPanelDirective, selector: "ng-template[lpx-settings-panel]" }, { kind: "directive", type: i5.ToolbarPanelDirective, selector: "ng-template[lpx-toolbar-panel]" }], encapsulation: i0.ViewEncapsulation.None }); }
47
47
  }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SideMenuApplicationLayoutComponent, decorators: [{
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SideMenuApplicationLayoutComponent, decorators: [{
49
49
  type: Component,
50
50
  args: [{ selector: 'abp-application-layout', encapsulation: ViewEncapsulation.None, template: "<lpx-layout>\r\n <ng-template lpx-navbar-panel>\r\n <lpx-navbar\r\n *abpReplaceableTemplate=\"{\r\n componentKey: navbarKey\r\n }\"\r\n >\r\n <ng-container *abpIfReplaceableTemplateExists=\"logoKey\">\r\n <ng-template lpx-logo-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: logoKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n \r\n <ng-template lpx-navbar-routes let-items let-groupItems=\"groupItems\">\r\n <lpx-navbar-routes\r\n *abpReplaceableTemplate=\"{\r\n componentKey: routesKey,\r\n inputs: {\r\n navbarItems: items,\r\n groupItems\r\n }\r\n }\"\r\n [navbarItems]=\"items\"\r\n [groupedItems]=\"groupItems\"\r\n >\r\n </lpx-navbar-routes>\r\n </ng-template>\r\n </lpx-navbar>\r\n </ng-template>\r\n <ng-template lpx-content>\r\n <abp-page-alert-container\r\n *abpReplaceableTemplate=\"{ componentKey: pageAlertContainerKey }\"\r\n ></abp-page-alert-container>\r\n\r\n <router-outlet></router-outlet>\r\n </ng-template>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"breadcrumbKey\">\r\n <ng-template lpx-breadcrumb-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: breadcrumbKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"toolbarKey\">\r\n <ng-template lpx-toolbar-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: toolbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"logoKey\">\r\n <ng-template lpx-logo-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: logoKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"navItemsKey\">\r\n <ng-template lpx-navitem-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: navItemsKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"footerKey\">\r\n <ng-template lpx-footer-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: footerKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"currentUserImageKey\">\r\n <ng-template lpx-current-user-image-panel>\r\n <ng-container\r\n *abpReplaceableTemplate=\"{ componentKey: currentUserImageKey }\"\r\n >\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"mobileNavbarKey\">\r\n <ng-template lpx-mobile-navbar-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: mobileNavbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"settingsPanelKey\">\r\n <ng-template lpx-settings-panel>\r\n <ng-container\r\n *abpReplaceableTemplate=\"{\r\n componentKey: settingsPanelKey\r\n }\"\r\n ></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n</lpx-layout>\r\n" }]
51
51
  }] });
@@ -86,15 +86,15 @@ class SideMenuLayoutModule {
86
86
  ],
87
87
  };
88
88
  }
89
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SideMenuLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
90
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: SideMenuLayoutModule, declarations: [SideMenuApplicationLayoutComponent], imports: [LeptonXAbpCoreModule,
89
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SideMenuLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
90
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: SideMenuLayoutModule, declarations: [SideMenuApplicationLayoutComponent], imports: [LeptonXAbpCoreModule,
91
91
  CommonModule,
92
92
  CoreModule,
93
93
  LpxSideMenuLayoutModule,
94
94
  LpxBreadcrumbModule,
95
95
  PanelsModule,
96
96
  LpxFooterModule], exports: [SideMenuApplicationLayoutComponent] }); }
97
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SideMenuLayoutModule, imports: [LeptonXAbpCoreModule,
97
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SideMenuLayoutModule, imports: [LeptonXAbpCoreModule,
98
98
  CommonModule,
99
99
  CoreModule,
100
100
  LpxSideMenuLayoutModule,
@@ -102,7 +102,7 @@ class SideMenuLayoutModule {
102
102
  PanelsModule,
103
103
  LpxFooterModule] }); }
104
104
  }
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SideMenuLayoutModule, decorators: [{
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SideMenuLayoutModule, decorators: [{
106
106
  type: NgModule,
107
107
  args: [{
108
108
  declarations: [SideMenuApplicationLayoutComponent],
@@ -146,10 +146,10 @@ class TopMenuApplicationLayoutComponent {
146
146
  this.settingsKey = "Theme.SettingsComponent" /* eThemeLeptonXComponents.Settings */;
147
147
  this.logoKey = "Theme.LogoComponent" /* eThemeLeptonXComponents.Logo */;
148
148
  }
149
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TopMenuApplicationLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
150
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: TopMenuApplicationLayoutComponent, selector: "abp-top-menu-application-layout", ngImport: i0, template: "<lpx-layout>\r\n <ng-template lpx-content>\r\n <abp-page-alert-container\r\n *abpReplaceableTemplate=\"{ componentKey: pageAlertContainerKey }\"\r\n ></abp-page-alert-container>\r\n\r\n <router-outlet></router-outlet>\r\n </ng-template>\r\n\r\n <ng-template\r\n lpx-breadcrumb-panel\r\n *abpIfReplaceableTemplateExists=\"breadcrumbKey\"\r\n >\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: breadcrumbKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template lpx-navbar-panel *abpIfReplaceableTemplateExists=\"navbarKey\">\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: navbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template\r\n lpx-mobile-navbar-panel\r\n *abpIfReplaceableTemplateExists=\"mobileNavbarKey\"\r\n >\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: mobileNavbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template lpx-footer-panel *abpIfReplaceableTemplateExists=\"footerKey\">\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: footerKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template lpx-toolbar-panel *abpIfReplaceableTemplateExists=\"toolbarKey\">\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: toolbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template lpx-logo-panel *abpIfReplaceableTemplateExists=\"logoKey\">\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: logoKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template\r\n lpx-top-navbar-panel\r\n *abpIfReplaceableTemplateExists=\"topNavbarKey\"\r\n >\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: topNavbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template lpx-settings-panel *abpIfReplaceableTemplateExists=\"settingsKey\">\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: settingsKey }\">\r\n </ng-container>\r\n </ng-template>\r\n</lpx-layout>\r\n", dependencies: [{ kind: "component", type: i4.TopMenuLayoutComponent, selector: "lpx-layout" }, { kind: "directive", type: i5.BreadcrumbPanelDirective, selector: "ng-template[lpx-breadcrumb-panel]" }, { kind: "directive", type: i5.ContentPanelDirective, selector: "ng-template[lpx-content]" }, { kind: "directive", type: i5.FooterPanelDirective, selector: "ng-template[lpx-footer-panel]" }, { kind: "directive", type: i5.LogoPanelDirective, selector: "ng-template[lpx-logo-panel]" }, { kind: "directive", type: i5.MobileNavbarPanelDirective, selector: "ng-template[lpx-mobile-navbar-panel]" }, { kind: "directive", type: i5.NavbarPanelDirective, selector: "ng-template[lpx-navbar-panel]" }, { kind: "directive", type: i5.SettingsPanelDirective, selector: "ng-template[lpx-settings-panel]" }, { kind: "directive", type: i5.TopNavbarPanelDirective, selector: "ng-template[lpx-top-navbar-panel]" }, { kind: "directive", type: i5.ToolbarPanelDirective, selector: "ng-template[lpx-toolbar-panel]" }, { kind: "directive", type: i1$1.IfReplaceableTemplateExistsDirective, selector: "[abpIfReplaceableTemplateExists]", inputs: ["abpIfReplaceableTemplateExists"] }, { kind: "component", type: i1$1.PageAlertContainerComponent, selector: "abp-page-alert-container" }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i3.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }] }); }
149
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopMenuApplicationLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
150
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TopMenuApplicationLayoutComponent, selector: "abp-top-menu-application-layout", ngImport: i0, template: "<lpx-layout>\r\n <ng-template lpx-content>\r\n <abp-page-alert-container\r\n *abpReplaceableTemplate=\"{ componentKey: pageAlertContainerKey }\"\r\n ></abp-page-alert-container>\r\n\r\n <router-outlet></router-outlet>\r\n </ng-template>\r\n\r\n <ng-template\r\n lpx-breadcrumb-panel\r\n *abpIfReplaceableTemplateExists=\"breadcrumbKey\"\r\n >\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: breadcrumbKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template lpx-navbar-panel *abpIfReplaceableTemplateExists=\"navbarKey\">\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: navbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template\r\n lpx-mobile-navbar-panel\r\n *abpIfReplaceableTemplateExists=\"mobileNavbarKey\"\r\n >\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: mobileNavbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template lpx-footer-panel *abpIfReplaceableTemplateExists=\"footerKey\">\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: footerKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template lpx-toolbar-panel *abpIfReplaceableTemplateExists=\"toolbarKey\">\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: toolbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template lpx-logo-panel *abpIfReplaceableTemplateExists=\"logoKey\">\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: logoKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template\r\n lpx-top-navbar-panel\r\n *abpIfReplaceableTemplateExists=\"topNavbarKey\"\r\n >\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: topNavbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template lpx-settings-panel *abpIfReplaceableTemplateExists=\"settingsKey\">\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: settingsKey }\">\r\n </ng-container>\r\n </ng-template>\r\n</lpx-layout>\r\n", dependencies: [{ kind: "component", type: i4.TopMenuLayoutComponent, selector: "lpx-layout" }, { kind: "directive", type: i5.BreadcrumbPanelDirective, selector: "ng-template[lpx-breadcrumb-panel]" }, { kind: "directive", type: i5.ContentPanelDirective, selector: "ng-template[lpx-content]" }, { kind: "directive", type: i5.FooterPanelDirective, selector: "ng-template[lpx-footer-panel]" }, { kind: "directive", type: i5.LogoPanelDirective, selector: "ng-template[lpx-logo-panel]" }, { kind: "directive", type: i5.MobileNavbarPanelDirective, selector: "ng-template[lpx-mobile-navbar-panel]" }, { kind: "directive", type: i5.NavbarPanelDirective, selector: "ng-template[lpx-navbar-panel]" }, { kind: "directive", type: i5.SettingsPanelDirective, selector: "ng-template[lpx-settings-panel]" }, { kind: "directive", type: i5.TopNavbarPanelDirective, selector: "ng-template[lpx-top-navbar-panel]" }, { kind: "directive", type: i5.ToolbarPanelDirective, selector: "ng-template[lpx-toolbar-panel]" }, { kind: "directive", type: i1$1.IfReplaceableTemplateExistsDirective, selector: "[abpIfReplaceableTemplateExists]", inputs: ["abpIfReplaceableTemplateExists"] }, { kind: "component", type: i1$1.PageAlertContainerComponent, selector: "abp-page-alert-container" }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i3.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }] }); }
151
151
  }
152
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TopMenuApplicationLayoutComponent, decorators: [{
152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopMenuApplicationLayoutComponent, decorators: [{
153
153
  type: Component,
154
154
  args: [{ selector: 'abp-top-menu-application-layout', template: "<lpx-layout>\r\n <ng-template lpx-content>\r\n <abp-page-alert-container\r\n *abpReplaceableTemplate=\"{ componentKey: pageAlertContainerKey }\"\r\n ></abp-page-alert-container>\r\n\r\n <router-outlet></router-outlet>\r\n </ng-template>\r\n\r\n <ng-template\r\n lpx-breadcrumb-panel\r\n *abpIfReplaceableTemplateExists=\"breadcrumbKey\"\r\n >\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: breadcrumbKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template lpx-navbar-panel *abpIfReplaceableTemplateExists=\"navbarKey\">\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: navbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template\r\n lpx-mobile-navbar-panel\r\n *abpIfReplaceableTemplateExists=\"mobileNavbarKey\"\r\n >\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: mobileNavbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template lpx-footer-panel *abpIfReplaceableTemplateExists=\"footerKey\">\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: footerKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template lpx-toolbar-panel *abpIfReplaceableTemplateExists=\"toolbarKey\">\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: toolbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template lpx-logo-panel *abpIfReplaceableTemplateExists=\"logoKey\">\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: logoKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template\r\n lpx-top-navbar-panel\r\n *abpIfReplaceableTemplateExists=\"topNavbarKey\"\r\n >\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: topNavbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template lpx-settings-panel *abpIfReplaceableTemplateExists=\"settingsKey\">\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: settingsKey }\">\r\n </ng-container>\r\n </ng-template>\r\n</lpx-layout>\r\n" }]
155
155
  }] });
@@ -185,8 +185,8 @@ class TopMenuLayoutModule {
185
185
  ],
186
186
  };
187
187
  }
188
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TopMenuLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
189
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: TopMenuLayoutModule, declarations: [TopMenuApplicationLayoutComponent], imports: [CommonModule,
188
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopMenuLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
189
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: TopMenuLayoutModule, declarations: [TopMenuApplicationLayoutComponent], imports: [CommonModule,
190
190
  LpxTopMenuLayoutModule,
191
191
  LeptonXAbpCoreModule,
192
192
  LpxBreadcrumbModule,
@@ -195,7 +195,7 @@ class TopMenuLayoutModule {
195
195
  CoreModule,
196
196
  PageAlertContainerModule,
197
197
  RouterOutlet] }); }
198
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TopMenuLayoutModule, imports: [CommonModule,
198
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopMenuLayoutModule, imports: [CommonModule,
199
199
  LpxTopMenuLayoutModule,
200
200
  LeptonXAbpCoreModule,
201
201
  LpxBreadcrumbModule,
@@ -204,7 +204,7 @@ class TopMenuLayoutModule {
204
204
  CoreModule,
205
205
  PageAlertContainerModule] }); }
206
206
  }
207
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TopMenuLayoutModule, decorators: [{
207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopMenuLayoutModule, decorators: [{
208
208
  type: NgModule,
209
209
  args: [{
210
210
  declarations: [TopMenuApplicationLayoutComponent],
@@ -13,7 +13,7 @@ import * as i4 from 'rxjs';
13
13
  import { combineLatest, of } from 'rxjs';
14
14
  import * as i2 from '@volo/ngx-lepton-x.core';
15
15
  import { flatArrayDeepToObject, LPX_TRANSLATE_SERVICE_TOKEN, LanguageTranslateKeys } from '@volo/ngx-lepton-x.core';
16
- import { PROFILE_PICTURE, NAVIGATE_TO_MY_SECURITY_LOGS, OPEN_MY_LINK_USERS_MODAL, OPEN_AUTHORITY_DELEGATION_MODAL, PROFILE_PICTURE_PROVIDERS } from '@volo/abp.commercial.ng.ui/config';
16
+ import { PROFILE_PICTURE, NAVIGATE_TO_MY_SECURITY_LOGS, OPEN_MY_LINK_USERS_MODAL, NAVIGATE_TO_MY_SESSIONS, OPEN_AUTHORITY_DELEGATION_MODAL, PROFILE_PICTURE_PROVIDERS } from '@volo/abp.commercial.ng.ui/config';
17
17
  import { AbpNavbarService, AbpToolbarService, LeptonXAbpCoreModule } from '@volo/abp.ng.lepton-x.core';
18
18
  import { ThemeTranslateKeys, LpxModule } from '@volosoft/ngx-lepton-x';
19
19
  import { AccountLayoutComponent } from '@volosoft/abp.ng.theme.lepton-x/account';
@@ -38,8 +38,8 @@ class AbpValidationErrorComponent extends ValidationErrorComponent {
38
38
  return error;
39
39
  });
40
40
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpValidationErrorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: AbpValidationErrorComponent, selector: "abp-validation-error", usesInheritance: true, ngImport: i0, template: `
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpValidationErrorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AbpValidationErrorComponent, selector: "abp-validation-error", usesInheritance: true, ngImport: i0, template: `
43
43
  <span class="text-danger" data-valmsg-for="Role.Name" data-valmsg-replace="true"
44
44
  ><span *ngFor="let error of abpErrors; trackBy: trackByFn">
45
45
  {{ error.message | abpLocalization: error.interpoliteParams }}</span
@@ -47,7 +47,7 @@ class AbpValidationErrorComponent extends ValidationErrorComponent {
47
47
  >
48
48
  `, isInline: true, styles: [":host-context{order:3}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1$1.LocalizationPipe, name: "abpLocalization" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
49
49
  }
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpValidationErrorComponent, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpValidationErrorComponent, decorators: [{
51
51
  type: Component,
52
52
  args: [{ selector: 'abp-validation-error', template: `
53
53
  <span class="text-danger" data-valmsg-for="Role.Name" data-valmsg-replace="true"
@@ -78,11 +78,11 @@ class AbpValidationErrorModule {
78
78
  ],
79
79
  };
80
80
  }
81
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpValidationErrorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
82
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: AbpValidationErrorModule, declarations: [AbpValidationErrorComponent], imports: [CommonModule, CoreModule, NgxValidateCoreModule], exports: [AbpValidationErrorComponent, NgxValidateCoreModule] }); }
83
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpValidationErrorModule, imports: [CommonModule, CoreModule, NgxValidateCoreModule, NgxValidateCoreModule] }); }
81
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpValidationErrorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
82
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: AbpValidationErrorModule, declarations: [AbpValidationErrorComponent], imports: [CommonModule, CoreModule, NgxValidateCoreModule], exports: [AbpValidationErrorComponent, NgxValidateCoreModule] }); }
83
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpValidationErrorModule, imports: [CommonModule, CoreModule, NgxValidateCoreModule, NgxValidateCoreModule] }); }
84
84
  }
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpValidationErrorModule, decorators: [{
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpValidationErrorModule, decorators: [{
86
86
  type: NgModule,
87
87
  args: [{
88
88
  declarations: [AbpValidationErrorComponent],
@@ -122,10 +122,10 @@ class HttpErrorComponent {
122
122
  this.router.navigateByUrl('/', { onSameUrlNavigation: 'reload' });
123
123
  this.destroy$?.next();
124
124
  }
125
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: HttpErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
126
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: HttpErrorComponent, isStandalone: true, selector: "abp-http-error", ngImport: i0, template: "<ng-container *abpReplaceableTemplate=\"{ componentKey: errorComponentKey }\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-10 col-md-11 mx-auto\">\r\n <div\r\n class=\"d-flex flex-column justify-content-center min-vh-100 align-items-center\"\r\n >\r\n <div class=\"card\">\r\n <div class=\"card-body p-lg-5\">\r\n <div class=\"row\">\r\n <div class=\"col-auto d-flex align-items-center\">\r\n <i\r\n class=\"bi bi-emoji-frown text-primary mb-3 mb-md-0 mx-3 mx-md-4\"\r\n style=\"font-size: 12em\"\r\n ></i>\r\n </div>\r\n <div class=\"col flex-center ps-lg-4\">\r\n <div class=\"status-content\">\r\n <h1 class=\"fw-bolder display-1 text-brand\">\r\n {{ status() }}\r\n </h1>\r\n <h2 class=\"mb-0\">{{ statusText() | abpLocalization }}</h2>\r\n <h5 class=\"text-muted\">{{ detail() | abpLocalization }}</h5>\r\n\r\n @if (lastNavigation() && status() !== 403) {\r\n <a class=\"btn btn-primary soft me-2\" (click)=\"goBack()\">\r\n {{ 'AbpUi::GoBack' | abpLocalization }}\r\n </a>\r\n }\r\n <a class=\"btn btn-primary\" (click)=\"goHome()\">\r\n {{ 'AbpUi::GoHomePage' | abpLocalization }}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", dependencies: [{ kind: "ngmodule", type: LocalizationModule }, { kind: "pipe", type: i1$1.LocalizationPipe, name: "abpLocalization" }, { kind: "directive", type: ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }] }); }
125
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HttpErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
126
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: HttpErrorComponent, isStandalone: true, selector: "abp-http-error", ngImport: i0, template: "<ng-container *abpReplaceableTemplate=\"{ componentKey: errorComponentKey }\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-10 col-md-11 mx-auto\">\r\n <div\r\n class=\"d-flex flex-column justify-content-center min-vh-100 align-items-center\"\r\n >\r\n <div class=\"card\">\r\n <div class=\"card-body p-lg-5\">\r\n <div class=\"row\">\r\n <div class=\"col-auto d-flex align-items-center\">\r\n <i\r\n class=\"bi bi-emoji-frown text-primary mb-3 mb-md-0 mx-3 mx-md-4\"\r\n style=\"font-size: 12em\"\r\n ></i>\r\n </div>\r\n <div class=\"col flex-center ps-lg-4\">\r\n <div class=\"status-content\">\r\n <h1 class=\"fw-bolder display-1 text-brand\">\r\n {{ status() }}\r\n </h1>\r\n <h2 class=\"mb-0\">{{ statusText() | abpLocalization }}</h2>\r\n <h5 class=\"text-muted\">{{ detail() | abpLocalization }}</h5>\r\n\r\n @if (lastNavigation() && status() !== 403) {\r\n <a class=\"btn btn-primary soft me-2\" (click)=\"goBack()\">\r\n {{ 'AbpUi::GoBack' | abpLocalization }}\r\n </a>\r\n }\r\n <a class=\"btn btn-primary\" (click)=\"goHome()\">\r\n {{ 'AbpUi::GoHomePage' | abpLocalization }}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", dependencies: [{ kind: "ngmodule", type: LocalizationModule }, { kind: "pipe", type: i1$1.LocalizationPipe, name: "abpLocalization" }, { kind: "directive", type: ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }] }); }
127
127
  }
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: HttpErrorComponent, decorators: [{
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HttpErrorComponent, decorators: [{
129
129
  type: Component,
130
130
  args: [{ standalone: true, selector: 'abp-http-error', imports: [LocalizationModule, ReplaceableTemplateDirective], template: "<ng-container *abpReplaceableTemplate=\"{ componentKey: errorComponentKey }\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-10 col-md-11 mx-auto\">\r\n <div\r\n class=\"d-flex flex-column justify-content-center min-vh-100 align-items-center\"\r\n >\r\n <div class=\"card\">\r\n <div class=\"card-body p-lg-5\">\r\n <div class=\"row\">\r\n <div class=\"col-auto d-flex align-items-center\">\r\n <i\r\n class=\"bi bi-emoji-frown text-primary mb-3 mb-md-0 mx-3 mx-md-4\"\r\n style=\"font-size: 12em\"\r\n ></i>\r\n </div>\r\n <div class=\"col flex-center ps-lg-4\">\r\n <div class=\"status-content\">\r\n <h1 class=\"fw-bolder display-1 text-brand\">\r\n {{ status() }}\r\n </h1>\r\n <h2 class=\"mb-0\">{{ statusText() | abpLocalization }}</h2>\r\n <h5 class=\"text-muted\">{{ detail() | abpLocalization }}</h5>\r\n\r\n @if (lastNavigation() && status() !== 403) {\r\n <a class=\"btn btn-primary soft me-2\" (click)=\"goBack()\">\r\n {{ 'AbpUi::GoBack' | abpLocalization }}\r\n </a>\r\n }\r\n <a class=\"btn btn-primary\" (click)=\"goHome()\">\r\n {{ 'AbpUi::GoHomePage' | abpLocalization }}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n" }]
131
131
  }], ctorParameters: () => [] });
@@ -137,12 +137,13 @@ var httpError_component = /*#__PURE__*/Object.freeze({
137
137
 
138
138
  var eUserMenuItems;
139
139
  (function (eUserMenuItems) {
140
+ eUserMenuItems["Sessions"] = "Sessions";
140
141
  eUserMenuItems["LinkedAccounts"] = "LinkedAccounts";
141
142
  eUserMenuItems["MyAccount"] = "MyAccount";
142
- eUserMenuItems["Logout"] = "Logout";
143
143
  eUserMenuItems["SecurityLogs"] = "SecurityLogs";
144
144
  eUserMenuItems["BackToImpersonator"] = "BackToImpersonator";
145
145
  eUserMenuItems["AuthorityDelegation"] = "AuthorityDelegation";
146
+ eUserMenuItems["Logout"] = "Logout";
146
147
  })(eUserMenuItems || (eUserMenuItems = {}));
147
148
 
148
149
  class AbpSettingsService {
@@ -237,10 +238,10 @@ class AbpSettingsService {
237
238
  this.sessionService.setLanguage(lang?.cultureName || '');
238
239
  });
239
240
  }
240
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpSettingsService, deps: [{ token: i1$1.SessionStateService }, { token: i1$1.ConfigStateService }, { token: i2.LanguageService }, { token: i2.UserProfileService }, { token: PROFILE_PICTURE }, { token: NAVIGATE_TO_MANAGE_PROFILE }, { token: NAVIGATE_TO_MY_SECURITY_LOGS }, { token: OPEN_MY_LINK_USERS_MODAL, optional: true }, { token: i3.UserMenuService }], target: i0.ɵɵFactoryTarget.Injectable }); }
241
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpSettingsService, providedIn: 'root' }); }
241
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpSettingsService, deps: [{ token: i1$1.SessionStateService }, { token: i1$1.ConfigStateService }, { token: i2.LanguageService }, { token: i2.UserProfileService }, { token: PROFILE_PICTURE }, { token: NAVIGATE_TO_MANAGE_PROFILE }, { token: NAVIGATE_TO_MY_SECURITY_LOGS }, { token: OPEN_MY_LINK_USERS_MODAL, optional: true }, { token: i3.UserMenuService }], target: i0.ɵɵFactoryTarget.Injectable }); }
242
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpSettingsService, providedIn: 'root' }); }
242
243
  }
243
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpSettingsService, decorators: [{
244
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpSettingsService, decorators: [{
244
245
  type: Injectable,
245
246
  args: [{ providedIn: 'root' }]
246
247
  }], ctorParameters: () => [{ type: i1$1.SessionStateService }, { type: i1$1.ConfigStateService }, { type: i2.LanguageService }, { type: i2.UserProfileService }, { type: i4.BehaviorSubject, decorators: [{
@@ -277,10 +278,10 @@ class AbpCreateErrorComponentService extends CreateErrorComponentService {
277
278
  const queryParams = { status: instance.status };
278
279
  this.router.navigate([this.httpErrorPath], { queryParams });
279
280
  }
280
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpCreateErrorComponentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
281
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpCreateErrorComponentService }); }
281
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpCreateErrorComponentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
282
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpCreateErrorComponentService }); }
282
283
  }
283
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpCreateErrorComponentService, decorators: [{
284
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpCreateErrorComponentService, decorators: [{
284
285
  type: Injectable
285
286
  }] });
286
287
 
@@ -313,10 +314,10 @@ class AbpTranslateService {
313
314
  const keys = flatArrayDeepToObject(this.translateKeys);
314
315
  return keys[key] ? keys[key] : key.includes('::') ? key : undefined;
315
316
  }
316
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpTranslateService, deps: [{ token: i1$1.LocalizationService }, { token: LPX_TRANSLATE_KEY_MAP_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
317
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpTranslateService }); }
317
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpTranslateService, deps: [{ token: i1$1.LocalizationService }, { token: LPX_TRANSLATE_KEY_MAP_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
318
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpTranslateService }); }
318
319
  }
319
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpTranslateService, decorators: [{
320
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpTranslateService, decorators: [{
320
321
  type: Injectable
321
322
  }], ctorParameters: () => [{ type: i1$1.LocalizationService }, { type: Array, decorators: [{
322
323
  type: Inject,
@@ -332,10 +333,10 @@ class AbpAuthService {
332
333
  navigateToLogin() {
333
334
  this.authService.navigateToLogin();
334
335
  }
335
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpAuthService, deps: [{ token: i2.UserProfileService }, { token: i1$1.AuthService }], target: i0.ɵɵFactoryTarget.Injectable }); }
336
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpAuthService }); }
336
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpAuthService, deps: [{ token: i2.UserProfileService }, { token: i1$1.AuthService }], target: i0.ɵɵFactoryTarget.Injectable }); }
337
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpAuthService }); }
337
338
  }
338
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpAuthService, decorators: [{
339
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpAuthService, decorators: [{
339
340
  type: Injectable
340
341
  }], ctorParameters: () => [{ type: i2.UserProfileService }, { type: i1$1.AuthService }] });
341
342
 
@@ -392,23 +393,36 @@ const LPX_TRANSLATE_KEYS_PROVIDER = {
392
393
  const LEPTON_X_USER_MENU_PROVIDERS = [
393
394
  {
394
395
  provide: APP_INITIALIZER,
395
- useFactory: configureUserMenu,
396
- deps: [Injector],
397
396
  multi: true,
397
+ useFactory: configureUserMenu,
398
398
  },
399
399
  ];
400
- function configureUserMenu(injector) {
401
- const userMenu = injector.get(UserMenuService);
402
- const authService = injector.get(AuthService);
403
- const navigateToManageProfile = injector.get(NAVIGATE_TO_MANAGE_PROFILE);
404
- const navigateToMySecurityLogs = injector.get(NAVIGATE_TO_MY_SECURITY_LOGS);
405
- const openMyLinkUsersModal = injector.get(OPEN_MY_LINK_USERS_MODAL, null);
406
- const openAuthorityDelegationModal = injector.get(OPEN_AUTHORITY_DELEGATION_MODAL, null);
400
+ function configureUserMenu() {
401
+ const userMenu = inject(UserMenuService);
402
+ const authService = inject(AuthService);
403
+ const navigateToMySessions = inject(NAVIGATE_TO_MY_SESSIONS);
404
+ const navigateToManageProfile = inject(NAVIGATE_TO_MANAGE_PROFILE);
405
+ const navigateToMySecurityLogs = inject(NAVIGATE_TO_MY_SECURITY_LOGS);
406
+ const openMyLinkUsersModal = inject(OPEN_MY_LINK_USERS_MODAL, {
407
+ optional: true,
408
+ });
409
+ const openAuthorityDelegationModal = inject(OPEN_AUTHORITY_DELEGATION_MODAL, {
410
+ optional: true,
411
+ });
407
412
  return () => {
408
413
  userMenu.addItems([
409
414
  {
410
- id: eUserMenuItems.LinkedAccounts,
415
+ id: eUserMenuItems.Sessions,
411
416
  order: 100,
417
+ textTemplate: {
418
+ icon: 'bi bi-clock-fill',
419
+ text: 'AbpAccount::Sessions',
420
+ },
421
+ action: () => navigateToMySessions(),
422
+ },
423
+ {
424
+ id: eUserMenuItems.LinkedAccounts,
425
+ order: 101,
412
426
  textTemplate: {
413
427
  icon: 'bi bi-link',
414
428
  text: 'AbpAccount::LinkedAccounts',
@@ -418,7 +432,7 @@ function configureUserMenu(injector) {
418
432
  },
419
433
  {
420
434
  id: eUserMenuItems.AuthorityDelegation,
421
- order: 101,
435
+ order: 102,
422
436
  textTemplate: {
423
437
  text: 'AbpAccount::AuthorityDelegation',
424
438
  icon: 'fa fa-users',
@@ -427,7 +441,7 @@ function configureUserMenu(injector) {
427
441
  },
428
442
  {
429
443
  id: eUserMenuItems.MyAccount,
430
- order: 102,
444
+ order: 103,
431
445
  textTemplate: {
432
446
  icon: 'bi bi-sliders',
433
447
  text: 'AbpAccount::MyAccount',
@@ -436,7 +450,7 @@ function configureUserMenu(injector) {
436
450
  },
437
451
  {
438
452
  id: eUserMenuItems.SecurityLogs,
439
- order: 103,
453
+ order: 104,
440
454
  textTemplate: {
441
455
  icon: 'bi bi-list-ul',
442
456
  text: 'AbpAccount::MySecurityLogs',
@@ -445,7 +459,7 @@ function configureUserMenu(injector) {
445
459
  },
446
460
  {
447
461
  id: eUserMenuItems.Logout,
448
- order: 104,
462
+ order: 105,
449
463
  textTemplate: {
450
464
  icon: 'bi bi-box-arrow-right',
451
465
  text: 'AbpUi::Logout',
@@ -523,11 +537,11 @@ class ThemeLeptonXModule {
523
537
  ],
524
538
  };
525
539
  }
526
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ThemeLeptonXModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
527
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: ThemeLeptonXModule }); }
528
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ThemeLeptonXModule }); }
540
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ThemeLeptonXModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
541
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ThemeLeptonXModule }); }
542
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ThemeLeptonXModule }); }
529
543
  }
530
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ThemeLeptonXModule, decorators: [{
544
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ThemeLeptonXModule, decorators: [{
531
545
  type: NgModule
532
546
  }] });
533
547
  function createLpxModuleOptions(options) {