{"version":3,"file":"chunk-fv3pft04.js","sources":["packages/vanilla/lib/features/html/src/html-bootstrap.service.ts","packages/vanilla/lib/features/html/src/html.feature.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport {\n DeviceService,\n HtmlNode,\n NativeAppService,\n OnFeatureInit,\n Page,\n ProductMetadata,\n ProductService,\n UserService,\n UserUpdateEvent,\n} from '@frontend/vanilla/core';\nimport { filter } from 'rxjs/operators';\n\n@Injectable()\nexport class HtmlBootstrapService implements OnFeatureInit {\n constructor(\n private user: UserService,\n private htmlNode: HtmlNode,\n private page: Page,\n private productService: ProductService,\n private deviceService: DeviceService,\n private nativeAppService: NativeAppService,\n ) {}\n\n onFeatureInit() {\n this.htmlNode.setAttribute('data-domain', this.page.domain);\n this.htmlNode.setCssClass(`th-${this.page.theme}`, true);\n this.htmlNode.setCssClass('device-mobile', this.deviceService.isMobile);\n this.htmlNode.setCssClass('device-mobile-phone', this.deviceService.isMobilePhone);\n this.htmlNode.setCssClass('device-tablet', this.deviceService.isTablet);\n this.htmlNode.setCssClass('device-desktop', !this.deviceService.isMobile);\n this.htmlNode.setCssClass('device-touch', this.deviceService.isTouch);\n\n this.htmlNode.setCssClass('native-download-client-app', this.nativeAppService.isDownloadClientApp);\n this.htmlNode.setCssClass('native-download-client-wrapper', this.nativeAppService.isDownloadClientWrapper);\n this.htmlNode.setCssClass('native-app', this.nativeAppService.isNativeApp);\n this.htmlNode.setCssClass('native-wrapper', this.nativeAppService.isNativeWrapper && !this.nativeAppService.isNativeWrapperODR);\n this.htmlNode.setCssClass('native-wrapper-odr', this.nativeAppService.isNativeWrapperODR);\n\n if (!this.productService.isSingleDomainApp) {\n this.htmlNode.setCssClass(`product-${this.page.product}`, true);\n } else {\n this.productService.productChanged.subscribe((product: ProductMetadata) => {\n this.htmlNode.removeClassStartsWith(`product-`);\n this.htmlNode.setCssClass(`product-${product.name}`, true);\n });\n }\n\n this.setCountryAttribute();\n this.setHtmlClass();\n\n this.user.events.pipe(filter((e): e is UserUpdateEvent => e instanceof UserUpdateEvent)).subscribe((e: UserUpdateEvent) => {\n const diff = e.diff;\n\n if (diff.has('workflowType') || diff.has('isAuthenticated')) {\n this.setHtmlClass();\n }\n\n if (diff.has('country') || diff.has('isAuthenticated')) {\n this.setCountryAttribute();\n }\n });\n }\n\n private setCountryAttribute() {\n if (this.user.isAuthenticated) {\n this.htmlNode.setAttribute('data-country', this.user.country);\n } else {\n this.htmlNode.setAttribute('data-country', null);\n }\n }\n\n private setHtmlClass() {\n const hasWorkflow = this.user.workflowType !== 0;\n\n this.htmlNode.setCssClass('has-workflow', hasWorkflow);\n this.htmlNode.setCssClass('unauthenticated', !this.user.isAuthenticated);\n this.htmlNode.setCssClass('authenticated', this.user.isAuthenticated);\n }\n}\n","import { runOnFeatureInit } from '@frontend/vanilla/core';\n\nimport { HtmlBootstrapService } from './html-bootstrap.service';\n\nexport function provide() {\n return [runOnFeatureInit(HtmlBootstrapService)];\n}\n"],"names":["HtmlBootstrapService","constructor","user","htmlNode","page","productService","deviceService","nativeAppService","onFeatureInit","setAttribute","domain","setCssClass","theme","isMobile","isMobilePhone","isTablet","isTouch","isDownloadClientApp","isDownloadClientWrapper","isNativeApp","isNativeWrapper","isNativeWrapperODR","isSingleDomainApp","productChanged","subscribe","product","removeClassStartsWith","name","setCountryAttribute","setHtmlClass","events","pipe","filter","e","UserUpdateEvent","diff","has","isAuthenticated","country","hasWorkflow","workflowType","ɵɵinject","UserService","HtmlNode","Page","ProductService","DeviceService","NativeAppService","factory","ɵfac","_HtmlBootstrapService","provide","runOnFeatureInit"],"mappings":"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"}