{"version":3,"file":"css-overrides-gfx0c6s6.js","sources":["packages/vanilla/lib/features/css-overrides/src/css-overrides.client-config.ts","packages/vanilla/lib/features/css-overrides/src/css-overrides-bootstrap.service.ts","packages/vanilla/lib/features/css-overrides/src/css-overrides.feature.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { ClientConfigProductName, LazyClientConfig, LazyClientConfigBase, LazyClientConfigService } from '@frontend/vanilla/core';\n\nexport interface CssOverride {\n id: string;\n content: string;\n condition?: string;\n}\n\n@LazyClientConfig({ key: 'vnCssOverrides', product: ClientConfigProductName.SF })\n@Injectable({\n providedIn: 'root',\n useFactory: configFactory,\n deps: [LazyClientConfigService],\n})\nexport class CssOverridesConfig extends LazyClientConfigBase {\n items: CssOverride[];\n}\n\nexport function configFactory(service: LazyClientConfigService) {\n return service.get(CssOverridesConfig);\n}\n","import { Injectable } from '@angular/core';\n\nimport { DslEnvService, DslService, OnFeatureInit, StylesService } from '@frontend/vanilla/core';\nimport { debounceTime, firstValueFrom } from 'rxjs';\n\nimport { CssOverride, CssOverridesConfig } from './css-overrides.client-config';\n\n@Injectable()\nexport class CssOverridesBootstrapService implements OnFeatureInit {\n constructor(\n private dslEnvService: DslEnvService,\n private dslService: DslService,\n private stylesService: StylesService,\n private config: CssOverridesConfig,\n ) {}\n\n async onFeatureInit() {\n await firstValueFrom(this.config.whenReady);\n this.dslEnvService.change.pipe(debounceTime(100)).subscribe(async () => {\n await this.show();\n });\n await this.show();\n }\n\n private async show() {\n for (const item of this.config.items) {\n if (!item.condition) {\n this.add(item);\n continue;\n }\n const enabled = await firstValueFrom(this.dslService.evaluateExpression(item.condition));\n if (enabled) {\n await this.add(item);\n continue;\n }\n this.remove(item);\n }\n }\n\n private async add(item: CssOverride) {\n await this.stylesService.addStyle(item.id, item.content);\n }\n\n private remove(item: CssOverride) {\n this.stylesService.removeStyle(item.id);\n }\n}\n","import { runOnFeatureInit } from '@frontend/vanilla/core';\n\nimport { CssOverridesBootstrapService } from './css-overrides-bootstrap.service';\n\nexport function provide() {\n return [runOnFeatureInit(CssOverridesBootstrapService)];\n}\n"],"names":["CssOverridesConfig","_a","LazyClientConfigBase","__ngFactoryType__","a","factory","__ngConditionalFactory__","configFactory","ɵɵinject","LazyClientConfigService","__decorate","LazyClientConfig","key","product","ClientConfigProductName","SF","service","get","CssOverridesBootstrapService","constructor","dslEnvService","dslService","stylesService","config","onFeatureInit","__async","firstValueFrom","whenReady","change","pipe","debounceTime","subscribe","show","item","items","condition","add","evaluateExpression","remove","addStyle","id","content","removeStyle","DslEnvService","DslService","StylesService","ɵfac","_CssOverridesBootstrapService","provide","runOnFeatureInit"],"mappings":"oLAgBaA,CAANC,EAAAA,CAAAA,CAAA,cAAiCC,EAAoB,EAA/CF,CAAAA,CAAAA,CAAAA,SAAAA,CAAAA,CAAAA,IAAAA,CAAAA,IAAAA,CAAAA,CAAAA,OAAAA,SAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAAAA,EAAAA,CAAAA,CAAkB,IAAAG,CAAlBH,EAAAA,CAAkB,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,UAAA,CAAAI,CAAA,CAAA,CAAA,KAAA,CAAlBJ,EAAkBK,OAAA,CAAA,SAAAF,CAAA,CAAA,CAAA,IAAAG,CAAAA,CAAA,KAAA,OAAAH,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAHfI,CAAaC,CAAAA,EAAAA,CAClBC,EAAuB,CAAA,gBAFlB,MAAM,CAAA,CAIfR,CAAAA,CAAAA,CAAAA,CAAMD,CAAkBU,CAAAA,EAAAA,CAAA,CAN9BC,EAAiB,CAAA,CAAEC,GAAK,CAAA,gBAAA,CAAkBC,OAASC,CAAAA,CAAAA,CAAwBC,EAAE,CAAE,CAAC,CAMpEf,CAAAA,CAAkB,CAIzB,CAAA,SAAUO,EAAcS,CAAgC,CAAA,CAC1D,OAAOA,CAAAA,CAAQC,GAAIjB,CAAAA,CAAkB,CACzC,CCdA,IAAakB,CAA4B,CAAA,CAAA,IAAA,CAAnC,IAAOA,EAAP,MAAOA,CAA4B,CACrCC,WAAAA,CACYC,CACAC,CAAAA,CAAAA,CACAC,EACAC,CAA0B,CAAA,CAH1B,IAAAH,CAAAA,aAAAA,CAAAA,CACA,CAAA,IAAA,CAAAC,WAAAA,CACA,CAAA,IAAA,CAAAC,aAAAA,CAAAA,CAAAA,CACA,IAAAC,CAAAA,MAAAA,CAAAA,EACT,CAEGC,aAAAA,EAAa,CAAAC,OAAAA,GAAAA,CAAA,IACf,CAAA,IAAA,CAAA,WAAA,CAAA,MAAMC,GAAe,IAAKH,CAAAA,MAAAA,CAAOI,SAAS,CAAA,CAC1C,IAAKP,CAAAA,aAAAA,CAAcQ,OAAOC,IAAKC,CAAAA,EAAAA,CAAa,GAAG,CAAC,CAAEC,CAAAA,SAAAA,CAAU,IAAWN,GAAAA,CAAA,IACnE,CAAA,IAAA,CAAA,WAAA,CAAA,MAAM,IAAKO,CAAAA,IAAAA,GACf,CAAA,CAAC,EACD,MAAM,IAAA,CAAKA,IAAI,GACnB,CAEcA,CAAAA,CAAAA,IAAAA,EAAI,QAAAP,GAAA,CAAA,IAAA,CAAA,IAAA,CAAA,WAAA,CACd,IAAWQ,IAAAA,CAAAA,IAAQ,IAAKV,CAAAA,MAAAA,CAAOW,MAAO,CAClC,GAAI,CAACD,CAAAA,CAAKE,SAAW,CAAA,CACjB,KAAKC,GAAIH,CAAAA,CAAI,CACb,CAAA,QACJ,CAEA,GADgB,MAAMP,EAAe,CAAA,IAAA,CAAKL,UAAWgB,CAAAA,kBAAAA,CAAmBJ,CAAKE,CAAAA,SAAS,CAAC,CAC1E,CAAA,CACT,MAAM,IAAA,CAAKC,GAAIH,CAAAA,CAAI,EACnB,QACJ,CACA,IAAKK,CAAAA,MAAAA,CAAOL,CAAI,EACpB,CACJ,CAEcG,CAAAA,CAAAA,GAAAA,CAAIH,CAAiB,CAAA,CAAA,OAAAR,GAAA,CAAA,IAAA,CAAA,IAAA,CAAA,WAAA,CAC/B,MAAM,IAAKH,CAAAA,aAAAA,CAAciB,QAASN,CAAAA,CAAAA,CAAKO,EAAIP,CAAAA,CAAAA,CAAKQ,OAAO,EAC3D,CAAA,CAAA,CAEQH,MAAOL,CAAAA,CAAAA,CAAiB,CAC5B,IAAA,CAAKX,cAAcoB,WAAYT,CAAAA,CAAAA,CAAKO,EAAE,EAC1C,CArCStB,CAAAA,CAAAA,CAAAA,CAAAA,SAAAA,CAAAA,SAAAA,CAAAA,CAAAA,CAAAA,OAAAA,IAAAA,CAAAA,EAAAA,CAAAA,EAA4BV,GAAAmC,EAAA,CAAA,CAAAnC,EAAAoC,CAAAA,EAAA,CAAApC,CAAAA,EAAAA,CAAAqC,EAAA,CAAArC,CAAAA,EAAAA,CAAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAAI,CAAA,CAAA,CAAA,KAAA,CAA5Bc,EAA4Bb,OAA5Ba,CAAAA,CAAAA,CAA4B4B,SAAA,CAAA,CAAnC,CAAA,IAAO5B,EAAP6B,CAAO7B,CAAAA,OAAAA,CAA4B,CAAA,GAAA,CCJnC,SAAU8B,CAAAA,EAAO,CACnB,OAAO,CAACC,EAAAA,CAAiB/B,CAA4B,CAAC,CAC1D"}