UNPKG

@nullpixel/ui

Version:

A UI Library for Modern Web Apps, powered by Vue & Tailwind CSS.

66 lines (65 loc) 1.63 kB
import { ref } from "vue"; import appConfig from "#build/app.config"; import { useColorMode as useColorModeVueUse } from "@vueuse/core"; export { useHead } from "@unhead/vue"; export { useRoute, useRouter } from "vue-router"; export { defineShortcuts } from "../composables/defineShortcuts.js"; export { defineLocale } from "../composables/defineLocale.js"; export { useLocale } from "../composables/useLocale.js"; export const useColorMode = () => { if (!appConfig.colorMode) { return { forced: true }; } const { store, system } = useColorModeVueUse(); return { get preference() { return store.value === "auto" ? "system" : store.value; }, set preference(value) { store.value = value === "system" ? "auto" : value; }, get value() { return store.value === "auto" ? system.value : store.value; }, forced: false }; }; export const useAppConfig = () => appConfig; export const useCookie = (_name, _options = {}) => { const value = ref(null); return { value, get: () => value.value, set: () => { }, update: () => { }, refresh: () => Promise.resolve(value.value), remove: () => { } }; }; const state = {}; export const useState = (key, init) => { if (state[key]) { return state[key]; } const value = ref(init()); state[key] = value; return value; }; export function useNuxtApp() { return { isHydrating: true, payload: { serverRendered: false } }; } export function defineNuxtPlugin(plugin) { return { install(app) { app.runWithContext(() => plugin({ vueApp: app })); } }; }