@taiga-ui/addon-doc
Version:
Taiga UI based library for developing documentation portals for Angular libraries.
1 lines • 3.45 kB
Source Map (JSON)
{"version":3,"file":"taiga-ui-addon-doc-services.mjs","sources":["../../../projects/addon-doc/services/theme-dark.service.ts","../../../projects/addon-doc/services/taiga-ui-addon-doc-services.ts"],"sourcesContent":["import {inject, Injectable, InjectionToken} from '@angular/core';\nimport {WA_LOCAL_STORAGE, WA_WINDOW} from '@ng-web-apis/common';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {TUI_DARK_MODE_DEFAULT_KEY, TUI_DARK_MODE_KEY} from '@taiga-ui/core/tokens';\nimport {BehaviorSubject} from 'rxjs';\n\n/**\n * @deprecated use {@link TUI_DARK_THEME} instead\n */\nexport const TUI_DARK_THEME_DEFAULT_KEY = TUI_DARK_MODE_DEFAULT_KEY;\n\n/**\n * @deprecated use {@link TUI_DARK_THEME} instead\n */\nexport const TUI_DARK_THEME_KEY = TUI_DARK_MODE_KEY;\n\n/**\n * @deprecated use {@link TUI_DARK_THEME} instead\n */\nexport const TUI_DARK_THEME = new InjectionToken(ngDevMode ? 'TUI_DARK_THEME' : '', {\n factory: TUI_FALSE_HANDLER,\n});\n\n/**\n * @deprecated use {@link TUI_DARK_THEME} instead\n */\n@Injectable({providedIn: 'root'})\nexport class TuiDocThemeDarkService extends BehaviorSubject<boolean> {\n private readonly storage = inject(WA_LOCAL_STORAGE);\n private readonly key = inject(TUI_DARK_THEME_KEY);\n\n constructor() {\n super(\n isDark(\n inject(WA_LOCAL_STORAGE),\n inject(TUI_DARK_THEME_KEY),\n inject(WA_WINDOW),\n ),\n );\n }\n\n public override next(dark: boolean): void {\n this.storage?.setItem(this.key, String(dark));\n super.next(dark);\n }\n\n public toggle(): void {\n this.next(!this.value);\n }\n}\n\nfunction isDark(storage: Storage | null, key: string, window: Window): boolean {\n const fallback =\n window.matchMedia('(prefers-color-scheme: dark)').matches ||\n inject(TUI_DARK_THEME);\n\n return (\n storage?.getItem(key) === 'true' || (storage?.getItem(key) === null && fallback)\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAMA;;AAEG;AACI,MAAM,0BAA0B,GAAG;AAE1C;;AAEG;AACI,MAAM,kBAAkB,GAAG;AAElC;;AAEG;AACI,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,SAAS,GAAG,gBAAgB,GAAG,EAAE,EAAE;AAChF,IAAA,OAAO,EAAE,iBAAiB;AAC7B,CAAA;AAED;;AAEG;AAEG,MAAO,sBAAuB,SAAQ,eAAwB,CAAA;AAIhE,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,CACD,MAAM,CACF,MAAM,CAAC,gBAAgB,CAAC,EACxB,MAAM,CAAC,kBAAkB,CAAC,EAC1B,MAAM,CAAC,SAAS,CAAC,CACpB,CACJ;AAVY,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAClC,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,kBAAkB,CAAC;IAUjD;AAEgB,IAAA,IAAI,CAAC,IAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7C,QAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;IACpB;IAEO,MAAM,GAAA;QACT,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAC1B;+GArBS,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cADV,MAAM,EAAA,CAAA,CAAA;;4FAClB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC;;AAyBhC,SAAS,MAAM,CAAC,OAAuB,EAAE,GAAW,EAAE,MAAc,EAAA;IAChE,MAAM,QAAQ,GACV,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO;QACzD,MAAM,CAAC,cAAc,CAAC;IAE1B,QACI,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,KAAK,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,QAAQ,CAAC;AAExF;;AC3DA;;AAEG;;;;"}