@volosoft/abp.ng.theme.lepton-x 3.2.0 → 3.3.0-rc.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
@@ -9,10 +9,10 @@ export class AccountLayoutComponent {
9
9
  constructor() {
10
10
  this.authWrapperKey = 'Account.AuthWrapper';
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AccountLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- 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.AuthLayoutComponent, selector: "lpx-auth-layout" }, { kind: "component", type: i2.PageAlertContainerComponent, selector: "abp-page-alert-container" }, { kind: "directive", type: i3.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i4.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "component", type: i5.AuthWrapperComponent, selector: "abp-auth-wrapper" }] }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AccountLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
+ 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.AuthLayoutComponent, selector: "lpx-auth-layout" }, { kind: "component", type: i2.PageAlertContainerComponent, selector: "abp-page-alert-container" }, { kind: "directive", type: i3.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i4.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "component", type: i5.AuthWrapperComponent, selector: "abp-auth-wrapper" }] }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AccountLayoutComponent, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AccountLayoutComponent, decorators: [{
16
16
  type: Component,
17
17
  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" }]
18
18
  }] });
@@ -17,21 +17,21 @@ export class AccountLayoutModule {
17
17
  providers: [],
18
18
  };
19
19
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AccountLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
21
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: AccountLayoutModule, declarations: [AccountLayoutComponent], imports: [LpxAuthLayoutModule,
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AccountLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
21
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: AccountLayoutModule, declarations: [AccountLayoutComponent], imports: [LpxAuthLayoutModule,
22
22
  LpxContextMenuModule,
23
23
  PageAlertContainerModule,
24
24
  CoreModule,
25
25
  ThemeSharedModule,
26
26
  AuthWrapperComponent] }); }
27
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AccountLayoutModule, imports: [LpxAuthLayoutModule,
27
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AccountLayoutModule, imports: [LpxAuthLayoutModule,
28
28
  LpxContextMenuModule,
29
29
  PageAlertContainerModule,
30
30
  CoreModule,
31
31
  ThemeSharedModule,
32
32
  AuthWrapperComponent] }); }
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AccountLayoutModule, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AccountLayoutModule, decorators: [{
35
35
  type: NgModule,
36
36
  args: [{
37
37
  imports: [
@@ -11,10 +11,10 @@ export class AuthWrapperComponent {
11
11
  constructor() {
12
12
  this.service = inject(AuthWrapperService);
13
13
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AuthWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- 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.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i1.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i1.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "ngmodule", type: CoreModule }, { kind: "pipe", type: i2.LocalizationPipe, name: "abpLocalization" }, { kind: "directive", type: i2.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "component", type: TenantBoxComponent, selector: "abp-tenant-box" }] }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
+ 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.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i1.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i1.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "ngmodule", type: CoreModule }, { kind: "pipe", type: i2.LocalizationPipe, name: "abpLocalization" }, { kind: "directive", type: i2.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "component", type: TenantBoxComponent, selector: "abp-tenant-box" }] }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AuthWrapperComponent, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthWrapperComponent, decorators: [{
18
18
  type: Component,
19
19
  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" }]
20
20
  }] });
@@ -12,10 +12,10 @@ export class TenantBoxComponent {
12
12
  constructor() {
13
13
  this.service = inject(TenantBoxService);
14
14
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TenantBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
- 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]" }] }); }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TenantBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
+ 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]" }] }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TenantBoxComponent, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TenantBoxComponent, decorators: [{
19
19
  type: Component,
20
20
  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" }]
21
21
  }] });
@@ -4,10 +4,10 @@ import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/router";
5
5
  export class EmptyLayoutComponent {
6
6
  static { this.type = "empty" /* eLayoutType.empty */; }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: EmptyLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
- 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"] }] }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EmptyLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ 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"] }] }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: EmptyLayoutComponent, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EmptyLayoutComponent, decorators: [{
11
11
  type: Component,
12
12
  args: [{
13
13
  selector: 'abp-layout-empty',
@@ -19,10 +19,10 @@ export class SideMenuApplicationLayoutComponent {
19
19
  this.logoKey = "Theme.LogoComponent" /* eThemeLeptonXComponents.Logo */;
20
20
  this.currentUserImageKey = "Theme.CurrentUserImageComponent" /* eThemeLeptonXComponents.CurrentUserImage */;
21
21
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SideMenuApplicationLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
- 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.IfReplaceableTemplateExistsDirective, selector: "[abpIfReplaceableTemplateExists]", inputs: ["abpIfReplaceableTemplateExists"] }, { kind: "component", type: i1.PageAlertContainerComponent, selector: "abp-page-alert-container" }, { kind: "directive", type: i2.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 }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SideMenuApplicationLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
+ 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.IfReplaceableTemplateExistsDirective, selector: "[abpIfReplaceableTemplateExists]", inputs: ["abpIfReplaceableTemplateExists"] }, { kind: "component", type: i1.PageAlertContainerComponent, selector: "abp-page-alert-container" }, { kind: "directive", type: i2.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 }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SideMenuApplicationLayoutComponent, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SideMenuApplicationLayoutComponent, decorators: [{
26
26
  type: Component,
27
27
  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" }]
28
28
  }] });
@@ -29,15 +29,15 @@ export class SideMenuLayoutModule {
29
29
  ],
30
30
  };
31
31
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SideMenuLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
33
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: SideMenuLayoutModule, declarations: [SideMenuApplicationLayoutComponent], imports: [LeptonXAbpCoreModule,
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SideMenuLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
33
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: SideMenuLayoutModule, declarations: [SideMenuApplicationLayoutComponent], imports: [LeptonXAbpCoreModule,
34
34
  CommonModule,
35
35
  CoreModule,
36
36
  LpxSideMenuLayoutModule,
37
37
  LpxBreadcrumbModule,
38
38
  PanelsModule,
39
39
  LpxFooterModule], exports: [SideMenuApplicationLayoutComponent] }); }
40
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SideMenuLayoutModule, imports: [LeptonXAbpCoreModule,
40
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SideMenuLayoutModule, imports: [LeptonXAbpCoreModule,
41
41
  CommonModule,
42
42
  CoreModule,
43
43
  LpxSideMenuLayoutModule,
@@ -45,7 +45,7 @@ export class SideMenuLayoutModule {
45
45
  PanelsModule,
46
46
  LpxFooterModule] }); }
