@abp/ng.theme.basic 8.1.3 → 8.2.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.
@@ -22,10 +22,10 @@ export class AccountLayoutComponent {
22
22
  this.service.subscribeWindowSize();
23
23
  }
24
24
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AccountLayoutComponent, deps: [{ token: i1.LayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: AccountLayoutComponent, selector: "abp-layout-account", providers: [LayoutService, SubscriptionService], ngImport: i0, template: "<nav\r\n class=\"navbar navbar-expand-lg navbar-dark bg-dark shadow-sm flex-column flex-md-row mb-4\"\r\n id=\"main-navbar\"\r\n style=\"min-height: 4rem\"\r\n>\r\n <div class=\"container\">\r\n <abp-logo *abpReplaceableTemplate=\"{ componentKey: service.logoComponentKey }\"></abp-logo>\r\n <button\r\n class=\"navbar-toggler\"\r\n type=\"button\"\r\n [attr.aria-expanded]=\"!service.isCollapsed\"\r\n (click)=\"service.isCollapsed = !service.isCollapsed\"\r\n >\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n <div\r\n class=\"navbar-collapse\"\r\n [class.overflow-hidden]=\"service.smallScreen\"\r\n id=\"main-navbar-collapse\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"!service.smallScreen ? navigations : null\"></ng-container>\r\n\r\n <div\r\n *ngIf=\"service.smallScreen\"\r\n [@collapseWithMargin]=\"service.isCollapsed ? 'collapsed' : 'expanded'\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"navigations\"></ng-container>\r\n </div>\r\n\r\n <ng-template #navigations>\r\n <abp-routes\r\n *abpReplaceableTemplate=\"{\r\n componentKey: service.routesComponentKey,\r\n inputs: {\r\n smallScreen: { value: service.smallScreen }\r\n }\r\n }\"\r\n class=\"mx-auto\"\r\n [smallScreen]=\"service.smallScreen\"\r\n ></abp-routes>\r\n\r\n <abp-nav-items\r\n *abpReplaceableTemplate=\"{\r\n componentKey: service.navItemsComponentKey\r\n }\"\r\n ></abp-nav-items>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</nav>\r\n\r\n<!-- [@slideFromBottom]=\"outlet.isActivated && outlet.activatedRoute?.routeConfig?.path\" TODO: throws ExpressionChangedAfterItHasBeenCheck when animation is active. It should be fixed -->\r\n<div class=\"container\">\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 #outlet=\"outlet\"></router-outlet>\r\n </abp-auth-wrapper>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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.LogoComponent, selector: "abp-logo" }, { kind: "component", type: i6.NavItemsComponent, selector: "abp-nav-items" }, { kind: "component", type: i7.RoutesComponent, selector: "abp-routes", inputs: ["smallScreen"] }, { kind: "component", type: i8.PageAlertContainerComponent, selector: "abp-page-alert-container" }, { kind: "component", type: i9.AuthWrapperComponent, selector: "abp-auth-wrapper" }] }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: AccountLayoutComponent, selector: "abp-layout-account", providers: [LayoutService, SubscriptionService], ngImport: i0, template: "<nav\r\n class=\"navbar navbar-expand-lg navbar-dark bg-dark shadow-sm flex-column flex-md-row mb-4\"\r\n id=\"main-navbar\"\r\n style=\"min-height: 4rem\"\r\n>\r\n <div class=\"container\">\r\n <abp-logo *abpReplaceableTemplate=\"{ componentKey: service.logoComponentKey }\"></abp-logo>\r\n <button\r\n class=\"navbar-toggler\"\r\n type=\"button\"\r\n [attr.aria-expanded]=\"!service.isCollapsed\"\r\n (click)=\"service.isCollapsed = !service.isCollapsed\"\r\n >\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n <div\r\n class=\"navbar-collapse\"\r\n [class.overflow-hidden]=\"service.smallScreen\"\r\n id=\"main-navbar-collapse\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"!service.smallScreen ? navigations : null\"></ng-container>\r\n\r\n @if (service.smallScreen) {\r\n <div\r\n [@collapseWithMargin]=\"service.isCollapsed ? 'collapsed' : 'expanded'\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"navigations\"></ng-container>\r\n </div>\r\n }\r\n\r\n <ng-template #navigations>\r\n <abp-routes\r\n *abpReplaceableTemplate=\"{\r\n componentKey: service.routesComponentKey,\r\n inputs: {\r\n smallScreen: { value: service.smallScreen }\r\n }\r\n }\"\r\n class=\"mx-auto\"\r\n [smallScreen]=\"service.smallScreen\"\r\n ></abp-routes>\r\n\r\n <abp-nav-items\r\n *abpReplaceableTemplate=\"{\r\n componentKey: service.navItemsComponentKey\r\n }\"\r\n ></abp-nav-items>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</nav>\r\n\r\n<!-- [@slideFromBottom]=\"outlet.isActivated && outlet.activatedRoute?.routeConfig?.path\" TODO: throws ExpressionChangedAfterItHasBeenCheck when animation is active. It should be fixed -->\r\n<div class=\"container\">\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 #outlet=\"outlet\"></router-outlet>\r\n </abp-auth-wrapper>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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.LogoComponent, selector: "abp-logo" }, { kind: "component", type: i6.NavItemsComponent, selector: "abp-nav-items" }, { kind: "component", type: i7.RoutesComponent, selector: "abp-routes", inputs: ["smallScreen"] }, { kind: "component", type: i8.PageAlertContainerComponent, selector: "abp-page-alert-container" }, { kind: "component", type: i9.AuthWrapperComponent, selector: "abp-auth-wrapper" }] }); }
26
26
  }
27
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AccountLayoutComponent, decorators: [{
28
28
  type: Component,
29
- args: [{ selector: 'abp-layout-account', providers: [LayoutService, SubscriptionService], template: "<nav\r\n class=\"navbar navbar-expand-lg navbar-dark bg-dark shadow-sm flex-column flex-md-row mb-4\"\r\n id=\"main-navbar\"\r\n style=\"min-height: 4rem\"\r\n>\r\n <div class=\"container\">\r\n <abp-logo *abpReplaceableTemplate=\"{ componentKey: service.logoComponentKey }\"></abp-logo>\r\n <button\r\n class=\"navbar-toggler\"\r\n type=\"button\"\r\n [attr.aria-expanded]=\"!service.isCollapsed\"\r\n (click)=\"service.isCollapsed = !service.isCollapsed\"\r\n >\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n <div\r\n class=\"navbar-collapse\"\r\n [class.overflow-hidden]=\"service.smallScreen\"\r\n id=\"main-navbar-collapse\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"!service.smallScreen ? navigations : null\"></ng-container>\r\n\r\n <div\r\n *ngIf=\"service.smallScreen\"\r\n [@collapseWithMargin]=\"service.isCollapsed ? 'collapsed' : 'expanded'\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"navigations\"></ng-container>\r\n </div>\r\n\r\n <ng-template #navigations>\r\n <abp-routes\r\n *abpReplaceableTemplate=\"{\r\n componentKey: service.routesComponentKey,\r\n inputs: {\r\n smallScreen: { value: service.smallScreen }\r\n }\r\n }\"\r\n class=\"mx-auto\"\r\n [smallScreen]=\"service.smallScreen\"\r\n ></abp-routes>\r\n\r\n <abp-nav-items\r\n *abpReplaceableTemplate=\"{\r\n componentKey: service.navItemsComponentKey\r\n }\"\r\n ></abp-nav-items>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</nav>\r\n\r\n<!-- [@slideFromBottom]=\"outlet.isActivated && outlet.activatedRoute?.routeConfig?.path\" TODO: throws ExpressionChangedAfterItHasBeenCheck when animation is active. It should be fixed -->\r\n<div class=\"container\">\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 #outlet=\"outlet\"></router-outlet>\r\n </abp-auth-wrapper>\r\n</div>\r\n" }]
29
+ args: [{ selector: 'abp-layout-account', providers: [LayoutService, SubscriptionService], template: "<nav\r\n class=\"navbar navbar-expand-lg navbar-dark bg-dark shadow-sm flex-column flex-md-row mb-4\"\r\n id=\"main-navbar\"\r\n style=\"min-height: 4rem\"\r\n>\r\n <div class=\"container\">\r\n <abp-logo *abpReplaceableTemplate=\"{ componentKey: service.logoComponentKey }\"></abp-logo>\r\n <button\r\n class=\"navbar-toggler\"\r\n type=\"button\"\r\n [attr.aria-expanded]=\"!service.isCollapsed\"\r\n (click)=\"service.isCollapsed = !service.isCollapsed\"\r\n >\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n <div\r\n class=\"navbar-collapse\"\r\n [class.overflow-hidden]=\"service.smallScreen\"\r\n id=\"main-navbar-collapse\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"!service.smallScreen ? navigations : null\"></ng-container>\r\n\r\n @if (service.smallScreen) {\r\n <div\r\n [@collapseWithMargin]=\"service.isCollapsed ? 'collapsed' : 'expanded'\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"navigations\"></ng-container>\r\n </div>\r\n }\r\n\r\n <ng-template #navigations>\r\n <abp-routes\r\n *abpReplaceableTemplate=\"{\r\n componentKey: service.routesComponentKey,\r\n inputs: {\r\n smallScreen: { value: service.smallScreen }\r\n }\r\n }\"\r\n class=\"mx-auto\"\r\n [smallScreen]=\"service.smallScreen\"\r\n ></abp-routes>\r\n\r\n <abp-nav-items\r\n *abpReplaceableTemplate=\"{\r\n componentKey: service.navItemsComponentKey\r\n }\"\r\n ></abp-nav-items>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</nav>\r\n\r\n<!-- [@slideFromBottom]=\"outlet.isActivated && outlet.activatedRoute?.routeConfig?.path\" TODO: throws ExpressionChangedAfterItHasBeenCheck when animation is active. It should be fixed -->\r\n<div class=\"container\">\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 #outlet=\"outlet\"></router-outlet>\r\n </abp-auth-wrapper>\r\n</div>\r\n" }]
30
30
  }], ctorParameters: () => [{ type: i1.LayoutService }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtYmFzaWMvc3JjL2xpYi9jb21wb25lbnRzL2FjY291bnQtbGF5b3V0L2FjY291bnQtbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9hY2NvdW50LWxheW91dC9hY2NvdW50LWxheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQWUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7OztBQU85RCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLGlDQUFpQzthQUMxQixTQUFJLHNDQUFBLENBQXVCO0lBSWxDLFlBQW1CLE9BQXNCO1FBQXRCLFlBQU8sR0FBUCxPQUFPLENBQWU7UUFGekMsbUJBQWMsR0FBRyw4QkFBOEIsQ0FBQztJQUVKLENBQUM7SUFFN0MsZUFBZTtRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUNyQyxDQUFDOzhHQVZVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDZDQUZ0QixDQUFDLGFBQWEsRUFBRSxtQkFBbUIsQ0FBQywwQkNQakQsMG9FQThEQTs7MkZEckRhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxvQkFBb0IsYUFFbkIsQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZUxheW91dFR5cGUsIFN1YnNjcmlwdGlvblNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBMYXlvdXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGF5b3V0LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtbGF5b3V0LWFjY291bnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hY2NvdW50LWxheW91dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgcHJvdmlkZXJzOiBbTGF5b3V0U2VydmljZSwgU3Vic2NyaXB0aW9uU2VydmljZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY2NvdW50TGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgLy8gcmVxdWlyZWQgZm9yIGR5bmFtaWMgY29tcG9uZW50XHJcbiAgc3RhdGljIHR5cGUgPSBlTGF5b3V0VHlwZS5hY2NvdW50O1xyXG5cclxuICBhdXRoV3JhcHBlcktleSA9ICdBY2NvdW50LkF1dGhXcmFwcGVyQ29tcG9uZW50JztcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHNlcnZpY2U6IExheW91dFNlcnZpY2UpIHt9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuc2VydmljZS5zdWJzY3JpYmVXaW5kb3dTaXplKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuYXZcclxuICBjbGFzcz1cIm5hdmJhciBuYXZiYXItZXhwYW5kLWxnIG5hdmJhci1kYXJrIGJnLWRhcmsgc2hhZG93LXNtIGZsZXgtY29sdW1uIGZsZXgtbWQtcm93IG1iLTRcIlxyXG4gIGlkPVwibWFpbi1uYXZiYXJcIlxyXG4gIHN0eWxlPVwibWluLWhlaWdodDogNHJlbVwiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgICA8YWJwLWxvZ28gKmFicFJlcGxhY2VhYmxlVGVtcGxhdGU9XCJ7IGNvbXBvbmVudEtleTogc2VydmljZS5sb2dvQ29tcG9uZW50S2V5IH1cIj48L2FicC1sb2dvPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICBjbGFzcz1cIm5hdmJhci10b2dnbGVyXCJcclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiIXNlcnZpY2UuaXNDb2xsYXBzZWRcIlxyXG4gICAgICAoY2xpY2spPVwic2VydmljZS5pc0NvbGxhcHNlZCA9ICFzZXJ2aWNlLmlzQ29sbGFwc2VkXCJcclxuICAgID5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJuYXZiYXItdG9nZ2xlci1pY29uXCI+PC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwibmF2YmFyLWNvbGxhcHNlXCJcclxuICAgICAgW2NsYXNzLm92ZXJmbG93LWhpZGRlbl09XCJzZXJ2aWNlLnNtYWxsU2NyZWVuXCJcclxuICAgICAgaWQ9XCJtYWluLW5hdmJhci1jb2xsYXBzZVwiXHJcbiAgICA+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCIhc2VydmljZS5zbWFsbFNjcmVlbiA/IG5hdmlnYXRpb25zIDogbnVsbFwiPjwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPGRpdlxyXG4gICAgICAgICpuZ0lmPVwic2VydmljZS5zbWFsbFNjcmVlblwiXHJcbiAgICAgICAgW0Bjb2xsYXBzZVdpdGhNYXJnaW5dPVwic2VydmljZS5pc0NvbGxhcHNlZCA/ICdjb2xsYXBzZWQnIDogJ2V4cGFuZGVkJ1wiXHJcbiAgICAgID5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibmF2aWdhdGlvbnNcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8bmctdGVtcGxhdGUgI25hdmlnYXRpb25zPlxyXG4gICAgICAgIDxhYnAtcm91dGVzXHJcbiAgICAgICAgICAqYWJwUmVwbGFjZWFibGVUZW1wbGF0ZT1cIntcclxuICAgICAgICAgICAgY29tcG9uZW50S2V5OiBzZXJ2aWNlLnJvdXRlc0NvbXBvbmVudEtleSxcclxuICAgICAgICAgICAgaW5wdXRzOiB7XHJcbiAgICAgICAgICAgICAgc21hbGxTY3JlZW46IHsgdmFsdWU6IHNlcnZpY2Uuc21hbGxTY3JlZW4gfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XCJcclxuICAgICAgICAgIGNsYXNzPVwibXgtYXV0b1wiXHJcbiAgICAgICAgICBbc21hbGxTY3JlZW5dPVwic2VydmljZS5zbWFsbFNjcmVlblwiXHJcbiAgICAgICAgPjwvYWJwLXJvdXRlcz5cclxuXHJcbiAgICAgICAgPGFicC1uYXYtaXRlbXNcclxuICAgICAgICAgICphYnBSZXBsYWNlYWJsZVRlbXBsYXRlPVwie1xyXG4gICAgICAgICAgICBjb21wb25lbnRLZXk6IHNlcnZpY2UubmF2SXRlbXNDb21wb25lbnRLZXlcclxuICAgICAgICAgIH1cIlxyXG4gICAgICAgID48L2FicC1uYXYtaXRlbXM+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9uYXY+XHJcblxyXG48IS0tIFtAc2xpZGVGcm9tQm90dG9tXT1cIm91dGxldC5pc0FjdGl2YXRlZCAmJiBvdXRsZXQuYWN0aXZhdGVkUm91dGU/LnJvdXRlQ29uZmlnPy5wYXRoXCIgVE9ETzogdGhyb3dzIEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVjayB3aGVuIGFuaW1hdGlvbiBpcyBhY3RpdmUuIEl0IHNob3VsZCBiZSBmaXhlZCAtLT5cclxuPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxyXG4gIDxhYnAtcGFnZS1hbGVydC1jb250YWluZXI+PC9hYnAtcGFnZS1hbGVydC1jb250YWluZXI+XHJcbiAgPGFicC1hdXRoLXdyYXBwZXJcclxuICAgICphYnBSZXBsYWNlYWJsZVRlbXBsYXRlPVwie1xyXG4gICAgICBjb21wb25lbnRLZXk6IGF1dGhXcmFwcGVyS2V5XHJcbiAgICB9XCJcclxuICA+XHJcbiAgICA8cm91dGVyLW91dGxldCAjb3V0bGV0PVwib3V0bGV0XCI+PC9yb3V0ZXItb3V0bGV0PlxyXG4gIDwvYWJwLWF1dGgtd3JhcHBlcj5cclxuPC9kaXY+XHJcbiJdfQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtYmFzaWMvc3JjL2xpYi9jb21wb25lbnRzL2FjY291bnQtbGF5b3V0L2FjY291bnQtbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9hY2NvdW50LWxheW91dC9hY2NvdW50LWxheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQWUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7OztBQU85RCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLGlDQUFpQzthQUMxQixTQUFJLHNDQUFBLENBQXVCO0lBSWxDLFlBQW1CLE9BQXNCO1FBQXRCLFlBQU8sR0FBUCxPQUFPLENBQWU7UUFGekMsbUJBQWMsR0FBRyw4QkFBOEIsQ0FBQztJQUVKLENBQUM7SUFFN0MsZUFBZTtRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUNyQyxDQUFDOzhHQVZVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDZDQUZ0QixDQUFDLGFBQWEsRUFBRSxtQkFBbUIsQ0FBQywwQkNQakQsMnBFQStEQTs7MkZEdERhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxvQkFBb0IsYUFFbkIsQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZUxheW91dFR5cGUsIFN1YnNjcmlwdGlvblNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBMYXlvdXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGF5b3V0LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtbGF5b3V0LWFjY291bnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hY2NvdW50LWxheW91dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgcHJvdmlkZXJzOiBbTGF5b3V0U2VydmljZSwgU3Vic2NyaXB0aW9uU2VydmljZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY2NvdW50TGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgLy8gcmVxdWlyZWQgZm9yIGR5bmFtaWMgY29tcG9uZW50XHJcbiAgc3RhdGljIHR5cGUgPSBlTGF5b3V0VHlwZS5hY2NvdW50O1xyXG5cclxuICBhdXRoV3JhcHBlcktleSA9ICdBY2NvdW50LkF1dGhXcmFwcGVyQ29tcG9uZW50JztcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHNlcnZpY2U6IExheW91dFNlcnZpY2UpIHt9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuc2VydmljZS5zdWJzY3JpYmVXaW5kb3dTaXplKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuYXZcclxuICBjbGFzcz1cIm5hdmJhciBuYXZiYXItZXhwYW5kLWxnIG5hdmJhci1kYXJrIGJnLWRhcmsgc2hhZG93LXNtIGZsZXgtY29sdW1uIGZsZXgtbWQtcm93IG1iLTRcIlxyXG4gIGlkPVwibWFpbi1uYXZiYXJcIlxyXG4gIHN0eWxlPVwibWluLWhlaWdodDogNHJlbVwiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgICA8YWJwLWxvZ28gKmFicFJlcGxhY2VhYmxlVGVtcGxhdGU9XCJ7IGNvbXBvbmVudEtleTogc2VydmljZS5sb2dvQ29tcG9uZW50S2V5IH1cIj48L2FicC1sb2dvPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICBjbGFzcz1cIm5hdmJhci10b2dnbGVyXCJcclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiIXNlcnZpY2UuaXNDb2xsYXBzZWRcIlxyXG4gICAgICAoY2xpY2spPVwic2VydmljZS5pc0NvbGxhcHNlZCA9ICFzZXJ2aWNlLmlzQ29sbGFwc2VkXCJcclxuICAgID5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJuYXZiYXItdG9nZ2xlci1pY29uXCI+PC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwibmF2YmFyLWNvbGxhcHNlXCJcclxuICAgICAgW2NsYXNzLm92ZXJmbG93LWhpZGRlbl09XCJzZXJ2aWNlLnNtYWxsU2NyZWVuXCJcclxuICAgICAgaWQ9XCJtYWluLW5hdmJhci1jb2xsYXBzZVwiXHJcbiAgICA+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCIhc2VydmljZS5zbWFsbFNjcmVlbiA/IG5hdmlnYXRpb25zIDogbnVsbFwiPjwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgQGlmIChzZXJ2aWNlLnNtYWxsU2NyZWVuKSB7XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgW0Bjb2xsYXBzZVdpdGhNYXJnaW5dPVwic2VydmljZS5pc0NvbGxhcHNlZCA/ICdjb2xsYXBzZWQnIDogJ2V4cGFuZGVkJ1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5hdmlnYXRpb25zXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjbmF2aWdhdGlvbnM+XHJcbiAgICAgICAgPGFicC1yb3V0ZXNcclxuICAgICAgICAgICphYnBSZXBsYWNlYWJsZVRlbXBsYXRlPVwie1xyXG4gICAgICAgICAgICBjb21wb25lbnRLZXk6IHNlcnZpY2Uucm91dGVzQ29tcG9uZW50S2V5LFxyXG4gICAgICAgICAgICBpbnB1dHM6IHtcclxuICAgICAgICAgICAgICBzbWFsbFNjcmVlbjogeyB2YWx1ZTogc2VydmljZS5zbWFsbFNjcmVlbiB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgY2xhc3M9XCJteC1hdXRvXCJcclxuICAgICAgICAgIFtzbWFsbFNjcmVlbl09XCJzZXJ2aWNlLnNtYWxsU2NyZWVuXCJcclxuICAgICAgICA+PC9hYnAtcm91dGVzPlxyXG5cclxuICAgICAgICA8YWJwLW5hdi1pdGVtc1xyXG4gICAgICAgICAgKmFicFJlcGxhY2VhYmxlVGVtcGxhdGU9XCJ7XHJcbiAgICAgICAgICAgIGNvbXBvbmVudEtleTogc2VydmljZS5uYXZJdGVtc0NvbXBvbmVudEtleVxyXG4gICAgICAgICAgfVwiXHJcbiAgICAgICAgPjwvYWJwLW5hdi1pdGVtcz5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L25hdj5cclxuXHJcbjwhLS0gW0BzbGlkZUZyb21Cb3R0b21dPVwib3V0bGV0LmlzQWN0aXZhdGVkICYmIG91dGxldC5hY3RpdmF0ZWRSb3V0ZT8ucm91dGVDb25maWc/LnBhdGhcIiBUT0RPOiB0aHJvd3MgRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrIHdoZW4gYW5pbWF0aW9uIGlzIGFjdGl2ZS4gSXQgc2hvdWxkIGJlIGZpeGVkIC0tPlxyXG48ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgPGFicC1wYWdlLWFsZXJ0LWNvbnRhaW5lcj48L2FicC1wYWdlLWFsZXJ0LWNvbnRhaW5lcj5cclxuICA8YWJwLWF1dGgtd3JhcHBlclxyXG4gICAgKmFicFJlcGxhY2VhYmxlVGVtcGxhdGU9XCJ7XHJcbiAgICAgIGNvbXBvbmVudEtleTogYXV0aFdyYXBwZXJLZXlcclxuICAgIH1cIlxyXG4gID5cclxuICAgIDxyb3V0ZXItb3V0bGV0ICNvdXRsZXQ9XCJvdXRsZXRcIj48L3JvdXRlci1vdXRsZXQ+XHJcbiAgPC9hYnAtYXV0aC13cmFwcGVyPlxyXG48L2Rpdj5cclxuIl19
@@ -2,18 +2,18 @@ import { AuthWrapperService } from '@abp/ng.account.core';
2
2
  import { Component } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@abp/ng.account.core";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@abp/ng.core";
7
- import * as i4 from "../tenant-box/tenant-box.component";
5
+ import * as i2 from "@abp/ng.core";
6
+ import * as i3 from "../tenant-box/tenant-box.component";
7
+ import * as i4 from "@angular/common";
8
8
  export class AuthWrapperComponent {
9
9
  constructor(service) {
10
10
  this.service = service;
11
11
  }
12
12
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AuthWrapperComponent, deps: [{ token: i1.AuthWrapperService }], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: AuthWrapperComponent, selector: "abp-auth-wrapper", providers: [AuthWrapperService], ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"mx-auto col col-md-5\">\r\n <ng-container *ngIf=\"(service.isMultiTenancyEnabled$ | async) && service.isTenantBoxVisible\">\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 class=\"abp-account-container\">\r\n <div\r\n *ngIf=\"service.enableLocalLogin$ | async; else disableLocalLoginTemplate\"\r\n class=\"card mt-3 shadow-sm rounded\"\r\n >\r\n <div class=\"card-body p-5\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #disableLocalLoginTemplate>\r\n <div class=\"alert alert-warning\">\r\n <strong>{{ 'AbpAccount::InvalidLoginRequest' | abpLocalization }}</strong>\r\n {{ 'AbpAccount::ThereAreNoLoginSchemesConfiguredForThisClient' | abpLocalization }}\r\n </div>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "component", type: i4.TenantBoxComponent, selector: "abp-tenant-box" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.LocalizationPipe, name: "abpLocalization" }] }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: AuthWrapperComponent, selector: "abp-auth-wrapper", providers: [AuthWrapperService], ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"mx-auto col col-md-5\">\r\n @if ((service.isMultiTenancyEnabled$ | async) && service.isTenantBoxVisible) {\r\n <abp-tenant-box\r\n *abpReplaceableTemplate=\"{ componentKey: service.tenantBoxKey }\"\r\n ></abp-tenant-box>\r\n }\r\n\r\n <div class=\"abp-account-container\">\r\n @if (service.enableLocalLogin$ | async) {\r\n <div class=\"card mt-3 shadow-sm rounded\">\r\n <div class=\"card-body p-5\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"alert alert-warning\">\r\n <strong>{{ 'AbpAccount::InvalidLoginRequest' | abpLocalization }}</strong>\r\n {{ 'AbpAccount::ThereAreNoLoginSchemesConfiguredForThisClient' | abpLocalization }}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i2.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "component", type: i3.TenantBoxComponent, selector: "abp-tenant-box" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.LocalizationPipe, name: "abpLocalization" }] }); }
14
14
  }
15
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AuthWrapperComponent, decorators: [{
16
16
  type: Component,
17
- args: [{ selector: 'abp-auth-wrapper', providers: [AuthWrapperService], template: "<div class=\"row\">\r\n <div class=\"mx-auto col col-md-5\">\r\n <ng-container *ngIf=\"(service.isMultiTenancyEnabled$ | async) && service.isTenantBoxVisible\">\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 class=\"abp-account-container\">\r\n <div\r\n *ngIf=\"service.enableLocalLogin$ | async; else disableLocalLoginTemplate\"\r\n class=\"card mt-3 shadow-sm rounded\"\r\n >\r\n <div class=\"card-body p-5\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #disableLocalLoginTemplate>\r\n <div class=\"alert alert-warning\">\r\n <strong>{{ 'AbpAccount::InvalidLoginRequest' | abpLocalization }}</strong>\r\n {{ 'AbpAccount::ThereAreNoLoginSchemesConfiguredForThisClient' | abpLocalization }}\r\n </div>\r\n</ng-template>\r\n" }]
17
+ args: [{ selector: 'abp-auth-wrapper', providers: [AuthWrapperService], template: "<div class=\"row\">\r\n <div class=\"mx-auto col col-md-5\">\r\n @if ((service.isMultiTenancyEnabled$ | async) && service.isTenantBoxVisible) {\r\n <abp-tenant-box\r\n *abpReplaceableTemplate=\"{ componentKey: service.tenantBoxKey }\"\r\n ></abp-tenant-box>\r\n }\r\n\r\n <div class=\"abp-account-container\">\r\n @if (service.enableLocalLogin$ | async) {\r\n <div class=\"card mt-3 shadow-sm rounded\">\r\n <div class=\"card-body p-5\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"alert alert-warning\">\r\n <strong>{{ 'AbpAccount::InvalidLoginRequest' | abpLocalization }}</strong>\r\n {{ 'AbpAccount::ThereAreNoLoginSchemesConfiguredForThisClient' | abpLocalization }}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n" }]
18
18
  }], ctorParameters: () => [{ type: i1.AuthWrapperService }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9hY2NvdW50LWxheW91dC9hdXRoLXdyYXBwZXIvYXV0aC13cmFwcGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9hY2NvdW50LWxheW91dC9hdXRoLXdyYXBwZXIvYXV0aC13cmFwcGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQU8xQyxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQW1CLE9BQTJCO1FBQTNCLFlBQU8sR0FBUCxPQUFPLENBQW9CO0lBQUcsQ0FBQzs4R0FEdkMsb0JBQW9CO2tHQUFwQixvQkFBb0IsMkNBRnBCLENBQUMsa0JBQWtCLENBQUMsMEJDTmpDLGc5QkEyQkE7OzJGRG5CYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0Usa0JBQWtCLGFBRWpCLENBQUMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdXRoV3JhcHBlclNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmFjY291bnQuY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtYXV0aC13cmFwcGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXV0aC13cmFwcGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBwcm92aWRlcnM6IFtBdXRoV3JhcHBlclNlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXV0aFdyYXBwZXJDb21wb25lbnQge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzZXJ2aWNlOiBBdXRoV3JhcHBlclNlcnZpY2UpIHt9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJteC1hdXRvIGNvbCBjb2wtbWQtNVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihzZXJ2aWNlLmlzTXVsdGlUZW5hbmN5RW5hYmxlZCQgfCBhc3luYykgJiYgc2VydmljZS5pc1RlbmFudEJveFZpc2libGVcIj5cclxuICAgICAgPGFicC10ZW5hbnQtYm94XHJcbiAgICAgICAgKmFicFJlcGxhY2VhYmxlVGVtcGxhdGU9XCJ7IGNvbXBvbmVudEtleTogc2VydmljZS50ZW5hbnRCb3hLZXkgfVwiXHJcbiAgICAgID48L2FicC10ZW5hbnQtYm94PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImFicC1hY2NvdW50LWNvbnRhaW5lclwiPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgKm5nSWY9XCJzZXJ2aWNlLmVuYWJsZUxvY2FsTG9naW4kIHwgYXN5bmM7IGVsc2UgZGlzYWJsZUxvY2FsTG9naW5UZW1wbGF0ZVwiXHJcbiAgICAgICAgY2xhc3M9XCJjYXJkIG10LTMgc2hhZG93LXNtIHJvdW5kZWRcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTVcIj5cclxuICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI2Rpc2FibGVMb2NhbExvZ2luVGVtcGxhdGU+XHJcbiAgPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LXdhcm5pbmdcIj5cclxuICAgIDxzdHJvbmc+e3sgJ0FicEFjY291bnQ6OkludmFsaWRMb2dpblJlcXVlc3QnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9zdHJvbmc+XHJcbiAgICB7eyAnQWJwQWNjb3VudDo6VGhlcmVBcmVOb0xvZ2luU2NoZW1lc0NvbmZpZ3VyZWRGb3JUaGlzQ2xpZW50JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9hY2NvdW50LWxheW91dC9hdXRoLXdyYXBwZXIvYXV0aC13cmFwcGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9hY2NvdW50LWxheW91dC9hdXRoLXdyYXBwZXIvYXV0aC13cmFwcGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQU8xQyxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQW1CLE9BQTJCO1FBQTNCLFlBQU8sR0FBUCxPQUFPLENBQW9CO0lBQUcsQ0FBQzs4R0FEdkMsb0JBQW9CO2tHQUFwQixvQkFBb0IsMkNBRnBCLENBQUMsa0JBQWtCLENBQUMsMEJDTmpDLHMzQkF3QkE7OzJGRGhCYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0Usa0JBQWtCLGFBRWpCLENBQUMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdXRoV3JhcHBlclNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmFjY291bnQuY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtYXV0aC13cmFwcGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXV0aC13cmFwcGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBwcm92aWRlcnM6IFtBdXRoV3JhcHBlclNlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXV0aFdyYXBwZXJDb21wb25lbnQge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzZXJ2aWNlOiBBdXRoV3JhcHBlclNlcnZpY2UpIHt9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJteC1hdXRvIGNvbCBjb2wtbWQtNVwiPlxyXG4gICAgQGlmICgoc2VydmljZS5pc011bHRpVGVuYW5jeUVuYWJsZWQkIHwgYXN5bmMpICYmIHNlcnZpY2UuaXNUZW5hbnRCb3hWaXNpYmxlKSB7XHJcbiAgICAgIDxhYnAtdGVuYW50LWJveFxyXG4gICAgICAgICphYnBSZXBsYWNlYWJsZVRlbXBsYXRlPVwieyBjb21wb25lbnRLZXk6IHNlcnZpY2UudGVuYW50Qm94S2V5IH1cIlxyXG4gICAgICA+PC9hYnAtdGVuYW50LWJveD5cclxuICAgIH1cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiYWJwLWFjY291bnQtY29udGFpbmVyXCI+XHJcbiAgICAgIEBpZiAoc2VydmljZS5lbmFibGVMb2NhbExvZ2luJCB8IGFzeW5jKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgbXQtMyBzaGFkb3ctc20gcm91bmRlZFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTVcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC13YXJuaW5nXCI+XHJcbiAgICAgICAgICA8c3Ryb25nPnt7ICdBYnBBY2NvdW50OjpJbnZhbGlkTG9naW5SZXF1ZXN0JyB8IGFicExvY2FsaXphdGlvbiB9fTwvc3Ryb25nPlxyXG4gICAgICAgICAge3sgJ0FicEFjY291bnQ6OlRoZXJlQXJlTm9Mb2dpblNjaGVtZXNDb25maWd1cmVkRm9yVGhpc0NsaWVudCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -2,19 +2,19 @@ import { TenantBoxService } from '@abp/ng.account.core';
2
2
  import { Component } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@abp/ng.account.core";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@angular/forms";
7
- import * as i4 from "@abp/ng.core";
8
- import * as i5 from "@abp/ng.theme.shared";
5
+ import * as i2 from "@angular/forms";
6
+ import * as i3 from "@abp/ng.core";
7
+ import * as i4 from "@abp/ng.theme.shared";
8
+ import * as i5 from "@angular/common";
9
9
  export class TenantBoxComponent {
10
10
  constructor(service) {
11
11
  this.service = service;
12
12
  }
13
13
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TenantBoxComponent, deps: [{ token: i1.TenantBoxService }], target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: TenantBoxComponent, selector: "abp-tenant-box", providers: [TenantBoxService], ngImport: i0, template: "<ng-container *ngIf=\"(service.currentTenant$ | async) || { name: '' } as currentTenant\">\r\n <div class=\"card shadow-sm rounded mb-3\">\r\n <div class=\"card-body px-5\">\r\n <div class=\"row\">\r\n <div class=\"col\">\r\n <span style=\"font-size: 0.8em\" class=\"text-uppercase text-muted\">{{\r\n 'AbpUiMultiTenancy::Tenant' | abpLocalization\r\n }}</span\r\n ><br />\r\n <h6 class=\"m-0 d-inline-block\">\r\n <i>{{ currentTenant.name || ('AbpUiMultiTenancy::NotSelected' | abpLocalization) }}</i>\r\n </h6>\r\n </div>\r\n <div class=\"col-auto\">\r\n <a\r\n id=\"AbpTenantSwitchLink\"\r\n href=\"javascript:void(0);\"\r\n class=\"btn btn-sm mt-3 btn-outline-primary\"\r\n (click)=\"service.onSwitch()\"\r\n >{{ 'AbpUiMultiTenancy::Switch' | abpLocalization }}</a\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <abp-modal [(visible)]=\"service.isModalVisible\" [busy]=\"service.modalBusy\">\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=\"mb-3 form-group\">\r\n <label for=\"name\" class=\"form-label\">{{\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 {{ 'AbpTenantManagement::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 <span>{{ 'AbpTenantManagement::Save' | abpLocalization }}</span>\r\n </abp-button>\r\n </ng-template>\r\n </abp-modal>\r\n</ng-container>\r\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.AutofocusDirective, selector: "[autofocus]", inputs: ["autofocus"] }, { kind: "component", type: i5.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i5.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i5.ModalCloseDirective, selector: "[abpClose]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.LocalizationPipe, name: "abpLocalization" }] }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: TenantBoxComponent, selector: "abp-tenant-box", providers: [TenantBoxService], ngImport: i0, template: "@if ((service.currentTenant$ | async) || { name: '' }; as currentTenant) {\r\n <div class=\"card shadow-sm rounded mb-3\">\r\n <div class=\"card-body px-5\">\r\n <div class=\"row\">\r\n <div class=\"col\">\r\n <span style=\"font-size: 0.8em\" class=\"text-uppercase text-muted\">{{\r\n 'AbpUiMultiTenancy::Tenant' | abpLocalization\r\n }}</span\r\n ><br />\r\n <h6 class=\"m-0 d-inline-block\">\r\n <i>{{ currentTenant.name || ('AbpUiMultiTenancy::NotSelected' | abpLocalization) }}</i>\r\n </h6>\r\n </div>\r\n <div class=\"col-auto\">\r\n <a\r\n id=\"AbpTenantSwitchLink\"\r\n href=\"javascript:void(0);\"\r\n class=\"btn btn-sm mt-3 btn-outline-primary\"\r\n (click)=\"service.onSwitch()\"\r\n >{{ 'AbpUiMultiTenancy::Switch' | abpLocalization }}</a\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <abp-modal [(visible)]=\"service.isModalVisible\" [busy]=\"service.modalBusy\">\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=\"mb-3 form-group\">\r\n <label for=\"name\" class=\"form-label\">{{\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 {{ 'AbpTenantManagement::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 <span>{{ 'AbpTenantManagement::Save' | abpLocalization }}</span>\r\n </abp-button>\r\n </ng-template>\r\n </abp-modal>\r\n}\r\n", dependencies: [{ 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: "directive", type: i3.AutofocusDirective, selector: "[autofocus]", inputs: ["autofocus"] }, { 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]" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.LocalizationPipe, name: "abpLocalization" }] }); }
15
15
  }
16
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TenantBoxComponent, decorators: [{
17
17
  type: Component,
18
- args: [{ selector: 'abp-tenant-box', providers: [TenantBoxService], template: "<ng-container *ngIf=\"(service.currentTenant$ | async) || { name: '' } as currentTenant\">\r\n <div class=\"card shadow-sm rounded mb-3\">\r\n <div class=\"card-body px-5\">\r\n <div class=\"row\">\r\n <div class=\"col\">\r\n <span style=\"font-size: 0.8em\" class=\"text-uppercase text-muted\">{{\r\n 'AbpUiMultiTenancy::Tenant' | abpLocalization\r\n }}</span\r\n ><br />\r\n <h6 class=\"m-0 d-inline-block\">\r\n <i>{{ currentTenant.name || ('AbpUiMultiTenancy::NotSelected' | abpLocalization) }}</i>\r\n </h6>\r\n </div>\r\n <div class=\"col-auto\">\r\n <a\r\n id=\"AbpTenantSwitchLink\"\r\n href=\"javascript:void(0);\"\r\n class=\"btn btn-sm mt-3 btn-outline-primary\"\r\n (click)=\"service.onSwitch()\"\r\n >{{ 'AbpUiMultiTenancy::Switch' | abpLocalization }}</a\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <abp-modal [(visible)]=\"service.isModalVisible\" [busy]=\"service.modalBusy\">\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=\"mb-3 form-group\">\r\n <label for=\"name\" class=\"form-label\">{{\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 {{ 'AbpTenantManagement::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 <span>{{ 'AbpTenantManagement::Save' | abpLocalization }}</span>\r\n </abp-button>\r\n </ng-template>\r\n </abp-modal>\r\n</ng-container>\r\n" }]
18
+ args: [{ selector: 'abp-tenant-box', providers: [TenantBoxService], template: "@if ((service.currentTenant$ | async) || { name: '' }; as currentTenant) {\r\n <div class=\"card shadow-sm rounded mb-3\">\r\n <div class=\"card-body px-5\">\r\n <div class=\"row\">\r\n <div class=\"col\">\r\n <span style=\"font-size: 0.8em\" class=\"text-uppercase text-muted\">{{\r\n 'AbpUiMultiTenancy::Tenant' | abpLocalization\r\n }}</span\r\n ><br />\r\n <h6 class=\"m-0 d-inline-block\">\r\n <i>{{ currentTenant.name || ('AbpUiMultiTenancy::NotSelected' | abpLocalization) }}</i>\r\n </h6>\r\n </div>\r\n <div class=\"col-auto\">\r\n <a\r\n id=\"AbpTenantSwitchLink\"\r\n href=\"javascript:void(0);\"\r\n class=\"btn btn-sm mt-3 btn-outline-primary\"\r\n (click)=\"service.onSwitch()\"\r\n >{{ 'AbpUiMultiTenancy::Switch' | abpLocalization }}</a\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <abp-modal [(visible)]=\"service.isModalVisible\" [busy]=\"service.modalBusy\">\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=\"mb-3 form-group\">\r\n <label for=\"name\" class=\"form-label\">{{\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 {{ 'AbpTenantManagement::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 <span>{{ 'AbpTenantManagement::Save' | abpLocalization }}</span>\r\n </abp-button>\r\n </ng-template>\r\n </abp-modal>\r\n}\r\n" }]
19
19
  }], ctorParameters: () => [{ type: i1.TenantBoxService }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1iYXNpYy9zcmMvbGliL2NvbXBvbmVudHMvYWNjb3VudC1sYXlvdXQvdGVuYW50LWJveC90ZW5hbnQtYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9hY2NvdW50LWxheW91dC90ZW5hbnQtYm94L3RlbmFudC1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQU8xQyxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQW1CLE9BQXlCO1FBQXpCLFlBQU8sR0FBUCxPQUFPLENBQWtCO0lBQUcsQ0FBQzs4R0FEckMsa0JBQWtCO2tHQUFsQixrQkFBa0IseUNBRmxCLENBQUMsZ0JBQWdCLENBQUMsMEJDTi9CLHk0RUFpRUE7OzJGRHpEYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZ0JBQWdCLGFBRWYsQ0FBQyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbmFudEJveFNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmFjY291bnQuY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtdGVuYW50LWJveCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbmFudC1ib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHByb3ZpZGVyczogW1RlbmFudEJveFNlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGVuYW50Qm94Q29tcG9uZW50IHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgc2VydmljZTogVGVuYW50Qm94U2VydmljZSkge31cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiKHNlcnZpY2UuY3VycmVudFRlbmFudCQgfCBhc3luYykgfHwgeyBuYW1lOiAnJyB9IGFzIGN1cnJlbnRUZW5hbnRcIj5cclxuICA8ZGl2IGNsYXNzPVwiY2FyZCBzaGFkb3ctc20gcm91bmRlZCBtYi0zXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB4LTVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgICAgIDxzcGFuIHN0eWxlPVwiZm9udC1zaXplOiAwLjhlbVwiIGNsYXNzPVwidGV4dC11cHBlcmNhc2UgdGV4dC1tdXRlZFwiPnt7XHJcbiAgICAgICAgICAgICdBYnBVaU11bHRpVGVuYW5jeTo6VGVuYW50JyB8IGFicExvY2FsaXphdGlvblxyXG4gICAgICAgICAgfX08L3NwYW5cclxuICAgICAgICAgID48YnIgLz5cclxuICAgICAgICAgIDxoNiBjbGFzcz1cIm0tMCBkLWlubGluZS1ibG9ja1wiPlxyXG4gICAgICAgICAgICA8aT57eyBjdXJyZW50VGVuYW50Lm5hbWUgfHwgKCdBYnBVaU11bHRpVGVuYW5jeTo6Tm90U2VsZWN0ZWQnIHwgYWJwTG9jYWxpemF0aW9uKSB9fTwvaT5cclxuICAgICAgICAgIDwvaDY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1hdXRvXCI+XHJcbiAgICAgICAgICA8YVxyXG4gICAgICAgICAgICBpZD1cIkFicFRlbmFudFN3aXRjaExpbmtcIlxyXG4gICAgICAgICAgICBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApO1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zbSBtdC0zIGJ0bi1vdXRsaW5lLXByaW1hcnlcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwic2VydmljZS5vblN3aXRjaCgpXCJcclxuICAgICAgICAgICAgPnt7ICdBYnBVaU11bHRpVGVuYW5jeTo6U3dpdGNoJyB8IGFicExvY2FsaXphdGlvbiB9fTwvYVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8YWJwLW1vZGFsIFsodmlzaWJsZSldPVwic2VydmljZS5pc01vZGFsVmlzaWJsZVwiIFtidXN5XT1cInNlcnZpY2UubW9kYWxCdXN5XCI+XHJcbiAgICA8bmctdGVtcGxhdGUgI2FicEhlYWRlcj5cclxuICAgICAgPGg1PlN3aXRjaCBUZW5hbnQ8L2g1PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSAjYWJwQm9keT5cclxuICAgICAgPGZvcm0gKG5nU3VibWl0KT1cInNlcnZpY2Uuc2F2ZSgpXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm10LTJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zIGZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cIm5hbWVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj57e1xyXG4gICAgICAgICAgICAgICdBYnBVaU11bHRpVGVuYW5jeTo6TmFtZScgfCBhYnBMb2NhbGl6YXRpb25cclxuICAgICAgICAgICAgfX08L2xhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlcnZpY2UubmFtZVwiXHJcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgIGlkPVwibmFtZVwiXHJcbiAgICAgICAgICAgICAgbmFtZT1cInRlbmFudFwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgIGF1dG9mb2N1c1xyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8cD57eyAnQWJwVWlNdWx0aVRlbmFuY3k6OlN3aXRjaFRlbmFudEhpbnQnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Zvcm0+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlICNhYnBGb290ZXI+XHJcbiAgICAgIDxidXR0b24gYWJwQ2xvc2UgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnlcIj5cclxuICAgICAgICB7eyAnQWJwVGVuYW50TWFuYWdlbWVudDo6Q2FuY2VsJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGFicC1idXR0b25cclxuICAgICAgICB0eXBlPVwiYWJwLWJ1dHRvblwiXHJcbiAgICAgICAgaWNvbkNsYXNzPVwiZmEgZmEtY2hlY2tcIlxyXG4gICAgICAgIChjbGljayk9XCJzZXJ2aWNlLnNhdmUoKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImN1cnJlbnRUZW5hbnQ/Lm5hbWUgPT09IHNlcnZpY2UubmFtZVwiXHJcbiAgICAgID5cclxuICAgICAgICA8c3Bhbj57eyAnQWJwVGVuYW50TWFuYWdlbWVudDo6U2F2ZScgfCBhYnBMb2NhbGl6YXRpb24gfX08L3NwYW4+XHJcbiAgICAgIDwvYWJwLWJ1dHRvbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9hYnAtbW9kYWw+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1iYXNpYy9zcmMvbGliL2NvbXBvbmVudHMvYWNjb3VudC1sYXlvdXQvdGVuYW50LWJveC90ZW5hbnQtYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9hY2NvdW50LWxheW91dC90ZW5hbnQtYm94L3RlbmFudC1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQU8xQyxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQW1CLE9BQXlCO1FBQXpCLFlBQU8sR0FBUCxPQUFPLENBQWtCO0lBQUcsQ0FBQzs4R0FEckMsa0JBQWtCO2tHQUFsQixrQkFBa0IseUNBRmxCLENBQUMsZ0JBQWdCLENBQUMsMEJDTi9CLDIyRUFpRUE7OzJGRHpEYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZ0JBQWdCLGFBRWYsQ0FBQyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbmFudEJveFNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmFjY291bnQuY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtdGVuYW50LWJveCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbmFudC1ib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHByb3ZpZGVyczogW1RlbmFudEJveFNlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGVuYW50Qm94Q29tcG9uZW50IHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgc2VydmljZTogVGVuYW50Qm94U2VydmljZSkge31cclxufVxyXG4iLCJAaWYgKChzZXJ2aWNlLmN1cnJlbnRUZW5hbnQkIHwgYXN5bmMpIHx8IHsgbmFtZTogJycgfTsgYXMgY3VycmVudFRlbmFudCkge1xyXG4gIDxkaXYgY2xhc3M9XCJjYXJkIHNoYWRvdy1zbSByb3VuZGVkIG1iLTNcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcHgtNVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbFwiPlxyXG4gICAgICAgICAgPHNwYW4gc3R5bGU9XCJmb250LXNpemU6IDAuOGVtXCIgY2xhc3M9XCJ0ZXh0LXVwcGVyY2FzZSB0ZXh0LW11dGVkXCI+e3tcclxuICAgICAgICAgICAgJ0FicFVpTXVsdGlUZW5hbmN5OjpUZW5hbnQnIHwgYWJwTG9jYWxpemF0aW9uXHJcbiAgICAgICAgICB9fTwvc3BhblxyXG4gICAgICAgICAgPjxiciAvPlxyXG4gICAgICAgICAgPGg2IGNsYXNzPVwibS0wIGQtaW5saW5lLWJsb2NrXCI+XHJcbiAgICAgICAgICAgIDxpPnt7IGN1cnJlbnRUZW5hbnQubmFtZSB8fCAoJ0FicFVpTXVsdGlUZW5hbmN5OjpOb3RTZWxlY3RlZCcgfCBhYnBMb2NhbGl6YXRpb24pIH19PC9pPlxyXG4gICAgICAgICAgPC9oNj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIj5cclxuICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgIGlkPVwiQWJwVGVuYW50U3dpdGNoTGlua1wiXHJcbiAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMCk7XCJcclxuICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNtIG10LTMgYnRuLW91dGxpbmUtcHJpbWFyeVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJzZXJ2aWNlLm9uU3dpdGNoKClcIlxyXG4gICAgICAgICAgICA+e3sgJ0FicFVpTXVsdGlUZW5hbmN5OjpTd2l0Y2gnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9hXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxhYnAtbW9kYWwgWyh2aXNpYmxlKV09XCJzZXJ2aWNlLmlzTW9kYWxWaXNpYmxlXCIgW2J1c3ldPVwic2VydmljZS5tb2RhbEJ1c3lcIj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjYWJwSGVhZGVyPlxyXG4gICAgICA8aDU+U3dpdGNoIFRlbmFudDwvaDU+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlICNhYnBCb2R5PlxyXG4gICAgICA8Zm9ybSAobmdTdWJtaXQpPVwic2VydmljZS5zYXZlKClcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMlwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTMgZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwibmFtZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7XHJcbiAgICAgICAgICAgICAgJ0FicFVpTXVsdGlUZW5hbmN5OjpOYW1lJyB8IGFicExvY2FsaXphdGlvblxyXG4gICAgICAgICAgICB9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VydmljZS5uYW1lXCJcclxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgaWQ9XCJuYW1lXCJcclxuICAgICAgICAgICAgICBuYW1lPVwidGVuYW50XCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgYXV0b2ZvY3VzXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxwPnt7ICdBYnBVaU11bHRpVGVuYW5jeTo6U3dpdGNoVGVuYW50SGludCcgfCBhYnBMb2NhbGl6YXRpb24gfX08L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZm9ybT5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgI2FicEZvb3Rlcj5cclxuICAgICAgPGJ1dHRvbiBhYnBDbG9zZSB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtcHJpbWFyeVwiPlxyXG4gICAgICAgIHt7ICdBYnBUZW5hbnRNYW5hZ2VtZW50OjpDYW5jZWwnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YWJwLWJ1dHRvblxyXG4gICAgICAgIHR5cGU9XCJhYnAtYnV0dG9uXCJcclxuICAgICAgICBpY29uQ2xhc3M9XCJmYSBmYS1jaGVja1wiXHJcbiAgICAgICAgKGNsaWNrKT1cInNlcnZpY2Uuc2F2ZSgpXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiY3VycmVudFRlbmFudD8ubmFtZSA9PT0gc2VydmljZS5uYW1lXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxzcGFuPnt7ICdBYnBUZW5hbnRNYW5hZ2VtZW50OjpTYXZlJyB8IGFicExvY2FsaXphdGlvbiB9fTwvc3Bhbj5cclxuICAgICAgPC9hYnAtYnV0dG9uPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L2FicC1tb2RhbD5cclxufVxyXG4iXX0=
@@ -1,30 +1,29 @@
1
1
  import { SubscriptionService } from '@abp/ng.core';
2
2
  import { collapseWithMargin, slideFromBottom } from '@abp/ng.theme.shared';
3
- import { Component } from '@angular/core';
3
+ import { Component, inject } from '@angular/core';
4
4
  import { LayoutService } from '../../services/layout.service';
5
5
  import * as i0 from "@angular/core";
6
- import * as i1 from "../../services/layout.service";
7
- import * as i2 from "@angular/common";
8
- import * as i3 from "@angular/router";
9
- import * as i4 from "@abp/ng.core";
10
- import * as i5 from "../logo/logo.component";
11
- import * as i6 from "../nav-items/nav-items.component";
12
- import * as i7 from "../routes/routes.component";
13
- import * as i8 from "../page-alert-container/page-alert-container.component";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "@angular/router";
8
+ import * as i3 from "@abp/ng.core";
9
+ import * as i4 from "../logo/logo.component";
10
+ import * as i5 from "../nav-items/nav-items.component";
11
+ import * as i6 from "../routes/routes.component";
12
+ import * as i7 from "../page-alert-container/page-alert-container.component";
14
13
  export class ApplicationLayoutComponent {
14
+ constructor() {
15
+ this.service = inject(LayoutService);
16
+ }
15
17
  // required for dynamic component
16
18
  static { this.type = "application" /* eLayoutType.application */; }
17
- constructor(service) {
18
- this.service = service;
19
- }
20
19
  ngAfterViewInit() {
21
20
  this.service.subscribeWindowSize();
22
21
  }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ApplicationLayoutComponent, deps: [{ token: i1.LayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: ApplicationLayoutComponent, selector: "abp-layout-application", providers: [LayoutService, SubscriptionService], ngImport: i0, template: "<nav\r\n class=\"navbar navbar-expand-lg navbar-dark bg-dark shadow-sm flex-column flex-md-row mb-4\"\r\n id=\"main-navbar\"\r\n style=\"min-height: 4rem\"\r\n>\r\n <div class=\"container\">\r\n <abp-logo *abpReplaceableTemplate=\"{ componentKey: service.logoComponentKey }\"></abp-logo>\r\n <button\r\n class=\"navbar-toggler\"\r\n type=\"button\"\r\n [attr.aria-expanded]=\"!service.isCollapsed\"\r\n (click)=\"service.isCollapsed = !service.isCollapsed\"\r\n >\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n <div class=\"navbar-collapse\" [class.overflow-hidden]=\"service.smallScreen\" id=\"main-navbar-collapse\">\r\n <ng-container *ngTemplateOutlet=\"!service.smallScreen ? navigations : null\"></ng-container>\r\n\r\n <div *ngIf=\"service.smallScreen\" [@collapseWithMargin]=\"service.isCollapsed ? 'collapsed' : 'expanded'\">\r\n <ng-container *ngTemplateOutlet=\"navigations\"></ng-container>\r\n </div>\r\n\r\n <ng-template #navigations>\r\n <abp-routes\r\n *abpReplaceableTemplate=\"{\r\n componentKey: service.routesComponentKey,\r\n inputs: {\r\n smallScreen: { value: service.smallScreen }\r\n }\r\n }\"\r\n class=\"mx-auto\"\r\n [smallScreen]=\"service.smallScreen\"\r\n ></abp-routes>\r\n\r\n <abp-nav-items\r\n *abpReplaceableTemplate=\"{\r\n componentKey: service.navItemsComponentKey\r\n }\"\r\n ></abp-nav-items>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</nav>\r\n\r\n<!-- [@slideFromBottom]=\"outlet.isActivated && outlet.activatedRoute?.routeConfig?.path\" TODO: throws ExpressionChangedAfterItHasBeenCheck when animation is active. It should be fixed -->\r\n<div class=\"container\">\r\n <abp-page-alert-container></abp-page-alert-container>\r\n\r\n <router-outlet #outlet=\"outlet\"></router-outlet>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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.LogoComponent, selector: "abp-logo" }, { kind: "component", type: i6.NavItemsComponent, selector: "abp-nav-items" }, { kind: "component", type: i7.RoutesComponent, selector: "abp-routes", inputs: ["smallScreen"] }, { kind: "component", type: i8.PageAlertContainerComponent, selector: "abp-page-alert-container" }], animations: [slideFromBottom, collapseWithMargin] }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ApplicationLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: ApplicationLayoutComponent, selector: "abp-layout-application", providers: [LayoutService, SubscriptionService], ngImport: i0, template: "<nav\r\n class=\"navbar navbar-expand-lg navbar-dark bg-dark shadow-sm flex-column flex-md-row mb-4\"\r\n id=\"main-navbar\"\r\n style=\"min-height: 4rem\"\r\n>\r\n <div class=\"container\">\r\n <abp-logo *abpReplaceableTemplate=\"{ componentKey: service.logoComponentKey }\"></abp-logo>\r\n <button\r\n class=\"navbar-toggler\"\r\n type=\"button\"\r\n [attr.aria-expanded]=\"!service.isCollapsed\"\r\n (click)=\"service.isCollapsed = !service.isCollapsed\"\r\n >\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n <div\r\n class=\"navbar-collapse\"\r\n [class.overflow-hidden]=\"service.smallScreen\"\r\n id=\"main-navbar-collapse\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"!service.smallScreen ? navigations : null\"></ng-container>\r\n\r\n @if (service.smallScreen) {\r\n <div [@collapseWithMargin]=\"service.isCollapsed ? 'collapsed' : 'expanded'\">\r\n <ng-container *ngTemplateOutlet=\"navigations\"></ng-container>\r\n </div>\r\n }\r\n\r\n <ng-template #navigations>\r\n <abp-routes\r\n *abpReplaceableTemplate=\"{\r\n componentKey: service.routesComponentKey,\r\n inputs: {\r\n smallScreen: { value: service.smallScreen }\r\n }\r\n }\"\r\n class=\"mx-auto\"\r\n [smallScreen]=\"service.smallScreen\"\r\n ></abp-routes>\r\n\r\n <abp-nav-items\r\n *abpReplaceableTemplate=\"{\r\n componentKey: service.navItemsComponentKey\r\n }\"\r\n ></abp-nav-items>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</nav>\r\n\r\n<!-- [@slideFromBottom]=\"outlet.isActivated && outlet.activatedRoute?.routeConfig?.path\" TODO: throws ExpressionChangedAfterItHasBeenCheck when animation is active. It should be fixed -->\r\n<div class=\"container\">\r\n <abp-page-alert-container></abp-page-alert-container>\r\n\r\n <router-outlet #outlet=\"outlet\"></router-outlet>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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.LogoComponent, selector: "abp-logo" }, { kind: "component", type: i5.NavItemsComponent, selector: "abp-nav-items" }, { kind: "component", type: i6.RoutesComponent, selector: "abp-routes", inputs: ["smallScreen"] }, { kind: "component", type: i7.PageAlertContainerComponent, selector: "abp-page-alert-container" }], animations: [slideFromBottom, collapseWithMargin] }); }
25
24
  }
26
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ApplicationLayoutComponent, decorators: [{
27
26
  type: Component,
28
- args: [{ selector: 'abp-layout-application', animations: [slideFromBottom, collapseWithMargin], providers: [LayoutService, SubscriptionService], template: "<nav\r\n class=\"navbar navbar-expand-lg navbar-dark bg-dark shadow-sm flex-column flex-md-row mb-4\"\r\n id=\"main-navbar\"\r\n style=\"min-height: 4rem\"\r\n>\r\n <div class=\"container\">\r\n <abp-logo *abpReplaceableTemplate=\"{ componentKey: service.logoComponentKey }\"></abp-logo>\r\n <button\r\n class=\"navbar-toggler\"\r\n type=\"button\"\r\n [attr.aria-expanded]=\"!service.isCollapsed\"\r\n (click)=\"service.isCollapsed = !service.isCollapsed\"\r\n >\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n <div class=\"navbar-collapse\" [class.overflow-hidden]=\"service.smallScreen\" id=\"main-navbar-collapse\">\r\n <ng-container *ngTemplateOutlet=\"!service.smallScreen ? navigations : null\"></ng-container>\r\n\r\n <div *ngIf=\"service.smallScreen\" [@collapseWithMargin]=\"service.isCollapsed ? 'collapsed' : 'expanded'\">\r\n <ng-container *ngTemplateOutlet=\"navigations\"></ng-container>\r\n </div>\r\n\r\n <ng-template #navigations>\r\n <abp-routes\r\n *abpReplaceableTemplate=\"{\r\n componentKey: service.routesComponentKey,\r\n inputs: {\r\n smallScreen: { value: service.smallScreen }\r\n }\r\n }\"\r\n class=\"mx-auto\"\r\n [smallScreen]=\"service.smallScreen\"\r\n ></abp-routes>\r\n\r\n <abp-nav-items\r\n *abpReplaceableTemplate=\"{\r\n componentKey: service.navItemsComponentKey\r\n }\"\r\n ></abp-nav-items>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</nav>\r\n\r\n<!-- [@slideFromBottom]=\"outlet.isActivated && outlet.activatedRoute?.routeConfig?.path\" TODO: throws ExpressionChangedAfterItHasBeenCheck when animation is active. It should be fixed -->\r\n<div class=\"container\">\r\n <abp-page-alert-container></abp-page-alert-container>\r\n\r\n <router-outlet #outlet=\"outlet\"></router-outlet>\r\n</div>\r\n" }]
29
- }], ctorParameters: () => [{ type: i1.LayoutService }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9hcHBsaWNhdGlvbi1sYXlvdXQvYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9hcHBsaWNhdGlvbi1sYXlvdXQvYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxtQkFBbUIsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFnQixTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7O0FBUzlELE1BQU0sT0FBTywwQkFBMEI7SUFDckMsaUNBQWlDO2FBQzFCLFNBQUksOENBQUEsQ0FBMkI7SUFFdEMsWUFBbUIsT0FBc0I7UUFBdEIsWUFBTyxHQUFQLE9BQU8sQ0FBZTtJQUFHLENBQUM7SUFFN0MsZUFBZTtRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUNyQyxDQUFDOzhHQVJVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLGlEQUYxQixDQUFDLGFBQWEsRUFBRSxtQkFBbUIsQ0FBQywwQkNWakQsODdEQWtEQSxtN0JEekNjLENBQUMsZUFBZSxFQUFFLGtCQUFrQixDQUFDOzsyRkFHdEMsMEJBQTBCO2tCQU50QyxTQUFTOytCQUNFLHdCQUF3QixjQUV0QixDQUFDLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQyxhQUN0QyxDQUFDLGFBQWEsRUFBRSxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZUxheW91dFR5cGUsIFN1YnNjcmlwdGlvblNlcnZpY2V9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IGNvbGxhcHNlV2l0aE1hcmdpbiwgc2xpZGVGcm9tQm90dG9tIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xyXG5pbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExheW91dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sYXlvdXQuc2VydmljZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtbGF5b3V0LWFwcGxpY2F0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcclxuICBhbmltYXRpb25zOiBbc2xpZGVGcm9tQm90dG9tLCBjb2xsYXBzZVdpdGhNYXJnaW5dLFxyXG4gIHByb3ZpZGVyczogW0xheW91dFNlcnZpY2UsIFN1YnNjcmlwdGlvblNlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25MYXlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICAvLyByZXF1aXJlZCBmb3IgZHluYW1pYyBjb21wb25lbnRcclxuICBzdGF0aWMgdHlwZSA9IGVMYXlvdXRUeXBlLmFwcGxpY2F0aW9uO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgc2VydmljZTogTGF5b3V0U2VydmljZSkge31cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5zZXJ2aWNlLnN1YnNjcmliZVdpbmRvd1NpemUoKTtcclxuICB9XHJcbn1cclxuIiwiPG5hdlxyXG4gIGNsYXNzPVwibmF2YmFyIG5hdmJhci1leHBhbmQtbGcgbmF2YmFyLWRhcmsgYmctZGFyayBzaGFkb3ctc20gZmxleC1jb2x1bW4gZmxleC1tZC1yb3cgbWItNFwiXHJcbiAgaWQ9XCJtYWluLW5hdmJhclwiXHJcbiAgc3R5bGU9XCJtaW4taGVpZ2h0OiA0cmVtXCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cclxuICAgIDxhYnAtbG9nbyAqYWJwUmVwbGFjZWFibGVUZW1wbGF0ZT1cInsgY29tcG9uZW50S2V5OiBzZXJ2aWNlLmxvZ29Db21wb25lbnRLZXkgfVwiPjwvYWJwLWxvZ28+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIGNsYXNzPVwibmF2YmFyLXRvZ2dsZXJcIlxyXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIhc2VydmljZS5pc0NvbGxhcHNlZFwiXHJcbiAgICAgIChjbGljayk9XCJzZXJ2aWNlLmlzQ29sbGFwc2VkID0gIXNlcnZpY2UuaXNDb2xsYXBzZWRcIlxyXG4gICAgPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cIm5hdmJhci10b2dnbGVyLWljb25cIj48L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxkaXYgY2xhc3M9XCJuYXZiYXItY29sbGFwc2VcIiBbY2xhc3Mub3ZlcmZsb3ctaGlkZGVuXT1cInNlcnZpY2Uuc21hbGxTY3JlZW5cIiBpZD1cIm1haW4tbmF2YmFyLWNvbGxhcHNlXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCIhc2VydmljZS5zbWFsbFNjcmVlbiA/IG5hdmlnYXRpb25zIDogbnVsbFwiPjwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPGRpdiAqbmdJZj1cInNlcnZpY2Uuc21hbGxTY3JlZW5cIiBbQGNvbGxhcHNlV2l0aE1hcmdpbl09XCJzZXJ2aWNlLmlzQ29sbGFwc2VkID8gJ2NvbGxhcHNlZCcgOiAnZXhwYW5kZWQnXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5hdmlnYXRpb25zXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPG5nLXRlbXBsYXRlICNuYXZpZ2F0aW9ucz5cclxuICAgICAgICA8YWJwLXJvdXRlc1xyXG4gICAgICAgICAgKmFicFJlcGxhY2VhYmxlVGVtcGxhdGU9XCJ7XHJcbiAgICAgICAgICAgIGNvbXBvbmVudEtleTogc2VydmljZS5yb3V0ZXNDb21wb25lbnRLZXksXHJcbiAgICAgICAgICAgIGlucHV0czoge1xyXG4gICAgICAgICAgICAgIHNtYWxsU2NyZWVuOiB7IHZhbHVlOiBzZXJ2aWNlLnNtYWxsU2NyZWVuIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVwiXHJcbiAgICAgICAgICBjbGFzcz1cIm14LWF1dG9cIlxyXG4gICAgICAgICAgW3NtYWxsU2NyZWVuXT1cInNlcnZpY2Uuc21hbGxTY3JlZW5cIlxyXG4gICAgICAgID48L2FicC1yb3V0ZXM+XHJcblxyXG4gICAgICAgIDxhYnAtbmF2LWl0ZW1zXHJcbiAgICAgICAgICAqYWJwUmVwbGFjZWFibGVUZW1wbGF0ZT1cIntcclxuICAgICAgICAgICAgY29tcG9uZW50S2V5OiBzZXJ2aWNlLm5hdkl0ZW1zQ29tcG9uZW50S2V5XHJcbiAgICAgICAgICB9XCJcclxuICAgICAgICA+PC9hYnAtbmF2LWl0ZW1zPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmF2PlxyXG5cclxuPCEtLSBbQHNsaWRlRnJvbUJvdHRvbV09XCJvdXRsZXQuaXNBY3RpdmF0ZWQgJiYgb3V0bGV0LmFjdGl2YXRlZFJvdXRlPy5yb3V0ZUNvbmZpZz8ucGF0aFwiIFRPRE86IHRocm93cyBFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2sgd2hlbiBhbmltYXRpb24gaXMgYWN0aXZlLiBJdCBzaG91bGQgYmUgZml4ZWQgLS0+XHJcbjxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cclxuICA8YWJwLXBhZ2UtYWxlcnQtY29udGFpbmVyPjwvYWJwLXBhZ2UtYWxlcnQtY29udGFpbmVyPlxyXG5cclxuICA8cm91dGVyLW91dGxldCAjb3V0bGV0PVwib3V0bGV0XCI+PC9yb3V0ZXItb3V0bGV0PlxyXG48L2Rpdj5cclxuIl19
27
+ args: [{ selector: 'abp-layout-application', animations: [slideFromBottom, collapseWithMargin], providers: [LayoutService, SubscriptionService], template: "<nav\r\n class=\"navbar navbar-expand-lg navbar-dark bg-dark shadow-sm flex-column flex-md-row mb-4\"\r\n id=\"main-navbar\"\r\n style=\"min-height: 4rem\"\r\n>\r\n <div class=\"container\">\r\n <abp-logo *abpReplaceableTemplate=\"{ componentKey: service.logoComponentKey }\"></abp-logo>\r\n <button\r\n class=\"navbar-toggler\"\r\n type=\"button\"\r\n [attr.aria-expanded]=\"!service.isCollapsed\"\r\n (click)=\"service.isCollapsed = !service.isCollapsed\"\r\n >\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n <div\r\n class=\"navbar-collapse\"\r\n [class.overflow-hidden]=\"service.smallScreen\"\r\n id=\"main-navbar-collapse\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"!service.smallScreen ? navigations : null\"></ng-container>\r\n\r\n @if (service.smallScreen) {\r\n <div [@collapseWithMargin]=\"service.isCollapsed ? 'collapsed' : 'expanded'\">\r\n <ng-container *ngTemplateOutlet=\"navigations\"></ng-container>\r\n </div>\r\n }\r\n\r\n <ng-template #navigations>\r\n <abp-routes\r\n *abpReplaceableTemplate=\"{\r\n componentKey: service.routesComponentKey,\r\n inputs: {\r\n smallScreen: { value: service.smallScreen }\r\n }\r\n }\"\r\n class=\"mx-auto\"\r\n [smallScreen]=\"service.smallScreen\"\r\n ></abp-routes>\r\n\r\n <abp-nav-items\r\n *abpReplaceableTemplate=\"{\r\n componentKey: service.navItemsComponentKey\r\n }\"\r\n ></abp-nav-items>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</nav>\r\n\r\n<!-- [@slideFromBottom]=\"outlet.isActivated && outlet.activatedRoute?.routeConfig?.path\" TODO: throws ExpressionChangedAfterItHasBeenCheck when animation is active. It should be fixed -->\r\n<div class=\"container\">\r\n <abp-page-alert-container></abp-page-alert-container>\r\n\r\n <router-outlet #outlet=\"outlet\"></router-outlet>\r\n</div>\r\n" }]
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9hcHBsaWNhdGlvbi1sYXlvdXQvYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9hcHBsaWNhdGlvbi1sYXlvdXQvYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7O0FBUTlELE1BQU0sT0FBTywwQkFBMEI7SUFOdkM7UUFPa0IsWUFBTyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztLQU9qRDtJQU5DLGlDQUFpQzthQUMxQixTQUFJLDhDQUFBLENBQTJCO0lBRXRDLGVBQWU7UUFDYixJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDckMsQ0FBQzs4R0FQVSwwQkFBMEI7a0dBQTFCLDBCQUEwQixpREFGMUIsQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLENBQUMsMEJDVGpELHkvREF3REEsKzBCRGhEYyxDQUFDLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQzs7MkZBR3RDLDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDRSx3QkFBd0IsY0FFdEIsQ0FBQyxlQUFlLEVBQUUsa0JBQWtCLENBQUMsYUFDdEMsQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlTGF5b3V0VHlwZSwgU3Vic2NyaXB0aW9uU2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IGNvbGxhcHNlV2l0aE1hcmdpbiwgc2xpZGVGcm9tQm90dG9tIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xyXG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMYXlvdXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGF5b3V0LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtbGF5b3V0LWFwcGxpY2F0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcclxuICBhbmltYXRpb25zOiBbc2xpZGVGcm9tQm90dG9tLCBjb2xsYXBzZVdpdGhNYXJnaW5dLFxyXG4gIHByb3ZpZGVyczogW0xheW91dFNlcnZpY2UsIFN1YnNjcmlwdGlvblNlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25MYXlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgc2VydmljZSA9IGluamVjdChMYXlvdXRTZXJ2aWNlKTtcclxuICAvLyByZXF1aXJlZCBmb3IgZHluYW1pYyBjb21wb25lbnRcclxuICBzdGF0aWMgdHlwZSA9IGVMYXlvdXRUeXBlLmFwcGxpY2F0aW9uO1xyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnNlcnZpY2Uuc3Vic2NyaWJlV2luZG93U2l6ZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8bmF2XHJcbiAgY2xhc3M9XCJuYXZiYXIgbmF2YmFyLWV4cGFuZC1sZyBuYXZiYXItZGFyayBiZy1kYXJrIHNoYWRvdy1zbSBmbGV4LWNvbHVtbiBmbGV4LW1kLXJvdyBtYi00XCJcclxuICBpZD1cIm1haW4tbmF2YmFyXCJcclxuICBzdHlsZT1cIm1pbi1oZWlnaHQ6IDRyZW1cIlxyXG4+XHJcbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxyXG4gICAgPGFicC1sb2dvICphYnBSZXBsYWNlYWJsZVRlbXBsYXRlPVwieyBjb21wb25lbnRLZXk6IHNlcnZpY2UubG9nb0NvbXBvbmVudEtleSB9XCI+PC9hYnAtbG9nbz5cclxuICAgIDxidXR0b25cclxuICAgICAgY2xhc3M9XCJuYXZiYXItdG9nZ2xlclwiXHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIiFzZXJ2aWNlLmlzQ29sbGFwc2VkXCJcclxuICAgICAgKGNsaWNrKT1cInNlcnZpY2UuaXNDb2xsYXBzZWQgPSAhc2VydmljZS5pc0NvbGxhcHNlZFwiXHJcbiAgICA+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibmF2YmFyLXRvZ2dsZXItaWNvblwiPjwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cIm5hdmJhci1jb2xsYXBzZVwiXHJcbiAgICAgIFtjbGFzcy5vdmVyZmxvdy1oaWRkZW5dPVwic2VydmljZS5zbWFsbFNjcmVlblwiXHJcbiAgICAgIGlkPVwibWFpbi1uYXZiYXItY29sbGFwc2VcIlxyXG4gICAgPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiIXNlcnZpY2Uuc21hbGxTY3JlZW4gPyBuYXZpZ2F0aW9ucyA6IG51bGxcIj48L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIEBpZiAoc2VydmljZS5zbWFsbFNjcmVlbikge1xyXG4gICAgICAgIDxkaXYgW0Bjb2xsYXBzZVdpdGhNYXJnaW5dPVwic2VydmljZS5pc0NvbGxhcHNlZCA/ICdjb2xsYXBzZWQnIDogJ2V4cGFuZGVkJ1wiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5hdmlnYXRpb25zXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjbmF2aWdhdGlvbnM+XHJcbiAgICAgICAgPGFicC1yb3V0ZXNcclxuICAgICAgICAgICphYnBSZXBsYWNlYWJsZVRlbXBsYXRlPVwie1xyXG4gICAgICAgICAgICBjb21wb25lbnRLZXk6IHNlcnZpY2Uucm91dGVzQ29tcG9uZW50S2V5LFxyXG4gICAgICAgICAgICBpbnB1dHM6IHtcclxuICAgICAgICAgICAgICBzbWFsbFNjcmVlbjogeyB2YWx1ZTogc2VydmljZS5zbWFsbFNjcmVlbiB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgY2xhc3M9XCJteC1hdXRvXCJcclxuICAgICAgICAgIFtzbWFsbFNjcmVlbl09XCJzZXJ2aWNlLnNtYWxsU2NyZWVuXCJcclxuICAgICAgICA+PC9hYnAtcm91dGVzPlxyXG5cclxuICAgICAgICA8YWJwLW5hdi1pdGVtc1xyXG4gICAgICAgICAgKmFicFJlcGxhY2VhYmxlVGVtcGxhdGU9XCJ7XHJcbiAgICAgICAgICAgIGNvbXBvbmVudEtleTogc2VydmljZS5uYXZJdGVtc0NvbXBvbmVudEtleVxyXG4gICAgICAgICAgfVwiXHJcbiAgICAgICAgPjwvYWJwLW5hdi1pdGVtcz5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L25hdj5cclxuXHJcbjwhLS0gW0BzbGlkZUZyb21Cb3R0b21dPVwib3V0bGV0LmlzQWN0aXZhdGVkICYmIG91dGxldC5hY3RpdmF0ZWRSb3V0ZT8ucm91dGVDb25maWc/LnBhdGhcIiBUT0RPOiB0aHJvd3MgRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrIHdoZW4gYW5pbWF0aW9uIGlzIGFjdGl2ZS4gSXQgc2hvdWxkIGJlIGZpeGVkIC0tPlxyXG48ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgPGFicC1wYWdlLWFsZXJ0LWNvbnRhaW5lcj48L2FicC1wYWdlLWFsZXJ0LWNvbnRhaW5lcj5cclxuXHJcbiAgPHJvdXRlci1vdXRsZXQgI291dGxldD1cIm91dGxldFwiPjwvcm91dGVyLW91dGxldD5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -2,8 +2,7 @@ import { EnvironmentService } from '@abp/ng.core';
2
2
  import { Component } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@abp/ng.core";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@angular/router";
5
+ import * as i2 from "@angular/router";
7
6
  export class LogoComponent {
8
7
  get appInfo() {
9
8
  return this.environment.getEnvironment().application;
@@ -12,21 +11,20 @@ export class LogoComponent {
12
11
  this.environment = environment;
13
12
  }
14
13
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: LogoComponent, deps: [{ token: i1.EnvironmentService }], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: LogoComponent, selector: "abp-logo", ngImport: i0, template: `
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: LogoComponent, selector: "abp-logo", ngImport: i0, template: `
16
15
  <a class="navbar-brand" routerLink="/">
17
- <img
18
- *ngIf="appInfo.logoUrl; else appName"
19
- [src]="appInfo.logoUrl"
20
- [alt]="appInfo.name"
21
- width="100%"
22
- height="auto"
23
- />
16
+ @if (appInfo.logoUrl) {
17
+ <img
18
+ [src]="appInfo.logoUrl"
19
+ [alt]="appInfo.name"
20
+ width="100%"
21
+ height="auto"
22
+ />
23
+ } @else {
24
+ {{ appInfo.name }}
25
+ }
24
26
  </a>
25
-
26
- <ng-template #appName>
27
- {{ appInfo.name }}
28
- </ng-template>
29
- `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
27
+ `, isInline: true, dependencies: [{ kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
30
28
  }
31
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: LogoComponent, decorators: [{
32
30
  type: Component,
@@ -34,19 +32,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
34
32
  selector: 'abp-logo',
35
33
  template: `
36
34
  <a class="navbar-brand" routerLink="/">
37
- <img
38
- *ngIf="appInfo.logoUrl; else appName"
39
- [src]="appInfo.logoUrl"
40
- [alt]="appInfo.name"
41
- width="100%"
42
- height="auto"
43
- />
35
+ @if (appInfo.logoUrl) {
36
+ <img
37
+ [src]="appInfo.logoUrl"
38
+ [alt]="appInfo.name"
39
+ width="100%"
40
+ height="auto"
41
+ />
42
+ } @else {
43
+ {{ appInfo.name }}
44
+ }
44
45
  </a>
45
-
46
- <ng-template #appName>
47
- {{ appInfo.name }}
48
- </ng-template>
49
46
  `,
50
47
  }]
51
48
  }], ctorParameters: () => [{ type: i1.EnvironmentService }] });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1iYXNpYy9zcmMvbGliL2NvbXBvbmVudHMvbG9nby9sb2dvLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBb0IxQyxNQUFNLE9BQU8sYUFBYTtJQUN4QixJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLENBQUMsV0FBVyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxZQUFvQixXQUErQjtRQUEvQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7SUFBRyxDQUFDOzhHQUw1QyxhQUFhO2tHQUFiLGFBQWEsZ0RBaEJkOzs7Ozs7Ozs7Ozs7OztHQWNUOzsyRkFFVSxhQUFhO2tCQWxCekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7OztHQWNUO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwbGljYXRpb25JbmZvLCBFbnZpcm9ubWVudFNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWJwLWxvZ28nLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8YSBjbGFzcz1cIm5hdmJhci1icmFuZFwiIHJvdXRlckxpbms9XCIvXCI+XHJcbiAgICAgIDxpbWdcclxuICAgICAgICAqbmdJZj1cImFwcEluZm8ubG9nb1VybDsgZWxzZSBhcHBOYW1lXCJcclxuICAgICAgICBbc3JjXT1cImFwcEluZm8ubG9nb1VybFwiXHJcbiAgICAgICAgW2FsdF09XCJhcHBJbmZvLm5hbWVcIlxyXG4gICAgICAgIHdpZHRoPVwiMTAwJVwiXHJcbiAgICAgICAgaGVpZ2h0PVwiYXV0b1wiXHJcbiAgICAgIC8+XHJcbiAgICA8L2E+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNhcHBOYW1lPlxyXG4gICAgICB7eyBhcHBJbmZvLm5hbWUgfX1cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIExvZ29Db21wb25lbnQge1xyXG4gIGdldCBhcHBJbmZvKCk6IEFwcGxpY2F0aW9uSW5mbyB7XHJcbiAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5nZXRFbnZpcm9ubWVudCgpLmFwcGxpY2F0aW9uO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbnZpcm9ubWVudDogRW52aXJvbm1lbnRTZXJ2aWNlKSB7fVxyXG59XHJcbiJdfQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1iYXNpYy9zcmMvbGliL2NvbXBvbmVudHMvbG9nby9sb2dvLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFtQjFDLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxXQUFXLENBQUM7SUFDdkQsQ0FBQztJQUVELFlBQW9CLFdBQStCO1FBQS9CLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtJQUFHLENBQUM7OEdBTDVDLGFBQWE7a0dBQWIsYUFBYSxnREFmZDs7Ozs7Ozs7Ozs7OztHQWFUOzsyRkFFVSxhQUFhO2tCQWpCekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7O0dBYVQ7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvbkluZm8sIEVudmlyb25tZW50U2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtbG9nbycsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxhIGNsYXNzPVwibmF2YmFyLWJyYW5kXCIgcm91dGVyTGluaz1cIi9cIj5cclxuICAgICAgQGlmIChhcHBJbmZvLmxvZ29VcmwpIHtcclxuICAgICAgICA8aW1nXHJcbiAgICAgICAgICBbc3JjXT1cImFwcEluZm8ubG9nb1VybFwiXHJcbiAgICAgICAgICBbYWx0XT1cImFwcEluZm8ubmFtZVwiXHJcbiAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxyXG4gICAgICAgICAgaGVpZ2h0PVwiYXV0b1wiXHJcbiAgICAgICAgLz5cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAge3sgYXBwSW5mby5uYW1lIH19XHJcbiAgICAgIH1cclxuICAgIDwvYT5cclxuICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9nb0NvbXBvbmVudCB7XHJcbiAgZ2V0IGFwcEluZm8oKTogQXBwbGljYXRpb25JbmZvIHtcclxuICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmdldEVudmlyb25tZW50KCkuYXBwbGljYXRpb247XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVudmlyb25tZW50OiBFbnZpcm9ubWVudFNlcnZpY2UpIHt9XHJcbn1cclxuIl19
@@ -27,13 +27,13 @@ export class CurrentUserComponent {
27
27
  this.authService.logout().subscribe();
28
28
  }
29
29
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: CurrentUserComponent, deps: [{ token: NAVIGATE_TO_MANAGE_PROFILE }, { token: i1.UserMenuService }, { token: i2.AuthService }, { token: i2.ConfigStateService }, { token: i2.SessionStateService }], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: CurrentUserComponent, selector: "abp-current-user", ngImport: i0, template: "<ng-template #loginBtn>\r\n <a role=\"button\" class=\"nav-link pointer\" (click)=\"navigateToLogin()\">{{\r\n 'AbpAccount::Login' | abpLocalization\r\n }}</a>\r\n</ng-template>\r\n<div\r\n *ngIf=\"(currentUser$ | async)?.isAuthenticated; else loginBtn\"\r\n ngbDropdown\r\n class=\"dropdown\"\r\n #currentUserDropdown=\"ngbDropdown\"\r\n display=\"static\"\r\n>\r\n <a\r\n ngbDropdownToggle\r\n class=\"nav-link\"\r\n href=\"javascript:void(0)\"\r\n role=\"button\"\r\n id=\"dropdownMenuLink\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n aria-expanded=\"false\"\r\n >\r\n <small *ngIf=\"(selectedTenant$ | async)?.name as tenantName\"\r\n ><i>{{ tenantName }}</i\r\n >\\</small\r\n >\r\n <strong>{{ (currentUser$ | async)?.userName }}</strong>\r\n </a>\r\n <div\r\n class=\"dropdown-menu dropdown-menu-end border-0 shadow-sm\"\r\n aria-labelledby=\"dropdownMenuLink\"\r\n [class.d-block]=\"smallScreen && currentUserDropdown.isOpen()\"\r\n >\r\n <ng-container *ngFor=\"let item of userMenu.items$ | async; trackBy: trackByFn\">\r\n <ng-container *abpVisible=\"!item.visible || item.visible(item)\">\r\n <li class=\"nav-item d-flex align-items-center\" *abpPermission=\"item.requiredPolicy\">\r\n <ng-container\r\n *ngIf=\"item.component; else htmlTemplate\"\r\n [ngComponentOutlet]=\"item.component\"\r\n [ngComponentOutletInjector]=\"item | toInjector\"\r\n ></ng-container>\r\n\r\n <ng-template #htmlTemplate>\r\n <div\r\n *ngIf=\"item.html; else textTemplate\"\r\n [innerHTML]=\"item.html\"\r\n (click)=\"item.action ? item.action() : null\"\r\n ></div>\r\n </ng-template>\r\n\r\n <ng-template #textTemplate>\r\n <a\r\n *ngIf=\"item.textTemplate\"\r\n (click)=\"item.action ? item.action() : null\"\r\n class=\"dropdown-item pointer\"\r\n >\r\n <i *ngIf=\"item.textTemplate.icon\" class=\"me-1 {{ item.textTemplate.icon }}\"></i>\r\n {{ item.textTemplate.text | abpLocalization }}</a\r\n >\r\n </ng-template>\r\n </li>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i3.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission", "abpPermissionRunChangeDetection"] }, { kind: "directive", type: i1.AbpVisibleDirective, selector: "[abpVisible]", inputs: ["abpVisible"] }, { kind: "directive", type: i4.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i4.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.LocalizationPipe, name: "abpLocalization" }, { kind: "pipe", type: i2.ToInjectorPipe, name: "toInjector" }] }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: CurrentUserComponent, selector: "abp-current-user", ngImport: i0, template: "@if ((currentUser$ | async)?.isAuthenticated) {\r\n <div\r\n ngbDropdown\r\n class=\"dropdown\"\r\n #currentUserDropdown=\"ngbDropdown\"\r\n display=\"static\"\r\n >\r\n <a\r\n ngbDropdownToggle\r\n class=\"nav-link\"\r\n href=\"javascript:void(0)\"\r\n role=\"button\"\r\n id=\"dropdownMenuLink\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n aria-expanded=\"false\"\r\n >\r\n @if ((selectedTenant$ | async)?.name; as tenantName) {\r\n <small\r\n ><i>{{ tenantName }}</i\r\n >\\</small\r\n >\r\n }\r\n <strong>{{ (currentUser$ | async)?.userName }}</strong>\r\n </a>\r\n <div\r\n class=\"dropdown-menu dropdown-menu-end border-0 shadow-sm\"\r\n aria-labelledby=\"dropdownMenuLink\"\r\n [class.d-block]=\"smallScreen && currentUserDropdown.isOpen()\"\r\n >\r\n @for (item of userMenu.items$ | async; track $index) {\r\n <ng-container *abpVisible=\"!item.visible || item.visible(item)\">\r\n <li class=\"nav-item d-flex align-items-center\" *abpPermission=\"item.requiredPolicy\">\r\n @if (item.component) {\r\n <ng-container\r\n [ngComponentOutlet]=\"item.component\"\r\n [ngComponentOutletInjector]=\"item | toInjector\"\r\n ></ng-container>\r\n } @else {\r\n @if (item.html) {\r\n <div [innerHTML]=\"item.html\" (click)=\"item.action ? item.action() : null\"></div>\r\n } @else {\r\n @if (item.textTemplate) {\r\n <a (click)=\"item.action ? item.action() : null\" class=\"dropdown-item pointer\">\r\n @if (item.textTemplate.icon) {\r\n <i class=\"me-1 {{ item.textTemplate.icon }}\"></i>\r\n }\r\n {{ item.textTemplate.text | abpLocalization }}</a\r\n >\r\n }\r\n }\r\n }\r\n </li>\r\n </ng-container>\r\n }\r\n </div>\r\n </div>\r\n} @else {\r\n <ng-template #loginBtn>\r\n <a role=\"button\" class=\"nav-link pointer\" (click)=\"navigateToLogin()\">{{\r\n 'AbpAccount::Login' | abpLocalization\r\n }}</a>\r\n </ng-template>\r\n}\r\n", dependencies: [{ kind: "directive", type: i3.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i2.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission", "abpPermissionRunChangeDetection"] }, { kind: "directive", type: i1.AbpVisibleDirective, selector: "[abpVisible]", inputs: ["abpVisible"] }, { kind: "directive", type: i4.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i4.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.LocalizationPipe, name: "abpLocalization" }, { kind: "pipe", type: i2.ToInjectorPipe, name: "toInjector" }] }); }
31
31
  }
32
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: CurrentUserComponent, decorators: [{
33
33
  type: Component,
34
- args: [{ selector: 'abp-current-user', template: "<ng-template #loginBtn>\r\n <a role=\"button\" class=\"nav-link pointer\" (click)=\"navigateToLogin()\">{{\r\n 'AbpAccount::Login' | abpLocalization\r\n }}</a>\r\n</ng-template>\r\n<div\r\n *ngIf=\"(currentUser$ | async)?.isAuthenticated; else loginBtn\"\r\n ngbDropdown\r\n class=\"dropdown\"\r\n #currentUserDropdown=\"ngbDropdown\"\r\n display=\"static\"\r\n>\r\n <a\r\n ngbDropdownToggle\r\n class=\"nav-link\"\r\n href=\"javascript:void(0)\"\r\n role=\"button\"\r\n id=\"dropdownMenuLink\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n aria-expanded=\"false\"\r\n >\r\n <small *ngIf=\"(selectedTenant$ | async)?.name as tenantName\"\r\n ><i>{{ tenantName }}</i\r\n >\\</small\r\n >\r\n <strong>{{ (currentUser$ | async)?.userName }}</strong>\r\n </a>\r\n <div\r\n class=\"dropdown-menu dropdown-menu-end border-0 shadow-sm\"\r\n aria-labelledby=\"dropdownMenuLink\"\r\n [class.d-block]=\"smallScreen && currentUserDropdown.isOpen()\"\r\n >\r\n <ng-container *ngFor=\"let item of userMenu.items$ | async; trackBy: trackByFn\">\r\n <ng-container *abpVisible=\"!item.visible || item.visible(item)\">\r\n <li class=\"nav-item d-flex align-items-center\" *abpPermission=\"item.requiredPolicy\">\r\n <ng-container\r\n *ngIf=\"item.component; else htmlTemplate\"\r\n [ngComponentOutlet]=\"item.component\"\r\n [ngComponentOutletInjector]=\"item | toInjector\"\r\n ></ng-container>\r\n\r\n <ng-template #htmlTemplate>\r\n <div\r\n *ngIf=\"item.html; else textTemplate\"\r\n [innerHTML]=\"item.html\"\r\n (click)=\"item.action ? item.action() : null\"\r\n ></div>\r\n </ng-template>\r\n\r\n <ng-template #textTemplate>\r\n <a\r\n *ngIf=\"item.textTemplate\"\r\n (click)=\"item.action ? item.action() : null\"\r\n class=\"dropdown-item pointer\"\r\n >\r\n <i *ngIf=\"item.textTemplate.icon\" class=\"me-1 {{ item.textTemplate.icon }}\"></i>\r\n {{ item.textTemplate.text | abpLocalization }}</a\r\n >\r\n </ng-template>\r\n </li>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n</div>\r\n" }]
34
+ args: [{ selector: 'abp-current-user', template: "@if ((currentUser$ | async)?.isAuthenticated) {\r\n <div\r\n ngbDropdown\r\n class=\"dropdown\"\r\n #currentUserDropdown=\"ngbDropdown\"\r\n display=\"static\"\r\n >\r\n <a\r\n ngbDropdownToggle\r\n class=\"nav-link\"\r\n href=\"javascript:void(0)\"\r\n role=\"button\"\r\n id=\"dropdownMenuLink\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n aria-expanded=\"false\"\r\n >\r\n @if ((selectedTenant$ | async)?.name; as tenantName) {\r\n <small\r\n ><i>{{ tenantName }}</i\r\n >\\</small\r\n >\r\n }\r\n <strong>{{ (currentUser$ | async)?.userName }}</strong>\r\n </a>\r\n <div\r\n class=\"dropdown-menu dropdown-menu-end border-0 shadow-sm\"\r\n aria-labelledby=\"dropdownMenuLink\"\r\n [class.d-block]=\"smallScreen && currentUserDropdown.isOpen()\"\r\n >\r\n @for (item of userMenu.items$ | async; track $index) {\r\n <ng-container *abpVisible=\"!item.visible || item.visible(item)\">\r\n <li class=\"nav-item d-flex align-items-center\" *abpPermission=\"item.requiredPolicy\">\r\n @if (item.component) {\r\n <ng-container\r\n [ngComponentOutlet]=\"item.component\"\r\n [ngComponentOutletInjector]=\"item | toInjector\"\r\n ></ng-container>\r\n } @else {\r\n @if (item.html) {\r\n <div [innerHTML]=\"item.html\" (click)=\"item.action ? item.action() : null\"></div>\r\n } @else {\r\n @if (item.textTemplate) {\r\n <a (click)=\"item.action ? item.action() : null\" class=\"dropdown-item pointer\">\r\n @if (item.textTemplate.icon) {\r\n <i class=\"me-1 {{ item.textTemplate.icon }}\"></i>\r\n }\r\n {{ item.textTemplate.text | abpLocalization }}</a\r\n >\r\n }\r\n }\r\n }\r\n </li>\r\n </ng-container>\r\n }\r\n </div>\r\n </div>\r\n} @else {\r\n <ng-template #loginBtn>\r\n <a role=\"button\" class=\"nav-link pointer\" (click)=\"navigateToLogin()\">{{\r\n 'AbpAccount::Login' | abpLocalization\r\n }}</a>\r\n </ng-template>\r\n}\r\n" }]
35
35
  }], ctorParameters: () => [{ type: undefined, decorators: [{
36
36
  type: Inject,
37
37
  args: [NAVIGATE_TO_MANAGE_PROFILE]
38
38
  }] }, { type: i1.UserMenuService }, { type: i2.AuthService }, { type: i2.ConfigStateService }, { type: i2.SessionStateService }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVudC11c2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9uYXYtaXRlbXMvY3VycmVudC11c2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9uYXYtaXRlbXMvY3VycmVudC11c2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsa0JBQWtCLEVBRWxCLDBCQUEwQixFQUMxQixtQkFBbUIsR0FDcEIsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFZLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFtQixNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBT25FLE1BQU0sT0FBTyxvQkFBb0I7SUFNL0IsSUFBSSxXQUFXO1FBQ2IsT0FBTyxNQUFNLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFDc0QsdUJBQW1DLEVBQ3ZFLFFBQXlCLEVBQ2pDLFdBQXdCLEVBQ3hCLFdBQStCLEVBQy9CLFlBQWlDO1FBSlcsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFZO1FBQ3ZFLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ2pDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUMvQixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFkM0MsaUJBQVksR0FBK0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbkYsb0JBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRWpELGNBQVMsR0FBOEIsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO0lBWS9ELENBQUM7SUFFSixlQUFlO1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDeEMsQ0FBQzs4R0F4QlUsb0JBQW9CLGtCQVdyQiwwQkFBMEI7a0dBWHpCLG9CQUFvQix3RENmakMsNnlFQWlFQTs7MkZEbERhLG9CQUFvQjtrQkFKaEMsU0FBUzsrQkFDRSxrQkFBa0I7OzBCQWN6QixNQUFNOzJCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQXV0aFNlcnZpY2UsXHJcbiAgQ29uZmlnU3RhdGVTZXJ2aWNlLFxyXG4gIEN1cnJlbnRVc2VyRHRvLFxyXG4gIE5BVklHQVRFX1RPX01BTkFHRV9QUk9GSUxFLFxyXG4gIFNlc3Npb25TdGF0ZVNlcnZpY2UsXHJcbn0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgVXNlck1lbnUsIFVzZXJNZW51U2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIFRyYWNrQnlGdW5jdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FicC1jdXJyZW50LXVzZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXJyZW50LXVzZXIuY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3VycmVudFVzZXJDb21wb25lbnQge1xyXG4gIGN1cnJlbnRVc2VyJDogT2JzZXJ2YWJsZTxDdXJyZW50VXNlckR0bz4gPSB0aGlzLmNvbmZpZ1N0YXRlLmdldE9uZSQoJ2N1cnJlbnRVc2VyJyk7XHJcbiAgc2VsZWN0ZWRUZW5hbnQkID0gdGhpcy5zZXNzaW9uU3RhdGUuZ2V0VGVuYW50JCgpO1xyXG5cclxuICB0cmFja0J5Rm46IFRyYWNrQnlGdW5jdGlvbjxVc2VyTWVudT4gPSAoXywgZWxlbWVudCkgPT4gZWxlbWVudC5pZDtcclxuXHJcbiAgZ2V0IHNtYWxsU2NyZWVuKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoIDwgOTkyO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KE5BVklHQVRFX1RPX01BTkFHRV9QUk9GSUxFKSBwdWJsaWMgcmVhZG9ubHkgbmF2aWdhdGVUb01hbmFnZVByb2ZpbGU6ICgpID0+IHZvaWQsXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgdXNlck1lbnU6IFVzZXJNZW51U2VydmljZSxcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb25maWdTdGF0ZTogQ29uZmlnU3RhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzZXNzaW9uU3RhdGU6IFNlc3Npb25TdGF0ZVNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBuYXZpZ2F0ZVRvTG9naW4oKSB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLm5hdmlnYXRlVG9Mb2dpbigpO1xyXG4gIH1cclxuXHJcbiAgbG9nb3V0KCkge1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQoKS5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIiwiPG5nLXRlbXBsYXRlICNsb2dpbkJ0bj5cclxuICA8YSByb2xlPVwiYnV0dG9uXCIgY2xhc3M9XCJuYXYtbGluayBwb2ludGVyXCIgKGNsaWNrKT1cIm5hdmlnYXRlVG9Mb2dpbigpXCI+e3tcclxuICAgICdBYnBBY2NvdW50OjpMb2dpbicgfCBhYnBMb2NhbGl6YXRpb25cclxuICB9fTwvYT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPGRpdlxyXG4gICpuZ0lmPVwiKGN1cnJlbnRVc2VyJCB8IGFzeW5jKT8uaXNBdXRoZW50aWNhdGVkOyBlbHNlIGxvZ2luQnRuXCJcclxuICBuZ2JEcm9wZG93blxyXG4gIGNsYXNzPVwiZHJvcGRvd25cIlxyXG4gICNjdXJyZW50VXNlckRyb3Bkb3duPVwibmdiRHJvcGRvd25cIlxyXG4gIGRpc3BsYXk9XCJzdGF0aWNcIlxyXG4+XHJcbiAgPGFcclxuICAgIG5nYkRyb3Bkb3duVG9nZ2xlXHJcbiAgICBjbGFzcz1cIm5hdi1saW5rXCJcclxuICAgIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxyXG4gICAgcm9sZT1cImJ1dHRvblwiXHJcbiAgICBpZD1cImRyb3Bkb3duTWVudUxpbmtcIlxyXG4gICAgZGF0YS10b2dnbGU9XCJkcm9wZG93blwiXHJcbiAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXHJcbiAgICBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIlxyXG4gID5cclxuICAgIDxzbWFsbCAqbmdJZj1cIihzZWxlY3RlZFRlbmFudCQgfCBhc3luYyk/Lm5hbWUgYXMgdGVuYW50TmFtZVwiXHJcbiAgICAgID48aT57eyB0ZW5hbnROYW1lIH19PC9pXHJcbiAgICAgID5cXDwvc21hbGxcclxuICAgID5cclxuICAgIDxzdHJvbmc+e3sgKGN1cnJlbnRVc2VyJCB8IGFzeW5jKT8udXNlck5hbWUgfX08L3N0cm9uZz5cclxuICA8L2E+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJkcm9wZG93bi1tZW51IGRyb3Bkb3duLW1lbnUtZW5kIGJvcmRlci0wIHNoYWRvdy1zbVwiXHJcbiAgICBhcmlhLWxhYmVsbGVkYnk9XCJkcm9wZG93bk1lbnVMaW5rXCJcclxuICAgIFtjbGFzcy5kLWJsb2NrXT1cInNtYWxsU2NyZWVuICYmIGN1cnJlbnRVc2VyRHJvcGRvd24uaXNPcGVuKClcIlxyXG4gID5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdXNlck1lbnUuaXRlbXMkIHwgYXN5bmM7IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICphYnBWaXNpYmxlPVwiIWl0ZW0udmlzaWJsZSB8fCBpdGVtLnZpc2libGUoaXRlbSlcIj5cclxuICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCIgKmFicFBlcm1pc3Npb249XCJpdGVtLnJlcXVpcmVkUG9saWN5XCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICpuZ0lmPVwiaXRlbS5jb21wb25lbnQ7IGVsc2UgaHRtbFRlbXBsYXRlXCJcclxuICAgICAgICAgICAgW25nQ29tcG9uZW50T3V0bGV0XT1cIml0ZW0uY29tcG9uZW50XCJcclxuICAgICAgICAgICAgW25nQ29tcG9uZW50T3V0bGV0SW5qZWN0b3JdPVwiaXRlbSB8IHRvSW5qZWN0b3JcIlxyXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaHRtbFRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmh0bWw7IGVsc2UgdGV4dFRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIml0ZW0uaHRtbFwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIml0ZW0uYWN0aW9uID8gaXRlbS5hY3Rpb24oKSA6IG51bGxcIlxyXG4gICAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdGV4dFRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS50ZXh0VGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJpdGVtLmFjdGlvbiA/IGl0ZW0uYWN0aW9uKCkgOiBudWxsXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLWl0ZW0gcG9pbnRlclwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8aSAqbmdJZj1cIml0ZW0udGV4dFRlbXBsYXRlLmljb25cIiBjbGFzcz1cIm1lLTEge3sgaXRlbS50ZXh0VGVtcGxhdGUuaWNvbiB9fVwiPjwvaT5cclxuICAgICAgICAgICAgICB7eyBpdGVtLnRleHRUZW1wbGF0ZS50ZXh0IHwgYWJwTG9jYWxpemF0aW9uIH19PC9hXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVudC11c2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9uYXYtaXRlbXMvY3VycmVudC11c2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9uYXYtaXRlbXMvY3VycmVudC11c2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsa0JBQWtCLEVBRWxCLDBCQUEwQixFQUMxQixtQkFBbUIsR0FDcEIsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFZLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFtQixNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBT25FLE1BQU0sT0FBTyxvQkFBb0I7SUFNL0IsSUFBSSxXQUFXO1FBQ2IsT0FBTyxNQUFNLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFDc0QsdUJBQW1DLEVBQ3ZFLFFBQXlCLEVBQ2pDLFdBQXdCLEVBQ3hCLFdBQStCLEVBQy9CLFlBQWlDO1FBSlcsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFZO1FBQ3ZFLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ2pDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUMvQixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFkM0MsaUJBQVksR0FBK0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbkYsb0JBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRWpELGNBQVMsR0FBOEIsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO0lBWS9ELENBQUM7SUFFSixlQUFlO1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDeEMsQ0FBQzs4R0F4QlUsb0JBQW9CLGtCQVdyQiwwQkFBMEI7a0dBWHpCLG9CQUFvQix3RENmakMsdXhFQWdFQTs7MkZEakRhLG9CQUFvQjtrQkFKaEMsU0FBUzsrQkFDRSxrQkFBa0I7OzBCQWN6QixNQUFNOzJCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQXV0aFNlcnZpY2UsXHJcbiAgQ29uZmlnU3RhdGVTZXJ2aWNlLFxyXG4gIEN1cnJlbnRVc2VyRHRvLFxyXG4gIE5BVklHQVRFX1RPX01BTkFHRV9QUk9GSUxFLFxyXG4gIFNlc3Npb25TdGF0ZVNlcnZpY2UsXHJcbn0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgVXNlck1lbnUsIFVzZXJNZW51U2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIFRyYWNrQnlGdW5jdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FicC1jdXJyZW50LXVzZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXJyZW50LXVzZXIuY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3VycmVudFVzZXJDb21wb25lbnQge1xyXG4gIGN1cnJlbnRVc2VyJDogT2JzZXJ2YWJsZTxDdXJyZW50VXNlckR0bz4gPSB0aGlzLmNvbmZpZ1N0YXRlLmdldE9uZSQoJ2N1cnJlbnRVc2VyJyk7XHJcbiAgc2VsZWN0ZWRUZW5hbnQkID0gdGhpcy5zZXNzaW9uU3RhdGUuZ2V0VGVuYW50JCgpO1xyXG5cclxuICB0cmFja0J5Rm46IFRyYWNrQnlGdW5jdGlvbjxVc2VyTWVudT4gPSAoXywgZWxlbWVudCkgPT4gZWxlbWVudC5pZDtcclxuXHJcbiAgZ2V0IHNtYWxsU2NyZWVuKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoIDwgOTkyO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KE5BVklHQVRFX1RPX01BTkFHRV9QUk9GSUxFKSBwdWJsaWMgcmVhZG9ubHkgbmF2aWdhdGVUb01hbmFnZVByb2ZpbGU6ICgpID0+IHZvaWQsXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgdXNlck1lbnU6IFVzZXJNZW51U2VydmljZSxcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb25maWdTdGF0ZTogQ29uZmlnU3RhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzZXNzaW9uU3RhdGU6IFNlc3Npb25TdGF0ZVNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBuYXZpZ2F0ZVRvTG9naW4oKSB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLm5hdmlnYXRlVG9Mb2dpbigpO1xyXG4gIH1cclxuXHJcbiAgbG9nb3V0KCkge1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQoKS5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIiwiQGlmICgoY3VycmVudFVzZXIkIHwgYXN5bmMpPy5pc0F1dGhlbnRpY2F0ZWQpIHtcclxuICA8ZGl2XHJcbiAgICBuZ2JEcm9wZG93blxyXG4gICAgY2xhc3M9XCJkcm9wZG93blwiXHJcbiAgICAjY3VycmVudFVzZXJEcm9wZG93bj1cIm5nYkRyb3Bkb3duXCJcclxuICAgIGRpc3BsYXk9XCJzdGF0aWNcIlxyXG4gID5cclxuICAgIDxhXHJcbiAgICAgIG5nYkRyb3Bkb3duVG9nZ2xlXHJcbiAgICAgIGNsYXNzPVwibmF2LWxpbmtcIlxyXG4gICAgICBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCJcclxuICAgICAgcm9sZT1cImJ1dHRvblwiXHJcbiAgICAgIGlkPVwiZHJvcGRvd25NZW51TGlua1wiXHJcbiAgICAgIGRhdGEtdG9nZ2xlPVwiZHJvcGRvd25cIlxyXG4gICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXHJcbiAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXHJcbiAgICA+XHJcbiAgICAgIEBpZiAoKHNlbGVjdGVkVGVuYW50JCB8IGFzeW5jKT8ubmFtZTsgYXMgdGVuYW50TmFtZSkge1xyXG4gICAgICAgIDxzbWFsbFxyXG4gICAgICAgICAgPjxpPnt7IHRlbmFudE5hbWUgfX08L2lcclxuICAgICAgICAgID5cXDwvc21hbGxcclxuICAgICAgICA+XHJcbiAgICAgIH1cclxuICAgICAgPHN0cm9uZz57eyAoY3VycmVudFVzZXIkIHwgYXN5bmMpPy51c2VyTmFtZSB9fTwvc3Ryb25nPlxyXG4gICAgPC9hPlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cImRyb3Bkb3duLW1lbnUgZHJvcGRvd24tbWVudS1lbmQgYm9yZGVyLTAgc2hhZG93LXNtXCJcclxuICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiZHJvcGRvd25NZW51TGlua1wiXHJcbiAgICAgIFtjbGFzcy5kLWJsb2NrXT1cInNtYWxsU2NyZWVuICYmIGN1cnJlbnRVc2VyRHJvcGRvd24uaXNPcGVuKClcIlxyXG4gICAgPlxyXG4gICAgICBAZm9yIChpdGVtIG9mIHVzZXJNZW51Lml0ZW1zJCB8IGFzeW5jOyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICA8bmctY29udGFpbmVyICphYnBWaXNpYmxlPVwiIWl0ZW0udmlzaWJsZSB8fCBpdGVtLnZpc2libGUoaXRlbSlcIj5cclxuICAgICAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIiAqYWJwUGVybWlzc2lvbj1cIml0ZW0ucmVxdWlyZWRQb2xpY3lcIj5cclxuICAgICAgICAgICAgQGlmIChpdGVtLmNvbXBvbmVudCkge1xyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgIFtuZ0NvbXBvbmVudE91dGxldF09XCJpdGVtLmNvbXBvbmVudFwiXHJcbiAgICAgICAgICAgICAgICBbbmdDb21wb25lbnRPdXRsZXRJbmplY3Rvcl09XCJpdGVtIHwgdG9JbmplY3RvclwiXHJcbiAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICBAaWYgKGl0ZW0uaHRtbCkge1xyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cIml0ZW0uaHRtbFwiIChjbGljayk9XCJpdGVtLmFjdGlvbiA/IGl0ZW0uYWN0aW9uKCkgOiBudWxsXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW0udGV4dFRlbXBsYXRlKSB7XHJcbiAgICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJpdGVtLmFjdGlvbiA/IGl0ZW0uYWN0aW9uKCkgOiBudWxsXCIgY2xhc3M9XCJkcm9wZG93bi1pdGVtIHBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0udGV4dFRlbXBsYXRlLmljb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwibWUtMSB7eyBpdGVtLnRleHRUZW1wbGF0ZS5pY29uIH19XCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLnRleHRUZW1wbGF0ZS50ZXh0IHwgYWJwTG9jYWxpemF0aW9uIH19PC9hXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG59IEBlbHNlIHtcclxuICA8bmctdGVtcGxhdGUgI2xvZ2luQnRuPlxyXG4gICAgPGEgcm9sZT1cImJ1dHRvblwiIGNsYXNzPVwibmF2LWxpbmsgcG9pbnRlclwiIChjbGljayk9XCJuYXZpZ2F0ZVRvTG9naW4oKVwiPnt7XHJcbiAgICAgICdBYnBBY2NvdW50OjpMb2dpbicgfCBhYnBMb2NhbGl6YXRpb25cclxuICAgIH19PC9hPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbn1cclxuIl19