UNPKG

apexcharts

Version:

A JavaScript Chart Library

6 lines (5 loc) 2.04 kB
/*! * ApexCharts v7.0.0 * (c) 2018-2026 ApexCharts */ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ApexFacet={})}(this,function(e){"use strict";const t=globalThis.ApexCharts,s=globalThis.ApexCharts.__internals.__apex_Environment_Environment,n=globalThis.ApexCharts.__internals.__apex_BrowserAPIs_BrowserAPIs;class i{constructor(e,t){if(this.w=e,this.ctx=t,"os"!==e.config.theme.follow||!s.isBrowser())return;const n=this._ensureMedia();n&&(this._applyToConfig(n),this._ensureListeners(n))}_ensureMedia(){if(!this.ctx._osThemeMedia){const e=n.matchMedia("(prefers-color-scheme: dark)"),t=n.matchMedia("(prefers-contrast: more)");if(!e&&!t)return null;this.ctx._osThemeMedia={dark:e,contrast:t,handler:null}}return this.ctx._osThemeMedia}_applyToConfig(e){const t=this.w.config.theme;e.dark&&(t.mode=e.dark.matches?"dark":"light"),e.contrast&&e.contrast.matches&&(t.accessibility=t.accessibility||{},t.accessibility.colorBlindMode="highContrast")}_ensureListeners(e){if(e.handler)return;const t=this.ctx,s=()=>{const e=t._osThemeMedia;if(!e)return;const s={mode:e.dark&&e.dark.matches?"dark":"light"};e.contrast&&e.contrast.matches?s.accessibility={colorBlindMode:"highContrast"}:s.accessibility={colorBlindMode:""},t.updateOptions({theme:s},!1,!0,!1)};i._add(e.dark,s),i._add(e.contrast,s),e.handler=s}teardown(){const e=this.ctx._osThemeMedia;e&&(e.handler&&(i._remove(e.dark,e.handler),i._remove(e.contrast,e.handler)),this.ctx._osThemeMedia=null)}static _add(e,t){e&&("function"==typeof e.addEventListener?e.addEventListener("change",t):"function"==typeof e.addListener&&e.addListener(t))}static _remove(e,t){e&&("function"==typeof e.removeEventListener?e.removeEventListener("change",t):"function"==typeof e.removeListener&&e.removeListener(t))}}t.registerFeatures({osThemeWatcher:i}),e.default=t,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});