47
47
  }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SideMenuLayoutModule, decorators: [{
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SideMenuLayoutModule, decorators: [{
49
49
  type: NgModule,
50
50
  args: [{
51
51
  declarations: [SideMenuApplicationLayoutComponent],
@@ -18,10 +18,10 @@ export class TopMenuApplicationLayoutComponent {
18
18
  this.settingsKey = "Theme.SettingsComponent" /* eThemeLeptonXComponents.Settings */;
19
19
  this.logoKey = "Theme.LogoComponent" /* eThemeLeptonXComponents.Logo */;
20
20
  }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TopMenuApplicationLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- 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: i1.TopMenuLayoutComponent, selector: "lpx-layout" }, { kind: "directive", type: i2.BreadcrumbPanelDirective, selector: "ng-template[lpx-breadcrumb-panel]" }, { kind: "directive", type: i2.ContentPanelDirective, selector: "ng-template[lpx-content]" }, { kind: "directive", type: i2.FooterPanelDirective, selector: "ng-template[lpx-footer-panel]" }, { kind: "directive", type: i2.LogoPanelDirective, selector: "ng-template[lpx-logo-panel]" }, { kind: "directive", type: i2.MobileNavbarPanelDirective, selector: "ng-template[lpx-mobile-navbar-panel]" }, { kind: "directive", type: i2.NavbarPanelDirective, selector: "ng-template[lpx-navbar-panel]" }, { kind: "directive", type: i2.SettingsPanelDirective, selector: "ng-template[lpx-settings-panel]" }, { kind: "directive", type: i2.TopNavbarPanelDirective, selector: "ng-template[lpx-top-navbar-panel]" }, { kind: "directive", type: i2.ToolbarPanelDirective, selector: "ng-template[lpx-toolbar-panel]" }, { kind: "directive", type: i3.IfReplaceableTemplateExistsDirective, selector: "[abpIfReplaceableTemplateExists]", inputs: ["abpIfReplaceableTemplateExists"] }, { kind: "component", type: i3.PageAlertContainerComponent, selector: "abp-page-alert-container" }, { kind: "directive", type: i4.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i5.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }] }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopMenuApplicationLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
+ 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: i1.TopMenuLayoutComponent, selector: "lpx-layout" }, { kind: "directive", type: i2.BreadcrumbPanelDirective, selector: "ng-template[lpx-breadcrumb-panel]" }, { kind: "directive", type: i2.ContentPanelDirective, selector: "ng-template[lpx-content]" }, { kind: "directive", type: i2.FooterPanelDirective, selector: "ng-template[lpx-footer-panel]" }, { kind: "directive", type: i2.LogoPanelDirective, selector: "ng-template[lpx-logo-panel]" }, { kind: "directive", type: i2.MobileNavbarPanelDirective, selector: "ng-template[lpx-mobile-navbar-panel]" }, { kind: "directive", type: i2.NavbarPanelDirective, selector: "ng-template[lpx-navbar-panel]" }, { kind: "directive", type: i2.SettingsPanelDirective, selector: "ng-template[lpx-settings-panel]" }, { kind: "directive", type: i2.TopNavbarPanelDirective, selector: "ng-template[lpx-top-navbar-panel]" }, { kind: "directive", type: i2.ToolbarPanelDirective, selector: "ng-template[lpx-toolbar-panel]" }, { kind: "directive", type: i3.IfReplaceableTemplateExistsDirective, selector: "[abpIfReplaceableTemplateExists]", inputs: ["abpIfReplaceableTemplateExists"] }, { kind: "component", type: i3.PageAlertContainerComponent, selector: "abp-page-alert-container" }, { kind: "directive", type: i4.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i5.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }] }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TopMenuApplicationLayoutComponent, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopMenuApplicationLayoutComponent, decorators: [{
25
25
  type: Component,
26
26
  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" }]
27
27
  }] });
@@ -30,8 +30,8 @@ export class TopMenuLayoutModule {
30
30
  ],
31
31
  };
32
32
  }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TopMenuLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
34
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: TopMenuLayoutModule, declarations: [TopMenuApplicationLayoutComponent], imports: [CommonModule,
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopMenuLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
34
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: TopMenuLayoutModule, declarations: [TopMenuApplicationLayoutComponent], imports: [CommonModule,
35
35
  LpxTopMenuLayoutModule,
36
36
  LeptonXAbpCoreModule,
37
37
  LpxBreadcrumbModule,
@@ -40,7 +40,7 @@ export class TopMenuLayoutModule {
40
40
  CoreModule,
41
41
  PageAlertContainerModule,
42
42
  RouterOutlet] }); }
43
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TopMenuLayoutModule, imports: [CommonModule,
43
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopMenuLayoutModule, imports: [CommonModule,
44
44
  LpxTopMenuLayoutModule,
45
45
  LeptonXAbpCoreModule,
46
46
  LpxBreadcrumbModule,
@@ -49,7 +49,7 @@ export class TopMenuLayoutModule {
49
49
  CoreModule,
50
50
  PageAlertContainerModule] }); }
