UNPKG

apexcharts

Version:

A JavaScript Chart Library

6 lines (5 loc) 2.05 kB
/*! * ApexCharts v6.6.1 * (c) 2018-2026 ApexCharts */ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("apexcharts/core");function t(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const r in e)if("default"!==r){const s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:()=>e[r]})}return t.default=e,Object.freeze(t)}const r=t(e),s=r.__apex_Environment_Environment,o=r.__apex_BrowserAPIs_BrowserAPIs;class n{constructor(e,t){if(this.w=e,this.ctx=t,"os"!==e.config.theme.follow||!s.isBrowser())return;const r=this._ensureMedia();r&&(this._applyToConfig(r),this._ensureListeners(r))}_ensureMedia(){if(!this.ctx._osThemeMedia){const e=o.matchMedia("(prefers-color-scheme: dark)"),t=o.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,r=()=>{const e=t._osThemeMedia;if(!e)return;const r={mode:e.dark&&e.dark.matches?"dark":"light"};e.contrast&&e.contrast.matches?r.accessibility={colorBlindMode:"highContrast"}:r.accessibility={colorBlindMode:""},t.updateOptions({theme:r},!1,!0,!1)};n._add(e.dark,r),n._add(e.contrast,r),e.handler=r}teardown(){const e=this.ctx._osThemeMedia;e&&(e.handler&&(n._remove(e.dark,e.handler),n._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))}}e.registerFeatures({osThemeWatcher:n}),exports.default=e;