@abp/ng.theme.basic 10.0.2 → 10.1.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.
- package/fesm2022/abp-ng.theme.basic-testing.mjs +4 -4
- package/fesm2022/abp-ng.theme.basic-testing.mjs.map +1 -1
- package/fesm2022/abp-ng.theme.basic.mjs +52 -52
- package/fesm2022/abp-ng.theme.basic.mjs.map +1 -1
- package/package.json +6 -6
- /package/{testing/index.d.ts → types/abp-ng.theme.basic-testing.d.ts} +0 -0
- /package/{index.d.ts → types/abp-ng.theme.basic.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abp-ng.theme.basic.mjs","sources":["../tmp-esm2022/lib/services/layout.service.js","../tmp-esm2022/lib/components/logo/logo.component.js","../tmp-esm2022/lib/components/routes/routes.component.js","../tmp-esm2022/lib/components/nav-items/nav-items.component.js","../tmp-esm2022/lib/components/account-layout/tenant-box/tenant-box.component.js","../tmp-esm2022/lib/components/account-layout/auth-wrapper/auth-wrapper.component.js","../tmp-esm2022/lib/components/page-alert-container/page-alert-container.component.js","../tmp-esm2022/lib/components/account-layout/account-layout.component.js","../tmp-esm2022/lib/components/application-layout/application-layout.component.js","../tmp-esm2022/lib/components/empty-layout/empty-layout.component.js","../tmp-esm2022/lib/components/nav-items/current-user.component.js","../tmp-esm2022/lib/components/nav-items/languages.component.js","../tmp-esm2022/lib/components/validation-error/validation-error.component.js","../tmp-esm2022/lib/tokens/lazy-styles.token.js","../tmp-esm2022/lib/handlers/lazy-style.handler.js","../tmp-esm2022/lib/providers/nav-item.provider.js","../tmp-esm2022/lib/constants/styles.js","../tmp-esm2022/lib/providers/styles.provider.js","../tmp-esm2022/lib/providers/user-menu.provider.js","../tmp-esm2022/lib/providers/theme-basic-config.provider.js","../tmp-esm2022/lib/theme-basic.module.js","../tmp-esm2022/public-api.js","../tmp-esm2022/abp-ng.theme.basic.js"],"sourcesContent":["import { RouterEvents, SubscriptionService } from '@abp/ng.core';\nimport { ChangeDetectorRef, Injectable, inject } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { DOCUMENT } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class LayoutService {\n constructor() {\n this.subscription = inject(SubscriptionService);\n this.cdRef = inject(ChangeDetectorRef);\n this.document = inject(DOCUMENT);\n this.isCollapsed = true;\n this.logoComponentKey = \"Theme.LogoComponent\" /* eThemeBasicComponents.Logo */;\n this.routesComponentKey = \"Theme.RoutesComponent\" /* eThemeBasicComponents.Routes */;\n this.navItemsComponentKey = \"Theme.NavItemsComponent\" /* eThemeBasicComponents.NavItems */;\n const subscription = this.subscription;\n const routerEvents = inject(RouterEvents);\n subscription.addOne(routerEvents.getNavigationEvents(\"End\"), () => {\n this.isCollapsed = true;\n });\n }\n checkWindowWidth() {\n const isSmallScreen = this.document.defaultView.innerWidth < 992;\n if (isSmallScreen && this.smallScreen === false) {\n this.isCollapsed = false;\n setTimeout(() => {\n this.isCollapsed = true;\n }, 100);\n }\n this.smallScreen = isSmallScreen;\n this.cdRef.detectChanges();\n }\n subscribeWindowSize() {\n this.checkWindowWidth();\n const resize$ = fromEvent(this.document.defaultView, 'resize').pipe(debounceTime(150));\n this.subscription.addOne(resize$, () => this.checkWindowWidth());\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: LayoutService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: LayoutService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: LayoutService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1iYXNpYy9zcmMvbGliL3NlcnZpY2VzL2xheW91dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUczQyxNQUFNLE9BQU8sYUFBYTtJQWV4QjtRQWRRLGlCQUFZLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDM0MsVUFBSyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTFDLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFJbkIscUJBQWdCLDBEQUE4QjtRQUU5Qyx1QkFBa0IsOERBQWdDO1FBRWxELHlCQUFvQixrRUFBa0M7UUFHcEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN2QyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFMUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLEVBQUMsR0FBRyxFQUFFO1lBQy9ELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO1FBQ2pFLElBQUksYUFBYSxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDaEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDekIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUMxQixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDVixDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxhQUFhLENBQUM7UUFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRXhCLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkYsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQzs4R0F6Q1UsYUFBYTtrSEFBYixhQUFhOzsyRkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSb3V0ZXJFdmVudHMsIFN1YnNjcmlwdGlvblNlcnZpY2V9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgZVRoZW1lQmFzaWNDb21wb25lbnRzIH0gZnJvbSAnLi4vZW51bXMnO1xyXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBMYXlvdXRTZXJ2aWNlIHtcclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbiA9IGluamVjdChTdWJzY3JpcHRpb25TZXJ2aWNlKTtcclxuICBwcml2YXRlIGNkUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcclxuXHJcbiAgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xyXG4gIGlzQ29sbGFwc2VkID0gdHJ1ZTtcclxuXHJcbiAgc21hbGxTY3JlZW4hOiBib29sZWFuOyAvLyBkbyBub3Qgc2V0IHRydWUgb3IgZmFsc2VcclxuXHJcbiAgbG9nb0NvbXBvbmVudEtleSA9IGVUaGVtZUJhc2ljQ29tcG9uZW50cy5Mb2dvO1xyXG5cclxuICByb3V0ZXNDb21wb25lbnRLZXkgPSBlVGhlbWVCYXNpY0NvbXBvbmVudHMuUm91dGVzO1xyXG5cclxuICBuYXZJdGVtc0NvbXBvbmVudEtleSA9IGVUaGVtZUJhc2ljQ29tcG9uZW50cy5OYXZJdGVtcztcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLnN1YnNjcmlwdGlvbjtcclxuICAgIGNvbnN0IHJvdXRlckV2ZW50cyA9IGluamVjdChSb3V0ZXJFdmVudHMpO1xyXG5cclxuICAgIHN1YnNjcmlwdGlvbi5hZGRPbmUocm91dGVyRXZlbnRzLmdldE5hdmlnYXRpb25FdmVudHMoXCJFbmRcIiksKCkgPT4ge1xyXG4gICAgICB0aGlzLmlzQ29sbGFwc2VkID0gdHJ1ZTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoZWNrV2luZG93V2lkdGgoKSB7XHJcbiAgICBjb25zdCBpc1NtYWxsU2NyZWVuID0gdGhpcy5kb2N1bWVudC5kZWZhdWx0Vmlldy5pbm5lcldpZHRoIDwgOTkyO1xyXG4gICAgaWYgKGlzU21hbGxTY3JlZW4gJiYgdGhpcy5zbWFsbFNjcmVlbiA9PT0gZmFsc2UpIHtcclxuICAgICAgdGhpcy5pc0NvbGxhcHNlZCA9IGZhbHNlO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmlzQ29sbGFwc2VkID0gdHJ1ZTtcclxuICAgICAgfSwgMTAwKTtcclxuICAgIH1cclxuICAgIHRoaXMuc21hbGxTY3JlZW4gPSBpc1NtYWxsU2NyZWVuO1xyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzdWJzY3JpYmVXaW5kb3dTaXplKCkge1xyXG4gICAgdGhpcy5jaGVja1dpbmRvd1dpZHRoKCk7XHJcblxyXG4gICAgY29uc3QgcmVzaXplJCA9IGZyb21FdmVudCh0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3LCAncmVzaXplJykucGlwZShkZWJvdW5jZVRpbWUoMTUwKSk7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGRPbmUocmVzaXplJCwgKCkgPT4gdGhpcy5jaGVja1dpbmRvd1dpZHRoKCkpO1xyXG4gIH1cclxufVxyXG4iXX0=","import { EnvironmentService } from '@abp/ng.core';\nimport { RouterLink } from '@angular/router';\nimport { Component, inject } from '@angular/core';\nimport { LOGO_APP_NAME_TOKEN, LOGO_URL_TOKEN } from '@abp/ng.theme.shared';\nimport * as i0 from \"@angular/core\";\nexport class LogoComponent {\n constructor() {\n this.environment = inject(EnvironmentService);\n this.providedLogoUrl = inject(LOGO_URL_TOKEN, { optional: true });\n this.providedAppName = inject(LOGO_APP_NAME_TOKEN, { optional: true });\n }\n get logoUrl() {\n return (this.providedLogoUrl ?? this.environment.getEnvironment().application?.logoUrl);\n }\n get appName() {\n return (this.providedAppName ?? this.environment.getEnvironment().application?.name);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: LogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: LogoComponent, isStandalone: true, selector: \"abp-logo\", ngImport: i0, template: `\r\n <a class=\"navbar-brand\" routerLink=\"/\">\r\n @if (logoUrl) {\r\n <img [src]=\"logoUrl\" [alt]=\"appName\" width=\"100%\" height=\"auto\" />\r\n } @else {\r\n {{ appName }}\r\n }\r\n </a>\r\n `, isInline: true, dependencies: [{ kind: \"directive\", type: RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: LogoComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'abp-logo',\n template: `\r\n <a class=\"navbar-brand\" routerLink=\"/\">\r\n @if (logoUrl) {\r\n <img [src]=\"logoUrl\" [alt]=\"appName\" width=\"100%\" height=\"auto\" />\r\n } @else {\r\n {{ appName }}\r\n }\r\n </a>\r\n `,\n standalone: true,\n imports: [RouterLink],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1iYXNpYy9zcmMvbGliL2NvbXBvbmVudHMvbG9nby9sb2dvLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFnQjNFLE1BQU0sT0FBTyxhQUFhO0lBZDFCO1FBZVUsZ0JBQVcsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUVoQyxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxjQUFjLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM3RCxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0tBYXBGO0lBWEMsSUFBSSxPQUFPO1FBQ1QsT0FBTyxDQUNMLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUMvRSxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sQ0FDTCxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLENBQUMsV0FBVyxFQUFFLElBQUksQ0FDNUUsQ0FBQztJQUNKLENBQUM7OEdBaEJVLGFBQWE7a0dBQWIsYUFBYSxvRUFaZDs7Ozs7Ozs7R0FRVCw0REFFUyxVQUFVOzsyRkFFVCxhQUFhO2tCQWR6QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxVQUFVO29CQUNwQixRQUFRLEVBQUU7Ozs7Ozs7O0dBUVQ7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQztpQkFDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZpcm9ubWVudFNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTE9HT19BUFBfTkFNRV9UT0tFTiwgTE9HT19VUkxfVE9LRU4gfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FicC1sb2dvJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGEgY2xhc3M9XCJuYXZiYXItYnJhbmRcIiByb3V0ZXJMaW5rPVwiL1wiPlxyXG4gICAgICBAaWYgKGxvZ29VcmwpIHtcclxuICAgICAgICA8aW1nIFtzcmNdPVwibG9nb1VybFwiIFthbHRdPVwiYXBwTmFtZVwiIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cImF1dG9cIiAvPlxyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICB7eyBhcHBOYW1lIH19XHJcbiAgICAgIH1cclxuICAgIDwvYT5cclxuICBgLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1JvdXRlckxpbmtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9nb0NvbXBvbmVudCB7XHJcbiAgcHJpdmF0ZSBlbnZpcm9ubWVudCA9IGluamVjdChFbnZpcm9ubWVudFNlcnZpY2UpO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IHByb3ZpZGVkTG9nb1VybCA9IGluamVjdChMT0dPX1VSTF9UT0tFTiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcclxuICBwcml2YXRlIHJlYWRvbmx5IHByb3ZpZGVkQXBwTmFtZSA9IGluamVjdChMT0dPX0FQUF9OQU1FX1RPS0VOLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xyXG5cclxuICBnZXQgbG9nb1VybCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgdGhpcy5wcm92aWRlZExvZ29VcmwgPz8gdGhpcy5lbnZpcm9ubWVudC5nZXRFbnZpcm9ubWVudCgpLmFwcGxpY2F0aW9uPy5sb2dvVXJsXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGFwcE5hbWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMucHJvdmlkZWRBcHBOYW1lID8/IHRoaXMuZW52aXJvbm1lbnQuZ2V0RW52aXJvbm1lbnQoKS5hcHBsaWNhdGlvbj8ubmFtZVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19","import { LazyLocalizationPipe, LocalizationPipe, PermissionDirective, RoutesService, } from '@abp/ng.core';\nimport { Component, inject, Input, QueryList, Renderer2, ViewChildren, } from '@angular/core';\nimport { NgTemplateOutlet, NgClass, AsyncPipe } from '@angular/common';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { RouterLink } from '@angular/router';\nimport { EllipsisDirective } from '@abp/ng.theme.shared';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@ng-bootstrap/ng-bootstrap\";\nexport class RoutesComponent {\n constructor() {\n this.routesService = inject(RoutesService);\n this.renderer = inject(Renderer2);\n this.rootDropdownExpand = {};\n this.trackByFn = (_, item) => item.name;\n }\n isDropdown(node) {\n return !node?.isLeaf || this.routesService.hasChildren(node.name);\n }\n closeDropdown() {\n this.childrenContainers.forEach(({ nativeElement }) => {\n this.renderer.addClass(nativeElement, 'd-none');\n setTimeout(() => this.renderer.removeClass(nativeElement, 'd-none'), 0);\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: RoutesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: RoutesComponent, isStandalone: true, selector: \"abp-routes\", inputs: { smallScreen: \"smallScreen\" }, viewQueries: [{ propertyName: \"childrenContainers\", predicate: [\"childrenContainer\"], descendants: true }], ngImport: i0, template: \"<ul class=\\\"navbar-nav\\\">\\r\\n @for (route of routesService.visible$ | async; track $index) {\\r\\n <ng-container\\r\\n [ngTemplateOutlet]=\\\"isDropdown(route) ? dropdownLink : defaultLink\\\"\\r\\n [ngTemplateOutletContext]=\\\"{ $implicit: route }\\\"\\r\\n />\\r\\n }\\r\\n\\r\\n <ng-template #defaultLink let-route>\\r\\n <li class=\\\"nav-item\\\" *abpPermission=\\\"route.requiredPolicy\\\">\\r\\n <a class=\\\"nav-link\\\" [routerLink]=\\\"[route.path]\\\">\\r\\n @if (route.iconClass) {\\r\\n <i [ngClass]=\\\"route.iconClass\\\"></i>\\r\\n }\\r\\n {{ route.name | abpLazyLocalization | async }}\\r\\n </a>\\r\\n </li>\\r\\n </ng-template>\\r\\n\\r\\n <ng-template #dropdownLink let-route>\\r\\n @if (route.children?.length) {\\r\\n <li\\r\\n class=\\\"nav-item dropdown\\\"\\r\\n display=\\\"static\\\"\\r\\n *abpPermission=\\\"route.requiredPolicy\\\"\\r\\n (click)=\\\"\\r\\n rootDropdownExpand[route.name]\\r\\n ? (rootDropdownExpand[route.name] = false)\\r\\n : (rootDropdownExpand[route.name] = true)\\r\\n \\\"\\r\\n >\\r\\n <a\\r\\n class=\\\"nav-link dropdown-toggle\\\"\\r\\n data-toggle=\\\"dropdown\\\"\\r\\n aria-haspopup=\\\"true\\\"\\r\\n aria-expanded=\\\"false\\\"\\r\\n href=\\\"javascript:void(0)\\\"\\r\\n >\\r\\n @if (route.iconClass) {\\r\\n <i [ngClass]=\\\"route.iconClass\\\"></i>\\r\\n }\\r\\n {{ route.name | abpLazyLocalization | async }}\\r\\n </a>\\r\\n <div\\r\\n #routeContainer\\r\\n class=\\\"dropdown-menu border-0 shadow-sm\\\"\\r\\n (click)=\\\"$event.preventDefault(); $event.stopPropagation()\\\"\\r\\n [class.d-block]=\\\"smallScreen && rootDropdownExpand[route.name]\\\"\\r\\n >\\r\\n <ng-container *ngTemplateOutlet=\\\"forTemplate; context: { $implicit: route }\\\" />\\r\\n </div>\\r\\n </li>\\r\\n }\\r\\n </ng-template>\\r\\n\\r\\n <ng-template #forTemplate let-route>\\r\\n @for (child of route.children; track $index) {\\r\\n <ng-template\\r\\n [ngTemplateOutlet]=\\\"child.children?.length ? dropdownChild : defaultChild\\\"\\r\\n [ngTemplateOutletContext]=\\\"{ $implicit: child }\\\"\\r\\n />\\r\\n }\\r\\n </ng-template>\\r\\n\\r\\n <ng-template #defaultChild let-child>\\r\\n @if (child.path) {\\r\\n <div class=\\\"dropdown-submenu\\\" *abpPermission=\\\"child.requiredPolicy\\\">\\r\\n <a class=\\\"dropdown-item\\\" [routerLink]=\\\"[child.path]\\\" (click)=\\\"closeDropdown()\\\">\\r\\n @if (child.iconClass) {\\r\\n <i [ngClass]=\\\"child.iconClass\\\"></i>\\r\\n }\\r\\n {{ child.name | abpLocalization }}</a\\r\\n >\\r\\n </div>\\r\\n }\\r\\n </ng-template>\\r\\n\\r\\n <ng-template #dropdownChild let-child>\\r\\n <div\\r\\n class=\\\"dropdown-submenu\\\"\\r\\n ngbDropdown\\r\\n #dropdownSubmenu=\\\"ngbDropdown\\\"\\r\\n placement=\\\"right-top\\\"\\r\\n [autoClose]=\\\"true\\\"\\r\\n *abpPermission=\\\"child.requiredPolicy\\\"\\r\\n >\\r\\n <div ngbDropdownToggle [class.dropdown-toggle]=\\\"false\\\">\\r\\n <a\\r\\n abpEllipsis=\\\"210px\\\"\\r\\n [abpEllipsisEnabled]=\\\"!smallScreen\\\"\\r\\n role=\\\"button\\\"\\r\\n class=\\\"btn d-block text-start dropdown-toggle\\\"\\r\\n >\\r\\n @if (child.iconClass) {\\r\\n <i [ngClass]=\\\"child.iconClass\\\"></i>\\r\\n }\\r\\n {{ child.name | abpLocalization }}\\r\\n </a>\\r\\n </div>\\r\\n <div\\r\\n #childrenContainer\\r\\n class=\\\"dropdown-menu dropdown-menu-start border-0 shadow-sm\\\"\\r\\n [class.d-block]=\\\"smallScreen && dropdownSubmenu.isOpen()\\\"\\r\\n >\\r\\n <ng-container *ngTemplateOutlet=\\\"forTemplate; context: { $implicit: child }\\\" />\\r\\n </div>\\r\\n </div>\\r\\n </ng-template>\\r\\n</ul>\\r\\n\", dependencies: [{ kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"directive\", type: NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"pipe\", type: AsyncPipe, name: \"async\" }, { kind: \"directive\", type: RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"ngmodule\", type: NgbDropdownModule }, { kind: \"directive\", type: i1.NgbDropdown, selector: \"[ngbDropdown]\", inputs: [\"autoClose\", \"dropdownClass\", \"open\", \"placement\", \"popperOptions\", \"container\", \"display\"], outputs: [\"openChange\"], exportAs: [\"ngbDropdown\"] }, { kind: \"directive\", type: i1.NgbDropdownToggle, selector: \"[ngbDropdownToggle]\" }, { kind: \"pipe\", type: LazyLocalizationPipe, name: \"abpLazyLocalization\" }, { kind: \"directive\", type: PermissionDirective, selector: \"[abpPermission]\", inputs: [\"abpPermission\", \"abpPermissionRunChangeDetection\"] }, { kind: \"directive\", type: EllipsisDirective, selector: \"[abpEllipsis]\", inputs: [\"abpEllipsis\", \"title\", \"abpEllipsisEnabled\"] }, { kind: \"pipe\", type: LocalizationPipe, name: \"abpLocalization\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: RoutesComponent, decorators: [{\n type: Component,\n args: [{ selector: 'abp-routes', imports: [\n NgTemplateOutlet,\n NgClass,\n AsyncPipe,\n RouterLink,\n NgbDropdownModule,\n LazyLocalizationPipe,\n PermissionDirective,\n EllipsisDirective,\n LocalizationPipe,\n ], template: \"<ul class=\\\"navbar-nav\\\">\\r\\n @for (route of routesService.visible$ | async; track $index) {\\r\\n <ng-container\\r\\n [ngTemplateOutlet]=\\\"isDropdown(route) ? dropdownLink : defaultLink\\\"\\r\\n [ngTemplateOutletContext]=\\\"{ $implicit: route }\\\"\\r\\n />\\r\\n }\\r\\n\\r\\n <ng-template #defaultLink let-route>\\r\\n <li class=\\\"nav-item\\\" *abpPermission=\\\"route.requiredPolicy\\\">\\r\\n <a class=\\\"nav-link\\\" [routerLink]=\\\"[route.path]\\\">\\r\\n @if (route.iconClass) {\\r\\n <i [ngClass]=\\\"route.iconClass\\\"></i>\\r\\n }\\r\\n {{ route.name | abpLazyLocalization | async }}\\r\\n </a>\\r\\n </li>\\r\\n </ng-template>\\r\\n\\r\\n <ng-template #dropdownLink let-route>\\r\\n @if (route.children?.length) {\\r\\n <li\\r\\n class=\\\"nav-item dropdown\\\"\\r\\n display=\\\"static\\\"\\r\\n *abpPermission=\\\"route.requiredPolicy\\\"\\r\\n (click)=\\\"\\r\\n rootDropdownExpand[route.name]\\r\\n ? (rootDropdownExpand[route.name] = false)\\r\\n : (rootDropdownExpand[route.name] = true)\\r\\n \\\"\\r\\n >\\r\\n <a\\r\\n class=\\\"nav-link dropdown-toggle\\\"\\r\\n data-toggle=\\\"dropdown\\\"\\r\\n aria-haspopup=\\\"true\\\"\\r\\n aria-expanded=\\\"false\\\"\\r\\n href=\\\"javascript:void(0)\\\"\\r\\n >\\r\\n @if (route.iconClass) {\\r\\n <i [ngClass]=\\\"route.iconClass\\\"></i>\\r\\n }\\r\\n {{ route.name | abpLazyLocalization | async }}\\r\\n </a>\\r\\n <div\\r\\n #routeContainer\\r\\n class=\\\"dropdown-menu border-0 shadow-sm\\\"\\r\\n (click)=\\\"$event.preventDefault(); $event.stopPropagation()\\\"\\r\\n [class.d-block]=\\\"smallScreen && rootDropdownExpand[route.name]\\\"\\r\\n >\\r\\n <ng-container *ngTemplateOutlet=\\\"forTemplate; context: { $implicit: route }\\\" />\\r\\n </div>\\r\\n </li>\\r\\n }\\r\\n </ng-template>\\r\\n\\r\\n <ng-template #forTemplate let-route>\\r\\n @for (child of route.children; track $index) {\\r\\n <ng-template\\r\\n [ngTemplateOutlet]=\\\"child.children?.length ? dropdownChild : defaultChild\\\"\\r\\n [ngTemplateOutletContext]=\\\"{ $implicit: child }\\\"\\r\\n />\\r\\n }\\r\\n </ng-template>\\r\\n\\r\\n <ng-template #defaultChild let-child>\\r\\n @if (child.path) {\\r\\n <div class=\\\"dropdown-submenu\\\" *abpPermission=\\\"child.requiredPolicy\\\">\\r\\n <a class=\\\"dropdown-item\\\" [routerLink]=\\\"[child.path]\\\" (click)=\\\"closeDropdown()\\\">\\r\\n @if (child.iconClass) {\\r\\n <i [ngClass]=\\\"child.iconClass\\\"></i>\\r\\n }\\r\\n {{ child.name | abpLocalization }}</a\\r\\n >\\r\\n </div>\\r\\n }\\r\\n </ng-template>\\r\\n\\r\\n <ng-template #dropdownChild let-child>\\r\\n <div\\r\\n class=\\\"dropdown-submenu\\\"\\r\\n ngbDropdown\\r\\n #dropdownSubmenu=\\\"ngbDropdown\\\"\\r\\n placement=\\\"right-top\\\"\\r\\n [autoClose]=\\\"true\\\"\\r\\n *abpPermission=\\\"child.requiredPolicy\\\"\\r\\n >\\r\\n <div ngbDropdownToggle [class.dropdown-toggle]=\\\"false\\\">\\r\\n <a\\r\\n abpEllipsis=\\\"210px\\\"\\r\\n [abpEllipsisEnabled]=\\\"!smallScreen\\\"\\r\\n role=\\\"button\\\"\\r\\n class=\\\"btn d-block text-start dropdown-toggle\\\"\\r\\n >\\r\\n @if (child.iconClass) {\\r\\n <i [ngClass]=\\\"child.iconClass\\\"></i>\\r\\n }\\r\\n {{ child.name | abpLocalization }}\\r\\n </a>\\r\\n </div>\\r\\n <div\\r\\n #childrenContainer\\r\\n class=\\\"dropdown-menu dropdown-menu-start border-0 shadow-sm\\\"\\r\\n [class.d-block]=\\\"smallScreen && dropdownSubmenu.isOpen()\\\"\\r\\n >\\r\\n <ng-container *ngTemplateOutlet=\\\"forTemplate; context: { $implicit: child }\\\" />\\r\\n </div>\\r\\n </div>\\r\\n </ng-template>\\r\\n</ul>\\r\\n\" }]\n }], propDecorators: { smallScreen: [{\n type: Input\n }], childrenContainers: [{\n type: ViewChildren,\n args: ['childrenContainer']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9yb3V0ZXMvcm91dGVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9yb3V0ZXMvcm91dGVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxvQkFBb0IsRUFDcEIsZ0JBQWdCLEVBQ2hCLG1CQUFtQixFQUNuQixhQUFhLEdBRWQsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUNMLFNBQVMsRUFFVCxNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBRVQsWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFpQnpELE1BQU0sT0FBTyxlQUFlO0lBZjVCO1FBZ0JrQixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM1QyxhQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBTXZDLHVCQUFrQixHQUFHLEVBQWdDLENBQUM7UUFFdEQsY0FBUyxHQUF5QyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7S0FZMUU7SUFWQyxVQUFVLENBQUMsSUFBeUI7UUFDbEMsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRTtZQUNwRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDaEQsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBckJVLGVBQWU7a0dBQWYsZUFBZSwwTkN0QzVCLHVzSEE2R0EsNENEbEZJLGdCQUFnQixvSkFDaEIsT0FBTywrRUFDUCxTQUFTLDhDQUNULFVBQVUsbU9BQ1YsaUJBQWlCLGdWQUNqQixvQkFBb0IsNERBQ3BCLG1CQUFtQiwwSEFDbkIsaUJBQWlCLDZHQUNqQixnQkFBZ0I7OzJGQUdQLGVBQWU7a0JBZjNCLFNBQVM7K0JBQ0UsWUFBWSxXQUViO3dCQUNQLGdCQUFnQjt3QkFDaEIsT0FBTzt3QkFDUCxTQUFTO3dCQUNULFVBQVU7d0JBQ1YsaUJBQWlCO3dCQUNqQixvQkFBb0I7d0JBQ3BCLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3dCQUNqQixnQkFBZ0I7cUJBQ2pCOzhCQU1RLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRTZCLGtCQUFrQjtzQkFBcEQsWUFBWTt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFCUCxcclxuICBMYXp5TG9jYWxpemF0aW9uUGlwZSxcclxuICBMb2NhbGl6YXRpb25QaXBlLFxyXG4gIFBlcm1pc3Npb25EaXJlY3RpdmUsXHJcbiAgUm91dGVzU2VydmljZSxcclxuICBUcmVlTm9kZSxcclxufSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIGluamVjdCxcclxuICBJbnB1dCxcclxuICBRdWVyeUxpc3QsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIFRyYWNrQnlGdW5jdGlvbixcclxuICBWaWV3Q2hpbGRyZW4sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQsIE5nQ2xhc3MsIEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nYkRyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgRWxsaXBzaXNEaXJlY3RpdmUgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FicC1yb3V0ZXMnLFxyXG4gIHRlbXBsYXRlVXJsOiAncm91dGVzLmNvbXBvbmVudC5odG1sJyxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxyXG4gICAgTmdDbGFzcyxcclxuICAgIEFzeW5jUGlwZSxcclxuICAgIFJvdXRlckxpbmssXHJcbiAgICBOZ2JEcm9wZG93bk1vZHVsZSxcclxuICAgIExhenlMb2NhbGl6YXRpb25QaXBlLFxyXG4gICAgUGVybWlzc2lvbkRpcmVjdGl2ZSxcclxuICAgIEVsbGlwc2lzRGlyZWN0aXZlLFxyXG4gICAgTG9jYWxpemF0aW9uUGlwZSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUm91dGVzQ29tcG9uZW50IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgcm91dGVzU2VydmljZSA9IGluamVjdChSb3V0ZXNTZXJ2aWNlKTtcclxuICBwcm90ZWN0ZWQgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcclxuXHJcbiAgQElucHV0KCkgc21hbGxTY3JlZW4/OiBib29sZWFuO1xyXG5cclxuICBAVmlld0NoaWxkcmVuKCdjaGlsZHJlbkNvbnRhaW5lcicpIGNoaWxkcmVuQ29udGFpbmVycyE6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50Pj47XHJcblxyXG4gIHJvb3REcm9wZG93bkV4cGFuZCA9IHt9IGFzIHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9O1xyXG5cclxuICB0cmFja0J5Rm46IFRyYWNrQnlGdW5jdGlvbjxUcmVlTm9kZTxBQlAuUm91dGU+PiA9IChfLCBpdGVtKSA9PiBpdGVtLm5hbWU7XHJcblxyXG4gIGlzRHJvcGRvd24obm9kZTogVHJlZU5vZGU8QUJQLlJvdXRlPikge1xyXG4gICAgcmV0dXJuICFub2RlPy5pc0xlYWYgfHwgdGhpcy5yb3V0ZXNTZXJ2aWNlLmhhc0NoaWxkcmVuKG5vZGUubmFtZSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZURyb3Bkb3duKCkge1xyXG4gICAgdGhpcy5jaGlsZHJlbkNvbnRhaW5lcnMuZm9yRWFjaCgoeyBuYXRpdmVFbGVtZW50IH0pID0+IHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhuYXRpdmVFbGVtZW50LCAnZC1ub25lJyk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhuYXRpdmVFbGVtZW50LCAnZC1ub25lJyksIDApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjx1bCBjbGFzcz1cIm5hdmJhci1uYXZcIj5cclxuICBAZm9yIChyb3V0ZSBvZiByb3V0ZXNTZXJ2aWNlLnZpc2libGUkIHwgYXN5bmM7IHRyYWNrICRpbmRleCkge1xyXG4gICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpc0Ryb3Bkb3duKHJvdXRlKSA/IGRyb3Bkb3duTGluayA6IGRlZmF1bHRMaW5rXCJcclxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiByb3V0ZSB9XCJcclxuICAgIC8+XHJcbiAgfVxyXG5cclxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHRMaW5rIGxldC1yb3V0ZT5cclxuICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCIgKmFicFBlcm1pc3Npb249XCJyb3V0ZS5yZXF1aXJlZFBvbGljeVwiPlxyXG4gICAgICA8YSBjbGFzcz1cIm5hdi1saW5rXCIgW3JvdXRlckxpbmtdPVwiW3JvdXRlLnBhdGhdXCI+XHJcbiAgICAgICAgQGlmIChyb3V0ZS5pY29uQ2xhc3MpIHtcclxuICAgICAgICAgIDxpIFtuZ0NsYXNzXT1cInJvdXRlLmljb25DbGFzc1wiPjwvaT5cclxuICAgICAgICB9XHJcbiAgICAgICAge3sgcm91dGUubmFtZSB8IGFicExhenlMb2NhbGl6YXRpb24gfCBhc3luYyB9fVxyXG4gICAgICA8L2E+XHJcbiAgICA8L2xpPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjZHJvcGRvd25MaW5rIGxldC1yb3V0ZT5cclxuICAgIEBpZiAocm91dGUuY2hpbGRyZW4/Lmxlbmd0aCkge1xyXG4gICAgICA8bGlcclxuICAgICAgICBjbGFzcz1cIm5hdi1pdGVtIGRyb3Bkb3duXCJcclxuICAgICAgICBkaXNwbGF5PVwic3RhdGljXCJcclxuICAgICAgICAqYWJwUGVybWlzc2lvbj1cInJvdXRlLnJlcXVpcmVkUG9saWN5XCJcclxuICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICByb290RHJvcGRvd25FeHBhbmRbcm91dGUubmFtZV1cclxuICAgICAgICAgICAgPyAocm9vdERyb3Bkb3duRXhwYW5kW3JvdXRlLm5hbWVdID0gZmFsc2UpXHJcbiAgICAgICAgICAgIDogKHJvb3REcm9wZG93bkV4cGFuZFtyb3V0ZS5uYW1lXSA9IHRydWUpXHJcbiAgICAgICAgXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxhXHJcbiAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIGRyb3Bkb3duLXRvZ2dsZVwiXHJcbiAgICAgICAgICBkYXRhLXRvZ2dsZT1cImRyb3Bkb3duXCJcclxuICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcclxuICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXHJcbiAgICAgICAgICBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICBAaWYgKHJvdXRlLmljb25DbGFzcykge1xyXG4gICAgICAgICAgICA8aSBbbmdDbGFzc109XCJyb3V0ZS5pY29uQ2xhc3NcIj48L2k+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB7eyByb3V0ZS5uYW1lIHwgYWJwTGF6eUxvY2FsaXphdGlvbiB8IGFzeW5jIH19XHJcbiAgICAgICAgPC9hPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICNyb3V0ZUNvbnRhaW5lclxyXG4gICAgICAgICAgY2xhc3M9XCJkcm9wZG93bi1tZW51IGJvcmRlci0wIHNoYWRvdy1zbVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICBbY2xhc3MuZC1ibG9ja109XCJzbWFsbFNjcmVlbiAmJiByb290RHJvcGRvd25FeHBhbmRbcm91dGUubmFtZV1cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb3JUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IHJvdXRlIH1cIiAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2xpPlxyXG4gICAgfVxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjZm9yVGVtcGxhdGUgbGV0LXJvdXRlPlxyXG4gICAgQGZvciAoY2hpbGQgb2Ygcm91dGUuY2hpbGRyZW47IHRyYWNrICRpbmRleCkge1xyXG4gICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjaGlsZC5jaGlsZHJlbj8ubGVuZ3RoID8gZHJvcGRvd25DaGlsZCA6IGRlZmF1bHRDaGlsZFwiXHJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBjaGlsZCB9XCJcclxuICAgICAgLz5cclxuICAgIH1cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHRDaGlsZCBsZXQtY2hpbGQ+XHJcbiAgICBAaWYgKGNoaWxkLnBhdGgpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLXN1Ym1lbnVcIiAqYWJwUGVybWlzc2lvbj1cImNoaWxkLnJlcXVpcmVkUG9saWN5XCI+XHJcbiAgICAgICAgPGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgW3JvdXRlckxpbmtdPVwiW2NoaWxkLnBhdGhdXCIgKGNsaWNrKT1cImNsb3NlRHJvcGRvd24oKVwiPlxyXG4gICAgICAgICAgQGlmIChjaGlsZC5pY29uQ2xhc3MpIHtcclxuICAgICAgICAgICAgPGkgW25nQ2xhc3NdPVwiY2hpbGQuaWNvbkNsYXNzXCI+PC9pPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAge3sgY2hpbGQubmFtZSB8IGFicExvY2FsaXphdGlvbiB9fTwvYVxyXG4gICAgICAgID5cclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNkcm9wZG93bkNoaWxkIGxldC1jaGlsZD5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJkcm9wZG93bi1zdWJtZW51XCJcclxuICAgICAgbmdiRHJvcGRvd25cclxuICAgICAgI2Ryb3Bkb3duU3VibWVudT1cIm5nYkRyb3Bkb3duXCJcclxuICAgICAgcGxhY2VtZW50PVwicmlnaHQtdG9wXCJcclxuICAgICAgW2F1dG9DbG9zZV09XCJ0cnVlXCJcclxuICAgICAgKmFicFBlcm1pc3Npb249XCJjaGlsZC5yZXF1aXJlZFBvbGljeVwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgbmdiRHJvcGRvd25Ub2dnbGUgW2NsYXNzLmRyb3Bkb3duLXRvZ2dsZV09XCJmYWxzZVwiPlxyXG4gICAgICAgIDxhXHJcbiAgICAgICAgICBhYnBFbGxpcHNpcz1cIjIxMHB4XCJcclxuICAgICAgICAgIFthYnBFbGxpcHNpc0VuYWJsZWRdPVwiIXNtYWxsU2NyZWVuXCJcclxuICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgY2xhc3M9XCJidG4gZC1ibG9jayB0ZXh0LXN0YXJ0IGRyb3Bkb3duLXRvZ2dsZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgQGlmIChjaGlsZC5pY29uQ2xhc3MpIHtcclxuICAgICAgICAgICAgPGkgW25nQ2xhc3NdPVwiY2hpbGQuaWNvbkNsYXNzXCI+PC9pPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAge3sgY2hpbGQubmFtZSB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgIDwvYT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICAjY2hpbGRyZW5Db250YWluZXJcclxuICAgICAgICBjbGFzcz1cImRyb3Bkb3duLW1lbnUgZHJvcGRvd24tbWVudS1zdGFydCBib3JkZXItMCBzaGFkb3ctc21cIlxyXG4gICAgICAgIFtjbGFzcy5kLWJsb2NrXT1cInNtYWxsU2NyZWVuICYmIGRyb3Bkb3duU3VibWVudS5pc09wZW4oKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9yVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBjaGlsZCB9XCIgLz5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L3VsPlxyXG4iXX0=","import { AbpVisibleDirective, NavItemsService } from '@abp/ng.theme.shared';\nimport { Component, inject, PLATFORM_ID } from '@angular/core';\nimport { NgComponentOutlet, AsyncPipe, isPlatformBrowser } from '@angular/common';\nimport { PermissionDirective, ToInjectorPipe } from '@abp/ng.core';\nimport * as i0 from \"@angular/core\";\nexport class NavItemsComponent {\n constructor() {\n this.navItems = inject(NavItemsService);\n this.platformId = inject(PLATFORM_ID);\n this.isBrowser = isPlatformBrowser(this.platformId);\n this.trackByFn = (_, element) => element.id;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: NavItemsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: NavItemsComponent, isStandalone: true, selector: \"abp-nav-items\", ngImport: i0, template: \"<ul class=\\\"navbar-nav\\\">\\r\\n @if (isBrowser) {\\r\\n @for (item of navItems.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 <div [innerHTML]=\\\"item.html\\\" (click)=\\\"item.action ? item.action() : null\\\"></div>\\r\\n }\\r\\n </li>\\r\\n </ng-container>\\r\\n }\\r\\n }\\r\\n</ul>\\r\\n\", dependencies: [{ kind: \"directive\", type: NgComponentOutlet, selector: \"[ngComponentOutlet]\", inputs: [\"ngComponentOutlet\", \"ngComponentOutletInputs\", \"ngComponentOutletInjector\", \"ngComponentOutletContent\", \"ngComponentOutletNgModule\", \"ngComponentOutletNgModuleFactory\"], exportAs: [\"ngComponentOutlet\"] }, { kind: \"pipe\", type: AsyncPipe, name: \"async\" }, { kind: \"directive\", type: AbpVisibleDirective, selector: \"[abpVisible]\", inputs: [\"abpVisible\"] }, { kind: \"directive\", type: PermissionDirective, selector: \"[abpPermission]\", inputs: [\"abpPermission\", \"abpPermissionRunChangeDetection\"] }, { kind: \"pipe\", type: ToInjectorPipe, name: \"toInjector\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: NavItemsComponent, decorators: [{\n type: Component,\n args: [{ selector: 'abp-nav-items', imports: [NgComponentOutlet, AsyncPipe, AbpVisibleDirective, PermissionDirective, ToInjectorPipe], template: \"<ul class=\\\"navbar-nav\\\">\\r\\n @if (isBrowser) {\\r\\n @for (item of navItems.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 <div [innerHTML]=\\\"item.html\\\" (click)=\\\"item.action ? item.action() : null\\\"></div>\\r\\n }\\r\\n </li>\\r\\n </ng-container>\\r\\n }\\r\\n }\\r\\n</ul>\\r\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWl0ZW1zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9uYXYtaXRlbXMvbmF2LWl0ZW1zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9uYXYtaXRlbXMvbmF2LWl0ZW1zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBVyxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsU0FBUyxFQUFtQixNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQU9uRSxNQUFNLE9BQU8saUJBQWlCO0lBTDlCO1FBTVcsYUFBUSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNwQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFeEQsY0FBUyxHQUE2QixDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7S0FDbEU7OEdBTlksaUJBQWlCO2tHQUFqQixpQkFBaUIseUVDVjlCLDZzQkFrQkEsNENEVlksaUJBQWlCLGdSQUFFLFNBQVMsOENBQUUsbUJBQW1CLGlGQUFFLG1CQUFtQixxSEFBRSxjQUFjOzsyRkFFckYsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGVBQWUsV0FFaEIsQ0FBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJwVmlzaWJsZURpcmVjdGl2ZSwgTmF2SXRlbSwgTmF2SXRlbXNTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIFRyYWNrQnlGdW5jdGlvbiwgaW5qZWN0LCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ0NvbXBvbmVudE91dGxldCwgQXN5bmNQaXBlLCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFBlcm1pc3Npb25EaXJlY3RpdmUsIFRvSW5qZWN0b3JQaXBlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWJwLW5hdi1pdGVtcycsXHJcbiAgdGVtcGxhdGVVcmw6ICduYXYtaXRlbXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGltcG9ydHM6IFtOZ0NvbXBvbmVudE91dGxldCwgQXN5bmNQaXBlLCBBYnBWaXNpYmxlRGlyZWN0aXZlLCBQZXJtaXNzaW9uRGlyZWN0aXZlLCBUb0luamVjdG9yUGlwZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOYXZJdGVtc0NvbXBvbmVudCB7XHJcbiAgcmVhZG9ubHkgbmF2SXRlbXMgPSBpbmplY3QoTmF2SXRlbXNTZXJ2aWNlKTtcclxuICBwcml2YXRlIHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xyXG4gIHJlYWRvbmx5IGlzQnJvd3NlciA9IGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCk7XHJcblxyXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPE5hdkl0ZW0+ID0gKF8sIGVsZW1lbnQpID0+IGVsZW1lbnQuaWQ7XHJcbn1cclxuIiwiPHVsIGNsYXNzPVwibmF2YmFyLW5hdlwiPlxyXG4gIEBpZiAoaXNCcm93c2VyKSB7XHJcbiAgICBAZm9yIChpdGVtIG9mIG5hdkl0ZW1zLml0ZW1zJCB8IGFzeW5jOyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgPG5nLWNvbnRhaW5lciAqYWJwVmlzaWJsZT1cIiFpdGVtLnZpc2libGUgfHwgaXRlbS52aXNpYmxlKGl0ZW0pXCI+XHJcbiAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW0gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiICphYnBQZXJtaXNzaW9uPVwiaXRlbS5yZXF1aXJlZFBvbGljeVwiPlxyXG4gICAgICAgICAgQGlmIChpdGVtLmNvbXBvbmVudCkge1xyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgW25nQ29tcG9uZW50T3V0bGV0XT1cIml0ZW0uY29tcG9uZW50XCJcclxuICAgICAgICAgICAgICBbbmdDb21wb25lbnRPdXRsZXRJbmplY3Rvcl09XCJpdGVtIHwgdG9JbmplY3RvclwiXHJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwiaXRlbS5odG1sXCIgKGNsaWNrKT1cIml0ZW0uYWN0aW9uID8gaXRlbS5hY3Rpb24oKSA6IG51bGxcIj48L2Rpdj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2xpPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIH1cclxuICB9XHJcbjwvdWw+XHJcbiJdfQ==","import { TenantBoxService } from '@abp/ng.account.core';\nimport { Component, inject } from '@angular/core';\nimport { AsyncPipe } from '@angular/common';\nimport { LocalizationPipe } from '@abp/ng.core';\nimport { ButtonComponent, ModalCloseDirective, ModalComponent } from '@abp/ng.theme.shared';\nimport { FormsModule } from '@angular/forms';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nexport class TenantBoxComponent {\n constructor() {\n this.service = inject(TenantBoxService);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: TenantBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: TenantBoxComponent, isStandalone: true, 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: \"pipe\", type: AsyncPipe, name: \"async\" }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.ɵNgNoValidate, selector: \"form:not([ngNoForm]):not([ngNativeValidate])\" }, { kind: \"directive\", type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"directive\", type: i1.NgForm, selector: \"form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]\", inputs: [\"ngFormOptions\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { kind: \"component\", type: ModalComponent, selector: \"abp-modal\", inputs: [\"visible\", \"busy\", \"options\", \"suppressUnsavedChangesWarning\"], outputs: [\"visibleChange\", \"init\", \"appear\", \"disappear\"] }, { kind: \"pipe\", type: LocalizationPipe, name: \"abpLocalization\" }, { kind: \"component\", type: ButtonComponent, selector: \"abp-button\", inputs: [\"buttonId\", \"buttonClass\", \"buttonType\", \"formName\", \"iconClass\", \"loading\", \"disabled\", \"attributes\"], outputs: [\"click\", \"focus\", \"blur\", \"abpClick\", \"abpFocus\", \"abpBlur\"] }, { kind: \"directive\", type: ModalCloseDirective, selector: \"[abpClose]\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: TenantBoxComponent, decorators: [{\n type: Component,\n args: [{ selector: 'abp-tenant-box', providers: [TenantBoxService], imports: [\n AsyncPipe,\n FormsModule,\n ModalComponent,\n LocalizationPipe,\n ButtonComponent,\n ModalCloseDirective,\n ], 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\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1iYXNpYy9zcmMvbGliL2NvbXBvbmVudHMvYWNjb3VudC1sYXlvdXQvdGVuYW50LWJveC90ZW5hbnQtYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9hY2NvdW50LWxheW91dC90ZW5hbnQtYm94L3RlbmFudC1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBZTdDLE1BQU0sT0FBTyxrQkFBa0I7SUFiL0I7UUFjRSxZQUFPLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7S0FDcEM7OEdBRlksa0JBQWtCO2tHQUFsQixrQkFBa0IsNkRBVmxCLENBQUMsZ0JBQWdCLENBQUMsMEJDVi9CLDIyRUFpRUEsdUNEckRJLFNBQVMsNkNBQ1QsV0FBVyx3aUNBQ1gsY0FBYyxxTEFDZCxnQkFBZ0Isd0RBQ2hCLGVBQWUsZ1BBQ2YsbUJBQW1COzsyRkFHVixrQkFBa0I7a0JBYjlCLFNBQVM7K0JBQ0UsZ0JBQWdCLGFBRWYsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUNwQjt3QkFDUCxTQUFTO3dCQUNULFdBQVc7d0JBQ1gsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsbUJBQW1CO3FCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbmFudEJveFNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmFjY291bnQuY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblBpcGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQsIE1vZGFsQ2xvc2VEaXJlY3RpdmUsIE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWJwLXRlbmFudC1ib3gnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW5hbnQtYm94LmNvbXBvbmVudC5odG1sJyxcclxuICBwcm92aWRlcnM6IFtUZW5hbnRCb3hTZXJ2aWNlXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBBc3luY1BpcGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIE1vZGFsQ29tcG9uZW50LFxyXG4gICAgTG9jYWxpemF0aW9uUGlwZSxcclxuICAgIEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIE1vZGFsQ2xvc2VEaXJlY3RpdmUsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRlbmFudEJveENvbXBvbmVudCB7XHJcbiAgc2VydmljZSA9IGluamVjdChUZW5hbnRCb3hTZXJ2aWNlKTtcclxufVxyXG4iLCJAaWYgKChzZXJ2aWNlLmN1cnJlbnRUZW5hbnQkIHwgYXN5bmMpIHx8IHsgbmFtZTogJycgfTsgYXMgY3VycmVudFRlbmFudCkge1xyXG4gIDxkaXYgY2xhc3M9XCJjYXJkIHNoYWRvdy1zbSByb3VuZGVkIG1iLTNcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcHgtNVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbFwiPlxyXG4gICAgICAgICAgPHNwYW4gc3R5bGU9XCJmb250LXNpemU6IDAuOGVtXCIgY2xhc3M9XCJ0ZXh0LXVwcGVyY2FzZSB0ZXh0LW11dGVkXCI+e3tcclxuICAgICAgICAgICAgJ0FicFVpTXVsdGlUZW5hbmN5OjpUZW5hbnQnIHwgYWJwTG9jYWxpemF0aW9uXHJcbiAgICAgICAgICB9fTwvc3BhblxyXG4gICAgICAgICAgPjxiciAvPlxyXG4gICAgICAgICAgPGg2IGNsYXNzPVwibS0wIGQtaW5saW5lLWJsb2NrXCI+XHJcbiAgICAgICAgICAgIDxpPnt7IGN1cnJlbnRUZW5hbnQubmFtZSB8fCAoJ0FicFVpTXVsdGlUZW5hbmN5OjpOb3RTZWxlY3RlZCcgfCBhYnBMb2NhbGl6YXRpb24pIH19PC9pPlxyXG4gICAgICAgICAgPC9oNj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIj5cclxuICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgIGlkPVwiQWJwVGVuYW50U3dpdGNoTGlua1wiXHJcbiAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMCk7XCJcclxuICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNtIG10LTMgYnRuLW91dGxpbmUtcHJpbWFyeVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJzZXJ2aWNlLm9uU3dpdGNoKClcIlxyXG4gICAgICAgICAgICA+e3sgJ0FicFVpTXVsdGlUZW5hbmN5OjpTd2l0Y2gnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9hXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxhYnAtbW9kYWwgWyh2aXNpYmxlKV09XCJzZXJ2aWNlLmlzTW9kYWxWaXNpYmxlXCIgW2J1c3ldPVwic2VydmljZS5tb2RhbEJ1c3lcIj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjYWJwSGVhZGVyPlxyXG4gICAgICA8aDU+U3dpdGNoIFRlbmFudDwvaDU+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlICNhYnBCb2R5PlxyXG4gICAgICA8Zm9ybSAobmdTdWJtaXQpPVwic2VydmljZS5zYXZlKClcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMlwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTMgZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwibmFtZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7XHJcbiAgICAgICAgICAgICAgJ0FicFVpTXVsdGlUZW5hbmN5OjpOYW1lJyB8IGFicExvY2FsaXphdGlvblxyXG4gICAgICAgICAgICB9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VydmljZS5uYW1lXCJcclxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgaWQ9XCJuYW1lXCJcclxuICAgICAgICAgICAgICBuYW1lPVwidGVuYW50XCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgYXV0b2ZvY3VzXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxwPnt7ICdBYnBVaU11bHRpVGVuYW5jeTo6U3dpdGNoVGVuYW50SGludCcgfCBhYnBMb2NhbGl6YXRpb24gfX08L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZm9ybT5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgI2FicEZvb3Rlcj5cclxuICAgICAgPGJ1dHRvbiBhYnBDbG9zZSB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtcHJpbWFyeVwiPlxyXG4gICAgICAgIHt7ICdBYnBUZW5hbnRNYW5hZ2VtZW50OjpDYW5jZWwnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YWJwLWJ1dHRvblxyXG4gICAgICAgIHR5cGU9XCJhYnAtYnV0dG9uXCJcclxuICAgICAgICBpY29uQ2xhc3M9XCJmYSBmYS1jaGVja1wiXHJcbiAgICAgICAgKGNsaWNrKT1cInNlcnZpY2Uuc2F2ZSgpXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiY3VycmVudFRlbmFudD8ubmFtZSA9PT0gc2VydmljZS5uYW1lXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxzcGFuPnt7ICdBYnBUZW5hbnRNYW5hZ2VtZW50OjpTYXZlJyB8IGFicExvY2FsaXphdGlvbiB9fTwvc3Bhbj5cclxuICAgICAgPC9hYnAtYnV0dG9uPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L2FicC1tb2RhbD5cclxufVxyXG4iXX0=","import { AuthWrapperService } from '@abp/ng.account.core';\nimport { Component, inject } from '@angular/core';\nimport { AsyncPipe } from '@angular/common';\nimport { LocalizationPipe, ReplaceableTemplateDirective } from '@abp/ng.core';\nimport { TenantBoxComponent } from '../tenant-box/tenant-box.component';\nimport * as i0 from \"@angular/core\";\nexport class AuthWrapperComponent {\n constructor() {\n this.service = inject(AuthWrapperService);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AuthWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: AuthWrapperComponent, isStandalone: true, 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: \"pipe\", type: AsyncPipe, name: \"async\" }, { kind: \"component\", type: TenantBoxComponent, selector: \"abp-tenant-box\" }, { kind: \"directive\", type: ReplaceableTemplateDirective, selector: \"[abpReplaceableTemplate]\", inputs: [\"abpReplaceableTemplate\"] }, { kind: \"pipe\", type: LocalizationPipe, name: \"abpLocalization\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AuthWrapperComponent, decorators: [{\n type: Component,\n args: [{ selector: 'abp-auth-wrapper', providers: [AuthWrapperService], imports: [AsyncPipe, TenantBoxComponent, ReplaceableTemplateDirective, LocalizationPipe], 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\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9hY2NvdW50LWxheW91dC9hdXRoLXdyYXBwZXIvYXV0aC13cmFwcGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9hY2NvdW50LWxheW91dC9hdXRoLXdyYXBwZXIvYXV0aC13cmFwcGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBUXhFLE1BQU0sT0FBTyxvQkFBb0I7SUFOakM7UUFPRSxZQUFPLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7S0FDdEM7OEdBRlksb0JBQW9CO2tHQUFwQixvQkFBb0IsK0RBSHBCLENBQUMsa0JBQWtCLENBQUMsMEJDVGpDLHMzQkF3QkEsdUNEZFksU0FBUyw4Q0FBRSxrQkFBa0IsMkRBQUUsNEJBQTRCLG9HQUFFLGdCQUFnQjs7MkZBRTVFLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxrQkFBa0IsYUFFakIsQ0FBQyxrQkFBa0IsQ0FBQyxXQUN0QixDQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSw0QkFBNEIsRUFBRSxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dGhXcmFwcGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcuYWNjb3VudC5jb3JlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uUGlwZSwgUmVwbGFjZWFibGVUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IFRlbmFudEJveENvbXBvbmVudCB9IGZyb20gJy4uL3RlbmFudC1ib3gvdGVuYW50LWJveC5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtYXV0aC13cmFwcGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXV0aC13cmFwcGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBwcm92aWRlcnM6IFtBdXRoV3JhcHBlclNlcnZpY2VdLFxyXG4gIGltcG9ydHM6IFtBc3luY1BpcGUsIFRlbmFudEJveENvbXBvbmVudCwgUmVwbGFjZWFibGVUZW1wbGF0ZURpcmVjdGl2ZSwgTG9jYWxpemF0aW9uUGlwZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRoV3JhcHBlckNvbXBvbmVudCB7XHJcbiAgc2VydmljZSA9IGluamVjdChBdXRoV3JhcHBlclNlcnZpY2UpO1xyXG59IiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJteC1hdXRvIGNvbCBjb2wtbWQtNVwiPlxyXG4gICAgQGlmICgoc2VydmljZS5pc011bHRpVGVuYW5jeUVuYWJsZWQkIHwgYXN5bmMpICYmIHNlcnZpY2UuaXNUZW5hbnRCb3hWaXNpYmxlKSB7XHJcbiAgICAgIDxhYnAtdGVuYW50LWJveFxyXG4gICAgICAgICphYnBSZXBsYWNlYWJsZVRlbXBsYXRlPVwieyBjb21wb25lbnRLZXk6IHNlcnZpY2UudGVuYW50Qm94S2V5IH1cIlxyXG4gICAgICA+PC9hYnAtdGVuYW50LWJveD5cclxuICAgIH1cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiYWJwLWFjY291bnQtY29udGFpbmVyXCI+XHJcbiAgICAgIEBpZiAoc2VydmljZS5lbmFibGVMb2NhbExvZ2luJCB8IGFzeW5jKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgbXQtMyBzaGFkb3ctc20gcm91bmRlZFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTVcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC13YXJuaW5nXCI+XHJcbiAgICAgICAgICA8c3Ryb25nPnt7ICdBYnBBY2NvdW50OjpJbnZhbGlkTG9naW5SZXF1ZXN0JyB8IGFicExvY2FsaXphdGlvbiB9fTwvc3Ryb25nPlxyXG4gICAgICAgICAge3sgJ0FicEFjY291bnQ6OlRoZXJlQXJlTm9Mb2dpblNjaGVtZXNDb25maWd1cmVkRm9yVGhpc0NsaWVudCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=","import { Component, ViewEncapsulation, inject } from '@angular/core';\nimport { PageAlertService } from '@abp/ng.theme.shared';\nimport { NgClass, AsyncPipe } from '@angular/common';\nimport { LocalizationPipe, SafeHtmlPipe } from '@abp/ng.core';\nimport * as i0 from \"@angular/core\";\nexport class PageAlertContainerComponent {\n constructor() {\n this.service = inject(PageAlertService);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: PageAlertContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: PageAlertContainerComponent, isStandalone: true, selector: \"abp-page-alert-container\", ngImport: i0, template: \"@for (alert of service.alerts$ | async; track i; let i = $index) {\\r\\n <div\\r\\n class=\\\"alert alert-{{ alert.type }} fade show\\\"\\r\\n [ngClass]=\\\"{ 'alert-dismissible fade show': alert.dismissible }\\\"\\r\\n role=\\\"alert\\\"\\r\\n >\\r\\n @if (alert.title) {\\r\\n <h4\\r\\n class=\\\"alert-heading\\\"\\r\\n [innerHTML]=\\\"alert.title | abpSafeHtml | abpLocalization: alert.titleLocalizationParams\\\"\\r\\n ></h4>\\r\\n }\\r\\n <span\\r\\n [innerHTML]=\\\"alert.message | abpSafeHtml | abpLocalization: alert.messageLocalizationParams\\\"\\r\\n ></span>\\r\\n @if (alert.dismissible) {\\r\\n <button\\r\\n type=\\\"button\\\"\\r\\n class=\\\"btn-close\\\"\\r\\n data-dismiss=\\\"alert\\\"\\r\\n aria-label=\\\"Close\\\"\\r\\n (click)=\\\"service.remove(i)\\\"\\r\\n ></button>\\r\\n }\\r\\n </div>\\r\\n}\\r\\n\", dependencies: [{ kind: \"directive\", type: NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"pipe\", type: AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: LocalizationPipe, name: \"abpLocalization\" }, { kind: \"pipe\", type: SafeHtmlPipe, name: \"abpSafeHtml\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: PageAlertContainerComponent, decorators: [{\n type: Component,\n args: [{ selector: 'abp-page-alert-container', encapsulation: ViewEncapsulation.None, imports: [NgClass, AsyncPipe, LocalizationPipe, SafeHtmlPipe], template: \"@for (alert of service.alerts$ | async; track i; let i = $index) {\\r\\n <div\\r\\n class=\\\"alert alert-{{ alert.type }} fade show\\\"\\r\\n [ngClass]=\\\"{ 'alert-dismissible fade show': alert.dismissible }\\\"\\r\\n role=\\\"alert\\\"\\r\\n >\\r\\n @if (alert.title) {\\r\\n <h4\\r\\n class=\\\"alert-heading\\\"\\r\\n [innerHTML]=\\\"alert.title | abpSafeHtml | abpLocalization: alert.titleLocalizationParams\\\"\\r\\n ></h4>\\r\\n }\\r\\n <span\\r\\n [innerHTML]=\\\"alert.message | abpSafeHtml | abpLocalization: alert.messageLocalizationParams\\\"\\r\\n ></span>\\r\\n @if (alert.dismissible) {\\r\\n <button\\r\\n type=\\\"button\\\"\\r\\n class=\\\"btn-close\\\"\\r\\n data-dismiss=\\\"alert\\\"\\r\\n aria-label=\\\"Close\\\"\\r\\n (click)=\\\"service.remove(i)\\\"\\r\\n ></button>\\r\\n }\\r\\n </div>\\r\\n}\\r\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1hbGVydC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtYmFzaWMvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2UtYWxlcnQtY29udGFpbmVyL3BhZ2UtYWxlcnQtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9wYWdlLWFsZXJ0LWNvbnRhaW5lci9wYWdlLWFsZXJ0LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBUTlELE1BQU0sT0FBTywyQkFBMkI7SUFOeEM7UUFPRSxZQUFPLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7S0FDcEM7OEdBRlksMkJBQTJCO2tHQUEzQiwyQkFBMkIsb0ZDWHhDLHEwQkEwQkEsNENEakJZLE9BQU8sK0VBQUUsU0FBUyx5Q0FBRSxnQkFBZ0IsbURBQUUsWUFBWTs7MkZBRWpELDJCQUEyQjtrQkFOdkMsU0FBUzsrQkFDRSwwQkFBMEIsaUJBRXJCLGlCQUFpQixDQUFDLElBQUksV0FDNUIsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQYWdlQWxlcnRTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xyXG5pbXBvcnQgeyBOZ0NsYXNzLCBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25QaXBlLCBTYWZlSHRtbFBpcGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtcGFnZS1hbGVydC1jb250YWluZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdlLWFsZXJ0LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBpbXBvcnRzOiBbTmdDbGFzcywgQXN5bmNQaXBlLCBMb2NhbGl6YXRpb25QaXBlLCBTYWZlSHRtbFBpcGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnZUFsZXJ0Q29udGFpbmVyQ29tcG9uZW50IHtcclxuICBzZXJ2aWNlID0gaW5qZWN0KFBhZ2VBbGVydFNlcnZpY2UpO1xyXG59XHJcbiIsIkBmb3IgKGFsZXJ0IG9mIHNlcnZpY2UuYWxlcnRzJCB8IGFzeW5jOyB0cmFjayBpOyBsZXQgaSA9ICRpbmRleCkge1xyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiYWxlcnQgYWxlcnQte3sgYWxlcnQudHlwZSB9fSBmYWRlIHNob3dcIlxyXG4gICAgW25nQ2xhc3NdPVwieyAnYWxlcnQtZGlzbWlzc2libGUgZmFkZSBzaG93JzogYWxlcnQuZGlzbWlzc2libGUgfVwiXHJcbiAgICByb2xlPVwiYWxlcnRcIlxyXG4gID5cclxuICAgIEBpZiAoYWxlcnQudGl0bGUpIHtcclxuICAgICAgPGg0XHJcbiAgICAgICAgY2xhc3M9XCJhbGVydC1oZWFkaW5nXCJcclxuICAgICAgICBbaW5uZXJIVE1MXT1cImFsZXJ0LnRpdGxlIHwgYWJwU2FmZUh0bWwgfCBhYnBMb2NhbGl6YXRpb246IGFsZXJ0LnRpdGxlTG9jYWxpemF0aW9uUGFyYW1zXCJcclxuICAgICAgPjwvaDQ+XHJcbiAgICB9XHJcbiAgICA8c3BhblxyXG4gICAgICBbaW5uZXJIVE1MXT1cImFsZXJ0Lm1lc3NhZ2UgfCBhYnBTYWZlSHRtbCB8IGFicExvY2FsaXphdGlvbjogYWxlcnQubWVzc2FnZUxvY2FsaXphdGlvblBhcmFtc1wiXHJcbiAgICA+PC9zcGFuPlxyXG4gICAgQGlmIChhbGVydC5kaXNtaXNzaWJsZSkge1xyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgY2xhc3M9XCJidG4tY2xvc2VcIlxyXG4gICAgICAgIGRhdGEtZGlzbWlzcz1cImFsZXJ0XCJcclxuICAgICAgICBhcmlhLWxhYmVsPVwiQ2xvc2VcIlxyXG4gICAgICAgIChjbGljayk9XCJzZXJ2aWNlLnJlbW92ZShpKVwiXHJcbiAgICAgID48L2J1dHRvbj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxufVxyXG4iXX0=","import { Component, inject } from '@angular/core';\nimport { ReplaceableTemplateDirective, SubscriptionService } from '@abp/ng.core';\nimport { LayoutService } from '../../services/layout.service';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { LogoComponent } from '../logo/logo.component';\nimport { RoutesComponent } from '../routes/routes.component';\nimport { NavItemsComponent } from '../nav-items/nav-items.component';\nimport { AuthWrapperComponent } from './auth-wrapper/auth-wrapper.component';\nimport { PageAlertContainerComponent } from '../page-alert-container/page-alert-container.component';\nimport { RouterOutlet } from '@angular/router';\nimport { collapseWithMargin } from '@abp/ng.theme.shared';\nimport * as i0 from \"@angular/core\";\nexport class AccountLayoutComponent {\n constructor() {\n this.service = inject(LayoutService);\n this.authWrapperKey = 'Account.AuthWrapperComponent';\n }\n // required for dynamic component\n static { this.type = \"account\" /* eLayoutType.account */; }\n ngAfterViewInit() {\n this.service.subscribeWindowSize();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AccountLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: AccountLayoutComponent, isStandalone: true, 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: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: LogoComponent, selector: \"abp-logo\" }, { kind: \"component\", type: RoutesComponent, selector: \"abp-routes\", inputs: [\"smallScreen\"] }, { kind: \"component\", type: NavItemsComponent, selector: \"abp-nav-items\" }, { kind: \"component\", type: AuthWrapperComponent, selector: \"abp-auth-wrapper\" }, { kind: \"component\", type: PageAlertContainerComponent, selector: \"abp-page-alert-container\" }, { kind: \"directive\", type: ReplaceableTemplateDirective, selector: \"[abpReplaceableTemplate]\", inputs: [\"abpReplaceableTemplate\"] }, { kind: \"directive\", type: RouterOutlet, selector: \"router-outlet\", inputs: [\"name\", \"routerOutletData\"], outputs: [\"activate\", \"deactivate\", \"attach\", \"detach\"], exportAs: [\"outlet\"] }], animations: [collapseWithMargin] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AccountLayoutComponent, decorators: [{\n type: Component,\n args: [{ selector: 'abp-layout-account', animations: [collapseWithMargin], providers: [LayoutService, SubscriptionService], imports: [\n NgTemplateOutlet,\n LogoComponent,\n RoutesComponent,\n NavItemsComponent,\n AuthWrapperComponent,\n PageAlertContainerComponent,\n ReplaceableTemplateDirective,\n RouterOutlet,\n ], 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\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtYmFzaWMvc3JjL2xpYi9jb21wb25lbnRzL2FjY291bnQtbGF5b3V0L2FjY291bnQtbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9hY2NvdW50LWxheW91dC9hY2NvdW50LWxheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFlLDRCQUE0QixFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFrQjFELE1BQU0sT0FBTyxzQkFBc0I7SUFoQm5DO1FBaUJFLFlBQU8sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFLaEMsbUJBQWMsR0FBRyw4QkFBOEIsQ0FBQztLQUtqRDtJQVJDLGlDQUFpQzthQUMxQixTQUFJLHNDQUFBLENBQXVCO0lBSWxDLGVBQWU7UUFDYixJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDckMsQ0FBQzs4R0FWVSxzQkFBc0I7a0dBQXRCLHNCQUFzQixpRUFadEIsQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLENBQUMsMEJDaEJqRCwycEVBK0RBLDRDRDdDSSxnQkFBZ0Isb0pBQ2hCLGFBQWEscURBQ2IsZUFBZSxnRkFDZixpQkFBaUIsMERBQ2pCLG9CQUFvQiw2REFDcEIsMkJBQTJCLHFFQUMzQiw0QkFBNEIseUdBQzVCLFlBQVksaUtBVkYsQ0FBQyxrQkFBa0IsQ0FBQzs7MkZBYXJCLHNCQUFzQjtrQkFoQmxDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBRWxCLENBQUMsa0JBQWtCLENBQUMsYUFDckIsQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLENBQUMsV0FDdEM7d0JBQ1AsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixvQkFBb0I7d0JBQ3BCLDJCQUEyQjt3QkFDM0IsNEJBQTRCO3dCQUM1QixZQUFZO3FCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZUxheW91dFR5cGUsIFJlcGxhY2VhYmxlVGVtcGxhdGVEaXJlY3RpdmUsIFN1YnNjcmlwdGlvblNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBMYXlvdXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGF5b3V0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTG9nb0NvbXBvbmVudCB9IGZyb20gJy4uL2xvZ28vbG9nby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSb3V0ZXNDb21wb25lbnQgfSBmcm9tICcuLi9yb3V0ZXMvcm91dGVzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5hdkl0ZW1zQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2LWl0ZW1zL25hdi1pdGVtcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdXRoV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4vYXV0aC13cmFwcGVyL2F1dGgtd3JhcHBlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYWdlQWxlcnRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9wYWdlLWFsZXJ0LWNvbnRhaW5lci9wYWdlLWFsZXJ0LWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSb3V0ZXJPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBjb2xsYXBzZVdpdGhNYXJnaW4gfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FicC1sYXlvdXQtYWNjb3VudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FjY291bnQtbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcclxuICBhbmltYXRpb25zOiBbY29sbGFwc2VXaXRoTWFyZ2luXSxcclxuICBwcm92aWRlcnM6IFtMYXlvdXRTZXJ2aWNlLCBTdWJzY3JpcHRpb25TZXJ2aWNlXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxyXG4gICAgTG9nb0NvbXBvbmVudCxcclxuICAgIFJvdXRlc0NvbXBvbmVudCxcclxuICAgIE5hdkl0ZW1zQ29tcG9uZW50LFxyXG4gICAgQXV0aFdyYXBwZXJDb21wb25lbnQsXHJcbiAgICBQYWdlQWxlcnRDb250YWluZXJDb21wb25lbnQsXHJcbiAgICBSZXBsYWNlYWJsZVRlbXBsYXRlRGlyZWN0aXZlLFxyXG4gICAgUm91dGVyT3V0bGV0LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY2NvdW50TGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgc2VydmljZSA9IGluamVjdChMYXlvdXRTZXJ2aWNlKTtcclxuXHJcbiAgLy8gcmVxdWlyZWQgZm9yIGR5bmFtaWMgY29tcG9uZW50XHJcbiAgc3RhdGljIHR5cGUgPSBlTGF5b3V0VHlwZS5hY2NvdW50O1xyXG5cclxuICBhdXRoV3JhcHBlcktleSA9ICdBY2NvdW50LkF1dGhXcmFwcGVyQ29tcG9uZW50JztcclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5zZXJ2aWNlLnN1YnNjcmliZVdpbmRvd1NpemUoKTtcclxuICB9XHJcbn1cclxuIiwiPG5hdlxyXG4gIGNsYXNzPVwibmF2YmFyIG5hdmJhci1leHBhbmQtbGcgbmF2YmFyLWRhcmsgYmctZGFyayBzaGFkb3ctc20gZmxleC1jb2x1bW4gZmxleC1tZC1yb3cgbWItNFwiXHJcbiAgaWQ9XCJtYWluLW5hdmJhclwiXHJcbiAgc3R5bGU9XCJtaW4taGVpZ2h0OiA0cmVtXCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cclxuICAgIDxhYnAtbG9nbyAqYWJwUmVwbGFjZWFibGVUZW1wbGF0ZT1cInsgY29tcG9uZW50S2V5OiBzZXJ2aWNlLmxvZ29Db21wb25lbnRLZXkgfVwiPjwvYWJwLWxvZ28+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIGNsYXNzPVwibmF2YmFyLXRvZ2dsZXJcIlxyXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIhc2VydmljZS5pc0NvbGxhcHNlZFwiXHJcbiAgICAgIChjbGljayk9XCJzZXJ2aWNlLmlzQ29sbGFwc2VkID0gIXNlcnZpY2UuaXNDb2xsYXBzZWRcIlxyXG4gICAgPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cIm5hdmJhci10b2dnbGVyLWljb25cIj48L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJuYXZiYXItY29sbGFwc2VcIlxyXG4gICAgICBbY2xhc3Mub3ZlcmZsb3ctaGlkZGVuXT1cInNlcnZpY2Uuc21hbGxTY3JlZW5cIlxyXG4gICAgICBpZD1cIm1haW4tbmF2YmFyLWNvbGxhcHNlXCJcclxuICAgID5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIiFzZXJ2aWNlLnNtYWxsU2NyZWVuID8gbmF2aWdhdGlvbnMgOiBudWxsXCI+PC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICBAaWYgKHNlcnZpY2Uuc21hbGxTY3JlZW4pIHtcclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBbQGNvbGxhcHNlV2l0aE1hcmdpbl09XCJzZXJ2aWNlLmlzQ29sbGFwc2VkID8gJ2NvbGxhcHNlZCcgOiAnZXhwYW5kZWQnXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibmF2aWdhdGlvbnNcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG5cclxuICAgICAgPG5nLXRlbXBsYXRlICNuYXZpZ2F0aW9ucz5cclxuICAgICAgICA8YWJwLXJvdXRlc1xyXG4gICAgICAgICAgKmFicFJlcGxhY2VhYmxlVGVtcGxhdGU9XCJ7XHJcbiAgICAgICAgICAgIGNvbXBvbmVudEtleTogc2VydmljZS5yb3V0ZXNDb21wb25lbnRLZXksXHJcbiAgICAgICAgICAgIGlucHV0czoge1xyXG4gICAgICAgICAgICAgIHNtYWxsU2NyZWVuOiB7IHZhbHVlOiBzZXJ2aWNlLnNtYWxsU2NyZWVuIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVwiXHJcbiAgICAgICAgICBjbGFzcz1cIm14LWF1dG9cIlxyXG4gICAgICAgICAgW3NtYWxsU2NyZWVuXT1cInNlcnZpY2Uuc21hbGxTY3JlZW5cIlxyXG4gICAgICAgID48L2FicC1yb3V0ZXM+XHJcblxyXG4gICAgICAgIDxhYnAtbmF2LWl0ZW1zXHJcbiAgICAgICAgICAqYWJwUmVwbGFjZWFibGVUZW1wbGF0ZT1cIntcclxuICAgICAgICAgICAgY29tcG9uZW50S2V5OiBzZXJ2aWNlLm5hdkl0ZW1zQ29tcG9uZW50S2V5XHJcbiAgICAgICAgICB9XCJcclxuICAgICAgICA+PC9hYnAtbmF2LWl0ZW1zPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmF2PlxyXG5cclxuPCEtLSBbQHNsaWRlRnJvbUJvdHRvbV09XCJvdXRsZXQuaXNBY3RpdmF0ZWQgJiYgb3V0bGV0LmFjdGl2YXRlZFJvdXRlPy5yb3V0ZUNvbmZpZz8ucGF0aFwiIFRPRE86IHRocm93cyBFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2sgd2hlbiBhbmltYXRpb24gaXMgYWN0aXZlLiBJdCBzaG91bGQgYmUgZml4ZWQgLS0+XHJcbjxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cclxuICA8YWJwLXBhZ2UtYWxlcnQtY29udGFpbmVyPjwvYWJwLXBhZ2UtYWxlcnQtY29udGFpbmVyPlxyXG4gIDxhYnAtYXV0aC13cmFwcGVyXHJcbiAgICAqYWJwUmVwbGFjZWFibGVUZW1wbGF0ZT1cIntcclxuICAgICAgY29tcG9uZW50S2V5OiBhdXRoV3JhcHBlcktleVxyXG4gICAgfVwiXHJcbiAgPlxyXG4gICAgPHJvdXRlci1vdXRsZXQgI291dGxldD1cIm91dGxldFwiPjwvcm91dGVyLW91dGxldD5cclxuICA8L2FicC1hdXRoLXdyYXBwZXI+XHJcbjwvZGl2PlxyXG4iXX0=","import { ReplaceableTemplateDirective, SubscriptionService } from '@abp/ng.core';\nimport { collapseWithMargin, slideFromBottom } from '@abp/ng.theme.shared';\nimport { Component, inject } from '@angular/core';\nimport { LayoutService } from '../../services/layout.service';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { RouterOutlet } from '@angular/router';\nimport { LogoComponent } from '../logo/logo.component';\nimport { PageAlertContainerComponent } from '../page-alert-container/page-alert-container.component';\nimport { RoutesComponent } from '../routes/routes.component';\nimport { NavItemsComponent } from '../nav-items/nav-items.component';\nimport * as i0 from \"@angular/core\";\nexport class ApplicationLayoutComponent {\n constructor() {\n this.service = inject(LayoutService);\n }\n // required for dynamic component\n static { this.type = \"application\" /* eLayoutType.application */; }\n ngAfterViewInit() {\n this.service.subscribeWindowSize();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: ApplicationLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: ApplicationLayoutComponent, isStandalone: true, 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: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: LogoComponent, selector: \"abp-logo\" }, { kind: \"component\", type: PageAlertContainerComponent, selector: \"abp-page-alert-container\" }, { kind: \"component\", type: RoutesComponent, selector: \"abp-routes\", inputs: [\"smallScreen\"] }, { kind: \"component\", type: NavItemsComponent, selector: \"abp-nav-items\" }, { kind: \"directive\", type: ReplaceableTemplateDirective, selector: \"[abpReplaceableTemplate]\", inputs: [\"abpReplaceableTemplate\"] }, { kind: \"directive\", type: RouterOutlet, selector: \"router-outlet\", inputs: [\"name\", \"routerOutletData\"], outputs: [\"activate\", \"deactivate\", \"attach\", \"detach\"], exportAs: [\"outlet\"] }], animations: [slideFromBottom, collapseWithMargin] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: ApplicationLayoutComponent, decorators: [{\n type: Component,\n args: [{ selector: 'abp-layout-application', animations: [slideFromBottom, collapseWithMargin], providers: [LayoutService, SubscriptionService], imports: [\n NgTemplateOutlet,\n LogoComponent,\n PageAlertContainerComponent,\n RoutesComponent,\n NavItemsComponent,\n ReplaceableTemplateDirective,\n RouterOutlet,\n ], 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\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9hcHBsaWNhdGlvbi1sYXlvdXQvYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9hcHBsaWNhdGlvbi1sYXlvdXQvYXBwbGljYXRpb24tbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSw0QkFBNEIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFpQnJFLE1BQU0sT0FBTywwQkFBMEI7SUFmdkM7UUFnQmtCLFlBQU8sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7S0FPakQ7SUFOQyxpQ0FBaUM7YUFDMUIsU0FBSSw4Q0FBQSxDQUEyQjtJQUV0QyxlQUFlO1FBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQ3JDLENBQUM7OEdBUFUsMEJBQTBCO2tHQUExQiwwQkFBMEIscUVBWDFCLENBQUMsYUFBYSxFQUFFLG1CQUFtQixDQUFDLDBCQ2ZqRCx5L0RBd0RBLDRDRHZDSSxnQkFBZ0Isb0pBQ2hCLGFBQWEscURBQ2IsMkJBQTJCLHFFQUMzQixlQUFlLGdGQUNmLGlCQUFpQiwwREFDakIsNEJBQTRCLHlHQUM1QixZQUFZLGlLQVRGLENBQUMsZUFBZSxFQUFFLGtCQUFrQixDQUFDOzsyRkFZdEMsMEJBQTBCO2tCQWZ0QyxTQUFTOytCQUNFLHdCQUF3QixjQUV0QixDQUFDLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQyxhQUN0QyxDQUFDLGFBQWEsRUFBRSxtQkFBbUIsQ0FBQyxXQUN0Qzt3QkFDUCxnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsMkJBQTJCO3dCQUMzQixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsNEJBQTRCO3dCQUM1QixZQUFZO3FCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZUxheW91dFR5cGUsIFJlcGxhY2VhYmxlVGVtcGxhdGVEaXJlY3RpdmUsIFN1YnNjcmlwdGlvblNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBjb2xsYXBzZVdpdGhNYXJnaW4sIHNsaWRlRnJvbUJvdHRvbSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTGF5b3V0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xheW91dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFJvdXRlck91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IExvZ29Db21wb25lbnQgfSBmcm9tICcuLi9sb2dvL2xvZ28uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGFnZUFsZXJ0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vcGFnZS1hbGVydC1jb250YWluZXIvcGFnZS1hbGVydC1jb250YWluZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUm91dGVzQ29tcG9uZW50IH0gZnJvbSAnLi4vcm91dGVzL3JvdXRlcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOYXZJdGVtc0NvbXBvbmVudCB9IGZyb20gJy4uL25hdi1pdGVtcy9uYXYtaXRlbXMuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWJwLWxheW91dC1hcHBsaWNhdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FwcGxpY2F0aW9uLWxheW91dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgYW5pbWF0aW9uczogW3NsaWRlRnJvbUJvdHRvbSwgY29sbGFwc2VXaXRoTWFyZ2luXSxcclxuICBwcm92aWRlcnM6IFtMYXlvdXRTZXJ2aWNlLCBTdWJzY3JpcHRpb25TZXJ2aWNlXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxyXG4gICAgTG9nb0NvbXBvbmVudCxcclxuICAgIFBhZ2VBbGVydENvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIFJvdXRlc0NvbXBvbmVudCxcclxuICAgIE5hdkl0ZW1zQ29tcG9uZW50LFxyXG4gICAgUmVwbGFjZWFibGVUZW1wbGF0ZURpcmVjdGl2ZSxcclxuICAgIFJvdXRlck91dGxldCxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25MYXlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgc2VydmljZSA9IGluamVjdChMYXlvdXRTZXJ2aWNlKTtcclxuICAvLyByZXF1aXJlZCBmb3IgZHluYW1pYyBjb21wb25lbnRcclxuICBzdGF0aWMgdHlwZSA9IGVMYXlvdXRUeXBlLmFwcGxpY2F0aW9uO1xyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnNlcnZpY2Uuc3Vic2NyaWJlV2luZG93U2l6ZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8bmF2XHJcbiAgY2xhc3M9XCJuYXZiYXIgbmF2YmFyLWV4cGFuZC1sZyBuYXZiYXItZGFyayBiZy1kYXJrIHNoYWRvdy1zbSBmbGV4LWNvbHVtbiBmbGV4LW1kLXJvdyBtYi00XCJcclxuICBpZD1cIm1haW4tbmF2YmFyXCJcclxuICBzdHlsZT1cIm1pbi1oZWlnaHQ6IDRyZW1cIlxyXG4+XHJcbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxyXG4gICAgPGFicC1sb2dvICphYnBSZXBsYWNlYWJsZVRlbXBsYXRlPVwieyBjb21wb25lbnRLZXk6IHNlcnZpY2UubG9nb0NvbXBvbmVudEtleSB9XCI+PC9hYnAtbG9nbz5cclxuICAgIDxidXR0b25cclxuICAgICAgY2xhc3M9XCJuYXZiYXItdG9nZ2xlclwiXHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIiFzZXJ2aWNlLmlzQ29sbGFwc2VkXCJcclxuICAgICAgKGNsaWNrKT1cInNlcnZpY2UuaXNDb2xsYXBzZWQgPSAhc2VydmljZS5pc0NvbGxhcHNlZFwiXHJcbiAgICA+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibmF2YmFyLXRvZ2dsZXItaWNvblwiPjwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cIm5hdmJhci1jb2xsYXBzZVwiXHJcbiAgICAgIFtjbGFzcy5vdmVyZmxvdy1oaWRkZW5dPVwic2VydmljZS5zbWFsbFNjcmVlblwiXHJcbiAgICAgIGlkPVwibWFpbi1uYXZiYXItY29sbGFwc2VcIlxyXG4gICAgPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiIXNlcnZpY2Uuc21hbGxTY3JlZW4gPyBuYXZpZ2F0aW9ucyA6IG51bGxcIj48L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIEBpZiAoc2VydmljZS5zbWFsbFNjcmVlbikge1xyXG4gICAgICAgIDxkaXYgW0Bjb2xsYXBzZVdpdGhNYXJnaW5dPVwic2VydmljZS5pc0NvbGxhcHNlZCA/ICdjb2xsYXBzZWQnIDogJ2V4cGFuZGVkJ1wiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5hdmlnYXRpb25zXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjbmF2aWdhdGlvbnM+XHJcbiAgICAgICAgPGFicC1yb3V0ZXNcclxuICAgICAgICAgICphYnBSZXBsYWNlYWJsZVRlbXBsYXRlPVwie1xyXG4gICAgICAgICAgICBjb21wb25lbnRLZXk6IHNlcnZpY2Uucm91dGVzQ29tcG9uZW50S2V5LFxyXG4gICAgICAgICAgICBpbnB1dHM6IHtcclxuICAgICAgICAgICAgICBzbWFsbFNjcmVlbjogeyB2YWx1ZTogc2VydmljZS5zbWFsbFNjcmVlbiB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgY2xhc3M9XCJteC1hdXRvXCJcclxuICAgICAgICAgIFtzbWFsbFNjcmVlbl09XCJzZXJ2aWNlLnNtYWxsU2NyZWVuXCJcclxuICAgICAgICA+PC9hYnAtcm91dGVzPlxyXG5cclxuICAgICAgICA8YWJwLW5hdi1pdGVtc1xyXG4gICAgICAgICAgKmFicFJlcGxhY2VhYmxlVGVtcGxhdGU9XCJ7XHJcbiAgICAgICAgICAgIGNvbXBvbmVudEtleTogc2VydmljZS5uYXZJdGVtc0NvbXBvbmVudEtleVxyXG4gICAgICAgICAgfVwiXHJcbiAgICAgICAgPjwvYWJwLW5hdi1pdGVtcz5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L25hdj5cclxuXHJcbjwhLS0gW0BzbGlkZUZyb21Cb3R0b21dPVwib3V0bGV0LmlzQWN0aXZhdGVkICYmIG91dGxldC5hY3RpdmF0ZWRSb3V0ZT8ucm91dGVDb25maWc/LnBhdGhcIiBUT0RPOiB0aHJvd3MgRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrIHdoZW4gYW5pbWF0aW9uIGlzIGFjdGl2ZS4gSXQgc2hvdWxkIGJlIGZpeGVkIC0tPlxyXG48ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgPGFicC1wYWdlLWFsZXJ0LWNvbnRhaW5lcj48L2FicC1wYWdlLWFsZXJ0LWNvbnRhaW5lcj5cclxuXHJcbiAgPHJvdXRlci1vdXRsZXQgI291dGxldD1cIm91dGxldFwiPjwvcm91dGVyLW91dGxldD5cclxuPC9kaXY+XHJcbiJdfQ==","import { Component } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\nimport * as i0 from \"@angular/core\";\nexport class EmptyLayoutComponent {\n static { this.type = \"empty\" /* eLayoutType.empty */; }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: EmptyLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.7\", type: EmptyLayoutComponent, isStandalone: true, selector: \"abp-layout-empty\", ngImport: i0, template: ` <router-outlet></router-outlet> `, isInline: true, dependencies: [{ kind: \"directive\", type: RouterOutlet, selector: \"router-outlet\", inputs: [\"name\", \"routerOutletData\"], outputs: [\"activate\", \"deactivate\", \"attach\", \"detach\"], exportAs: [\"outlet\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: EmptyLayoutComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'abp-layout-empty',\n template: ` <router-outlet></router-outlet> `,\n imports: [RouterOutlet],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHktbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9lbXB0eS1sYXlvdXQvZW1wdHktbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFPL0MsTUFBTSxPQUFPLG9CQUFvQjthQUN4QixTQUFJLGtDQUFBLENBQXFCOzhHQURyQixvQkFBb0I7a0dBQXBCLG9CQUFvQiw0RUFIckIsbUNBQW1DLDREQUNuQyxZQUFZOzsyRkFFWCxvQkFBb0I7a0JBTGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFLG1DQUFtQztvQkFDN0MsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBlTGF5b3V0VHlwZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlck91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FicC1sYXlvdXQtZW1wdHknLFxyXG4gIHRlbXBsYXRlOiBgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD4gYCxcclxuICBpbXBvcnRzOiBbUm91dGVyT3V0bGV0XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVtcHR5TGF5b3V0Q29tcG9uZW50IHtcclxuICBzdGF0aWMgdHlwZSA9IGVMYXlvdXRUeXBlLmVtcHR5O1xyXG59XHJcbiJdfQ==","import { AuthService, ConfigStateService, LocalizationPipe, NAVIGATE_TO_MANAGE_PROFILE, PermissionDirective, SessionStateService, ToInjectorPipe, } from '@abp/ng.core';\nimport { AbpVisibleDirective, UserMenuService } from '@abp/ng.theme.shared';\nimport { Component, inject } from '@angular/core';\nimport { NgComponentOutlet, AsyncPipe, DOCUMENT } from '@angular/common';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@ng-bootstrap/ng-bootstrap\";\nexport class CurrentUserComponent {\n constructor() {\n this.navigateToManageProfile = inject(NAVIGATE_TO_MANAGE_PROFILE);\n this.userMenu = inject(UserMenuService);\n this.authService = inject(AuthService);\n this.configState = inject(ConfigStateService);\n this.sessionState = inject(SessionStateService);\n this.document = inject(DOCUMENT);\n this.currentUser$ = this.configState.getOne$('currentUser');\n this.selectedTenant$ = this.sessionState.getTenant$();\n this.trackByFn = (_, element) => element.id;\n }\n get smallScreen() {\n return this.document.defaultView?.innerWidth < 992;\n }\n navigateToLogin() {\n this.authService.navigateToLogin();\n }\n logout() {\n this.authService.logout().subscribe();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: CurrentUserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: CurrentUserComponent, isStandalone: true, 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 <a role=\\\"button\\\" class=\\\"nav-link pointer\\\" (click)=\\\"navigateToLogin()\\\">\\r\\n {{ 'AbpAccount::Login' | abpLocalization }}\\r\\n </a>\\r\\n}\\r\\n\", dependencies: [{ kind: \"directive\", type: NgComponentOutlet, selector: \"[ngComponentOutlet]\", inputs: [\"ngComponentOutlet\", \"ngComponentOutletInputs\", \"ngComponentOutletInjector\", \"ngComponentOutletContent\", \"ngComponentOutletNgModule\", \"ngComponentOutletNgModuleFactory\"], exportAs: [\"ngComponentOutlet\"] }, { kind: \"pipe\", type: AsyncPipe, name: \"async\" }, { kind: \"ngmodule\", type: NgbDropdownModule }, { kind: \"directive\", type: i1.NgbDropdown, selector: \"[ngbDropdown]\", inputs: [\"autoClose\", \"dropdownClass\", \"open\", \"placement\", \"popperOptions\", \"container\", \"display\"], outputs: [\"openChange\"], exportAs: [\"ngbDropdown\"] }, { kind: \"directive\", type: i1.NgbDropdownToggle, selector: \"[ngbDropdownToggle]\" }, { kind: \"directive\", type: AbpVisibleDirective, selector: \"[abpVisible]\", inputs: [\"abpVisible\"] }, { kind: \"directive\", type: PermissionDirective, selector: \"[abpPermission]\", inputs: [\"abpPermission\", \"abpPermissionRunChangeDetection\"] }, { kind: \"pipe\", type: ToInjectorPipe, name: \"toInjector\" }, { kind: \"pipe\", type: LocalizationPipe, name: \"abpLocalization\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: CurrentUserComponent, decorators: [{\n type: Component,\n args: [{ selector: 'abp-current-user', imports: [\n NgComponentOutlet,\n AsyncPipe,\n NgbDropdownModule,\n AbpVisibleDirective,\n PermissionDirective,\n ToInjectorPipe,\n LocalizationPipe,\n ], 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 <a role=\\\"button\\\" class=\\\"nav-link pointer\\\" (click)=\\\"navigateToLogin()\\\">\\r\\n {{ 'AbpAccount::Login' | abpLocalization }}\\r\\n </a>\\r\\n}\\r\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVudC11c2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9uYXYtaXRlbXMvY3VycmVudC11c2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9uYXYtaXRlbXMvY3VycmVudC11c2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsa0JBQWtCLEVBRWxCLGdCQUFnQixFQUNoQiwwQkFBMEIsRUFDMUIsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixjQUFjLEdBQ2YsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLG1CQUFtQixFQUFZLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxTQUFTLEVBQW1CLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFlL0QsTUFBTSxPQUFPLG9CQUFvQjtJQWJqQztRQWNXLDRCQUF1QixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzdELGFBQVEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDcEMsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEMsZ0JBQVcsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN6QyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzNDLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFcEMsaUJBQVksR0FBK0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbkYsb0JBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2pELGNBQVMsR0FBOEIsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO0tBYW5FO0lBWEMsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxVQUFVLEdBQUcsR0FBRyxDQUFDO0lBQ3JELENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDeEMsQ0FBQzs4R0F0QlUsb0JBQW9CO2tHQUFwQixvQkFBb0IsNEVDN0JqQyx3dUVBOERBLDRDRDFDSSxpQkFBaUIsZ1JBQ2pCLFNBQVMsNkNBQ1QsaUJBQWlCLHFWQUNqQixtQkFBbUIsaUZBQ25CLG1CQUFtQixxSEFDbkIsY0FBYyw4Q0FDZCxnQkFBZ0I7OzJGQUdQLG9CQUFvQjtrQkFiaEMsU0FBUzsrQkFDRSxrQkFBa0IsV0FFbkI7d0JBQ1AsaUJBQWlCO3dCQUNqQixTQUFTO3dCQUNULGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsZ0JBQWdCO3FCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQXV0aFNlcnZpY2UsXHJcbiAgQ29uZmlnU3RhdGVTZXJ2aWNlLFxyXG4gIEN1cnJlbnRVc2VyRHRvLFxyXG4gIExvY2FsaXphdGlvblBpcGUsXHJcbiAgTkFWSUdBVEVfVE9fTUFOQUdFX1BST0ZJTEUsXHJcbiAgUGVybWlzc2lvbkRpcmVjdGl2ZSxcclxuICBTZXNzaW9uU3RhdGVTZXJ2aWNlLFxyXG4gIFRvSW5qZWN0b3JQaXBlLFxyXG59IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IEFicFZpc2libGVEaXJlY3RpdmUsIFVzZXJNZW51LCBVc2VyTWVudVNlcnZpY2UgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgVHJhY2tCeUZ1bmN0aW9uLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBOZ0NvbXBvbmVudE91dGxldCwgQXN5bmNQaXBlLCBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nYkRyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtY3VycmVudC11c2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY3VycmVudC11c2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ0NvbXBvbmVudE91dGxldCxcclxuICAgIEFzeW5jUGlwZSxcclxuICAgIE5nYkRyb3Bkb3duTW9kdWxlLFxyXG4gICAgQWJwVmlzaWJsZURpcmVjdGl2ZSxcclxuICAgIFBlcm1pc3Npb25EaXJlY3RpdmUsXHJcbiAgICBUb0luamVjdG9yUGlwZSxcclxuICAgIExvY2FsaXphdGlvblBpcGUsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEN1cnJlbnRVc2VyQ29tcG9uZW50IHtcclxuICByZWFkb25seSBuYXZpZ2F0ZVRvTWFuYWdlUHJvZmlsZSA9IGluamVjdChOQVZJR0FURV9UT19NQU5BR0VfUFJPRklMRSk7XHJcbiAgcmVhZG9ubHkgdXNlck1lbnUgPSBpbmplY3QoVXNlck1lbnVTZXJ2aWNlKTtcclxuICBwcml2YXRlIGF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcclxuICBwcml2YXRlIGNvbmZpZ1N0YXRlID0gaW5qZWN0KENvbmZpZ1N0YXRlU2VydmljZSk7XHJcbiAgcHJpdmF0ZSBzZXNzaW9uU3RhdGUgPSBpbmplY3QoU2Vzc2lvblN0YXRlU2VydmljZSk7XHJcbiAgcHJpdmF0ZSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XHJcblxyXG4gIGN1cnJlbnRVc2VyJDogT2JzZXJ2YWJsZTxDdXJyZW50VXNlckR0bz4gPSB0aGlzLmNvbmZpZ1N0YXRlLmdldE9uZSQoJ2N1cnJlbnRVc2VyJyk7XHJcbiAgc2VsZWN0ZWRUZW5hbnQkID0gdGhpcy5zZXNzaW9uU3RhdGUuZ2V0VGVuYW50JCgpO1xyXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPFVzZXJNZW51PiA9IChfLCBlbGVtZW50KSA9PiBlbGVtZW50LmlkO1xyXG5cclxuICBnZXQgc21hbGxTY3JlZW4oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5kb2N1bWVudC5kZWZhdWx0Vmlldz8uaW5uZXJXaWR0aCA8IDk5MjtcclxuICB9XHJcblxyXG4gIG5hdmlnYXRlVG9Mb2dpbigpIHtcclxuICAgIHRoaXMuYXV0aFNlcnZpY2UubmF2aWdhdGVUb0xvZ2luKCk7XHJcbiAgfVxyXG5cclxuICBsb2dvdXQoKSB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ291dCgpLnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iLCJAaWYgKChjdXJyZW50VXNlciQgfCBhc3luYyk/LmlzQXV0aGVudGljYXRlZCkge1xyXG4gIDxkaXZcclxuICAgIG5nYkRyb3Bkb3duXHJcbiAgICBjbGFzcz1cImRyb3Bkb3duXCJcclxuICAgICNjdXJyZW50VXNlckRyb3Bkb3duPVwibmdiRHJvcGRvd25cIlxyXG4gICAgZGlzcGxheT1cInN0YXRpY1wiXHJcbiAgPlxyXG4gICAgPGFcclxuICAgICAgbmdiRHJvcGRvd25Ub2dnbGVcclxuICAgICAgY2xhc3M9XCJuYXYtbGlua1wiXHJcbiAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxyXG4gICAgICByb2xlPVwiYnV0dG9uXCJcclxuICAgICAgaWQ9XCJkcm9wZG93bk1lbnVMaW5rXCJcclxuICAgICAgZGF0YS10b2dnbGU9XCJkcm9wZG93blwiXHJcbiAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcclxuICAgICAgYXJpYS1leHBhbmRlZD1cImZhbHNlXCJcclxuICAgID5cclxuICAgICAgQGlmICgoc2VsZWN0ZWRUZW5hbnQkIHwgYXN5bmMpPy5uYW1lOyBhcyB0ZW5hbnROYW1lKSB7XHJcbiAgICAgICAgPHNtYWxsXHJcbiAgICAgICAgICA+PGk+e3sgdGVuYW50TmFtZSB9fTwvaVxyXG4gICAgICAgICAgPlxcPC9zbWFsbFxyXG4gICAgICAgID5cclxuICAgICAgfVxyXG4gICAgICA8c3Ryb25nPnt7IChjdXJyZW50VXNlciQgfCBhc3luYyk/LnVzZXJOYW1lIH19PC9zdHJvbmc+XHJcbiAgICA8L2E+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiZHJvcGRvd24tbWVudSBkcm9wZG93bi1tZW51LWVuZCBib3JkZXItMCBzaGFkb3ctc21cIlxyXG4gICAgICBhcmlhLWxhYmVsbGVkYnk9XCJkcm9wZG93bk1lbnVMaW5rXCJcclxuICAgICAgW2NsYXNzLmQtYmxvY2tdPVwic21hbGxTY3JlZW4gJiYgY3VycmVudFVzZXJEcm9wZG93bi5pc09wZW4oKVwiXHJcbiAgICA+XHJcbiAgICAgIEBmb3IgKGl0ZW0gb2YgdXNlck1lbnUuaXRlbXMkIHwgYXN5bmM7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICAgIDxuZy1jb250YWluZXIgKmFicFZpc2libGU9XCIhaXRlbS52aXNpYmxlIHx8IGl0ZW0udmlzaWJsZShpdGVtKVwiPlxyXG4gICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW0gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiICphYnBQZXJtaXNzaW9uPVwiaXRlbS5yZXF1aXJlZFBvbGljeVwiPlxyXG4gICAgICAgICAgICBAaWYgKGl0ZW0uY29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgW25nQ29tcG9uZW50T3V0bGV0XT1cIml0ZW0uY29tcG9uZW50XCJcclxuICAgICAgICAgICAgICAgIFtuZ0NvbXBvbmVudE91dGxldEluamVjdG9yXT1cIml0ZW0gfCB0b0luamVjdG9yXCJcclxuICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgIEBpZiAoaXRlbS5odG1sKSB7XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwiaXRlbS5odG1sXCIgKGNsaWNrKT1cIml0ZW0uYWN0aW9uID8gaXRlbS5hY3Rpb24oKSA6IG51bGxcIj48L2Rpdj5cclxuICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoaXRlbS50ZXh0VGVtcGxhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cIml0ZW0uYWN0aW9uID8gaXRlbS5hY3Rpb24oKSA6IG51bGxcIiBjbGFzcz1cImRyb3Bkb3duLWl0ZW0gcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS50ZXh0VGVtcGxhdGUuaWNvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJtZS0xIHt7IGl0ZW0udGV4dFRlbXBsYXRlLmljb24gfX1cIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0udGV4dFRlbXBsYXRlLnRleHQgfCBhYnBMb2NhbGl6YXRpb24gfX08L2FcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9saT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbn0gQGVsc2Uge1xyXG4gICAgPGEgcm9sZT1cImJ1dHRvblwiIGNsYXNzPVwibmF2LWxpbmsgcG9pbnRlclwiIChjbGljayk9XCJuYXZpZ2F0ZVRvTG9naW4oKVwiPlxyXG4gICAgICB7eyAnQWJwQWNjb3VudDo6TG9naW4nIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2E+XHJcbn1cclxuIl19","import { ConfigStateService, SessionStateService } from '@abp/ng.core';\nimport { Component, inject } from '@angular/core';\nimport { DOCUMENT, AsyncPipe } from '@angular/common';\nimport { map } from 'rxjs/operators';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@ng-bootstrap/ng-bootstrap\";\nexport class LanguagesComponent {\n constructor() {\n this.sessionState = inject(SessionStateService);\n this.configState = inject(ConfigStateService);\n this.document = inject(DOCUMENT);\n this.languages$ = this.configState.getDeep$('localization.languages');\n }\n get smallScreen() {\n return this.document.defaultView.innerWidth < 992;\n }\n get defaultLanguage$() {\n return this.languages$.pipe(map(languages => languages?.find(lang => lang.cultureName === this.selectedLangCulture)?.displayName || ''));\n }\n get dropdownLanguages$() {\n return this.languages$.pipe(map(languages => languages?.filter(lang => lang.cultureName !== this.selectedLangCulture) || []));\n }\n get selectedLangCulture() {\n return this.sessionState.getLanguage();\n }\n onChangeLang(cultureName) {\n this.sessionState.setLanguage(cultureName);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: LanguagesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: LanguagesComponent, isStandalone: true, selector: \"abp-languages\", ngImport: i0, template: `\r\n @if (((dropdownLanguages$ | async)?.length || 0) > 0) {\r\n <div class=\"dropdown\" ngbDropdown #languageDropdown=\"ngbDropdown\" display=\"static\">\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 {{ defaultLanguage$ | async }}\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 && languageDropdown.isOpen()\"\r\n >\r\n @for (lang of dropdownLanguages$ | async; track $index) {\r\n <a\r\n href=\"javascript:void(0)\"\r\n class=\"dropdown-item\"\r\n (click)=\"onChangeLang(lang.cultureName || '')\"\r\n >{{ lang?.displayName }}</a\r\n >\r\n }\r\n </div>\r\n </div>\r\n }\r\n `, isInline: true, dependencies: [{ kind: \"pipe\", type: AsyncPipe, name: \"async\" }, { kind: \"ngmodule\", type: NgbDropdownModule }, { kind: \"directive\", type: i1.NgbDropdown, selector: \"[ngbDropdown]\", inputs: [\"autoClose\", \"dropdownClass\", \"open\", \"placement\", \"popperOptions\", \"container\", \"display\"], outputs: [\"openChange\"], exportAs: [\"ngbDropdown\"] }, { kind: \"directive\", type: i1.NgbDropdownToggle, selector: \"[ngbDropdownToggle]\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: LanguagesComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'abp-languages',\n template: `\r\n @if (((dropdownLanguages$ | async)?.length || 0) > 0) {\r\n <div class=\"dropdown\" ngbDropdown #languageDropdown=\"ngbDropdown\" display=\"static\">\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 {{ defaultLanguage$ | async }}\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 && languageDropdown.isOpen()\"\r\n >\r\n @for (lang of dropdownLanguages$ | async; track $index) {\r\n <a\r\n href=\"javascript:void(0)\"\r\n class=\"dropdown-item\"\r\n (click)=\"onChangeLang(lang.cultureName || '')\"\r\n >{{ lang?.displayName }}</a\r\n >\r\n }\r\n </div>\r\n </div>\r\n }\r\n `,\n imports: [AsyncPipe, NgbDropdownModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2VzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9uYXYtaXRlbXMvbGFuZ3VhZ2VzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQWdCLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFzQy9ELE1BQU0sT0FBTyxrQkFBa0I7SUFwQy9CO1FBcUNVLGlCQUFZLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDM0MsZ0JBQVcsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNqRCxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBTTVCLGVBQVUsR0FBK0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsd0JBQXdCLENBQUMsQ0FBQztLQTBCOUY7SUE5QkMsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO0lBQ3BELENBQUM7SUFJRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUN6QixHQUFHLENBQ0QsU0FBUyxDQUFDLEVBQUUsQ0FDVixTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsbUJBQW1CLENBQUMsRUFBRSxXQUFXLElBQUksRUFBRSxDQUM1RixDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDekIsR0FBRyxDQUNELFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUM1RixDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDckIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxZQUFZLENBQUMsV0FBbUI7UUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0MsQ0FBQzs4R0FsQ1Usa0JBQWtCO2tHQUFsQixrQkFBa0IseUVBbENuQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCVCx1REFDUyxTQUFTLDZDQUFFLGlCQUFpQjs7MkZBRTNCLGtCQUFrQjtrQkFwQzlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUM7aUJBQ3hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlnU3RhdGVTZXJ2aWNlLCBMYW5ndWFnZUluZm8sIFNlc3Npb25TdGF0ZVNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBET0NVTUVOVCwgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE5nYkRyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtbGFuZ3VhZ2VzJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgQGlmICgoKGRyb3Bkb3duTGFuZ3VhZ2VzJCB8IGFzeW5jKT8ubGVuZ3RoIHx8IDApID4gMCkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd25cIiBuZ2JEcm9wZG93biAjbGFuZ3VhZ2VEcm9wZG93bj1cIm5nYkRyb3Bkb3duXCIgZGlzcGxheT1cInN0YXRpY1wiPlxyXG4gICAgICAgIDxhXHJcbiAgICAgICAgICBuZ2JEcm9wZG93blRvZ2dsZVxyXG4gICAgICAgICAgY2xhc3M9XCJuYXYtbGlua1wiXHJcbiAgICAgICAgICBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCJcclxuICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgaWQ9XCJkcm9wZG93bk1lbnVMaW5rXCJcclxuICAgICAgICAgIGRhdGEtdG9nZ2xlPVwiZHJvcGRvd25cIlxyXG4gICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxyXG4gICAgICAgICAgYXJpYS1leHBhbmRlZD1cImZhbHNlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICB7eyBkZWZhdWx0TGFuZ3VhZ2UkIHwgYXN5bmMgfX1cclxuICAgICAgICA8L2E+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJkcm9wZG93bi1tZW51IGRyb3Bkb3duLW1lbnUtZW5kIGJvcmRlci0wIHNoYWRvdy1zbVwiXHJcbiAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJkcm9wZG93bk1lbnVMaW5rXCJcclxuICAgICAgICAgIFtjbGFzcy5kLWJsb2NrXT1cInNtYWxsU2NyZWVuICYmIGxhbmd1YWdlRHJvcGRvd24uaXNPcGVuKClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIEBmb3IgKGxhbmcgb2YgZHJvcGRvd25MYW5ndWFnZXMkIHwgYXN5bmM7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2hhbmdlTGFuZyhsYW5nLmN1bHR1cmVOYW1lIHx8ICcnKVwiXHJcbiAgICAgICAgICAgICAgPnt7IGxhbmc/LmRpc3BsYXlOYW1lIH19PC9hXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgYCxcclxuICBpbXBvcnRzOiBbQXN5bmNQaXBlLCBOZ2JEcm9wZG93bk1vZHVsZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMYW5ndWFnZXNDb21wb25lbnQge1xyXG4gIHByaXZhdGUgc2Vzc2lvblN0YXRlID0gaW5qZWN0KFNlc3Npb25TdGF0ZVNlcnZpY2UpO1xyXG4gIHByaXZhdGUgY29uZmlnU3RhdGUgPSBpbmplY3QoQ29uZmlnU3RhdGVTZXJ2aWNlKTtcclxuICBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XHJcblxyXG4gIGdldCBzbWFsbFNjcmVlbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3LmlubmVyV2lkdGggPCA5OTI7XHJcbiAgfVxyXG5cclxuICBsYW5ndWFnZXMkOiBPYnNlcnZhYmxlPExhbmd1YWdlSW5mb1tdPiA9IHRoaXMuY29uZmlnU3RhdGUuZ2V0RGVlcCQoJ2xvY2FsaXphdGlvbi5sYW5ndWFnZXMnKTtcclxuXHJcbiAgZ2V0IGRlZmF1bHRMYW5ndWFnZSQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgIHJldHVybiB0aGlzLmxhbmd1YWdlcyQucGlwZShcclxuICAgICAgbWFwKFxyXG4gICAgICAgIGxhbmd1YWdlcyA9PlxyXG4gICAgICAgICAgbGFuZ3VhZ2VzPy5maW5kKGxhbmcgPT4gbGFuZy5jdWx0dXJlTmFtZSA9PT0gdGhpcy5zZWxlY3RlZExhbmdDdWx0dXJlKT8uZGlzcGxheU5hbWUgfHwgJycsXHJcbiAgICAgICksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRyb3Bkb3duTGFuZ3VhZ2VzJCgpOiBPYnNlcnZhYmxlPExhbmd1YWdlSW5mb1tdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5sYW5ndWFnZXMkLnBpcGUoXHJcbiAgICAgIG1hcChcclxuICAgICAgICBsYW5ndWFnZXMgPT4gbGFuZ3VhZ2VzPy5maWx0ZXIobGFuZyA9PiBsYW5nLmN1bHR1cmVOYW1lICE9PSB0aGlzLnNlbGVjdGVkTGFuZ0N1bHR1cmUpIHx8IFtdLFxyXG4gICAgICApLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldCBzZWxlY3RlZExhbmdDdWx0dXJlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXNzaW9uU3RhdGUuZ2V0TGFuZ3VhZ2UoKTtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlTGFuZyhjdWx0dXJlTmFtZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNlc3Npb25TdGF0ZS5zZXRMYW5ndWFnZShjdWx0dXJlTmFtZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\nimport { LocalizationPipe } from '@abp/ng.core';\nimport * as i0 from \"@angular/core\";\nexport class ValidationErrorComponent extends ErrorComponent {\n get abpErrors() {\n if (!this.errors || !this.errors.length)\n return [];\n return this.errors.map(error => {\n if (!error.message)\n return error;\n const index = error.message.indexOf('[');\n if (index > -1) {\n return {\n ...error,\n message: error.message.slice(0, index),\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\n };\n }\n return error;\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: ValidationErrorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: ValidationErrorComponent, isStandalone: true, selector: \"abp-validation-error\", usesInheritance: true, ngImport: i0, template: `\r\n @for (error of abpErrors; track $index) {\r\n <div class=\"invalid-feedback\">\r\n {{ error.message | abpLocalization: error.interpoliteParams }}\r\n </div>\r\n }\r\n `, isInline: true, dependencies: [{ kind: \"pipe\", type: LocalizationPipe, name: \"abpLocalization\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: ValidationErrorComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'abp-validation-error',\n template: `\r\n @for (error of abpErrors; track $index) {\r\n <div class=\"invalid-feedback\">\r\n {{ error.message | abpLocalization: error.interpoliteParams }}\r\n </div>\r\n }\r\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [LocalizationPipe],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1lcnJvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1iYXNpYy9zcmMvbGliL2NvbXBvbmVudHMvdmFsaWRhdGlvbi1lcnJvci92YWxpZGF0aW9uLWVycm9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBYyx3QkFBd0IsSUFBSSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBZWhELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxjQUFjO0lBQzFELElBQUksU0FBUztRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFbkQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87Z0JBQUUsT0FBTyxLQUFLLENBQUM7WUFFakMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFekMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDZixPQUFPO29CQUNMLEdBQUcsS0FBSztvQkFDUixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQztvQkFDdEMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO2lCQUN2RixDQUFDO1lBQ0osQ0FBQztZQUVELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQW5CVSx3QkFBd0I7a0dBQXhCLHdCQUF3Qix1R0FYekI7Ozs7OztHQU1ULHVEQUdTLGdCQUFnQjs7MkZBRWYsd0JBQXdCO2tCQWJwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFFBQVEsRUFBRTs7Ozs7O0dBTVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uLCBWYWxpZGF0aW9uRXJyb3JDb21wb25lbnQgYXMgRXJyb3JDb21wb25lbnQgfSBmcm9tICdAbmd4LXZhbGlkYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25QaXBlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWJwLXZhbGlkYXRpb24tZXJyb3InLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICBAZm9yIChlcnJvciBvZiBhYnBFcnJvcnM7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiPlxyXG4gICAgICAgIHt7IGVycm9yLm1lc3NhZ2UgfCBhYnBMb2NhbGl6YXRpb246IGVycm9yLmludGVycG9saXRlUGFyYW1zIH19XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIGAsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBpbXBvcnRzOiBbTG9jYWxpemF0aW9uUGlwZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWYWxpZGF0aW9uRXJyb3JDb21wb25lbnQgZXh0ZW5kcyBFcnJvckNvbXBvbmVudCB7XHJcbiAgZ2V0IGFicEVycm9ycygpOiAoVmFsaWRhdGlvbi5FcnJvciAmIHsgaW50ZXJwb2xpdGVQYXJhbXM/OiBzdHJpbmdbXSB9KVtdIHtcclxuICAgIGlmICghdGhpcy5lcnJvcnMgfHwgIXRoaXMuZXJyb3JzLmxlbmd0aCkgcmV0dXJuIFtdO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmVycm9ycy5tYXAoZXJyb3IgPT4ge1xyXG4gICAgICBpZiAoIWVycm9yLm1lc3NhZ2UpIHJldHVybiBlcnJvcjtcclxuXHJcbiAgICAgIGNvbnN0IGluZGV4ID0gZXJyb3IubWVzc2FnZS5pbmRleE9mKCdbJyk7XHJcblxyXG4gICAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAuLi5lcnJvcixcclxuICAgICAgICAgIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2Uuc2xpY2UoMCwgaW5kZXgpLFxyXG4gICAgICAgICAgaW50ZXJwb2xpdGVQYXJhbXM6IGVycm9yLm1lc3NhZ2Uuc2xpY2UoaW5kZXggKyAxLCBlcnJvci5tZXNzYWdlLmxlbmd0aCAtIDEpLnNwbGl0KCcsJyksXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIGVycm9yO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==","import { InjectionToken } from '@angular/core';\nexport const LAZY_STYLES = new InjectionToken('LAZY_STYLES');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1zdHlsZXMudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1iYXNpYy9zcmMvbGliL3Rva2Vucy9sYXp5LXN0eWxlcy50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLGNBQWMsQ0FBVyxhQUFhLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgY29uc3QgTEFaWV9TVFlMRVMgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nW10+KCdMQVpZX1NUWUxFUycpO1xyXG4iXX0=","import { LazyLoadService, LOADING_STRATEGY } from '@abp/ng.core';\nimport { DocumentDirHandlerService } from '@abp/ng.theme.shared';\nimport { Injectable, Injector, inject } from '@angular/core';\nimport { LAZY_STYLES } from '../tokens/lazy-styles.token';\nimport { DOCUMENT } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport const BOOTSTRAP = 'bootstrap-{{dir}}.min.css';\nexport class LazyStyleHandler {\n set dir(dir) {\n if (dir === this._dir)\n return;\n this.switchCSS(dir);\n this._dir = dir;\n }\n get dir() {\n return this._dir;\n }\n constructor() {\n this.document = inject(DOCUMENT);\n this._dir = 'ltr';\n this.loaded = new Map();\n const injector = inject(Injector);\n this.setStyles(injector);\n this.setLazyLoad(injector);\n this.listenToDirectionChanges(injector);\n }\n getHrefFromLink(link) {\n if (!link)\n return '';\n const a = this.document.createElement('a');\n a.href = link.href;\n return a.pathname.replace(/^\\//, '');\n }\n getLoadedBootstrap() {\n const href = createLazyStyleHref(BOOTSTRAP, this.dir);\n const selector = `[href*=\"${href.replace(/\\.css$/, '')}\"]`;\n const link = this.document.querySelector(selector);\n return { href, link };\n }\n listenToDirectionChanges(injector) {\n const docDirHandler = injector.get(DocumentDirHandlerService);\n // will always listen, no need to unsubscribe\n docDirHandler.dir$.subscribe(dir => {\n this.dir = dir;\n });\n }\n setLazyLoad(injector) {\n this.lazyLoad = injector.get(LazyLoadService);\n const { href, link } = this.getLoadedBootstrap();\n this.lazyLoad.loaded.set(href, link);\n }\n setStyles(injector) {\n this.styles = injector.get(LAZY_STYLES, [BOOTSTRAP]);\n }\n switchCSS(dir) {\n this.styles.forEach(style => {\n const oldHref = createLazyStyleHref(style, this.dir);\n const newHref = createLazyStyleHref(style, dir);\n const link = this.loaded.get(newHref);\n const href = this.getHrefFromLink(link) || newHref;\n const strategy = LOADING_STRATEGY.PrependAnonymousStyleToHead(href);\n this.lazyLoad.load(strategy).subscribe(() => {\n const oldLink = this.lazyLoad.loaded.get(oldHref);\n this.loaded.delete(newHref);\n this.loaded.set(oldHref, oldLink);\n const newLink = this.lazyLoad.loaded.get(href);\n this.lazyLoad.loaded.delete(href);\n this.lazyLoad.loaded.set(newHref, newLink);\n this.lazyLoad.remove(oldHref);\n });\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: LazyStyleHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: LazyStyleHandler }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: LazyStyleHandler, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\nexport function createLazyStyleHref(style, dir) {\n return style.replace(/{{\\s*dir\\s*}}/g, dir);\n}\nexport function initLazyStyleHandler() {\n return () => new LazyStyleHandler();\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1zdHlsZS5oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtYmFzaWMvc3JjL2xpYi9oYW5kbGVycy9sYXp5LXN0eWxlLmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRSxPQUFPLEVBQUUseUJBQXlCLEVBQW1CLE1BQU0sc0JBQXNCLENBQUM7QUFDbEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBQzNDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRywyQkFBMkIsQ0FBQztBQUdyRCxNQUFNLE9BQU8sZ0JBQWdCO0lBUTNCLElBQUksR0FBRyxDQUFDLEdBQW9CO1FBQzFCLElBQUksR0FBRyxLQUFLLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUU5QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVEO1FBbEJRLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFHNUIsU0FBSSxHQUFvQixLQUFLLENBQUM7UUFFN0IsV0FBTSxHQUFHLElBQUksR0FBRyxFQUEyQixDQUFDO1FBY25ELE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVsQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFD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RyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDbEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBb0IsQ0FBQztnQkFDbEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUMzQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0EvRVUsZ0JBQWdCO2tIQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVU7O0FBbUZYLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxLQUFhLEVBQUUsR0FBVztJQUM1RCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDOUMsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0I7SUFDbEMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxJQUFJLGdCQUFnQixFQUFFLENBQUM7QUFDdEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExhenlMb2FkU2VydmljZSwgTE9BRElOR19TVFJBVEVHWSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IERvY3VtZW50RGlySGFuZGxlclNlcnZpY2UsIExvY2FsZURpcmVjdGlvbiB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMQVpZX1NUWUxFUyB9IGZyb20gJy4uL3Rva2Vucy9sYXp5LXN0eWxlcy50b2tlbic7XHJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuZXhwb3J0IGNvbnN0IEJPT1RTVFJBUCA9ICdib290c3RyYXAte3tkaXJ9fS5taW4uY3NzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIExhenlTdHlsZUhhbmRsZXIge1xyXG4gIHByaXZhdGUgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xyXG4gIHByaXZhdGUgbGF6eUxvYWQhOiBMYXp5TG9hZFNlcnZpY2U7XHJcbiAgcHJpdmF0ZSBzdHlsZXMhOiBzdHJpbmdbXTtcclxuICBwcml2YXRlIF9kaXI6IExvY2FsZURpcmVjdGlvbiA9ICdsdHInO1xyXG5cclxuICByZWFkb25seSBsb2FkZWQgPSBuZXcgTWFwPHN0cmluZywgSFRNTExpbmtFbGVtZW50PigpO1xyXG5cclxuICBzZXQgZGlyKGRpcjogTG9jYWxlRGlyZWN0aW9uKSB7XHJcbiAgICBpZiAoZGlyID09PSB0aGlzLl9kaXIpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLnN3aXRjaENTUyhkaXIpO1xyXG4gICAgdGhpcy5fZGlyID0gZGlyO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRpcigpOiBMb2NhbGVEaXJlY3Rpb24ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RpcjtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgY29uc3QgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xyXG5cclxuICAgIHRoaXMuc2V0U3R5bGVzKGluamVjdG9yKTtcclxuICAgIHRoaXMuc2V0TGF6eUxvYWQoaW5qZWN0b3IpO1xyXG4gICAgdGhpcy5saXN0ZW5Ub0RpcmVjdGlvbkNoYW5nZXMoaW5qZWN0b3IpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRIcmVmRnJvbUxpbmsobGluazogSFRNTExpbmtFbGVtZW50IHwgbnVsbCB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIWxpbmspIHJldHVybiAnJztcclxuXHJcbiAgICBjb25zdCBhID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICBhLmhyZWYgPSBsaW5rLmhyZWY7XHJcbiAgICByZXR1cm4gYS5wYXRobmFtZS5yZXBsYWNlKC9eXFwvLywgJycpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRMb2FkZWRCb290c3RyYXAoKTogTG9hZGVkU3R5bGUge1xyXG4gICAgY29uc3QgaHJlZiA9IGNyZWF0ZUxhenlTdHlsZUhyZWYoQk9PVFNUUkFQLCB0aGlzLmRpcik7XHJcbiAgICBjb25zdCBzZWxlY3RvciA9IGBbaHJlZio9XCIke2hyZWYucmVwbGFjZSgvXFwuY3NzJC8sICcnKX1cIl1gO1xyXG4gICAgY29uc3QgbGluayA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MTGlua0VsZW1lbnQ+KHNlbGVjdG9yKTtcclxuICAgIHJldHVybiB7IGhyZWYsIGxpbmsgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbGlzdGVuVG9EaXJlY3Rpb25DaGFuZ2VzKGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgY29uc3QgZG9jRGlySGFuZGxlciA9IGluamVjdG9yLmdldChEb2N1bWVudERpckhhbmRsZXJTZXJ2aWNlKTtcclxuXHJcbiAgICAvLyB3aWxsIGFsd2F5cyBsaXN0ZW4sIG5vIG5lZWQgdG8gdW5zdWJzY3JpYmVcclxuICAgIGRvY0RpckhhbmRsZXIuZGlyJC5zdWJzY3JpYmUoZGlyID0+IHtcclxuICAgICAgdGhpcy5kaXIgPSBkaXI7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0TGF6eUxvYWQoaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICB0aGlzLmxhenlMb2FkID0gaW5qZWN0b3IuZ2V0KExhenlMb2FkU2VydmljZSk7XHJcbiAgICBjb25zdCB7IGhyZWYsIGxpbmsgfSA9IHRoaXMuZ2V0TG9hZGVkQm9vdHN0cmFwKCk7XHJcbiAgICB0aGlzLmxhenlMb2FkLmxvYWRlZC5zZXQoaHJlZiwgbGluayk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFN0eWxlcyhpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgIHRoaXMuc3R5bGVzID0gaW5qZWN0b3IuZ2V0KExBWllfU1RZTEVTLCBbQk9PVFNUUkFQXSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN3aXRjaENTUyhkaXI6IExvY2FsZURpcmVjdGlvbikge1xyXG4gICAgdGhpcy5zdHlsZXMuZm9yRWFjaChzdHlsZSA9PiB7XHJcbiAgICAgIGNvbnN0IG9sZEhyZWYgPSBjcmVhdGVMYXp5U3R5bGVIcmVmKHN0eWxlLCB0aGlzLmRpcik7XHJcbiAgICAgIGNvbnN0IG5ld0hyZWYgPSBjcmVhdGVMYXp5U3R5bGVIcmVmKHN0eWxlLCBkaXIpO1xyXG4gICAgICBjb25zdCBsaW5rID0gdGhpcy5sb2FkZWQuZ2V0KG5ld0hyZWYpO1xyXG4gICAgICBjb25zdCBocmVmID0gdGhpcy5nZXRIcmVmRnJvbUxpbmsobGluaykgfHwgbmV3SHJlZjtcclxuXHJcbiAgICAgIGNvbnN0IHN0cmF0ZWd5ID0gTE9BRElOR19TVFJBVEVHWS5QcmVwZW5kQW5vbnltb3VzU3R5bGVUb0hlYWQoaHJlZik7XHJcbiAgICAgIHRoaXMubGF6eUxvYWQubG9hZChzdHJhdGVneSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBjb25zdCBvbGRMaW5rID0gdGhpcy5sYXp5TG9hZC5sb2FkZWQuZ2V0KG9sZEhyZWYpIGFzIEhUTUxMaW5rRWxlbWVudDtcclxuICAgICAgICB0aGlzLmxvYWRlZC5kZWxldGUobmV3SHJlZik7XHJcbiAgICAgICAgdGhpcy5sb2FkZWQuc2V0KG9sZEhyZWYsIG9sZExpbmspO1xyXG4gICAgICAgIGNvbnN0IG5ld0xpbmsgPSB0aGlzLmxhenlMb2FkLmxvYWRlZC5nZXQoaHJlZikgYXMgSFRNTExpbmtFbGVtZW50O1xyXG4gICAgICAgIHRoaXMubGF6eUxvYWQubG9hZGVkLmRlbGV0ZShocmVmKTtcclxuICAgICAgICB0aGlzLmxhenlMb2FkLmxvYWRlZC5zZXQobmV3SHJlZiwgbmV3TGluayk7XHJcbiAgICAgICAgdGhpcy5sYXp5TG9hZC5yZW1vdmUob2xkSHJlZik7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTGF6eVN0eWxlSHJlZihzdHlsZTogc3RyaW5nLCBkaXI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIHN0eWxlLnJlcGxhY2UoL3t7XFxzKmRpclxccyp9fS9nLCBkaXIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaW5pdExhenlTdHlsZUhhbmRsZXIoKSB7XHJcbiAgcmV0dXJuICgpID0+IG5ldyBMYXp5U3R5bGVIYW5kbGVyKCk7XHJcbn1cclxuXHJcbmludGVyZmFjZSBMb2FkZWRTdHlsZSB7XHJcbiAgaHJlZjogc3RyaW5nO1xyXG4gIGxpbms6IEhUTUxMaW5rRWxlbWVudCB8IG51bGw7XHJcbn1cclxuIl19","import { NavItemsService } from '@abp/ng.theme.shared';\nimport { inject, provideAppInitializer } from '@angular/core';\nimport { CurrentUserComponent } from '../components/nav-items/current-user.component';\nimport { LanguagesComponent } from '../components/nav-items/languages.component';\nexport const BASIC_THEME_NAV_ITEM_PROVIDERS = [\n provideAppInitializer(() => {\n configureNavItems();\n }),\n];\nexport function configureNavItems() {\n const navItems = inject(NavItemsService);\n navItems.addItems([\n {\n id: \"Theme.LanguagesComponent\" /* eThemeBasicComponents.Languages */,\n order: 100,\n component: LanguagesComponent,\n },\n {\n id: \"Theme.CurrentUserComponent\" /* eThemeBasicComponents.CurrentUser */,\n order: 100,\n component: CurrentUserComponent,\n },\n ]);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWl0ZW0ucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1iYXNpYy9zcmMvbGliL3Byb3ZpZGVycy9uYXYtaXRlbS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUdqRixNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRztJQUM1QyxxQkFBcUIsQ0FBQyxHQUFHLEVBQUU7UUFDekIsaUJBQWlCLEVBQUUsQ0FBQztJQUN0QixDQUFDLENBQUM7Q0FDSCxDQUFDO0FBRUYsTUFBTSxVQUFVLGlCQUFpQjtJQUMvQixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDekMsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUNoQjtZQUNFLEVBQUUsa0VBQWlDO1lBQ25DLEtBQUssRUFBRSxHQUFHO1lBQ1YsU0FBUyxFQUFFLGtCQUFrQjtTQUM5QjtRQUNEO1lBQ0UsRUFBRSxzRUFBbUM7WUFDckMsS0FBSyxFQUFFLEdBQUc7WUFDVixTQUFTLEVBQUUsb0JBQW9CO1NBQ2hDO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5hdkl0ZW1zU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgaW5qZWN0LCBwcm92aWRlQXBwSW5pdGlhbGl6ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ3VycmVudFVzZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL25hdi1pdGVtcy9jdXJyZW50LXVzZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGFuZ3VhZ2VzQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9uYXYtaXRlbXMvbGFuZ3VhZ2VzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGVUaGVtZUJhc2ljQ29tcG9uZW50cyB9IGZyb20gJy4uL2VudW1zL2NvbXBvbmVudHMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IEJBU0lDX1RIRU1FX05BVl9JVEVNX1BST1ZJREVSUyA9IFtcclxuICBwcm92aWRlQXBwSW5pdGlhbGl6ZXIoKCkgPT4ge1xyXG4gICAgY29uZmlndXJlTmF2SXRlbXMoKTtcclxuICB9KSxcclxuXTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjb25maWd1cmVOYXZJdGVtcygpIHtcclxuICBjb25zdCBuYXZJdGVtcyA9IGluamVjdChOYXZJdGVtc1NlcnZpY2UpO1xyXG4gIG5hdkl0ZW1zLmFkZEl0ZW1zKFtcclxuICAgIHtcclxuICAgICAgaWQ6IGVUaGVtZUJhc2ljQ29tcG9uZW50cy5MYW5ndWFnZXMsXHJcbiAgICAgIG9yZGVyOiAxMDAsXHJcbiAgICAgIGNvbXBvbmVudDogTGFuZ3VhZ2VzQ29tcG9uZW50LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6IGVUaGVtZUJhc2ljQ29tcG9uZW50cy5DdXJyZW50VXNlcixcclxuICAgICAgb3JkZXI6IDEwMCxcclxuICAgICAgY29tcG9uZW50OiBDdXJyZW50VXNlckNvbXBvbmVudCxcclxuICAgIH0sXHJcbiAgXSk7XHJcbn1cclxuIl19","export default `\r\n.content-header-title {\r\n font-size: 24px;\r\n}\r\n.entry-row {\r\n margin-bottom: 15px;\r\n}\r\n#main-navbar-tools a.dropdown-toggle {\r\n text-decoration: none;\r\n color: #fff;\r\n}\r\n.navbar .dropdown-submenu {\r\n position: relative;\r\n}\r\n.navbar .dropdown-menu {\r\n margin: 0;\r\n padding: 0;\r\n}\r\n.navbar .dropdown-menu a {\r\n font-size: .9em;\r\n padding: 10px 15px;\r\n display: block;\r\n min-width: 210px;\r\n text-align: left;\r\n border-radius: 0.25rem;\r\n min-height: 44px;\r\n}\r\n[dir=rtl] .navbar .dropdown-menu a {\r\n text-align: right!important;\r\n}\r\n.navbar .dropdown-submenu a::after {\r\n transform: rotate(-90deg);\r\n position: absolute;\r\n right: 16px;\r\n top: 18px;\r\n}\r\n[dir=rtl] .navbar .dropdown-submenu a::after {\r\n transform: rotate(90deg);\r\n left: 16px;\r\n right: auto;\r\n top: 20px;\r\n}\r\n.navbar .dropdown-submenu .dropdown-menu {\r\n top: 0;\r\n left: 100%;\r\n}\r\n/* work around for rtl. Track https://github.com/ng-bootstrap/ng-bootstrap/issues/4100 issue */\r\n[dir=rtl] .navbar .dropdown-submenu .dropdown-menu {\r\n top: 0;\r\n right: 100%;\r\n}\r\n.card-header .btn {\r\n padding: 2px 6px;\r\n}\r\n.card-header h5 {\r\n margin: 0;\r\n}\r\n.container > .card {\r\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\r\n}\r\n@media screen and (min-width: 992px) {\r\n .navbar .dropdown:hover > .dropdown-menu {\r\n display: block;\r\n }\r\n\r\n .navbar .dropdown-submenu:hover > .dropdown-menu {\r\n display: block;\r\n }\r\n}\r\n.input-validation-error {\r\n border-color: #dc3545;\r\n}\r\n.field-validation-error {\r\n font-size: 0.8em;\r\n}\r\n.ui-table .ui-table-tbody > tr.empty-row > div.empty-row-content {\r\n border: 1px solid #c8c8c8;\r\n }\r\n.abp-loading {\r\n background: rgba(0, 0, 0, 0.05);\r\n}\r\n.modal-backdrop {\r\nbackground-color: rgba(0, 0, 0, 0.6);\r\n}\r\n\r\n.confirmation .confirmation-backdrop {\r\n\t background: rgba(0, 0, 0, 0.7) !important;\r\n}\r\n .confirmation .confirmation-dialog {\r\n\t border: none;\r\n\t border-radius: 10px;\r\n\t background-color: #fff;\r\n\t box-shadow: 0 0 10px -5px rgba(0, 0, 0, 0.5);\r\n}\r\n .confirmation .confirmation-dialog .icon-container .icon {\r\n\t stroke: #fff;\r\n\t color: #fff;\r\n}\r\n .confirmation .confirmation-dialog .icon-container.info .icon {\r\n\t stroke: #2f96b4;\r\n\t color: #2f96b4;\r\n}\r\n .confirmation .confirmation-dialog .icon-container.success .icon {\r\n\t stroke: #51a351;\r\n\t color: #51a351;\r\n}\r\n .confirmation .confirmation-dialog .icon-container.warning .icon {\r\n\t stroke: #f89406;\r\n\t color: #f89406;\r\n}\r\n .confirmation .confirmation-dialog .icon-container.error .icon {\r\n\t stroke: #bd362f;\r\n\t color: #bd362f;\r\n}\r\n .confirmation .confirmation-dialog .content .title {\r\n\t color: #222;\r\n}\r\n .confirmation .confirmation-dialog .content .message {\r\n\t color: #777;\r\n}\r\n .confirmation .confirmation-dialog .footer {\r\n\t background: transparent;\r\n}\r\n .confirmation .confirmation-dialog .footer .confirmation-button {\r\n\t background-color: #eee;\r\n\t color: #777;\r\n}\r\n .confirmation .confirmation-dialog .footer .confirmation-button:hover, .confirmation .confirmation-dialog .footer .confirmation-button:focus, .confirmation .confirmation-dialog .footer .confirmation-button:active {\r\n\t background-color: #bbb;\r\n}\r\n .confirmation .confirmation-dialog .footer .confirmation-button--confirm {\r\n\t background-color: #2f96b4;\r\n\t color: #fff;\r\n}\r\n .confirmation .confirmation-dialog .footer .confirmation-button--confirm:hover {\r\n\t background-color: #2e819b;\r\n}\r\n.ui-table .pagination-wrapper {\r\n background-color: #f4f4f4;\r\n border: 1px solid #c8c8c8;\r\n}\r\n.bordered .datatable-body-row {\r\n border-top: 1px solid #eee;\r\n margin-top: -1px;\r\n}\r\n.breadcrumb {\r\n background-color: transparent;\r\n padding: 0.27rem;\r\n}\r\n\r\n.abp-md-form {\r\n max-width: 540px;\r\n}\r\n\r\nabp-chat-icon,\r\nabp-back-to-impersonator-nav-item {\r\n margin-inline: 0.4rem;\r\n}\r\n\r\nabp-chat-icon {\r\n .fa-comments:before {\r\n color: var(--bs-navbar-color);\r\n }\r\n}\r\n\r\nabp-back-to-impersonator-nav-item {\r\n .fa-undo {\r\n color: var(--bs-navbar-color);\r\n }\r\n}\r\n\r\n.ngx-datatable.material:has(.datatable-body-row) .datatable-footer {\r\n border-top: none;\r\n}\r\n\r\n.ngx-datatable.material:not(:has(.datatable-body-row)) .datatable-footer {\r\n border-top: 1px solid #dee2e6;\r\n}\r\n\r\n`;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtYmFzaWMvc3JjL2xpYi9jb25zdGFudHMvc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGVBQWU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBbUxkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBgXHJcbi5jb250ZW50LWhlYWRlci10aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbn1cclxuLmVudHJ5LXJvdyB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcbiNtYWluLW5hdmJhci10b29scyBhLmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG4ubmF2YmFyIC5kcm9wZG93bi1zdWJtZW51IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4ubmF2YmFyIC5kcm9wZG93bi1tZW51IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuLm5hdmJhciAuZHJvcGRvd24tbWVudSBhIHtcclxuICAgIGZvbnQtc2l6ZTogLjllbTtcclxuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWluLXdpZHRoOiAyMTBweDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xyXG4gICAgbWluLWhlaWdodDogNDRweDtcclxufVxyXG5bZGlyPXJ0bF0gLm5hdmJhciAuZHJvcGRvd24tbWVudSBhIHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0IWltcG9ydGFudDtcclxufVxyXG4ubmF2YmFyIC5kcm9wZG93bi1zdWJtZW51IGE6OmFmdGVyIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMTZweDtcclxuICAgIHRvcDogMThweDtcclxufVxyXG5bZGlyPXJ0bF0gLm5hdmJhciAuZHJvcGRvd24tc3VibWVudSBhOjphZnRlciB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICBsZWZ0OiAxNnB4O1xyXG4gICAgcmlnaHQ6IGF1dG87XHJcbiAgICB0b3A6IDIwcHg7XHJcbn1cclxuLm5hdmJhciAuZHJvcGRvd24tc3VibWVudSAuZHJvcGRvd24tbWVudSB7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAxMDAlO1xyXG59XHJcbi8qIHdvcmsgYXJvdW5kIGZvciBydGwuIFRyYWNrIGh0dHBzOi8vZ2l0aHViLmNvbS9uZy1ib290c3RyYXAvbmctYm9vdHN0cmFwL2lzc3Vlcy80MTAwIGlzc3VlICovXHJcbltkaXI9cnRsXSAubmF2YmFyIC5kcm9wZG93bi1zdWJtZW51IC5kcm9wZG93bi1tZW51IHtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAxMDAlO1xyXG59XHJcbi5jYXJkLWhlYWRlciAuYnRuIHtcclxuICAgIHBhZGRpbmc6IDJweCA2cHg7XHJcbn1cclxuLmNhcmQtaGVhZGVyIGg1IHtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG4uY29udGFpbmVyID4gLmNhcmQge1xyXG4gICAgYm94LXNoYWRvdzogMCAwLjEyNXJlbSAwLjI1cmVtIHJnYmEoMCwgMCwgMCwgMC4wNzUpICFpbXBvcnRhbnQ7XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcclxuICAgIC5uYXZiYXIgLmRyb3Bkb3duOmhvdmVyID4gLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXIgLmRyb3Bkb3duLXN1Ym1lbnU6aG92ZXIgPiAuZHJvcGRvd24tbWVudSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuLmlucHV0LXZhbGlkYXRpb24tZXJyb3Ige1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1O1xyXG59XHJcbi5maWVsZC12YWxpZGF0aW9uLWVycm9yIHtcclxuICAgIGZvbnQtc2l6ZTogMC44ZW07XHJcbn1cclxuLnVpLXRhYmxlIC51aS10YWJsZS10Ym9keSA+IHRyLmVtcHR5LXJvdyA+IGRpdi5lbXB0eS1yb3ctY29udGVudCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzhjOGM4O1xyXG4gIH1cclxuLmFicC1sb2FkaW5nIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XHJcbn1cclxuLm1vZGFsLWJhY2tkcm9wIHtcclxuYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG59XHJcblxyXG4uY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tYmFja2Ryb3Age1xyXG5cdCBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNykgIWltcG9ydGFudDtcclxufVxyXG4gLmNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLWRpYWxvZyB7XHJcblx0IGJvcmRlcjogbm9uZTtcclxuXHQgYm9yZGVyLXJhZGl1czogMTBweDtcclxuXHQgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHQgYm94LXNoYWRvdzogMCAwIDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuNSk7XHJcbn1cclxuIC5jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1kaWFsb2cgLmljb24tY29udGFpbmVyIC5pY29uIHtcclxuXHQgc3Ryb2tlOiAjZmZmO1xyXG5cdCBjb2xvcjogI2ZmZjtcclxufVxyXG4gLmNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLWRpYWxvZyAuaWNvbi1jb250YWluZXIuaW5mbyAuaWNvbiB7XHJcblx0IHN0cm9rZTogIzJmOTZiNDtcclxuXHQgY29sb3I6ICMyZjk2YjQ7XHJcbn1cclxuIC5jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1kaWFsb2cgLmljb24tY29udGFpbmVyLnN1Y2Nlc3MgLmljb24ge1xyXG5cdCBzdHJva2U6ICM1MWEzNTE7XHJcblx0IGNvbG9yOiAjNTFhMzUxO1xyXG59XHJcbiAuY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tZGlhbG9nIC5pY29uLWNvbnRhaW5lci53YXJuaW5nIC5pY29uIHtcclxuXHQgc3Ryb2tlOiAjZjg5NDA2O1xyXG5cdCBjb2xvcjogI2Y4OTQwNjtcclxufVxyXG4gLmNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLWRpYWxvZyAuaWNvbi1jb250YWluZXIuZXJyb3IgLmljb24ge1xyXG5cdCBzdHJva2U6ICNiZDM2MmY7XHJcblx0IGNvbG9yOiAjYmQzNjJmO1xyXG59XHJcbiAuY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tZGlhbG9nIC5jb250ZW50IC50aXRsZSB7XHJcblx0IGNvbG9yOiAjMjIyO1xyXG59XHJcbiAuY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tZGlhbG9nIC5jb250ZW50IC5tZXNzYWdlIHtcclxuXHQgY29sb3I6ICM3Nzc7XHJcbn1cclxuIC5jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1kaWFsb2cgLmZvb3RlciB7XHJcblx0IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59XHJcbiAuY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tZGlhbG9nIC5mb290ZXIgLmNvbmZpcm1hdGlvbi1idXR0b24ge1xyXG5cdCBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xyXG5cdCBjb2xvcjogIzc3NztcclxufVxyXG4gLmNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLWRpYWxvZyAuZm9vdGVyIC5jb25maXJtYXRpb24tYnV0dG9uOmhvdmVyLCAuY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tZGlhbG9nIC5mb290ZXIgLmNvbmZpcm1hdGlvbi1idXR0b246Zm9jdXMsIC5jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1kaWFsb2cgLmZvb3RlciAuY29uZmlybWF0aW9uLWJ1dHRvbjphY3RpdmUge1xyXG5cdCBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJiO1xyXG59XHJcbiAuY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tZGlhbG9nIC5mb290ZXIgLmNvbmZpcm1hdGlvbi1idXR0b24tLWNvbmZpcm0ge1xyXG5cdCBiYWNrZ3JvdW5kLWNvbG9yOiAjMmY5NmI0O1xyXG5cdCBjb2xvcjogI2ZmZjtcclxufVxyXG4gLmNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLWRpYWxvZyAuZm9vdGVyIC5jb25maXJtYXRpb24tYnV0dG9uLS1jb25maXJtOmhvdmVyIHtcclxuXHQgYmFja2dyb3VuZC1jb2xvcjogIzJlODE5YjtcclxufVxyXG4udWktdGFibGUgLnBhZ2luYXRpb24td3JhcHBlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2M4YzhjODtcclxufVxyXG4uYm9yZGVyZWQgLmRhdGF0YWJsZS1ib2R5LXJvdyB7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZTtcclxuICAgIG1hcmdpbi10b3A6IC0xcHg7XHJcbn1cclxuLmJyZWFkY3J1bWIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBwYWRkaW5nOiAwLjI3cmVtO1xyXG59XHJcblxyXG4uYWJwLW1kLWZvcm0ge1xyXG4gICAgbWF4LXdpZHRoOiA1NDBweDtcclxufVxyXG5cclxuYWJwLWNoYXQtaWNvbixcclxuYWJwLWJhY2stdG8taW1wZXJzb25hdG9yLW5hdi1pdGVtIHtcclxuICAgIG1hcmdpbi1pbmxpbmU6IDAuNHJlbTtcclxufVxyXG5cclxuYWJwLWNoYXQtaWNvbiB7XHJcbiAgICAuZmEtY29tbWVudHM6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tYnMtbmF2YmFyLWNvbG9yKTtcclxuICAgIH1cclxufVxyXG5cclxuYWJwLWJhY2stdG8taW1wZXJzb25hdG9yLW5hdi1pdGVtIHtcclxuICAgIC5mYS11bmRvIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tYnMtbmF2YmFyLWNvbG9yKTtcclxuICAgIH1cclxufVxyXG5cclxuLm5neC1kYXRhdGFibGUubWF0ZXJpYWw6aGFzKC5kYXRhdGFibGUtYm9keS1yb3cpIC5kYXRhdGFibGUtZm9vdGVyIHtcclxuICBib3JkZXItdG9wOiBub25lO1xyXG59XHJcblxyXG4ubmd4LWRhdGF0YWJsZS5tYXRlcmlhbDpub3QoOmhhcyguZGF0YXRhYmxlLWJvZHktcm93KSkgLmRhdGF0YWJsZS1mb290ZXIge1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGVlMmU2O1xyXG59XHJcblxyXG5gO1xyXG5cclxuXHJcbiJdfQ==","import { CONTENT_STRATEGY, DomInsertionService, ReplaceableComponentsService } from '@abp/ng.core';\nimport { inject, provideAppInitializer } from '@angular/core';\nimport { AccountLayoutComponent } from '../components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from '../components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from '../components/empty-layout/empty-layout.component';\nimport styles from '../constants/styles';\nexport const BASIC_THEME_STYLES_PROVIDERS = [\n provideAppInitializer(() => {\n const initializerFn = configureStyles(inject(DomInsertionService), inject(ReplaceableComponentsService));\n return initializerFn();\n }),\n];\nexport function configureStyles(domInsertion, replaceableComponents) {\n return () => {\n domInsertion.insertContent(CONTENT_STRATEGY.AppendStyleToHead(styles));\n initLayouts(replaceableComponents);\n };\n}\nfunction initLayouts(replaceableComponents) {\n replaceableComponents.add({\n key: \"Theme.ApplicationLayoutComponent\" /* eThemeBasicComponents.ApplicationLayout */,\n component: ApplicationLayoutComponent,\n });\n replaceableComponents.add({\n key: \"Theme.AccountLayoutComponent\" /* eThemeBasicComponents.AccountLayout */,\n component: AccountLayoutComponent,\n });\n replaceableComponents.add({\n key: \"Theme.EmptyLayoutComponent\" /* eThemeBasicComponents.EmptyLayout */,\n component: EmptyLayoutComponent,\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtYmFzaWMvc3JjL2xpYi9wcm92aWRlcnMvc3R5bGVzLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRyxPQUFPLEVBQUUsTUFBTSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQy9GLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3pGLE9BQU8sTUFBTSxNQUFNLHFCQUFxQixDQUFDO0FBR3pDLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHO0lBQzFDLHFCQUFxQixDQUFDLEdBQUcsRUFBRTtRQUN6QixNQUFNLGFBQWEsR0FBRyxlQUFlLENBQ25DLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxFQUMzQixNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FDckMsQ0FBQztRQUNGLE9BQU8sYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQyxDQUFDO0NBQ0gsQ0FBQztBQUVGLE1BQU0sVUFBVSxlQUFlLENBQzdCLFlBQWlDLEVBQ2pDLHFCQUFtRDtJQUVuRCxPQUFPLEdBQUcsRUFBRTtRQUNWLFlBQVksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUV2RSxXQUFXLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNyQyxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMscUJBQW1EO0lBQ3RFLHFCQUFxQixDQUFDLEdBQUcsQ0FBQztRQUN4QixHQUFHLGtGQUF5QztRQUM1QyxTQUFTLEVBQUUsMEJBQTBCO0tBQ3RDLENBQUMsQ0FBQztJQUNILHFCQUFxQixDQUFDLEdBQUcsQ0FBQztRQUN4QixHQUFHLDBFQUFxQztRQUN4QyxTQUFTLEVBQUUsc0JBQXNCO0tBQ2xDLENBQUMsQ0FBQztJQUNILHFCQUFxQixDQUFDLEdBQUcsQ0FBQztRQUN4QixHQUFHLHNFQUFtQztRQUN0QyxTQUFTLEVBQUUsb0JBQW9CO0tBQ2hDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDT05URU5UX1NUUkFURUdZLCBEb21JbnNlcnRpb25TZXJ2aWNlLCBSZXBsYWNlYWJsZUNvbXBvbmVudHNTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgaW5qZWN0LCBwcm92aWRlQXBwSW5pdGlhbGl6ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWNjb3VudExheW91dENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYWNjb3VudC1sYXlvdXQvYWNjb3VudC1sYXlvdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXBwbGljYXRpb25MYXlvdXRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2FwcGxpY2F0aW9uLWxheW91dC9hcHBsaWNhdGlvbi1sYXlvdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRW1wdHlMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2VtcHR5LWxheW91dC9lbXB0eS1sYXlvdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHN0eWxlcyBmcm9tICcuLi9jb25zdGFudHMvc3R5bGVzJztcclxuaW1wb3J0IHsgZVRoZW1lQmFzaWNDb21wb25lbnRzIH0gZnJvbSAnLi4vZW51bXMvY29tcG9uZW50cyc7XHJcblxyXG5leHBvcnQgY29uc3QgQkFTSUNfVEhFTUVfU1RZTEVTX1BST1ZJREVSUyA9IFtcclxuICBwcm92aWRlQXBwSW5pdGlhbGl6ZXIoKCkgPT4ge1xyXG4gICAgY29uc3QgaW5pdGlhbGl6ZXJGbiA9IGNvbmZpZ3VyZVN0eWxlcyhcclxuICAgICAgaW5qZWN0KERvbUluc2VydGlvblNlcnZpY2UpLFxyXG4gICAgICBpbmplY3QoUmVwbGFjZWFibGVDb21wb25lbnRzU2VydmljZSksXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIGluaXRpYWxpemVyRm4oKTtcclxuICB9KSxcclxuXTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjb25maWd1cmVTdHlsZXMoXHJcbiAgZG9tSW5zZXJ0aW9uOiBEb21JbnNlcnRpb25TZXJ2aWNlLFxyXG4gIHJlcGxhY2VhYmxlQ29tcG9uZW50czogUmVwbGFjZWFibGVDb21wb25lbnRzU2VydmljZSxcclxuKSB7XHJcbiAgcmV0dXJuICgpID0+IHtcclxuICAgIGRvbUluc2VydGlvbi5pbnNlcnRDb250ZW50KENPTlRFTlRfU1RSQVRFR1kuQXBwZW5kU3R5bGVUb0hlYWQoc3R5bGVzKSk7XHJcblxyXG4gICAgaW5pdExheW91dHMocmVwbGFjZWFibGVDb21wb25lbnRzKTtcclxuICB9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBpbml0TGF5b3V0cyhyZXBsYWNlYWJsZUNvbXBvbmVudHM6IFJlcGxhY2VhYmxlQ29tcG9uZW50c1NlcnZpY2UpIHtcclxuICByZXBsYWNlYWJsZUNvbXBvbmVudHMuYWRkKHtcclxuICAgIGtleTogZVRoZW1lQmFzaWNDb21wb25lbnRzLkFwcGxpY2F0aW9uTGF5b3V0LFxyXG4gICAgY29tcG9uZW50OiBBcHBsaWNhdGlvbkxheW91dENvbXBvbmVudCxcclxuICB9KTtcclxuICByZXBsYWNlYWJsZUNvbXBvbmVudHMuYWRkKHtcclxuICAgIGtleTogZVRoZW1lQmFzaWNDb21wb25lbnRzLkFjY291bnRMYXlvdXQsXHJcbiAgICBjb21wb25lbnQ6IEFjY291bnRMYXlvdXRDb21wb25lbnQsXHJcbiAgfSk7XHJcbiAgcmVwbGFjZWFibGVDb21wb25lbnRzLmFkZCh7XHJcbiAgICBrZXk6IGVUaGVtZUJhc2ljQ29tcG9uZW50cy5FbXB0eUxheW91dCxcclxuICAgIGNvbXBvbmVudDogRW1wdHlMYXlvdXRDb21wb25lbnQsXHJcbiAgfSk7XHJcbn1cclxuIl19","import { AuthService, NAVIGATE_TO_MANAGE_PROFILE } from '@abp/ng.core';\nimport { UserMenuService } from '@abp/ng.theme.shared';\nimport { Injector, inject, provideAppInitializer } from '@angular/core';\nexport const BASIC_THEME_USER_MENU_PROVIDERS = [\n provideAppInitializer(() => {\n const initializerFn = configureUserMenu(inject(Injector));\n return initializerFn();\n }),\n];\nexport function configureUserMenu(injector) {\n const userMenu = injector.get(UserMenuService);\n const authService = injector.get(AuthService);\n const navigateToManageProfile = injector.get(NAVIGATE_TO_MANAGE_PROFILE);\n return () => {\n userMenu.addItems([\n {\n id: \"UserMenu.MyAccount\" /* eUserMenuItems.MyAccount */,\n order: 100,\n textTemplate: {\n text: 'AbpAccount::MyAccount',\n icon: 'fa fa-cog',\n },\n action: () => navigateToManageProfile(),\n },\n {\n id: \"UserMenu.Logout\" /* eUserMenuItems.Logout */,\n order: 101,\n textTemplate: {\n text: 'AbpUi::Logout',\n icon: 'fa fa-power-off',\n },\n action: () => {\n authService.logout().subscribe();\n },\n },\n ]);\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtYmFzaWMvc3JjL2xpYi9wcm92aWRlcnMvdXNlci1tZW51LnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3hFLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHO0lBQzdDLHFCQUFxQixDQUFDLEdBQUcsRUFBRTtRQUN6QixNQUFNLGFBQWEsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUMxRCxPQUFPLGFBQWEsRUFBRSxDQUFDO0lBQ3pCLENBQUMsQ0FBQztDQUNILENBQUM7QUFFRixNQUFNLFVBQVUsaUJBQWlCLENBQUMsUUFBa0I7SUFDbEQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMvQyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sdUJBQXVCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBRXpFLE9BQU8sR0FBRyxFQUFFO1FBQ1YsUUFBUSxDQUFDLFFBQVEsQ0FBQztZQUNoQjtnQkFDRSxFQUFFLHFEQUEwQjtnQkFDNUIsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsWUFBWSxFQUFFO29CQUNaLElBQUksRUFBRSx1QkFBdUI7b0JBQzdCLElBQUksRUFBRSxXQUFXO2lCQUNsQjtnQkFDRCxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsdUJBQXVCLEVBQUU7YUFDeEM7WUFDRDtnQkFDRSxFQUFFLCtDQUF1QjtnQkFDekIsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsWUFBWSxFQUFFO29CQUNaLElBQUksRUFBRSxlQUFlO29CQUNyQixJQUFJLEVBQUUsaUJBQWlCO2lCQUN4QjtnQkFDRCxNQUFNLEVBQUUsR0FBRyxFQUFFO29CQUNYLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDbkMsQ0FBQzthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dGhTZXJ2aWNlLCBOQVZJR0FURV9UT19NQU5BR0VfUFJPRklMRSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IFVzZXJNZW51U2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgSW5qZWN0b3IsIGluamVjdCwgcHJvdmlkZUFwcEluaXRpYWxpemVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGVVc2VyTWVudUl0ZW1zIH0gZnJvbSAnLi4vZW51bXMvdXNlci1tZW51LWl0ZW1zJztcclxuXHJcbmV4cG9ydCBjb25zdCBCQVNJQ19USEVNRV9VU0VSX01FTlVfUFJPVklERVJTID0gW1xyXG4gIHByb3ZpZGVBcHBJbml0aWFsaXplcigoKSA9PiB7XHJcbiAgICBjb25zdCBpbml0aWFsaXplckZuID0gY29uZmlndXJlVXNlck1lbnUoaW5qZWN0KEluamVjdG9yKSk7XHJcbiAgICByZXR1cm4gaW5pdGlhbGl6ZXJGbigpO1xyXG4gIH0pLFxyXG5dO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbmZpZ3VyZVVzZXJNZW51KGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gIGNvbnN0IHVzZXJNZW51ID0gaW5qZWN0b3IuZ2V0KFVzZXJNZW51U2VydmljZSk7XHJcbiAgY29uc3QgYXV0aFNlcnZpY2UgPSBpbmplY3Rvci5nZXQoQXV0aFNlcnZpY2UpO1xyXG4gIGNvbnN0IG5hdmlnYXRlVG9NYW5hZ2VQcm9maWxlID0gaW5qZWN0b3IuZ2V0KE5BVklHQVRFX1RPX01BTkFHRV9QUk9GSUxFKTtcclxuXHJcbiAgcmV0dXJuICgpID0+IHtcclxuICAgIHVzZXJNZW51LmFkZEl0ZW1zKFtcclxuICAgICAge1xyXG4gICAgICAgIGlkOiBlVXNlck1lbnVJdGVtcy5NeUFjY291bnQsXHJcbiAgICAgICAgb3JkZXI6IDEwMCxcclxuICAgICAgICB0ZXh0VGVtcGxhdGU6IHtcclxuICAgICAgICAgIHRleHQ6ICdBYnBBY2NvdW50OjpNeUFjY291bnQnLFxyXG4gICAgICAgICAgaWNvbjogJ2ZhIGZhLWNvZycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBhY3Rpb246ICgpID0+IG5hdmlnYXRlVG9NYW5hZ2VQcm9maWxlKCksXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpZDogZVVzZXJNZW51SXRlbXMuTG9nb3V0LFxyXG4gICAgICAgIG9yZGVyOiAxMDEsXHJcbiAgICAgICAgdGV4dFRlbXBsYXRlOiB7XHJcbiAgICAgICAgICB0ZXh0OiAnQWJwVWk6OkxvZ291dCcsXHJcbiAgICAgICAgICBpY29uOiAnZmEgZmEtcG93ZXItb2ZmJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGFjdGlvbjogKCkgPT4ge1xyXG4gICAgICAgICAgYXV0aFNlcnZpY2UubG9nb3V0KCkuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIF0pO1xyXG4gIH07XHJcbn1cclxuIl19","import { makeEnvironmentProviders, inject, provideAppInitializer } from '@angular/core';\nimport { VALIDATION_ERROR_TEMPLATE, VALIDATION_TARGET_SELECTOR, VALIDATION_INVALID_CLASSES, } from '@ngx-validate/core';\nimport { LazyStyleHandler } from '../handlers';\nimport { BASIC_THEME_NAV_ITEM_PROVIDERS } from './nav-item.provider';\nimport { BASIC_THEME_STYLES_PROVIDERS } from './styles.provider';\nimport { BASIC_THEME_USER_MENU_PROVIDERS } from './user-menu.provider';\nimport { ValidationErrorComponent } from '../components';\nexport function provideThemeBasicConfig() {\n return makeEnvironmentProviders([\n BASIC_THEME_NAV_ITEM_PROVIDERS,\n BASIC_THEME_USER_MENU_PROVIDERS,\n BASIC_THEME_STYLES_PROVIDERS,\n {\n provide: VALIDATION_ERROR_TEMPLATE,\n useValue: ValidationErrorComponent,\n },\n {\n provide: VALIDATION_TARGET_SELECTOR,\n useValue: '.form-group',\n },\n {\n provide: VALIDATION_INVALID_CLASSES,\n useValue: 'is-invalid',\n },\n LazyStyleHandler,\n provideAppInitializer(() => {\n inject(LazyStyleHandler);\n }),\n ]);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtYmFzaWMtY29uZmlnLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtYmFzaWMvc3JjL2xpYi9wcm92aWRlcnMvdGhlbWUtYmFzaWMtY29uZmlnLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEYsT0FBTyxFQUNMLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsMEJBQTBCLEdBQzNCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxNQUFNLFVBQVUsdUJBQXVCO0lBQ3JDLE9BQU8sd0JBQXdCLENBQUM7UUFDOUIsOEJBQThCO1FBQzlCLCtCQUErQjtRQUMvQiw0QkFBNEI7UUFDNUI7WUFDRSxPQUFPLEVBQUUseUJBQXlCO1lBQ2xDLFFBQVEsRUFBRSx3QkFBd0I7U0FDbkM7UUFDRDtZQUNFLE9BQU8sRUFBRSwwQkFBMEI7WUFDbkMsUUFBUSxFQUFFLGFBQWE7U0FDeEI7UUFDRDtZQUNFLE9BQU8sRUFBRSwwQkFBMEI7WUFDbkMsUUFBUSxFQUFFLFlBQVk7U0FDdkI7UUFDRCxnQkFBZ0I7UUFDaEIscUJBQXFCLENBQUMsR0FBRyxFQUFFO1lBQ3pCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQztLQUNILENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMsIGluamVjdCwgcHJvdmlkZUFwcEluaXRpYWxpemVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIFZBTElEQVRJT05fRVJST1JfVEVNUExBVEUsXHJcbiAgVkFMSURBVElPTl9UQVJHRVRfU0VMRUNUT1IsXHJcbiAgVkFMSURBVElPTl9JTlZBTElEX0NMQVNTRVMsXHJcbn0gZnJvbSAnQG5neC12YWxpZGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgTGF6eVN0eWxlSGFuZGxlciB9IGZyb20gJy4uL2hhbmRsZXJzJztcclxuaW1wb3J0IHsgQkFTSUNfVEhFTUVfTkFWX0lURU1fUFJPVklERVJTIH0gZnJvbSAnLi9uYXYtaXRlbS5wcm92aWRlcic7XHJcbmltcG9ydCB7IEJBU0lDX1RIRU1FX1NUWUxFU19QUk9WSURFUlMgfSBmcm9tICcuL3N0eWxlcy5wcm92aWRlcic7XHJcbmltcG9ydCB7IEJBU0lDX1RIRU1FX1VTRVJfTUVOVV9QUk9WSURFUlMgfSBmcm9tICcuL3VzZXItbWVudS5wcm92aWRlcic7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVUaGVtZUJhc2ljQ29uZmlnKCkge1xyXG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW1xyXG4gICAgQkFTSUNfVEhFTUVfTkFWX0lURU1fUFJPVklERVJTLFxyXG4gICAgQkFTSUNfVEhFTUVfVVNFUl9NRU5VX1BST1ZJREVSUyxcclxuICAgIEJBU0lDX1RIRU1FX1NUWUxFU19QUk9WSURFUlMsXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IFZBTElEQVRJT05fRVJST1JfVEVNUExBVEUsXHJcbiAgICAgIHVzZVZhbHVlOiBWYWxpZGF0aW9uRXJyb3JDb21wb25lbnQsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBWQUxJREFUSU9OX1RBUkdFVF9TRUxFQ1RPUixcclxuICAgICAgdXNlVmFsdWU6ICcuZm9ybS1ncm91cCcsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBWQUxJREFUSU9OX0lOVkFMSURfQ0xBU1NFUyxcclxuICAgICAgdXNlVmFsdWU6ICdpcy1pbnZhbGlkJyxcclxuICAgIH0sXHJcbiAgICBMYXp5U3R5bGVIYW5kbGVyLFxyXG4gICAgcHJvdmlkZUFwcEluaXRpYWxpemVyKCgpID0+IHtcclxuICAgICAgaW5qZWN0KExhenlTdHlsZUhhbmRsZXIpO1xyXG4gICAgfSksXHJcbiAgXSk7XHJcbn1cclxuIl19","import { NgModule } from '@angular/core';\nimport { AccountLayoutComponent, AuthWrapperComponent, TenantBoxComponent, ApplicationLayoutComponent, EmptyLayoutComponent, LogoComponent, CurrentUserComponent, LanguagesComponent, NavItemsComponent, PageAlertContainerComponent, RoutesComponent, ValidationErrorComponent, } from './components';\nimport { provideThemeBasicConfig } from './providers';\nimport * as i0 from \"@angular/core\";\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\nexport const THEME_BASIC_COMPONENTS = [\n ...LAYOUTS,\n ValidationErrorComponent,\n LogoComponent,\n NavItemsComponent,\n RoutesComponent,\n CurrentUserComponent,\n LanguagesComponent,\n PageAlertContainerComponent,\n AuthWrapperComponent,\n TenantBoxComponent,\n];\nexport class BaseThemeBasicModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BaseThemeBasicModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.7\", ngImport: i0, type: BaseThemeBasicModule, imports: [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent, ValidationErrorComponent,\n LogoComponent,\n NavItemsComponent,\n RoutesComponent,\n CurrentUserComponent,\n LanguagesComponent,\n PageAlertContainerComponent,\n AuthWrapperComponent,\n TenantBoxComponent], exports: [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent, ValidationErrorComponent,\n LogoComponent,\n NavItemsComponent,\n RoutesComponent,\n CurrentUserComponent,\n LanguagesComponent,\n PageAlertContainerComponent,\n AuthWrapperComponent,\n TenantBoxComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BaseThemeBasicModule, imports: [ApplicationLayoutComponent, AccountLayoutComponent, RoutesComponent,\n CurrentUserComponent,\n LanguagesComponent,\n AuthWrapperComponent,\n TenantBoxComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BaseThemeBasicModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [],\n exports: [...THEME_BASIC_COMPONENTS],\n imports: [...THEME_BASIC_COMPONENTS],\n }]\n }] });\nexport class ThemeBasicModule {\n /**\n * @deprecated forRoot method is deprecated, use `provideThemeBasicConfig` *function* for config settings.\n */\n static forRoot() {\n return {\n ngModule: ThemeBasicModule,\n providers: [provideThemeBasicConfig()],\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: ThemeBasicModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.7\", ngImport: i0, type: ThemeBasicModule, imports: [BaseThemeBasicModule], exports: [BaseThemeBasicModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: ThemeBasicModule, imports: [BaseThemeBasicModule, BaseThemeBasicModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: ThemeBasicModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [BaseThemeBasicModule],\n imports: [BaseThemeBasicModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtYmFzaWMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtYmFzaWMvc3JjL2xpYi90aGVtZS1iYXNpYy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ2xCLDBCQUEwQixFQUMxQixvQkFBb0IsRUFDcEIsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsaUJBQWlCLEVBQ2pCLDJCQUEyQixFQUMzQixlQUFlLEVBQ2Ysd0JBQXdCLEdBQ3pCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFdEQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQUMsMEJBQTBCLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztBQUVsRyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRztJQUNwQyxHQUFHLE9BQU87SUFDVix3QkFBd0I7SUFDeEIsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2Ysb0JBQW9CO0lBQ3BCLGtCQUFrQjtJQUNsQiwyQkFBMkI7SUFDM0Isb0JBQW9CO0lBQ3BCLGtCQUFrQjtDQUNuQixDQUFDO0FBT0YsTUFBTSxPQUFPLG9CQUFvQjs4R0FBcEIsb0JBQW9COytHQUFwQixvQkFBb0IsWUFwQlQsMEJBQTBCLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLEVBSTlGLHdCQUF3QjtZQUN4QixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixvQkFBb0I7WUFDcEIsa0JBQWtCO1lBQ2xCLDJCQUEyQjtZQUMzQixvQkFBb0I7WUFDcEIsa0JBQWtCLGFBWkksMEJBQTBCLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLEVBSTlGLHdCQUF3QjtZQUN4QixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixvQkFBb0I7WUFDcEIsa0JBQWtCO1lBQ2xCLDJCQUEyQjtZQUMzQixvQkFBb0I7WUFDcEIsa0JBQWtCOytHQVFQLG9CQUFvQixZQXBCVCwwQkFBMEIsRUFBRSxzQkFBc0IsRUFPeEUsZUFBZTtZQUNmLG9CQUFvQjtZQUNwQixrQkFBa0I7WUFFbEIsb0JBQW9CO1lBQ3BCLGtCQUFrQjs7MkZBUVAsb0JBQW9CO2tCQUxoQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxHQUFHLHNCQUFzQixDQUFDO29CQUNwQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLHNCQUFzQixDQUFDO2lCQUNyQzs7QUFPRCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCOztPQUVHO0lBQ0gsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLGdCQUFnQjtZQUMxQixTQUFTLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1NBQ3ZDLENBQUM7SUFDSixDQUFDOzhHQVRVLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLFlBTmhCLG9CQUFvQixhQUFwQixvQkFBb0I7K0dBTXBCLGdCQUFnQixZQUZqQixvQkFBb0IsRUFKbkIsb0JBQW9COzsyRkFNcEIsZ0JBQWdCO2tCQUo1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUMvQixPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEFjY291bnRMYXlvdXRDb21wb25lbnQsXHJcbiAgQXV0aFdyYXBwZXJDb21wb25lbnQsXHJcbiAgVGVuYW50Qm94Q29tcG9uZW50LFxyXG4gIEFwcGxpY2F0aW9uTGF5b3V0Q29tcG9uZW50LFxyXG4gIEVtcHR5TGF5b3V0Q29tcG9uZW50LFxyXG4gIExvZ29Db21wb25lbnQsXHJcbiAgQ3VycmVudFVzZXJDb21wb25lbnQsXHJcbiAgTGFuZ3VhZ2VzQ29tcG9uZW50LFxyXG4gIE5hdkl0ZW1zQ29tcG9uZW50LFxyXG4gIFBhZ2VBbGVydENvbnRhaW5lckNvbXBvbmVudCxcclxuICBSb3V0ZXNDb21wb25lbnQsXHJcbiAgVmFsaWRhdGlvbkVycm9yQ29tcG9uZW50LFxyXG59IGZyb20gJy4vY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IHByb3ZpZGVUaGVtZUJhc2ljQ29uZmlnIH0gZnJvbSAnLi9wcm92aWRlcnMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IExBWU9VVFMgPSBbQXBwbGljYXRpb25MYXlvdXRDb21wb25lbnQsIEFjY291bnRMYXlvdXRDb21wb25lbnQsIEVtcHR5TGF5b3V0Q29tcG9uZW50XTtcclxuXHJcbmV4cG9ydCBjb25zdCBUSEVNRV9CQVNJQ19DT01QT05FTlRTID0gW1xyXG4gIC4uLkxBWU9VVFMsXHJcbiAgVmFsaWRhdGlvbkVycm9yQ29tcG9uZW50LFxyXG4gIExvZ29Db21wb25lbnQsXHJcbiAgTmF2SXRlbXNDb21wb25lbnQsXHJcbiAgUm91dGVzQ29tcG9uZW50LFxyXG4gIEN1cnJlbnRVc2VyQ29tcG9uZW50LFxyXG4gIExhbmd1YWdlc0NvbXBvbmVudCxcclxuICBQYWdlQWxlcnRDb250YWluZXJDb21wb25lbnQsXHJcbiAgQXV0aFdyYXBwZXJDb21wb25lbnQsXHJcbiAgVGVuYW50Qm94Q29tcG9uZW50LFxyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtdLFxyXG4gIGV4cG9ydHM6IFsuLi5USEVNRV9CQVNJQ19DT01QT05FTlRTXSxcclxuICBpbXBvcnRzOiBbLi4uVEhFTUVfQkFTSUNfQ09NUE9ORU5UU10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYXNlVGhlbWVCYXNpY01vZHVsZSB7fVxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBleHBvcnRzOiBbQmFzZVRoZW1lQmFzaWNNb2R1bGVdLFxyXG4gIGltcG9ydHM6IFtCYXNlVGhlbWVCYXNpY01vZHVsZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUaGVtZUJhc2ljTW9kdWxlIHtcclxuICAvKipcclxuICAgKiBAZGVwcmVjYXRlZCBmb3JSb290IG1ldGhvZCBpcyBkZXByZWNhdGVkLCB1c2UgYHByb3ZpZGVUaGVtZUJhc2ljQ29uZmlnYCAqZnVuY3Rpb24qIGZvciBjb25maWcgc2V0dGluZ3MuXHJcbiAgICovXHJcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxUaGVtZUJhc2ljTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogVGhlbWVCYXNpY01vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbcHJvdmlkZVRoZW1lQmFzaWNDb25maWcoKV0sXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=","/*\n * Public API Surface of theme-basic\n */\nexport * from './lib/components';\nexport * from './lib/enums';\nexport * from './lib/handlers';\nexport * from './lib/models';\nexport * from './lib/providers';\nexport * from './lib/theme-basic.module';\nexport * from './lib/tokens';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0aGVtZS1iYXNpY1xyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbnVtcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2hhbmRsZXJzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvdmlkZXJzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGhlbWUtYmFzaWMubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9rZW5zJztcclxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public-api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnRoZW1lLmJhc2ljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtYmFzaWMvc3JjL2FicC1uZy50aGVtZS5iYXNpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19"],"names":["i1","ErrorComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"abp-ng.theme.basic.mjs","sources":["../../../../packages/theme-basic/src/lib/services/layout.service.ts","../../../../packages/theme-basic/src/lib/components/logo/logo.component.ts","../../../../packages/theme-basic/src/lib/components/routes/routes.component.ts","../../../../packages/theme-basic/src/lib/components/routes/routes.component.html","../../../../packages/theme-basic/src/lib/components/nav-items/nav-items.component.ts","../../../../packages/theme-basic/src/lib/components/nav-items/nav-items.component.html","../../../../packages/theme-basic/src/lib/components/account-layout/tenant-box/tenant-box.component.ts","../../../../packages/theme-basic/src/lib/components/account-layout/tenant-box/tenant-box.component.html","../../../../packages/theme-basic/src/lib/components/account-layout/auth-wrapper/auth-wrapper.component.ts","../../../../packages/theme-basic/src/lib/components/account-layout/auth-wrapper/auth-wrapper.component.html","../../../../packages/theme-basic/src/lib/components/page-alert-container/page-alert-container.component.ts","../../../../packages/theme-basic/src/lib/components/page-alert-container/page-alert-container.component.html","../../../../packages/theme-basic/src/lib/components/account-layout/account-layout.component.ts","../../../../packages/theme-basic/src/lib/components/account-layout/account-layout.component.html","../../../../packages/theme-basic/src/lib/components/application-layout/application-layout.component.ts","../../../../packages/theme-basic/src/lib/components/application-layout/application-layout.component.html","../../../../packages/theme-basic/src/lib/components/empty-layout/empty-layout.component.ts","../../../../packages/theme-basic/src/lib/components/nav-items/current-user.component.ts","../../../../packages/theme-basic/src/lib/components/nav-items/current-user.component.html","../../../../packages/theme-basic/src/lib/components/nav-items/languages.component.ts","../../../../packages/theme-basic/src/lib/components/validation-error/validation-error.component.ts","../../../../packages/theme-basic/src/lib/tokens/lazy-styles.token.ts","../../../../packages/theme-basic/src/lib/handlers/lazy-style.handler.ts","../../../../packages/theme-basic/src/lib/providers/nav-item.provider.ts","../../../../packages/theme-basic/src/lib/constants/styles.ts","../../../../packages/theme-basic/src/lib/providers/styles.provider.ts","../../../../packages/theme-basic/src/lib/providers/user-menu.provider.ts","../../../../packages/theme-basic/src/lib/providers/theme-basic-config.provider.ts","../../../../packages/theme-basic/src/lib/theme-basic.module.ts","../../../../packages/theme-basic/src/public-api.ts","../../../../packages/theme-basic/src/abp-ng.theme.basic.ts"],"sourcesContent":["import {RouterEvents, SubscriptionService} from '@abp/ng.core';\r\nimport { ChangeDetectorRef, Injectable, inject } from '@angular/core';\r\nimport { fromEvent } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { eThemeBasicComponents } from '../enums';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Injectable()\r\nexport class LayoutService {\r\n private subscription = inject(SubscriptionService);\r\n private cdRef = inject(ChangeDetectorRef);\r\n\r\n document = inject(DOCUMENT);\r\n isCollapsed = true;\r\n\r\n smallScreen!: boolean; // do not set true or false\r\n\r\n logoComponentKey = eThemeBasicComponents.Logo;\r\n\r\n routesComponentKey = eThemeBasicComponents.Routes;\r\n\r\n navItemsComponentKey = eThemeBasicComponents.NavItems;\r\n\r\n constructor() {\r\n const subscription = this.subscription;\r\n const routerEvents = inject(RouterEvents);\r\n\r\n subscription.addOne(routerEvents.getNavigationEvents(\"End\"),() => {\r\n this.isCollapsed = true;\r\n })\r\n }\r\n\r\n private checkWindowWidth() {\r\n const isSmallScreen = this.document.defaultView.innerWidth < 992;\r\n if (isSmallScreen && this.smallScreen === false) {\r\n this.isCollapsed = false;\r\n setTimeout(() => {\r\n this.isCollapsed = true;\r\n }, 100);\r\n }\r\n this.smallScreen = isSmallScreen;\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n subscribeWindowSize() {\r\n this.checkWindowWidth();\r\n\r\n const resize$ = fromEvent(this.document.defaultView, 'resize').pipe(debounceTime(150));\r\n this.subscription.addOne(resize$, () => this.checkWindowWidth());\r\n }\r\n}\r\n","import { EnvironmentService } from '@abp/ng.core';\r\nimport { RouterLink } from '@angular/router';\r\nimport { Component, inject } from '@angular/core';\r\nimport { LOGO_APP_NAME_TOKEN, LOGO_URL_TOKEN } from '@abp/ng.theme.shared';\r\n\r\n@Component({\r\n selector: 'abp-logo',\r\n template: `\r\n <a class=\"navbar-brand\" routerLink=\"/\">\r\n @if (logoUrl) {\r\n <img [src]=\"logoUrl\" [alt]=\"appName\" width=\"100%\" height=\"auto\" />\r\n } @else {\r\n {{ appName }}\r\n }\r\n </a>\r\n `,\r\n standalone: true,\r\n imports: [RouterLink],\r\n})\r\nexport class LogoComponent {\r\n private environment = inject(EnvironmentService);\r\n\r\n private readonly providedLogoUrl = inject(LOGO_URL_TOKEN, { optional: true });\r\n private readonly providedAppName = inject(LOGO_APP_NAME_TOKEN, { optional: true });\r\n\r\n get logoUrl(): string {\r\n return (\r\n this.providedLogoUrl ?? this.environment.getEnvironment().application?.logoUrl\r\n );\r\n }\r\n\r\n get appName(): string {\r\n return (\r\n this.providedAppName ?? this.environment.getEnvironment().application?.name\r\n );\r\n }\r\n}\r\n","import {\r\n ABP,\r\n LazyLocalizationPipe,\r\n LocalizationPipe,\r\n PermissionDirective,\r\n RoutesService,\r\n TreeNode,\r\n} from '@abp/ng.core';\r\nimport {\r\n Component,\r\n ElementRef,\r\n inject,\r\n Input,\r\n QueryList,\r\n Renderer2,\r\n TrackByFunction,\r\n ViewChildren,\r\n} from '@angular/core';\r\nimport { NgTemplateOutlet, NgClass, AsyncPipe } from '@angular/common';\r\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { RouterLink } from '@angular/router';\r\nimport { EllipsisDirective } from '@abp/ng.theme.shared';\r\n\r\n@Component({\r\n selector: 'abp-routes',\r\n templateUrl: 'routes.component.html',\r\n imports: [\r\n NgTemplateOutlet,\r\n NgClass,\r\n AsyncPipe,\r\n RouterLink,\r\n NgbDropdownModule,\r\n LazyLocalizationPipe,\r\n PermissionDirective,\r\n EllipsisDirective,\r\n LocalizationPipe,\r\n ],\r\n})\r\nexport class RoutesComponent {\r\n public readonly routesService = inject(RoutesService);\r\n protected renderer = inject(Renderer2);\r\n\r\n @Input() smallScreen?: boolean;\r\n\r\n @ViewChildren('childrenContainer') childrenContainers!: QueryList<ElementRef<HTMLDivElement>>;\r\n\r\n rootDropdownExpand = {} as { [key: string]: boolean };\r\n\r\n trackByFn: TrackByFunction<TreeNode<ABP.Route>> = (_, item) => item.name;\r\n\r\n isDropdown(node: TreeNode<ABP.Route>) {\r\n return !node?.isLeaf || this.routesService.hasChildren(node.name);\r\n }\r\n\r\n closeDropdown() {\r\n this.childrenContainers.forEach(({ nativeElement }) => {\r\n this.renderer.addClass(nativeElement, 'd-none');\r\n setTimeout(() => this.renderer.removeClass(nativeElement, 'd-none'), 0);\r\n });\r\n }\r\n}\r\n","<ul class=\"navbar-nav\">\r\n @for (route of routesService.visible$ | async; track $index) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"isDropdown(route) ? dropdownLink : defaultLink\"\r\n [ngTemplateOutletContext]=\"{ $implicit: route }\"\r\n />\r\n }\r\n\r\n <ng-template #defaultLink let-route>\r\n <li class=\"nav-item\" *abpPermission=\"route.requiredPolicy\">\r\n <a class=\"nav-link\" [routerLink]=\"[route.path]\">\r\n @if (route.iconClass) {\r\n <i [ngClass]=\"route.iconClass\"></i>\r\n }\r\n {{ route.name | abpLazyLocalization | async }}\r\n </a>\r\n </li>\r\n </ng-template>\r\n\r\n <ng-template #dropdownLink let-route>\r\n @if (route.children?.length) {\r\n <li\r\n class=\"nav-item dropdown\"\r\n display=\"static\"\r\n *abpPermission=\"route.requiredPolicy\"\r\n (click)=\"\r\n rootDropdownExpand[route.name]\r\n ? (rootDropdownExpand[route.name] = false)\r\n : (rootDropdownExpand[route.name] = true)\r\n \"\r\n >\r\n <a\r\n class=\"nav-link dropdown-toggle\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n aria-expanded=\"false\"\r\n href=\"javascript:void(0)\"\r\n >\r\n @if (route.iconClass) {\r\n <i [ngClass]=\"route.iconClass\"></i>\r\n }\r\n {{ route.name | abpLazyLocalization | async }}\r\n </a>\r\n <div\r\n #routeContainer\r\n class=\"dropdown-menu border-0 shadow-sm\"\r\n (click)=\"$event.preventDefault(); $event.stopPropagation()\"\r\n [class.d-block]=\"smallScreen && rootDropdownExpand[route.name]\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"forTemplate; context: { $implicit: route }\" />\r\n </div>\r\n </li>\r\n }\r\n </ng-template>\r\n\r\n <ng-template #forTemplate let-route>\r\n @for (child of route.children; track $index) {\r\n <ng-template\r\n [ngTemplateOutlet]=\"child.children?.length ? dropdownChild : defaultChild\"\r\n [ngTemplateOutletContext]=\"{ $implicit: child }\"\r\n />\r\n }\r\n </ng-template>\r\n\r\n <ng-template #defaultChild let-child>\r\n @if (child.path) {\r\n <div class=\"dropdown-submenu\" *abpPermission=\"child.requiredPolicy\">\r\n <a class=\"dropdown-item\" [routerLink]=\"[child.path]\" (click)=\"closeDropdown()\">\r\n @if (child.iconClass) {\r\n <i [ngClass]=\"child.iconClass\"></i>\r\n }\r\n {{ child.name | abpLocalization }}</a\r\n >\r\n </div>\r\n }\r\n </ng-template>\r\n\r\n <ng-template #dropdownChild let-child>\r\n <div\r\n class=\"dropdown-submenu\"\r\n ngbDropdown\r\n #dropdownSubmenu=\"ngbDropdown\"\r\n placement=\"right-top\"\r\n [autoClose]=\"true\"\r\n *abpPermission=\"child.requiredPolicy\"\r\n >\r\n <div ngbDropdownToggle [class.dropdown-toggle]=\"false\">\r\n <a\r\n abpEllipsis=\"210px\"\r\n [abpEllipsisEnabled]=\"!smallScreen\"\r\n role=\"button\"\r\n class=\"btn d-block text-start dropdown-toggle\"\r\n >\r\n @if (child.iconClass) {\r\n <i [ngClass]=\"child.iconClass\"></i>\r\n }\r\n {{ child.name | abpLocalization }}\r\n </a>\r\n </div>\r\n <div\r\n #childrenContainer\r\n class=\"dropdown-menu dropdown-menu-start border-0 shadow-sm\"\r\n [class.d-block]=\"smallScreen && dropdownSubmenu.isOpen()\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"forTemplate; context: { $implicit: child }\" />\r\n </div>\r\n </div>\r\n </ng-template>\r\n</ul>\r\n","import { AbpVisibleDirective, NavItem, NavItemsService } from '@abp/ng.theme.shared';\r\nimport { Component, TrackByFunction, inject, PLATFORM_ID } from '@angular/core';\r\nimport { NgComponentOutlet, AsyncPipe, isPlatformBrowser } from '@angular/common';\r\nimport { PermissionDirective, ToInjectorPipe } from '@abp/ng.core';\r\n\r\n@Component({\r\n selector: 'abp-nav-items',\r\n templateUrl: 'nav-items.component.html',\r\n imports: [NgComponentOutlet, AsyncPipe, AbpVisibleDirective, PermissionDirective, ToInjectorPipe],\r\n})\r\nexport class NavItemsComponent {\r\n readonly navItems = inject(NavItemsService);\r\n private platformId = inject(PLATFORM_ID);\r\n readonly isBrowser = isPlatformBrowser(this.platformId);\r\n\r\n trackByFn: TrackByFunction<NavItem> = (_, element) => element.id;\r\n}\r\n","<ul class=\"navbar-nav\">\r\n @if (isBrowser) {\r\n @for (item of navItems.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 <div [innerHTML]=\"item.html\" (click)=\"item.action ? item.action() : null\"></div>\r\n }\r\n </li>\r\n </ng-container>\r\n }\r\n }\r\n</ul>\r\n","import { TenantBoxService } from '@abp/ng.account.core';\r\nimport { Component, inject } from '@angular/core';\r\nimport { AsyncPipe } from '@angular/common';\r\nimport { LocalizationPipe } from '@abp/ng.core';\r\nimport { ButtonComponent, ModalCloseDirective, ModalComponent } from '@abp/ng.theme.shared';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'abp-tenant-box',\r\n templateUrl: './tenant-box.component.html',\r\n providers: [TenantBoxService],\r\n imports: [\r\n AsyncPipe,\r\n FormsModule,\r\n ModalComponent,\r\n LocalizationPipe,\r\n ButtonComponent,\r\n ModalCloseDirective,\r\n ],\r\n})\r\nexport class TenantBoxComponent {\r\n service = inject(TenantBoxService);\r\n}\r\n","@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","import { AuthWrapperService } from '@abp/ng.account.core';\r\nimport { Component, inject } from '@angular/core';\r\nimport { AsyncPipe } from '@angular/common';\r\nimport { LocalizationPipe, ReplaceableTemplateDirective } from '@abp/ng.core';\r\nimport { TenantBoxComponent } from '../tenant-box/tenant-box.component';\r\n\r\n@Component({\r\n selector: 'abp-auth-wrapper',\r\n templateUrl: './auth-wrapper.component.html',\r\n providers: [AuthWrapperService],\r\n imports: [AsyncPipe, TenantBoxComponent, ReplaceableTemplateDirective, LocalizationPipe],\r\n})\r\nexport class AuthWrapperComponent {\r\n service = inject(AuthWrapperService);\r\n}","<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","import { Component, ViewEncapsulation, inject } from '@angular/core';\r\nimport { PageAlertService } from '@abp/ng.theme.shared';\r\nimport { NgClass, AsyncPipe } from '@angular/common';\r\nimport { LocalizationPipe, SafeHtmlPipe } from '@abp/ng.core';\r\n\r\n@Component({\r\n selector: 'abp-page-alert-container',\r\n templateUrl: './page-alert-container.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n imports: [NgClass, AsyncPipe, LocalizationPipe, SafeHtmlPipe],\r\n})\r\nexport class PageAlertContainerComponent {\r\n service = inject(PageAlertService);\r\n}\r\n","@for (alert of service.alerts$ | async; track i; let i = $index) {\r\n <div\r\n class=\"alert alert-{{ alert.type }} fade show\"\r\n [ngClass]=\"{ 'alert-dismissible fade show': alert.dismissible }\"\r\n role=\"alert\"\r\n >\r\n @if (alert.title) {\r\n <h4\r\n class=\"alert-heading\"\r\n [innerHTML]=\"alert.title | abpSafeHtml | abpLocalization: alert.titleLocalizationParams\"\r\n ></h4>\r\n }\r\n <span\r\n [innerHTML]=\"alert.message | abpSafeHtml | abpLocalization: alert.messageLocalizationParams\"\r\n ></span>\r\n @if (alert.dismissible) {\r\n <button\r\n type=\"button\"\r\n class=\"btn-close\"\r\n data-dismiss=\"alert\"\r\n aria-label=\"Close\"\r\n (click)=\"service.remove(i)\"\r\n ></button>\r\n }\r\n </div>\r\n}\r\n","import { AfterViewInit, Component, inject } from '@angular/core';\r\nimport { eLayoutType, ReplaceableTemplateDirective, SubscriptionService } from '@abp/ng.core';\r\nimport { LayoutService } from '../../services/layout.service';\r\nimport { NgTemplateOutlet } from '@angular/common';\r\nimport { LogoComponent } from '../logo/logo.component';\r\nimport { RoutesComponent } from '../routes/routes.component';\r\nimport { NavItemsComponent } from '../nav-items/nav-items.component';\r\nimport { AuthWrapperComponent } from './auth-wrapper/auth-wrapper.component';\r\nimport { PageAlertContainerComponent } from '../page-alert-container/page-alert-container.component';\r\nimport { RouterOutlet } from '@angular/router';\r\nimport { collapseWithMargin } from '@abp/ng.theme.shared';\r\n\r\n@Component({\r\n selector: 'abp-layout-account',\r\n templateUrl: './account-layout.component.html',\r\n animations: [collapseWithMargin],\r\n providers: [LayoutService, SubscriptionService],\r\n imports: [\r\n NgTemplateOutlet,\r\n LogoComponent,\r\n RoutesComponent,\r\n NavItemsComponent,\r\n AuthWrapperComponent,\r\n PageAlertContainerComponent,\r\n ReplaceableTemplateDirective,\r\n RouterOutlet,\r\n ],\r\n})\r\nexport class AccountLayoutComponent implements AfterViewInit {\r\n service = inject(LayoutService);\r\n\r\n // required for dynamic component\r\n static type = eLayoutType.account;\r\n\r\n authWrapperKey = 'Account.AuthWrapperComponent';\r\n\r\n ngAfterViewInit() {\r\n this.service.subscribeWindowSize();\r\n }\r\n}\r\n","<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","import { eLayoutType, ReplaceableTemplateDirective, SubscriptionService } from '@abp/ng.core';\r\nimport { collapseWithMargin, slideFromBottom } from '@abp/ng.theme.shared';\r\nimport { AfterViewInit, Component, inject } from '@angular/core';\r\nimport { LayoutService } from '../../services/layout.service';\r\nimport { NgTemplateOutlet } from '@angular/common';\r\nimport { RouterOutlet } from '@angular/router';\r\nimport { LogoComponent } from '../logo/logo.component';\r\nimport { PageAlertContainerComponent } from '../page-alert-container/page-alert-container.component';\r\nimport { RoutesComponent } from '../routes/routes.component';\r\nimport { NavItemsComponent } from '../nav-items/nav-items.component';\r\n\r\n@Component({\r\n selector: 'abp-layout-application',\r\n templateUrl: './application-layout.component.html',\r\n animations: [slideFromBottom, collapseWithMargin],\r\n providers: [LayoutService, SubscriptionService],\r\n imports: [\r\n NgTemplateOutlet,\r\n LogoComponent,\r\n PageAlertContainerComponent,\r\n RoutesComponent,\r\n NavItemsComponent,\r\n ReplaceableTemplateDirective,\r\n RouterOutlet,\r\n ],\r\n})\r\nexport class ApplicationLayoutComponent implements AfterViewInit {\r\n public readonly service = inject(LayoutService);\r\n // required for dynamic component\r\n static type = eLayoutType.application;\r\n\r\n ngAfterViewInit() {\r\n this.service.subscribeWindowSize();\r\n }\r\n}\r\n","<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","import { Component } from '@angular/core';\r\nimport { eLayoutType } from '@abp/ng.core';\r\nimport { RouterOutlet } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'abp-layout-empty',\r\n template: ` <router-outlet></router-outlet> `,\r\n imports: [RouterOutlet],\r\n})\r\nexport class EmptyLayoutComponent {\r\n static type = eLayoutType.empty;\r\n}\r\n","import {\r\n AuthService,\r\n ConfigStateService,\r\n CurrentUserDto,\r\n LocalizationPipe,\r\n NAVIGATE_TO_MANAGE_PROFILE,\r\n PermissionDirective,\r\n SessionStateService,\r\n ToInjectorPipe,\r\n} from '@abp/ng.core';\r\nimport { AbpVisibleDirective, UserMenu, UserMenuService } from '@abp/ng.theme.shared';\r\nimport { Component, TrackByFunction, inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { NgComponentOutlet, AsyncPipe, DOCUMENT } from '@angular/common';\r\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'abp-current-user',\r\n templateUrl: './current-user.component.html',\r\n imports: [\r\n NgComponentOutlet,\r\n AsyncPipe,\r\n NgbDropdownModule,\r\n AbpVisibleDirective,\r\n PermissionDirective,\r\n ToInjectorPipe,\r\n LocalizationPipe,\r\n ],\r\n})\r\nexport class CurrentUserComponent {\r\n readonly navigateToManageProfile = inject(NAVIGATE_TO_MANAGE_PROFILE);\r\n readonly userMenu = inject(UserMenuService);\r\n private authService = inject(AuthService);\r\n private configState = inject(ConfigStateService);\r\n private sessionState = inject(SessionStateService);\r\n private document = inject(DOCUMENT);\r\n\r\n currentUser$: Observable<CurrentUserDto> = this.configState.getOne$('currentUser');\r\n selectedTenant$ = this.sessionState.getTenant$();\r\n trackByFn: TrackByFunction<UserMenu> = (_, element) => element.id;\r\n\r\n get smallScreen(): boolean {\r\n return this.document.defaultView?.innerWidth < 992;\r\n }\r\n\r\n navigateToLogin() {\r\n this.authService.navigateToLogin();\r\n }\r\n\r\n logout() {\r\n this.authService.logout().subscribe();\r\n }\r\n}\r\n","@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 <a role=\"button\" class=\"nav-link pointer\" (click)=\"navigateToLogin()\">\r\n {{ 'AbpAccount::Login' | abpLocalization }}\r\n </a>\r\n}\r\n","import { ConfigStateService, LanguageInfo, SessionStateService } from '@abp/ng.core';\r\nimport { Component, inject } from '@angular/core';\r\nimport { DOCUMENT, AsyncPipe } from '@angular/common';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'abp-languages',\r\n template: `\r\n @if (((dropdownLanguages$ | async)?.length || 0) > 0) {\r\n <div class=\"dropdown\" ngbDropdown #languageDropdown=\"ngbDropdown\" display=\"static\">\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 {{ defaultLanguage$ | async }}\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 && languageDropdown.isOpen()\"\r\n >\r\n @for (lang of dropdownLanguages$ | async; track $index) {\r\n <a\r\n href=\"javascript:void(0)\"\r\n class=\"dropdown-item\"\r\n (click)=\"onChangeLang(lang.cultureName || '')\"\r\n >{{ lang?.displayName }}</a\r\n >\r\n }\r\n </div>\r\n </div>\r\n }\r\n `,\r\n imports: [AsyncPipe, NgbDropdownModule],\r\n})\r\nexport class LanguagesComponent {\r\n private sessionState = inject(SessionStateService);\r\n private configState = inject(ConfigStateService);\r\n document = inject(DOCUMENT);\r\n\r\n get smallScreen(): boolean {\r\n return this.document.defaultView.innerWidth < 992;\r\n }\r\n\r\n languages$: Observable<LanguageInfo[]> = this.configState.getDeep$('localization.languages');\r\n\r\n get defaultLanguage$(): Observable<string> {\r\n return this.languages$.pipe(\r\n map(\r\n languages =>\r\n languages?.find(lang => lang.cultureName === this.selectedLangCulture)?.displayName || '',\r\n ),\r\n );\r\n }\r\n\r\n get dropdownLanguages$(): Observable<LanguageInfo[]> {\r\n return this.languages$.pipe(\r\n map(\r\n languages => languages?.filter(lang => lang.cultureName !== this.selectedLangCulture) || [],\r\n ),\r\n );\r\n }\r\n\r\n get selectedLangCulture(): string {\r\n return this.sessionState.getLanguage();\r\n }\r\n\r\n onChangeLang(cultureName: string) {\r\n this.sessionState.setLanguage(cultureName);\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\r\nimport { Validation, ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';\r\nimport { LocalizationPipe } from '@abp/ng.core';\r\n\r\n@Component({\r\n selector: 'abp-validation-error',\r\n template: `\r\n @for (error of abpErrors; track $index) {\r\n <div class=\"invalid-feedback\">\r\n {{ error.message | abpLocalization: error.interpoliteParams }}\r\n </div>\r\n }\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n imports: [LocalizationPipe],\r\n})\r\nexport class ValidationErrorComponent extends ErrorComponent {\r\n get abpErrors(): (Validation.Error & { interpoliteParams?: string[] })[] {\r\n if (!this.errors || !this.errors.length) return [];\r\n\r\n return this.errors.map(error => {\r\n if (!error.message) return error;\r\n\r\n const index = error.message.indexOf('[');\r\n\r\n if (index > -1) {\r\n return {\r\n ...error,\r\n message: error.message.slice(0, index),\r\n interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),\r\n };\r\n }\r\n\r\n return error;\r\n });\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const LAZY_STYLES = new InjectionToken<string[]>('LAZY_STYLES');\r\n","import { LazyLoadService, LOADING_STRATEGY } from '@abp/ng.core';\r\nimport { DocumentDirHandlerService, LocaleDirection } from '@abp/ng.theme.shared';\r\nimport { Injectable, Injector, inject } from '@angular/core';\r\nimport { LAZY_STYLES } from '../tokens/lazy-styles.token';\r\nimport { DOCUMENT } from '@angular/common';\r\nexport const BOOTSTRAP = 'bootstrap-{{dir}}.min.css';\r\n\r\n@Injectable()\r\nexport class LazyStyleHandler {\r\n private document = inject(DOCUMENT);\r\n private lazyLoad!: LazyLoadService;\r\n private styles!: string[];\r\n private _dir: LocaleDirection = 'ltr';\r\n\r\n readonly loaded = new Map<string, HTMLLinkElement>();\r\n\r\n set dir(dir: LocaleDirection) {\r\n if (dir === this._dir) return;\r\n\r\n this.switchCSS(dir);\r\n this._dir = dir;\r\n }\r\n\r\n get dir(): LocaleDirection {\r\n return this._dir;\r\n }\r\n\r\n constructor() {\r\n const injector = inject(Injector);\r\n\r\n this.setStyles(injector);\r\n this.setLazyLoad(injector);\r\n this.listenToDirectionChanges(injector);\r\n }\r\n\r\n private getHrefFromLink(link: HTMLLinkElement | null | undefined): string {\r\n if (!link) return '';\r\n\r\n const a = this.document.createElement('a');\r\n a.href = link.href;\r\n return a.pathname.replace(/^\\//, '');\r\n }\r\n\r\n private getLoadedBootstrap(): LoadedStyle {\r\n const href = createLazyStyleHref(BOOTSTRAP, this.dir);\r\n const selector = `[href*=\"${href.replace(/\\.css$/, '')}\"]`;\r\n const link = this.document.querySelector<HTMLLinkElement>(selector);\r\n return { href, link };\r\n }\r\n\r\n private listenToDirectionChanges(injector: Injector) {\r\n const docDirHandler = injector.get(DocumentDirHandlerService);\r\n\r\n // will always listen, no need to unsubscribe\r\n docDirHandler.dir$.subscribe(dir => {\r\n this.dir = dir;\r\n });\r\n }\r\n\r\n private setLazyLoad(injector: Injector) {\r\n this.lazyLoad = injector.get(LazyLoadService);\r\n const { href, link } = this.getLoadedBootstrap();\r\n this.lazyLoad.loaded.set(href, link);\r\n }\r\n\r\n private setStyles(injector: Injector) {\r\n this.styles = injector.get(LAZY_STYLES, [BOOTSTRAP]);\r\n }\r\n\r\n private switchCSS(dir: LocaleDirection) {\r\n this.styles.forEach(style => {\r\n const oldHref = createLazyStyleHref(style, this.dir);\r\n const newHref = createLazyStyleHref(style, dir);\r\n const link = this.loaded.get(newHref);\r\n const href = this.getHrefFromLink(link) || newHref;\r\n\r\n const strategy = LOADING_STRATEGY.PrependAnonymousStyleToHead(href);\r\n this.lazyLoad.load(strategy).subscribe(() => {\r\n const oldLink = this.lazyLoad.loaded.get(oldHref) as HTMLLinkElement;\r\n this.loaded.delete(newHref);\r\n this.loaded.set(oldHref, oldLink);\r\n const newLink = this.lazyLoad.loaded.get(href) as HTMLLinkElement;\r\n this.lazyLoad.loaded.delete(href);\r\n this.lazyLoad.loaded.set(newHref, newLink);\r\n this.lazyLoad.remove(oldHref);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport function createLazyStyleHref(style: string, dir: string): string {\r\n return style.replace(/{{\\s*dir\\s*}}/g, dir);\r\n}\r\n\r\nexport function initLazyStyleHandler() {\r\n return () => new LazyStyleHandler();\r\n}\r\n\r\ninterface LoadedStyle {\r\n href: string;\r\n link: HTMLLinkElement | null;\r\n}\r\n","import { NavItemsService } from '@abp/ng.theme.shared';\r\nimport { inject, provideAppInitializer } from '@angular/core';\r\nimport { CurrentUserComponent } from '../components/nav-items/current-user.component';\r\nimport { LanguagesComponent } from '../components/nav-items/languages.component';\r\nimport { eThemeBasicComponents } from '../enums/components';\r\n\r\nexport const BASIC_THEME_NAV_ITEM_PROVIDERS = [\r\n provideAppInitializer(() => {\r\n configureNavItems();\r\n }),\r\n];\r\n\r\nexport function configureNavItems() {\r\n const navItems = inject(NavItemsService);\r\n navItems.addItems([\r\n {\r\n id: eThemeBasicComponents.Languages,\r\n order: 100,\r\n component: LanguagesComponent,\r\n },\r\n {\r\n id: eThemeBasicComponents.CurrentUser,\r\n order: 100,\r\n component: CurrentUserComponent,\r\n },\r\n ]);\r\n}\r\n","export default `\r\n.content-header-title {\r\n font-size: 24px;\r\n}\r\n.entry-row {\r\n margin-bottom: 15px;\r\n}\r\n#main-navbar-tools a.dropdown-toggle {\r\n text-decoration: none;\r\n color: #fff;\r\n}\r\n.navbar .dropdown-submenu {\r\n position: relative;\r\n}\r\n.navbar .dropdown-menu {\r\n margin: 0;\r\n padding: 0;\r\n}\r\n.navbar .dropdown-menu a {\r\n font-size: .9em;\r\n padding: 10px 15px;\r\n display: block;\r\n min-width: 210px;\r\n text-align: left;\r\n border-radius: 0.25rem;\r\n min-height: 44px;\r\n}\r\n[dir=rtl] .navbar .dropdown-menu a {\r\n text-align: right!important;\r\n}\r\n.navbar .dropdown-submenu a::after {\r\n transform: rotate(-90deg);\r\n position: absolute;\r\n right: 16px;\r\n top: 18px;\r\n}\r\n[dir=rtl] .navbar .dropdown-submenu a::after {\r\n transform: rotate(90deg);\r\n left: 16px;\r\n right: auto;\r\n top: 20px;\r\n}\r\n.navbar .dropdown-submenu .dropdown-menu {\r\n top: 0;\r\n left: 100%;\r\n}\r\n/* work around for rtl. Track https://github.com/ng-bootstrap/ng-bootstrap/issues/4100 issue */\r\n[dir=rtl] .navbar .dropdown-submenu .dropdown-menu {\r\n top: 0;\r\n right: 100%;\r\n}\r\n.card-header .btn {\r\n padding: 2px 6px;\r\n}\r\n.card-header h5 {\r\n margin: 0;\r\n}\r\n.container > .card {\r\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\r\n}\r\n@media screen and (min-width: 992px) {\r\n .navbar .dropdown:hover > .dropdown-menu {\r\n display: block;\r\n }\r\n\r\n .navbar .dropdown-submenu:hover > .dropdown-menu {\r\n display: block;\r\n }\r\n}\r\n.input-validation-error {\r\n border-color: #dc3545;\r\n}\r\n.field-validation-error {\r\n font-size: 0.8em;\r\n}\r\n.ui-table .ui-table-tbody > tr.empty-row > div.empty-row-content {\r\n border: 1px solid #c8c8c8;\r\n }\r\n.abp-loading {\r\n background: rgba(0, 0, 0, 0.05);\r\n}\r\n.modal-backdrop {\r\nbackground-color: rgba(0, 0, 0, 0.6);\r\n}\r\n\r\n.confirmation .confirmation-backdrop {\r\n\t background: rgba(0, 0, 0, 0.7) !important;\r\n}\r\n .confirmation .confirmation-dialog {\r\n\t border: none;\r\n\t border-radius: 10px;\r\n\t background-color: #fff;\r\n\t box-shadow: 0 0 10px -5px rgba(0, 0, 0, 0.5);\r\n}\r\n .confirmation .confirmation-dialog .icon-container .icon {\r\n\t stroke: #fff;\r\n\t color: #fff;\r\n}\r\n .confirmation .confirmation-dialog .icon-container.info .icon {\r\n\t stroke: #2f96b4;\r\n\t color: #2f96b4;\r\n}\r\n .confirmation .confirmation-dialog .icon-container.success .icon {\r\n\t stroke: #51a351;\r\n\t color: #51a351;\r\n}\r\n .confirmation .confirmation-dialog .icon-container.warning .icon {\r\n\t stroke: #f89406;\r\n\t color: #f89406;\r\n}\r\n .confirmation .confirmation-dialog .icon-container.error .icon {\r\n\t stroke: #bd362f;\r\n\t color: #bd362f;\r\n}\r\n .confirmation .confirmation-dialog .content .title {\r\n\t color: #222;\r\n}\r\n .confirmation .confirmation-dialog .content .message {\r\n\t color: #777;\r\n}\r\n .confirmation .confirmation-dialog .footer {\r\n\t background: transparent;\r\n}\r\n .confirmation .confirmation-dialog .footer .confirmation-button {\r\n\t background-color: #eee;\r\n\t color: #777;\r\n}\r\n .confirmation .confirmation-dialog .footer .confirmation-button:hover, .confirmation .confirmation-dialog .footer .confirmation-button:focus, .confirmation .confirmation-dialog .footer .confirmation-button:active {\r\n\t background-color: #bbb;\r\n}\r\n .confirmation .confirmation-dialog .footer .confirmation-button--confirm {\r\n\t background-color: #2f96b4;\r\n\t color: #fff;\r\n}\r\n .confirmation .confirmation-dialog .footer .confirmation-button--confirm:hover {\r\n\t background-color: #2e819b;\r\n}\r\n.ui-table .pagination-wrapper {\r\n background-color: #f4f4f4;\r\n border: 1px solid #c8c8c8;\r\n}\r\n.bordered .datatable-body-row {\r\n border-top: 1px solid #eee;\r\n margin-top: -1px;\r\n}\r\n.breadcrumb {\r\n background-color: transparent;\r\n padding: 0.27rem;\r\n}\r\n\r\n.abp-md-form {\r\n max-width: 540px;\r\n}\r\n\r\nabp-chat-icon,\r\nabp-back-to-impersonator-nav-item {\r\n margin-inline: 0.4rem;\r\n}\r\n\r\nabp-chat-icon {\r\n .fa-comments:before {\r\n color: var(--bs-navbar-color);\r\n }\r\n}\r\n\r\nabp-back-to-impersonator-nav-item {\r\n .fa-undo {\r\n color: var(--bs-navbar-color);\r\n }\r\n}\r\n\r\n.ngx-datatable.material:has(.datatable-body-row) .datatable-footer {\r\n border-top: none;\r\n}\r\n\r\n.ngx-datatable.material:not(:has(.datatable-body-row)) .datatable-footer {\r\n border-top: 1px solid #dee2e6;\r\n}\r\n\r\n`;\r\n\r\n\r\n","import { CONTENT_STRATEGY, DomInsertionService, ReplaceableComponentsService } from '@abp/ng.core';\r\nimport { inject, provideAppInitializer } from '@angular/core';\r\nimport { AccountLayoutComponent } from '../components/account-layout/account-layout.component';\r\nimport { ApplicationLayoutComponent } from '../components/application-layout/application-layout.component';\r\nimport { EmptyLayoutComponent } from '../components/empty-layout/empty-layout.component';\r\nimport styles from '../constants/styles';\r\nimport { eThemeBasicComponents } from '../enums/components';\r\n\r\nexport const BASIC_THEME_STYLES_PROVIDERS = [\r\n provideAppInitializer(() => {\r\n const initializerFn = configureStyles(\r\n inject(DomInsertionService),\r\n inject(ReplaceableComponentsService),\r\n );\r\n return initializerFn();\r\n }),\r\n];\r\n\r\nexport function configureStyles(\r\n domInsertion: DomInsertionService,\r\n replaceableComponents: ReplaceableComponentsService,\r\n) {\r\n return () => {\r\n domInsertion.insertContent(CONTENT_STRATEGY.AppendStyleToHead(styles));\r\n\r\n initLayouts(replaceableComponents);\r\n };\r\n}\r\n\r\nfunction initLayouts(replaceableComponents: ReplaceableComponentsService) {\r\n replaceableComponents.add({\r\n key: eThemeBasicComponents.ApplicationLayout,\r\n component: ApplicationLayoutComponent,\r\n });\r\n replaceableComponents.add({\r\n key: eThemeBasicComponents.AccountLayout,\r\n component: AccountLayoutComponent,\r\n });\r\n replaceableComponents.add({\r\n key: eThemeBasicComponents.EmptyLayout,\r\n component: EmptyLayoutComponent,\r\n });\r\n}\r\n","import { AuthService, NAVIGATE_TO_MANAGE_PROFILE } from '@abp/ng.core';\r\nimport { UserMenuService } from '@abp/ng.theme.shared';\r\nimport { Injector, inject, provideAppInitializer } from '@angular/core';\r\nimport { eUserMenuItems } from '../enums/user-menu-items';\r\n\r\nexport const BASIC_THEME_USER_MENU_PROVIDERS = [\r\n provideAppInitializer(() => {\r\n const initializerFn = configureUserMenu(inject(Injector));\r\n return initializerFn();\r\n }),\r\n];\r\n\r\nexport function configureUserMenu(injector: Injector) {\r\n const userMenu = injector.get(UserMenuService);\r\n const authService = injector.get(AuthService);\r\n const navigateToManageProfile = injector.get(NAVIGATE_TO_MANAGE_PROFILE);\r\n\r\n return () => {\r\n userMenu.addItems([\r\n {\r\n id: eUserMenuItems.MyAccount,\r\n order: 100,\r\n textTemplate: {\r\n text: 'AbpAccount::MyAccount',\r\n icon: 'fa fa-cog',\r\n },\r\n action: () => navigateToManageProfile(),\r\n },\r\n {\r\n id: eUserMenuItems.Logout,\r\n order: 101,\r\n textTemplate: {\r\n text: 'AbpUi::Logout',\r\n icon: 'fa fa-power-off',\r\n },\r\n action: () => {\r\n authService.logout().subscribe();\r\n },\r\n },\r\n ]);\r\n };\r\n}\r\n","import { makeEnvironmentProviders, inject, provideAppInitializer } from '@angular/core';\r\n\r\nimport {\r\n VALIDATION_ERROR_TEMPLATE,\r\n VALIDATION_TARGET_SELECTOR,\r\n VALIDATION_INVALID_CLASSES,\r\n} from '@ngx-validate/core';\r\nimport { LazyStyleHandler } from '../handlers';\r\nimport { BASIC_THEME_NAV_ITEM_PROVIDERS } from './nav-item.provider';\r\nimport { BASIC_THEME_STYLES_PROVIDERS } from './styles.provider';\r\nimport { BASIC_THEME_USER_MENU_PROVIDERS } from './user-menu.provider';\r\nimport { ValidationErrorComponent } from '../components';\r\n\r\nexport function provideThemeBasicConfig() {\r\n return makeEnvironmentProviders([\r\n BASIC_THEME_NAV_ITEM_PROVIDERS,\r\n BASIC_THEME_USER_MENU_PROVIDERS,\r\n BASIC_THEME_STYLES_PROVIDERS,\r\n {\r\n provide: VALIDATION_ERROR_TEMPLATE,\r\n useValue: ValidationErrorComponent,\r\n },\r\n {\r\n provide: VALIDATION_TARGET_SELECTOR,\r\n useValue: '.form-group',\r\n },\r\n {\r\n provide: VALIDATION_INVALID_CLASSES,\r\n useValue: 'is-invalid',\r\n },\r\n LazyStyleHandler,\r\n provideAppInitializer(() => {\r\n inject(LazyStyleHandler);\r\n }),\r\n ]);\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport {\r\n AccountLayoutComponent,\r\n AuthWrapperComponent,\r\n TenantBoxComponent,\r\n ApplicationLayoutComponent,\r\n EmptyLayoutComponent,\r\n LogoComponent,\r\n CurrentUserComponent,\r\n LanguagesComponent,\r\n NavItemsComponent,\r\n PageAlertContainerComponent,\r\n RoutesComponent,\r\n ValidationErrorComponent,\r\n} from './components';\r\nimport { provideThemeBasicConfig } from './providers';\r\n\r\nexport const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];\r\n\r\nexport const THEME_BASIC_COMPONENTS = [\r\n ...LAYOUTS,\r\n ValidationErrorComponent,\r\n LogoComponent,\r\n NavItemsComponent,\r\n RoutesComponent,\r\n CurrentUserComponent,\r\n LanguagesComponent,\r\n PageAlertContainerComponent,\r\n AuthWrapperComponent,\r\n TenantBoxComponent,\r\n];\r\n\r\n@NgModule({\r\n declarations: [],\r\n exports: [...THEME_BASIC_COMPONENTS],\r\n imports: [...THEME_BASIC_COMPONENTS],\r\n})\r\nexport class BaseThemeBasicModule {}\r\n\r\n@NgModule({\r\n exports: [BaseThemeBasicModule],\r\n imports: [BaseThemeBasicModule],\r\n})\r\nexport class ThemeBasicModule {\r\n /**\r\n * @deprecated forRoot method is deprecated, use `provideThemeBasicConfig` *function* for config settings.\r\n */\r\n static forRoot(): ModuleWithProviders<ThemeBasicModule> {\r\n return {\r\n ngModule: ThemeBasicModule,\r\n providers: [provideThemeBasicConfig()],\r\n };\r\n }\r\n}\r\n","/*\r\n * Public API Surface of theme-basic\r\n */\r\n\r\nexport * from './lib/components';\r\nexport * from './lib/enums';\r\nexport * from './lib/handlers';\r\nexport * from './lib/models';\r\nexport * from './lib/providers';\r\nexport * from './lib/theme-basic.module';\r\nexport * from './lib/tokens';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","ErrorComponent"],"mappings":";;;;;;;;;;;;;;;MAQa,aAAa,CAAA;AAexB,IAAA,WAAA,GAAA;AAdQ,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAC1C,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAEzC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC3B,IAAA,CAAA,WAAW,GAAG,IAAI;AAIlB,QAAA,IAAA,CAAA,gBAAgB,GAAA,qBAAA;AAEhB,QAAA,IAAA,CAAA,kBAAkB,GAAA,uBAAA;AAElB,QAAA,IAAA,CAAA,oBAAoB,GAAA,yBAAA;AAGlB,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY;AACtC,QAAA,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QAEzC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAC,MAAK;AAC/D,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI;AACzB,QAAA,CAAC,CAAC;IACJ;IAEQ,gBAAgB,GAAA;QACtB,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,GAAG,GAAG;QAChE,IAAI,aAAa,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE;AAC/C,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK;YACxB,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI;YACzB,CAAC,EAAE,GAAG,CAAC;QACT;AACA,QAAA,IAAI,CAAC,WAAW,GAAG,aAAa;AAChC,QAAA,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;IAC5B;IAEA,mBAAmB,GAAA;QACjB,IAAI,CAAC,gBAAgB,EAAE;QAEvB,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;AACtF,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAClE;8GAzCW,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAb,aAAa,EAAA,CAAA,CAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB;;;MCYY,aAAa,CAAA;AAd1B,IAAA,WAAA,GAAA;AAeU,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC;QAE/B,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC5D,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAanF,IAAA;AAXC,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,QACE,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,WAAW,EAAE,OAAO;IAElF;AAEA,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,QACE,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI;IAE/E;8GAhBW,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAZd,CAAA;;;;;;;;AAQT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAES,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAET,aAAa,EAAA,UAAA,EAAA,CAAA;kBAdzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;AAQT,EAAA,CAAA;AACD,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,UAAU,CAAC;AACtB,iBAAA;;;MCoBY,eAAe,CAAA;AAf5B,IAAA,WAAA,GAAA;AAgBkB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AAC3C,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;QAMtC,IAAA,CAAA,kBAAkB,GAAG,EAAgC;QAErD,IAAA,CAAA,SAAS,GAAyC,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI;AAYzE,IAAA;AAVC,IAAA,UAAU,CAAC,IAAyB,EAAA;AAClC,QAAA,OAAO,CAAC,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;IACnE;IAEA,aAAa,GAAA;QACX,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,KAAI;YACpD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC;AAC/C,YAAA,UAAU,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;AACzE,QAAA,CAAC,CAAC;IACJ;8GArBW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,0NCtC5B,usHA6GA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDlFI,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,OAAO,oFAEP,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACV,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,eAAA,EAAA,MAAA,EAAA,WAAA,EAAA,eAAA,EAAA,WAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEjB,mBAAmB,0HACnB,iBAAiB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,OAAA,EAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EALjB,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAGT,oBAAoB,uDAGpB,gBAAgB,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAGP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAf3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAAA,OAAA,EAEb;wBACP,gBAAgB;wBAChB,OAAO;wBACP,SAAS;wBACT,UAAU;wBACV,iBAAiB;wBACjB,oBAAoB;wBACpB,mBAAmB;wBACnB,iBAAiB;wBACjB,gBAAgB;AACjB,qBAAA,EAAA,QAAA,EAAA,usHAAA,EAAA;;sBAMA;;sBAEA,YAAY;uBAAC,mBAAmB;;;MElCtB,iBAAiB,CAAA;AAL9B,IAAA,WAAA,GAAA;AAMW,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;AACnC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AAC/B,QAAA,IAAA,CAAA,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC;QAEvD,IAAA,CAAA,SAAS,GAA6B,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,EAAE;AACjE,IAAA;8GANY,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV9B,6sBAkBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDVY,iBAAiB,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,sCAAA,EAAA,0BAAA,EAAA,2BAAA,CAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAa,mBAAmB,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,mBAAmB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,iCAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAnD,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAA4C,cAAc,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAErF,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;+BACE,eAAe,EAAA,OAAA,EAEhB,CAAC,iBAAiB,EAAE,SAAS,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,cAAc,CAAC,EAAA,QAAA,EAAA,6sBAAA,EAAA;;;MEYtF,kBAAkB,CAAA;AAb/B,IAAA,WAAA,GAAA;AAcE,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACnC,IAAA;8GAFY,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,6DAVlB,CAAC,gBAAgB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV/B,22EAiEA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDpDI,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,sGAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,MAAA,EAAA,QAAA,EAAA,yEAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACX,cAAc,0LAEd,eAAe,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,YAAA,EAAA,UAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,mBAAmB,EAAA,QAAA,EAAA,YAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EALnB,SAAS,yCAGT,gBAAgB,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAKP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAb9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAAA,SAAA,EAEf,CAAC,gBAAgB,CAAC,EAAA,OAAA,EACpB;wBACP,SAAS;wBACT,WAAW;wBACX,cAAc;wBACd,gBAAgB;wBAChB,eAAe;wBACf,mBAAmB;AACpB,qBAAA,EAAA,QAAA,EAAA,22EAAA,EAAA;;;MENU,oBAAoB,CAAA;AANjC,IAAA,WAAA,GAAA;AAOE,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,kBAAkB,CAAC;AACrC,IAAA;8GAFY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,SAAA,EAHpB,CAAC,kBAAkB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECTjC,s3BAwBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDduB,kBAAkB,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,4BAA4B,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAA3D,SAAS,yCAAoD,gBAAgB,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAE5E,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,SAAA,EAEjB,CAAC,kBAAkB,CAAC,EAAA,OAAA,EACtB,CAAC,SAAS,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,gBAAgB,CAAC,EAAA,QAAA,EAAA,s3BAAA,EAAA;;;MEC7E,2BAA2B,CAAA;AANxC,IAAA,WAAA,GAAA;AAOE,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACnC,IAAA;8GAFY,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECXxC,q0BA0BA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDjBY,OAAO,+EAAE,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,IAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,YAAY,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAEjD,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBANvC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,0BAA0B,EAAA,aAAA,EAErB,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B,CAAC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,CAAC,EAAA,QAAA,EAAA,q0BAAA,EAAA;;;MEmBlD,sBAAsB,CAAA;AAhBnC,IAAA,WAAA,GAAA;AAiBE,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC;QAK/B,IAAA,CAAA,cAAc,GAAG,8BAA8B;AAKhD,IAAA;;AAPQ,IAAA,SAAA,IAAA,CAAA,IAAI,uCAAuB;IAIlC,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;IACpC;8GAVW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,SAAA,EAZtB,CAAC,aAAa,EAAE,mBAAmB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChBjD,2pEA+DA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED7CI,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACb,eAAe,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,iBAAiB,EAAA,QAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,oBAAoB,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACpB,2BAA2B,EAAA,QAAA,EAAA,0BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC3B,4BAA4B,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC5B,YAAY,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAVF,CAAC,kBAAkB,CAAC,EAAA,CAAA,CAAA;;2FAarB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAhBlC,SAAS;+BACE,oBAAoB,EAAA,UAAA,EAElB,CAAC,kBAAkB,CAAC,EAAA,SAAA,EACrB,CAAC,aAAa,EAAE,mBAAmB,CAAC,EAAA,OAAA,EACtC;wBACP,gBAAgB;wBAChB,aAAa;wBACb,eAAe;wBACf,iBAAiB;wBACjB,oBAAoB;wBACpB,2BAA2B;wBAC3B,4BAA4B;wBAC5B,YAAY;AACb,qBAAA,EAAA,QAAA,EAAA,2pEAAA,EAAA;;;MEAU,0BAA0B,CAAA;AAfvC,IAAA,WAAA,GAAA;AAgBkB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC;AAOhD,IAAA;;AALQ,IAAA,SAAA,IAAA,CAAA,IAAI,+CAA2B;IAEtC,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;IACpC;8GAPW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,SAAA,EAX1B,CAAC,aAAa,EAAE,mBAAmB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECfjD,y/DAwDA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDvCI,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACb,2BAA2B,EAAA,QAAA,EAAA,0BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC3B,eAAe,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,iBAAiB,EAAA,QAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,4BAA4B,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC5B,YAAY,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EATF,CAAC,eAAe,EAAE,kBAAkB,CAAC,EAAA,CAAA,CAAA;;2FAYtC,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAftC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,EAAA,UAAA,EAEtB,CAAC,eAAe,EAAE,kBAAkB,CAAC,EAAA,SAAA,EACtC,CAAC,aAAa,EAAE,mBAAmB,CAAC,EAAA,OAAA,EACtC;wBACP,gBAAgB;wBAChB,aAAa;wBACb,2BAA2B;wBAC3B,eAAe;wBACf,iBAAiB;wBACjB,4BAA4B;wBAC5B,YAAY;AACb,qBAAA,EAAA,QAAA,EAAA,y/DAAA,EAAA;;;MEfU,oBAAoB,CAAA;AACxB,IAAA,SAAA,IAAA,CAAA,IAAI,mCAAqB;8GADrB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAHrB,CAAA,iCAAA,CAAmC,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnC,YAAY,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAEX,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,QAAQ,EAAE,CAAA,iCAAA,CAAmC;oBAC7C,OAAO,EAAE,CAAC,YAAY,CAAC;AACxB,iBAAA;;;MCqBY,oBAAoB,CAAA;AAbjC,IAAA,WAAA,GAAA;AAcW,QAAA,IAAA,CAAA,uBAAuB,GAAG,MAAM,CAAC,0BAA0B,CAAC;AAC5D,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;AACnC,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AACjC,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC;AACxC,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAC1C,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAEnC,IAAA,CAAA,YAAY,GAA+B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC;AAClF,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;QAChD,IAAA,CAAA,SAAS,GAA8B,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,EAAE;AAalE,IAAA;AAXC,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,UAAU,GAAG,GAAG;IACpD;IAEA,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE;IACpC;IAEA,MAAM,GAAA;QACJ,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE;IACvC;8GAtBW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC7BjC,wuEA8DA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED1CI,iBAAiB,wRAEjB,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,eAAA,EAAA,MAAA,EAAA,WAAA,EAAA,eAAA,EAAA,WAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,mBAAmB,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,mBAAmB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,iCAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAHnB,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAIT,cAAc,8CACd,gBAAgB,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAGP,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAbhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,OAAA,EAEnB;wBACP,iBAAiB;wBACjB,SAAS;wBACT,iBAAiB;wBACjB,mBAAmB;wBACnB,mBAAmB;wBACnB,cAAc;wBACd,gBAAgB;AACjB,qBAAA,EAAA,QAAA,EAAA,wuEAAA,EAAA;;;MEgBU,kBAAkB,CAAA;AApC/B,IAAA,WAAA,GAAA;AAqCU,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAC1C,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAChD,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAM3B,IAAA,CAAA,UAAU,GAA+B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,wBAAwB,CAAC;AA0B7F,IAAA;AA9BC,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,GAAG,GAAG;IACnD;AAIA,IAAA,IAAI,gBAAgB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,GAAG,CACD,SAAS,IACP,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,mBAAmB,CAAC,EAAE,WAAW,IAAI,EAAE,CAC5F,CACF;IACH;AAEA,IAAA,IAAI,kBAAkB,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,GAAG,CACD,SAAS,IAAI,SAAS,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAC5F,CACF;IACH;AAEA,IAAA,IAAI,mBAAmB,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;IACxC;AAEA,IAAA,YAAY,CAAC,WAAmB,EAAA;AAC9B,QAAA,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,WAAW,CAAC;IAC5C;8GAlCW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAlCnB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BT,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACoB,iBAAiB,gVAA5B,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAER,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBApC9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BT,EAAA,CAAA;AACD,oBAAA,OAAO,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC;AACxC,iBAAA;;;ACzBK,MAAO,wBAAyB,SAAQC,0BAAc,CAAA;AAC1D,IAAA,IAAI,SAAS,GAAA;QACX,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;AAAE,YAAA,OAAO,EAAE;QAElD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,IAAG;YAC7B,IAAI,CAAC,KAAK,CAAC,OAAO;AAAE,gBAAA,OAAO,KAAK;YAEhC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;AAExC,YAAA,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;gBACd,OAAO;AACL,oBAAA,GAAG,KAAK;oBACR,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;oBACtC,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;iBACvF;YACH;AAEA,YAAA,OAAO,KAAK;AACd,QAAA,CAAC,CAAC;IACJ;8GAnBW,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAXzB,CAAA;;;;;;AAMT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAGS,gBAAgB,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAEf,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAbpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,QAAQ,EAAE,CAAA;;;;;;AAMT,EAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,OAAO,EAAE,CAAC,gBAAgB,CAAC;AAC5B,iBAAA;;;MCdY,WAAW,GAAG,IAAI,cAAc,CAAW,aAAa;;ACG9D,MAAM,SAAS,GAAG;MAGZ,gBAAgB,CAAA;IAQ3B,IAAI,GAAG,CAAC,GAAoB,EAAA;AAC1B,QAAA,IAAI,GAAG,KAAK,IAAI,CAAC,IAAI;YAAE;AAEvB,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;AACnB,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG;IACjB;AAEA,IAAA,IAAI,GAAG,GAAA;QACL,OAAO,IAAI,CAAC,IAAI;IAClB;AAEA,IAAA,WAAA,GAAA;AAlBQ,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAG3B,IAAA,CAAA,IAAI,GAAoB,KAAK;AAE5B,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,GAAG,EAA2B;AAclD,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAEjC,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;AACxB,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;AAC1B,QAAA,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC;IACzC;AAEQ,IAAA,eAAe,CAAC,IAAwC,EAAA;AAC9D,QAAA,IAAI,CAAC,IAAI;AAAE,YAAA,OAAO,EAAE;QAEpB,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;AAC1C,QAAA,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;QAClB,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IACtC;IAEQ,kBAAkB,GAAA;QACxB,MAAM,IAAI,GAAG,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC;AACrD,QAAA,MAAM,QAAQ,GAAG,CAAA,QAAA,EAAW,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA,EAAA,CAAI;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAkB,QAAQ,CAAC;AACnE,QAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;IACvB;AAEQ,IAAA,wBAAwB,CAAC,QAAkB,EAAA;QACjD,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,yBAAyB,CAAC;;AAG7D,QAAA,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAG;AACjC,YAAA,IAAI,CAAC,GAAG,GAAG,GAAG;AAChB,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,WAAW,CAAC,QAAkB,EAAA;QACpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC;QAC7C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE;QAChD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;IACtC;AAEQ,IAAA,SAAS,CAAC,QAAkB,EAAA;AAClC,QAAA,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC;IACtD;AAEQ,IAAA,SAAS,CAAC,GAAoB,EAAA;AACpC,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAG;YAC1B,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC;YACpD,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC;YAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,OAAO;YAElD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,2BAA2B,CAAC,IAAI,CAAC;YACnE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,MAAK;AAC1C,gBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAoB;AACpE,gBAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;AACjC,gBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAoB;gBACjE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACjC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;AAC1C,gBAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;AAC/B,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;8GA/EW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAhB,gBAAgB,EAAA,CAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B;;AAmFK,SAAU,mBAAmB,CAAC,KAAa,EAAE,GAAW,EAAA;IAC5D,OAAO,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;AAC7C;SAEgB,oBAAoB,GAAA;AAClC,IAAA,OAAO,MAAM,IAAI,gBAAgB,EAAE;AACrC;;AC1FO,MAAM,8BAA8B,GAAG;IAC5C,qBAAqB,CAAC,MAAK;AACzB,QAAA,iBAAiB,EAAE;AACrB,IAAA,CAAC,CAAC;;SAGY,iBAAiB,GAAA;AAC/B,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC;AAChB,QAAA;AACE,YAAA,EAAE,EAAA,0BAAA;AACF,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,SAAS,EAAE,kBAAkB;AAC9B,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAA,4BAAA;AACF,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,SAAS,EAAE,oBAAoB;AAChC,SAAA;AACF,KAAA,CAAC;AACJ;;AC1BA,aAAe,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmLd;;AC3KM,MAAM,4BAA4B,GAAG;IAC1C,qBAAqB,CAAC,MAAK;AACzB,QAAA,MAAM,aAAa,GAAG,eAAe,CACnC,MAAM,CAAC,mBAAmB,CAAC,EAC3B,MAAM,CAAC,4BAA4B,CAAC,CACrC;QACD,OAAO,aAAa,EAAE;AACxB,IAAA,CAAC,CAAC;;AAGE,SAAU,eAAe,CAC7B,YAAiC,EACjC,qBAAmD,EAAA;AAEnD,IAAA,OAAO,MAAK;QACV,YAAY,CAAC,aAAa,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAEtE,WAAW,CAAC,qBAAqB,CAAC;AACpC,IAAA,CAAC;AACH;AAEA,SAAS,WAAW,CAAC,qBAAmD,EAAA;IACtE,qBAAqB,CAAC,GAAG,CAAC;AACxB,QAAA,GAAG,EAAA,kCAAA;AACH,QAAA,SAAS,EAAE,0BAA0B;AACtC,KAAA,CAAC;IACF,qBAAqB,CAAC,GAAG,CAAC;AACxB,QAAA,GAAG,EAAA,8BAAA;AACH,QAAA,SAAS,EAAE,sBAAsB;AAClC,KAAA,CAAC;IACF,qBAAqB,CAAC,GAAG,CAAC;AACxB,QAAA,GAAG,EAAA,4BAAA;AACH,QAAA,SAAS,EAAE,oBAAoB;AAChC,KAAA,CAAC;AACJ;;ACrCO,MAAM,+BAA+B,GAAG;IAC7C,qBAAqB,CAAC,MAAK;QACzB,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzD,OAAO,aAAa,EAAE;AACxB,IAAA,CAAC,CAAC;;AAGE,SAAU,iBAAiB,CAAC,QAAkB,EAAA;IAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC;IAC9C,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;IAC7C,MAAM,uBAAuB,GAAG,QAAQ,CAAC,GAAG,CAAC,0BAA0B,CAAC;AAExE,IAAA,OAAO,MAAK;QACV,QAAQ,CAAC,QAAQ,CAAC;AAChB,YAAA;AACE,gBAAA,EAAE,EAAA,oBAAA;AACF,gBAAA,KAAK,EAAE,GAAG;AACV,gBAAA,YAAY,EAAE;AACZ,oBAAA,IAAI,EAAE,uBAAuB;AAC7B,oBAAA,IAAI,EAAE,WAAW;AAClB,iBAAA;AACD,gBAAA,MAAM,EAAE,MAAM,uBAAuB,EAAE;AACxC,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAA,iBAAA;AACF,gBAAA,KAAK,EAAE,GAAG;AACV,gBAAA,YAAY,EAAE;AACZ,oBAAA,IAAI,EAAE,eAAe;AACrB,oBAAA,IAAI,EAAE,iBAAiB;AACxB,iBAAA;gBACD,MAAM,EAAE,MAAK;AACX,oBAAA,WAAW,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE;gBAClC,CAAC;AACF,aAAA;AACF,SAAA,CAAC;AACJ,IAAA,CAAC;AACH;;SC5BgB,uBAAuB,GAAA;AACrC,IAAA,OAAO,wBAAwB,CAAC;QAC9B,8BAA8B;QAC9B,+BAA+B;QAC/B,4BAA4B;AAC5B,QAAA;AACE,YAAA,OAAO,EAAE,yBAAyB;AAClC,YAAA,QAAQ,EAAE,wBAAwB;AACnC,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,0BAA0B;AACnC,YAAA,QAAQ,EAAE,aAAa;AACxB,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,0BAA0B;AACnC,YAAA,QAAQ,EAAE,YAAY;AACvB,SAAA;QACD,gBAAgB;QAChB,qBAAqB,CAAC,MAAK;YACzB,MAAM,CAAC,gBAAgB,CAAC;AAC1B,QAAA,CAAC,CAAC;AACH,KAAA,CAAC;AACJ;;AClBO,MAAM,OAAO,GAAG,CAAC,0BAA0B,EAAE,sBAAsB,EAAE,oBAAoB;AAEzF,MAAM,sBAAsB,GAAG;AACpC,IAAA,GAAG,OAAO;IACV,wBAAwB;IACxB,aAAa;IACb,iBAAiB;IACjB,eAAe;IACf,oBAAoB;IACpB,kBAAkB;IAClB,2BAA2B;IAC3B,oBAAoB;IACpB,kBAAkB;;MAQP,oBAAoB,CAAA;8GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YApBT,0BAA0B,EAAE,sBAAsB,EAAE,oBAAoB,EAI9F,wBAAwB;YACxB,aAAa;YACb,iBAAiB;YACjB,eAAe;YACf,oBAAoB;YACpB,kBAAkB;YAClB,2BAA2B;YAC3B,oBAAoB;AACpB,YAAA,kBAAkB,aAZI,0BAA0B,EAAE,sBAAsB,EAAE,oBAAoB,EAI9F,wBAAwB;YACxB,aAAa;YACb,iBAAiB;YACjB,eAAe;YACf,oBAAoB;YACpB,kBAAkB;YAClB,2BAA2B;YAC3B,oBAAoB;YACpB,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAQP,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,OAAA,EAAA,CApBT,0BAA0B,EAAE,sBAAsB,EAOxE,eAAe;YACf,oBAAoB;YACpB,kBAAkB;YAElB,oBAAoB;YACpB,kBAAkB,CAAA,EAAA,CAAA,CAAA;;2FAQP,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE,CAAC,GAAG,sBAAsB,CAAC;AACpC,oBAAA,OAAO,EAAE,CAAC,GAAG,sBAAsB,CAAC;AACrC,iBAAA;;MAOY,gBAAgB,CAAA;AAC3B;;AAEG;AACH,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO;AACL,YAAA,QAAQ,EAAE,gBAAgB;AAC1B,YAAA,SAAS,EAAE,CAAC,uBAAuB,EAAE,CAAC;SACvC;IACH;8GATW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAhB,gBAAgB,EAAA,OAAA,EAAA,CANhB,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAApB,oBAAoB,CAAA,EAAA,CAAA,CAAA;+GAMpB,gBAAgB,EAAA,OAAA,EAAA,CAFjB,oBAAoB,EAJnB,oBAAoB,CAAA,EAAA,CAAA,CAAA;;2FAMpB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,oBAAoB,CAAC;oBAC/B,OAAO,EAAE,CAAC,oBAAoB,CAAC;AAChC,iBAAA;;;AC1CD;;AAEG;;ACFH;;AAEG;;;;"}
|