@volosoft/abp.ng.theme.lepton-x 2.2.1 → 2.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 (127) hide show
  1. package/account/account/account-layout.component.d.ts +6 -6
  2. package/account/account/account-layout.module.d.ts +20 -22
  3. package/account/account/components/auth-wrapper/auth-wrapper.component.d.ts +7 -8
  4. package/account/account/components/index.d.ts +2 -2
  5. package/account/account/components/tenant-box/tenant-box.component.d.ts +7 -8
  6. package/account/account/index.d.ts +3 -3
  7. package/account/index.d.ts +1 -1
  8. package/esm2022/account/account/account-layout.component.mjs +20 -0
  9. package/esm2022/account/account/account-layout.module.mjs +52 -0
  10. package/esm2022/account/account/components/auth-wrapper/auth-wrapper.component.mjs +29 -0
  11. package/{esm2020 → esm2022}/account/account/components/index.mjs +2 -2
  12. package/esm2022/account/account/components/tenant-box/tenant-box.component.mjs +22 -0
  13. package/{esm2020 → esm2022}/account/account/index.mjs +3 -3
  14. package/{esm2020 → esm2022}/account/index.mjs +1 -1
  15. package/{esm2020 → esm2022}/account/volosoft-abp.ng.theme.lepton-x-account.mjs +4 -4
  16. package/{esm2020 → esm2022}/index.mjs +1 -1
  17. package/{esm2020 → esm2022}/layouts/index.mjs +2 -2
  18. package/{esm2020 → esm2022}/layouts/side-menu/index.mjs +1 -1
  19. package/{esm2020 → esm2022}/layouts/side-menu/layout/index.mjs +3 -3
  20. package/{esm2020 → esm2022}/layouts/side-menu/layout/providers/index.mjs +1 -1
  21. package/{esm2020 → esm2022}/layouts/side-menu/layout/providers/translate.provider.mjs +16 -16
  22. package/esm2022/layouts/side-menu/layout/side-menu-application-layout.component.mjs +30 -0
  23. package/esm2022/layouts/side-menu/layout/side-menu-layout.module.mjs +74 -0
  24. package/{esm2020 → esm2022}/layouts/top-menu/index.mjs +1 -1
  25. package/{esm2020 → esm2022}/layouts/top-menu/layout/index.mjs +1 -1
  26. package/{esm2020 → esm2022}/layouts/top-menu/layout/providers/index.mjs +1 -1
  27. package/{esm2020 → esm2022}/layouts/top-menu/layout/providers/translate.provider.mjs +12 -12
  28. package/esm2022/layouts/top-menu/layout/top-menu-application-layout.component.mjs +28 -0
  29. package/esm2022/layouts/top-menu/layout/top-menu-layout.module.mjs +79 -0
  30. package/{esm2020 → esm2022}/layouts/volosoft-abp.ng.theme.lepton-x-layouts.mjs +4 -4
  31. package/esm2022/lib/components/abp-validation-error/abp-validation-error.component.mjs +52 -0
  32. package/esm2022/lib/components/abp-validation-error/abp-validation-error.module.mjs +40 -0
  33. package/{esm2020 → esm2022}/lib/components/abp-validation-error/index.mjs +2 -2
  34. package/esm2022/lib/components/http-error/http-error.component.mjs +45 -0
  35. package/esm2022/lib/components/http-error/http-error.module.mjs +26 -0
  36. package/{esm2020 → esm2022}/lib/components/http-error/index.mjs +2 -2
  37. package/{esm2020 → esm2022}/lib/components/index.mjs +2 -2
  38. package/{esm2020 → esm2022}/lib/enums/components.mjs +1 -1
  39. package/{esm2020 → esm2022}/lib/enums/index.mjs +2 -2
  40. package/{esm2020 → esm2022}/lib/enums/user-menu-items.mjs +9 -9
  41. package/{esm2020 → esm2022}/lib/index.mjs +5 -5
  42. package/esm2022/lib/lepton-x.module.mjs +60 -0
  43. package/esm2022/lib/providers/account-layout.provider.mjs +20 -0
  44. package/{esm2020 → esm2022}/lib/providers/init-service.provider.mjs +18 -18
  45. package/{esm2020 → esm2022}/lib/providers/style.provider.mjs +17 -17
  46. package/{esm2020 → esm2022}/lib/providers/translate.provider.mjs +21 -21
  47. package/{esm2020 → esm2022}/lib/providers/user-menu-service.provider.mjs +88 -88
  48. package/esm2022/lib/services/abp-auth.service.mjs +24 -0
  49. package/esm2022/lib/services/abp-settings.service.mjs +125 -0
  50. package/esm2022/lib/services/abp-toolbar.service.mjs +33 -0
  51. package/esm2022/lib/services/abp-translate.service.mjs +47 -0
  52. package/{esm2020 → esm2022}/lib/services/index.mjs +4 -4
  53. package/{esm2020 → esm2022}/lib/tokens/index.mjs +1 -1
  54. package/{esm2020 → esm2022}/lib/tokens/translate-key-map.mjs +2 -2
  55. package/{esm2020 → esm2022}/volosoft-abp.ng.theme.lepton-x.mjs +4 -4
  56. package/fesm2022/volosoft-abp.ng.theme.lepton-x-account.mjs +108 -0
  57. package/fesm2022/volosoft-abp.ng.theme.lepton-x-account.mjs.map +1 -0
  58. package/{fesm2015 → fesm2022}/volosoft-abp.ng.theme.lepton-x-layouts.mjs +188 -188
  59. package/fesm2022/volosoft-abp.ng.theme.lepton-x-layouts.mjs.map +1 -0
  60. package/{fesm2020 → fesm2022}/volosoft-abp.ng.theme.lepton-x.mjs +502 -483
  61. package/fesm2022/volosoft-abp.ng.theme.lepton-x.mjs.map +1 -0
  62. package/index.d.ts +1 -1
  63. package/layouts/index.d.ts +2 -2
  64. package/layouts/side-menu/index.d.ts +1 -1
  65. package/layouts/side-menu/layout/index.d.ts +3 -3
  66. package/layouts/side-menu/layout/providers/index.d.ts +1 -1
  67. package/layouts/side-menu/layout/providers/translate.provider.d.ts +2 -2
  68. package/layouts/side-menu/layout/side-menu-application-layout.component.d.ts +17 -17
  69. package/layouts/side-menu/layout/side-menu-layout.module.d.ts +15 -15
  70. package/layouts/top-menu/index.d.ts +1 -1
  71. package/layouts/top-menu/layout/index.d.ts +1 -1
  72. package/layouts/top-menu/layout/providers/index.d.ts +1 -1
  73. package/layouts/top-menu/layout/providers/translate.provider.d.ts +2 -2
  74. package/layouts/top-menu/layout/top-menu-application-layout.component.d.ts +15 -15
  75. package/layouts/top-menu/layout/top-menu-layout.module.d.ts +16 -16
  76. package/lib/components/abp-validation-error/abp-validation-error.component.d.ts +9 -9
  77. package/lib/components/abp-validation-error/abp-validation-error.module.d.ts +12 -12
  78. package/lib/components/abp-validation-error/index.d.ts +2 -2
  79. package/lib/components/http-error/http-error.component.d.ts +10 -10
  80. package/lib/components/http-error/http-error.module.d.ts +13 -13
  81. package/lib/components/http-error/index.d.ts +2 -2
  82. package/lib/components/index.d.ts +2 -2
  83. package/lib/enums/components.d.ts +20 -20
  84. package/lib/enums/index.d.ts +2 -2
  85. package/lib/enums/user-menu-items.d.ts +8 -8
  86. package/lib/index.d.ts +5 -5
  87. package/lib/lepton-x.module.d.ts +11 -11
  88. package/lib/providers/account-layout.provider.d.ts +8 -0
  89. package/lib/providers/init-service.provider.d.ts +6 -6
  90. package/lib/providers/style.provider.d.ts +3 -3
  91. package/lib/providers/translate.provider.d.ts +6 -6
  92. package/lib/providers/user-menu-service.provider.d.ts +8 -8
  93. package/lib/services/abp-auth.service.d.ts +12 -12
  94. package/lib/services/abp-settings.service.d.ts +26 -26
  95. package/lib/services/abp-toolbar.service.d.ts +13 -13
  96. package/lib/services/abp-translate.service.d.ts +14 -14
  97. package/lib/services/index.d.ts +4 -4
  98. package/lib/tokens/index.d.ts +1 -1
  99. package/lib/tokens/translate-key-map.d.ts +4 -4
  100. package/package.json +18 -28
  101. package/esm2020/account/account/account-layout.component.mjs +0 -19
  102. package/esm2020/account/account/account-layout.module.mjs +0 -71
  103. package/esm2020/account/account/components/auth-wrapper/auth-wrapper.component.mjs +0 -20
  104. package/esm2020/account/account/components/tenant-box/tenant-box.component.mjs +0 -20
  105. package/esm2020/layouts/side-menu/layout/side-menu-application-layout.component.mjs +0 -29
  106. package/esm2020/layouts/side-menu/layout/side-menu-layout.module.mjs +0 -73
  107. package/esm2020/layouts/top-menu/layout/top-menu-application-layout.component.mjs +0 -27
  108. package/esm2020/layouts/top-menu/layout/top-menu-layout.module.mjs +0 -78
  109. package/esm2020/lib/components/abp-validation-error/abp-validation-error.component.mjs +0 -51
  110. package/esm2020/lib/components/abp-validation-error/abp-validation-error.module.mjs +0 -39
  111. package/esm2020/lib/components/http-error/http-error.component.mjs +0 -44
  112. package/esm2020/lib/components/http-error/http-error.module.mjs +0 -25
  113. package/esm2020/lib/lepton-x.module.mjs +0 -57
  114. package/esm2020/lib/services/abp-auth.service.mjs +0 -23
  115. package/esm2020/lib/services/abp-settings.service.mjs +0 -124
  116. package/esm2020/lib/services/abp-toolbar.service.mjs +0 -32
  117. package/esm2020/lib/services/abp-translate.service.mjs +0 -46
  118. package/fesm2015/volosoft-abp.ng.theme.lepton-x-account.mjs +0 -121
  119. package/fesm2015/volosoft-abp.ng.theme.lepton-x-account.mjs.map +0 -1
  120. package/fesm2015/volosoft-abp.ng.theme.lepton-x-layouts.mjs.map +0 -1
  121. package/fesm2015/volosoft-abp.ng.theme.lepton-x.mjs +0 -542
  122. package/fesm2015/volosoft-abp.ng.theme.lepton-x.mjs.map +0 -1
  123. package/fesm2020/volosoft-abp.ng.theme.lepton-x-account.mjs +0 -121
  124. package/fesm2020/volosoft-abp.ng.theme.lepton-x-account.mjs.map +0 -1
  125. package/fesm2020/volosoft-abp.ng.theme.lepton-x-layouts.mjs +0 -219
  126. package/fesm2020/volosoft-abp.ng.theme.lepton-x-layouts.mjs.map +0 -1
  127. package/fesm2020/volosoft-abp.ng.theme.lepton-x.mjs.map +0 -1
