1 line
2.9 KiB
Plaintext
1 line
2.9 KiB
Plaintext
{"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-z-index/index.ts"],"sourcesContent":["import { computed, getCurrentInstance, inject, ref, unref } from 'vue'\nimport { debugWarn, isClient, isNumber } from '@element-plus/utils'\n\nimport type { InjectionKey, Ref } from 'vue'\n\nexport interface ElZIndexInjectionContext {\n current: number\n}\n\nconst initial: ElZIndexInjectionContext = {\n current: 0,\n}\n\nconst zIndex = ref(0)\n\nexport const defaultInitialZIndex = 2000\n\n// For SSR\nexport const ZINDEX_INJECTION_KEY: InjectionKey<ElZIndexInjectionContext> =\n Symbol('elZIndexContextKey')\n\nexport const zIndexContextKey: InjectionKey<Ref<number | undefined>> =\n Symbol('zIndexContextKey')\n\nexport const useZIndex = (zIndexOverrides?: Ref<number>) => {\n const increasingInjection = getCurrentInstance()\n ? inject(ZINDEX_INJECTION_KEY, initial)\n : initial\n\n const zIndexInjection =\n zIndexOverrides ||\n (getCurrentInstance() ? inject(zIndexContextKey, undefined) : undefined)\n\n const initialZIndex = computed(() => {\n const zIndexFromInjection = unref(zIndexInjection)\n return isNumber(zIndexFromInjection)\n ? zIndexFromInjection\n : defaultInitialZIndex\n })\n\n const currentZIndex = computed(() => initialZIndex.value + zIndex.value)\n\n const nextZIndex = () => {\n increasingInjection.current++\n zIndex.value = increasingInjection.current\n return currentZIndex.value\n }\n\n if (!isClient && !inject(ZINDEX_INJECTION_KEY)) {\n debugWarn(\n 'ZIndexInjection',\n `Looks like you are using server rendering, you must provide a z-index provider to ensure the hydration process to be succeed\nusage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`\n )\n }\n\n return {\n initialZIndex,\n currentZIndex,\n nextZIndex,\n }\n}\n\nexport type UseZIndexReturn = ReturnType<typeof useZIndex>\n"],"names":[],"mappings":";;;;;AASA,MAAM,OAAA,GAAoC;AAAA,EACxC,OAAA,EAAS;AACX,CAAA;AAEA,MAAM,MAAA,GAAS,IAAI,CAAC,CAAA;AAEb,MAAM,oBAAA,GAAuB;AAG7B,MAAM,oBAAA,0BACJ,oBAAoB;AAEtB,MAAM,gBAAA,0BACJ,kBAAkB;AAEpB,MAAM,SAAA,GAAY,CAAC,eAAA,KAAkC;AAC1D,EAAA,MAAM,sBAAsB,kBAAA,EAAmB,GAC3C,MAAA,CAAO,oBAAA,EAAsB,OAAO,CAAA,GACpC,OAAA;AAEJ,EAAA,MAAM,kBACJ,eAAA,KACC,kBAAA,KAAuB,MAAA,CAAO,gBAAA,EAAkB,MAAS,CAAA,GAAI,MAAA,CAAA;AAEhE,EAAA,MAAM,aAAA,GAAgB,SAAS,MAAM;AACnC,IAAA,MAAM,mBAAA,GAAsB,MAAM,eAAe,CAAA;AACjD,IAAA,OAAO,QAAA,CAAS,mBAAmB,CAAA,GAC/B,mBAAA,GACA,oBAAA;AAAA,EACN,CAAC,CAAA;AAED,EAAA,MAAM,gBAAgB,QAAA,CAAS,MAAM,aAAA,CAAc,KAAA,GAAQ,OAAO,KAAK,CAAA;AAEvE,EAAA,MAAM,aAAa,MAAM;AACvB,IAAA,mBAAA,CAAoB,OAAA,EAAA;AACpB,IAAA,MAAA,CAAO,QAAQ,mBAAA,CAAoB,OAAA;AACnC,IAAA,OAAO,aAAA,CAAc,KAAA;AAAA,EACvB,CAAA;AAEA,EAAA,IAAI,CAAC,QAAA,IAAY,CAAC,MAAA,CAAO,oBAAoB,CAAA,EAAG;AAC9C,IAAA,SAAA;AAAA,MACE,iBAAA;AAAA,MACA,CAAA;AAAA,wDAAA;AAAA,KAEF;AAAA,EACF;AAEA,EAAA,OAAO;AAAA,IACL,aAAA;AAAA,IACA,aAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"} |