51
51
  }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TopMenuLayoutModule, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopMenuLayoutModule, decorators: [{
53
53
  type: NgModule,
54
54
  args: [{
55
55
  declarations: [TopMenuApplicationLayoutComponent],
@@ -23,8 +23,8 @@ export class AbpValidationErrorComponent extends ValidationErrorComponent {
23
23
  return error;
24
24
  });
25
25
  }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpValidationErrorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: AbpValidationErrorComponent, selector: "abp-validation-error", usesInheritance: true, ngImport: i0, template: `
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpValidationErrorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AbpValidationErrorComponent, selector: "abp-validation-error", usesInheritance: true, ngImport: i0, template: `
28
28
  <span class="text-danger" data-valmsg-for="Role.Name" data-valmsg-replace="true"
29
29
  ><span *ngFor="let error of abpErrors; trackBy: trackByFn">
30
30
  {{ error.message | abpLocalization: error.interpoliteParams }}</span
@@ -32,7 +32,7 @@ export class AbpValidationErrorComponent extends ValidationErrorComponent {
32
32
  >
33
33
  `, isInline: true, styles: [":host-context{order:3}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i2.LocalizationPipe, name: "abpLocalization" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpValidationErrorComponent, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpValidationErrorComponent, decorators: [{
36
36
  type: Component,
37
37
  args: [{ selector: 'abp-validation-error', template: `
38
38
  <span class="text-danger" data-valmsg-for="Role.Name" data-valmsg-replace="true"
@@ -24,11 +24,11 @@ export class AbpValidationErrorModule {
24
24
  ],
25
25
  };
26
26
  }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpValidationErrorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
28
- 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] }); }
29
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpValidationErrorModule, imports: [CommonModule, CoreModule, NgxValidateCoreModule, NgxValidateCoreModule] }); }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpValidationErrorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
28
+ 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] }); }
29
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpValidationErrorModule, imports: [CommonModule, CoreModule, NgxValidateCoreModule, NgxValidateCoreModule] }); }
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpValidationErrorModule, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpValidationErrorModule, decorators: [{
32
32
  type: NgModule,
33
33
  args: [{
34
34
  declarations: [AbpValidationErrorComponent],
@@ -36,10 +36,10 @@ export class HttpErrorComponent {
36
36
  this.router.navigateByUrl('/', { onSameUrlNavigation: 'reload' });
37
37
  this.destroy$?.next();
38
38
  }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: HttpErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
40
- 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.LocalizationPipe, name: "abpLocalization" }, { kind: "directive", type: ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }] }); }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HttpErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
40
+ 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.LocalizationPipe, name: "abpLocalization" }, { kind: "directive", type: ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }] }); }
41
41
  }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: HttpErrorComponent, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HttpErrorComponent, decorators: [{
43
43
  type: Component,
44
44
  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" }]
45
45
  }], ctorParameters: () => [] });
@@ -1,10 +1,11 @@
1
1
  export var eUserMenuItems;
2
2
  (function (eUserMenuItems) {
3
+ eUserMenuItems["Sessions"] = "Sessions";
3
4
  eUserMenuItems["LinkedAccounts"] = "LinkedAccounts";
4
5
  eUserMenuItems["MyAccount"] = "MyAccount";
5
- eUserMenuItems["Logout"] = "Logout";
6
6
  eUserMenuItems["SecurityLogs"] = "SecurityLogs";
7
7
  eUserMenuItems["BackToImpersonator"] = "BackToImpersonator";
8
8
  eUserMenuItems["AuthorityDelegation"] = "AuthorityDelegation";
9
+ eUserMenuItems["Logout"] = "Logout";
9
10
  })(eUserMenuItems || (eUserMenuItems = {}));
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LWl0ZW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy92b2xvLWxlcHRvbi14L3NyYy9saWIvZW51bXMvdXNlci1tZW51LWl0ZW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGNBT1g7QUFQRCxXQUFZLGNBQWM7SUFDeEIsbURBQWlDLENBQUE7SUFDakMseUNBQXVCLENBQUE7SUFDdkIsbUNBQWlCLENBQUE7SUFDakIsK0NBQTZCLENBQUE7SUFDN0IsMkRBQXlDLENBQUE7SUFDekMsNkRBQTJDLENBQUE7QUFDN0MsQ0FBQyxFQVBXLGNBQWMsS0FBZCxjQUFjLFFBT3pCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gZVVzZXJNZW51SXRlbXMge1xyXG4gIExpbmtlZEFjY291bnRzID0gJ0xpbmtlZEFjY291bnRzJyxcclxuICBNeUFjY291bnQgPSAnTXlBY2NvdW50JyxcclxuICBMb2dvdXQgPSAnTG9nb3V0JyxcclxuICBTZWN1cml0eUxvZ3MgPSAnU2VjdXJpdHlMb2dzJyxcclxuICBCYWNrVG9JbXBlcnNvbmF0b3IgPSAnQmFja1RvSW1wZXJzb25hdG9yJyxcclxuICBBdXRob3JpdHlEZWxlZ2F0aW9uID0gJ0F1dGhvcml0eURlbGVnYXRpb24nLFxyXG59XHJcbiJdfQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LWl0ZW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy92b2xvLWxlcHRvbi14L3NyYy9saWIvZW51bXMvdXNlci1tZW51LWl0ZW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGNBUVg7QUFSRCxXQUFZLGNBQWM7SUFDeEIsdUNBQXFCLENBQUE7SUFDckIsbURBQWlDLENBQUE7SUFDakMseUNBQXVCLENBQUE7SUFDdkIsK0NBQTZCLENBQUE7SUFDN0IsMkRBQXlDLENBQUE7SUFDekMsNkRBQTJDLENBQUE7SUFDM0MsbUNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQVJXLGNBQWMsS0FBZCxjQUFjLFFBUXpCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gZVVzZXJNZW51SXRlbXMge1xyXG4gIFNlc3Npb25zID0gJ1Nlc3Npb25zJyxcclxuICBMaW5rZWRBY2NvdW50cyA9ICdMaW5rZWRBY2NvdW50cycsXHJcbiAgTXlBY2NvdW50ID0gJ015QWNjb3VudCcsXHJcbiAgU2VjdXJpdHlMb2dzID0gJ1NlY3VyaXR5TG9ncycsXHJcbiAgQmFja1RvSW1wZXJzb25hdG9yID0gJ0JhY2tUb0ltcGVyc29uYXRvcicsXHJcbiAgQXV0aG9yaXR5RGVsZWdhdGlvbiA9ICdBdXRob3JpdHlEZWxlZ2F0aW9uJyxcclxuICBMb2dvdXQgPSAnTG9nb3V0JyxcclxufVxyXG4iXX0=
@@ -32,11 +32,11 @@ export class ThemeLeptonXModule {
32
32
  ],
33
33
  };
34
34
  }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ThemeLeptonXModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
36
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: ThemeLeptonXModule }); }
37
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ThemeLeptonXModule }); }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ThemeLeptonXModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
36
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ThemeLeptonXModule }); }
37
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ThemeLeptonXModule }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ThemeLeptonXModule, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ThemeLeptonXModule, decorators: [{
40
40
  type: NgModule
41
41
  }] });
