1234567891011121314151617181920212223242526272829303132333435363738 |
- import { ref, getCurrentInstance, inject, computed, unref } from 'vue';
- import { isNumber } from '../../utils/types.mjs';
- import { isClient } from '@vueuse/core';
- import { debugWarn } from '../../utils/error.mjs';
- 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
- };
- };
- export { ZINDEX_INJECTION_KEY, defaultInitialZIndex, useZIndex, zIndexContextKey };
- //# sourceMappingURL=index.mjs.map
|