@@ -0,0 +1,108 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, Component, NgModule } from '@angular/core';
3
+ import * as i1$1 from '@volosoft/ngx-lepton-x/layouts';
4
+ import { LpxAuthLayoutModule } from '@volosoft/ngx-lepton-x/layouts';
5
+ import * as i2 from '@abp/ng.core';
6
+ import { CoreModule } from '@abp/ng.core';
7
+ import * as i3 from '@abp/ng.theme.shared';
8
+ import { ThemeSharedModule } from '@abp/ng.theme.shared';
9
+ import { LpxContextMenuModule } from '@volosoft/ngx-lepton-x';
10
+ import * as i2$1 from '@ng-bootstrap/ng-bootstrap';
11
+ import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
12
+ import * as i2$2 from '@volo/abp.ng.lepton-x.core';
13
+ import { PageAlertContainerModule } from '@volo/abp.ng.lepton-x.core';
14
+ import * as i3$1 from '@angular/router';
15
+ import { NgIf, AsyncPipe, NgFor } from '@angular/common';
16
+ import { TenantBoxService, AuthWrapperService } from '@volo/abp.ng.account.core';
17
+ import * as i1 from '@angular/forms';
18
+
19
+ class TenantBoxComponent {
20
+ constructor() {
21
+ this.service = inject(TenantBoxService);
22
+ }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: TenantBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.4", type: TenantBoxComponent, isStandalone: true, selector: "abp-tenant-box", providers: [TenantBoxService], ngImport: i0, template: "<ng-container *ngIf=\"(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-secondary\">\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</ng-container>\r\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "pipe", type: i2.LocalizationPipe, name: "abpLocalization" }, { kind: "directive", type: i2.AutofocusDirective, selector: "[autofocus]", inputs: ["autofocus"] }, { kind: "ngmodule", type: ThemeSharedModule }, { kind: "component", type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i3.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i3.ModalCloseDirective, selector: "[abpClose]" }] }); }
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: TenantBoxComponent, decorators: [{
27
+ type: Component,
28
+ args: [{ standalone: true, selector: 'abp-tenant-box', imports: [NgIf, NgFor, AsyncPipe, CoreModule, ThemeSharedModule], providers: [TenantBoxService], template: "<ng-container *ngIf=\"(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-secondary\">\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</ng-container>\r\n" }]
29
+ }] });
30
+
31
+ class AuthWrapperComponent {
32
+ constructor() {
33
+ this.service = inject(AuthWrapperService);
34
+ }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: AuthWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.4", 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 <button\r\n ngbDropdownToggle\r\n *ngIf=\"service.defaultLanguage$ | async as defaultLang\"\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 <ul ngbDropdownMenu class=\"dropdown-menu dropdown-menu-right\">\r\n <li>\r\n <a\r\n *ngFor=\"let lang of service.dropdownLanguages$ | async\"\r\n class=\"dropdown-item pointer\"\r\n (click)=\"service.onChangeLang(lang.cultureName)\"\r\n >\r\n {{ lang?.displayName }}\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <ng-container\r\n *ngIf=\"\r\n (service.isMultiTenancyEnabled$ | async) && service.isTenantBoxVisible\r\n \"\r\n >\r\n <abp-tenant-box\r\n *abpReplaceableTemplate=\"{ componentKey: service.tenantBoxKey }\"\r\n ></abp-tenant-box>\r\n </ng-container>\r\n\r\n <div\r\n *ngIf=\"service.enableLocalLogin$ | async; else disableLocalLoginTemplate\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <ng-template #disableLocalLoginTemplate>\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 </ng-template>\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: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { 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" }, { kind: "ngmodule", type: NgbDropdownModule }, { kind: "directive", type: i2$1.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i2$1.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i2$1.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }] }); }
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: AuthWrapperComponent, decorators: [{
39
+ type: Component,
40
+ args: [{ standalone: true, selector: 'abp-auth-wrapper', imports: [
41
+ NgIf,
42
+ NgFor,
43
+ AsyncPipe,
44
+ CoreModule,
45
+ TenantBoxComponent,
46
+ NgbDropdownModule,
47
+ ], 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 <button\r\n ngbDropdownToggle\r\n *ngIf=\"service.defaultLanguage$ | async as defaultLang\"\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 <ul ngbDropdownMenu class=\"dropdown-menu dropdown-menu-right\">\r\n <li>\r\n <a\r\n *ngFor=\"let lang of service.dropdownLanguages$ | async\"\r\n class=\"dropdown-item pointer\"\r\n (click)=\"service.onChangeLang(lang.cultureName)\"\r\n >\r\n {{ lang?.displayName }}\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <ng-container\r\n *ngIf=\"\r\n (service.isMultiTenancyEnabled$ | async) && service.isTenantBoxVisible\r\n \"\r\n >\r\n <abp-tenant-box\r\n *abpReplaceableTemplate=\"{ componentKey: service.tenantBoxKey }\"\r\n ></abp-tenant-box>\r\n </ng-container>\r\n\r\n <div\r\n *ngIf=\"service.enableLocalLogin$ | async; else disableLocalLoginTemplate\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <ng-template #disableLocalLoginTemplate>\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 </ng-template>\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" }]
48
+ }] });
49
+
50
+ class AccountLayoutComponent {
51
+ constructor() {
52
+ this.authWrapperKey = 'Account.AuthWrapper';
53
+ }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: AccountLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
55
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.4", 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$1.AuthLayoutComponent, selector: "lpx-auth-layout" }, { kind: "component", type: i2$2.PageAlertContainerComponent, selector: "abp-page-alert-container" }, { kind: "directive", type: i3$1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i2.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "component", type: AuthWrapperComponent, selector: "abp-auth-wrapper" }] }); }
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: AccountLayoutComponent, decorators: [{
58
+ type: Component,
59
+ 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" }]
60
+ }] });
61
+
62
+ class AccountLayoutModule {
63
+ static forRoot(options) {
64
+ return {
65
+ ngModule: AccountLayoutModule,
66
+ providers: [
67
+ LpxAuthLayoutModule.forRoot(options?.layout).providers,
68
+ ],
69
+ };
70
+ }
71
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: AccountLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
72
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: AccountLayoutModule, declarations: [AccountLayoutComponent], imports: [LpxAuthLayoutModule,
73
+ LpxContextMenuModule,
74
+ PageAlertContainerModule,
75
+ CoreModule,
76
+ ThemeSharedModule,
77
+ NgbDropdownModule,
78
+ AuthWrapperComponent] }); }
79
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: AccountLayoutModule, imports: [LpxAuthLayoutModule,
80
+ LpxContextMenuModule,
81
+ PageAlertContainerModule,
82
+ CoreModule,
83
+ ThemeSharedModule,
84
+ NgbDropdownModule,
85
+ AuthWrapperComponent] }); }
86
+ }
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: AccountLayoutModule, decorators: [{
88
+ type: NgModule,
89
+ args: [{
90
+ imports: [
91
+ LpxAuthLayoutModule,
92
+ LpxContextMenuModule,
93
+ PageAlertContainerModule,
94
+ CoreModule,
95
+ ThemeSharedModule,
96
+ NgbDropdownModule,
97
+ AuthWrapperComponent,
98
+ ],
99
+ declarations: [AccountLayoutComponent],
100
+ }]
101
+ }] });
102
+
103
+ /**
104
+ * Generated bundle index. Do not edit.
105
+ */
106
+
107
+ export { AccountLayoutComponent, AccountLayoutModule, AuthWrapperComponent, TenantBoxComponent };
108
+ //# sourceMappingURL=volosoft-abp.ng.theme.lepton-x-account.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"volosoft-abp.ng.theme.lepton-x-account.mjs","sources":["../../../../libs/volo-lepton-x/account/src/account/components/tenant-box/tenant-box.component.ts","../../../../libs/volo-lepton-x/account/src/account/components/tenant-box/tenant-box.component.html","../../../../libs/volo-lepton-x/account/src/account/components/auth-wrapper/auth-wrapper.component.ts","../../../../libs/volo-lepton-x/account/src/account/components/auth-wrapper/auth-wrapper.component.html","../../../../libs/volo-lepton-x/account/src/account/account-layout.component.ts","../../../../libs/volo-lepton-x/account/src/account/account-layout.component.html","../../../../libs/volo-lepton-x/account/src/account/account-layout.module.ts","../../../../libs/volo-lepton-x/account/src/volosoft-abp.ng.theme.lepton-x-account.ts"],"sourcesContent":["import { AsyncPipe, NgFor, NgIf } from '@angular/common';\r\nimport { Component, inject } from '@angular/core';\r\nimport { CoreModule } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { TenantBoxService } from '@volo/abp.ng.account.core';\r\n\r\n@Component({\r\n standalone: true,\r\n selector: 'abp-tenant-box',\r\n templateUrl: './tenant-box.component.html',\r\n imports: [NgIf, NgFor, AsyncPipe, CoreModule, ThemeSharedModule],\r\n providers: [TenantBoxService],\r\n})\r\nexport class TenantBoxComponent {\r\n protected readonly service = inject(TenantBoxService);\r\n}\r\n","<ng-container *ngIf=\"(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-secondary\">\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</ng-container>\r\n","import { AsyncPipe, NgFor, NgIf } from '@angular/common';\r\nimport { Component, inject } from '@angular/core';\r\nimport { CoreModule } from '@abp/ng.core';\r\nimport { AuthWrapperService } from '@volo/abp.ng.account.core';\r\nimport { TenantBoxComponent } from '../tenant-box/tenant-box.component';\r\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n standalone: true,\r\n selector: 'abp-auth-wrapper',\r\n templateUrl: './auth-wrapper.component.html',\r\n imports: [\r\n NgIf,\r\n NgFor,\r\n AsyncPipe,\r\n CoreModule,\r\n TenantBoxComponent,\r\n NgbDropdownModule,\r\n ],\r\n providers: [AuthWrapperService],\r\n})\r\nexport class AuthWrapperComponent {\r\n protected readonly service = inject(AuthWrapperService);\r\n}\r\n","<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 <button\r\n ngbDropdownToggle\r\n *ngIf=\"service.defaultLanguage$ | async as defaultLang\"\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 <ul ngbDropdownMenu class=\"dropdown-menu dropdown-menu-right\">\r\n <li>\r\n <a\r\n *ngFor=\"let lang of service.dropdownLanguages$ | async\"\r\n class=\"dropdown-item pointer\"\r\n (click)=\"service.onChangeLang(lang.cultureName)\"\r\n >\r\n {{ lang?.displayName }}\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <ng-container\r\n *ngIf=\"\r\n (service.isMultiTenancyEnabled$ | async) && service.isTenantBoxVisible\r\n \"\r\n >\r\n <abp-tenant-box\r\n *abpReplaceableTemplate=\"{ componentKey: service.tenantBoxKey }\"\r\n ></abp-tenant-box>\r\n </ng-container>\r\n\r\n <div\r\n *ngIf=\"service.enableLocalLogin$ | async; else disableLocalLoginTemplate\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <ng-template #disableLocalLoginTemplate>\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 </ng-template>\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 ©\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","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'abp-account-layout',\r\n templateUrl: './account-layout.component.html',\r\n})\r\nexport class AccountLayoutComponent {\r\n authWrapperKey = 'Account.AuthWrapper';\r\n}\r\n","<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","import { ModuleWithProviders, NgModule, Provider } from '@angular/core';\r\nimport {\r\n LpxAuthLayoutModule,\r\n LpxAuthLayoutOptions,\r\n} from '@volosoft/ngx-lepton-x/layouts';\r\nimport { CoreModule } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { LpxContextMenuModule } from '@volosoft/ngx-lepton-x';\r\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AccountLayoutComponent } from './account-layout.component';\r\nimport { PageAlertContainerModule } from '@volo/abp.ng.lepton-x.core';\r\nimport { AuthWrapperComponent } from './components';\r\n\r\nexport interface AccountLayoutOptions {\r\n layout?: LpxAuthLayoutOptions;\r\n}\r\n\r\n@NgModule({\r\n imports: [\r\n LpxAuthLayoutModule,\r\n LpxContextMenuModule,\r\n PageAlertContainerModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n NgbDropdownModule,\r\n AuthWrapperComponent,\r\n ],\r\n declarations: [AccountLayoutComponent],\r\n})\r\nexport class AccountLayoutModule {\r\n static forRoot(\r\n options?: AccountLayoutOptions\r\n ): ModuleWithProviders<AccountLayoutModule> {\r\n return {\r\n ngModule: AccountLayoutModule,\r\n providers: [\r\n LpxAuthLayoutModule.forRoot(options?.layout).providers as Provider,\r\n ],\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3","i4","i5.AuthWrapperComponent"],"mappings":"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"}