UNPKG

usehooks-ts

Version:

React hook library, ready to use, written in Typescript.

19 lines 860 B
import { useLocalStorage } from '../useLocalStorage'; import { useMediaQuery } from '../useMediaQuery'; import { useUpdateEffect } from '..'; var COLOR_SCHEME_QUERY = '(prefers-color-scheme: dark)'; function useDarkMode(defaultValue) { var isDarkOS = useMediaQuery(COLOR_SCHEME_QUERY); var _a = useLocalStorage('darkMode', defaultValue !== null && defaultValue !== void 0 ? defaultValue : false), isDarkMode = _a[0], setDarkMode = _a[1]; useUpdateEffect(function () { setDarkMode(isDarkOS); }, [isDarkOS]); return { isDarkMode: isDarkMode, toggle: function () { return setDarkMode(function (prev) { return !prev; }); }, enable: function () { return setDarkMode(true); }, disable: function () { return setDarkMode(false); }, }; } export default useDarkMode; //# sourceMappingURL=useDarkMode.js.map