UNPKG

@bitrix24/b24ui-nuxt

Version:

Bitrix24 UI-Kit for developing web applications REST API for NUXT & VUE

68 lines (67 loc) 1.76 kB
import { ref, onScopeDispose } from "vue"; import { createHooks } from "hookable"; export { useHead } from "@unhead/vue"; export { useAppConfig } from "../composables/useAppConfig.js"; export { defineShortcuts } from "../../composables/defineShortcuts.js"; export { defineLocale } from "../../composables/defineLocale.js"; export { useLocale } from "../../composables/useLocale.js"; export { useConfetti } from "../../composables/useConfetti.js"; export { useOverlay } from "../../composables/useOverlay.js"; export { useColorMode } from "../../composables/color-mode/useColorMode.js"; export const clearError = () => { }; export const useRequestHeader = () => { return void 0; }; export const useCookie = (_name, _options = {}) => { const value = ref(_options?.default?.() ?? null); return { value: value.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; }; const hooks = createHooks(); export function useNuxtApp() { return { isHydrating: true, payload: { serverRendered: import.meta.env.SSR || false }, hooks, hook: hooks.hook }; } export function useRuntimeHook(name, fn) { const nuxtApp = useNuxtApp(); const unregister = nuxtApp.hook(name, fn); onScopeDispose(unregister); } export const useRuntimeConfig = () => { return { app: { baseURL: "/" }, public: {} }; }; export function defineNuxtPlugin(plugin) { return { install(app) { app.runWithContext(() => plugin({ vueApp: app })); } }; }