import { isClient } from "../../utils/browser.mjs"; import { isNumber } from "../../utils/types.mjs"; import { debugWarn } from "../../utils/error.mjs"; import { computed, getCurrentInstance, inject, ref, unref } from "vue"; //#region ../../packages/hooks/use-z-index/index.ts const initial = { current: 0 }; const zIndex = ref(0); const defaultInitialZIndex = 2e3; const ZINDEX_INJECTION_KEY = Symbol("elZIndexContextKey"); const zIndexContextKey = Symbol("zIndexContextKey"); const useZIndex = (zIndexOverrides) => { const increasingInjection = getCurrentInstance() ? inject(ZINDEX_INJECTION_KEY, initial) : initial; const zIndexInjection = zIndexOverrides || (getCurrentInstance() ? inject(zIndexContextKey, void 0) : void 0); const initialZIndex = computed(() => { const zIndexFromInjection = unref(zIndexInjection); return isNumber(zIndexFromInjection) ? zIndexFromInjection : defaultInitialZIndex; }); const currentZIndex = computed(() => initialZIndex.value + zIndex.value); const nextZIndex = () => { increasingInjection.current++; zIndex.value = increasingInjection.current; return currentZIndex.value; }; if (!isClient && !inject(ZINDEX_INJECTION_KEY)) debugWarn("ZIndexInjection", `Looks like you are using server rendering, you must provide a z-index provider to ensure the hydration process to be succeed usage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`); return { initialZIndex, currentZIndex, nextZIndex }; }; //#endregion export { ZINDEX_INJECTION_KEY, defaultInitialZIndex, useZIndex, zIndexContextKey }; //# sourceMappingURL=index.mjs.map