UNPKG

@dvcol/common-utils

Version:

Typescript library for common utility functions and constants

24 lines (22 loc) 818 B
// 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) }); export { isDarkTheme, isLightTheme, watchTheme, watchDarkThemeDisposable };