{"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 const 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 const removeGlobalNode = (el: HTMLElement) => {\n  globalNodes.splice(globalNodes.indexOf(el), 1)\n  el.remove()\n}\n\nexport const 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;AAEvD,MAAA,gBAAA,GAAmB,CAAC,EAAgB,KAAA;AAC/C,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,EAAA;AAEa,MAAA,gBAAA,GAAmB,CAAC,EAAoB,KAAA;AACnD,EAAA,WAAA,CAAY,MAAO,CAAA,WAAA,CAAY,OAAQ,CAAA,EAAE,GAAG,CAAC,CAAA,CAAA;AAC7C,EAAA,EAAA,CAAG,MAAO,EAAA,CAAA;AACZ,EAAA;AAEa,MAAA,uBAAA,GAA0B,CAAC,EAAoB,KAAA;AAC1D,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;;;;"}