{"version":3,"file":"global-node.mjs","sources":["../../../../../packages/utils/vue/global-node.ts"],"sourcesContent":["import { isClient } from '../browser'\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":["o","n","i","document","body","createGlobalNode","e","t","createElement","setAttribute","appendChild","push","removeGlobalNode","splice","indexOf","remove","changeGlobalNodesTarget","forEach","contains"],"mappings":"+DAAsC,MAAMA,EAAE,GAAG,IAAIC,EAAEC,EAAEC,SAASC,UAAK,EAAc,SAASC,EAAiBC,GAAG,MAAMC,EAAEJ,SAASK,cAAc,OAAO,YAAW,IAAJF,GAAYC,EAAEE,aAAa,KAAKH,GAAGL,EAAES,YAAYH,GAAGP,EAAEW,KAAKJ,GAAGA,CAAC,CAAQ,SAASK,EAAiBN,GAAGN,EAAEa,OAAOb,EAAEc,QAAQR,GAAG,GAAGA,EAAES,QAAQ,CAAQ,SAASC,EAAwBV,GAAGA,IAAIL,IAAIA,EAAEK,EAAEN,EAAEiB,SAAQV,KAAoB,IAAhBA,EAAEW,SAASjB,IAASA,EAAES,YAAYH,MAAK"}