UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 1.36 kB
{"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"}