{"version":3,"file":"global-node.mjs","sources":["../../../../packages/utils/vue/global-node.ts"],"sourcesContent":["import { isClient } from '@vueuse/core'\n\nconst globalNodes: HTMLElement[] = []\nlet target: HTMLElement = !isClient ? (undefined as any) : document.body\n\nexport function createGlobalNode(id?: string) {\n  const el = document.createElement('div')\n  if (id !== undefined) {\n    el.setAttribute('id', id)\n  }\n\n  target.appendChild(el)\n  globalNodes.push(el)\n\n  return el\n}\n\nexport function removeGlobalNode(el: HTMLElement) {\n  globalNodes.splice(globalNodes.indexOf(el), 1)\n  el.remove()\n}\n\nexport function changeGlobalNodesTarget(el: HTMLElement) {\n  if (el === target) return\n\n  target = el\n  globalNodes.forEach((el) => {\n    if (el.contains(target) === false) {\n      target.appendChild(el)\n    }\n  })\n}\n"],"names":["el"],"mappings":";;AAEA,MAAM,cAA6B,EAAC,CAAA;AACpC,IAAI,MAAsB,GAAA,CAAC,QAAY,GAAA,KAAA,CAAA,GAAoB,QAAS,CAAA,IAAA,CAAA;AAE7D,SAAS,iBAAiB,EAAa,EAAA;AAC5C,EAAM,MAAA,EAAA,GAAK,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AACvC,EAAA,IAAI,OAAO,KAAW,CAAA,EAAA;AACpB,IAAG,EAAA,CAAA,YAAA,CAAa,MAAM,EAAE,CAAA,CAAA;AAAA,GAC1B;AAEA,EAAA,MAAA,CAAO,YAAY,EAAE,CAAA,CAAA;AACrB,EAAA,WAAA,CAAY,KAAK,EAAE,CAAA,CAAA;AAEnB,EAAO,OAAA,EAAA,CAAA;AACT,CAAA;AAEO,SAAS,iBAAiB,EAAiB,EAAA;AAChD,EAAA,WAAA,CAAY,MAAO,CAAA,WAAA,CAAY,OAAQ,CAAA,EAAE,GAAG,CAAC,CAAA,CAAA;AAC7C,EAAA,EAAA,CAAG,MAAO,EAAA,CAAA;AACZ,CAAA;AAEO,SAAS,wBAAwB,EAAiB,EAAA;AACvD,EAAA,IAAI,EAAO,KAAA,MAAA;AAAQ,IAAA,OAAA;AAEnB,EAAS,MAAA,GAAA,EAAA,CAAA;AACT,EAAY,WAAA,CAAA,OAAA,CAAQ,CAACA,GAAO,KAAA;AAC1B,IAAA,IAAIA,GAAG,CAAA,QAAA,CAAS,MAAM,CAAA,KAAM,KAAO,EAAA;AACjC,MAAA,MAAA,CAAO,YAAYA,GAAE,CAAA,CAAA;AAAA,KACvB;AAAA,GACD,CAAA,CAAA;AACH;;;;"}