UNPKG

@vuesax-alpha/nightly

Version:
1 lines 2.7 kB
{"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-popper-container/index.ts"],"sourcesContent":["import { computed, onBeforeMount } from 'vue'\nimport { isClient } from '@vuesax-alpha/utils'\nimport { useGlobalConfig } from '../use-global-config'\nimport { defaultNamespace } from '../use-namespace'\nimport { useIdInjection } from '../use-id'\n\nlet cachedContainer: HTMLElement\n\nexport const usePopperContainerId = () => {\n const namespace = useGlobalConfig('namespace', defaultNamespace)\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\nexport const 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 (!cachedContainer && !document.body.querySelector(selector.value))\n ) {\n cachedContainer = createContainer(id.value)\n }\n })\n\n return {\n id,\n selector,\n }\n}\n"],"names":[],"mappings":";;;;;;;AAMA,IAAI,eAAA,CAAA;AAEG,MAAM,uBAAuB,MAAM;AACxC,EAAM,MAAA,SAAA,GAAY,eAAgB,CAAA,WAAA,EAAa,gBAAgB,CAAA,CAAA;AAC/D,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,MAAA,eAAA,GAAkB,CAAC,EAAe,KAAA;AAC7C,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,EAAA;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,IAAA,IACE,OAAQ,CAAA,GAAA,CAAI,QAAa,KAAA,MAAA,IACxB,CAAC,eAAA,IAAmB,CAAC,QAAA,CAAS,IAAK,CAAA,aAAA,CAAc,QAAS,CAAA,KAAK,CAChE,EAAA;AACA,MAAkB,eAAA,GAAA,eAAA,CAAgB,GAAG,KAAK,CAAA,CAAA;AAAA,KAC5C;AAAA,GACD,CAAA,CAAA;AAED,EAAO,OAAA;AAAA,IACL,EAAA;AAAA,IACA,QAAA;AAAA,GACF,CAAA;AACF;;;;"}