mind-elixir 5.1.1 → 5.2.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2019 DjZhou
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2019 DjZhou
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1,15 +1,14 @@
1
- var MindElixir=function(){"use strict";var xo=Object.defineProperty;var Eo=(G,O,q)=>O in G?xo(G,O,{enumerable:!0,configurable:!0,writable:!0,value:q}):G[O]=q;var ee=(G,O,q)=>(Eo(G,typeof O!="symbol"?O+"":O,q),q);const G="",ue={name:"Latte",type:"light",palette:["#dd7878","#ea76cb","#8839ef","#e64553","#fe640b","#df8e1d","#40a02b","#209fb5","#1e66f5","#7287fd"],cssVar:{"--node-gap-x":"30px","--node-gap-y":"10px","--main-gap-x":"65px","--main-gap-y":"45px","--root-radius":"30px","--main-radius":"20px","--root-color":"#ffffff","--root-bgcolor":"#4c4f69","--root-border-color":"rgba(0, 0, 0, 0)","--main-color":"#444446","--main-bgcolor":"#ffffff","--topic-padding":"3px","--color":"#777777","--bgcolor":"#f6f6f6","--selected":"#4dc4ff","--accent-color":"#e64553","--panel-color":"#444446","--panel-bgcolor":"#ffffff","--panel-border-color":"#eaeaea","--map-padding":"50px"}},fe={name:"Dark",type:"dark",palette:["#848FA0","#748BE9","#D2F9FE","#4145A5","#789AFA","#706CF4","#EF987F","#775DD5","#FCEECF","#DA7FBC"],cssVar:{"--node-gap-x":"30px","--node-gap-y":"10px","--main-gap-x":"65px","--main-gap-y":"45px","--root-radius":"30px","--main-radius":"20px","--root-color":"#ffffff","--root-bgcolor":"#2d3748","--root-border-color":"rgba(255, 255, 255, 0.1)","--main-color":"#ffffff","--main-bgcolor":"#4c4f69","--topic-padding":"3px","--color":"#cccccc","--bgcolor":"#252526","--selected":"#4dc4ff","--accent-color":"#789AFA","--panel-color":"#ffffff","--panel-bgcolor":"#2d3748","--panel-border-color":"#696969","--map-padding":"50px 80px"}};function pe(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/"/g,"&quot;")}const te=function(e,t){if(t.id===e)return t;if(t.children&&t.children.length){for(let n=0;n<t.children.length;n++){const o=te(e,t.children[n]);if(o)return o}return null}else return null},j=(e,t)=>{if(e.parent=t,e.children)for(let n=0;n<e.children.length;n++)j(e.children[n],e)},z=(e,t,n)=>{if(e.expanded=t,e.children)if(n===void 0||n>0){const o=n!==void 0?n-1:void 0;e.children.forEach(i=>{z(i,t,o)})}else e.children.forEach(o=>{z(o,!1)})};function ge(e){if(e.id=F(),e.children)for(let t=0;t<e.children.length;t++)ge(e.children[t])}function ne(e,t,n,o){const i=o-t,s=e-n;let r=Math.atan(Math.abs(i)/Math.abs(s))/3.14*180;if(isNaN(r))return;s<0&&i>0&&(r=180-r),s<0&&i<0&&(r=180+r),s>0&&i<0&&(r=360-r);const c=12,l=30,a=r+l,f=r-l;return{x1:n+Math.cos(Math.PI*a/180)*c,y1:o-Math.sin(Math.PI*a/180)*c,x2:n+Math.cos(Math.PI*f/180)*c,y2:o-Math.sin(Math.PI*f/180)*c}}function F(){return(new Date().getTime().toString(16)+Math.random().toString(16).substr(2)).substr(2,16)}const gt=function(){const e=F();return{topic:this.newTopicName,id:e}};function me(e){return JSON.parse(JSON.stringify(e,(n,o)=>{if(n!=="parent")return o}))}const H=(e,t)=>{let n=0,o=0;for(;t&&t!==e;)n+=t.offsetLeft,o+=t.offsetTop,t=t.offsetParent;return{offsetLeft:n,offsetTop:o}},S=(e,t)=>{for(const n in t)e.setAttribute(n,t[n])},ve=e=>e?e.tagName==="ME-TPC":!1,oe=e=>e.filter(t=>t.nodeObj.parent).filter((t,n,o)=>{for(let i=0;i<o.length;i++){if(t===o[i])continue;const{parent:s}=t.nodeObj;if(s===o[i].nodeObj)return!1}return!0}),Ae=e=>{const t=/translate\(([^,]+),\s*([^)]+)\)/,n=e.match(t);return n?{x:parseFloat(n[1]),y:parseFloat(n[2])}:{x:0,y:0}},ye=function(e){for(let t=0;t<e.length;t++){const{dom:n,evt:o,func:i}=e[t];n.addEventListener(o,i)}return function(){for(let n=0;n<e.length;n++){const{dom:o,evt:i,func:s}=e[n];o.removeEventListener(i,s)}}};var A=(e=>(e.LHS="lhs",e.RHS="rhs",e))(A||{});const mt=e=>{const t=e.map.querySelectorAll(".lhs>me-wrapper>me-parent>me-tpc");e.selectNode(t[Math.ceil(t.length/2)-1])},vt=e=>{const t=e.map.querySelectorAll(".rhs>me-wrapper>me-parent>me-tpc");e.selectNode(t[Math.ceil(t.length/2)-1])},yt=e=>{e.selectNode(e.map.querySelector("me-root>me-tpc"))},bt=function(e,t){const n=t.parentElement.parentElement.parentElement.previousSibling;if(n){const o=n.firstChild;e.selectNode(o)}},wt=function(e,t){const n=t.parentElement.nextSibling;if(n&&n.firstChild){const o=n.firstChild.firstChild.firstChild;e.selectNode(o)}},Me=function(e,t){var s,r;const n=e.currentNode||((s=e.currentNodes)==null?void 0:s[0]);if(!n)return;const o=n.nodeObj,i=n.offsetParent.offsetParent.parentElement;o.parent?i.className===t?wt(e,n):(r=o.parent)!=null&&r.parent?bt(e,n):yt(e):t===A.LHS?mt(e):vt(e)},De=function(e,t){const n=e.currentNode;if(!n||!n.nodeObj.parent)return;const i=t+"Sibling",s=n.parentElement.parentElement[i];s?e.selectNode(s.firstChild.firstChild):e.selectNode(n)},ie=function(e,t,n){const{scaleVal:o,scaleSensitivity:i}=e;switch(t){case"in":e.scale(o+i,n);break;case"out":e.scale(o-i,n)}};function xt(e,t){t=t===!0?{}:t;const n=()=>{e.currentArrow?e.removeArrow():e.currentSummary?e.removeSummary(e.currentSummary.summaryObj.id):e.currentNodes&&e.removeNodes(e.currentNodes)};let o=!1,i=null;const s=c=>{const l=e.nodeData;if(c.key==="0")for(const a of l.children)z(a,!1);if(c.key==="=")for(const a of l.children)z(a,!0);if(["1","2","3","4","5","6","7","8","9"].includes(c.key))for(const a of l.children)z(a,!0,Number(c.key)-1);e.refresh(),e.toCenter(),o=!1,i&&(clearTimeout(i),i=null,e.container.removeEventListener("keydown",s))},r={Enter:c=>{c.shiftKey?e.insertSibling("before"):c.ctrlKey||c.metaKey?e.insertParent():e.insertSibling("after")},Tab:()=>{e.addChild()},F1:()=>{e.toCenter()},F2:()=>{e.beginEdit()},ArrowUp:c=>{if(c.altKey)e.moveUpNode();else{if(c.metaKey||c.ctrlKey)return e.initSide();De(e,"previous")}},ArrowDown:c=>{c.altKey?e.moveDownNode():De(e,"next")},ArrowLeft:c=>{if(c.metaKey||c.ctrlKey)return e.initLeft();Me(e,A.LHS)},ArrowRight:c=>{if(c.metaKey||c.ctrlKey)return e.initRight();Me(e,A.RHS)},PageUp:()=>e.moveUpNode(),PageDown:()=>{e.moveDownNode()},c:c=>{(c.metaKey||c.ctrlKey)&&(e.waitCopy=e.currentNodes)},x:c=>{(c.metaKey||c.ctrlKey)&&(e.waitCopy=e.currentNodes,n())},v:c=>{!e.waitCopy||!e.currentNode||(c.metaKey||c.ctrlKey)&&(e.waitCopy.length===1?e.copyNode(e.waitCopy[0],e.currentNode):e.copyNodes(e.waitCopy,e.currentNode))},"=":c=>{(c.metaKey||c.ctrlKey)&&ie(e,"in")},"-":c=>{(c.metaKey||c.ctrlKey)&&ie(e,"out")},0:c=>{if(c.metaKey||c.ctrlKey){if(o)return;e.scale(1)}},k:c=>{(c.metaKey||c.ctrlKey)&&(o=!0,i&&(clearTimeout(i),e.container.removeEventListener("keydown",s)),i=window.setTimeout(()=>{o=!1,i=null},2e3),e.container.addEventListener("keydown",s))},Delete:n,Backspace:n,...t};e.container.onkeydown=c=>{if(c.preventDefault(),!e.editable)return;const l=r[c.key];l&&l(c)}}function Et(e){const{dragMoveHelper:t}=e,n=u=>{var g,m,y;if(u.button!==0)return;if((g=e.helper1)!=null&&g.moved){e.helper1.clear();return}if((m=e.helper2)!=null&&m.moved){e.helper2.clear();return}if(t.moved){t.clear();return}const h=u.target;if(h.tagName==="ME-EPD")u.ctrlKey||u.metaKey?e.expandNodeAll(h.previousSibling):e.expandNode(h.previousSibling);else if(h.tagName==="ME-TPC"&&e.currentNodes.length>1)e.selectNode(h);else if(!e.editable)return;const p=(y=h.parentElement)==null?void 0:y.parentElement;p.getAttribute("class")==="topiclinks"?e.selectArrow(h.parentElement):p.getAttribute("class")==="summary"&&e.selectSummary(h.parentElement)},o=u=>{var g;if(!e.editable)return;const h=u.target;ve(h)&&e.beginEdit(h);const p=(g=h.parentElement)==null?void 0:g.parentElement;p.getAttribute("class")==="topiclinks"?e.editArrowLabel(h.parentElement):p.getAttribute("class")==="summary"&&e.editSummary(h.parentElement)};let i=0;const s=u=>{if(u.pointerType==="mouse")return;const h=new Date().getTime(),p=h-i;p<300&&p>0&&o(u),i=h},r=u=>{t.moved=!1;const h=e.mouseSelectionButton===0?2:0;if(u.button!==h&&u.pointerType==="mouse")return;t.x=u.clientX,t.y=u.clientY;const p=u.target;p.className!=="circle"&&p.contentEditable!=="plaintext-only"&&(t.mousedown=!0,p.setPointerCapture(u.pointerId))},c=u=>{if(u.target.contentEditable!=="plaintext-only"){const h=u.clientX-t.x,p=u.clientY-t.y;t.onMove(h,p)}t.x=u.clientX,t.y=u.clientY},l=u=>{const h=e.mouseSelectionButton===0?2:0;if(u.button!==h&&u.pointerType==="mouse")return;const p=u.target;p.hasPointerCapture&&p.hasPointerCapture(u.pointerId)&&p.releasePointerCapture(u.pointerId),t.clear()},a=u=>{if(u.preventDefault(),u.button!==2||!e.editable)return;const h=u.target;ve(h)&&!h.classList.contains("selected")&&e.selectNode(h),setTimeout(()=>{e.dragMoveHelper.moved||e.bus.fire("showContextMenu",u)},200)},f=u=>{u.stopPropagation(),u.preventDefault(),u.ctrlKey||u.metaKey?u.deltaY<0?ie(e,"in",e.dragMoveHelper):e.scaleVal-e.scaleSensitivity>0&&ie(e,"out",e.dragMoveHelper):u.shiftKey?e.move(-u.deltaY,0):e.move(-u.deltaX,-u.deltaY)},{container:d}=e;return ye([{dom:d,evt:"pointerdown",func:r},{dom:d,evt:"pointermove",func:c},{dom:d,evt:"pointerup",func:l},{dom:d,evt:"pointerup",func:s},{dom:d,evt:"click",func:n},{dom:d,evt:"dblclick",func:o},{dom:d,evt:"contextmenu",func:a},{dom:d,evt:"wheel",func:typeof e.handleWheel=="function"?e.handleWheel:f}])}function St(){return{handlers:{},addListener:function(e,t){this.handlers[e]===void 0&&(this.handlers[e]=[]),this.handlers[e].push(t)},fire:function(e,...t){if(this.handlers[e]instanceof Array){const n=this.handlers[e];for(let o=0;o<n.length;o++)n[o](...t)}},removeListener:function(e,t){if(!this.handlers[e])return;const n=this.handlers[e];if(!t)n.length=0;else if(n.length)for(let o=0;o<n.length;o++)n[o]===t&&this.handlers[e].splice(o,1)}}}const se=document,Ct=function(){this.nodes.innerHTML="";const e=this.createTopic(this.nodeData);we.call(this,e,this.nodeData),e.draggable=!1;const t=se.createElement("me-root");t.appendChild(e);const n=this.nodeData.children||[];if(this.direction===2){let o=0,i=0;n.map(s=>{s.direction===0?o+=1:s.direction===1?i+=1:o<=i?(s.direction=0,o+=1):(s.direction=1,i+=1)})}Nt(this,n,t)},Nt=function(e,t,n){const o=se.createElement("me-main");o.className=A.LHS;const i=se.createElement("me-main");i.className=A.RHS;for(let s=0;s<t.length;s++){const r=t[s],{grp:c}=e.createWrapper(r);e.direction===2?r.direction===0?o.appendChild(c):i.appendChild(c):e.direction===0?o.appendChild(c):i.appendChild(c)}e.nodes.appendChild(o),e.nodes.appendChild(n),e.nodes.appendChild(i),e.nodes.appendChild(e.lines)},kt=function(e,t){const n=se.createElement("me-children");for(let o=0;o<t.length;o++){const i=t[o],{grp:s}=e.createWrapper(i);n.appendChild(s)}return n};function Pe(e,t){return e?t&&be(e)?t(e):$e(e):""}function be(e){return e?[/\*\*.*?\*\*/,/\*.*?\*/,/__.*?__/,/_.*?_/,/`.*?`/,/\[.*?\]\(.*?\)/,/!\[.*?\]\(.*?\)/,/^#{1,6}\s/,/^>\s/,/^[*\-+]\s/,/^\d+\.\s/,/```[\s\S]*?```/,/~~.*?~~/].some(n=>n.test(e)):!1}function $e(e){const t=document.createElement("div");return t.textContent=e,t.innerHTML}const _=document,Oe=function(e,t){const o=(this!=null&&this.el?this.el:t||document).querySelector(`[data-nodeid="me${e}"]`);if(!o)throw new Error(`FindEle: Node ${e} not found, maybe it's collapsed.`);return o},we=function(e,t){if(e.innerHTML="",t.style){const n=t.style;for(const o in n)e.style[o]=n[o]}if(t.dangerouslySetInnerHTML){e.innerHTML=t.dangerouslySetInnerHTML;return}if(t.image){const n=t.image;if(n.url&&n.width&&n.height){const o=_.createElement("img");o.src=this.imageProxy?this.imageProxy(n.url):n.url,o.style.width=n.width+"px",o.style.height=n.height+"px",n.fit&&(o.style.objectFit=n.fit),e.appendChild(o),e.image=o}}else e.image&&(e.image=void 0);{const n=_.createElement("span");n.className="text",this.markdown&&be(t.topic)?n.innerHTML=Pe(t.topic,this.markdown).trim():n.textContent=t.topic,e.appendChild(n),e.text=n}if(t.hyperLink){const n=_.createElement("a");n.className="hyper-link",n.target="_blank",n.innerText="🔗",n.href=t.hyperLink,e.appendChild(n),e.link=n}else e.link&&(e.link=void 0);if(t.icons&&t.icons.length){const n=_.createElement("span");n.className="icons",n.innerHTML=t.icons.map(o=>`<span>${pe(o)}</span>`).join(""),e.appendChild(n),e.icons=n}else e.icons&&(e.icons=void 0);if(t.tags&&t.tags.length){const n=_.createElement("div");n.className="tags",t.tags.forEach(o=>{const i=_.createElement("span");typeof o=="string"?i.textContent=o:(i.textContent=o.text,o.className&&(i.className=o.className),o.style&&Object.assign(i.style,o.style)),n.appendChild(i)}),e.appendChild(n),e.tags=n}else e.tags&&(e.tags=void 0)},_t=function(e,t){const n=_.createElement("me-wrapper"),{p:o,tpc:i}=this.createParent(e);if(n.appendChild(o),!t&&e.children&&e.children.length>0){const s=xe(e.expanded);if(o.appendChild(s),e.expanded!==!1){const r=kt(this,e.children);n.appendChild(r)}}return{grp:n,top:o,tpc:i}},Tt=function(e){const t=_.createElement("me-parent"),n=this.createTopic(e);return we.call(this,n,e),t.appendChild(n),{p:t,tpc:n}},Lt=function(e){const t=_.createElement("me-children");return t.append(...e),t},At=function(e){const t=_.createElement("me-tpc");return t.nodeObj=e,t.dataset.nodeid="me"+e.id,t.draggable=this.draggable,t};function je(e){const t=_.createRange();t.selectNodeContents(e);const n=window.getSelection();n&&(n.removeAllRanges(),n.addRange(t))}const Mt=function(e){if(!e)return;const t=_.createElement("div"),n=e.nodeObj,o=n.topic;e.appendChild(t),t.id="input-box",t.textContent=o,t.contentEditable="plaintext-only",t.spellcheck=!1;const i=getComputedStyle(e);t.style.cssText=`min-width:${e.offsetWidth-8}px;
1
+ var MindElixir=function(){"use strict";var wo=Object.defineProperty;var xo=(K,O,Y)=>O in K?wo(K,O,{enumerable:!0,configurable:!0,writable:!0,value:Y}):K[O]=Y;var ee=(K,O,Y)=>(xo(K,typeof O!="symbol"?O+"":O,Y),Y);const K="",pe={name:"Latte",type:"light",palette:["#dd7878","#ea76cb","#8839ef","#e64553","#fe640b","#df8e1d","#40a02b","#209fb5","#1e66f5","#7287fd"],cssVar:{"--node-gap-x":"30px","--node-gap-y":"10px","--main-gap-x":"65px","--main-gap-y":"45px","--root-radius":"30px","--main-radius":"20px","--root-color":"#ffffff","--root-bgcolor":"#4c4f69","--root-border-color":"rgba(0, 0, 0, 0)","--main-color":"#444446","--main-bgcolor":"#ffffff","--topic-padding":"3px","--color":"#777777","--bgcolor":"#f6f6f6","--selected":"#4dc4ff","--accent-color":"#e64553","--panel-color":"#444446","--panel-bgcolor":"#ffffff","--panel-border-color":"#eaeaea","--map-padding":"50px"}},ge={name:"Dark",type:"dark",palette:["#848FA0","#748BE9","#D2F9FE","#4145A5","#789AFA","#706CF4","#EF987F","#775DD5","#FCEECF","#DA7FBC"],cssVar:{"--node-gap-x":"30px","--node-gap-y":"10px","--main-gap-x":"65px","--main-gap-y":"45px","--root-radius":"30px","--main-radius":"20px","--root-color":"#ffffff","--root-bgcolor":"#2d3748","--root-border-color":"rgba(255, 255, 255, 0.1)","--main-color":"#ffffff","--main-bgcolor":"#4c4f69","--topic-padding":"3px","--color":"#cccccc","--bgcolor":"#252526","--selected":"#4dc4ff","--accent-color":"#789AFA","--panel-color":"#ffffff","--panel-bgcolor":"#2d3748","--panel-border-color":"#696969","--map-padding":"50px 80px"}};function me(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/"/g,"&quot;")}const te=function(e,t){if(t.id===e)return t;if(t.children&&t.children.length){for(let n=0;n<t.children.length;n++){const o=te(e,t.children[n]);if(o)return o}return null}else return null},$=(e,t)=>{if(e.parent=t,e.children)for(let n=0;n<e.children.length;n++)$(e.children[n],e)},q=(e,t,n)=>{if(e.expanded=t,e.children)if(n===void 0||n>0){const o=n!==void 0?n-1:void 0;e.children.forEach(i=>{q(i,t,o)})}else e.children.forEach(o=>{q(o,!1)})};function ve(e){if(e.id=F(),e.children)for(let t=0;t<e.children.length;t++)ve(e.children[t])}function ne(e,t,n,o){const i=o-t,s=e-n;let r=Math.atan(Math.abs(i)/Math.abs(s))/3.14*180;if(isNaN(r))return;s<0&&i>0&&(r=180-r),s<0&&i<0&&(r=180+r),s>0&&i<0&&(r=360-r);const l=12,c=30,a=r+c,f=r-c;return{x1:n+Math.cos(Math.PI*a/180)*l,y1:o-Math.sin(Math.PI*a/180)*l,x2:n+Math.cos(Math.PI*f/180)*l,y2:o-Math.sin(Math.PI*f/180)*l}}function F(){return(new Date().getTime().toString(16)+Math.random().toString(16).substr(2)).substr(2,16)}const pt=function(){const e=F();return{topic:this.newTopicName,id:e}};function be(e){return JSON.parse(JSON.stringify(e,(n,o)=>{if(n!=="parent")return o}))}const j=(e,t)=>{let n=0,o=0;for(;t&&t!==e;)n+=t.offsetLeft,o+=t.offsetTop,t=t.offsetParent;return{offsetLeft:n,offsetTop:o}},_=(e,t)=>{for(const n in t)e.setAttribute(n,t[n])},ye=e=>e?e.tagName==="ME-TPC":!1,oe=e=>e.filter(t=>t.nodeObj.parent).filter((t,n,o)=>{for(let i=0;i<o.length;i++){if(t===o[i])continue;const{parent:s}=t.nodeObj;if(s===o[i].nodeObj)return!1}return!0}),Me=e=>{const t=/translate\(([^,]+),\s*([^)]+)\)/,n=e.match(t);return n?{x:parseFloat(n[1]),y:parseFloat(n[2])}:{x:0,y:0}},we=function(e){for(let t=0;t<e.length;t++){const{dom:n,evt:o,func:i}=e[t];n.addEventListener(o,i)}return function(){for(let n=0;n<e.length;n++){const{dom:o,evt:i,func:s}=e[n];o.removeEventListener(i,s)}}};var A=(e=>(e.LHS="lhs",e.RHS="rhs",e))(A||{});const gt=e=>{const t=e.map.querySelectorAll(".lhs>me-wrapper>me-parent>me-tpc");e.selectNode(t[Math.ceil(t.length/2)-1])},mt=e=>{const t=e.map.querySelectorAll(".rhs>me-wrapper>me-parent>me-tpc");e.selectNode(t[Math.ceil(t.length/2)-1])},vt=e=>{e.selectNode(e.map.querySelector("me-root>me-tpc"))},bt=function(e,t){const n=t.parentElement.parentElement.parentElement.previousSibling;if(n){const o=n.firstChild;e.selectNode(o)}},yt=function(e,t){const n=t.parentElement.nextSibling;if(n&&n.firstChild){const o=n.firstChild.firstChild.firstChild;e.selectNode(o)}},De=function(e,t){var s,r;const n=e.currentNode||((s=e.currentNodes)==null?void 0:s[0]);if(!n)return;const o=n.nodeObj,i=n.offsetParent.offsetParent.parentElement;o.parent?i.className===t?yt(e,n):(r=o.parent)!=null&&r.parent?bt(e,n):vt(e):t===A.LHS?gt(e):mt(e)},Pe=function(e,t){const n=e.currentNode;if(!n||!n.nodeObj.parent)return;const i=t+"Sibling",s=n.parentElement.parentElement[i];s?e.selectNode(s.firstChild.firstChild):e.selectNode(n)},ie=function(e,t,n){const{scaleVal:o,scaleSensitivity:i}=e;switch(t){case"in":e.scale(o+i,n);break;case"out":e.scale(o-i,n)}};function wt(e,t){t=t===!0?{}:t;const n=()=>{e.currentArrow?e.removeArrow():e.currentSummary?e.removeSummary(e.currentSummary.summaryObj.id):e.currentNodes&&e.removeNodes(e.currentNodes)};let o=!1,i=null;const s=l=>{const c=e.nodeData;if(l.key==="0")for(const a of c.children)q(a,!1);if(l.key==="=")for(const a of c.children)q(a,!0);if(["1","2","3","4","5","6","7","8","9"].includes(l.key))for(const a of c.children)q(a,!0,Number(l.key)-1);e.refresh(),e.toCenter(),o=!1,i&&(clearTimeout(i),i=null,e.container.removeEventListener("keydown",s))},r={Enter:l=>{l.shiftKey?e.insertSibling("before"):l.ctrlKey||l.metaKey?e.insertParent():e.insertSibling("after")},Tab:()=>{e.addChild()},F1:()=>{e.toCenter()},F2:()=>{e.currentSummary?e.editSummary(e.currentSummary):e.currentArrow?e.editArrowLabel(e.currentArrow):e.beginEdit()},ArrowUp:l=>{if(l.altKey)e.moveUpNode();else{if(l.metaKey||l.ctrlKey)return e.initSide();Pe(e,"previous")}},ArrowDown:l=>{l.altKey?e.moveDownNode():Pe(e,"next")},ArrowLeft:l=>{if(l.metaKey||l.ctrlKey)return e.initLeft();De(e,A.LHS)},ArrowRight:l=>{if(l.metaKey||l.ctrlKey)return e.initRight();De(e,A.RHS)},PageUp:()=>e.moveUpNode(),PageDown:()=>{e.moveDownNode()},c:l=>{(l.metaKey||l.ctrlKey)&&(e.waitCopy=e.currentNodes)},x:l=>{(l.metaKey||l.ctrlKey)&&(e.waitCopy=e.currentNodes,n())},v:l=>{!e.waitCopy||!e.currentNode||(l.metaKey||l.ctrlKey)&&(e.waitCopy.length===1?e.copyNode(e.waitCopy[0],e.currentNode):e.copyNodes(e.waitCopy,e.currentNode))},"=":l=>{(l.metaKey||l.ctrlKey)&&ie(e,"in")},"-":l=>{(l.metaKey||l.ctrlKey)&&ie(e,"out")},0:l=>{if(l.metaKey||l.ctrlKey){if(o)return;e.scale(1)}},k:l=>{(l.metaKey||l.ctrlKey)&&(o=!0,i&&(clearTimeout(i),e.container.removeEventListener("keydown",s)),i=window.setTimeout(()=>{o=!1,i=null},2e3),e.container.addEventListener("keydown",s))},Delete:n,Backspace:n,...t};e.container.onkeydown=l=>{if(l.preventDefault(),!e.editable)return;const c=r[l.key];c&&c(l)}}function xt(e){const{dragMoveHelper:t}=e,n=u=>{var b,y;if(u.button!==0)return;if((b=e.helper1)!=null&&b.moved){e.helper1.clear();return}if((y=e.helper2)!=null&&y.moved){e.helper2.clear();return}if(t.moved){t.clear();return}const h=u.target;if(h.tagName==="ME-EPD")u.ctrlKey||u.metaKey?e.expandNodeAll(h.previousSibling):e.expandNode(h.previousSibling);else if(h.tagName==="ME-TPC"&&e.currentNodes.length>1)e.selectNode(h);else if(!e.editable)return;const p=h.closest(".svg-label");if(p&&p.dataset.svgId){const C=document.getElementById(p.dataset.svgId);if(C){const E=C.closest("g");if(E){const x=E.closest(".topiclinks"),w=E.closest(".summary");if(x){e.selectArrow(E);return}else if(w){e.selectSummary(E);return}}}}if(h.closest(".topiclinks")){const C=h.closest("g");if(C){e.selectArrow(C);return}}if(h.closest(".summary")){const C=h.closest("g");if(C){e.selectSummary(C);return}}},o=u=>{if(!e.editable)return;const h=u.target;ye(h)&&e.beginEdit(h);const p=h.closest(".svg-label");if(p&&p.dataset.svgId){const b=document.getElementById(p.dataset.svgId);if(b){const y=b.closest("g");if(y){const C=y.closest(".topiclinks"),E=y.closest(".summary");if(C){e.editArrowLabel(y);return}else if(E){e.editSummary(y);return}}}}if(h.closest(".topiclinks")){const b=h.closest("g");if(b){e.editArrowLabel(b);return}}if(h.closest(".summary")){const b=h.closest("g");if(b){e.editSummary(b);return}}};let i=0;const s=u=>{if(u.pointerType==="mouse")return;const h=new Date().getTime(),p=h-i;p<300&&p>0&&o(u),i=h},r=u=>{t.moved=!1;const h=e.mouseSelectionButton===0?2:0;if(u.button!==h&&u.pointerType==="mouse")return;t.x=u.clientX,t.y=u.clientY;const p=u.target;p.className!=="circle"&&p.contentEditable!=="plaintext-only"&&(t.mousedown=!0,p.setPointerCapture(u.pointerId))},l=u=>{if(u.target.contentEditable!=="plaintext-only"){const h=u.clientX-t.x,p=u.clientY-t.y;t.onMove(h,p)}t.x=u.clientX,t.y=u.clientY},c=u=>{const h=e.mouseSelectionButton===0?2:0;if(u.button!==h&&u.pointerType==="mouse")return;const p=u.target;p.hasPointerCapture&&p.hasPointerCapture(u.pointerId)&&p.releasePointerCapture(u.pointerId),t.clear()},a=u=>{if(u.preventDefault(),u.button!==2||!e.editable)return;const h=u.target;ye(h)&&!h.classList.contains("selected")&&e.selectNode(h),setTimeout(()=>{e.dragMoveHelper.moved||e.bus.fire("showContextMenu",u)},200)},f=u=>{u.stopPropagation(),u.preventDefault(),u.ctrlKey||u.metaKey?u.deltaY<0?ie(e,"in",e.dragMoveHelper):e.scaleVal-e.scaleSensitivity>0&&ie(e,"out",e.dragMoveHelper):u.shiftKey?e.move(-u.deltaY,0):e.move(-u.deltaX,-u.deltaY)},{container:d}=e;return we([{dom:d,evt:"pointerdown",func:r},{dom:d,evt:"pointermove",func:l},{dom:d,evt:"pointerup",func:c},{dom:d,evt:"pointerup",func:s},{dom:d,evt:"click",func:n},{dom:d,evt:"dblclick",func:o},{dom:d,evt:"contextmenu",func:a},{dom:d,evt:"wheel",func:typeof e.handleWheel=="function"?e.handleWheel:f}])}function Ct(){return{handlers:{},addListener:function(e,t){this.handlers[e]===void 0&&(this.handlers[e]=[]),this.handlers[e].push(t)},fire:function(e,...t){if(this.handlers[e]instanceof Array){const n=this.handlers[e];for(let o=0;o<n.length;o++)n[o](...t)}},removeListener:function(e,t){if(!this.handlers[e])return;const n=this.handlers[e];if(!t)n.length=0;else if(n.length)for(let o=0;o<n.length;o++)n[o]===t&&this.handlers[e].splice(o,1)}}}const se=document,Et=function(){this.nodes.innerHTML="";const e=this.createTopic(this.nodeData);xe.call(this,e,this.nodeData),e.draggable=!1;const t=se.createElement("me-root");t.appendChild(e);const n=this.nodeData.children||[];if(this.direction===2){let o=0,i=0;n.map(s=>{s.direction===0?o+=1:s.direction===1?i+=1:o<=i?(s.direction=0,o+=1):(s.direction=1,i+=1)})}St(this,n,t)},St=function(e,t,n){const o=se.createElement("me-main");o.className=A.LHS;const i=se.createElement("me-main");i.className=A.RHS;for(let s=0;s<t.length;s++){const r=t[s],{grp:l}=e.createWrapper(r);e.direction===2?r.direction===0?o.appendChild(l):i.appendChild(l):e.direction===0?o.appendChild(l):i.appendChild(l)}e.nodes.appendChild(o),e.nodes.appendChild(n),e.nodes.appendChild(i),e.nodes.appendChild(e.lines),e.nodes.appendChild(e.labelContainer)},Nt=function(e,t){const n=se.createElement("me-children");for(let o=0;o<t.length;o++){const i=t[o],{grp:s}=e.createWrapper(i);n.appendChild(s)}return n},T=document,Oe=function(e,t){const o=(this!=null&&this.el?this.el:t||document).querySelector(`[data-nodeid="me${e}"]`);if(!o)throw new Error(`FindEle: Node ${e} not found, maybe it's collapsed.`);return o},xe=function(e,t){if(e.innerHTML="",t.style){const n=t.style;for(const o in n)e.style[o]=n[o]}if(t.dangerouslySetInnerHTML){e.innerHTML=t.dangerouslySetInnerHTML;return}if(t.image){const n=t.image;if(n.url&&n.width&&n.height){const o=T.createElement("img");o.src=this.imageProxy?this.imageProxy(n.url):n.url,o.style.width=n.width+"px",o.style.height=n.height+"px",n.fit&&(o.style.objectFit=n.fit),e.appendChild(o),e.image=o}}else e.image&&(e.image=void 0);{const n=T.createElement("span");n.className="text",this.markdown?n.innerHTML=this.markdown(t.topic,t):n.textContent=t.topic,e.appendChild(n),e.text=n}if(t.hyperLink){const n=T.createElement("a");n.className="hyper-link",n.target="_blank",n.innerText="🔗",n.href=t.hyperLink,e.appendChild(n),e.link=n}else e.link&&(e.link=void 0);if(t.icons&&t.icons.length){const n=T.createElement("span");n.className="icons",n.innerHTML=t.icons.map(o=>`<span>${me(o)}</span>`).join(""),e.appendChild(n),e.icons=n}else e.icons&&(e.icons=void 0);if(t.tags&&t.tags.length){const n=T.createElement("div");n.className="tags",t.tags.forEach(o=>{const i=T.createElement("span");typeof o=="string"?i.textContent=o:(i.textContent=o.text,o.className&&(i.className=o.className),o.style&&Object.assign(i.style,o.style)),n.appendChild(i)}),e.appendChild(n),e.tags=n}else e.tags&&(e.tags=void 0)},kt=function(e,t){const n=T.createElement("me-wrapper"),{p:o,tpc:i}=this.createParent(e);if(n.appendChild(o),!t&&e.children&&e.children.length>0){const s=Ce(e.expanded);if(o.appendChild(s),e.expanded!==!1){const r=Nt(this,e.children);n.appendChild(r)}}return{grp:n,top:o,tpc:i}},_t=function(e){const t=T.createElement("me-parent"),n=this.createTopic(e);return xe.call(this,n,e),t.appendChild(n),{p:t,tpc:n}},Tt=function(e){const t=T.createElement("me-children");return t.append(...e),t},Lt=function(e){const t=T.createElement("me-tpc");return t.nodeObj=e,t.dataset.nodeid="me"+e.id,t.draggable=this.draggable,t};function $e(e){const t=T.createRange();t.selectNodeContents(e);const n=window.getSelection();n&&(n.removeAllRanges(),n.addRange(t))}const At=function(e){if(!e)return;const t=T.createElement("div"),n=e.nodeObj,o=n.topic;e.appendChild(t),t.id="input-box",t.textContent=o,t.contentEditable="plaintext-only",t.spellcheck=!1;const i=getComputedStyle(e);t.style.cssText=`min-width:${e.offsetWidth-8}px;
2
2
  color:${i.color};
3
3
  padding:${i.padding};
4
4
  margin:${i.margin};
5
5
  font:${i.font};
6
6
  background-color:${i.backgroundColor!=="rgba(0, 0, 0, 0)"&&i.backgroundColor};
7
- border-radius:${i.borderRadius};`,this.direction===0&&(t.style.right="0"),je(t),this.bus.fire("operation",{name:"beginEdit",obj:e.nodeObj}),t.addEventListener("keydown",s=>{s.stopPropagation();const r=s.key;if(r==="Enter"||r==="Tab"){if(s.shiftKey)return;s.preventDefault(),t.blur(),this.container.focus()}}),t.addEventListener("blur",()=>{var r;if(!t)return;const s=((r=t.textContent)==null?void 0:r.trim())||"";if(s==="")n.topic=o;else if(n.topic=s,this.markdown&&be(s)){const c=Pe(s,this.markdown).trim();e.text.innerHTML=c}else e.text.textContent=s;t.remove(),s!==o&&(this.linkDiv(),this.bus.fire("operation",{name:"finishEdit",obj:n,origin:o}))})},xe=function(e){const t=_.createElement("me-epd");return t.expanded=e!==!1,t.className=e!==!1?"minus":"",t},W=document,L="http://www.w3.org/2000/svg",Ee=function(e,t,n,o={}){const{anchor:i="middle",color:s,dataType:r}=o,c=document.createElementNS(L,"text");return S(c,{"text-anchor":i,x:t+"",y:n+"",fill:s||(i==="middle"?"rgb(235, 95, 82)":"#666")}),r&&(c.dataset.type=r),c.innerHTML=e,c},He=function(e,t,n){const o=W.createElementNS(L,"path");return S(o,{d:e,stroke:t||"#666",fill:"none","stroke-width":n}),o},J=function(e){const t=W.createElementNS(L,"svg");return t.setAttribute("class",e),t.setAttribute("overflow","visible"),t},Be=function(){const e=W.createElementNS(L,"line");return e.setAttribute("stroke","#4dc4ff"),e.setAttribute("fill","none"),e.setAttribute("stroke-width","2"),e.setAttribute("opacity","0.45"),e},Dt=function(e,t,n,o){const i=W.createElementNS(L,"g");return[{name:"line",d:e},{name:"arrow1",d:t},{name:"arrow2",d:n}].forEach((r,c)=>{const l=r.d,a=W.createElementNS(L,"path"),f={d:l,stroke:(o==null?void 0:o.stroke)||"rgb(235, 95, 82)",fill:"none","stroke-linecap":(o==null?void 0:o.strokeLinecap)||"cap","stroke-width":String((o==null?void 0:o.strokeWidth)||"2")};(o==null?void 0:o.opacity)!==void 0&&(f.opacity=String(o.opacity)),S(a,f),c===0&&a.setAttribute("stroke-dasharray",(o==null?void 0:o.strokeDasharray)||"8,2");const d=W.createElementNS(L,"path");S(d,{d:l,stroke:"transparent",fill:"none","stroke-width":"15"}),i.appendChild(d),i.appendChild(a),i[r.name]=a}),i},Re=function(e,t,n){if(!t)return;const o=W.createElement("div");e.nodes.appendChild(o);const i=t.innerHTML;o.id="input-box",o.textContent=i,o.contentEditable="plaintext-only",o.spellcheck=!1;const s=t.getBBox();o.style.cssText=`
8
- min-width:${Math.max(88,s.width)}px;
9
- position:absolute;
10
- left:${s.x}px;
11
- top:${s.y}px;
12
- padding: 2px 4px;
13
- margin: -2px -4px;
14
- `,je(o),e.scrollIntoView(o),o.addEventListener("keydown",r=>{r.stopPropagation();const c=r.key;if(c==="Enter"||c==="Tab"){if(r.shiftKey)return;r.preventDefault(),o.blur(),e.container.focus()}}),o.addEventListener("blur",()=>{var c;if(!o)return;const r=((c=o.textContent)==null?void 0:c.trim())||"";r===""?n.label=i:n.label=r,o.remove(),r!==i&&(t.innerHTML=n.label,e.linkDiv(),"parent"in n?e.bus.fire("operation",{name:"finishEditSummary",obj:n}):e.bus.fire("operation",{name:"finishEditArrowLabel",obj:n}))})},Pt=function(e){const t=this.map.querySelector("me-root"),n=t.offsetTop,o=t.offsetLeft,i=t.offsetWidth,s=t.offsetHeight,r=this.map.querySelectorAll("me-main > me-wrapper");this.lines.innerHTML="";for(let c=0;c<r.length;c++){const l=r[c],a=l.querySelector("me-tpc"),{offsetLeft:f,offsetTop:d}=H(this.nodes,a),v=a.offsetWidth,u=a.offsetHeight,h=l.parentNode.className,p=this.generateMainBranch({pT:n,pL:o,pW:i,pH:s,cT:d,cL:f,cW:v,cH:u,direction:h,containerHeight:this.nodes.offsetHeight}),g=this.theme.palette,m=a.nodeObj.branchColor||g[c%g.length];if(a.style.borderColor=m,this.lines.appendChild(He(p,m,"3")),e&&e!==l)continue;const y=J("subLines"),w=l.lastChild;w.tagName==="svg"&&w.remove(),l.appendChild(y),Fe(this,y,m,l,h,!0)}this.renderArrow(),this.renderSummary(),this.bus.fire("linkDiv")},Fe=function(e,t,n,o,i,s){const r=o.firstChild,c=o.children[1].children;if(c.length===0)return;const l=r.offsetTop,a=r.offsetLeft,f=r.offsetWidth,d=r.offsetHeight;for(let v=0;v<c.length;v++){const u=c[v],h=u.firstChild,p=h.offsetTop,g=h.offsetLeft,m=h.offsetWidth,y=h.offsetHeight,w=h.firstChild.nodeObj.branchColor||n,C=e.generateSubBranch({pT:l,pL:a,pW:f,pH:d,cT:p,cL:g,cW:m,cH:y,direction:i,isFirst:s});t.appendChild(He(C,w,"2"));const k=h.children[1];if(k){if(!k.expanded)continue}else continue;Fe(e,t,w,u,i)}},We={addChild:"插入子节点",addParent:"插入父节点",addSibling:"插入同级节点",removeNode:"删除节点",focus:"专注",cancelFocus:"取消专注",moveUp:"上移",moveDown:"下移",link:"连接",linkBidirectional:"双向连接",clickTips:"请点击目标节点",summary:"摘要"},Ie={cn:We,zh_CN:We,zh_TW:{addChild:"插入子節點",addParent:"插入父節點",addSibling:"插入同級節點",removeNode:"刪除節點",focus:"專注",cancelFocus:"取消專注",moveUp:"上移",moveDown:"下移",link:"連接",linkBidirectional:"雙向連接",clickTips:"請點擊目標節點",summary:"摘要"},en:{addChild:"Add child",addParent:"Add parent",addSibling:"Add sibling",removeNode:"Remove node",focus:"Focus Mode",cancelFocus:"Cancel Focus Mode",moveUp:"Move up",moveDown:"Move down",link:"Link",linkBidirectional:"Bidirectional Link",clickTips:"Please click the target node",summary:"Summary"},ru:{addChild:"Добавить дочерний элемент",addParent:"Добавить родительский элемент",addSibling:"Добавить на этом уровне",removeNode:"Удалить узел",focus:"Режим фокусировки",cancelFocus:"Отменить режим фокусировки",moveUp:"Поднять выше",moveDown:"Опустить ниже",link:"Ссылка",linkBidirectional:"Двунаправленная ссылка",clickTips:"Пожалуйста, нажмите на целевой узел",summary:"Описание"},ja:{addChild:"子ノードを追加する",addParent:"親ノードを追加します",addSibling:"兄弟ノードを追加する",removeNode:"ノードを削除",focus:"集中",cancelFocus:"集中解除",moveUp:"上へ移動",moveDown:"下へ移動",link:"コネクト",linkBidirectional:"双方向リンク",clickTips:"ターゲットノードをクリックしてください",summary:"概要"},pt:{addChild:"Adicionar item filho",addParent:"Adicionar item pai",addSibling:"Adicionar item irmao",removeNode:"Remover item",focus:"Modo Foco",cancelFocus:"Cancelar Modo Foco",moveUp:"Mover para cima",moveDown:"Mover para baixo",link:"Link",linkBidirectional:"Link bidirecional",clickTips:"Favor clicar no item alvo",summary:"Resumo"},it:{addChild:"Aggiungi figlio",addParent:"Aggiungi genitore",addSibling:"Aggiungi fratello",removeNode:"Rimuovi nodo",focus:"Modalità Focus",cancelFocus:"Annulla Modalità Focus",moveUp:"Sposta su",moveDown:"Sposta giù",link:"Collega",linkBidirectional:"Collegamento bidirezionale",clickTips:"Si prega di fare clic sul nodo di destinazione",summary:"Unisci nodi"},es:{addChild:"Agregar hijo",addParent:"Agregar padre",addSibling:"Agregar hermano",removeNode:"Eliminar nodo",focus:"Modo Enfoque",cancelFocus:"Cancelar Modo Enfoque",moveUp:"Mover hacia arriba",moveDown:"Mover hacia abajo",link:"Enlace",linkBidirectional:"Enlace bidireccional",clickTips:"Por favor haga clic en el nodo de destino",summary:"Resumen"},fr:{addChild:"Ajout enfant",addParent:"Ajout parent",addSibling:"Ajout voisin",removeNode:"Supprimer",focus:"Cibler",cancelFocus:"Retour",moveUp:"Monter",moveDown:"Descendre",link:"Lier",linkBidirectional:"Lien bidirectionnel",clickTips:"Cliquer sur le noeud cible",summary:"Annoter"},ko:{addChild:"자식 추가",addParent:"부모 추가",addSibling:"형제 추가",removeNode:"노드 삭제",focus:"포커스 모드",cancelFocus:"포커스 모드 취소",moveUp:"위로 이동",moveDown:"아래로 이동",link:"연결",linkBidirectional:"양방향 연결",clickTips:"대상 노드를 클릭하십시오",summary:"요약"}},Co="";function $t(e,t){t=t===!0?{focus:!0,link:!0}:t;const n=x=>{const b=document.createElement("div");return b.innerText=x,b.className="tips",b},o=(x,b,E)=>{const N=document.createElement("li");return N.id=x,N.innerHTML=`<span>${pe(b)}</span><span ${E?'class="key"':""}>${pe(E)}</span>`,N},i=Ie[e.locale]?e.locale:"en",s=Ie[i],r=o("cm-add_child",s.addChild,"Tab"),c=o("cm-add_parent",s.addParent,"Ctrl + Enter"),l=o("cm-add_sibling",s.addSibling,"Enter"),a=o("cm-remove_child",s.removeNode,"Delete"),f=o("cm-fucus",s.focus,""),d=o("cm-unfucus",s.cancelFocus,""),v=o("cm-up",s.moveUp,"PgUp"),u=o("cm-down",s.moveDown,"Pgdn"),h=o("cm-link",s.link,""),p=o("cm-link-bidirectional",s.linkBidirectional,""),g=o("cm-summary",s.summary,""),m=document.createElement("ul");if(m.className="menu-list",m.appendChild(r),m.appendChild(c),m.appendChild(l),m.appendChild(a),t.focus&&(m.appendChild(f),m.appendChild(d)),m.appendChild(v),m.appendChild(u),m.appendChild(g),t.link&&(m.appendChild(h),m.appendChild(p)),t&&t.extend)for(let x=0;x<t.extend.length;x++){const b=t.extend[x],E=o(b.name,b.name,b.key||"");m.appendChild(E),E.onclick=N=>{b.onclick(N)}}const y=document.createElement("div");y.className="context-menu",y.appendChild(m),y.hidden=!0,e.container.append(y);let w=!0;const C=x=>{const b=x.target;if(ve(b)){b.parentElement.tagName==="ME-ROOT"?w=!0:w=!1,w?(f.className="disabled",v.className="disabled",u.className="disabled",c.className="disabled",l.className="disabled",a.className="disabled"):(f.className="",v.className="",u.className="",c.className="",l.className="",a.className=""),y.hidden=!1,m.style.top="",m.style.bottom="",m.style.left="",m.style.right="";const E=m.getBoundingClientRect(),N=m.offsetHeight,P=m.offsetWidth,$=x.clientY-E.top,Y=x.clientX-E.left;N+$>window.innerHeight?(m.style.top="",m.style.bottom="0px"):(m.style.bottom="",m.style.top=$+15+"px"),P+Y>window.innerWidth?(m.style.left="",m.style.right="0px"):(m.style.right="",m.style.left=Y+10+"px")}};e.bus.addListener("showContextMenu",C),y.onclick=x=>{x.target===y&&(y.hidden=!0)},r.onclick=()=>{e.addChild(),y.hidden=!0},c.onclick=()=>{e.insertParent(),y.hidden=!0},l.onclick=()=>{w||(e.insertSibling("after"),y.hidden=!0)},a.onclick=()=>{w||(e.removeNodes(e.currentNodes||[]),y.hidden=!0)},f.onclick=()=>{w||(e.focusNode(e.currentNode),y.hidden=!0)},d.onclick=()=>{e.cancelFocus(),y.hidden=!0},v.onclick=()=>{w||(e.moveUpNode(),y.hidden=!0)},u.onclick=()=>{w||(e.moveDownNode(),y.hidden=!0)};const k=x=>{y.hidden=!0;const b=e.currentNode,E=n(s.clickTips);e.container.appendChild(E),e.map.addEventListener("click",N=>{N.preventDefault(),E.remove();const P=N.target;(P.parentElement.tagName==="ME-PARENT"||P.parentElement.tagName==="ME-ROOT")&&e.createArrow(b,P,x)},{once:!0})};return h.onclick=()=>k(),p.onclick=()=>k({bidirectional:!0}),g.onclick=()=>{y.hidden=!0,e.createSummary(),e.unselectNodes(e.currentNodes)},()=>{r.onclick=null,c.onclick=null,l.onclick=null,a.onclick=null,f.onclick=null,d.onclick=null,v.onclick=null,u.onclick=null,h.onclick=null,g.onclick=null,y.onclick=null,e.container.oncontextmenu=null}}const Se=document,Ot=function(e,t){if(!t)return Ce(e),e;let n=e.querySelector(".insert-preview");const o=`insert-preview ${t} show`;return n||(n=Se.createElement("div"),e.appendChild(n)),n.className=o,e},Ce=function(e){if(!e)return;const t=e.querySelectorAll(".insert-preview");for(const n of t||[])n.remove()},Ke=function(e,t){for(const n of t){const o=n.parentElement.parentElement.contains(e);if(!(e&&e.tagName==="ME-TPC"&&e!==n&&!o&&e.nodeObj.parent))return!1}return!0},jt=function(e){const t=document.createElement("div");return t.className="mind-elixir-ghost",e.container.appendChild(t),t};class Ht{constructor(t){ee(this,"mind");ee(this,"isMoving",!1);ee(this,"interval",null);ee(this,"speed",20);this.mind=t}move(t,n){this.isMoving||(this.isMoving=!0,this.interval=setInterval(()=>{this.mind.move(t*this.speed*this.mind.scaleVal,n*this.speed*this.mind.scaleVal)},100))}stop(){this.isMoving=!1,clearInterval(this.interval)}}function Bt(e){let t=null,n=null;const o=jt(e),i=new Ht(e),s=a=>{e.selection.cancel();const f=a.target;if((f==null?void 0:f.tagName)!=="ME-TPC"){a.preventDefault();return}let d=e.currentNodes;d!=null&&d.includes(f)||(e.selectNode(f),d=e.currentNodes),e.dragged=d,d.length>1?o.innerHTML=d.length+"":o.innerHTML=f.innerHTML;for(const v of d)v.parentElement.parentElement.style.opacity="0.5";a.dataTransfer.setDragImage(o,0,0),a.dataTransfer.dropEffect="move",e.dragMoveHelper.clear()},r=a=>{const{dragged:f}=e;if(!f)return;i.stop();for(const v of f)v.parentElement.parentElement.style.opacity="1";const d=a.target;d.style.opacity="",n&&(Ce(n),t==="before"?e.moveNodeBefore(f,n):t==="after"?e.moveNodeAfter(f,n):t==="in"&&e.moveNodeIn(f,n),e.dragged=null,o.innerHTML="")},c=a=>{a.preventDefault();const f=12*e.scaleVal,{dragged:d}=e;if(!d)return;const v=e.container.getBoundingClientRect();a.clientX<v.x+50?i.move(1,0):a.clientX>v.x+v.width-50?i.move(-1,0):a.clientY<v.y+50?i.move(0,1):a.clientY>v.y+v.height-50?i.move(0,-1):i.stop(),Ce(n);const u=Se.elementFromPoint(a.clientX,a.clientY-f);if(Ke(u,d)){n=u;const h=u.getBoundingClientRect(),p=h.y;a.clientY>p+h.height?t="after":t="in"}else{const h=Se.elementFromPoint(a.clientX,a.clientY+f),p=h.getBoundingClientRect();if(Ke(h,d)){n=h;const g=p.y;a.clientY<g?t="before":t="in"}else t=n=null}n&&Ot(n,t)};return ye([{dom:e.map,evt:"dragstart",func:s},{dom:e.map,evt:"dragend",func:r},{dom:e.map,evt:"dragover",func:c}])}const Rt=function(e){return["createSummary","removeSummary","finishEditSummary"].includes(e.name)?{type:"summary",value:e.obj.id}:["createArrow","removeArrow","finishEditArrowLabel"].includes(e.name)?{type:"arrow",value:e.obj.id}:["removeNodes","copyNodes","moveNodeBefore","moveNodeAfter","moveNodeIn"].includes(e.name)?{type:"nodes",value:e.objs.map(t=>t.id)}:{type:"nodes",value:[e.obj.id]}};function Ft(e){let t=[],n=-1,o=e.getData(),i=[];e.undo=function(){if(n>-1){const l=t[n];o=l.prev,e.refresh(l.prev);try{l.currentTarget.type==="nodes"&&(l.operation==="removeNodes"?e.selectNodes(l.currentTarget.value.map(a=>this.findEle(a))):e.selectNodes(l.currentSelected.map(a=>this.findEle(a))))}catch{}finally{n--}}},e.redo=function(){if(n<t.length-1){n++;const l=t[n];o=l.next,e.refresh(l.next);try{l.currentTarget.type==="nodes"&&(l.operation==="removeNodes"?e.selectNodes(l.currentSelected.map(a=>this.findEle(a))):e.selectNodes(l.currentTarget.value.map(a=>this.findEle(a))))}catch{}}};const s=function(l){if(l.name==="beginEdit")return;t=t.slice(0,n+1);const a=e.getData(),f={prev:o,operation:l.name,currentSelected:i.map(d=>d.id),currentTarget:Rt(l),next:a};t.push(f),o=a,n=t.length-1},r=function(l){(l.metaKey||l.ctrlKey)&&(l.shiftKey&&l.key==="Z"||l.key==="y")?e.redo():(l.metaKey||l.ctrlKey)&&l.key==="z"&&e.undo()},c=function(l){i=e.currentNodes.map(a=>a.nodeObj)};return e.bus.addListener("operation",s),e.bus.addListener("selectNodes",c),e.container.addEventListener("keydown",r),()=>{e.bus.removeListener("operation",s),e.bus.removeListener("selectNodes",c),e.container.removeEventListener("keydown",r)}}const Wt='<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1750169394918" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2021" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M851.91168 328.45312c-59.97056 0-108.6208 48.47104-108.91264 108.36992l-137.92768 38.4a109.14304 109.14304 0 0 0-63.46752-46.58688l1.39264-137.11872c47.29344-11.86816 82.31936-54.66624 82.31936-105.64096 0-60.15488-48.76288-108.91776-108.91776-108.91776s-108.91776 48.76288-108.91776 108.91776c0 49.18784 32.60928 90.75712 77.38368 104.27392l-1.41312 138.87488a109.19936 109.19936 0 0 0-63.50336 48.55808l-138.93632-39.48544 0.01024-0.72704c0-60.15488-48.76288-108.91776-108.91776-108.91776s-108.91776 48.75776-108.91776 108.91776c0 60.15488 48.76288 108.91264 108.91776 108.91264 39.3984 0 73.91232-20.92032 93.03552-52.2496l139.19232 39.552-0.00512 0.2304c0 25.8304 9.00096 49.5616 24.02816 68.23424l-90.14272 132.63872a108.7488 108.7488 0 0 0-34.2528-5.504c-60.15488 0-108.91776 48.768-108.91776 108.91776 0 60.16 48.76288 108.91776 108.91776 108.91776 60.16 0 108.92288-48.75776 108.92288-108.91776 0-27.14624-9.9328-51.968-26.36288-71.04l89.04704-131.03104a108.544 108.544 0 0 0 37.6832 6.70208 108.672 108.672 0 0 0 36.48512-6.272l93.13792 132.57216a108.48256 108.48256 0 0 0-24.69888 69.0688c0 60.16 48.768 108.92288 108.91776 108.92288 60.16 0 108.91776-48.76288 108.91776-108.92288 0-60.14976-48.75776-108.91776-108.91776-108.91776a108.80512 108.80512 0 0 0-36.69504 6.3488l-93.07136-132.48a108.48768 108.48768 0 0 0 24.79616-72.22784l136.09984-37.888c18.99008 31.93856 53.84192 53.3504 93.69088 53.3504 60.16 0 108.92288-48.75776 108.92288-108.91264-0.00512-60.15488-48.77312-108.92288-108.92288-108.92288z" p-id="2022"></path></svg>',It='<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1750169375313" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1775" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M639 463.30000001L639 285.1c0-36.90000001-26.4-68.5-61.3-68.5l-150.2 0c-1.5 0-3 0.1-4.5 0.3-10.2-38.7-45.5-67.3-87.5-67.3-50 0-90.5 40.5-90.5 90.5s40.5 90.5 90.5 90.5c42 0 77.3-28.6 87.5-67.39999999 1.4 0.3 2.9 0.4 4.5 0.39999999L577.7 263.6c6.8 0 14.3 8.9 14.3 21.49999999l0 427.00000001c0 12.7-7.40000001 21.5-14.30000001 21.5l-150.19999999 0c-1.5 0-3 0.2-4.5 0.4-10.2-38.8-45.5-67.3-87.5-67.3-50 0-90.5 40.5-90.5 90.4 0 49.9 40.5 90.6 90.5 90.59999999 42 0 77.3-28.6 87.5-67.39999999 1.4 0.2 2.9 0.4 4.49999999 0.4L577.7 780.7c34.80000001 0 61.3-31.6 61.3-68.50000001L639 510.3l79.1 0c10.4 38.5 45.49999999 67 87.4 67 50 0 90.5-40.5 90.5-90.5s-40.5-90.5-90.5-90.5c-41.79999999 0-77.00000001 28.4-87.4 67L639 463.30000001z" fill="currentColor" p-id="1776"></path></svg>',Kt='<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1750169667709" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3037" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M385 560.69999999L385 738.9c0 36.90000001 26.4 68.5 61.3 68.5l150.2 0c1.5 0 3-0.1 4.5-0.3 10.2 38.7 45.5 67.3 87.5 67.3 50 0 90.5-40.5 90.5-90.5s-40.5-90.5-90.5-90.5c-42 0-77.3 28.6-87.5 67.39999999-1.4-0.3-2.9-0.4-4.5-0.39999999L446.3 760.4c-6.8 0-14.3-8.9-14.3-21.49999999l0-427.00000001c0-12.7 7.40000001-21.5 14.30000001-21.5l150.19999999 0c1.5 0 3-0.2 4.5-0.4 10.2 38.8 45.5 67.3 87.5 67.3 50 0 90.5-40.5 90.5-90.4 0-49.9-40.5-90.6-90.5-90.59999999-42 0-77.3 28.6-87.5 67.39999999-1.4-0.2-2.9-0.4-4.49999999-0.4L446.3 243.3c-34.80000001 0-61.3 31.6-61.3 68.50000001L385 513.7l-79.1 0c-10.4-38.5-45.49999999-67-87.4-67-50 0-90.5 40.5-90.5 90.5s40.5 90.5 90.5 90.5c41.79999999 0 77.00000001-28.4 87.4-67L385 560.69999999z" fill="currentColor" p-id="3038"></path></svg>',Yt='<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1750169402629" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2170" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M639.328 416c8.032 0 16.096-3.008 22.304-9.056l202.624-197.184-0.8 143.808c-0.096 17.696 14.144 32.096 31.808 32.192 0.064 0 0.128 0 0.192 0 17.6 0 31.904-14.208 32-31.808l1.248-222.208c0-0.672-0.352-1.248-0.384-1.92 0.032-0.512 0.288-0.896 0.288-1.408 0.032-17.664-14.272-32-31.968-32.032L671.552 96l-0.032 0c-17.664 0-31.968 14.304-32 31.968C639.488 145.632 653.824 160 671.488 160l151.872 0.224-206.368 200.8c-12.672 12.32-12.928 32.608-0.64 45.248C622.656 412.736 630.976 416 639.328 416z" p-id="2171"></path><path d="M896.032 639.552 896.032 639.552c-17.696 0-32 14.304-32.032 31.968l-0.224 151.872-200.832-206.4c-12.32-12.64-32.576-12.96-45.248-0.64-12.672 12.352-12.928 32.608-0.64 45.248l197.184 202.624-143.808-0.8c-0.064 0-0.128 0-0.192 0-17.6 0-31.904 14.208-32 31.808-0.096 17.696 14.144 32.096 31.808 32.192l222.24 1.248c0.064 0 0.128 0 0.192 0 0.64 0 1.12-0.32 1.76-0.352 0.512 0.032 0.896 0.288 1.408 0.288l0.032 0c17.664 0 31.968-14.304 32-31.968L928 671.584C928.032 653.952 913.728 639.584 896.032 639.552z" p-id="2172"></path><path d="M209.76 159.744l143.808 0.8c0.064 0 0.128 0 0.192 0 17.6 0 31.904-14.208 32-31.808 0.096-17.696-14.144-32.096-31.808-32.192L131.68 95.328c-0.064 0-0.128 0-0.192 0-0.672 0-1.248 0.352-1.888 0.384-0.448 0-0.8-0.256-1.248-0.256 0 0-0.032 0-0.032 0-17.664 0-31.968 14.304-32 31.968L96 352.448c-0.032 17.664 14.272 32 31.968 32.032 0 0 0.032 0 0.032 0 17.664 0 31.968-14.304 32-31.968l0.224-151.936 200.832 206.4c6.272 6.464 14.624 9.696 22.944 9.696 8.032 0 16.096-3.008 22.304-9.056 12.672-12.32 12.96-32.608 0.64-45.248L209.76 159.744z" p-id="2173"></path><path d="M362.368 617.056l-202.624 197.184 0.8-143.808c0.096-17.696-14.144-32.096-31.808-32.192-0.064 0-0.128 0-0.192 0-17.6 0-31.904 14.208-32 31.808l-1.248 222.24c0 0.704 0.352 1.312 0.384 2.016 0 0.448-0.256 0.832-0.256 1.312-0.032 17.664 14.272 32 31.968 32.032L352.448 928c0 0 0.032 0 0.032 0 17.664 0 31.968-14.304 32-31.968s-14.272-32-31.968-32.032l-151.936-0.224 206.4-200.832c12.672-12.352 12.96-32.608 0.64-45.248S375.008 604.704 362.368 617.056z" p-id="2174"></path></svg>',Gt='<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1750169573443" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2883" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M514.133333 488.533333m-106.666666 0a106.666667 106.666667 0 1 0 213.333333 0 106.666667 106.666667 0 1 0-213.333333 0Z" fill="currentColor" p-id="2884"></path><path d="M512 64C264.533333 64 64 264.533333 64 512c0 236.8 183.466667 428.8 416 445.866667v-134.4c-53.333333-59.733333-200.533333-230.4-200.533333-334.933334 0-130.133333 104.533333-234.666667 234.666666-234.666666s234.666667 104.533333 234.666667 234.666666c0 61.866667-49.066667 153.6-145.066667 270.933334l-59.733333 68.266666V960C776.533333 942.933333 960 748.8 960 512c0-247.466667-200.533333-448-448-448z" fill="currentColor" p-id="2885"></path></svg>',qt='<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1750169419447" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2480" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M863.328 482.56l-317.344-1.12L545.984 162.816c0-17.664-14.336-32-32-32s-32 14.336-32 32l0 318.4L159.616 480.064c-0.032 0-0.064 0-0.096 0-17.632 0-31.936 14.24-32 31.904C127.424 529.632 141.728 544 159.392 544.064l322.592 1.152 0 319.168c0 17.696 14.336 32 32 32s32-14.304 32-32l0-318.944 317.088 1.12c0.064 0 0.096 0 0.128 0 17.632 0 31.936-14.24 32-31.904C895.264 496.992 880.96 482.624 863.328 482.56z" p-id="2481"></path></svg>',zt='<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1750169426515" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2730" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M863.744 544 163.424 544c-17.664 0-32-14.336-32-32s14.336-32 32-32l700.32 0c17.696 0 32 14.336 32 32S881.44 544 863.744 544z" p-id="2731"></path></svg>',No="",Vt={side:Wt,left:It,right:Kt,full:Yt,living:Gt,zoomin:qt,zoomout:zt},I=(e,t)=>{const n=document.createElement("span");return n.id=e,n.innerHTML=Vt[t],n};function Ut(e){const t=document.createElement("div"),n=I("fullscreen","full"),o=I("toCenter","living"),i=I("zoomout","zoomout"),s=I("zoomin","zoomin"),r=document.createElement("span");return r.innerText="100%",t.appendChild(n),t.appendChild(o),t.appendChild(i),t.appendChild(s),t.className="mind-elixir-toolbar rb",n.onclick=()=>{document.fullscreenElement===e.el?document.exitFullscreen():e.el.requestFullscreen()},o.onclick=()=>{e.toCenter()},i.onclick=()=>{e.scale(e.scaleVal-e.scaleSensitivity)},s.onclick=()=>{e.scale(e.scaleVal+e.scaleSensitivity)},t}function Xt(e){const t=document.createElement("div"),n=I("tbltl","left"),o=I("tbltr","right"),i=I("tblts","side");return t.appendChild(n),t.appendChild(o),t.appendChild(i),t.className="mind-elixir-toolbar lt",n.onclick=()=>{e.initLeft()},o.onclick=()=>{e.initRight()},i.onclick=()=>{e.initSide()},t}function Jt(e){e.container.append(Ut(e)),e.container.append(Xt(e))}/*! @viselect/vanilla v3.9.0 MIT | https://github.com/Simonwep/selection/tree/master/packages/vanilla */class Zt{constructor(){this._listeners=new Map,this.on=this.addEventListener,this.off=this.removeEventListener,this.emit=this.dispatchEvent}addEventListener(t,n){const o=this._listeners.get(t)??new Set;return this._listeners.set(t,o),o.add(n),this}removeEventListener(t,n){var o;return(o=this._listeners.get(t))==null||o.delete(n),this}dispatchEvent(t,...n){let o=!0;for(const i of this._listeners.get(t)??[])o=i(...n)!==!1&&o;return o}unbindAllListeners(){this._listeners.clear()}}const Ye=(e,t="px")=>typeof e=="number"?e+t:e,B=({style:e},t,n)=>{if(typeof t=="object")for(const[o,i]of Object.entries(t))i!==void 0&&(e[o]=Ye(i));else n!==void 0&&(e[t]=Ye(n))},Ge=(e=0,t=0,n=0,o=0)=>{const i={x:e,y:t,width:n,height:o,top:t,left:e,right:e+n,bottom:t+o};return{...i,toJSON:()=>JSON.stringify(i)}},Qt=e=>{let t,n=-1,o=!1;return{next:(...i)=>{t=i,o||(o=!0,n=requestAnimationFrame(()=>{e(...t),o=!1}))},cancel:()=>{cancelAnimationFrame(n),o=!1}}},qe=(e,t,n="touch")=>{switch(n){case"center":{const o=t.left+t.width/2,i=t.top+t.height/2;return o>=e.left&&o<=e.right&&i>=e.top&&i<=e.bottom}case"cover":return t.left>=e.left&&t.top>=e.top&&t.right<=e.right&&t.bottom<=e.bottom;case"touch":return e.right>=t.left&&e.left<=t.right&&e.bottom>=t.top&&e.top<=t.bottom}},en=()=>matchMedia("(hover: none), (pointer: coarse)").matches,tn=()=>"safari"in window,Ne=e=>Array.isArray(e)?e:[e],ze=e=>(t,n,o,i={})=>{(t instanceof HTMLCollection||t instanceof NodeList)&&(t=Array.from(t)),n=Ne(n),t=Ne(t);for(const s of t)if(s)for(const r of n)s[e](r,o,{capture:!1,...i})},R=ze("addEventListener"),M=ze("removeEventListener"),re=e=>{var t;const{clientX:n,clientY:o,target:i}=((t=e.touches)==null?void 0:t[0])??e;return{x:n,y:o,target:i}},V=(e,t=document)=>Ne(e).map(n=>typeof n=="string"?Array.from(t.querySelectorAll(n)):n instanceof Element?n:null).flat().filter(Boolean),nn=(e,t)=>t.some(n=>typeof n=="number"?e.button===n:typeof n=="object"?n.button!==e.button?!1:n.modifiers.every(o=>{switch(o){case"alt":return e.altKey;case"ctrl":return e.ctrlKey||e.metaKey;case"shift":return e.shiftKey}}):!1),{abs:K,max:Ve,min:Ue,ceil:Xe}=Math,Je=(e=[])=>({stored:e,selected:[],touched:[],changed:{added:[],removed:[]}}),Ze=class extends Zt{constructor(t){var n,o,i,s,r;super(),this._selection=Je(),this._targetBoundaryScrolled=!0,this._selectables=[],this._areaLocation={y1:0,x2:0,y2:0,x1:0},this._areaRect=Ge(),this._singleClick=!0,this._scrollAvailable=!0,this._scrollingActive=!1,this._scrollSpeed={x:0,y:0},this._scrollDelta={x:0,y:0},this._lastMousePosition={x:0,y:0},this.enable=this._toggleStartEvents,this.disable=this._toggleStartEvents.bind(this,!1),this._options={selectionAreaClass:"selection-area",selectionContainerClass:void 0,selectables:[],document:window.document,startAreas:["html"],boundaries:["html"],container:"body",...t,behaviour:{overlap:"invert",intersect:"touch",triggers:[0],...t.behaviour,startThreshold:(n=t.behaviour)!=null&&n.startThreshold?typeof t.behaviour.startThreshold=="number"?t.behaviour.startThreshold:{x:10,y:10,...t.behaviour.startThreshold}:{x:10,y:10},scrolling:{speedDivider:10,manualSpeed:750,...(o=t.behaviour)==null?void 0:o.scrolling,startScrollMargins:{x:0,y:0,...(s=(i=t.behaviour)==null?void 0:i.scrolling)==null?void 0:s.startScrollMargins}}},features:{range:!0,touch:!0,deselectOnBlur:!1,...t.features,singleTap:{allow:!0,intersect:"native",...(r=t.features)==null?void 0:r.singleTap}}};for(const f of Object.getOwnPropertyNames(Object.getPrototypeOf(this)))typeof this[f]=="function"&&(this[f]=this[f].bind(this));const{document:c,selectionAreaClass:l,selectionContainerClass:a}=this._options;this._area=c.createElement("div"),this._clippingElement=c.createElement("div"),this._clippingElement.appendChild(this._area),this._area.classList.add(l),a&&this._clippingElement.classList.add(a),B(this._area,{willChange:"top, left, bottom, right, width, height",top:0,left:0,position:"fixed"}),B(this._clippingElement,{overflow:"hidden",position:"fixed",transform:"translate3d(0, 0, 0)",pointerEvents:"none",zIndex:"1"}),this._frame=Qt(f=>{this._recalculateSelectionAreaRect(),this._updateElementSelection(),this._emitEvent("move",f),this._redrawSelectionArea()}),this.enable()}_toggleStartEvents(t=!0){const{document:n,features:o}=this._options,i=t?R:M;i(n,"mousedown",this._onTapStart),o.touch&&i(n,"touchstart",this._onTapStart,{passive:!1})}_onTapStart(t,n=!1){const{x:o,y:i,target:s}=re(t),{document:r,startAreas:c,boundaries:l,features:a,behaviour:f}=this._options,d=s.getBoundingClientRect();if(t instanceof MouseEvent&&!nn(t,f.triggers))return;const v=V(c,r),u=V(l,r);this._targetElement=u.find(m=>qe(m.getBoundingClientRect(),d));const h=t.composedPath(),p=v.find(m=>h.includes(m));if(this._targetBoundary=u.find(m=>h.includes(m)),!this._targetElement||!p||!this._targetBoundary||!n&&this._emitEvent("beforestart",t)===!1)return;this._areaLocation={x1:o,y1:i,x2:0,y2:0};const g=r.scrollingElement??r.body;this._scrollDelta={x:g.scrollLeft,y:g.scrollTop},this._singleClick=!0,this.clearSelection(!1,!0),R(r,["touchmove","mousemove"],this._delayedTapMove,{passive:!1}),R(r,["mouseup","touchcancel","touchend"],this._onTapStop),R(r,"scroll",this._onScroll),a.deselectOnBlur&&(this._targetBoundaryScrolled=!1,R(this._targetBoundary,"scroll",this._onStartAreaScroll))}_onSingleTap(t){const{singleTap:{intersect:n},range:o}=this._options.features,i=re(t);let s;if(n==="native")s=i.target;else if(n==="touch"){this.resolveSelectables();const{x:c,y:l}=i;s=this._selectables.find(a=>{const{right:f,left:d,top:v,bottom:u}=a.getBoundingClientRect();return c<f&&c>d&&l<u&&l>v})}if(!s)return;for(this.resolveSelectables();!this._selectables.includes(s);)if(s.parentElement)s=s.parentElement;else{this._targetBoundaryScrolled||this.clearSelection();return}const{stored:r}=this._selection;if(this._emitEvent("start",t),t.shiftKey&&o&&this._latestElement){const c=this._latestElement,[l,a]=c.compareDocumentPosition(s)&4?[s,c]:[c,s],f=[...this._selectables.filter(d=>d.compareDocumentPosition(l)&4&&d.compareDocumentPosition(a)&2),l,a];this.select(f),this._latestElement=c}else r.includes(s)&&(r.length===1||t.ctrlKey||r.every(c=>this._selection.stored.includes(c)))?this.deselect(s):(this.select(s),this._latestElement=s)}_delayedTapMove(t){const{container:n,document:o,behaviour:{startThreshold:i}}=this._options,{x1:s,y1:r}=this._areaLocation,{x:c,y:l}=re(t);if(typeof i=="number"&&K(c+l-(s+r))>=i||typeof i=="object"&&K(c-s)>=i.x||K(l-r)>=i.y){if(M(o,["mousemove","touchmove"],this._delayedTapMove,{passive:!1}),this._emitEvent("beforedrag",t)===!1){M(o,["mouseup","touchcancel","touchend"],this._onTapStop);return}R(o,["mousemove","touchmove"],this._onTapMove,{passive:!1}),B(this._area,"display","block"),V(n,o)[0].appendChild(this._clippingElement),this.resolveSelectables(),this._singleClick=!1,this._targetRect=this._targetElement.getBoundingClientRect(),this._scrollAvailable=this._targetElement.scrollHeight!==this._targetElement.clientHeight||this._targetElement.scrollWidth!==this._targetElement.clientWidth,this._scrollAvailable&&(R(this._targetElement,"wheel",this._wheelScroll,{passive:!1}),R(this._options.document,"keydown",this._keyboardScroll,{passive:!1}),this._selectables=this._selectables.filter(a=>this._targetElement.contains(a))),this._setupSelectionArea(),this._emitEvent("start",t),this._onTapMove(t)}this._handleMoveEvent(t)}_setupSelectionArea(){const{_clippingElement:t,_targetElement:n,_area:o}=this,i=this._targetRect=n.getBoundingClientRect();this._scrollAvailable?(B(t,{top:i.top,left:i.left,width:i.width,height:i.height}),B(o,{marginTop:-i.top,marginLeft:-i.left})):(B(t,{top:0,left:0,width:"100%",height:"100%"}),B(o,{marginTop:0,marginLeft:0}))}_onTapMove(t){const{_scrollSpeed:n,_areaLocation:o,_options:i,_frame:s}=this,{speedDivider:r}=i.behaviour.scrolling,c=this._targetElement,{x:l,y:a}=re(t);if(o.x2=l,o.y2=a,this._lastMousePosition.x=l,this._lastMousePosition.y=a,this._scrollAvailable&&!this._scrollingActive&&(n.y||n.x)){this._scrollingActive=!0;const f=()=>{if(!n.x&&!n.y){this._scrollingActive=!1;return}const{scrollTop:d,scrollLeft:v}=c;n.y&&(c.scrollTop+=Xe(n.y/r),o.y1-=c.scrollTop-d),n.x&&(c.scrollLeft+=Xe(n.x/r),o.x1-=c.scrollLeft-v),s.next(t),requestAnimationFrame(f)};requestAnimationFrame(f)}else s.next(t);this._handleMoveEvent(t)}_handleMoveEvent(t){const{features:n}=this._options;(n.touch&&en()||this._scrollAvailable&&tn())&&t.preventDefault()}_onScroll(){const{_scrollDelta:t,_options:{document:n}}=this,{scrollTop:o,scrollLeft:i}=n.scrollingElement??n.body;this._areaLocation.x1+=t.x-i,this._areaLocation.y1+=t.y-o,t.x=i,t.y=o,this._setupSelectionArea(),this._frame.next(null)}_onStartAreaScroll(){this._targetBoundaryScrolled=!0,M(this._targetElement,"scroll",this._onStartAreaScroll)}_wheelScroll(t){const{manualSpeed:n}=this._options.behaviour.scrolling,o=t.deltaY?t.deltaY>0?1:-1:0,i=t.deltaX?t.deltaX>0?1:-1:0;this._scrollSpeed.y+=o*n,this._scrollSpeed.x+=i*n,this._onTapMove(t),t.preventDefault()}_keyboardScroll(t){const{manualSpeed:n}=this._options.behaviour.scrolling,o=t.key==="ArrowLeft"?-1:t.key==="ArrowRight"?1:0,i=t.key==="ArrowUp"?-1:t.key==="ArrowDown"?1:0;this._scrollSpeed.x+=Math.sign(o)*n,this._scrollSpeed.y+=Math.sign(i)*n,t.preventDefault(),this._onTapMove({clientX:this._lastMousePosition.x,clientY:this._lastMousePosition.y,preventDefault:()=>{}})}_recalculateSelectionAreaRect(){const{_scrollSpeed:t,_areaLocation:n,_targetElement:o,_options:i}=this,{scrollTop:s,scrollHeight:r,clientHeight:c,scrollLeft:l,scrollWidth:a,clientWidth:f}=o,d=this._targetRect,{x1:v,y1:u}=n;let{x2:h,y2:p}=n;const{behaviour:{scrolling:{startScrollMargins:g}}}=i;h<d.left+g.x?(t.x=l?-K(d.left-h+g.x):0,h=h<d.left?d.left:h):h>d.right-g.x?(t.x=a-l-f?K(d.left+d.width-h-g.x):0,h=h>d.right?d.right:h):t.x=0,p<d.top+g.y?(t.y=s?-K(d.top-p+g.y):0,p=p<d.top?d.top:p):p>d.bottom-g.y?(t.y=r-s-c?K(d.top+d.height-p-g.y):0,p=p>d.bottom?d.bottom:p):t.y=0;const m=Ue(v,h),y=Ue(u,p),w=Ve(v,h),C=Ve(u,p);this._areaRect=Ge(m,y,w-m,C-y)}_redrawSelectionArea(){const{x:t,y:n,width:o,height:i}=this._areaRect,{style:s}=this._area;s.left=`${t}px`,s.top=`${n}px`,s.width=`${o}px`,s.height=`${i}px`}_onTapStop(t,n){var o;const{document:i,features:s}=this._options,{_singleClick:r}=this;M(this._targetElement,"scroll",this._onStartAreaScroll),M(i,["mousemove","touchmove"],this._delayedTapMove),M(i,["touchmove","mousemove"],this._onTapMove),M(i,["mouseup","touchcancel","touchend"],this._onTapStop),M(i,"scroll",this._onScroll),this._keepSelection(),t&&r&&s.singleTap.allow?this._onSingleTap(t):!r&&!n&&(this._updateElementSelection(),this._emitEvent("stop",t)),this._scrollSpeed.x=0,this._scrollSpeed.y=0,M(this._targetElement,"wheel",this._wheelScroll,{passive:!0}),M(this._options.document,"keydown",this._keyboardScroll,{passive:!0}),this._clippingElement.remove(),(o=this._frame)==null||o.cancel(),B(this._area,"display","none")}_updateElementSelection(){const{_selectables:t,_options:n,_selection:o,_areaRect:i}=this,{stored:s,selected:r,touched:c}=o,{intersect:l,overlap:a}=n.behaviour,f=a==="invert",d=[],v=[],u=[];for(let p=0;p<t.length;p++){const g=t[p];if(qe(i,g.getBoundingClientRect(),l)){if(r.includes(g))s.includes(g)&&!c.includes(g)&&c.push(g);else if(f&&s.includes(g)){u.push(g);continue}else v.push(g);d.push(g)}}f&&v.push(...s.filter(p=>!r.includes(p)));const h=a==="keep";for(let p=0;p<r.length;p++){const g=r[p];!d.includes(g)&&!(h&&s.includes(g))&&u.push(g)}o.selected=d,o.changed={added:v,removed:u},this._latestElement=void 0}_emitEvent(t,n){return this.emit(t,{event:n,store:this._selection,selection:this})}_keepSelection(){const{_options:t,_selection:n}=this,{selected:o,changed:i,touched:s,stored:r}=n,c=o.filter(l=>!r.includes(l));switch(t.behaviour.overlap){case"drop":{n.stored=[...c,...r.filter(l=>!s.includes(l))];break}case"invert":{n.stored=[...c,...r.filter(l=>!i.removed.includes(l))];break}case"keep":{n.stored=[...r,...o.filter(l=>!r.includes(l))];break}}}trigger(t,n=!0){this._onTapStart(t,n)}resolveSelectables(){this._selectables=V(this._options.selectables,this._options.document)}clearSelection(t=!0,n=!1){const{selected:o,stored:i,changed:s}=this._selection;s.added=[],s.removed.push(...o,...t?i:[]),n||(this._emitEvent("move",null),this._emitEvent("stop",null)),this._selection=Je(t?[]:i)}getSelection(){return this._selection.stored}getSelectionArea(){return this._area}getSelectables(){return this._selectables}setAreaLocation(t){Object.assign(this._areaLocation,t),this._redrawSelectionArea()}getAreaLocation(){return this._areaLocation}cancel(t=!1){this._onTapStop(null,!t)}destroy(){this.cancel(),this.disable(),this._clippingElement.remove(),super.unbindAllListeners()}select(t,n=!1){const{changed:o,selected:i,stored:s}=this._selection,r=V(t,this._options.document).filter(c=>!i.includes(c)&&!s.includes(c));return s.push(...r),i.push(...r),o.added.push(...r),o.removed=[],this._latestElement=void 0,n||(this._emitEvent("move",null),this._emitEvent("stop",null)),r}deselect(t,n=!1){const{selected:o,stored:i,changed:s}=this._selection,r=V(t,this._options.document).filter(c=>o.includes(c)||i.includes(c));this._selection.stored=i.filter(c=>!r.includes(c)),this._selection.selected=o.filter(c=>!r.includes(c)),this._selection.changed.added=[],this._selection.changed.removed.push(...r.filter(c=>!s.removed.includes(c))),this._latestElement=void 0,n||(this._emitEvent("move",null),this._emitEvent("stop",null))}};Ze.version="3.9.0";let on=Ze;function sn(e){const t=e.mouseSelectionButton===2?[2]:[0],n=new on({selectables:[".map-container me-tpc"],boundaries:[e.container],container:e.selectionContainer,features:{touch:!1},behaviour:{triggers:t,scrolling:{speedDivider:10,manualSpeed:750,startScrollMargins:{x:10,y:10}}}}).on("beforestart",({event:o})=>{var r;const i=o.target;if(i.id==="input-box"||i.className==="circle"||(r=e.container.querySelector(".context-menu"))!=null&&r.contains(i))return!1;if(!o.ctrlKey&&!o.metaKey){if(i.tagName==="ME-TPC"&&i.classList.contains("selected"))return!1;e.clearSelection()}const s=n.getSelectionArea();return s.style.background="#4f90f22d",s.style.border="1px solid #4f90f2",s.parentElement&&(s.parentElement.style.zIndex="9999"),!0}).on("move",({store:{changed:{added:o,removed:i}}})=>{if(o.length>0||i.length>0,o.length>0){for(const s of o)s.className="selected";e.currentNodes=[...e.currentNodes,...o],e.bus.fire("selectNodes",o.map(s=>s.nodeObj))}if(i.length>0){for(const s of i)s.classList.remove("selected");e.currentNodes=e.currentNodes.filter(s=>!(i!=null&&i.includes(s))),e.bus.fire("unselectNodes",i.map(s=>s.nodeObj))}});e.selection=n}const rn=function(e,t=!0){this.theme=e;const o={...(e.type==="dark"?fe:ue).cssVar,...e.cssVar},i=Object.keys(o);for(let s=0;s<i.length;s++){const r=i[s];this.container.style.setProperty(r,o[r])}t&&this.refresh()},U=e=>{var o;const t=(o=e.parent)==null?void 0:o.children,n=(t==null?void 0:t.indexOf(e))??0;return{siblings:t,index:n}};function cn(e){const{siblings:t,index:n}=U(e);if(t===void 0)return;const o=t[n];n===0?(t[n]=t[t.length-1],t[t.length-1]=o):(t[n]=t[n-1],t[n-1]=o)}function ln(e){const{siblings:t,index:n}=U(e);if(t===void 0)return;const o=t[n];n===t.length-1?(t[n]=t[0],t[0]=o):(t[n]=t[n+1],t[n+1]=o)}function Qe(e){const{siblings:t,index:n}=U(e);return t===void 0?0:(t.splice(n,1),t.length)}function an(e,t,n){const{siblings:o,index:i}=U(n);o!==void 0&&(t==="before"?o.splice(i,0,e):o.splice(i+1,0,e))}function dn(e,t){const{siblings:n,index:o}=U(e);n!==void 0&&(n[o]=t,t.children=[e])}function et(e,t,n){var o;if(Qe(t),(o=n.parent)!=null&&o.parent||(t.direction=n.direction),e==="in")n.children?n.children.push(t):n.children=[t];else{t.direction!==void 0&&(t.direction=n.direction);const{siblings:i,index:s}=U(n);if(i===void 0)return;e==="before"?i.splice(s,0,t):i.splice(s+1,0,t)}}const hn=function({map:e,direction:t},n){var o,i;if(t===0)return 0;if(t===1)return 1;if(t===2){const s=((o=e.querySelector(".lhs"))==null?void 0:o.childElementCount)||0,r=((i=e.querySelector(".rhs"))==null?void 0:i.childElementCount)||0;return s<=r?(n.direction=0,0):(n.direction=1,1)}},tt=function(e,t,n){var s,r;const o=n.children[0].children[0],i=t.parentElement;if(i.tagName==="ME-PARENT"){if(Z(o),i.children[1])i.nextSibling.appendChild(n);else{const c=e.createChildren([n]);i.appendChild(xe(!0)),i.insertAdjacentElement("afterend",c)}e.linkDiv(n.offsetParent)}else i.tagName==="ME-ROOT"&&(hn(e,o.nodeObj)===0?(s=e.container.querySelector(".lhs"))==null||s.appendChild(n):(r=e.container.querySelector(".rhs"))==null||r.appendChild(n),e.linkDiv())},un=function(e,t){const n=e.parentNode;if(t===0){const o=n.parentNode.parentNode;o.tagName!=="ME-MAIN"&&(o.previousSibling.children[1].remove(),o.remove())}n.parentNode.remove()},nt={before:"beforebegin",after:"afterend"},Z=function(e){const n=e.parentElement.parentElement.lastElementChild;(n==null?void 0:n.tagName)==="svg"&&(n==null||n.remove())},fn=function(e,t){const n=e.nodeObj,o=me(n);o.style&&t.style&&(t.style=Object.assign(o.style,t.style));const i=Object.assign(n,t);we.call(this,e,i),this.linkDiv(),this.bus.fire("operation",{name:"reshapeNode",obj:i,origin:o})},ke=function(e,t,n){if(!t)return null;const o=t.nodeObj;o.expanded===!1&&(e.expandNode(t,!0),t=e.findEle(o.id));const i=n||e.generateNewObj();o.children?o.children.push(i):o.children=[i],j(e.nodeData);const{grp:s,top:r}=e.createWrapper(i);return tt(e,t,s),{newTop:r,newNodeObj:i}},pn=function(e,t,n){var a,f,d,v;const o=t||this.currentNode;if(!o)return;const i=o.nodeObj;if(i.parent){if(!((a=i.parent)!=null&&a.parent)&&((d=(f=i.parent)==null?void 0:f.children)==null?void 0:d.length)===1&&this.direction===2){this.addChild(this.findEle(i.parent.id),n);return}}else{this.addChild();return}const s=n||this.generateNewObj();if(!((v=i.parent)!=null&&v.parent)){const u=o.closest("me-main").className===A.LHS?0:1;s.direction=u}an(s,e,i),j(this.nodeData);const r=o.parentElement,{grp:c,top:l}=this.createWrapper(s);r.parentElement.insertAdjacentElement(nt[e],c),this.linkDiv(c.offsetParent),n||this.editTopic(l.firstChild),this.bus.fire("operation",{name:"insertSibling",type:e,obj:s}),this.selectNode(l.firstChild,!0)},gn=function(e,t){const n=e||this.currentNode;if(!n)return;Z(n);const o=n.nodeObj;if(!o.parent)return;const i=t||this.generateNewObj();dn(o,i),j(this.nodeData);const s=n.parentElement.parentElement,{grp:r,top:c}=this.createWrapper(i,!0);c.appendChild(xe(!0)),s.insertAdjacentElement("afterend",r);const l=this.createChildren([s]);c.insertAdjacentElement("afterend",l),this.linkDiv(),t||this.editTopic(c.firstChild),this.selectNode(c.firstChild,!0),this.bus.fire("operation",{name:"insertParent",obj:i})},mn=function(e,t){const n=e||this.currentNode;if(!n)return;const o=ke(this,n,t);if(!o)return;const{newTop:i,newNodeObj:s}=o;this.bus.fire("operation",{name:"addChild",obj:s}),t||this.editTopic(i.firstChild),this.selectNode(i.firstChild,!0)},vn=function(e,t){const n=me(e.nodeObj);ge(n);const o=ke(this,t,n);if(!o)return;const{newNodeObj:i}=o;this.selectNode(this.findEle(i.id)),this.bus.fire("operation",{name:"copyNode",obj:i})},yn=function(e,t){e=oe(e);const n=[];for(let o=0;o<e.length;o++){const i=e[o],s=me(i.nodeObj);ge(s);const r=ke(this,t,s);if(!r)return;const{newNodeObj:c}=r;n.push(c)}this.unselectNodes(this.currentNodes),this.selectNodes(n.map(o=>this.findEle(o.id))),this.bus.fire("operation",{name:"copyNodes",objs:n})},bn=function(e){const t=e||this.currentNode;if(!t)return;const n=t.nodeObj;cn(n);const o=t.parentNode.parentNode;o.parentNode.insertBefore(o,o.previousSibling),this.linkDiv(),this.bus.fire("operation",{name:"moveUpNode",obj:n})},wn=function(e){const t=e||this.currentNode;if(!t)return;const n=t.nodeObj;ln(n);const o=t.parentNode.parentNode;o.nextSibling?o.nextSibling.insertAdjacentElement("afterend",o):o.parentNode.prepend(o),this.linkDiv(),this.bus.fire("operation",{name:"moveDownNode",obj:n})},xn=function(e){if(e.length===0)return;e=oe(e);for(const n of e){const o=n.nodeObj,i=Qe(o);un(n,i)}const t=e[e.length-1];this.selectNode(this.findEle(t.nodeObj.parent.id)),this.linkDiv(),this.bus.fire("operation",{name:"removeNodes",objs:e.map(n=>n.nodeObj)})},En=function(e,t){e=oe(e);const n=t.nodeObj;n.expanded===!1&&(this.expandNode(t,!0),t=this.findEle(n.id));for(const o of e){const i=o.nodeObj;et("in",i,n),j(this.nodeData);const s=o.parentElement;tt(this,t,s.parentElement)}this.linkDiv(),this.bus.fire("operation",{name:"moveNodeIn",objs:e.map(o=>o.nodeObj),toObj:n})},ot=(e,t,n,o)=>{e=oe(e),t==="after"&&(e=e.reverse());const i=n.nodeObj,s=[];for(const r of e){const c=r.nodeObj;et(t,c,i),j(o.nodeData),Z(r);const l=r.parentElement.parentNode;s.includes(l.parentElement)||s.push(l.parentElement),n.parentElement.parentNode.insertAdjacentElement(nt[t],l)}for(const r of s)r.childElementCount===0&&r.tagName!=="ME-MAIN"&&(r.previousSibling.children[1].remove(),r.remove());o.linkDiv(),o.bus.fire("operation",{name:t==="before"?"moveNodeBefore":"moveNodeAfter",objs:e.map(r=>r.nodeObj),toObj:i})},it=Object.freeze(Object.defineProperty({__proto__:null,addChild:mn,beginEdit:function(e){const t=e||this.currentNode;t&&(t.nodeObj.dangerouslySetInnerHTML||this.editTopic(t))},copyNode:vn,copyNodes:yn,insertParent:gn,insertSibling:pn,moveDownNode:wn,moveNodeAfter:function(e,t){ot(e,"after",t,this)},moveNodeBefore:function(e,t){ot(e,"before",t,this)},moveNodeIn:En,moveUpNode:bn,removeNodes:xn,reshapeNode:fn,rmSubline:Z,setNodeTopic:function(e,t){e.text.textContent=t,e.nodeObj.topic=t,this.linkDiv()}},Symbol.toStringTag,{value:"Module"}));function Sn(e){return{nodeData:e.isFocusMode?e.nodeDataBackup:e.nodeData,arrows:e.arrows,summaries:e.summaries,direction:e.direction,theme:e.theme}}const Cn=function(e){const t=this.container,n=e.getBoundingClientRect(),o=t.getBoundingClientRect();if(n.top>o.bottom||n.bottom<o.top||n.left>o.right||n.right<o.left){const s=n.left+n.width/2,r=n.top+n.height/2,c=o.left+o.width/2,l=o.top+o.height/2,a=s-c,f=r-l;this.move(-a,-f,!0)}},Nn=function(e,t,n){this.clearSelection(),this.scrollIntoView(e),this.selection.select(e),t&&this.bus.fire("selectNewNode",e.nodeObj)},kn=function(e){this.selection.select(e)},_n=function(e){this.selection.deselect(e)},Tn=function(){this.unselectNodes(this.currentNodes),this.unselectSummary(),this.unselectArrow()},Ln=function(){const e=Sn(this);return JSON.stringify(e,(t,n)=>{if(!(t==="parent"&&typeof n!="string"))return n})},An=function(){return JSON.parse(this.getDataString())},Mn=function(){this.editable=!0},Dn=function(){this.editable=!1},Pn=function(e,t={x:0,y:0}){if(e<this.scaleMin||e>this.scaleMax)return;const n=this.container.getBoundingClientRect(),o=t.x?t.x-n.left-n.width/2:0,i=t.y?t.y-n.top-n.height/2:0,{dx:s,dy:r}=st(this),c=this.map.style.transform,{x:l,y:a}=Ae(c),f=l-s,d=a-r,v=this.scaleVal,u=(-o+f)*(1-e/v),h=(-i+d)*(1-e/v);this.map.style.transform=`translate(${l-u}px, ${a-h}px) scale(${e})`,this.scaleVal=e,this.bus.fire("scale",e)},$n=function(){const e=this.nodes.offsetHeight/this.container.offsetHeight,t=this.nodes.offsetWidth/this.container.offsetWidth,n=1/Math.max(1,Math.max(e,t));this.scaleVal=n,this.map.style.transform="scale("+n+")",this.bus.fire("scale",n)},On=function(e,t,n=!1){const{map:o,scaleVal:i,bus:s}=this,r=o.style.transform;let{x:c,y:l}=Ae(r);c+=e,l+=t,n&&(o.style.transition="transform 0.3s",setTimeout(()=>{o.style.transition="none"},300)),o.style.transform=`translate(${c}px, ${l}px) scale(${i})`,s.fire("move",{dx:e,dy:t})},st=e=>{const{container:t,map:n,nodes:o}=e,i=n.querySelector("me-root"),s=i.offsetTop,r=i.offsetLeft,c=i.offsetWidth,l=i.offsetHeight;let a,f;return e.alignment==="root"?(a=t.offsetWidth/2-r-c/2,f=t.offsetHeight/2-s-l/2,n.style.transformOrigin=`${r+c/2}px 50%`):(a=(t.offsetWidth-o.offsetWidth)/2,f=(t.offsetHeight-o.offsetHeight)/2,n.style.transformOrigin="50% 50%"),{dx:a,dy:f}},jn=Object.freeze(Object.defineProperty({__proto__:null,cancelFocus:function(){this.isFocusMode=!1,this.tempDirection!==null&&(this.nodeData=this.nodeDataBackup,this.direction=this.tempDirection,this.tempDirection=null,this.refresh(),this.toCenter())},clearSelection:Tn,disableEdit:Dn,enableEdit:Mn,expandNode:function(e,t){const n=e.nodeObj;typeof t=="boolean"?n.expanded=t:n.expanded!==!1?n.expanded=!1:n.expanded=!0;const o=e.getBoundingClientRect(),i={x:o.left,y:o.top},s=e.parentNode,r=s.children[1];if(r.expanded=n.expanded,r.className=n.expanded?"minus":"",Z(e),n.expanded){const d=this.createChildren(n.children.map(v=>this.createWrapper(v).grp));s.parentNode.appendChild(d)}else s.parentNode.children[1].remove();this.linkDiv(e.closest("me-main > me-wrapper"));const c=e.getBoundingClientRect(),l={x:c.left,y:c.top},a=i.x-l.x,f=i.y-l.y;this.move(a,f),this.bus.fire("expandNode",n)},expandNodeAll:function(e,t){const n=e.nodeObj,o=e.getBoundingClientRect(),i={x:o.left,y:o.top};z(n,t??!n.expanded),this.refresh();const s=this.findEle(n.id).getBoundingClientRect(),r={x:s.left,y:s.top},c=i.x-r.x,l=i.y-r.y;this.move(c,l)},focusNode:function(e){e.nodeObj.parent&&(this.clearSelection(),this.tempDirection===null&&(this.tempDirection=this.direction),this.isFocusMode||(this.nodeDataBackup=this.nodeData,this.isFocusMode=!0),this.nodeData=e.nodeObj,this.initRight(),this.toCenter())},getData:An,getDataString:Ln,initLeft:function(){this.direction=0,this.refresh(),this.toCenter()},initRight:function(){this.direction=1,this.refresh(),this.toCenter()},initSide:function(){this.direction=2,this.refresh(),this.toCenter()},install:function(e){e(this)},move:On,refresh:function(e){this.clearSelection(),e&&(e=JSON.parse(JSON.stringify(e)),this.nodeData=e.nodeData,this.arrows=e.arrows||[],this.summaries=e.summaries||[],e.theme&&this.changeTheme(e.theme)),j(this.nodeData),this.layout(),this.linkDiv()},scale:Pn,scaleFit:$n,scrollIntoView:Cn,selectNode:Nn,selectNodes:kn,setLocale:function(e){this.locale=e,this.refresh()},toCenter:function(){const{map:e}=this,{dx:t,dy:n}=st(this);e.style.transform=`translate(${t}px, ${n}px) scale(${this.scaleVal})`},unselectNodes:_n},Symbol.toStringTag,{value:"Module"})),rt={create:function(e){return{dom:e,moved:!1,pointerdown:!1,lastX:0,lastY:0,handlePointerMove(t){if(this.pointerdown){this.moved=!0;const n=t.clientX-this.lastX,o=t.clientY-this.lastY;this.lastX=t.clientX,this.lastY=t.clientY,this.cb&&this.cb(n,o)}},handlePointerDown(t){t.button===0&&(this.pointerdown=!0,this.lastX=t.clientX,this.lastY=t.clientY,this.dom.setPointerCapture(t.pointerId))},handleClear(t){this.pointerdown=!1,t.pointerId!==void 0&&this.dom.releasePointerCapture(t.pointerId)},cb:null,init(t,n){this.cb=n,this.handleClear=this.handleClear.bind(this),this.handlePointerMove=this.handlePointerMove.bind(this),this.handlePointerDown=this.handlePointerDown.bind(this),this.destroy=ye([{dom:t,evt:"pointermove",func:this.handlePointerMove},{dom:t,evt:"pointerleave",func:this.handleClear},{dom:t,evt:"pointerup",func:this.handleClear},{dom:this.dom,evt:"pointerdown",func:this.handlePointerDown}])},destroy:null,clear(){this.moved=!1,this.pointerdown=!1}}}},Hn="#4dc4ff";function ct(e,t,n,o,i,s,r,c){return{x:e/8+n*3/8+i*3/8+r/8,y:t/8+o*3/8+s*3/8+c/8}}function Bn(e,t,n){S(e,{x:t+"",y:n+""})}function ce(e,t,n,o,i){S(e,{x1:t+"",y1:n+"",x2:o+"",y2:i+""})}function lt(e,t,n,o,i,s,r,c,l,a){var p;const f=`M ${t} ${n} C ${o} ${i} ${s} ${r} ${c} ${l}`;if(e.line.setAttribute("d",f),a.style){const g=a.style;g.stroke&&e.line.setAttribute("stroke",g.stroke),g.strokeWidth&&e.line.setAttribute("stroke-width",String(g.strokeWidth)),g.strokeDasharray&&e.line.setAttribute("stroke-dasharray",g.strokeDasharray),g.strokeLinecap&&e.line.setAttribute("stroke-linecap",g.strokeLinecap),g.opacity!==void 0&&e.line.setAttribute("opacity",String(g.opacity))}const d=e.querySelectorAll('path[stroke="transparent"]');d.length>0&&d[0].setAttribute("d",f);const v=ne(s,r,c,l);if(v){const g=`M ${v.x1} ${v.y1} L ${c} ${l} L ${v.x2} ${v.y2}`;if(e.arrow1.setAttribute("d",g),d.length>1&&d[1].setAttribute("d",g),a.style){const m=a.style;m.stroke&&e.arrow1.setAttribute("stroke",m.stroke),m.strokeWidth&&e.arrow1.setAttribute("stroke-width",String(m.strokeWidth)),m.strokeLinecap&&e.arrow1.setAttribute("stroke-linecap",m.strokeLinecap),m.opacity!==void 0&&e.arrow1.setAttribute("opacity",String(m.opacity))}}if(a.bidirectional){const g=ne(o,i,t,n);if(g){const m=`M ${g.x1} ${g.y1} L ${t} ${n} L ${g.x2} ${g.y2}`;if(e.arrow2.setAttribute("d",m),d.length>2&&d[2].setAttribute("d",m),a.style){const y=a.style;y.stroke&&e.arrow2.setAttribute("stroke",y.stroke),y.strokeWidth&&e.arrow2.setAttribute("stroke-width",String(y.strokeWidth)),y.strokeLinecap&&e.arrow2.setAttribute("stroke-linecap",y.strokeLinecap),y.opacity!==void 0&&e.arrow2.setAttribute("opacity",String(y.opacity))}}}const{x:u,y:h}=ct(t,n,o,i,s,r,c,l);Bn(e.label,u,h),(p=a.style)!=null&&p.labelColor&&e.label.setAttribute("fill",a.style.labelColor),qn(e)}function le(e,t,n){const{offsetLeft:o,offsetTop:i}=H(e.nodes,t),s=t.offsetWidth,r=t.offsetHeight,c=o+s/2,l=i+r/2,a=c+n.x,f=l+n.y;return{w:s,h:r,cx:c,cy:l,ctrlX:a,ctrlY:f}}function X(e){let t,n;const o=(e.cy-e.ctrlY)/(e.ctrlX-e.cx);return o>e.h/e.w||o<-e.h/e.w?e.cy-e.ctrlY<0?(t=e.cx-e.h/2/o,n=e.cy+e.h/2):(t=e.cx+e.h/2/o,n=e.cy-e.h/2):e.cx-e.ctrlX<0?(t=e.cx+e.w/2,n=e.cy-e.w*o/2):(t=e.cx-e.w/2,n=e.cy+e.w*o/2),{x:t,y:n}}const _e=function(e,t,n,o,i){var b;if(!t||!n)return;const s=le(e,t,o.delta1),r=le(e,n,o.delta2),{x:c,y:l}=X(s),{ctrlX:a,ctrlY:f}=s,{ctrlX:d,ctrlY:v}=r,{x:u,y:h}=X(r),p=ne(d,v,u,h);if(!p)return;const g=`M ${p.x1} ${p.y1} L ${u} ${h} L ${p.x2} ${p.y2}`;let m="";if(o.bidirectional){const E=ne(a,f,c,l);if(!E)return;m=`M ${E.x1} ${E.y1} L ${c} ${l} L ${E.x2} ${E.y2}`}const y=Dt(`M ${c} ${l} C ${a} ${f} ${d} ${v} ${u} ${h}`,g,m,o.style),{x:w,y:C}=ct(c,l,a,f,d,v,u,h),k=(b=o.style)==null?void 0:b.labelColor,x=Ee(o.label,w,C,{anchor:"middle",color:k,dataType:"custom-link"});y.appendChild(x),y.label=x,y.arrowObj=o,y.dataset.linkid=o.id,e.linkSvgGroup.appendChild(y),i||(e.arrows.push(o),e.currentArrow=y,at(e,o,s,r))},Rn=function(e,t,n={}){const o={id:F(),label:"Custom Link",from:e.nodeObj.id,to:t.nodeObj.id,delta1:{x:e.offsetWidth/2+100,y:0},delta2:{x:t.offsetWidth/2+100,y:0},...n};_e(this,e,t,o),this.bus.fire("operation",{name:"createArrow",obj:o})},Fn=function(e){ae(this);const t={...e,id:F()};_e(this,this.findEle(t.from),this.findEle(t.to),t),this.bus.fire("operation",{name:"createArrow",obj:t})},Wn=function(e){let t;if(e?t=e:t=this.currentArrow,!t)return;ae(this);const n=t.arrowObj.id;this.arrows=this.arrows.filter(o=>o.id!==n),t.remove(),this.bus.fire("operation",{name:"removeArrow",obj:{id:n}})},In=function(e){this.currentArrow=e;const t=e.arrowObj,n=this.findEle(t.from),o=this.findEle(t.to),i=le(this,n,t.delta1),s=le(this,o,t.delta2);at(this,t,i,s)},Kn=function(){ae(this),this.currentArrow=null},Te=function(e,t){const n=document.createElementNS(L,"path");return S(n,{d:e,stroke:t,fill:"none","stroke-width":"6","stroke-linecap":"round","stroke-linejoin":"round"}),n},Yn=function(e,t){const n=document.createElementNS(L,"g");n.setAttribute("class","arrow-highlight"),n.setAttribute("opacity","0.45");const o=Te(e.line.getAttribute("d"),t);n.appendChild(o);const i=Te(e.arrow1.getAttribute("d"),t);if(n.appendChild(i),e.arrow2.getAttribute("d")){const s=Te(e.arrow2.getAttribute("d"),t);n.appendChild(s)}e.insertBefore(n,e.firstChild)},Gn=function(e){const t=e.querySelector(".arrow-highlight");t&&t.remove()},qn=function(e){const t=e.querySelector(".arrow-highlight");if(!t)return;const n=t.querySelectorAll("path");n.length>=1&&n[0].setAttribute("d",e.line.getAttribute("d")),n.length>=2&&n[1].setAttribute("d",e.arrow1.getAttribute("d")),n.length>=3&&e.arrow2.getAttribute("d")&&n[2].setAttribute("d",e.arrow2.getAttribute("d"))},ae=function(e){var t,n;(t=e.helper1)==null||t.destroy(),(n=e.helper2)==null||n.destroy(),e.linkController.style.display="none",e.P2.style.display="none",e.P3.style.display="none",e.currentArrow&&Gn(e.currentArrow)},at=function(e,t,n,o){const{linkController:i,P2:s,P3:r,line1:c,line2:l,nodes:a,map:f,currentArrow:d,bus:v}=e;if(!d)return;i.style.display="initial",s.style.display="initial",r.style.display="initial",a.appendChild(i),a.appendChild(s),a.appendChild(r),Yn(d,Hn);let{x:u,y:h}=X(n),{ctrlX:p,ctrlY:g}=n,{ctrlX:m,ctrlY:y}=o,{x:w,y:C}=X(o);s.style.cssText=`top:${g}px;left:${p}px;`,r.style.cssText=`top:${y}px;left:${m}px;`,ce(c,u,h,p,g),ce(l,m,y,w,C),e.helper1=rt.create(s),e.helper2=rt.create(r),e.helper1.init(f,(k,x)=>{p=p+k/e.scaleVal,g=g+x/e.scaleVal;const b=X({...n,ctrlX:p,ctrlY:g});u=b.x,h=b.y,s.style.top=g+"px",s.style.left=p+"px",lt(d,u,h,p,g,m,y,w,C,t),ce(c,u,h,p,g),t.delta1.x=p-n.cx,t.delta1.y=g-n.cy,v.fire("updateArrowDelta",t)}),e.helper2.init(f,(k,x)=>{m=m+k/e.scaleVal,y=y+x/e.scaleVal;const b=X({...o,ctrlX:m,ctrlY:y});w=b.x,C=b.y,r.style.top=y+"px",r.style.left=m+"px",lt(d,u,h,p,g,m,y,w,C,t),ce(l,m,y,w,C),t.delta2.x=m-o.cx,t.delta2.y=y-o.cy,v.fire("updateArrowDelta",t)})};function zn(){this.linkSvgGroup.innerHTML="";for(let e=0;e<this.arrows.length;e++){const t=this.arrows[e];try{_e(this,this.findEle(t.from),this.findEle(t.to),t,!0)}catch{}}this.nodes.appendChild(this.linkSvgGroup)}function Vn(e){if(ae(this),!e)return;const t=e.label;Re(this,t,e.arrowObj)}function Un(){this.arrows=this.arrows.filter(e=>te(e.from,this.nodeData)&&te(e.to,this.nodeData))}const Xn=Object.freeze(Object.defineProperty({__proto__:null,createArrow:Rn,createArrowFrom:Fn,editArrowLabel:Vn,removeArrow:Wn,renderArrow:zn,selectArrow:In,tidyArrow:Un,unselectArrow:Kn},Symbol.toStringTag,{value:"Module"})),Jn=function(e){var l,a;if(e.length===0)throw new Error("No selected node.");if(e.length===1){const f=e[0].nodeObj,d=e[0].nodeObj.parent;if(!d)throw new Error("Can not select root node.");const v=d.children.findIndex(u=>f===u);return{parent:d.id,start:v,end:v}}let t=0;const n=e.map(f=>{let d=f.nodeObj;const v=[];for(;d.parent;){const u=d.parent,h=u.children,p=h==null?void 0:h.indexOf(d);d=u,v.unshift({node:d,index:p})}return v.length>t&&(t=v.length),v});let o=0;e:for(;o<t;o++){const f=(l=n[0][o])==null?void 0:l.node;for(let d=1;d<n.length;d++)if(((a=n[d][o])==null?void 0:a.node)!==f)break e}if(!o)throw new Error("Can not select root node.");const i=n.map(f=>f[o-1].index).sort(),s=i[0]||0,r=i[i.length-1]||0,c=n[0][o-1].node;if(!c.parent)throw new Error("Please select nodes in the same main topic.");return{parent:c.id,start:s,end:r}},Zn=function(e){const t=document.createElementNS(L,"g");return t.setAttribute("id",e),t},dt=function(e,t){const n=document.createElementNS(L,"path");return S(n,{d:e,stroke:t||"#666",fill:"none","stroke-linecap":"round","stroke-width":"2"}),n},Qn=e=>e.parentElement.parentElement,eo=function(e,{parent:t,start:n}){const o=e.findEle(t),i=o.nodeObj;let s;return i.parent?s=o.closest("me-main").className:s=e.findEle(i.children[n].id).closest("me-main").className,s},Le=function(e,t){var E;const{id:n,label:o,parent:i,start:s,end:r}=t,{nodes:c,theme:l,summarySvg:a}=e,d=e.findEle(i).nodeObj,v=eo(e,t);let u=1/0,h=0,p=0,g=0;for(let N=s;N<=r;N++){const P=(E=d.children)==null?void 0:E[N];if(!P)return e.removeSummary(n),null;const $=Qn(e.findEle(P.id)),{offsetLeft:Y,offsetTop:ft}=H(c,$),pt=s===r?10:20;N===s&&(p=ft+pt),N===r&&(g=ft+$.offsetHeight-pt),Y<u&&(u=Y),$.offsetWidth+Y>h&&(h=$.offsetWidth+Y)}let m,y;const w=p+10,C=g+10,k=(w+C)/2,x=l.cssVar["--color"];v===A.LHS?(m=dt(`M ${u+10} ${w} c -5 0 -10 5 -10 10 L ${u} ${C-10} c 0 5 5 10 10 10 M ${u} ${k} h -10`,x),y=Ee(o,u-20,k+6,{anchor:"end",color:x})):(m=dt(`M ${h-10} ${w} c 5 0 10 5 10 10 L ${h} ${C-10} c 0 5 -5 10 -10 10 M ${h} ${k} h 10`,x),y=Ee(o,h+20,k+6,{anchor:"start",color:x}));const b=Zn("s-"+n);return b.appendChild(m),b.appendChild(y),b.summaryObj=t,a.appendChild(b),b},to=Object.freeze(Object.defineProperty({__proto__:null,createSummary:function(){if(!this.currentNodes)return;const{currentNodes:e,summaries:t,bus:n}=this,{parent:o,start:i,end:s}=Jn(e),r={id:F(),parent:o,start:i,end:s,label:"summary"},c=Le(this,r);t.push(r),this.editSummary(c),n.fire("operation",{name:"createSummary",obj:r})},createSummaryFrom:function(e){const t=F(),n={...e,id:t};Le(this,n),this.summaries.push(n),this.bus.fire("operation",{name:"createSummary",obj:n})},editSummary:function(e){if(!e)return;const t=e.childNodes[1];Re(this,t,e.summaryObj)},removeSummary:function(e){var n;const t=this.summaries.findIndex(o=>o.id===e);t>-1&&(this.summaries.splice(t,1),(n=document.querySelector("#s-"+e))==null||n.remove()),this.bus.fire("operation",{name:"removeSummary",obj:{id:e}})},renderSummary:function(){this.summarySvg.innerHTML="",this.summaries.forEach(e=>{try{Le(this,e)}catch{}}),this.nodes.insertAdjacentElement("beforeend",this.summarySvg)},selectSummary:function(e){const t=e.children[1].getBBox(),n=6,o=3,i=document.createElementNS(L,"rect");S(i,{x:t.x-n+"",y:t.y-n+"",width:t.width+n*2+"",height:t.height+n*2+"",rx:o+"",stroke:this.theme.cssVar["--selected"]||"#4dc4ff","stroke-width":"2",fill:"none"}),e.appendChild(i),this.currentSummary=e},unselectSummary:function(){var e,t;(t=(e=this.currentSummary)==null?void 0:e.querySelector("rect"))==null||t.remove(),this.currentSummary=null}},Symbol.toStringTag,{value:"Module"})),T="http://www.w3.org/2000/svg";function no(e,t){const n=document.createElementNS(T,"svg");return S(n,{version:"1.1",xmlns:T,height:e,width:t}),n}function oo(e,t){return(parseInt(e)-parseInt(t))/2}function io(e,t,n,o){const i=document.createElementNS(T,"g");let s="";return e.text?s=e.text.textContent:s=e.childNodes[0].textContent,s.split(`
15
- `).forEach((c,l)=>{const a=document.createElementNS(T,"text");S(a,{x:n+parseInt(t.paddingLeft)+"",y:o+parseInt(t.paddingTop)+oo(t.lineHeight,t.fontSize)*(l+1)+parseFloat(t.fontSize)*(l+1)+"","text-anchor":"start","font-family":t.fontFamily,"font-size":`${t.fontSize}`,"font-weight":`${t.fontWeight}`,fill:`${t.color}`}),a.innerHTML=c,i.appendChild(a)}),i}function so(e,t,n,o){var c;let i="";(c=e.nodeObj)!=null&&c.dangerouslySetInnerHTML?i=e.nodeObj.dangerouslySetInnerHTML:e.text?i=e.text.textContent:i=e.childNodes[0].textContent;const s=document.createElementNS(T,"foreignObject");S(s,{x:n+parseInt(t.paddingLeft)+"",y:o+parseInt(t.paddingTop)+"",width:t.width,height:t.height});const r=document.createElement("div");return S(r,{xmlns:"http://www.w3.org/1999/xhtml",style:`font-family: ${t.fontFamily}; font-size: ${t.fontSize}; font-weight: ${t.fontWeight}; color: ${t.color}; white-space: pre-wrap;`}),r.innerHTML=i,s.appendChild(r),s}function ro(e,t){const n=getComputedStyle(t),{offsetLeft:o,offsetTop:i}=H(e.nodes,t),s=document.createElementNS(T,"rect");return S(s,{x:o+"",y:i+"",rx:n.borderRadius,ry:n.borderRadius,width:n.width,height:n.height,fill:n.backgroundColor,stroke:n.borderColor,"stroke-width":n.borderWidth}),s}function de(e,t,n=!1){const o=getComputedStyle(t),{offsetLeft:i,offsetTop:s}=H(e.nodes,t),r=document.createElementNS(T,"rect");S(r,{x:i+"",y:s+"",rx:o.borderRadius,ry:o.borderRadius,width:o.width,height:o.height,fill:o.backgroundColor,stroke:o.borderColor,"stroke-width":o.borderWidth});const c=document.createElementNS(T,"g");c.appendChild(r);let l;return n?l=so(t,o,i,s):l=io(t,o,i,s),c.appendChild(l),c}function co(e,t){const n=getComputedStyle(t),{offsetLeft:o,offsetTop:i}=H(e.nodes,t),s=document.createElementNS(T,"a"),r=document.createElementNS(T,"text");return S(r,{x:o+"",y:i+parseInt(n.fontSize)+"","text-anchor":"start","font-family":n.fontFamily,"font-size":`${n.fontSize}`,"font-weight":`${n.fontWeight}`,fill:`${n.color}`}),r.innerHTML=t.textContent,s.appendChild(r),s.setAttribute("href",t.href),s}function lo(e,t){const n=getComputedStyle(t),{offsetLeft:o,offsetTop:i}=H(e.nodes,t),s=document.createElementNS(T,"image");return S(s,{x:o+"",y:i+"",width:n.width+"",height:n.height+"",href:t.src}),s}const he=100,ao='<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">',ho=(e,t=!1)=>{var d,v,u;const n=e.nodes,o=n.offsetHeight+he*2,i=n.offsetWidth+he*2,s=no(o+"px",i+"px"),r=document.createElementNS(T,"svg"),c=document.createElementNS(T,"rect");S(c,{x:"0",y:"0",width:`${i}`,height:`${o}`,fill:e.theme.cssVar["--bgcolor"]}),s.appendChild(c),n.querySelectorAll(".subLines").forEach(h=>{const p=h.cloneNode(!0),{offsetLeft:g,offsetTop:m}=H(n,h.parentElement);p.setAttribute("x",`${g}`),p.setAttribute("y",`${m}`),r.appendChild(p)});const l=(d=n.querySelector(".lines"))==null?void 0:d.cloneNode(!0);l&&r.appendChild(l);const a=(v=n.querySelector(".topiclinks"))==null?void 0:v.cloneNode(!0);a&&r.appendChild(a);const f=(u=n.querySelector(".summary"))==null?void 0:u.cloneNode(!0);return f&&r.appendChild(f),n.querySelectorAll("me-tpc").forEach(h=>{h.nodeObj.dangerouslySetInnerHTML?r.appendChild(de(e,h,!t)):(r.appendChild(ro(e,h)),r.appendChild(de(e,h.text,!t)))}),n.querySelectorAll(".tags > span").forEach(h=>{r.appendChild(de(e,h))}),n.querySelectorAll(".icons > span").forEach(h=>{r.appendChild(de(e,h))}),n.querySelectorAll(".hyper-link").forEach(h=>{r.appendChild(co(e,h))}),n.querySelectorAll("img").forEach(h=>{r.appendChild(lo(e,h))}),S(r,{x:he+"",y:he+"",overflow:"visible"}),s.appendChild(r),s},uo=(e,t)=>(t&&e.insertAdjacentHTML("afterbegin","<style>"+t+"</style>"),ao+e.outerHTML);function fo(e){return new Promise((t,n)=>{const o=new FileReader;o.onload=i=>{t(i.target.result)},o.onerror=i=>{n(i)},o.readAsDataURL(e)})}const po=Object.freeze(Object.defineProperty({__proto__:null,exportPng:async function(e=!1,t){const n=this.exportSvg(e,t),o=await fo(n);return new Promise((i,s)=>{const r=new Image;r.setAttribute("crossOrigin","anonymous"),r.onload=()=>{const c=document.createElement("canvas");c.width=r.width,c.height=r.height,c.getContext("2d").drawImage(r,0,0),c.toBlob(i,"image/png",1)},r.src=o,r.onerror=s})},exportSvg:function(e=!1,t){const n=ho(this,e),o=uo(n,t);return new Blob([o],{type:"image/svg+xml"})}},Symbol.toStringTag,{value:"Module"}));function go(e,t){return async function(...n){const o=this.before[t];o&&!await o.apply(this,n)||e.apply(this,n)}}const ht=Object.keys(it),ut={};for(let e=0;e<ht.length;e++){const t=ht[e];ut[t]=go(it[t],t)}const mo={getObjById:te,generateNewObj:gt,layout:Ct,linkDiv:Pt,editTopic:Mt,createWrapper:_t,createParent:Tt,createChildren:Lt,createTopic:At,findEle:Oe,changeTheme:rn,...jn,...ut,...Xn,...to,...po,init(e){if(e=JSON.parse(JSON.stringify(e)),!e||!e.nodeData)return new Error("MindElixir: `data` is required");e.direction!==void 0&&(this.direction=e.direction),this.changeTheme(e.theme||this.theme,!1),this.nodeData=e.nodeData,j(this.nodeData),this.arrows=e.arrows||[],this.summaries=e.summaries||[],this.tidyArrow(),this.toolBar&&Jt(this),this.keypress&&xt(this,this.keypress),this.editable&&sn(this),this.contextMenu&&this.disposable.push($t(this,this.contextMenu)),this.draggable&&this.disposable.push(Bt(this)),this.allowUndo&&this.disposable.push(Ft(this)),this.layout(),this.linkDiv(),this.toCenter()},destroy(){var e;this.disposable.forEach(t=>t()),this.el&&(this.el.innerHTML=""),this.el=void 0,this.nodeData=void 0,this.arrows=void 0,this.summaries=void 0,this.currentArrow=void 0,this.currentNodes=void 0,this.currentSummary=void 0,this.waitCopy=void 0,this.theme=void 0,this.direction=void 0,this.bus=void 0,this.container=void 0,this.map=void 0,this.lines=void 0,this.linkController=void 0,this.linkSvgGroup=void 0,this.P2=void 0,this.P3=void 0,this.line1=void 0,this.line2=void 0,this.nodes=void 0,(e=this.selection)==null||e.destroy(),this.selection=void 0}};function vo({pT:e,pL:t,pW:n,pH:o,cT:i,cL:s,cW:r,cH:c,direction:l,containerHeight:a}){let f=t+n/2;const d=e+o/2;let v;l===A.LHS?v=s+r:v=s;const u=i+c/2,p=(1-Math.abs(u-d)/a)*.25*(n/2);return l===A.LHS?f=f-n/10-p:f=f+n/10+p,`M ${f} ${d} Q ${f} ${u} ${v} ${u}`}function yo({pT:e,pL:t,pW:n,pH:o,cT:i,cL:s,cW:r,cH:c,direction:l,isFirst:a}){const f=parseInt(this.container.style.getPropertyValue("--node-gap-x"));let d=0,v=0;a?d=e+o/2:d=e+o;const u=i+c;let h=0,p=0,g=0;const m=Math.abs(d-u)/300*f;return l===A.LHS?(g=t,h=g+f,p=g-f,v=s+f,`M ${h} ${d} C ${g} ${d} ${g+m} ${u} ${p} ${u} H ${v}`):(g=t+n,h=g-f,p=g+f,v=s+r-f,`M ${h} ${d} C ${g} ${d} ${g-m} ${u} ${p} ${u} H ${v}`)}const bo="5.1.1";function wo(e){return{x:0,y:0,moved:!1,mousedown:!1,onMove(t,n){this.mousedown&&(this.moved=!0,e.move(t,n))},clear(){this.mousedown=!1}}}const Q=document;function D({el:e,direction:t,locale:n,draggable:o,editable:i,contextMenu:s,toolBar:r,keypress:c,mouseSelectionButton:l,selectionContainer:a,before:f,newTopicName:d,allowUndo:v,generateMainBranch:u,generateSubBranch:h,overflowHidden:p,theme:g,alignment:m,scaleSensitivity:y,scaleMax:w,scaleMin:C,handleWheel:k,markdown:x,imageProxy:b}){let E=null;const N=Object.prototype.toString.call(e);if(N==="[object HTMLDivElement]"?E=e:N==="[object String]"&&(E=document.querySelector(e)),!E)throw new Error("MindElixir: el is not a valid element");E.style.position="relative",E.innerHTML="",this.el=E,this.disposable=[],this.before=f||{},this.locale=n||"en",this.newTopicName=d||"New Node",this.contextMenu=s??!0,this.toolBar=r??!0,this.keypress=c??!0,this.mouseSelectionButton=l??0,this.direction=t??1,this.draggable=o??!0,this.editable=i??!0,this.allowUndo=v??!0,this.scaleSensitivity=y??.1,this.scaleMax=w??1.4,this.scaleMin=C??.2,this.generateMainBranch=u||vo,this.generateSubBranch=h||yo,this.overflowHidden=p??!1,this.alignment=m??"root",this.handleWheel=k??!0,this.markdown=x||void 0,this.imageProxy=b||void 0,this.currentNodes=[],this.currentArrow=null,this.scaleVal=1,this.tempDirection=null,this.dragMoveHelper=wo(this),this.bus=St(),this.container=Q.createElement("div"),this.selectionContainer=a||this.container,this.container.className="map-container";const P=window.matchMedia("(prefers-color-scheme: dark)");this.theme=g||(P.matches?fe:ue);const $=Q.createElement("div");$.className="map-canvas",this.map=$,this.container.setAttribute("tabindex","0"),this.container.appendChild(this.map),this.el.appendChild(this.container),this.nodes=Q.createElement("me-nodes"),this.lines=J("lines"),this.summarySvg=J("summary"),this.linkController=J("linkcontroller"),this.P2=Q.createElement("div"),this.P3=Q.createElement("div"),this.P2.className=this.P3.className="circle",this.P2.style.display=this.P3.style.display="none",this.line1=Be(),this.line2=Be(),this.linkController.appendChild(this.line1),this.linkController.appendChild(this.line2),this.linkSvgGroup=J("topiclinks"),this.map.appendChild(this.nodes),this.overflowHidden?this.container.style.overflow="hidden":this.disposable.push(Et(this))}return D.prototype=mo,Object.defineProperty(D.prototype,"currentNode",{get(){return this.currentNodes[this.currentNodes.length-1]},enumerable:!0}),D.LEFT=0,D.RIGHT=1,D.SIDE=2,D.THEME=ue,D.DARK_THEME=fe,D.version=bo,D.E=Oe,D.new=e=>({nodeData:{id:F(),topic:e||"new topic",children:[]}}),D}();
7
+ border-radius:${i.borderRadius};`,this.direction===0&&(t.style.right="0"),$e(t),this.bus.fire("operation",{name:"beginEdit",obj:e.nodeObj}),t.addEventListener("keydown",s=>{s.stopPropagation();const r=s.key;if(r==="Enter"||r==="Tab"){if(s.shiftKey)return;s.preventDefault(),t.blur(),this.container.focus()}}),t.addEventListener("blur",()=>{var r;if(!t)return;const s=((r=t.textContent)==null?void 0:r.trim())||"";s===""?n.topic=o:(n.topic=s,this.markdown?e.text.innerHTML=this.markdown(n.topic,n):e.text.textContent=s),t.remove(),s!==o&&(this.linkDiv(),this.bus.fire("operation",{name:"finishEdit",obj:n,origin:o}))})},Ce=function(e){const t=T.createElement("me-epd");return t.expanded=e!==!1,t.className=e!==!1?"minus":"",t},z=document,P="http://www.w3.org/2000/svg",re=function(e){const t=e.clientWidth,n=e.clientHeight,o=e.dataset,i=Number(o.x),s=Number(o.y),r=o.anchor;let l=i;r==="middle"?l=i-t/2:r==="end"&&(l=i-t),e.style.left=`${l}px`,e.style.top=`${s-n/2}px`,e.style.visibility="visible"},Ee=function(e,t,n,o){const{anchor:i="middle",color:s,dataType:r,svgId:l}=o,c=document.createElement("div");c.className="svg-label",c.style.color=s||"#666";const a="label-"+l;return c.id=a,c.innerHTML=e,c.dataset.type=r,c.dataset.svgId=l,c.dataset.x=t.toString(),c.dataset.y=n.toString(),c.dataset.anchor=i,c},je=function(e,t,n){const o=z.createElementNS(P,"path");return _(o,{d:e,stroke:t||"#666",fill:"none","stroke-width":n}),o},Z=function(e){const t=z.createElementNS(P,"svg");return t.setAttribute("class",e),t.setAttribute("overflow","visible"),t},He=function(){const e=z.createElementNS(P,"line");return e.setAttribute("stroke","#4dc4ff"),e.setAttribute("fill","none"),e.setAttribute("stroke-width","2"),e.setAttribute("opacity","0.45"),e},Mt=function(e,t,n,o){const i=z.createElementNS(P,"g");return[{name:"line",d:e},{name:"arrow1",d:t},{name:"arrow2",d:n}].forEach((r,l)=>{const c=r.d,a=z.createElementNS(P,"path"),f={d:c,stroke:(o==null?void 0:o.stroke)||"rgb(235, 95, 82)",fill:"none","stroke-linecap":(o==null?void 0:o.strokeLinecap)||"cap","stroke-width":String((o==null?void 0:o.strokeWidth)||"2")};(o==null?void 0:o.opacity)!==void 0&&(f.opacity=String(o.opacity)),_(a,f),l===0&&a.setAttribute("stroke-dasharray",(o==null?void 0:o.strokeDasharray)||"8,2");const d=z.createElementNS(P,"path");_(d,{d:c,stroke:"transparent",fill:"none","stroke-width":"15"}),i.appendChild(d),i.appendChild(a),i[r.name]=a}),i},Be=function(e,t,n){if(!t)return;const o=n.label,i=t.cloneNode(!0);e.nodes.appendChild(i),i.id="input-box",i.textContent=o,i.contentEditable="plaintext-only",i.spellcheck=!1,i.style.cssText=`
8
+ left:${t.style.left};
9
+ top:${t.style.top};
10
+ max-width: 200px;
11
+ border: 1px solid #ccc;
12
+ border-radius: 2px;
13
+ `,$e(i),e.scrollIntoView(i),i.addEventListener("keydown",s=>{s.stopPropagation();const r=s.key;if(r==="Enter"||r==="Tab"){if(s.shiftKey)return;s.preventDefault(),i.blur(),e.container.focus()}}),i.addEventListener("blur",()=>{var r;if(!i)return;const s=((r=i.textContent)==null?void 0:r.trim())||"";s===""?n.label=o:n.label=s,i.remove(),s!==o&&(t.textContent=n.label,re(t),"parent"in n?e.bus.fire("operation",{name:"finishEditSummary",obj:n}):e.bus.fire("operation",{name:"finishEditArrowLabel",obj:n}))})},Dt=function(e){const t=this.map.querySelector("me-root"),n=t.offsetTop,o=t.offsetLeft,i=t.offsetWidth,s=t.offsetHeight,r=this.map.querySelectorAll("me-main > me-wrapper");this.lines.innerHTML="";for(let l=0;l<r.length;l++){const c=r[l],a=c.querySelector("me-tpc"),{offsetLeft:f,offsetTop:d}=j(this.nodes,a),m=a.offsetWidth,u=a.offsetHeight,h=c.parentNode.className,p=this.generateMainBranch({pT:n,pL:o,pW:i,pH:s,cT:d,cL:f,cW:m,cH:u,direction:h,containerHeight:this.nodes.offsetHeight}),g=this.theme.palette,v=a.nodeObj.branchColor||g[l%g.length];if(a.style.borderColor=v,this.lines.appendChild(je(p,v,"3")),e&&e!==c)continue;const b=Z("subLines"),y=c.lastChild;y.tagName==="svg"&&y.remove(),c.appendChild(b),Re(this,b,v,c,h,!0)}this.renderArrow(),this.renderSummary(),this.bus.fire("linkDiv")},Re=function(e,t,n,o,i,s){const r=o.firstChild,l=o.children[1].children;if(l.length===0)return;const c=r.offsetTop,a=r.offsetLeft,f=r.offsetWidth,d=r.offsetHeight;for(let m=0;m<l.length;m++){const u=l[m],h=u.firstChild,p=h.offsetTop,g=h.offsetLeft,v=h.offsetWidth,b=h.offsetHeight,y=h.firstChild.nodeObj.branchColor||n,C=e.generateSubBranch({pT:c,pL:a,pW:f,pH:d,cT:p,cL:g,cW:v,cH:b,direction:i,isFirst:s});t.appendChild(je(C,y,"2"));const E=h.children[1];if(E){if(!E.expanded)continue}else continue;Re(e,t,y,u,i)}},Fe={addChild:"插入子节点",addParent:"插入父节点",addSibling:"插入同级节点",removeNode:"删除节点",focus:"专注",cancelFocus:"取消专注",moveUp:"上移",moveDown:"下移",link:"连接",linkBidirectional:"双向连接",clickTips:"请点击目标节点",summary:"摘要"},Ie={cn:Fe,zh_CN:Fe,zh_TW:{addChild:"插入子節點",addParent:"插入父節點",addSibling:"插入同級節點",removeNode:"刪除節點",focus:"專注",cancelFocus:"取消專注",moveUp:"上移",moveDown:"下移",link:"連接",linkBidirectional:"雙向連接",clickTips:"請點擊目標節點",summary:"摘要"},en:{addChild:"Add child",addParent:"Add parent",addSibling:"Add sibling",removeNode:"Remove node",focus:"Focus Mode",cancelFocus:"Cancel Focus Mode",moveUp:"Move up",moveDown:"Move down",link:"Link",linkBidirectional:"Bidirectional Link",clickTips:"Please click the target node",summary:"Summary"},ru:{addChild:"Добавить дочерний элемент",addParent:"Добавить родительский элемент",addSibling:"Добавить на этом уровне",removeNode:"Удалить узел",focus:"Режим фокусировки",cancelFocus:"Отменить режим фокусировки",moveUp:"Поднять выше",moveDown:"Опустить ниже",link:"Ссылка",linkBidirectional:"Двунаправленная ссылка",clickTips:"Пожалуйста, нажмите на целевой узел",summary:"Описание"},ja:{addChild:"子ノードを追加する",addParent:"親ノードを追加します",addSibling:"兄弟ノードを追加する",removeNode:"ノードを削除",focus:"集中",cancelFocus:"集中解除",moveUp:"上へ移動",moveDown:"下へ移動",link:"コネクト",linkBidirectional:"双方向リンク",clickTips:"ターゲットノードをクリックしてください",summary:"概要"},pt:{addChild:"Adicionar item filho",addParent:"Adicionar item pai",addSibling:"Adicionar item irmao",removeNode:"Remover item",focus:"Modo Foco",cancelFocus:"Cancelar Modo Foco",moveUp:"Mover para cima",moveDown:"Mover para baixo",link:"Link",linkBidirectional:"Link bidirecional",clickTips:"Favor clicar no item alvo",summary:"Resumo"},it:{addChild:"Aggiungi figlio",addParent:"Aggiungi genitore",addSibling:"Aggiungi fratello",removeNode:"Rimuovi nodo",focus:"Modalità Focus",cancelFocus:"Annulla Modalità Focus",moveUp:"Sposta su",moveDown:"Sposta giù",link:"Collega",linkBidirectional:"Collegamento bidirezionale",clickTips:"Si prega di fare clic sul nodo di destinazione",summary:"Unisci nodi"},es:{addChild:"Agregar hijo",addParent:"Agregar padre",addSibling:"Agregar hermano",removeNode:"Eliminar nodo",focus:"Modo Enfoque",cancelFocus:"Cancelar Modo Enfoque",moveUp:"Mover hacia arriba",moveDown:"Mover hacia abajo",link:"Enlace",linkBidirectional:"Enlace bidireccional",clickTips:"Por favor haga clic en el nodo de destino",summary:"Resumen"},fr:{addChild:"Ajout enfant",addParent:"Ajout parent",addSibling:"Ajout voisin",removeNode:"Supprimer",focus:"Cibler",cancelFocus:"Retour",moveUp:"Monter",moveDown:"Descendre",link:"Lier",linkBidirectional:"Lien bidirectionnel",clickTips:"Cliquer sur le noeud cible",summary:"Annoter"},ko:{addChild:"자식 추가",addParent:"부모 추가",addSibling:"형제 추가",removeNode:"노드 삭제",focus:"포커스 모드",cancelFocus:"포커스 모드 취소",moveUp:"위로 이동",moveDown:"아래로 이동",link:"연결",linkBidirectional:"양방향 연결",clickTips:"대상 노드를 클릭하십시오",summary:"요약"}},Eo="";function Pt(e,t){t=t===!0?{focus:!0,link:!0}:t;const n=x=>{const w=document.createElement("div");return w.innerText=x,w.className="tips",w},o=(x,w,S)=>{const N=document.createElement("li");return N.id=x,N.innerHTML=`<span>${me(w)}</span><span ${S?'class="key"':""}>${me(S)}</span>`,N},i=Ie[e.locale]?e.locale:"en",s=Ie[i],r=o("cm-add_child",s.addChild,"Tab"),l=o("cm-add_parent",s.addParent,"Ctrl + Enter"),c=o("cm-add_sibling",s.addSibling,"Enter"),a=o("cm-remove_child",s.removeNode,"Delete"),f=o("cm-fucus",s.focus,""),d=o("cm-unfucus",s.cancelFocus,""),m=o("cm-up",s.moveUp,"PgUp"),u=o("cm-down",s.moveDown,"Pgdn"),h=o("cm-link",s.link,""),p=o("cm-link-bidirectional",s.linkBidirectional,""),g=o("cm-summary",s.summary,""),v=document.createElement("ul");if(v.className="menu-list",v.appendChild(r),v.appendChild(l),v.appendChild(c),v.appendChild(a),t.focus&&(v.appendChild(f),v.appendChild(d)),v.appendChild(m),v.appendChild(u),v.appendChild(g),t.link&&(v.appendChild(h),v.appendChild(p)),t&&t.extend)for(let x=0;x<t.extend.length;x++){const w=t.extend[x],S=o(w.name,w.name,w.key||"");v.appendChild(S),S.onclick=N=>{w.onclick(N)}}const b=document.createElement("div");b.className="context-menu",b.appendChild(v),b.hidden=!0,e.container.append(b);let y=!0;const C=x=>{const w=x.target;if(ye(w)){w.parentElement.tagName==="ME-ROOT"?y=!0:y=!1,y?(f.className="disabled",m.className="disabled",u.className="disabled",l.className="disabled",c.className="disabled",a.className="disabled"):(f.className="",m.className="",u.className="",l.className="",c.className="",a.className=""),b.hidden=!1,v.style.top="",v.style.bottom="",v.style.left="",v.style.right="";const S=v.getBoundingClientRect(),N=v.offsetHeight,k=v.offsetWidth,R=x.clientY-S.top,G=x.clientX-S.left;N+R>window.innerHeight?(v.style.top="",v.style.bottom="0px"):(v.style.bottom="",v.style.top=R+15+"px"),k+G>window.innerWidth?(v.style.left="",v.style.right="0px"):(v.style.right="",v.style.left=G+10+"px")}};e.bus.addListener("showContextMenu",C),b.onclick=x=>{x.target===b&&(b.hidden=!0)},r.onclick=()=>{e.addChild(),b.hidden=!0},l.onclick=()=>{e.insertParent(),b.hidden=!0},c.onclick=()=>{y||(e.insertSibling("after"),b.hidden=!0)},a.onclick=()=>{y||(e.removeNodes(e.currentNodes||[]),b.hidden=!0)},f.onclick=()=>{y||(e.focusNode(e.currentNode),b.hidden=!0)},d.onclick=()=>{e.cancelFocus(),b.hidden=!0},m.onclick=()=>{y||(e.moveUpNode(),b.hidden=!0)},u.onclick=()=>{y||(e.moveDownNode(),b.hidden=!0)};const E=x=>{b.hidden=!0;const w=e.currentNode,S=n(s.clickTips);e.container.appendChild(S),e.map.addEventListener("click",N=>{N.preventDefault(),S.remove();const k=N.target;(k.parentElement.tagName==="ME-PARENT"||k.parentElement.tagName==="ME-ROOT")&&e.createArrow(w,k,x)},{once:!0})};return h.onclick=()=>E(),p.onclick=()=>E({bidirectional:!0}),g.onclick=()=>{b.hidden=!0,e.createSummary(),e.unselectNodes(e.currentNodes)},()=>{r.onclick=null,l.onclick=null,c.onclick=null,a.onclick=null,f.onclick=null,d.onclick=null,m.onclick=null,u.onclick=null,h.onclick=null,g.onclick=null,b.onclick=null,e.container.oncontextmenu=null}}const Se=document,Ot=function(e,t){if(!t)return Ne(e),e;let n=e.querySelector(".insert-preview");const o=`insert-preview ${t} show`;return n||(n=Se.createElement("div"),e.appendChild(n)),n.className=o,e},Ne=function(e){if(!e)return;const t=e.querySelectorAll(".insert-preview");for(const n of t||[])n.remove()},We=function(e,t){for(const n of t){const o=n.parentElement.parentElement.contains(e);if(!(e&&e.tagName==="ME-TPC"&&e!==n&&!o&&e.nodeObj.parent))return!1}return!0},$t=function(e){const t=document.createElement("div");return t.className="mind-elixir-ghost",e.container.appendChild(t),t};class jt{constructor(t){ee(this,"mind");ee(this,"isMoving",!1);ee(this,"interval",null);ee(this,"speed",20);this.mind=t}move(t,n){this.isMoving||(this.isMoving=!0,this.interval=setInterval(()=>{this.mind.move(t*this.speed*this.mind.scaleVal,n*this.speed*this.mind.scaleVal)},100))}stop(){this.isMoving=!1,clearInterval(this.interval)}}function Ht(e){let t=null,n=null;const o=$t(e),i=new jt(e),s=a=>{e.selection.cancel();const f=a.target;if((f==null?void 0:f.tagName)!=="ME-TPC"){a.preventDefault();return}let d=e.currentNodes;d!=null&&d.includes(f)||(e.selectNode(f),d=e.currentNodes),e.dragged=d,d.length>1?o.innerHTML=d.length+"":o.innerHTML=f.innerHTML;for(const m of d)m.parentElement.parentElement.style.opacity="0.5";a.dataTransfer.setDragImage(o,0,0),a.dataTransfer.dropEffect="move",e.dragMoveHelper.clear()},r=a=>{const{dragged:f}=e;if(!f)return;i.stop();for(const m of f)m.parentElement.parentElement.style.opacity="1";const d=a.target;d.style.opacity="",n&&(Ne(n),t==="before"?e.moveNodeBefore(f,n):t==="after"?e.moveNodeAfter(f,n):t==="in"&&e.moveNodeIn(f,n),e.dragged=null,o.innerHTML="")},l=a=>{a.preventDefault();const f=12*e.scaleVal,{dragged:d}=e;if(!d)return;const m=e.container.getBoundingClientRect();a.clientX<m.x+50?i.move(1,0):a.clientX>m.x+m.width-50?i.move(-1,0):a.clientY<m.y+50?i.move(0,1):a.clientY>m.y+m.height-50?i.move(0,-1):i.stop(),Ne(n);const u=Se.elementFromPoint(a.clientX,a.clientY-f);if(We(u,d)){n=u;const h=u.getBoundingClientRect(),p=h.y;a.clientY>p+h.height?t="after":t="in"}else{const h=Se.elementFromPoint(a.clientX,a.clientY+f),p=h.getBoundingClientRect();if(We(h,d)){n=h;const g=p.y;a.clientY<g?t="before":t="in"}else t=n=null}n&&Ot(n,t)};return we([{dom:e.map,evt:"dragstart",func:s},{dom:e.map,evt:"dragend",func:r},{dom:e.map,evt:"dragover",func:l}])}const Bt=function(e){return["createSummary","removeSummary","finishEditSummary"].includes(e.name)?{type:"summary",value:e.obj.id}:["createArrow","removeArrow","finishEditArrowLabel"].includes(e.name)?{type:"arrow",value:e.obj.id}:["removeNodes","copyNodes","moveNodeBefore","moveNodeAfter","moveNodeIn"].includes(e.name)?{type:"nodes",value:e.objs.map(t=>t.id)}:{type:"nodes",value:[e.obj.id]}};function Rt(e){let t=[],n=-1,o=e.getData(),i=[];e.undo=function(){if(n>-1){const c=t[n];o=c.prev,e.refresh(c.prev);try{c.currentTarget.type==="nodes"&&(c.operation==="removeNodes"?e.selectNodes(c.currentTarget.value.map(a=>this.findEle(a))):e.selectNodes(c.currentSelected.map(a=>this.findEle(a))))}catch{}finally{n--}}},e.redo=function(){if(n<t.length-1){n++;const c=t[n];o=c.next,e.refresh(c.next);try{c.currentTarget.type==="nodes"&&(c.operation==="removeNodes"?e.selectNodes(c.currentSelected.map(a=>this.findEle(a))):e.selectNodes(c.currentTarget.value.map(a=>this.findEle(a))))}catch{}}};const s=function(c){if(c.name==="beginEdit")return;t=t.slice(0,n+1);const a=e.getData(),f={prev:o,operation:c.name,currentSelected:i.map(d=>d.id),currentTarget:Bt(c),next:a};t.push(f),o=a,n=t.length-1},r=function(c){(c.metaKey||c.ctrlKey)&&(c.shiftKey&&c.key==="Z"||c.key==="y")?e.redo():(c.metaKey||c.ctrlKey)&&c.key==="z"&&e.undo()},l=function(c){i=e.currentNodes.map(a=>a.nodeObj)};return e.bus.addListener("operation",s),e.bus.addListener("selectNodes",l),e.container.addEventListener("keydown",r),()=>{e.bus.removeListener("operation",s),e.bus.removeListener("selectNodes",l),e.container.removeEventListener("keydown",r)}}const Ft='<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1750169394918" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2021" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M851.91168 328.45312c-59.97056 0-108.6208 48.47104-108.91264 108.36992l-137.92768 38.4a109.14304 109.14304 0 0 0-63.46752-46.58688l1.39264-137.11872c47.29344-11.86816 82.31936-54.66624 82.31936-105.64096 0-60.15488-48.76288-108.91776-108.91776-108.91776s-108.91776 48.76288-108.91776 108.91776c0 49.18784 32.60928 90.75712 77.38368 104.27392l-1.41312 138.87488a109.19936 109.19936 0 0 0-63.50336 48.55808l-138.93632-39.48544 0.01024-0.72704c0-60.15488-48.76288-108.91776-108.91776-108.91776s-108.91776 48.75776-108.91776 108.91776c0 60.15488 48.76288 108.91264 108.91776 108.91264 39.3984 0 73.91232-20.92032 93.03552-52.2496l139.19232 39.552-0.00512 0.2304c0 25.8304 9.00096 49.5616 24.02816 68.23424l-90.14272 132.63872a108.7488 108.7488 0 0 0-34.2528-5.504c-60.15488 0-108.91776 48.768-108.91776 108.91776 0 60.16 48.76288 108.91776 108.91776 108.91776 60.16 0 108.92288-48.75776 108.92288-108.91776 0-27.14624-9.9328-51.968-26.36288-71.04l89.04704-131.03104a108.544 108.544 0 0 0 37.6832 6.70208 108.672 108.672 0 0 0 36.48512-6.272l93.13792 132.57216a108.48256 108.48256 0 0 0-24.69888 69.0688c0 60.16 48.768 108.92288 108.91776 108.92288 60.16 0 108.91776-48.76288 108.91776-108.92288 0-60.14976-48.75776-108.91776-108.91776-108.91776a108.80512 108.80512 0 0 0-36.69504 6.3488l-93.07136-132.48a108.48768 108.48768 0 0 0 24.79616-72.22784l136.09984-37.888c18.99008 31.93856 53.84192 53.3504 93.69088 53.3504 60.16 0 108.92288-48.75776 108.92288-108.91264-0.00512-60.15488-48.77312-108.92288-108.92288-108.92288z" p-id="2022"></path></svg>',It='<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1750169375313" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1775" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M639 463.30000001L639 285.1c0-36.90000001-26.4-68.5-61.3-68.5l-150.2 0c-1.5 0-3 0.1-4.5 0.3-10.2-38.7-45.5-67.3-87.5-67.3-50 0-90.5 40.5-90.5 90.5s40.5 90.5 90.5 90.5c42 0 77.3-28.6 87.5-67.39999999 1.4 0.3 2.9 0.4 4.5 0.39999999L577.7 263.6c6.8 0 14.3 8.9 14.3 21.49999999l0 427.00000001c0 12.7-7.40000001 21.5-14.30000001 21.5l-150.19999999 0c-1.5 0-3 0.2-4.5 0.4-10.2-38.8-45.5-67.3-87.5-67.3-50 0-90.5 40.5-90.5 90.4 0 49.9 40.5 90.6 90.5 90.59999999 42 0 77.3-28.6 87.5-67.39999999 1.4 0.2 2.9 0.4 4.49999999 0.4L577.7 780.7c34.80000001 0 61.3-31.6 61.3-68.50000001L639 510.3l79.1 0c10.4 38.5 45.49999999 67 87.4 67 50 0 90.5-40.5 90.5-90.5s-40.5-90.5-90.5-90.5c-41.79999999 0-77.00000001 28.4-87.4 67L639 463.30000001z" fill="currentColor" p-id="1776"></path></svg>',Wt='<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1750169667709" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3037" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M385 560.69999999L385 738.9c0 36.90000001 26.4 68.5 61.3 68.5l150.2 0c1.5 0 3-0.1 4.5-0.3 10.2 38.7 45.5 67.3 87.5 67.3 50 0 90.5-40.5 90.5-90.5s-40.5-90.5-90.5-90.5c-42 0-77.3 28.6-87.5 67.39999999-1.4-0.3-2.9-0.4-4.5-0.39999999L446.3 760.4c-6.8 0-14.3-8.9-14.3-21.49999999l0-427.00000001c0-12.7 7.40000001-21.5 14.30000001-21.5l150.19999999 0c1.5 0 3-0.2 4.5-0.4 10.2 38.8 45.5 67.3 87.5 67.3 50 0 90.5-40.5 90.5-90.4 0-49.9-40.5-90.6-90.5-90.59999999-42 0-77.3 28.6-87.5 67.39999999-1.4-0.2-2.9-0.4-4.49999999-0.4L446.3 243.3c-34.80000001 0-61.3 31.6-61.3 68.50000001L385 513.7l-79.1 0c-10.4-38.5-45.49999999-67-87.4-67-50 0-90.5 40.5-90.5 90.5s40.5 90.5 90.5 90.5c41.79999999 0 77.00000001-28.4 87.4-67L385 560.69999999z" fill="currentColor" p-id="3038"></path></svg>',Gt='<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1750169402629" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2170" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M639.328 416c8.032 0 16.096-3.008 22.304-9.056l202.624-197.184-0.8 143.808c-0.096 17.696 14.144 32.096 31.808 32.192 0.064 0 0.128 0 0.192 0 17.6 0 31.904-14.208 32-31.808l1.248-222.208c0-0.672-0.352-1.248-0.384-1.92 0.032-0.512 0.288-0.896 0.288-1.408 0.032-17.664-14.272-32-31.968-32.032L671.552 96l-0.032 0c-17.664 0-31.968 14.304-32 31.968C639.488 145.632 653.824 160 671.488 160l151.872 0.224-206.368 200.8c-12.672 12.32-12.928 32.608-0.64 45.248C622.656 412.736 630.976 416 639.328 416z" p-id="2171"></path><path d="M896.032 639.552 896.032 639.552c-17.696 0-32 14.304-32.032 31.968l-0.224 151.872-200.832-206.4c-12.32-12.64-32.576-12.96-45.248-0.64-12.672 12.352-12.928 32.608-0.64 45.248l197.184 202.624-143.808-0.8c-0.064 0-0.128 0-0.192 0-17.6 0-31.904 14.208-32 31.808-0.096 17.696 14.144 32.096 31.808 32.192l222.24 1.248c0.064 0 0.128 0 0.192 0 0.64 0 1.12-0.32 1.76-0.352 0.512 0.032 0.896 0.288 1.408 0.288l0.032 0c17.664 0 31.968-14.304 32-31.968L928 671.584C928.032 653.952 913.728 639.584 896.032 639.552z" p-id="2172"></path><path d="M209.76 159.744l143.808 0.8c0.064 0 0.128 0 0.192 0 17.6 0 31.904-14.208 32-31.808 0.096-17.696-14.144-32.096-31.808-32.192L131.68 95.328c-0.064 0-0.128 0-0.192 0-0.672 0-1.248 0.352-1.888 0.384-0.448 0-0.8-0.256-1.248-0.256 0 0-0.032 0-0.032 0-17.664 0-31.968 14.304-32 31.968L96 352.448c-0.032 17.664 14.272 32 31.968 32.032 0 0 0.032 0 0.032 0 17.664 0 31.968-14.304 32-31.968l0.224-151.936 200.832 206.4c6.272 6.464 14.624 9.696 22.944 9.696 8.032 0 16.096-3.008 22.304-9.056 12.672-12.32 12.96-32.608 0.64-45.248L209.76 159.744z" p-id="2173"></path><path d="M362.368 617.056l-202.624 197.184 0.8-143.808c0.096-17.696-14.144-32.096-31.808-32.192-0.064 0-0.128 0-0.192 0-17.6 0-31.904 14.208-32 31.808l-1.248 222.24c0 0.704 0.352 1.312 0.384 2.016 0 0.448-0.256 0.832-0.256 1.312-0.032 17.664 14.272 32 31.968 32.032L352.448 928c0 0 0.032 0 0.032 0 17.664 0 31.968-14.304 32-31.968s-14.272-32-31.968-32.032l-151.936-0.224 206.4-200.832c12.672-12.352 12.96-32.608 0.64-45.248S375.008 604.704 362.368 617.056z" p-id="2174"></path></svg>',Kt='<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1750169573443" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2883" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M514.133333 488.533333m-106.666666 0a106.666667 106.666667 0 1 0 213.333333 0 106.666667 106.666667 0 1 0-213.333333 0Z" fill="currentColor" p-id="2884"></path><path d="M512 64C264.533333 64 64 264.533333 64 512c0 236.8 183.466667 428.8 416 445.866667v-134.4c-53.333333-59.733333-200.533333-230.4-200.533333-334.933334 0-130.133333 104.533333-234.666667 234.666666-234.666666s234.666667 104.533333 234.666667 234.666666c0 61.866667-49.066667 153.6-145.066667 270.933334l-59.733333 68.266666V960C776.533333 942.933333 960 748.8 960 512c0-247.466667-200.533333-448-448-448z" fill="currentColor" p-id="2885"></path></svg>',Yt='<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1750169419447" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2480" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M863.328 482.56l-317.344-1.12L545.984 162.816c0-17.664-14.336-32-32-32s-32 14.336-32 32l0 318.4L159.616 480.064c-0.032 0-0.064 0-0.096 0-17.632 0-31.936 14.24-32 31.904C127.424 529.632 141.728 544 159.392 544.064l322.592 1.152 0 319.168c0 17.696 14.336 32 32 32s32-14.304 32-32l0-318.944 317.088 1.12c0.064 0 0.096 0 0.128 0 17.632 0 31.936-14.24 32-31.904C895.264 496.992 880.96 482.624 863.328 482.56z" p-id="2481"></path></svg>',qt='<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1750169426515" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2730" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M863.744 544 163.424 544c-17.664 0-32-14.336-32-32s14.336-32 32-32l700.32 0c17.696 0 32 14.336 32 32S881.44 544 863.744 544z" p-id="2731"></path></svg>',So="",zt={side:Ft,left:It,right:Wt,full:Gt,living:Kt,zoomin:Yt,zoomout:qt},I=(e,t)=>{const n=document.createElement("span");return n.id=e,n.innerHTML=zt[t],n};function Vt(e){const t=document.createElement("div"),n=I("fullscreen","full"),o=I("toCenter","living"),i=I("zoomout","zoomout"),s=I("zoomin","zoomin"),r=document.createElement("span");return r.innerText="100%",t.appendChild(n),t.appendChild(o),t.appendChild(i),t.appendChild(s),t.className="mind-elixir-toolbar rb",n.onclick=()=>{document.fullscreenElement===e.el?document.exitFullscreen():e.el.requestFullscreen()},o.onclick=()=>{e.toCenter()},i.onclick=()=>{e.scale(e.scaleVal-e.scaleSensitivity)},s.onclick=()=>{e.scale(e.scaleVal+e.scaleSensitivity)},t}function Xt(e){const t=document.createElement("div"),n=I("tbltl","left"),o=I("tbltr","right"),i=I("tblts","side");return t.appendChild(n),t.appendChild(o),t.appendChild(i),t.className="mind-elixir-toolbar lt",n.onclick=()=>{e.initLeft()},o.onclick=()=>{e.initRight()},i.onclick=()=>{e.initSide()},t}function Ut(e){e.container.append(Vt(e)),e.container.append(Xt(e))}/*! @viselect/vanilla v3.9.0 MIT | https://github.com/Simonwep/selection/tree/master/packages/vanilla */class Jt{constructor(){this._listeners=new Map,this.on=this.addEventListener,this.off=this.removeEventListener,this.emit=this.dispatchEvent}addEventListener(t,n){const o=this._listeners.get(t)??new Set;return this._listeners.set(t,o),o.add(n),this}removeEventListener(t,n){var o;return(o=this._listeners.get(t))==null||o.delete(n),this}dispatchEvent(t,...n){let o=!0;for(const i of this._listeners.get(t)??[])o=i(...n)!==!1&&o;return o}unbindAllListeners(){this._listeners.clear()}}const Ge=(e,t="px")=>typeof e=="number"?e+t:e,H=({style:e},t,n)=>{if(typeof t=="object")for(const[o,i]of Object.entries(t))i!==void 0&&(e[o]=Ge(i));else n!==void 0&&(e[t]=Ge(n))},Ke=(e=0,t=0,n=0,o=0)=>{const i={x:e,y:t,width:n,height:o,top:t,left:e,right:e+n,bottom:t+o};return{...i,toJSON:()=>JSON.stringify(i)}},Zt=e=>{let t,n=-1,o=!1;return{next:(...i)=>{t=i,o||(o=!0,n=requestAnimationFrame(()=>{e(...t),o=!1}))},cancel:()=>{cancelAnimationFrame(n),o=!1}}},Ye=(e,t,n="touch")=>{switch(n){case"center":{const o=t.left+t.width/2,i=t.top+t.height/2;return o>=e.left&&o<=e.right&&i>=e.top&&i<=e.bottom}case"cover":return t.left>=e.left&&t.top>=e.top&&t.right<=e.right&&t.bottom<=e.bottom;case"touch":return e.right>=t.left&&e.left<=t.right&&e.bottom>=t.top&&e.top<=t.bottom}},Qt=()=>matchMedia("(hover: none), (pointer: coarse)").matches,en=()=>"safari"in window,ke=e=>Array.isArray(e)?e:[e],qe=e=>(t,n,o,i={})=>{(t instanceof HTMLCollection||t instanceof NodeList)&&(t=Array.from(t)),n=ke(n),t=ke(t);for(const s of t)if(s)for(const r of n)s[e](r,o,{capture:!1,...i})},B=qe("addEventListener"),M=qe("removeEventListener"),le=e=>{var t;const{clientX:n,clientY:o,target:i}=((t=e.touches)==null?void 0:t[0])??e;return{x:n,y:o,target:i}},V=(e,t=document)=>ke(e).map(n=>typeof n=="string"?Array.from(t.querySelectorAll(n)):n instanceof Element?n:null).flat().filter(Boolean),tn=(e,t)=>t.some(n=>typeof n=="number"?e.button===n:typeof n=="object"?n.button!==e.button?!1:n.modifiers.every(o=>{switch(o){case"alt":return e.altKey;case"ctrl":return e.ctrlKey||e.metaKey;case"shift":return e.shiftKey}}):!1),{abs:W,max:ze,min:Ve,ceil:Xe}=Math,Ue=(e=[])=>({stored:e,selected:[],touched:[],changed:{added:[],removed:[]}}),Je=class extends Jt{constructor(t){var n,o,i,s,r;super(),this._selection=Ue(),this._targetBoundaryScrolled=!0,this._selectables=[],this._areaLocation={y1:0,x2:0,y2:0,x1:0},this._areaRect=Ke(),this._singleClick=!0,this._scrollAvailable=!0,this._scrollingActive=!1,this._scrollSpeed={x:0,y:0},this._scrollDelta={x:0,y:0},this._lastMousePosition={x:0,y:0},this.enable=this._toggleStartEvents,this.disable=this._toggleStartEvents.bind(this,!1),this._options={selectionAreaClass:"selection-area",selectionContainerClass:void 0,selectables:[],document:window.document,startAreas:["html"],boundaries:["html"],container:"body",...t,behaviour:{overlap:"invert",intersect:"touch",triggers:[0],...t.behaviour,startThreshold:(n=t.behaviour)!=null&&n.startThreshold?typeof t.behaviour.startThreshold=="number"?t.behaviour.startThreshold:{x:10,y:10,...t.behaviour.startThreshold}:{x:10,y:10},scrolling:{speedDivider:10,manualSpeed:750,...(o=t.behaviour)==null?void 0:o.scrolling,startScrollMargins:{x:0,y:0,...(s=(i=t.behaviour)==null?void 0:i.scrolling)==null?void 0:s.startScrollMargins}}},features:{range:!0,touch:!0,deselectOnBlur:!1,...t.features,singleTap:{allow:!0,intersect:"native",...(r=t.features)==null?void 0:r.singleTap}}};for(const f of Object.getOwnPropertyNames(Object.getPrototypeOf(this)))typeof this[f]=="function"&&(this[f]=this[f].bind(this));const{document:l,selectionAreaClass:c,selectionContainerClass:a}=this._options;this._area=l.createElement("div"),this._clippingElement=l.createElement("div"),this._clippingElement.appendChild(this._area),this._area.classList.add(c),a&&this._clippingElement.classList.add(a),H(this._area,{willChange:"top, left, bottom, right, width, height",top:0,left:0,position:"fixed"}),H(this._clippingElement,{overflow:"hidden",position:"fixed",transform:"translate3d(0, 0, 0)",pointerEvents:"none",zIndex:"1"}),this._frame=Zt(f=>{this._recalculateSelectionAreaRect(),this._updateElementSelection(),this._emitEvent("move",f),this._redrawSelectionArea()}),this.enable()}_toggleStartEvents(t=!0){const{document:n,features:o}=this._options,i=t?B:M;i(n,"mousedown",this._onTapStart),o.touch&&i(n,"touchstart",this._onTapStart,{passive:!1})}_onTapStart(t,n=!1){const{x:o,y:i,target:s}=le(t),{document:r,startAreas:l,boundaries:c,features:a,behaviour:f}=this._options,d=s.getBoundingClientRect();if(t instanceof MouseEvent&&!tn(t,f.triggers))return;const m=V(l,r),u=V(c,r);this._targetElement=u.find(v=>Ye(v.getBoundingClientRect(),d));const h=t.composedPath(),p=m.find(v=>h.includes(v));if(this._targetBoundary=u.find(v=>h.includes(v)),!this._targetElement||!p||!this._targetBoundary||!n&&this._emitEvent("beforestart",t)===!1)return;this._areaLocation={x1:o,y1:i,x2:0,y2:0};const g=r.scrollingElement??r.body;this._scrollDelta={x:g.scrollLeft,y:g.scrollTop},this._singleClick=!0,this.clearSelection(!1,!0),B(r,["touchmove","mousemove"],this._delayedTapMove,{passive:!1}),B(r,["mouseup","touchcancel","touchend"],this._onTapStop),B(r,"scroll",this._onScroll),a.deselectOnBlur&&(this._targetBoundaryScrolled=!1,B(this._targetBoundary,"scroll",this._onStartAreaScroll))}_onSingleTap(t){const{singleTap:{intersect:n},range:o}=this._options.features,i=le(t);let s;if(n==="native")s=i.target;else if(n==="touch"){this.resolveSelectables();const{x:l,y:c}=i;s=this._selectables.find(a=>{const{right:f,left:d,top:m,bottom:u}=a.getBoundingClientRect();return l<f&&l>d&&c<u&&c>m})}if(!s)return;for(this.resolveSelectables();!this._selectables.includes(s);)if(s.parentElement)s=s.parentElement;else{this._targetBoundaryScrolled||this.clearSelection();return}const{stored:r}=this._selection;if(this._emitEvent("start",t),t.shiftKey&&o&&this._latestElement){const l=this._latestElement,[c,a]=l.compareDocumentPosition(s)&4?[s,l]:[l,s],f=[...this._selectables.filter(d=>d.compareDocumentPosition(c)&4&&d.compareDocumentPosition(a)&2),c,a];this.select(f),this._latestElement=l}else r.includes(s)&&(r.length===1||t.ctrlKey||r.every(l=>this._selection.stored.includes(l)))?this.deselect(s):(this.select(s),this._latestElement=s)}_delayedTapMove(t){const{container:n,document:o,behaviour:{startThreshold:i}}=this._options,{x1:s,y1:r}=this._areaLocation,{x:l,y:c}=le(t);if(typeof i=="number"&&W(l+c-(s+r))>=i||typeof i=="object"&&W(l-s)>=i.x||W(c-r)>=i.y){if(M(o,["mousemove","touchmove"],this._delayedTapMove,{passive:!1}),this._emitEvent("beforedrag",t)===!1){M(o,["mouseup","touchcancel","touchend"],this._onTapStop);return}B(o,["mousemove","touchmove"],this._onTapMove,{passive:!1}),H(this._area,"display","block"),V(n,o)[0].appendChild(this._clippingElement),this.resolveSelectables(),this._singleClick=!1,this._targetRect=this._targetElement.getBoundingClientRect(),this._scrollAvailable=this._targetElement.scrollHeight!==this._targetElement.clientHeight||this._targetElement.scrollWidth!==this._targetElement.clientWidth,this._scrollAvailable&&(B(this._targetElement,"wheel",this._wheelScroll,{passive:!1}),B(this._options.document,"keydown",this._keyboardScroll,{passive:!1}),this._selectables=this._selectables.filter(a=>this._targetElement.contains(a))),this._setupSelectionArea(),this._emitEvent("start",t),this._onTapMove(t)}this._handleMoveEvent(t)}_setupSelectionArea(){const{_clippingElement:t,_targetElement:n,_area:o}=this,i=this._targetRect=n.getBoundingClientRect();this._scrollAvailable?(H(t,{top:i.top,left:i.left,width:i.width,height:i.height}),H(o,{marginTop:-i.top,marginLeft:-i.left})):(H(t,{top:0,left:0,width:"100%",height:"100%"}),H(o,{marginTop:0,marginLeft:0}))}_onTapMove(t){const{_scrollSpeed:n,_areaLocation:o,_options:i,_frame:s}=this,{speedDivider:r}=i.behaviour.scrolling,l=this._targetElement,{x:c,y:a}=le(t);if(o.x2=c,o.y2=a,this._lastMousePosition.x=c,this._lastMousePosition.y=a,this._scrollAvailable&&!this._scrollingActive&&(n.y||n.x)){this._scrollingActive=!0;const f=()=>{if(!n.x&&!n.y){this._scrollingActive=!1;return}const{scrollTop:d,scrollLeft:m}=l;n.y&&(l.scrollTop+=Xe(n.y/r),o.y1-=l.scrollTop-d),n.x&&(l.scrollLeft+=Xe(n.x/r),o.x1-=l.scrollLeft-m),s.next(t),requestAnimationFrame(f)};requestAnimationFrame(f)}else s.next(t);this._handleMoveEvent(t)}_handleMoveEvent(t){const{features:n}=this._options;(n.touch&&Qt()||this._scrollAvailable&&en())&&t.preventDefault()}_onScroll(){const{_scrollDelta:t,_options:{document:n}}=this,{scrollTop:o,scrollLeft:i}=n.scrollingElement??n.body;this._areaLocation.x1+=t.x-i,this._areaLocation.y1+=t.y-o,t.x=i,t.y=o,this._setupSelectionArea(),this._frame.next(null)}_onStartAreaScroll(){this._targetBoundaryScrolled=!0,M(this._targetElement,"scroll",this._onStartAreaScroll)}_wheelScroll(t){const{manualSpeed:n}=this._options.behaviour.scrolling,o=t.deltaY?t.deltaY>0?1:-1:0,i=t.deltaX?t.deltaX>0?1:-1:0;this._scrollSpeed.y+=o*n,this._scrollSpeed.x+=i*n,this._onTapMove(t),t.preventDefault()}_keyboardScroll(t){const{manualSpeed:n}=this._options.behaviour.scrolling,o=t.key==="ArrowLeft"?-1:t.key==="ArrowRight"?1:0,i=t.key==="ArrowUp"?-1:t.key==="ArrowDown"?1:0;this._scrollSpeed.x+=Math.sign(o)*n,this._scrollSpeed.y+=Math.sign(i)*n,t.preventDefault(),this._onTapMove({clientX:this._lastMousePosition.x,clientY:this._lastMousePosition.y,preventDefault:()=>{}})}_recalculateSelectionAreaRect(){const{_scrollSpeed:t,_areaLocation:n,_targetElement:o,_options:i}=this,{scrollTop:s,scrollHeight:r,clientHeight:l,scrollLeft:c,scrollWidth:a,clientWidth:f}=o,d=this._targetRect,{x1:m,y1:u}=n;let{x2:h,y2:p}=n;const{behaviour:{scrolling:{startScrollMargins:g}}}=i;h<d.left+g.x?(t.x=c?-W(d.left-h+g.x):0,h=h<d.left?d.left:h):h>d.right-g.x?(t.x=a-c-f?W(d.left+d.width-h-g.x):0,h=h>d.right?d.right:h):t.x=0,p<d.top+g.y?(t.y=s?-W(d.top-p+g.y):0,p=p<d.top?d.top:p):p>d.bottom-g.y?(t.y=r-s-l?W(d.top+d.height-p-g.y):0,p=p>d.bottom?d.bottom:p):t.y=0;const v=Ve(m,h),b=Ve(u,p),y=ze(m,h),C=ze(u,p);this._areaRect=Ke(v,b,y-v,C-b)}_redrawSelectionArea(){const{x:t,y:n,width:o,height:i}=this._areaRect,{style:s}=this._area;s.left=`${t}px`,s.top=`${n}px`,s.width=`${o}px`,s.height=`${i}px`}_onTapStop(t,n){var o;const{document:i,features:s}=this._options,{_singleClick:r}=this;M(this._targetElement,"scroll",this._onStartAreaScroll),M(i,["mousemove","touchmove"],this._delayedTapMove),M(i,["touchmove","mousemove"],this._onTapMove),M(i,["mouseup","touchcancel","touchend"],this._onTapStop),M(i,"scroll",this._onScroll),this._keepSelection(),t&&r&&s.singleTap.allow?this._onSingleTap(t):!r&&!n&&(this._updateElementSelection(),this._emitEvent("stop",t)),this._scrollSpeed.x=0,this._scrollSpeed.y=0,M(this._targetElement,"wheel",this._wheelScroll,{passive:!0}),M(this._options.document,"keydown",this._keyboardScroll,{passive:!0}),this._clippingElement.remove(),(o=this._frame)==null||o.cancel(),H(this._area,"display","none")}_updateElementSelection(){const{_selectables:t,_options:n,_selection:o,_areaRect:i}=this,{stored:s,selected:r,touched:l}=o,{intersect:c,overlap:a}=n.behaviour,f=a==="invert",d=[],m=[],u=[];for(let p=0;p<t.length;p++){const g=t[p];if(Ye(i,g.getBoundingClientRect(),c)){if(r.includes(g))s.includes(g)&&!l.includes(g)&&l.push(g);else if(f&&s.includes(g)){u.push(g);continue}else m.push(g);d.push(g)}}f&&m.push(...s.filter(p=>!r.includes(p)));const h=a==="keep";for(let p=0;p<r.length;p++){const g=r[p];!d.includes(g)&&!(h&&s.includes(g))&&u.push(g)}o.selected=d,o.changed={added:m,removed:u},this._latestElement=void 0}_emitEvent(t,n){return this.emit(t,{event:n,store:this._selection,selection:this})}_keepSelection(){const{_options:t,_selection:n}=this,{selected:o,changed:i,touched:s,stored:r}=n,l=o.filter(c=>!r.includes(c));switch(t.behaviour.overlap){case"drop":{n.stored=[...l,...r.filter(c=>!s.includes(c))];break}case"invert":{n.stored=[...l,...r.filter(c=>!i.removed.includes(c))];break}case"keep":{n.stored=[...r,...o.filter(c=>!r.includes(c))];break}}}trigger(t,n=!0){this._onTapStart(t,n)}resolveSelectables(){this._selectables=V(this._options.selectables,this._options.document)}clearSelection(t=!0,n=!1){const{selected:o,stored:i,changed:s}=this._selection;s.added=[],s.removed.push(...o,...t?i:[]),n||(this._emitEvent("move",null),this._emitEvent("stop",null)),this._selection=Ue(t?[]:i)}getSelection(){return this._selection.stored}getSelectionArea(){return this._area}getSelectables(){return this._selectables}setAreaLocation(t){Object.assign(this._areaLocation,t),this._redrawSelectionArea()}getAreaLocation(){return this._areaLocation}cancel(t=!1){this._onTapStop(null,!t)}destroy(){this.cancel(),this.disable(),this._clippingElement.remove(),super.unbindAllListeners()}select(t,n=!1){const{changed:o,selected:i,stored:s}=this._selection,r=V(t,this._options.document).filter(l=>!i.includes(l)&&!s.includes(l));return s.push(...r),i.push(...r),o.added.push(...r),o.removed=[],this._latestElement=void 0,n||(this._emitEvent("move",null),this._emitEvent("stop",null)),r}deselect(t,n=!1){const{selected:o,stored:i,changed:s}=this._selection,r=V(t,this._options.document).filter(l=>o.includes(l)||i.includes(l));this._selection.stored=i.filter(l=>!r.includes(l)),this._selection.selected=o.filter(l=>!r.includes(l)),this._selection.changed.added=[],this._selection.changed.removed.push(...r.filter(l=>!s.removed.includes(l))),this._latestElement=void 0,n||(this._emitEvent("move",null),this._emitEvent("stop",null))}};Je.version="3.9.0";let nn=Je;function on(e){const t=e.mouseSelectionButton===2?[2]:[0],n=new nn({selectables:[".map-container me-tpc"],boundaries:[e.container],container:e.selectionContainer,features:{touch:!1},behaviour:{triggers:t,scrolling:{speedDivider:10,manualSpeed:750,startScrollMargins:{x:10,y:10}}}}).on("beforestart",({event:o})=>{var r;const i=o.target;if(i.id==="input-box"||i.className==="circle"||(r=e.container.querySelector(".context-menu"))!=null&&r.contains(i))return!1;if(!o.ctrlKey&&!o.metaKey){if(i.tagName==="ME-TPC"&&i.classList.contains("selected"))return!1;e.clearSelection()}const s=n.getSelectionArea();return s.style.background="#4f90f22d",s.style.border="1px solid #4f90f2",s.parentElement&&(s.parentElement.style.zIndex="9999"),!0}).on("move",({store:{changed:{added:o,removed:i}}})=>{if(o.length>0||i.length>0,o.length>0){for(const s of o)s.className="selected";e.currentNodes=[...e.currentNodes,...o],e.bus.fire("selectNodes",o.map(s=>s.nodeObj))}if(i.length>0){for(const s of i)s.classList.remove("selected");e.currentNodes=e.currentNodes.filter(s=>!(i!=null&&i.includes(s))),e.bus.fire("unselectNodes",i.map(s=>s.nodeObj))}});e.selection=n}const sn=function(e,t=!0){this.theme=e;const o={...(e.type==="dark"?ge:pe).cssVar,...e.cssVar},i=Object.keys(o);for(let s=0;s<i.length;s++){const r=i[s];this.container.style.setProperty(r,o[r])}t&&this.refresh()},X=e=>{var o;const t=(o=e.parent)==null?void 0:o.children,n=(t==null?void 0:t.indexOf(e))??0;return{siblings:t,index:n}};function rn(e){const{siblings:t,index:n}=X(e);if(t===void 0)return;const o=t[n];n===0?(t[n]=t[t.length-1],t[t.length-1]=o):(t[n]=t[n-1],t[n-1]=o)}function ln(e){const{siblings:t,index:n}=X(e);if(t===void 0)return;const o=t[n];n===t.length-1?(t[n]=t[0],t[0]=o):(t[n]=t[n+1],t[n+1]=o)}function Ze(e){const{siblings:t,index:n}=X(e);return t===void 0?0:(t.splice(n,1),t.length)}function cn(e,t,n){const{siblings:o,index:i}=X(n);o!==void 0&&(t==="before"?o.splice(i,0,e):o.splice(i+1,0,e))}function an(e,t){const{siblings:n,index:o}=X(e);n!==void 0&&(n[o]=t,t.children=[e])}function Qe(e,t,n){var o;if(Ze(t),(o=n.parent)!=null&&o.parent||(t.direction=n.direction),e==="in")n.children?n.children.push(t):n.children=[t];else{t.direction!==void 0&&(t.direction=n.direction);const{siblings:i,index:s}=X(n);if(i===void 0)return;e==="before"?i.splice(s,0,t):i.splice(s+1,0,t)}}const dn=function({map:e,direction:t},n){var o,i;if(t===0)return 0;if(t===1)return 1;if(t===2){const s=((o=e.querySelector(".lhs"))==null?void 0:o.childElementCount)||0,r=((i=e.querySelector(".rhs"))==null?void 0:i.childElementCount)||0;return s<=r?(n.direction=0,0):(n.direction=1,1)}},et=function(e,t,n){var s,r;const o=n.children[0].children[0],i=t.parentElement;if(i.tagName==="ME-PARENT"){if(Q(o),i.children[1])i.nextSibling.appendChild(n);else{const l=e.createChildren([n]);i.appendChild(Ce(!0)),i.insertAdjacentElement("afterend",l)}e.linkDiv(n.offsetParent)}else i.tagName==="ME-ROOT"&&(dn(e,o.nodeObj)===0?(s=e.container.querySelector(".lhs"))==null||s.appendChild(n):(r=e.container.querySelector(".rhs"))==null||r.appendChild(n),e.linkDiv())},hn=function(e,t){const n=e.parentNode;if(t===0){const o=n.parentNode.parentNode;o.tagName!=="ME-MAIN"&&(o.previousSibling.children[1].remove(),o.remove())}n.parentNode.remove()},tt={before:"beforebegin",after:"afterend"},Q=function(e){const n=e.parentElement.parentElement.lastElementChild;(n==null?void 0:n.tagName)==="svg"&&(n==null||n.remove())},un=function(e,t){const n=e.nodeObj,o=be(n);o.style&&t.style&&(t.style=Object.assign(o.style,t.style));const i=Object.assign(n,t);xe.call(this,e,i),this.linkDiv(),this.bus.fire("operation",{name:"reshapeNode",obj:i,origin:o})},_e=function(e,t,n){if(!t)return null;const o=t.nodeObj;o.expanded===!1&&(e.expandNode(t,!0),t=e.findEle(o.id));const i=n||e.generateNewObj();o.children?o.children.push(i):o.children=[i],$(e.nodeData);const{grp:s,top:r}=e.createWrapper(i);return et(e,t,s),{newTop:r,newNodeObj:i}},fn=function(e,t,n){var a,f,d,m;const o=t||this.currentNode;if(!o)return;const i=o.nodeObj;if(i.parent){if(!((a=i.parent)!=null&&a.parent)&&((d=(f=i.parent)==null?void 0:f.children)==null?void 0:d.length)===1&&this.direction===2){this.addChild(this.findEle(i.parent.id),n);return}}else{this.addChild();return}const s=n||this.generateNewObj();if(!((m=i.parent)!=null&&m.parent)){const u=o.closest("me-main").className===A.LHS?0:1;s.direction=u}cn(s,e,i),$(this.nodeData);const r=o.parentElement,{grp:l,top:c}=this.createWrapper(s);r.parentElement.insertAdjacentElement(tt[e],l),this.linkDiv(l.offsetParent),n||this.editTopic(c.firstChild),this.bus.fire("operation",{name:"insertSibling",type:e,obj:s}),this.selectNode(c.firstChild,!0)},pn=function(e,t){const n=e||this.currentNode;if(!n)return;Q(n);const o=n.nodeObj;if(!o.parent)return;const i=t||this.generateNewObj();an(o,i),$(this.nodeData);const s=n.parentElement.parentElement,{grp:r,top:l}=this.createWrapper(i,!0);l.appendChild(Ce(!0)),s.insertAdjacentElement("afterend",r);const c=this.createChildren([s]);l.insertAdjacentElement("afterend",c),this.linkDiv(),t||this.editTopic(l.firstChild),this.selectNode(l.firstChild,!0),this.bus.fire("operation",{name:"insertParent",obj:i})},gn=function(e,t){const n=e||this.currentNode;if(!n)return;const o=_e(this,n,t);if(!o)return;const{newTop:i,newNodeObj:s}=o;this.bus.fire("operation",{name:"addChild",obj:s}),t||this.editTopic(i.firstChild),this.selectNode(i.firstChild,!0)},mn=function(e,t){const n=be(e.nodeObj);ve(n);const o=_e(this,t,n);if(!o)return;const{newNodeObj:i}=o;this.selectNode(this.findEle(i.id)),this.bus.fire("operation",{name:"copyNode",obj:i})},vn=function(e,t){e=oe(e);const n=[];for(let o=0;o<e.length;o++){const i=e[o],s=be(i.nodeObj);ve(s);const r=_e(this,t,s);if(!r)return;const{newNodeObj:l}=r;n.push(l)}this.unselectNodes(this.currentNodes),this.selectNodes(n.map(o=>this.findEle(o.id))),this.bus.fire("operation",{name:"copyNodes",objs:n})},bn=function(e){const t=e||this.currentNode;if(!t)return;const n=t.nodeObj;rn(n);const o=t.parentNode.parentNode;o.parentNode.insertBefore(o,o.previousSibling),this.linkDiv(),this.bus.fire("operation",{name:"moveUpNode",obj:n})},yn=function(e){const t=e||this.currentNode;if(!t)return;const n=t.nodeObj;ln(n);const o=t.parentNode.parentNode;o.nextSibling?o.nextSibling.insertAdjacentElement("afterend",o):o.parentNode.prepend(o),this.linkDiv(),this.bus.fire("operation",{name:"moveDownNode",obj:n})},wn=function(e){if(e.length===0)return;e=oe(e);for(const n of e){const o=n.nodeObj,i=Ze(o);hn(n,i)}const t=e[e.length-1];this.selectNode(this.findEle(t.nodeObj.parent.id)),this.linkDiv(),this.bus.fire("operation",{name:"removeNodes",objs:e.map(n=>n.nodeObj)})},xn=function(e,t){e=oe(e);const n=t.nodeObj;n.expanded===!1&&(this.expandNode(t,!0),t=this.findEle(n.id));for(const o of e){const i=o.nodeObj;Qe("in",i,n),$(this.nodeData);const s=o.parentElement;et(this,t,s.parentElement)}this.linkDiv(),this.bus.fire("operation",{name:"moveNodeIn",objs:e.map(o=>o.nodeObj),toObj:n})},nt=(e,t,n,o)=>{e=oe(e),t==="after"&&(e=e.reverse());const i=n.nodeObj,s=[];for(const r of e){const l=r.nodeObj;Qe(t,l,i),$(o.nodeData),Q(r);const c=r.parentElement.parentNode;s.includes(c.parentElement)||s.push(c.parentElement),n.parentElement.parentNode.insertAdjacentElement(tt[t],c)}for(const r of s)r.childElementCount===0&&r.tagName!=="ME-MAIN"&&(r.previousSibling.children[1].remove(),r.remove());o.linkDiv(),o.bus.fire("operation",{name:t==="before"?"moveNodeBefore":"moveNodeAfter",objs:e.map(r=>r.nodeObj),toObj:i})},ot=Object.freeze(Object.defineProperty({__proto__:null,addChild:gn,beginEdit:function(e){const t=e||this.currentNode;t&&(t.nodeObj.dangerouslySetInnerHTML||this.editTopic(t))},copyNode:mn,copyNodes:vn,insertParent:pn,insertSibling:fn,moveDownNode:yn,moveNodeAfter:function(e,t){nt(e,"after",t,this)},moveNodeBefore:function(e,t){nt(e,"before",t,this)},moveNodeIn:xn,moveUpNode:bn,removeNodes:wn,reshapeNode:un,rmSubline:Q,setNodeTopic:function(e,t){e.text.textContent=t,e.nodeObj.topic=t,this.linkDiv()}},Symbol.toStringTag,{value:"Module"}));function Cn(e){return{nodeData:e.isFocusMode?e.nodeDataBackup:e.nodeData,arrows:e.arrows,summaries:e.summaries,direction:e.direction,theme:e.theme}}const En=function(e){const t=this.container,n=e.getBoundingClientRect(),o=t.getBoundingClientRect();if(n.top>o.bottom||n.bottom<o.top||n.left>o.right||n.right<o.left){const s=n.left+n.width/2,r=n.top+n.height/2,l=o.left+o.width/2,c=o.top+o.height/2,a=s-l,f=r-c;this.move(-a,-f,!0)}},Sn=function(e,t,n){this.clearSelection(),this.scrollIntoView(e),this.selection.select(e),t&&this.bus.fire("selectNewNode",e.nodeObj)},Nn=function(e){this.selection.select(e)},kn=function(e){this.selection.deselect(e)},_n=function(){this.unselectNodes(this.currentNodes),this.unselectSummary(),this.unselectArrow()},Tn=function(){const e=Cn(this);return JSON.stringify(e,(t,n)=>{if(!(t==="parent"&&typeof n!="string"))return n})},Ln=function(){return JSON.parse(this.getDataString())},An=function(){this.editable=!0},Mn=function(){this.editable=!1},Dn=function(e,t={x:0,y:0}){if(e<this.scaleMin||e>this.scaleMax)return;const n=this.container.getBoundingClientRect(),o=t.x?t.x-n.left-n.width/2:0,i=t.y?t.y-n.top-n.height/2:0,{dx:s,dy:r}=it(this),l=this.map.style.transform,{x:c,y:a}=Me(l),f=c-s,d=a-r,m=this.scaleVal,u=(-o+f)*(1-e/m),h=(-i+d)*(1-e/m);this.map.style.transform=`translate(${c-u}px, ${a-h}px) scale(${e})`,this.scaleVal=e,this.bus.fire("scale",e)},Pn=function(){const e=this.nodes.offsetHeight/this.container.offsetHeight,t=this.nodes.offsetWidth/this.container.offsetWidth,n=1/Math.max(1,Math.max(e,t));this.scaleVal=n,this.map.style.transform="scale("+n+")",this.bus.fire("scale",n)},On=function(e,t,n=!1){const{map:o,scaleVal:i,bus:s}=this,r=o.style.transform;let{x:l,y:c}=Me(r);l+=e,c+=t,n&&(o.style.transition="transform 0.3s",setTimeout(()=>{o.style.transition="none"},300)),o.style.transform=`translate(${l}px, ${c}px) scale(${i})`,s.fire("move",{dx:e,dy:t})},it=e=>{const{container:t,map:n,nodes:o}=e,i=n.querySelector("me-root"),s=i.offsetTop,r=i.offsetLeft,l=i.offsetWidth,c=i.offsetHeight;let a,f;return e.alignment==="root"?(a=t.offsetWidth/2-r-l/2,f=t.offsetHeight/2-s-c/2,n.style.transformOrigin=`${r+l/2}px 50%`):(a=(t.offsetWidth-o.offsetWidth)/2,f=(t.offsetHeight-o.offsetHeight)/2,n.style.transformOrigin="50% 50%"),{dx:a,dy:f}},$n=Object.freeze(Object.defineProperty({__proto__:null,cancelFocus:function(){this.isFocusMode=!1,this.tempDirection!==null&&(this.nodeData=this.nodeDataBackup,this.direction=this.tempDirection,this.tempDirection=null,this.refresh(),this.toCenter())},clearSelection:_n,disableEdit:Mn,enableEdit:An,expandNode:function(e,t){const n=e.nodeObj;typeof t=="boolean"?n.expanded=t:n.expanded!==!1?n.expanded=!1:n.expanded=!0;const o=e.getBoundingClientRect(),i={x:o.left,y:o.top},s=e.parentNode,r=s.children[1];if(r.expanded=n.expanded,r.className=n.expanded?"minus":"",Q(e),n.expanded){const d=this.createChildren(n.children.map(m=>this.createWrapper(m).grp));s.parentNode.appendChild(d)}else s.parentNode.children[1].remove();this.linkDiv(e.closest("me-main > me-wrapper"));const l=e.getBoundingClientRect(),c={x:l.left,y:l.top},a=i.x-c.x,f=i.y-c.y;this.move(a,f),this.bus.fire("expandNode",n)},expandNodeAll:function(e,t){const n=e.nodeObj,o=e.getBoundingClientRect(),i={x:o.left,y:o.top};q(n,t??!n.expanded),this.refresh();const s=this.findEle(n.id).getBoundingClientRect(),r={x:s.left,y:s.top},l=i.x-r.x,c=i.y-r.y;this.move(l,c)},focusNode:function(e){e.nodeObj.parent&&(this.clearSelection(),this.tempDirection===null&&(this.tempDirection=this.direction),this.isFocusMode||(this.nodeDataBackup=this.nodeData,this.isFocusMode=!0),this.nodeData=e.nodeObj,this.initRight(),this.toCenter())},getData:Ln,getDataString:Tn,initLeft:function(){this.direction=0,this.refresh(),this.toCenter()},initRight:function(){this.direction=1,this.refresh(),this.toCenter()},initSide:function(){this.direction=2,this.refresh(),this.toCenter()},install:function(e){e(this)},move:On,refresh:function(e){this.clearSelection(),e&&(e=JSON.parse(JSON.stringify(e)),this.nodeData=e.nodeData,this.arrows=e.arrows||[],this.summaries=e.summaries||[],e.theme&&this.changeTheme(e.theme)),$(this.nodeData),this.layout(),this.linkDiv()},scale:Dn,scaleFit:Pn,scrollIntoView:En,selectNode:Sn,selectNodes:Nn,setLocale:function(e){this.locale=e,this.refresh()},toCenter:function(){const{map:e}=this,{dx:t,dy:n}=it(this);e.style.transform=`translate(${t}px, ${n}px) scale(${this.scaleVal})`},unselectNodes:kn},Symbol.toStringTag,{value:"Module"})),st={create:function(e){return{dom:e,moved:!1,pointerdown:!1,lastX:0,lastY:0,handlePointerMove(t){if(this.pointerdown){this.moved=!0;const n=t.clientX-this.lastX,o=t.clientY-this.lastY;this.lastX=t.clientX,this.lastY=t.clientY,this.cb&&this.cb(n,o)}},handlePointerDown(t){t.button===0&&(this.pointerdown=!0,this.lastX=t.clientX,this.lastY=t.clientY,this.dom.setPointerCapture(t.pointerId))},handleClear(t){this.pointerdown=!1,t.pointerId!==void 0&&this.dom.releasePointerCapture(t.pointerId)},cb:null,init(t,n){this.cb=n,this.handleClear=this.handleClear.bind(this),this.handlePointerMove=this.handlePointerMove.bind(this),this.handlePointerDown=this.handlePointerDown.bind(this),this.destroy=we([{dom:t,evt:"pointermove",func:this.handlePointerMove},{dom:t,evt:"pointerleave",func:this.handleClear},{dom:t,evt:"pointerup",func:this.handleClear},{dom:this.dom,evt:"pointerdown",func:this.handlePointerDown}])},destroy:null,clear(){this.moved=!1,this.pointerdown=!1}}}},jn="#4dc4ff";function rt(e,t,n,o,i,s,r,l){return{x:e/8+n*3/8+i*3/8+r/8,y:t/8+o*3/8+s*3/8+l/8}}function Hn(e,t,n){e&&(e.dataset.x=t.toString(),e.dataset.y=n.toString(),re(e))}function ce(e,t,n,o,i){_(e,{x1:t+"",y1:n+"",x2:o+"",y2:i+""})}function lt(e,t,n,o,i,s,r,l,c,a){var p;const f=`M ${t} ${n} C ${o} ${i} ${s} ${r} ${l} ${c}`;if(e.line.setAttribute("d",f),a.style){const g=a.style;g.stroke&&e.line.setAttribute("stroke",g.stroke),g.strokeWidth&&e.line.setAttribute("stroke-width",String(g.strokeWidth)),g.strokeDasharray&&e.line.setAttribute("stroke-dasharray",g.strokeDasharray),g.strokeLinecap&&e.line.setAttribute("stroke-linecap",g.strokeLinecap),g.opacity!==void 0&&e.line.setAttribute("opacity",String(g.opacity))}const d=e.querySelectorAll('path[stroke="transparent"]');d.length>0&&d[0].setAttribute("d",f);const m=ne(s,r,l,c);if(m){const g=`M ${m.x1} ${m.y1} L ${l} ${c} L ${m.x2} ${m.y2}`;if(e.arrow1.setAttribute("d",g),d.length>1&&d[1].setAttribute("d",g),a.style){const v=a.style;v.stroke&&e.arrow1.setAttribute("stroke",v.stroke),v.strokeWidth&&e.arrow1.setAttribute("stroke-width",String(v.strokeWidth)),v.strokeLinecap&&e.arrow1.setAttribute("stroke-linecap",v.strokeLinecap),v.opacity!==void 0&&e.arrow1.setAttribute("opacity",String(v.opacity))}}if(a.bidirectional){const g=ne(o,i,t,n);if(g){const v=`M ${g.x1} ${g.y1} L ${t} ${n} L ${g.x2} ${g.y2}`;if(e.arrow2.setAttribute("d",v),d.length>2&&d[2].setAttribute("d",v),a.style){const b=a.style;b.stroke&&e.arrow2.setAttribute("stroke",b.stroke),b.strokeWidth&&e.arrow2.setAttribute("stroke-width",String(b.strokeWidth)),b.strokeLinecap&&e.arrow2.setAttribute("stroke-linecap",b.strokeLinecap),b.opacity!==void 0&&e.arrow2.setAttribute("opacity",String(b.opacity))}}}const{x:u,y:h}=rt(t,n,o,i,s,r,l,c);if(e.labelElement&&Hn(e.labelElement,u,h),(p=a.style)!=null&&p.labelColor){const g=e.label.querySelector("div");g&&(g.style.color=a.style.labelColor)}Yn(e)}function ae(e,t,n){const{offsetLeft:o,offsetTop:i}=j(e.nodes,t),s=t.offsetWidth,r=t.offsetHeight,l=o+s/2,c=i+r/2,a=l+n.x,f=c+n.y;return{w:s,h:r,cx:l,cy:c,ctrlX:a,ctrlY:f}}function U(e){let t,n;const o=(e.cy-e.ctrlY)/(e.ctrlX-e.cx);return o>e.h/e.w||o<-e.h/e.w?e.cy-e.ctrlY<0?(t=e.cx-e.h/2/o,n=e.cy+e.h/2):(t=e.cx+e.h/2/o,n=e.cy-e.h/2):e.cx-e.ctrlX<0?(t=e.cx+e.w/2,n=e.cy-e.w*o/2):(t=e.cx-e.w/2,n=e.cy+e.w*o/2),{x:t,y:n}}const Te=function(e,t,n,o,i){var N;if(!t||!n)return;const s=ae(e,t,o.delta1),r=ae(e,n,o.delta2),{x:l,y:c}=U(s),{ctrlX:a,ctrlY:f}=s,{ctrlX:d,ctrlY:m}=r,{x:u,y:h}=U(r),p=ne(d,m,u,h);if(!p)return;const g=`M ${p.x1} ${p.y1} L ${u} ${h} L ${p.x2} ${p.y2}`;let v="";if(o.bidirectional){const k=ne(a,f,l,c);if(!k)return;v=`M ${k.x1} ${k.y1} L ${l} ${c} L ${k.x2} ${k.y2}`}const b=Mt(`M ${l} ${c} C ${a} ${f} ${d} ${m} ${u} ${h}`,g,v,o.style),{x:y,y:C}=rt(l,c,a,f,d,m,u,h),E=(N=o.style)==null?void 0:N.labelColor,x="arrow-"+o.id;b.id=x;const w=Ee(o.label,y,C,{anchor:"middle",color:E,dataType:"link-label",svgId:x});e.labelContainer.appendChild(w),re(w);const S=document.createElementNS("http://www.w3.org/2000/svg","foreignObject");b.label=S,b.labelElement=w,b.arrowObj=o,b.dataset.linkid=o.id,e.linkSvgGroup.appendChild(b),i||(e.arrows.push(o),e.currentArrow=b,ct(e,o,s,r))},Bn=function(e,t,n={}){const o={id:F(),label:"Custom Link",from:e.nodeObj.id,to:t.nodeObj.id,delta1:{x:e.offsetWidth/2+100,y:0},delta2:{x:t.offsetWidth/2+100,y:0},...n};Te(this,e,t,o),this.bus.fire("operation",{name:"createArrow",obj:o})},Rn=function(e){de(this);const t={...e,id:F()};Te(this,this.findEle(t.from),this.findEle(t.to),t),this.bus.fire("operation",{name:"createArrow",obj:t})},Fn=function(e){let t;if(e?t=e:t=this.currentArrow,!t)return;de(this);const n=t.arrowObj.id;this.arrows=this.arrows.filter(o=>o.id!==n),t.remove(),this.bus.fire("operation",{name:"removeArrow",obj:{id:n}})},In=function(e){this.currentArrow=e;const t=e.arrowObj,n=this.findEle(t.from),o=this.findEle(t.to),i=ae(this,n,t.delta1),s=ae(this,o,t.delta2);ct(this,t,i,s)},Wn=function(){de(this),this.currentArrow=null},Le=function(e,t){const n=document.createElementNS(P,"path");return _(n,{d:e,stroke:t,fill:"none","stroke-width":"6","stroke-linecap":"round","stroke-linejoin":"round"}),n},Gn=function(e,t){const n=document.createElementNS(P,"g");n.setAttribute("class","arrow-highlight"),n.setAttribute("opacity","0.45");const o=Le(e.line.getAttribute("d"),t);n.appendChild(o);const i=Le(e.arrow1.getAttribute("d"),t);if(n.appendChild(i),e.arrow2.getAttribute("d")){const s=Le(e.arrow2.getAttribute("d"),t);n.appendChild(s)}e.insertBefore(n,e.firstChild)},Kn=function(e){const t=e.querySelector(".arrow-highlight");t&&t.remove()},Yn=function(e){const t=e.querySelector(".arrow-highlight");if(!t)return;const n=t.querySelectorAll("path");n.length>=1&&n[0].setAttribute("d",e.line.getAttribute("d")),n.length>=2&&n[1].setAttribute("d",e.arrow1.getAttribute("d")),n.length>=3&&e.arrow2.getAttribute("d")&&n[2].setAttribute("d",e.arrow2.getAttribute("d"))},de=function(e){var t,n;(t=e.helper1)==null||t.destroy(),(n=e.helper2)==null||n.destroy(),e.linkController.style.display="none",e.P2.style.display="none",e.P3.style.display="none",e.currentArrow&&Kn(e.currentArrow)},ct=function(e,t,n,o){const{linkController:i,P2:s,P3:r,line1:l,line2:c,nodes:a,map:f,currentArrow:d,bus:m}=e;if(!d)return;i.style.display="initial",s.style.display="initial",r.style.display="initial",a.appendChild(i),a.appendChild(s),a.appendChild(r),Gn(d,jn);let{x:u,y:h}=U(n),{ctrlX:p,ctrlY:g}=n,{ctrlX:v,ctrlY:b}=o,{x:y,y:C}=U(o);s.style.cssText=`top:${g}px;left:${p}px;`,r.style.cssText=`top:${b}px;left:${v}px;`,ce(l,u,h,p,g),ce(c,v,b,y,C),e.helper1=st.create(s),e.helper2=st.create(r),e.helper1.init(f,(E,x)=>{p=p+E/e.scaleVal,g=g+x/e.scaleVal;const w=U({...n,ctrlX:p,ctrlY:g});u=w.x,h=w.y,s.style.top=g+"px",s.style.left=p+"px",lt(d,u,h,p,g,v,b,y,C,t),ce(l,u,h,p,g),t.delta1.x=p-n.cx,t.delta1.y=g-n.cy,m.fire("updateArrowDelta",t)}),e.helper2.init(f,(E,x)=>{v=v+E/e.scaleVal,b=b+x/e.scaleVal;const w=U({...o,ctrlX:v,ctrlY:b});y=w.x,C=w.y,r.style.top=b+"px",r.style.left=v+"px",lt(d,u,h,p,g,v,b,y,C,t),ce(c,v,b,y,C),t.delta2.x=v-o.cx,t.delta2.y=b-o.cy,m.fire("updateArrowDelta",t)})};function qn(){this.linkSvgGroup.innerHTML="";for(let e=0;e<this.arrows.length;e++){const t=this.arrows[e];try{Te(this,this.findEle(t.from),this.findEle(t.to),t,!0)}catch{}}this.nodes.appendChild(this.linkSvgGroup)}function zn(e){de(this),e&&e.labelElement&&Be(this,e.labelElement,e.arrowObj)}function Vn(){this.arrows=this.arrows.filter(e=>te(e.from,this.nodeData)&&te(e.to,this.nodeData))}const Xn=Object.freeze(Object.defineProperty({__proto__:null,createArrow:Bn,createArrowFrom:Rn,editArrowLabel:zn,removeArrow:Fn,renderArrow:qn,selectArrow:In,tidyArrow:Vn,unselectArrow:Wn},Symbol.toStringTag,{value:"Module"})),Un=function(e){var c,a;if(e.length===0)throw new Error("No selected node.");if(e.length===1){const f=e[0].nodeObj,d=e[0].nodeObj.parent;if(!d)throw new Error("Can not select root node.");const m=d.children.findIndex(u=>f===u);return{parent:d.id,start:m,end:m}}let t=0;const n=e.map(f=>{let d=f.nodeObj;const m=[];for(;d.parent;){const u=d.parent,h=u.children,p=h==null?void 0:h.indexOf(d);d=u,m.unshift({node:d,index:p})}return m.length>t&&(t=m.length),m});let o=0;e:for(;o<t;o++){const f=(c=n[0][o])==null?void 0:c.node;for(let d=1;d<n.length;d++)if(((a=n[d][o])==null?void 0:a.node)!==f)break e}if(!o)throw new Error("Can not select root node.");const i=n.map(f=>f[o-1].index).sort(),s=i[0]||0,r=i[i.length-1]||0,l=n[0][o-1].node;if(!l.parent)throw new Error("Please select nodes in the same main topic.");return{parent:l.id,start:s,end:r}},Jn=function(e){const t=document.createElementNS(P,"g");return t.setAttribute("id",e),t},at=function(e,t){const n=document.createElementNS(P,"path");return _(n,{d:e,stroke:t||"#666",fill:"none","stroke-linecap":"round","stroke-width":"2"}),n},Zn=e=>e.parentElement.parentElement,Qn=function(e,{parent:t,start:n}){const o=e.findEle(t),i=o.nodeObj;let s;return i.parent?s=o.closest("me-main").className:s=e.findEle(i.children[n].id).closest("me-main").className,s},Ae=function(e,t){var N;const{id:n,label:o,parent:i,start:s,end:r}=t,{nodes:l,theme:c,summarySvg:a}=e,d=e.findEle(i).nodeObj,m=Qn(e,t);let u=1/0,h=0,p=0,g=0;for(let k=s;k<=r;k++){const R=(N=d.children)==null?void 0:N[k];if(!R)return e.removeSummary(n),null;const G=Zn(e.findEle(R.id)),{offsetLeft:fe,offsetTop:ut}=j(l,G),ft=s===r?10:20;k===s&&(p=ut+ft),k===r&&(g=ut+G.offsetHeight-ft),fe<u&&(u=fe),G.offsetWidth+fe>h&&(h=G.offsetWidth+fe)}let v,b;const y=p+10,C=g+10,E=(y+C)/2,x=c.cssVar["--color"],w="s-"+n;m===A.LHS?(v=at(`M ${u+10} ${y} c -5 0 -10 5 -10 10 L ${u} ${C-10} c 0 5 5 10 10 10 M ${u} ${E} h -10`,x),b=Ee(o,u-20,E,{anchor:"end",color:x,dataType:"s-label",svgId:w})):(v=at(`M ${h-10} ${y} c 5 0 10 5 10 10 L ${h} ${C-10} c 0 5 -5 10 -10 10 M ${h} ${E} h 10`,x),b=Ee(o,h+20,E,{anchor:"start",color:x,dataType:"s-label",svgId:w}));const S=Jn(w);return S.appendChild(v),e.labelContainer.appendChild(b),re(b),S.summaryObj=t,S.labelElement=b,a.appendChild(S),S},eo=Object.freeze(Object.defineProperty({__proto__:null,createSummary:function(){if(!this.currentNodes)return;const{currentNodes:e,summaries:t,bus:n}=this,{parent:o,start:i,end:s}=Un(e),r={id:F(),parent:o,start:i,end:s,label:"summary"},l=Ae(this,r);t.push(r),this.editSummary(l),n.fire("operation",{name:"createSummary",obj:r})},createSummaryFrom:function(e){const t=F(),n={...e,id:t};Ae(this,n),this.summaries.push(n),this.bus.fire("operation",{name:"createSummary",obj:n})},editSummary:function(e){e&&e.labelElement&&Be(this,e.labelElement,e.summaryObj)},removeSummary:function(e){var n,o;const t=this.summaries.findIndex(i=>i.id===e);t>-1&&(this.summaries.splice(t,1),(n=this.nodes.querySelector("#s-"+e))==null||n.remove(),(o=this.nodes.querySelector("#label-s-"+e))==null||o.remove()),this.bus.fire("operation",{name:"removeSummary",obj:{id:e}})},renderSummary:function(){this.summarySvg.innerHTML="",this.summaries.forEach(e=>{try{Ae(this,e)}catch{}}),this.nodes.insertAdjacentElement("beforeend",this.summarySvg)},selectSummary:function(e){const t=e.labelElement;t&&t.classList.add("selected"),this.currentSummary=e},unselectSummary:function(){var e,t;(t=(e=this.currentSummary)==null?void 0:e.labelElement)==null||t.classList.remove("selected"),this.currentSummary=null}},Symbol.toStringTag,{value:"Module"})),L="http://www.w3.org/2000/svg";function to(e,t){const n=document.createElementNS(L,"svg");return _(n,{version:"1.1",xmlns:L,height:e,width:t}),n}function no(e,t){return(parseInt(e)-parseInt(t))/2}function oo(e,t,n,o){const i=document.createElementNS(L,"g");let s="";return e.text?s=e.text.textContent:s=e.childNodes[0].textContent,s.split(`
14
+ `).forEach((l,c)=>{const a=document.createElementNS(L,"text");_(a,{x:n+parseInt(t.paddingLeft)+"",y:o+parseInt(t.paddingTop)+no(t.lineHeight,t.fontSize)*(c+1)+parseFloat(t.fontSize)*(c+1)+"","text-anchor":"start","font-family":t.fontFamily,"font-size":`${t.fontSize}`,"font-weight":`${t.fontWeight}`,fill:`${t.color}`}),a.innerHTML=l,i.appendChild(a)}),i}function io(e,t,n,o){var l;let i="";(l=e.nodeObj)!=null&&l.dangerouslySetInnerHTML?i=e.nodeObj.dangerouslySetInnerHTML:e.text?i=e.text.textContent:i=e.childNodes[0].textContent;const s=document.createElementNS(L,"foreignObject");_(s,{x:n+parseInt(t.paddingLeft)+"",y:o+parseInt(t.paddingTop)+"",width:t.width,height:t.height});const r=document.createElement("div");return _(r,{xmlns:"http://www.w3.org/1999/xhtml",style:`font-family: ${t.fontFamily}; font-size: ${t.fontSize}; font-weight: ${t.fontWeight}; color: ${t.color}; white-space: pre-wrap;`}),r.innerHTML=i,s.appendChild(r),s}function so(e,t){const n=getComputedStyle(t),{offsetLeft:o,offsetTop:i}=j(e.nodes,t),s=document.createElementNS(L,"rect");return _(s,{x:o+"",y:i+"",rx:n.borderRadius,ry:n.borderRadius,width:n.width,height:n.height,fill:n.backgroundColor,stroke:n.borderColor,"stroke-width":n.borderWidth}),s}function he(e,t,n=!1){const o=getComputedStyle(t),{offsetLeft:i,offsetTop:s}=j(e.nodes,t),r=document.createElementNS(L,"rect");_(r,{x:i+"",y:s+"",rx:o.borderRadius,ry:o.borderRadius,width:o.width,height:o.height,fill:o.backgroundColor,stroke:o.borderColor,"stroke-width":o.borderWidth});const l=document.createElementNS(L,"g");l.appendChild(r);let c;return n?c=io(t,o,i,s):c=oo(t,o,i,s),l.appendChild(c),l}function ro(e,t){const n=getComputedStyle(t),{offsetLeft:o,offsetTop:i}=j(e.nodes,t),s=document.createElementNS(L,"a"),r=document.createElementNS(L,"text");return _(r,{x:o+"",y:i+parseInt(n.fontSize)+"","text-anchor":"start","font-family":n.fontFamily,"font-size":`${n.fontSize}`,"font-weight":`${n.fontWeight}`,fill:`${n.color}`}),r.innerHTML=t.textContent,s.appendChild(r),s.setAttribute("href",t.href),s}function lo(e,t){const n=getComputedStyle(t),{offsetLeft:o,offsetTop:i}=j(e.nodes,t),s=document.createElementNS(L,"image");return _(s,{x:o+"",y:i+"",width:n.width+"",height:n.height+"",href:t.src}),s}const ue=100,co='<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">',ao=(e,t=!1)=>{var d,m,u;const n=e.nodes,o=n.offsetHeight+ue*2,i=n.offsetWidth+ue*2,s=to(o+"px",i+"px"),r=document.createElementNS(L,"svg"),l=document.createElementNS(L,"rect");_(l,{x:"0",y:"0",width:`${i}`,height:`${o}`,fill:e.theme.cssVar["--bgcolor"]}),s.appendChild(l),n.querySelectorAll(".subLines").forEach(h=>{const p=h.cloneNode(!0),{offsetLeft:g,offsetTop:v}=j(n,h.parentElement);p.setAttribute("x",`${g}`),p.setAttribute("y",`${v}`),r.appendChild(p)});const c=(d=n.querySelector(".lines"))==null?void 0:d.cloneNode(!0);c&&r.appendChild(c);const a=(m=n.querySelector(".topiclinks"))==null?void 0:m.cloneNode(!0);a&&r.appendChild(a);const f=(u=n.querySelector(".summary"))==null?void 0:u.cloneNode(!0);return f&&r.appendChild(f),n.querySelectorAll("me-tpc").forEach(h=>{h.nodeObj.dangerouslySetInnerHTML?r.appendChild(he(e,h,!t)):(r.appendChild(so(e,h)),r.appendChild(he(e,h.text,!t)))}),n.querySelectorAll(".tags > span").forEach(h=>{r.appendChild(he(e,h))}),n.querySelectorAll(".icons > span").forEach(h=>{r.appendChild(he(e,h))}),n.querySelectorAll(".hyper-link").forEach(h=>{r.appendChild(ro(e,h))}),n.querySelectorAll("img").forEach(h=>{r.appendChild(lo(e,h))}),_(r,{x:ue+"",y:ue+"",overflow:"visible"}),s.appendChild(r),s},ho=(e,t)=>(t&&e.insertAdjacentHTML("afterbegin","<style>"+t+"</style>"),co+e.outerHTML);function uo(e){return new Promise((t,n)=>{const o=new FileReader;o.onload=i=>{t(i.target.result)},o.onerror=i=>{n(i)},o.readAsDataURL(e)})}const fo=Object.freeze(Object.defineProperty({__proto__:null,exportPng:async function(e=!1,t){const n=this.exportSvg(e,t),o=await uo(n);return new Promise((i,s)=>{const r=new Image;r.setAttribute("crossOrigin","anonymous"),r.onload=()=>{const l=document.createElement("canvas");l.width=r.width,l.height=r.height,l.getContext("2d").drawImage(r,0,0),l.toBlob(i,"image/png",1)},r.src=o,r.onerror=s})},exportSvg:function(e=!1,t){const n=ao(this,e),o=ho(n,t);return new Blob([o],{type:"image/svg+xml"})}},Symbol.toStringTag,{value:"Module"}));function po(e,t){return async function(...n){const o=this.before[t];o&&!await o.apply(this,n)||e.apply(this,n)}}const dt=Object.keys(ot),ht={};for(let e=0;e<dt.length;e++){const t=dt[e];ht[t]=po(ot[t],t)}const go={getObjById:te,generateNewObj:pt,layout:Et,linkDiv:Dt,editTopic:At,createWrapper:kt,createParent:_t,createChildren:Tt,createTopic:Lt,findEle:Oe,changeTheme:sn,...$n,...ht,...Xn,...eo,...fo,init(e){if(e=JSON.parse(JSON.stringify(e)),!e||!e.nodeData)return new Error("MindElixir: `data` is required");e.direction!==void 0&&(this.direction=e.direction),this.changeTheme(e.theme||this.theme,!1),this.nodeData=e.nodeData,$(this.nodeData),this.arrows=e.arrows||[],this.summaries=e.summaries||[],this.tidyArrow(),this.toolBar&&Ut(this),this.keypress&&wt(this,this.keypress),this.editable&&on(this),this.contextMenu&&this.disposable.push(Pt(this,this.contextMenu)),this.draggable&&this.disposable.push(Ht(this)),this.allowUndo&&this.disposable.push(Rt(this)),this.layout(),this.linkDiv(),this.toCenter()},destroy(){var e;this.disposable.forEach(t=>t()),this.el&&(this.el.innerHTML=""),this.el=void 0,this.nodeData=void 0,this.arrows=void 0,this.summaries=void 0,this.currentArrow=void 0,this.currentNodes=void 0,this.currentSummary=void 0,this.waitCopy=void 0,this.theme=void 0,this.direction=void 0,this.bus=void 0,this.container=void 0,this.map=void 0,this.lines=void 0,this.linkController=void 0,this.linkSvgGroup=void 0,this.P2=void 0,this.P3=void 0,this.line1=void 0,this.line2=void 0,this.nodes=void 0,(e=this.selection)==null||e.destroy(),this.selection=void 0}};function mo({pT:e,pL:t,pW:n,pH:o,cT:i,cL:s,cW:r,cH:l,direction:c,containerHeight:a}){let f=t+n/2;const d=e+o/2;let m;c===A.LHS?m=s+r:m=s;const u=i+l/2,p=(1-Math.abs(u-d)/a)*.25*(n/2);return c===A.LHS?f=f-n/10-p:f=f+n/10+p,`M ${f} ${d} Q ${f} ${u} ${m} ${u}`}function vo({pT:e,pL:t,pW:n,pH:o,cT:i,cL:s,cW:r,cH:l,direction:c,isFirst:a}){const f=parseInt(this.container.style.getPropertyValue("--node-gap-x"));let d=0,m=0;a?d=e+o/2:d=e+o;const u=i+l;let h=0,p=0,g=0;const v=Math.abs(d-u)/300*f;return c===A.LHS?(g=t,h=g+f,p=g-f,m=s+f,`M ${h} ${d} C ${g} ${d} ${g+v} ${u} ${p} ${u} H ${m}`):(g=t+n,h=g-f,p=g+f,m=s+r-f,`M ${h} ${d} C ${g} ${d} ${g-v} ${u} ${p} ${u} H ${m}`)}const bo="5.2.0-beta.2";function yo(e){return{x:0,y:0,moved:!1,mousedown:!1,onMove(t,n){this.mousedown&&(this.moved=!0,e.move(t,n))},clear(){this.mousedown=!1}}}const J=document;function D({el:e,direction:t,locale:n,draggable:o,editable:i,contextMenu:s,toolBar:r,keypress:l,mouseSelectionButton:c,selectionContainer:a,before:f,newTopicName:d,allowUndo:m,generateMainBranch:u,generateSubBranch:h,overflowHidden:p,theme:g,alignment:v,scaleSensitivity:b,scaleMax:y,scaleMin:C,handleWheel:E,markdown:x,imageProxy:w}){let S=null;const N=Object.prototype.toString.call(e);if(N==="[object HTMLDivElement]"?S=e:N==="[object String]"&&(S=document.querySelector(e)),!S)throw new Error("MindElixir: el is not a valid element");S.style.position="relative",S.innerHTML="",this.el=S,this.disposable=[],this.before=f||{},this.locale=n||"en",this.newTopicName=d||"New Node",this.contextMenu=s??!0,this.toolBar=r??!0,this.keypress=l??!0,this.mouseSelectionButton=c??0,this.direction=t??1,this.draggable=o??!0,this.editable=i??!0,this.allowUndo=m??!0,this.scaleSensitivity=b??.1,this.scaleMax=y??1.4,this.scaleMin=C??.2,this.generateMainBranch=u||mo,this.generateSubBranch=h||vo,this.overflowHidden=p??!1,this.alignment=v??"root",this.handleWheel=E??!0,this.markdown=x||void 0,this.imageProxy=w||void 0,this.currentNodes=[],this.currentArrow=null,this.scaleVal=1,this.tempDirection=null,this.dragMoveHelper=yo(this),this.bus=Ct(),this.container=J.createElement("div"),this.selectionContainer=a||this.container,this.container.className="map-container";const k=window.matchMedia("(prefers-color-scheme: dark)");this.theme=g||(k.matches?ge:pe);const R=J.createElement("div");R.className="map-canvas",this.map=R,this.container.setAttribute("tabindex","0"),this.container.appendChild(this.map),this.el.appendChild(this.container),this.nodes=J.createElement("me-nodes"),this.lines=Z("lines"),this.summarySvg=Z("summary"),this.linkController=Z("linkcontroller"),this.P2=J.createElement("div"),this.P3=J.createElement("div"),this.P2.className=this.P3.className="circle",this.P2.style.display=this.P3.style.display="none",this.line1=He(),this.line2=He(),this.linkController.appendChild(this.line1),this.linkController.appendChild(this.line2),this.linkSvgGroup=Z("topiclinks"),this.labelContainer=J.createElement("div"),this.labelContainer.className="label-container",this.map.appendChild(this.nodes),this.overflowHidden?this.container.style.overflow="hidden":this.disposable.push(xt(this))}return D.prototype=go,Object.defineProperty(D.prototype,"currentNode",{get(){return this.currentNodes[this.currentNodes.length-1]},enumerable:!0}),D.LEFT=0,D.RIGHT=1,D.SIDE=2,D.THEME=pe,D.DARK_THEME=ge,D.version=bo,D.E=Oe,D.new=e=>({nodeData:{id:F(),topic:e||"new topic",children:[]}}),D}();