UNPKG

@opensig/opendesign

Version:

23 lines (22 loc) 625 B
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const is = require("../_utils/is.js"); const vue = require("vue"); const THEME_KEY = "__theme__"; const rootTheme = vue.ref(""); vue.watch(rootTheme, (newTheme) => { document.documentElement.dataset.oTheme = newTheme; localStorage.setItem(THEME_KEY, newTheme); }); function useTheme(defaultTheme = "light") { if (!is.isClient) { return { theme: rootTheme }; } rootTheme.value = rootTheme.value || localStorage.getItem(THEME_KEY) || defaultTheme; return { theme: rootTheme }; } exports.useTheme = useTheme;