UNPKG

usehooks-ts

Version:

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

21 lines 982 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var useLocalStorage_1 = require("../useLocalStorage"); var useMediaQuery_1 = require("../useMediaQuery"); var __1 = require(".."); var COLOR_SCHEME_QUERY = '(prefers-color-scheme: dark)'; function useDarkMode(defaultValue) { var isDarkOS = (0, useMediaQuery_1.useMediaQuery)(COLOR_SCHEME_QUERY); var _a = (0, useLocalStorage_1.useLocalStorage)('darkMode', defaultValue !== null && defaultValue !== void 0 ? defaultValue : false), isDarkMode = _a[0], setDarkMode = _a[1]; (0, __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); }, }; } exports.default = useDarkMode; //# sourceMappingURL=useDarkMode.js.map