{"version":3,"file":"ironsource-fusion-ui-components-fusion-base.mjs","sources":["../../../projects/fusion-ui/components/fusion-base/style-version.enum.ts","../../../projects/fusion-ui/components/fusion-base/fusion-base.ts","../../../projects/fusion-ui/components/fusion-base/ironsource-fusion-ui-components-fusion-base.ts"],"sourcesContent":["export enum StyleVersion {\n    V1 = 1,\n    V2,\n    V3\n}\n\nexport const FUSION_STYLE_VERSION_PREFIX = 'fu-style-v';\nexport const FUSION_STYLE_VERSION_CSS_VAR_NAME = '--fu-style-version';\n","import {AfterViewInit, Directive, ElementRef, Injector, OnDestroy, Renderer2} from '@angular/core';\nimport {FUSION_STYLE_VERSION_CSS_VAR_NAME, FUSION_STYLE_VERSION_PREFIX, StyleVersion} from './style-version.enum';\nimport {BehaviorSubject, Subject} from 'rxjs';\n\n/* eslint-disable @angular-eslint/directive-class-suffix */\n@Directive()\nexport abstract class FusionBase implements AfterViewInit, OnDestroy {\n    onDestroy$ = new Subject<void>();\n\n    styleVersion = StyleVersion;\n    selectedVersion$: BehaviorSubject<StyleVersion> = new BehaviorSubject<StyleVersion>(\n        StyleVersion[Object.values(StyleVersion)[Object.values(StyleVersion).length / 2 - 1]] // take latest from enum\n    );\n\n    get selectedVersion(): StyleVersion {\n        return this.selectedVersion$.getValue();\n    }\n\n    constructor(protected injector: Injector) {}\n\n    ngAfterViewInit() {\n        this.handleStyleVersion();\n    }\n\n    ngOnDestroy() {\n        this.onDestroy$.next();\n        this.onDestroy$.complete();\n    }\n\n    private handleStyleVersion(): void {\n        const element = this.injector.get(ElementRef);\n        const renderer = this.injector.get(Renderer2);\n\n        if (![...element.nativeElement.classList].some(item => item.startsWith(FUSION_STYLE_VERSION_PREFIX))) {\n            let uiSelectedStyleVersion = getComputedStyle(element.nativeElement).getPropertyValue(FUSION_STYLE_VERSION_CSS_VAR_NAME).trim();\n            uiSelectedStyleVersion = uiSelectedStyleVersion ? uiSelectedStyleVersion : this.selectedVersion$.getValue().toString();\n\n            if (StyleVersion[`V${uiSelectedStyleVersion}`] !== this.selectedVersion$.getValue()) {\n                setTimeout(() => {\n                    this.selectedVersion$.next(StyleVersion[`V${uiSelectedStyleVersion}`]);\n                });\n            }\n\n            renderer.addClass(element.nativeElement, FUSION_STYLE_VERSION_PREFIX + uiSelectedStyleVersion);\n        }\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;IAAY,aAIX;AAJD,CAAA,UAAY,YAAY,EAAA;AACpB,IAAA,YAAA,CAAA,YAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,GAAA,IAAM,CAAA;AACN,IAAA,YAAA,CAAA,YAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,GAAA,IAAE,CAAA;AACF,IAAA,YAAA,CAAA,YAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,GAAA,IAAE,CAAA;AACN,CAAC,EAJW,YAAY,KAAZ,YAAY,GAIvB,EAAA,CAAA,CAAA,CAAA;AAEM,MAAM,2BAA2B,GAAG,aAAa;AACjD,MAAM,iCAAiC,GAAG;;ACHjD;MAEsB,UAAU,CAAA;AAQ5B,IAAA,IAAI,eAAe,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;KAC3C;AAED,IAAA,WAAA,CAAsB,QAAkB,EAAA;QAAlB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AAXxC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,OAAO,EAAQ,CAAC;QAEjC,IAAY,CAAA,YAAA,GAAG,YAAY,CAAC;AAC5B,QAAA,IAAA,CAAA,gBAAgB,GAAkC,IAAI,eAAe,CACjE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SACxF,CAAC;KAM0C;IAE5C,eAAe,GAAA;QACX,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC7B;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;KAC9B;IAEO,kBAAkB,GAAA;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE9C,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC,EAAE;AAClG,YAAA,IAAI,sBAAsB,GAAG,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,gBAAgB,CAAC,iCAAiC,CAAC,CAAC,IAAI,EAAE,CAAC;AAChI,YAAA,sBAAsB,GAAG,sBAAsB,GAAG,sBAAsB,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;AAEvH,YAAA,IAAI,YAAY,CAAC,CAAI,CAAA,EAAA,sBAAsB,CAAE,CAAA,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE;gBACjF,UAAU,CAAC,MAAK;AACZ,oBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA,CAAA,EAAI,sBAAsB,CAAA,CAAE,CAAC,CAAC,CAAC;AAC3E,iBAAC,CAAC,CAAC;AACN,aAAA;YAED,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,2BAA2B,GAAG,sBAAsB,CAAC,CAAC;AAClG,SAAA;KACJ;2EAvCiB,UAAU,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,QAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA;oEAAV,UAAU,EAAA,CAAA,CAAA,EAAA;;iFAAV,UAAU,EAAA,CAAA;cAD/B,SAAS;;;ACLV;;AAEG;;;;"}