UNPKG

@dvcol/common-utils

Version:

Typescript library for common utility functions and constants

24 lines (17 loc) 978 B
"use strict";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;