element-plus
Version:
A Component Library for Vue 3
1 lines • 2.47 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-popper-container/index.ts"],"sourcesContent":["import { computed, onBeforeMount } from 'vue'\nimport { isClient } from '@element-plus/utils'\nimport { useGetDerivedNamespace } from '../use-namespace'\nimport { useIdInjection } from '../use-id'\n\nexport const usePopperContainerId = () => {\n const namespace = useGetDerivedNamespace()\n const idInjection = useIdInjection()\n\n const id = computed(() => {\n return `${namespace.value}-popper-container-${idInjection.prefix}`\n })\n const selector = computed(() => `#${id.value}`)\n\n return {\n id,\n selector,\n }\n}\n\nconst createContainer = (id: string) => {\n const container = document.createElement('div')\n container.id = id\n document.body.appendChild(container)\n return container\n}\n\nexport const usePopperContainer = () => {\n const { id, selector } = usePopperContainerId()\n onBeforeMount(() => {\n if (!isClient) return\n\n // This is for bypassing the error that when under testing env, we often encounter\n // document.body.innerHTML = '' situation\n // for this we need to disable the caching since it's not really needed\n if (\n process.env.NODE_ENV === 'test' ||\n !document.body.querySelector(selector.value)\n ) {\n createContainer(id.value)\n }\n })\n\n return {\n id,\n selector,\n }\n}\n"],"names":[],"mappings":";;;;;AAKO,MAAM,uBAAuB,MAAM;AACxC,EAAA,MAAM,YAAY,sBAAuB,EAAA,CAAA;AACzC,EAAA,MAAM,cAAc,cAAe,EAAA,CAAA;AAEnC,EAAM,MAAA,EAAA,GAAK,SAAS,MAAM;AACxB,IAAO,OAAA,CAAA,EAAG,SAAU,CAAA,KAAA,CAAA,kBAAA,EAA0B,WAAY,CAAA,MAAA,CAAA,CAAA,CAAA;AAAA,GAC3D,CAAA,CAAA;AACD,EAAA,MAAM,QAAW,GAAA,QAAA,CAAS,MAAM,CAAA,CAAA,EAAI,GAAG,KAAO,CAAA,CAAA,CAAA,CAAA;AAE9C,EAAO,OAAA;AAAA,IACL,EAAA;AAAA,IACA,QAAA;AAAA,GACF,CAAA;AACF,EAAA;AAEA,MAAM,eAAA,GAAkB,CAAC,EAAe,KAAA;AACtC,EAAM,MAAA,SAAA,GAAY,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAC9C,EAAA,SAAA,CAAU,EAAK,GAAA,EAAA,CAAA;AACf,EAAS,QAAA,CAAA,IAAA,CAAK,YAAY,SAAS,CAAA,CAAA;AACnC,EAAO,OAAA,SAAA,CAAA;AACT,CAAA,CAAA;AAEO,MAAM,qBAAqB,MAAM;AACtC,EAAA,MAAM,EAAE,EAAA,EAAI,QAAS,EAAA,GAAI,oBAAqB,EAAA,CAAA;AAC9C,EAAA,aAAA,CAAc,MAAM;AAClB,IAAA,IAAI,CAAC,QAAA;AAAU,MAAA,OAAA;AAKf,IACE,IAAA,OAAA,CAAQ,GAAI,CAAA,QAAA,KAAa,MACzB,IAAA,CAAC,SAAS,IAAK,CAAA,aAAA,CAAc,QAAS,CAAA,KAAK,CAC3C,EAAA;AACA,MAAA,eAAA,CAAgB,GAAG,KAAK,CAAA,CAAA;AAAA,KAC1B;AAAA,GACD,CAAA,CAAA;AAED,EAAO,OAAA;AAAA,IACL,EAAA;AAAA,IACA,QAAA;AAAA,GACF,CAAA;AACF;;;;"}