{"version":3,"file":"chunk-bzbcdyyi.js","sources":["packages/vanilla/lib/shared/dark-mode/src/dark-mode.service.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\n\nimport { CookieName, CookieService, PERMANENT_COOKIE_EXPIRATION, WINDOW } from '@frontend/vanilla/core';\n\nconst DisabledCookieValue: string = '0';\nconst EnabledCookieValueOldDesktop: string = '1';\nconst EnabledCookieValue: string = '2';\n\n/**\n * @whatItDoes Allows toggling of dark mode and check if feature is enabled.\n *\n * @stable\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DarkModeService {\n private _isEnabled = this.getIsEnabled();\n\n get isEnabled(): boolean {\n return this._isEnabled;\n }\n readonly #window = inject(WINDOW);\n\n constructor(private cookieService: CookieService) {}\n\n toggle() {\n this.writeCookie(this._isEnabled ? DisabledCookieValue : EnabledCookieValue);\n this._isEnabled = this.getIsEnabled();\n this.#window.location.reload();\n }\n\n private writeCookie(value: string) {\n this.cookieService.putRaw(CookieName.DarkMode, value, { expires: PERMANENT_COOKIE_EXPIRATION });\n }\n\n private getIsEnabled(): boolean {\n const value = this.cookieService.get(CookieName.DarkMode);\n\n return value === EnabledCookieValue || value === EnabledCookieValueOldDesktop;\n }\n}\n"],"names":["DisabledCookieValue","EnabledCookieValueOldDesktop","EnabledCookieValue","DarkModeService","_window","constructor","cookieService","__privateAdd","_isEnabled","getIsEnabled","__privateSet","inject","WINDOW","isEnabled","toggle","writeCookie","__privateGet","location","reload","value","putRaw","CookieName","DarkMode","expires","PERMANENT_COOKIE_EXPIRATION","get","ɵɵinject","CookieService","factory","ɵfac","providedIn","_DarkModeService"],"mappings":"sIAIMA,IAAAA,CAAAA,CAA8B,GAC9BC,CAAAA,CAAAA,CAAuC,GACvCC,CAAAA,CAAAA,CAA6B,GAUtBC,CAAAA,CAAAA,CAAAA,CAAe,IAAA,CAhB5B,IAAAC,CAAAA,CAgBM,IAAOD,CAAAA,CAAP,MAAOA,CAAe,CAQxBE,WAAoBC,CAAAA,CAAAA,CAA4B,CAFvCC,CAAAA,CAAA,IAAAH,CAAAA,CAAAA,CAAAA,CAEW,IAAAE,CAAAA,aAAAA,CAAAA,CAPZ,CAAA,IAAA,CAAAE,UAAa,CAAA,IAAA,CAAKC,cAKjBC,CAAAA,CAAAA,CAAA,IAAAN,CAAAA,CAAAA,CAAUO,CAAOC,CAAAA,CAAM,CAEmB,EAAA,CALnD,IAAIC,SAAAA,EAAS,CACT,OAAO,IAAKL,CAAAA,UAChB,CAKAM,MAAM,EAAA,CACF,IAAKC,CAAAA,WAAAA,CAAY,IAAKP,CAAAA,UAAAA,CAAaR,CAAsBE,CAAAA,CAAkB,CAC3E,CAAA,IAAA,CAAKM,UAAa,CAAA,IAAA,CAAKC,YAAY,EAAA,CACnCO,EAAA,IAAKZ,CAAAA,CAAAA,CAAAA,CAAQa,QAASC,CAAAA,MAAAA,GAC1B,CAEQH,WAAYI,CAAAA,CAAAA,CAAa,CAC7B,IAAA,CAAKb,aAAcc,CAAAA,MAAAA,CAAOC,CAAWC,CAAAA,QAAAA,CAAUH,EAAO,CAAEI,OAAAA,CAASC,EAA2B,CAAE,EAClG,CAEQf,YAAY,EAAA,CAChB,IAAMU,CAAAA,CAAQ,IAAKb,CAAAA,aAAAA,CAAcmB,GAAIJ,CAAAA,CAAAA,CAAWC,QAAQ,CAExD,CAAA,OAAOH,CAAUjB,GAAAA,CAAAA,EAAsBiB,CAAUlB,GAAAA,CACrD,CAlBSG,CAAAA,CAAAA,CAAAA,CAAA,IANAD,OAAAA,CAAAA,CAAAA,CAAAA,SAAAA,CAAAA,SAAAA,CAAAA,CAAAA,CAAAA,OAAAA,IAAAA,CAAAA,EAAAA,CAAAA,EAAeuB,EAAAC,CAAAA,CAAA,CAAA,CAAA,wBAAfxB,CAAeyB,CAAAA,OAAAA,CAAfzB,CAAe0B,CAAAA,SAAAA,CAAAC,UAFZ,CAAA,MAAM,CAAA,CAAA,CAEhB,IAAO3B,CAAAA,CAAP4B,CAAO5B,CAAAA,OAAAA,CAAe,CAAA"}