42
42
  function createLpxModuleOptions(options) {
@@ -1,28 +1,41 @@
1
+ import { APP_INITIALIZER, inject } from '@angular/core';
1
2
  import { AuthService, NAVIGATE_TO_MANAGE_PROFILE } from '@abp/ng.core';
2
3
  import { UserMenuService } from '@abp/ng.theme.shared';
3
- import { APP_INITIALIZER, Injector } from '@angular/core';
4
- import { NAVIGATE_TO_MY_SECURITY_LOGS, OPEN_MY_LINK_USERS_MODAL, OPEN_AUTHORITY_DELEGATION_MODAL, } from '@volo/abp.commercial.ng.ui/config';
4
+ import { NAVIGATE_TO_MY_SESSIONS, NAVIGATE_TO_MY_SECURITY_LOGS, OPEN_MY_LINK_USERS_MODAL, OPEN_AUTHORITY_DELEGATION_MODAL, } from '@volo/abp.commercial.ng.ui/config';
5
5
  import { eUserMenuItems } from '../enums/user-menu-items';
6
6
  export const LEPTON_X_USER_MENU_PROVIDERS = [
7
7
  {
8
8
  provide: APP_INITIALIZER,
9
- useFactory: configureUserMenu,
10
- deps: [Injector],
11
9
  multi: true,
10
+ useFactory: configureUserMenu,
12
11
  },
13
12
  ];
14
- export function configureUserMenu(injector) {
15
- const userMenu = injector.get(UserMenuService);
16
- const authService = injector.get(AuthService);
17
- const navigateToManageProfile = injector.get(NAVIGATE_TO_MANAGE_PROFILE);
18
- const navigateToMySecurityLogs = injector.get(NAVIGATE_TO_MY_SECURITY_LOGS);
19
- const openMyLinkUsersModal = injector.get(OPEN_MY_LINK_USERS_MODAL, null);
20
- const openAuthorityDelegationModal = injector.get(OPEN_AUTHORITY_DELEGATION_MODAL, null);
13
+ export function configureUserMenu() {
14
+ const userMenu = inject(UserMenuService);
15
+ const authService = inject(AuthService);
16
+ const navigateToMySessions = inject(NAVIGATE_TO_MY_SESSIONS);
17
+ const navigateToManageProfile = inject(NAVIGATE_TO_MANAGE_PROFILE);
18
+ const navigateToMySecurityLogs = inject(NAVIGATE_TO_MY_SECURITY_LOGS);
19
+ const openMyLinkUsersModal = inject(OPEN_MY_LINK_USERS_MODAL, {
20
+ optional: true,
21
+ });
22
+ const openAuthorityDelegationModal = inject(OPEN_AUTHORITY_DELEGATION_MODAL, {
23
+ optional: true,
24
+ });
21
25
  return () => {
22
26
  userMenu.addItems([
23
27
  {
24
- id: eUserMenuItems.LinkedAccounts,
28
+ id: eUserMenuItems.Sessions,
25
29
  order: 100,
30
+ textTemplate: {
31
+ icon: 'bi bi-clock-fill',
32
+ text: 'AbpAccount::Sessions',
33
+ },
34
+ action: () => navigateToMySessions(),
35
+ },
36
+ {
37
+ id: eUserMenuItems.LinkedAccounts,
38
+ order: 101,
26
39
  textTemplate: {
27
40
  icon: 'bi bi-link',
28
41
  text: 'AbpAccount::LinkedAccounts',
@@ -32,7 +45,7 @@ export function configureUserMenu(injector) {
32
45
  },
33
46
  {
34
47
  id: eUserMenuItems.AuthorityDelegation,
35
- order: 101,
48
+ order: 102,
36
49
  textTemplate: {
37
50
  text: 'AbpAccount::AuthorityDelegation',
38
51
  icon: 'fa fa-users',
@@ -41,7 +54,7 @@ export function configureUserMenu(injector) {
41
54
  },
42
55
  {
43
56
  id: eUserMenuItems.MyAccount,
44
- order: 102,
57
+ order: 103,
45
58
  textTemplate: {
46
59
  icon: 'bi bi-sliders',
47
60
  text: 'AbpAccount::MyAccount',
@@ -50,7 +63,7 @@ export function configureUserMenu(injector) {
50
63
  },
51
64
  {
52
65
  id: eUserMenuItems.SecurityLogs,
53
- order: 103,
66
+ order: 104,
54
67
  textTemplate: {
55
68
  icon: 'bi bi-list-ul',
56
69
  text: 'AbpAccount::MySecurityLogs',
@@ -59,7 +72,7 @@ export function configureUserMenu(injector) {
59
72
  },
60
73
  {
61
74
  id: eUserMenuItems.Logout,
62
- order: 104,
75
+ order: 105,
63
76
  textTemplate: {
64
77
  icon: 'bi bi-box-arrow-right',
65
78
  text: 'AbpUi::Logout',
@@ -71,4 +84,4 @@ export function configureUserMenu(injector) {
71
84
  ]);
72
85
  };
73
86
  }
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LXNlcnZpY2UucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3ZvbG8tbGVwdG9uLXgvc3JjL2xpYi9wcm92aWRlcnMvdXNlci1tZW51LXNlcnZpY2UucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUNMLDRCQUE0QixFQUM1Qix3QkFBd0IsRUFDeEIsK0JBQStCLEdBQ2hDLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTFELE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHO0lBQzFDO1FBQ0UsT0FBTyxFQUFFLGVBQWU7UUFDeEIsVUFBVSxFQUFFLGlCQUFpQjtRQUM3QixJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUM7UUFDaEIsS0FBSyxFQUFFLElBQUk7S0FDWjtDQUNGLENBQUM7QUFFRixNQUFNLFVBQVUsaUJBQWlCLENBQUMsUUFBa0I7SUFDbEQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMvQyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sdUJBQXVCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ3pFLE1BQU0sd0JBQXdCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQzVFLE1BQU0sb0JBQW9CLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FDdkMsd0JBQXdCLEVBQ3hCLElBQUksQ0FDUyxDQUFDO0lBQ2hCLE1BQU0sNEJBQTRCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FDL0MsK0JBQStCLEVBQy9CLElBQUksQ0FDUyxDQUFDO0lBRWhCLE9BQU8sR0FBRyxFQUFFO1FBQ1YsUUFBUSxDQUFDLFFBQVEsQ0FBQztZQUNoQjtnQkFDRSxFQUFFLEVBQUUsY0FBYyxDQUFDLGNBQWM7Z0JBQ2pDLEtBQUssRUFBRSxHQUFHO2dCQUNWLFlBQVksRUFBRTtvQkFDWixJQUFJLEVBQUUsWUFBWTtvQkFDbEIsSUFBSSxFQUFFLDRCQUE0QjtpQkFDbkM7Z0JBQ0QsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixFQUFFO2dCQUNwQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLG9CQUFvQjthQUN0QztZQUNEO2dCQUNFLEVBQUUsRUFBRSxjQUFjLENBQUMsbUJBQW1CO2dCQUN0QyxLQUFLLEVBQUUsR0FBRztnQkFDVixZQUFZLEVBQUU7b0JBQ1osSUFBSSxFQUFFLGlDQUFpQztvQkFDdkMsSUFBSSxFQUFFLGFBQWE7aUJBQ3BCO2dCQUNELE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyw0QkFBNEIsRUFBRTthQUM3QztZQUNEO2dCQUNFLEVBQUUsRUFBRSxjQUFjLENBQUMsU0FBUztnQkFDNUIsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsWUFBWSxFQUFFO29CQUNaLElBQUksRUFBRSxlQUFlO29CQUNyQixJQUFJLEVBQUUsdUJBQXVCO2lCQUM5QjtnQkFDRCxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsdUJBQXVCLEVBQUU7YUFDeEM7WUFDRDtnQkFDRSxFQUFFLEVBQUUsY0FBYyxDQUFDLFlBQVk7Z0JBQy9CLEtBQUssRUFBRSxHQUFHO2dCQUNWLFlBQVksRUFBRTtvQkFDWixJQUFJLEVBQUUsZUFBZTtvQkFDckIsSUFBSSxFQUFFLDRCQUE0QjtpQkFDbkM7Z0JBQ0QsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixFQUFFO2FBQ3pDO1lBQ0Q7Z0JBQ0UsRUFBRSxFQUFFLGNBQWMsQ0FBQyxNQUFNO2dCQUN6QixLQUFLLEVBQUUsR0FBRztnQkFDVixZQUFZLEVBQUU7b0JBQ1osSUFBSSxFQUFFLHVCQUF1QjtvQkFDN0IsSUFBSSxFQUFFLGVBQWU7aUJBQ3RCO2dCQUNELE1BQU0sRUFBRSxHQUFHLEVBQUU7b0JBQ1gsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNuQyxDQUFDO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXV0aFNlcnZpY2UsIE5BVklHQVRFX1RPX01BTkFHRV9QUk9GSUxFIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgVXNlck1lbnVTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xyXG5pbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgTkFWSUdBVEVfVE9fTVlfU0VDVVJJVFlfTE9HUyxcclxuICBPUEVOX01ZX0xJTktfVVNFUlNfTU9EQUwsXHJcbiAgT1BFTl9BVVRIT1JJVFlfREVMRUdBVElPTl9NT0RBTCxcclxufSBmcm9tICdAdm9sby9hYnAuY29tbWVyY2lhbC5uZy51aS9jb25maWcnO1xyXG5pbXBvcnQgeyBlVXNlck1lbnVJdGVtcyB9IGZyb20gJy4uL2VudW1zL3VzZXItbWVudS1pdGVtcyc7XHJcblxyXG5leHBvcnQgY29uc3QgTEVQVE9OX1hfVVNFUl9NRU5VX1BST1ZJREVSUyA9IFtcclxuICB7XHJcbiAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICB1c2VGYWN0b3J5OiBjb25maWd1cmVVc2VyTWVudSxcclxuICAgIGRlcHM6IFtJbmplY3Rvcl0sXHJcbiAgICBtdWx0aTogdHJ1ZSxcclxuICB9LFxyXG5dO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbmZpZ3VyZVVzZXJNZW51KGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gIGNvbnN0IHVzZXJNZW51ID0gaW5qZWN0b3IuZ2V0KFVzZXJNZW51U2VydmljZSk7XHJcbiAgY29uc3QgYXV0aFNlcnZpY2UgPSBpbmplY3Rvci5nZXQoQXV0aFNlcnZpY2UpO1xyXG4gIGNvbnN0IG5hdmlnYXRlVG9NYW5hZ2VQcm9maWxlID0gaW5qZWN0b3IuZ2V0KE5BVklHQVRFX1RPX01BTkFHRV9QUk9GSUxFKTtcclxuICBjb25zdCBuYXZpZ2F0ZVRvTXlTZWN1cml0eUxvZ3MgPSBpbmplY3Rvci5nZXQoTkFWSUdBVEVfVE9fTVlfU0VDVVJJVFlfTE9HUyk7XHJcbiAgY29uc3Qgb3Blbk15TGlua1VzZXJzTW9kYWwgPSBpbmplY3Rvci5nZXQoXHJcbiAgICBPUEVOX01ZX0xJTktfVVNFUlNfTU9EQUwsXHJcbiAgICBudWxsLFxyXG4gICkgYXMgKCkgPT4gdm9pZDtcclxuICBjb25zdCBvcGVuQXV0aG9yaXR5RGVsZWdhdGlvbk1vZGFsID0gaW5qZWN0b3IuZ2V0KFxyXG4gICAgT1BFTl9BVVRIT1JJVFlfREVMRUdBVElPTl9NT0RBTCxcclxuICAgIG51bGwsXHJcbiAgKSBhcyAoKSA9PiB2b2lkO1xyXG5cclxuICByZXR1cm4gKCkgPT4ge1xyXG4gICAgdXNlck1lbnUuYWRkSXRlbXMoW1xyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6IGVVc2VyTWVudUl0ZW1zLkxpbmtlZEFjY291bnRzLFxyXG4gICAgICAgIG9yZGVyOiAxMDAsXHJcbiAgICAgICAgdGV4dFRlbXBsYXRlOiB7XHJcbiAgICAgICAgICBpY29uOiAnYmkgYmktbGluaycsXHJcbiAgICAgICAgICB0ZXh0OiAnQWJwQWNjb3VudDo6TGlua2VkQWNjb3VudHMnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgYWN0aW9uOiAoKSA9PiBvcGVuTXlMaW5rVXNlcnNNb2RhbCgpLFxyXG4gICAgICAgIHZpc2libGU6ICgpID0+ICEhb3Blbk15TGlua1VzZXJzTW9kYWwsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpZDogZVVzZXJNZW51SXRlbXMuQXV0aG9yaXR5RGVsZWdhdGlvbixcclxuICAgICAgICBvcmRlcjogMTAxLFxyXG4gICAgICAgIHRleHRUZW1wbGF0ZToge1xyXG4gICAgICAgICAgdGV4dDogJ0FicEFjY291bnQ6OkF1dGhvcml0eURlbGVnYXRpb24nLFxyXG4gICAgICAgICAgaWNvbjogJ2ZhIGZhLXVzZXJzJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGFjdGlvbjogKCkgPT4gb3BlbkF1dGhvcml0eURlbGVnYXRpb25Nb2RhbCgpLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6IGVVc2VyTWVudUl0ZW1zLk15QWNjb3VudCxcclxuICAgICAgICBvcmRlcjogMTAyLFxyXG4gICAgICAgIHRleHRUZW1wbGF0ZToge1xyXG4gICAgICAgICAgaWNvbjogJ2JpIGJpLXNsaWRlcnMnLFxyXG4gICAgICAgICAgdGV4dDogJ0FicEFjY291bnQ6Ok15QWNjb3VudCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBhY3Rpb246ICgpID0+IG5hdmlnYXRlVG9NYW5hZ2VQcm9maWxlKCksXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpZDogZVVzZXJNZW51SXRlbXMuU2VjdXJpdHlMb2dzLFxyXG4gICAgICAgIG9yZGVyOiAxMDMsXHJcbiAgICAgICAgdGV4dFRlbXBsYXRlOiB7XHJcbiAgICAgICAgICBpY29uOiAnYmkgYmktbGlzdC11bCcsXHJcbiAgICAgICAgICB0ZXh0OiAnQWJwQWNjb3VudDo6TXlTZWN1cml0eUxvZ3MnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgYWN0aW9uOiAoKSA9PiBuYXZpZ2F0ZVRvTXlTZWN1cml0eUxvZ3MoKSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGlkOiBlVXNlck1lbnVJdGVtcy5Mb2dvdXQsXHJcbiAgICAgICAgb3JkZXI6IDEwNCxcclxuICAgICAgICB0ZXh0VGVtcGxhdGU6IHtcclxuICAgICAgICAgIGljb246ICdiaSBiaS1ib3gtYXJyb3ctcmlnaHQnLFxyXG4gICAgICAgICAgdGV4dDogJ0FicFVpOjpMb2dvdXQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgYWN0aW9uOiAoKSA9PiB7XHJcbiAgICAgICAgICBhdXRoU2VydmljZS5sb2dvdXQoKS5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgXSk7XHJcbiAgfTtcclxufVxyXG4iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LXNlcnZpY2UucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3ZvbG8tbGVwdG9uLXgvc3JjL2xpYi9wcm92aWRlcnMvdXNlci1tZW51LXNlcnZpY2UucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUNMLHVCQUF1QixFQUN2Qiw0QkFBNEIsRUFDNUIsd0JBQXdCLEVBQ3hCLCtCQUErQixHQUNoQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRztJQUMxQztRQUNFLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLEtBQUssRUFBRSxJQUFJO1FBQ1gsVUFBVSxFQUFFLGlCQUFpQjtLQUM5QjtDQUNGLENBQUM7QUFFRixNQUFNLFVBQVUsaUJBQWlCO0lBQy9CLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN6QyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFeEMsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUM3RCxNQUFNLHVCQUF1QixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ25FLE1BQU0sd0JBQXdCLEdBQUcsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFFdEUsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUMsd0JBQXdCLEVBQUU7UUFDNUQsUUFBUSxFQUFFLElBQUk7S0FDZixDQUFlLENBQUM7SUFFakIsTUFBTSw0QkFBNEIsR0FBRyxNQUFNLENBQUMsK0JBQStCLEVBQUU7UUFDM0UsUUFBUSxFQUFFLElBQUk7S0FDZixDQUFlLENBQUM7SUFFakIsT0FBTyxHQUFHLEVBQUU7UUFDVixRQUFRLENBQUMsUUFBUSxDQUFDO1lBQ2hCO2dCQUNFLEVBQUUsRUFBRSxjQUFjLENBQUMsUUFBUTtnQkFDM0IsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsWUFBWSxFQUFFO29CQUNaLElBQUksRUFBRSxrQkFBa0I7b0JBQ3hCLElBQUksRUFBRSxzQkFBc0I7aUJBQzdCO2dCQUNELE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRTthQUNyQztZQUNEO2dCQUNFLEVBQUUsRUFBRSxjQUFjLENBQUMsY0FBYztnQkFDakMsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsWUFBWSxFQUFFO29CQUNaLElBQUksRUFBRSxZQUFZO29CQUNsQixJQUFJLEVBQUUsNEJBQTRCO2lCQUNuQztnQkFDRCxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsb0JBQW9CLEVBQUU7Z0JBQ3BDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsb0JBQW9CO2FBQ3RDO1lBQ0Q7Z0JBQ0UsRUFBRSxFQUFFLGNBQWMsQ0FBQyxtQkFBbUI7Z0JBQ3RDLEtBQUssRUFBRSxHQUFHO2dCQUNWLFlBQVksRUFBRTtvQkFDWixJQUFJLEVBQUUsaUNBQWlDO29CQUN2QyxJQUFJLEVBQUUsYUFBYTtpQkFDcEI7Z0JBQ0QsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLDRCQUE0QixFQUFFO2FBQzdDO1lBQ0Q7Z0JBQ0UsRUFBRSxFQUFFLGNBQWMsQ0FBQyxTQUFTO2dCQUM1QixLQUFLLEVBQUUsR0FBRztnQkFDVixZQUFZLEVBQUU7b0JBQ1osSUFBSSxFQUFFLGVBQWU7b0JBQ3JCLElBQUksRUFBRSx1QkFBdUI7aUJBQzlCO2dCQUNELE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRTthQUN4QztZQUNEO2dCQUNFLEVBQUUsRUFBRSxjQUFjLENBQUMsWUFBWTtnQkFDL0IsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsWUFBWSxFQUFFO29CQUNaLElBQUksRUFBRSxlQUFlO29CQUNyQixJQUFJLEVBQUUsNEJBQTRCO2lCQUNuQztnQkFDRCxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsd0JBQXdCLEVBQUU7YUFDekM7WUFDRDtnQkFDRSxFQUFFLEVBQUUsY0FBYyxDQUFDLE1BQU07Z0JBQ3pCLEtBQUssRUFBRSxHQUFHO2dCQUNWLFlBQVksRUFBRTtvQkFDWixJQUFJLEVBQUUsdUJBQXVCO29CQUM3QixJQUFJLEVBQUUsZUFBZTtpQkFDdEI7Z0JBQ0QsTUFBTSxFQUFFLEdBQUcsRUFBRTtvQkFDWCxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ25DLENBQUM7YUFDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSwgTkFWSUdBVEVfVE9fTUFOQUdFX1BST0ZJTEUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBVc2VyTWVudVNlcnZpY2UgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7XHJcbiAgTkFWSUdBVEVfVE9fTVlfU0VTU0lPTlMsXHJcbiAgTkFWSUdBVEVfVE9fTVlfU0VDVVJJVFlfTE9HUyxcclxuICBPUEVOX01ZX0xJTktfVVNFUlNfTU9EQUwsXHJcbiAgT1BFTl9BVVRIT1JJVFlfREVMRUdBVElPTl9NT0RBTCxcclxufSBmcm9tICdAdm9sby9hYnAuY29tbWVyY2lhbC5uZy51aS9jb25maWcnO1xyXG5pbXBvcnQgeyBlVXNlck1lbnVJdGVtcyB9IGZyb20gJy4uL2VudW1zL3VzZXItbWVudS1pdGVtcyc7XHJcblxyXG5leHBvcnQgY29uc3QgTEVQVE9OX1hfVVNFUl9NRU5VX1BST1ZJREVSUyA9IFtcclxuICB7XHJcbiAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICBtdWx0aTogdHJ1ZSxcclxuICAgIHVzZUZhY3Rvcnk6IGNvbmZpZ3VyZVVzZXJNZW51LFxyXG4gIH0sXHJcbl07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY29uZmlndXJlVXNlck1lbnUoKSB7XHJcbiAgY29uc3QgdXNlck1lbnUgPSBpbmplY3QoVXNlck1lbnVTZXJ2aWNlKTtcclxuICBjb25zdCBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XHJcblxyXG4gIGNvbnN0IG5hdmlnYXRlVG9NeVNlc3Npb25zID0gaW5qZWN0KE5BVklHQVRFX1RPX01ZX1NFU1NJT05TKTtcclxuICBjb25zdCBuYXZpZ2F0ZVRvTWFuYWdlUHJvZmlsZSA9IGluamVjdChOQVZJR0FURV9UT19NQU5BR0VfUFJPRklMRSk7XHJcbiAgY29uc3QgbmF2aWdhdGVUb015U2VjdXJpdHlMb2dzID0gaW5qZWN0KE5BVklHQVRFX1RPX01ZX1NFQ1VSSVRZX0xPR1MpO1xyXG5cclxuICBjb25zdCBvcGVuTXlMaW5rVXNlcnNNb2RhbCA9IGluamVjdChPUEVOX01ZX0xJTktfVVNFUlNfTU9EQUwsIHtcclxuICAgIG9wdGlvbmFsOiB0cnVlLFxyXG4gIH0pIGFzICgpID0+IHZvaWQ7XHJcblxyXG4gIGNvbnN0IG9wZW5BdXRob3JpdHlEZWxlZ2F0aW9uTW9kYWwgPSBpbmplY3QoT1BFTl9BVVRIT1JJVFlfREVMRUdBVElPTl9NT0RBTCwge1xyXG4gICAgb3B0aW9uYWw6IHRydWUsXHJcbiAgfSkgYXMgKCkgPT4gdm9pZDtcclxuXHJcbiAgcmV0dXJuICgpID0+IHtcclxuICAgIHVzZXJNZW51LmFkZEl0ZW1zKFtcclxuICAgICAge1xyXG4gICAgICAgIGlkOiBlVXNlck1lbnVJdGVtcy5TZXNzaW9ucyxcclxuICAgICAgICBvcmRlcjogMTAwLFxyXG4gICAgICAgIHRleHRUZW1wbGF0ZToge1xyXG4gICAgICAgICAgaWNvbjogJ2JpIGJpLWNsb2NrLWZpbGwnLFxyXG4gICAgICAgICAgdGV4dDogJ0FicEFjY291bnQ6OlNlc3Npb25zJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGFjdGlvbjogKCkgPT4gbmF2aWdhdGVUb015U2Vzc2lvbnMoKSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGlkOiBlVXNlck1lbnVJdGVtcy5MaW5rZWRBY2NvdW50cyxcclxuICAgICAgICBvcmRlcjogMTAxLFxyXG4gICAgICAgIHRleHRUZW1wbGF0ZToge1xyXG4gICAgICAgICAgaWNvbjogJ2JpIGJpLWxpbmsnLFxyXG4gICAgICAgICAgdGV4dDogJ0FicEFjY291bnQ6OkxpbmtlZEFjY291bnRzJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGFjdGlvbjogKCkgPT4gb3Blbk15TGlua1VzZXJzTW9kYWwoKSxcclxuICAgICAgICB2aXNpYmxlOiAoKSA9PiAhIW9wZW5NeUxpbmtVc2Vyc01vZGFsLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6IGVVc2VyTWVudUl0ZW1zLkF1dGhvcml0eURlbGVnYXRpb24sXHJcbiAgICAgICAgb3JkZXI6IDEwMixcclxuICAgICAgICB0ZXh0VGVtcGxhdGU6IHtcclxuICAgICAgICAgIHRleHQ6ICdBYnBBY2NvdW50OjpBdXRob3JpdHlEZWxlZ2F0aW9uJyxcclxuICAgICAgICAgIGljb246ICdmYSBmYS11c2VycycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBhY3Rpb246ICgpID0+IG9wZW5BdXRob3JpdHlEZWxlZ2F0aW9uTW9kYWwoKSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGlkOiBlVXNlck1lbnVJdGVtcy5NeUFjY291bnQsXHJcbiAgICAgICAgb3JkZXI6IDEwMyxcclxuICAgICAgICB0ZXh0VGVtcGxhdGU6IHtcclxuICAgICAgICAgIGljb246ICdiaSBiaS1zbGlkZXJzJyxcclxuICAgICAgICAgIHRleHQ6ICdBYnBBY2NvdW50OjpNeUFjY291bnQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgYWN0aW9uOiAoKSA9PiBuYXZpZ2F0ZVRvTWFuYWdlUHJvZmlsZSgpLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6IGVVc2VyTWVudUl0ZW1zLlNlY3VyaXR5TG9ncyxcclxuICAgICAgICBvcmRlcjogMTA0LFxyXG4gICAgICAgIHRleHRUZW1wbGF0ZToge1xyXG4gICAgICAgICAgaWNvbjogJ2JpIGJpLWxpc3QtdWwnLFxyXG4gICAgICAgICAgdGV4dDogJ0FicEFjY291bnQ6Ok15U2VjdXJpdHlMb2dzJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGFjdGlvbjogKCkgPT4gbmF2aWdhdGVUb015U2VjdXJpdHlMb2dzKCksXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpZDogZVVzZXJNZW51SXRlbXMuTG9nb3V0LFxyXG4gICAgICAgIG9yZGVyOiAxMDUsXHJcbiAgICAgICAgdGV4dFRlbXBsYXRlOiB7XHJcbiAgICAgICAgICBpY29uOiAnYmkgYmktYm94LWFycm93LXJpZ2h0JyxcclxuICAgICAgICAgIHRleHQ6ICdBYnBVaTo6TG9nb3V0JyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGFjdGlvbjogKCkgPT4ge1xyXG4gICAgICAgICAgYXV0aFNlcnZpY2UubG9nb3V0KCkuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIF0pO1xyXG4gIH07XHJcbn1cclxuIl19
@@ -14,10 +14,10 @@ export class AbpAuthService {
14
14
  navigateToLogin() {
15
15
  this.authService.navigateToLogin();
16
16
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpAuthService, deps: [{ token: i1.UserProfileService }, { token: i2.AuthService }], target: i0.ɵɵFactoryTarget.Injectable }); }
18
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpAuthService }); }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpAuthService, deps: [{ token: i1.UserProfileService }, { token: i2.AuthService }], target: i0.ɵɵFactoryTarget.Injectable }); }
18
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpAuthService }); }
19
19
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpAuthService, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpAuthService, decorators: [{
21
21
  type: Injectable
22
22
  }], ctorParameters: () => [{ type: i1.UserProfileService }, { type: i2.AuthService }] });
23
23
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLWF1dGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdm9sby1sZXB0b24teC9zcmMvbGliL3NlcnZpY2VzL2FicC1hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFdBQVcsSUFBSSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7QUFHOUQsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFDVSxrQkFBc0MsRUFDdEMsV0FBNEI7UUFENUIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFHdEMsa0JBQWEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDaEQsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDdkMsQ0FBQztJQUpDLENBQUM7SUFNSixlQUFlO1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNyQyxDQUFDOytHQVpVLGNBQWM7bUhBQWQsY0FBYzs7NEZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIFVzZXJQcm9maWxlU2VydmljZSB9IGZyb20gJ0B2b2xvL25neC1sZXB0b24teC5jb3JlJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSBhcyBBdXRoQ29yZVNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQWJwQXV0aFNlcnZpY2UgaW1wbGVtZW50cyBBdXRoU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHVzZXJQcm9maWxlU2VydmljZTogVXNlclByb2ZpbGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aENvcmVTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBpc1VzZXJFeGlzdHMkID0gdGhpcy51c2VyUHJvZmlsZVNlcnZpY2UudXNlciQucGlwZShcclxuICAgIG1hcCgodXNlcikgPT4gdXNlciAmJiAhIXVzZXIudXNlck5hbWUpXHJcbiAgKTtcclxuXHJcbiAgbmF2aWdhdGVUb0xvZ2luKCk6IHZvaWQge1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5uYXZpZ2F0ZVRvTG9naW4oKTtcclxuICB9XHJcbn1cclxuIl19
@@ -17,10 +17,10 @@ export class AbpCreateErrorComponentService extends CreateErrorComponentService
17
17
  const queryParams = { status: instance.status };
18
18
  this.router.navigate([this.httpErrorPath], { queryParams });
19
19
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpCreateErrorComponentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
21
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpCreateErrorComponentService }); }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpCreateErrorComponentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
21
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpCreateErrorComponentService }); }
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbpCreateErrorComponentService, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpCreateErrorComponentService, decorators: [{
24
24
  type: Injectable
25
25
  }] });
