UNPKG

@opensig/opendesign

Version:

<p align="center"><img src="../docs/public/opendesign-logo-light.png"/></p> <h1 align="center">opendesign</h1> <p align="center">一个 Vue 3 组件库</p> <p align="center"><b>皮肤可定制,使用 TypeScript</b></p>

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