@nextcloud/vue
Version:
Nextcloud vue components
19 lines (18 loc) • 872 B
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const Vue = require("vue");
const core = require("@vueuse/core");
const Functions_isDarkTheme = require("../Functions/isDarkTheme.cjs");
function useIsDarkThemeElement(el = document.body) {
const isDarkTheme = Vue.ref(Functions_isDarkTheme.checkIfDarkTheme(el));
const isDarkSystemTheme = core.usePreferredDark();
function updateIsDarkTheme() {
isDarkTheme.value = Functions_isDarkTheme.checkIfDarkTheme(el);
}
core.useMutationObserver(el, updateIsDarkTheme, { attributes: true });
Vue.watch(isDarkSystemTheme, updateIsDarkTheme, { immediate: true });
return Vue.readonly(isDarkTheme);
}
const useIsDarkTheme = core.createSharedComposable(() => useIsDarkThemeElement());
exports.useIsDarkTheme = useIsDarkTheme;
exports.useIsDarkThemeElement = useIsDarkThemeElement;