26
26
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLWNyZWF0ZS1lcnJvci1jb21wb25lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdm9sby1sZXB0b24teC9zcmMvbGliL3NlcnZpY2VzL2FicC1jcmVhdGUtZXJyb3ItY29tcG9uZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFDTCwyQkFBMkIsR0FHNUIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDOztBQUc1QyxNQUFNLE9BQU8sOEJBQStCLFNBQVEsMkJBQTJCO0lBRC9FOztRQUVxQixXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0tBVzVEO0lBVFUsT0FBTyxDQUFDLFFBQTRDO1FBQzNELElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxNQUErQixDQUFDLEVBQUUsQ0FBQztZQUN4RSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3hCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUcsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM5RCxDQUFDOytHQVpVLDhCQUE4QjttSEFBOUIsOEJBQThCOzs0RkFBOUIsOEJBQThCO2tCQUQxQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7XHJcbiAgQ3JlYXRlRXJyb3JDb21wb25lbnRTZXJ2aWNlLFxyXG4gIEVycm9yU2NyZWVuRXJyb3JDb2RlcyxcclxuICBIdHRwRXJyb3JXcmFwcGVyQ29tcG9uZW50LFxyXG59IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgSFRUUF9FUlJPUl9QQVRIIH0gZnJvbSAnLi4vdG9rZW5zJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFicENyZWF0ZUVycm9yQ29tcG9uZW50U2VydmljZSBleHRlbmRzIENyZWF0ZUVycm9yQ29tcG9uZW50U2VydmljZSB7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBodHRwRXJyb3JQYXRoID0gaW5qZWN0KEhUVFBfRVJST1JfUEFUSCk7XHJcblxyXG4gIG92ZXJyaWRlIGV4ZWN1dGUoaW5zdGFuY2U6IFBhcnRpYWw8SHR0cEVycm9yV3JhcHBlckNvbXBvbmVudD4pOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNhbkNyZWF0ZUN1c3RvbUVycm9yKGluc3RhbmNlLnN0YXR1cyBhcyBFcnJvclNjcmVlbkVycm9yQ29kZXMpKSB7XHJcbiAgICAgIHN1cGVyLmV4ZWN1dGUoaW5zdGFuY2UpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcXVlcnlQYXJhbXMgPSB7IHN0YXR1czogaW5zdGFuY2Uuc3RhdHVzIH07XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5odHRwRXJyb3JQYXRoXSwgeyBxdWVyeVBhcmFtcyB9KTtcclxuICB9XHJcbn1cclxuIl19