{"version":3,"file":"index.js","sources":["../../../../../packages/hooks/use-popper-container/index.ts"],"sourcesContent":["import { onBeforeMount } from 'vue'\nimport { isClient } from '@vueuse/core'\nimport { generateId } from '@element-plus/utils'\nimport { useGlobalConfig } from '../use-global-config'\nimport { defaultNamespace } from '../use-namespace'\n\nlet cachedContainer: HTMLElement\n\nconst namespace = useGlobalConfig('namespace', defaultNamespace)\n\nexport const POPPER_CONTAINER_ID = `${\n namespace.value\n}-popper-container-${generateId()}`\n\nexport const POPPER_CONTAINER_SELECTOR = `#${POPPER_CONTAINER_ID}`\n\nconst createContainer = () => {\n const container = document.createElement('div')\n container.id = POPPER_CONTAINER_ID\n document.body.appendChild(container)\n return container\n}\n\nexport const usePopperContainer = () => {\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 ||\n !document.body.querySelector(POPPER_CONTAINER_SELECTOR)\n ) {\n cachedContainer = createContainer()\n }\n })\n}\n"],"names":["useGlobalConfig","defaultNamespace","generateId","onBeforeMount","isClient"],"mappings":";;;;;;;;;;;AAKA,IAAI,eAAe,CAAC;AACpB,MAAM,SAAS,GAAGA,qBAAe,CAAC,WAAW,EAAEC,wBAAgB,CAAC,CAAC;AACrD,MAAC,mBAAmB,GAAG,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,kBAAkB,EAAEC,eAAU,EAAE,CAAC,EAAE;AAC7E,MAAC,yBAAyB,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE;AACnE,MAAM,eAAe,GAAG,MAAM;AAC9B,EAAE,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAClD,EAAE,SAAS,CAAC,EAAE,GAAG,mBAAmB,CAAC;AACrC,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AACvC,EAAE,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AACU,MAAC,kBAAkB,GAAG,MAAM;AACxC,EAAEC,iBAAa,CAAC,MAAM;AACtB,IAAI,IAAI,CAACC,aAAQ;AACjB,MAAM,OAAO;AACb,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,eAAe,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,EAAE;AACxH,MAAM,eAAe,GAAG,eAAe,EAAE,CAAC;AAC1C,KAAK;AACL,GAAG,CAAC,CAAC;AACL;;;;;;"}