@taiga-ui/addon-doc
Version:
Taiga UI based library for developing documentation portals for Angular libraries.
1 lines • 3.56 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({\n providedIn: 'root',\n})\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,0BAA0B;AAEpE;;AAEG;AACI,MAAM,kBAAkB,GAAG,kBAAkB;AAEpD;;AAEG;AACU,MAAA,cAAc,GAAG,IAAI,cAAc,CAAC,SAAS,GAAG,gBAAgB,GAAG,EAAE,EAAE;AAChF,IAAA,OAAO,EAAE,iBAAiB;AAC7B,CAAA,EAAE;AAEH;;AAEG;AACH,MAGa,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,CAAC;AAVW,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACnC,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;KAUjD;AAEe,IAAA,IAAI,CAAC,IAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9C,QAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACpB;IAEM,MAAM,GAAA;QACT,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1B;+GArBQ,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;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,cAFnB,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAET,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;AAyBD,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,CAAC;IAE3B,QACI,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,KAAK,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,QAAQ,CAAC,EAClF;AACN;;AC7DA;;AAEG;;;;"}