{"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,SAAY,SAAS;AAEvE,SAAgB,iBAAiB,IAAa;CAC5C,MAAM,KAAK,SAAS,cAAc,MAAM;AACxC,KAAI,OAAO,OACT,IAAG,aAAa,MAAM,GAAG;AAG3B,KAAI,QAAQ;AACV,SAAO,YAAY,GAAG;AACtB,cAAY,KAAK,GAAG;;AAGtB,QAAO;;AAGT,SAAgB,iBAAiB,IAAiB;AAChD,aAAY,OAAO,YAAY,QAAQ,GAAG,EAAE,EAAE;AAC9C,IAAG,QAAQ;;AAGb,SAAgB,wBAAwB,IAAiB;AACvD,KAAI,OAAO,OAAQ;AAEnB,UAAS;AACT,aAAY,SAAS,OAAO;AAC1B,MAAI,UAAU,CAAC,GAAG,SAAS,OAAO,CAChC,QAAO,YAAY,GAAG;GAExB"}