{"version":3,"file":"global-node.mjs","names":[],"sources":["../../../../../packages/utils/vue/global-node.ts"],"sourcesContent":["import { isClient } from '../browser'\n\nconst globalNodes: HTMLElement[] = []\nlet target: HTMLElement | undefined = !isClient ? undefined : 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  if (target) {\n    target.appendChild(el)\n    globalNodes.push(el)\n  }\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 (target && !el.contains(target)) {\n      target.appendChild(el)\n    }\n  })\n}\n"],"mappings":";;AAEA,MAAM,cAA6B,EAAE;AACrC,IAAI,SAAkC,CAAC,WAAW,KAAA,IAAY,SAAS;AAEvE,SAAgB,iBAAiB,IAAa;CAC5C,MAAM,KAAK,SAAS,cAAc,MAAM;CACxC,IAAI,OAAO,KAAA,GACT,GAAG,aAAa,MAAM,GAAG;CAG3B,IAAI,QAAQ;EACV,OAAO,YAAY,GAAG;EACtB,YAAY,KAAK,GAAG;;CAGtB,OAAO;;AAGT,SAAgB,iBAAiB,IAAiB;CAChD,YAAY,OAAO,YAAY,QAAQ,GAAG,EAAE,EAAE;CAC9C,GAAG,QAAQ;;AAGb,SAAgB,wBAAwB,IAAiB;CACvD,IAAI,OAAO,QAAQ;CAEnB,SAAS;CACT,YAAY,SAAS,OAAO;EAC1B,IAAI,UAAU,CAAC,GAAG,SAAS,OAAO,EAChC,OAAO,YAAY,GAAG;GAExB"}