@dvcol/common-utils
Version:
Typescript library for common utility functions and constants
24 lines (17 loc) • 978 B
JavaScript
;Object.defineProperty(exports, "__esModule", {value: true});// lib/common/utils/window.utils.ts
var isDarkTheme = () => window.matchMedia("(prefers-color-scheme: dark").matches;
var isLightTheme = () => window.matchMedia("(prefers-color-scheme: light").matches;
var watchTheme = (callback, watched = "dark") => {
const mql = window.matchMedia(`(prefers-color-scheme: ${watched}`);
const other = watched === "dark" ? "light" : "dark";
const listener = (event) => {
if (event.matches) return callback(watched, event);
return callback(other, event);
};
mql.addEventListener("change", listener);
return () => mql.removeEventListener("change", listener);
};
var watchDarkThemeDisposable = (callback, watched = "dark") => ({
[Symbol.dispose]: watchTheme(callback, watched)
});
exports.isDarkTheme = isDarkTheme; exports.isLightTheme = isLightTheme; exports.watchTheme = watchTheme; exports.watchDarkThemeDisposable = watchDarkThemeDisposable;