@kong-ui-public/entities-plugins 9.37.0 → 9.38.0
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/dist/entities-plugins.es.js +95 -90
- package/dist/entities-plugins.umd.js +1 -1
- package/dist/style.css +1 -1
- package/dist/types/components/free-form/Datakit/flow-editor/node/FlowNode.vue.d.ts +1 -1
- package/dist/types/components/free-form/Datakit/flow-editor/node/FlowNode.vue.d.ts.map +1 -1
- package/dist/types/components/free-form/Datakit/flow-editor/node/node-meta.d.ts +2 -0
- package/dist/types/components/free-form/Datakit/flow-editor/node/node-meta.d.ts.map +1 -1
- package/dist/types/components/free-form/Datakit/types.d.ts +225 -3
- package/dist/types/components/free-form/Datakit/types.d.ts.map +1 -1
- package/package.json +8 -8
- package/dist/types/components/free-form/Datakit/flow-editor/types.d.ts +0 -15
- package/dist/types/components/free-form/Datakit/flow-editor/types.d.ts.map +0 -1
|
@@ -42,7 +42,7 @@ Edge: ${e}
|
|
|
42
42
|
Source: ${n}
|
|
43
43
|
Target: ${o}`,EDGE_ORPHANED:e=>`Edge was orphaned (suddenly missing source or target) and has been removed
|
|
44
44
|
Edge: ${e}`,EDGE_NOT_FOUND:e=>`Edge not found
|
|
45
|
-
Edge: ${e}`,USEVUEFLOW_OPTIONS:()=>"The options parameter is deprecated and will be removed in the next major version. Please use the id parameter instead"};class Me extends Error{constructor(n,...o){var r;super((r=Hc[n])==null?void 0:r.call(Hc,...o)),this.name="VueFlowError",this.code=n,this.args=o}}function Hi(e){return"clientX"in e}function Yc(e){return"sourceEvent"in e}function Et(e,n){var o,r;const i=Hi(e),a=i?e.clientX:(o=e.touches)==null?void 0:o[0].clientX,l=i?e.clientY:(r=e.touches)==null?void 0:r[0].clientY;return{x:a-((n==null?void 0:n.left)??0),y:l-((n==null?void 0:n.top)??0)}}const sr=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function XC(e){var n,o;return{width:((n=e.dimensions)==null?void 0:n.width)??e.width??0,height:((o=e.dimensions)==null?void 0:o.height)??e.height??0}}function cr(e,n=[1,1]){return{x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}}function Wc(){return{handleDomNode:null,isValid:!1,connection:{source:"",target:"",sourceHandle:null,targetHandle:null},endHandle:null}}function Yi(e){e==null||e.classList.remove("valid","connecting","vue-flow__handle-valid","vue-flow__handle-connecting")}function Xc(e,n,o,r){const i=[];for(const a of n[o]||[])if(`${e.id}-${a.id}-${o}`!==r){const{x:l,y:s}=lr(e,a);i.push({id:a.id||null,type:o,nodeId:e.id,x:l,y:s})}return i}function ZC(e,n,o,r,i,a){const{x:l,y:s}=Et(e),u=n.elementsFromPoint(l,s).find(b=>b.classList.contains("vue-flow__handle"));if(u){const b=u.getAttribute("data-nodeid");if(b){const h=Wi(void 0,u),g=u.getAttribute("data-handleid"),_=a({nodeId:b,id:g,type:h});if(_){const k=i.find(y=>y.nodeId===b&&y.type===h&&y.id===g);return{handle:{id:g,type:h,nodeId:b,x:(k==null?void 0:k.x)||o.x,y:(k==null?void 0:k.y)||o.y},validHandleResult:_}}}}let f=[],d=Number.POSITIVE_INFINITY;for(const b of i){const h=Math.sqrt((b.x-o.x)**2+(b.y-o.y)**2);if(h<=r){const g=a(b);h<=d&&(h<d?f=[{handle:b,validHandleResult:g}]:h===d&&f.push({handle:b,validHandleResult:g}),d=h)}}if(!f.length)return{handle:null,validHandleResult:Wc()};if(f.length===1)return f[0];const p=f.some(({validHandleResult:b})=>b.isValid),m=f.some(({handle:b})=>b.type==="target");return f.find(({handle:b,validHandleResult:h})=>m?b.type==="target":p?h.isValid:!0)||f[0]}function Zc(e,n,o,r,i,a,l,s,c,u,f){const d=a==="target",p=s.querySelector(`.vue-flow__handle[data-id="${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`),{x:m,y:b}=Et(e),h=s.elementFromPoint(m,b),g=h!=null&&h.classList.contains("vue-flow__handle")?h:p,_=Wc();if(g){_.handleDomNode=g;const k=Wi(void 0,g),y=g.getAttribute("data-nodeid"),S=g.getAttribute("data-handleid"),V=g.classList.contains("connectable"),C=g.classList.contains("connectableend"),O={source:d?y:r,sourceHandle:d?S:i,target:d?r:y,targetHandle:d?i:S};_.connection=O,V&&C&&(o===Qt.Strict?d&&k==="source"||!d&&k==="target":y!==r||S!==i)&&(_.isValid=l(O,{edges:c,nodes:u,sourceNode:f(O.source),targetNode:f(O.target)}),_.endHandle={nodeId:y,handleId:S,type:k,position:_.isValid?g.getAttribute("data-handlepos"):null})}return _}function JC({nodes:e,nodeId:n,handleId:o,handleType:r}){const i=[];for(let a=0;a<e.length;a++){const l=e[a],{handleBounds:s}=l;let c=[],u=[];s&&(c=Xc(l,s,"source",`${n}-${o}-${r}`),u=Xc(l,s,"target",`${n}-${o}-${r}`)),i.push(...c,...u)}return i}function Wi(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function QC(e,n){let o=null;return n?o="valid":e&&!n&&(o="invalid"),o}const eE=["production","prod"];function ur(e,...n){Jc()&&console.warn(`[Vue Flow]: ${e}`,...n)}function Jc(){return!eE.includes(process.env.NODE_ENV||"")}function Qc(e,n,o,r){const i=n.querySelectorAll(`.vue-flow__handle${e}`);return Array.from(i).map(l=>{const s=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),position:l.getAttribute("data-handlepos"),x:(s.left-o.left)/r,y:(s.top-o.top)/r,...ir(l)}})}function Xi(e,n,o,r,i,a=!1,l){i.value=!1,e.selected?(a||e.selected&&n)&&(r([e]),t.nextTick(()=>{l.blur()})):o([e])}function De(e){return typeof t.unref(e)<"u"}function tE(e,n,o,r){if(!e||!e.source||!e.target)return o(new Me(Be.EDGE_INVALID,(e==null?void 0:e.id)??"[ID UNKNOWN]")),!1;let i;return Tt(e)?i=e:i={...e,id:Tc(e)},i=Ac(i,void 0,r),FC(i,n)?!1:i}function nE(e,n,o,r,i,a){if(!n.source||!n.target)return a(new Me(Be.EDGE_INVALID,e.id)),!1;const l=r(e.id);if(!l)return a(new Me(Be.EDGE_NOT_FOUND,e.id)),!1;const{id:s,...c}=e,u={...c,id:i?Tc(n):s,source:n.source,target:n.target,sourceHandle:n.sourceHandle,targetHandle:n.targetHandle};return o.splice(o.indexOf(l),1,u),u}function eu(e,n,o){const r={},i=[];for(let a=0;a<e.length;++a){const l=e[a];if(!tn(l)){o(new Me(Be.NODE_INVALID,l==null?void 0:l.id)||`[ID UNKNOWN|INDEX ${a}]`);continue}const s=VC(l,n(l.id),l.parentNode);l.parentNode&&(r[l.parentNode]=!0),i[a]=s}for(const a of i){const l=n(a.parentNode)||i.find(s=>s.id===a.parentNode);a.parentNode&&!l&&o(new Me(Be.NODE_MISSING_PARENT,a.id,a.parentNode)),(a.parentNode||r[a.id])&&(r[a.id]&&(a.isParent=!0),l&&(l.isParent=!0))}return i}function tu(e,n){e.clear();for(const o of n){const{id:r,source:i,target:a,sourceHandle:l=null,targetHandle:s=null}=o,c=`${i}-source-${l}`,u=`${a}-target-${s}`,f=e.get(c)||new Map,d=e.get(u)||new Map,p=t.markRaw({edgeId:r,source:i,target:a,sourceHandle:l,targetHandle:s});e.set(c,f.set(`${a}-${s}`,p)),e.set(u,d.set(`${i}-${l}`,p))}}function nu(e,n,o,r,i,a,l,s){const c=[];for(const u of e){const f=Tt(u)?u:tE(u,s,i,a);if(!f)continue;const d=o(f.source),p=o(f.target);if(!d||!p){i(new Me(Be.EDGE_SOURCE_TARGET_MISSING,f.id,f.source,f.target));continue}if(!d){i(new Me(Be.EDGE_SOURCE_MISSING,f.id,f.source));continue}if(!p){i(new Me(Be.EDGE_TARGET_MISSING,f.id,f.target));continue}if(n&&!n(f,{edges:s,nodes:l,sourceNode:d,targetNode:p})){i(new Me(Be.EDGE_INVALID,f.id));continue}const m=r(f.id);c.push({...Ac(f,m,a),sourceNode:d,targetNode:p})}return c}const ou=Symbol("vueFlow"),ru=Symbol("nodeId"),iu=Symbol("nodeRef"),oE=Symbol("edgeId"),rE=Symbol("edgeRef"),dr=Symbol("slots");function au(e){const{vueFlowRef:n,snapToGrid:o,snapGrid:r,noDragClassName:i,nodes:a,nodeExtent:l,nodeDragThreshold:s,viewport:c,autoPanOnNodeDrag:u,autoPanSpeed:f,nodesDraggable:d,panBy:p,findNode:m,multiSelectionActive:b,nodesSelectionActive:h,selectNodesOnDrag:g,removeSelectedElements:_,addSelectedNodes:k,updateNodePositions:y,emits:S}=Pe(),{onStart:V,onDrag:C,onStop:O,onClick:A,el:B,disabled:z,id:j,selectable:P,dragHandle:T}=e,w=t.ref(!1);let I=[],N,G=null,K={x:void 0,y:void 0},R={x:0,y:0},$=null,F=!1,re=0,Q=!1;const J=lE(),ae=({x:ne,y:fe})=>{K={x:ne,y:fe};let he=!1;if(I=I.map(x=>{const v={x:ne-x.distance.x,y:fe-x.distance.y},{computedPosition:E}=ji(x,o.value?cr(v,r.value):v,S.error,l.value,x.parentNode?m(x.parentNode):void 0);return he=he||x.position.x!==E.x||x.position.y!==E.y,x.position=E,x}),!!he&&(y(I,!0,!0),w.value=!0,$)){const[x,v]=zi({id:j,dragItems:I,findNode:m});C({event:$,node:x,nodes:v})}},X=()=>{if(!G)return;const[ne,fe]=Lc(R,G,f.value);if(ne!==0||fe!==0){const he={x:(K.x??0)-ne/c.value.zoom,y:(K.y??0)-fe/c.value.zoom};p({x:ne,y:fe})&&ae(he)}re=requestAnimationFrame(X)},W=(ne,fe)=>{F=!0;const he=m(j);!g.value&&!b.value&&he&&(he.selected||_()),he&&t.toValue(P)&&g.value&&Xi(he,b.value,k,_,h,!1,fe);const x=J(ne.sourceEvent);if(K=x,I=qC(a.value,d.value,x,m,j),I.length){const[v,E]=zi({id:j,dragItems:I,findNode:m});V({event:ne.sourceEvent,node:v,nodes:E})}},te=(ne,fe)=>{var he;ne.sourceEvent.type==="touchmove"&&ne.sourceEvent.touches.length>1||(s.value===0&&W(ne,fe),K=J(ne.sourceEvent),G=((he=n.value)==null?void 0:he.getBoundingClientRect())||null,R=Et(ne.sourceEvent,G))},ce=(ne,fe)=>{const he=J(ne.sourceEvent);if(!Q&&F&&u.value&&(Q=!0,X()),!F){const x=he.xSnapped-(K.x??0),v=he.ySnapped-(K.y??0);Math.sqrt(x*x+v*v)>s.value&&W(ne,fe)}(K.x!==he.xSnapped||K.y!==he.ySnapped)&&I.length&&F&&($=ne.sourceEvent,R=Et(ne.sourceEvent,G),ae(he))},oe=ne=>{if(!Yc(ne)&&!F&&!w.value&&!b.value){const fe=ne,he=J(fe),x=he.xSnapped-(K.x??0),v=he.ySnapped-(K.y??0),E=Math.sqrt(x*x+v*v);E!==0&&E<=s.value&&(A==null||A(fe));return}if(w.value=!1,Q=!1,F=!1,K={x:void 0,y:void 0},cancelAnimationFrame(re),I.length){y(I,!1,!1);const[fe,he]=zi({id:j,dragItems:I,findNode:m});O({event:ne.sourceEvent,node:fe,nodes:he})}};return t.watch([()=>t.toValue(z),B],([ne,fe],he,x)=>{if(fe){const v=rt(fe);ne||(N=Kw().on("start",E=>te(E,fe)).on("drag",E=>ce(E,fe)).on("end",E=>oe(E)).filter(E=>{const D=E.target,H=t.toValue(T);return!E.button&&(!i.value||!qc(D,`.${i.value}`,fe)&&(!H||qc(D,H,fe)))}),v.call(N)),x(()=>{v.on(".drag",null),N&&(N.on("start",null),N.on("drag",null),N.on("end",null))})}}),w}function iE(){return{doubleClick:de(),click:de(),mouseEnter:de(),mouseMove:de(),mouseLeave:de(),contextMenu:de(),updateStart:de(),update:de(),updateEnd:de()}}function aE(e,n){const o=iE();return o.doubleClick.on(r=>{var i,a;n.edgeDoubleClick(r),(a=(i=e.events)==null?void 0:i.doubleClick)==null||a.call(i,r)}),o.click.on(r=>{var i,a;n.edgeClick(r),(a=(i=e.events)==null?void 0:i.click)==null||a.call(i,r)}),o.mouseEnter.on(r=>{var i,a;n.edgeMouseEnter(r),(a=(i=e.events)==null?void 0:i.mouseEnter)==null||a.call(i,r)}),o.mouseMove.on(r=>{var i,a;n.edgeMouseMove(r),(a=(i=e.events)==null?void 0:i.mouseMove)==null||a.call(i,r)}),o.mouseLeave.on(r=>{var i,a;n.edgeMouseLeave(r),(a=(i=e.events)==null?void 0:i.mouseLeave)==null||a.call(i,r)}),o.contextMenu.on(r=>{var i,a;n.edgeContextMenu(r),(a=(i=e.events)==null?void 0:i.contextMenu)==null||a.call(i,r)}),o.updateStart.on(r=>{var i,a;n.edgeUpdateStart(r),(a=(i=e.events)==null?void 0:i.updateStart)==null||a.call(i,r)}),o.update.on(r=>{var i,a;n.edgeUpdate(r),(a=(i=e.events)==null?void 0:i.update)==null||a.call(i,r)}),o.updateEnd.on(r=>{var i,a;n.edgeUpdateEnd(r),(a=(i=e.events)==null?void 0:i.updateEnd)==null||a.call(i,r)}),Object.entries(o).reduce((r,[i,a])=>(r.emit[i]=a.trigger,r.on[i]=a.on,r),{emit:{},on:{}})}function lE(){const{viewport:e,snapGrid:n,snapToGrid:o}=Pe();return r=>{const i=Yc(r)?r.sourceEvent:r,{x:a,y:l}=Et(i),s=no({x:a,y:l},e.value),{x:c,y:u}=o.value?cr(s,n.value):s;return{xSnapped:c,ySnapped:u,...s}}}function fr(){return!0}function lu({handleId:e,nodeId:n,type:o,isValidConnection:r,edgeUpdaterType:i,onEdgeUpdate:a,onEdgeUpdateEnd:l}){const{vueFlowRef:s,connectionMode:c,connectionRadius:u,connectOnClick:f,connectionClickStartHandle:d,nodesConnectable:p,autoPanOnConnect:m,autoPanSpeed:b,findNode:h,panBy:g,startConnection:_,updateConnection:k,endConnection:y,emits:S,viewport:V,edges:C,nodes:O,isValidConnection:A}=Pe();let B=null,z=!1,j=null,P=null;function T(I){var N;const G=t.toValue(o)==="target",K=Hi(I),R=xc(I.target);if(K&&I.button===0||!K){let $=function(E){fe=Et(E,oe);const{handle:D,validHandleResult:H}=ZC(E,R,no(fe,V.value,!1,[1,1]),u.value,x,q=>Zc(E,q,c.value,t.toValue(n),t.toValue(e),G?"target":"source",Q,R,C.value,O.value,h));if(J=D,he||(v(),he=!0),B=H.connection,z=H.isValid,j=H.handleDomNode,!(z&&J&&(P!=null&&P.endHandle)&&H.endHandle&&P.endHandle.type===H.endHandle.type&&P.endHandle.nodeId===H.endHandle.nodeId&&P.endHandle.handleId===H.endHandle.handleId)){if(k(J&&z?Ic({x:J.x,y:J.y},V.value):fe,H.endHandle,QC(!!J,z)),P=H,!J&&!z&&!j)return Yi(ne);B&&B.source!==B.target&&j&&(Yi(ne),ne=j,j.classList.add("connecting","vue-flow__handle-connecting"),j.classList.toggle("valid",z),j.classList.toggle("vue-flow__handle-valid",z))}},F=function(E){(J||j)&&B&&z&&(a?a(E,B):S.connect(B)),S.connectEnd(E),i&&(l==null||l(E)),Yi(ne),cancelAnimationFrame(ae),y(E),he=!1,z=!1,B=null,j=null,R.removeEventListener("mousemove",$),R.removeEventListener("mouseup",F),R.removeEventListener("touchmove",$),R.removeEventListener("touchend",F)};const re=h(t.toValue(n));let Q=t.toValue(r)||A.value||fr;!Q&&re&&(Q=(G?re.isValidSourcePos:re.isValidTargetPos)||fr);let J,ae=0;const{x:X,y:W}=Et(I),te=R==null?void 0:R.elementFromPoint(X,W),ce=Wi(t.toValue(i),te),oe=(N=s.value)==null?void 0:N.getBoundingClientRect();if(!oe||!ce)return;let ne,fe=Et(I,oe),he=!1;const x=JC({nodes:O.value,nodeId:t.toValue(n),handleId:t.toValue(e),handleType:ce}),v=()=>{if(!m.value)return;const[E,D]=Lc(fe,oe,b.value);g({x:E,y:D}),ae=requestAnimationFrame(v)};_({nodeId:t.toValue(n),handleId:t.toValue(e),type:ce,position:(te==null?void 0:te.getAttribute("data-handlepos"))||me.Top},{x:X-oe.left,y:W-oe.top}),S.connectStart({event:I,nodeId:t.toValue(n),handleId:t.toValue(e),handleType:ce}),R.addEventListener("mousemove",$),R.addEventListener("mouseup",F),R.addEventListener("touchmove",$),R.addEventListener("touchend",F)}}function w(I){if(!f.value)return;const N=t.toValue(o)==="target";if(!d.value)S.clickConnectStart({event:I,nodeId:t.toValue(n),handleId:t.toValue(e)}),_({nodeId:t.toValue(n),type:t.toValue(o),handleId:t.toValue(e)},void 0,!0);else{let G=t.toValue(r)||A.value||fr;const K=h(t.toValue(n));if(!G&&K&&(G=(N?K.isValidSourcePos:K.isValidTargetPos)||fr),K&&(typeof K.connectable>"u"?p.value:K.connectable)===!1)return;const R=xc(I.target),{connection:$,isValid:F}=Zc(I,{nodeId:t.toValue(n),id:t.toValue(e),type:t.toValue(o)},c.value,d.value.nodeId,d.value.handleId||null,d.value.type,G,R,C.value,O.value,h),re=$.source===$.target;F&&!re&&S.connect($),S.clickConnectEnd(I),y(I,!0)}}return{handlePointerDown:T,handleClick:w}}function sE(){return t.inject(ru,"")}function su(e){const n=e??sE()??"",o=t.inject(iu,t.ref(null)),{findNode:r,edges:i,emits:a}=Pe(),l=r(n);return l||a.error(new Me(Be.NODE_NOT_FOUND,n)),{id:n,nodeEl:o,node:l,parentNode:t.computed(()=>r(l.parentNode)),connectedEdges:t.computed(()=>Dc([l],i.value))}}function cE(){return{doubleClick:de(),click:de(),mouseEnter:de(),mouseMove:de(),mouseLeave:de(),contextMenu:de(),dragStart:de(),drag:de(),dragStop:de()}}function uE(e,n){const o=cE();return o.doubleClick.on(r=>{var i,a;n.nodeDoubleClick(r),(a=(i=e.events)==null?void 0:i.doubleClick)==null||a.call(i,r)}),o.click.on(r=>{var i,a;n.nodeClick(r),(a=(i=e.events)==null?void 0:i.click)==null||a.call(i,r)}),o.mouseEnter.on(r=>{var i,a;n.nodeMouseEnter(r),(a=(i=e.events)==null?void 0:i.mouseEnter)==null||a.call(i,r)}),o.mouseMove.on(r=>{var i,a;n.nodeMouseMove(r),(a=(i=e.events)==null?void 0:i.mouseMove)==null||a.call(i,r)}),o.mouseLeave.on(r=>{var i,a;n.nodeMouseLeave(r),(a=(i=e.events)==null?void 0:i.mouseLeave)==null||a.call(i,r)}),o.contextMenu.on(r=>{var i,a;n.nodeContextMenu(r),(a=(i=e.events)==null?void 0:i.contextMenu)==null||a.call(i,r)}),o.dragStart.on(r=>{var i,a;n.nodeDragStart(r),(a=(i=e.events)==null?void 0:i.dragStart)==null||a.call(i,r)}),o.drag.on(r=>{var i,a;n.nodeDrag(r),(a=(i=e.events)==null?void 0:i.drag)==null||a.call(i,r)}),o.dragStop.on(r=>{var i,a;n.nodeDragStop(r),(a=(i=e.events)==null?void 0:i.dragStop)==null||a.call(i,r)}),Object.entries(o).reduce((r,[i,a])=>(r.emit[i]=a.trigger,r.on[i]=a.on,r),{emit:{},on:{}})}function cu(){const{getSelectedNodes:e,nodeExtent:n,updateNodePositions:o,findNode:r,snapGrid:i,snapToGrid:a,nodesDraggable:l,emits:s}=Pe();return(c,u=!1)=>{const f=a.value?i.value[0]:5,d=a.value?i.value[1]:5,p=u?4:1,m=c.x*f*p,b=c.y*d*p,h=[];for(const g of e.value)if(g.draggable||l&&typeof g.draggable>"u"){const _={x:g.computedPosition.x+m,y:g.computedPosition.y+b},{computedPosition:k}=ji(g,_,s.error,n.value,g.parentNode?r(g.parentNode):void 0);h.push({id:g.id,position:k,from:g.position,distance:{x:c.x,y:c.y},dimensions:g.dimensions})}o(h,!0,!1)}}const Zi=.1;function $t(){return ur("Viewport not initialized yet."),Promise.resolve(!1)}const dE={zoomIn:$t,zoomOut:$t,zoomTo:$t,fitView:$t,setCenter:$t,fitBounds:$t,project:e=>e,screenToFlowCoordinate:e=>e,flowToScreenCoordinate:e=>e,setViewport:$t,setTransform:$t,getViewport:()=>({x:0,y:0,zoom:1}),getTransform:()=>({x:0,y:0,zoom:1}),viewportInitialized:!1};function fE(e){function n(r,i){return new Promise(a=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.scaleBy(Ji(e.d3Selection,i,()=>{a(!0)}),r):a(!1)})}function o(r,i,a,l){return new Promise(s=>{const{x:c,y:u}=Nc({x:-r,y:-i},e.translateExtent),f=Cn.translate(-c,-u).scale(a);e.d3Selection&&e.d3Zoom?e.d3Zoom.transform(Ji(e.d3Selection,l,()=>{s(!0)}),f):s(!1)})}return t.computed(()=>e.d3Zoom&&e.d3Selection&&e.dimensions.width&&e.dimensions.height?{viewportInitialized:!0,zoomIn:i=>n(1.2,i==null?void 0:i.duration),zoomOut:i=>n(1/1.2,i==null?void 0:i.duration),zoomTo:(i,a)=>new Promise(l=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.scaleTo(Ji(e.d3Selection,a==null?void 0:a.duration,()=>{l(!0)}),i):l(!1)}),setViewport:(i,a)=>o(i.x,i.y,i.zoom,a==null?void 0:a.duration),setTransform:(i,a)=>o(i.x,i.y,i.zoom,a==null?void 0:a.duration),getViewport:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),getTransform:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),fitView:(i={padding:Zi,includeHiddenNodes:!1,duration:0})=>{var a,l;const s=[];for(const p of e.nodes)p.dimensions.width&&p.dimensions.height&&((i==null?void 0:i.includeHiddenNodes)||!p.hidden)&&(!((a=i.nodes)!=null&&a.length)||(l=i.nodes)!=null&&l.length&&i.nodes.includes(p.id))&&s.push(p);if(!s.length)return Promise.resolve(!1);const c=$c(s),{x:u,y:f,zoom:d}=Rc(c,e.dimensions.width,e.dimensions.height,i.minZoom??e.minZoom,i.maxZoom??e.maxZoom,i.padding??Zi,i.offset);return o(u,f,d,i==null?void 0:i.duration)},setCenter:(i,a,l)=>{const s=typeof(l==null?void 0:l.zoom)<"u"?l.zoom:e.maxZoom,c=e.dimensions.width/2-i*s,u=e.dimensions.height/2-a*s;return o(c,u,s,l==null?void 0:l.duration)},fitBounds:(i,a={padding:Zi})=>{const{x:l,y:s,zoom:c}=Rc(i,e.dimensions.width,e.dimensions.height,e.minZoom,e.maxZoom,a.padding);return o(l,s,c,a==null?void 0:a.duration)},project:i=>no(i,e.viewport,e.snapToGrid,e.snapGrid),screenToFlowCoordinate:i=>{if(e.vueFlowRef){const{x:a,y:l}=e.vueFlowRef.getBoundingClientRect(),s={x:i.x-a,y:i.y-l};return no(s,e.viewport,e.snapToGrid,e.snapGrid)}return{x:0,y:0}},flowToScreenCoordinate:i=>{if(e.vueFlowRef){const{x:a,y:l}=e.vueFlowRef.getBoundingClientRect(),s={x:i.x+a,y:i.y+l};return Ic(s,e.viewport)}return{x:0,y:0}}}:dE)}function Ji(e,n=0,o){return e.transition().duration(n).on("end",o)}function pE(e,n,o){const r=t.effectScope(!0);return r.run(()=>{const i=()=>{r.run(()=>{let h,g,_=!!(o.nodes.value.length||o.edges.value.length);h=yn([e.modelValue,()=>{var k,y;return(y=(k=e.modelValue)==null?void 0:k.value)==null?void 0:y.length}],([k])=>{k&&Array.isArray(k)&&(g==null||g.pause(),o.setElements(k),!g&&!_&&k.length?_=!0:g==null||g.resume())}),g=yn([o.nodes,o.edges,()=>o.edges.value.length,()=>o.nodes.value.length],([k,y])=>{var S;(S=e.modelValue)!=null&&S.value&&Array.isArray(e.modelValue.value)&&(h==null||h.pause(),e.modelValue.value=[...k,...y],t.nextTick(()=>{h==null||h.resume()}))},{immediate:_}),t.onScopeDispose(()=>{h==null||h.stop(),g==null||g.stop()})})},a=()=>{r.run(()=>{let h,g,_=!!o.nodes.value.length;h=yn([e.nodes,()=>{var k,y;return(y=(k=e.nodes)==null?void 0:k.value)==null?void 0:y.length}],([k])=>{k&&Array.isArray(k)&&(g==null||g.pause(),o.setNodes(k),!g&&!_&&k.length?_=!0:g==null||g.resume())}),g=yn([o.nodes,()=>o.nodes.value.length],([k])=>{var y;(y=e.nodes)!=null&&y.value&&Array.isArray(e.nodes.value)&&(h==null||h.pause(),e.nodes.value=[...k],t.nextTick(()=>{h==null||h.resume()}))},{immediate:_}),t.onScopeDispose(()=>{h==null||h.stop(),g==null||g.stop()})})},l=()=>{r.run(()=>{let h,g,_=!!o.edges.value.length;h=yn([e.edges,()=>{var k,y;return(y=(k=e.edges)==null?void 0:k.value)==null?void 0:y.length}],([k])=>{k&&Array.isArray(k)&&(g==null||g.pause(),o.setEdges(k),!g&&!_&&k.length?_=!0:g==null||g.resume())}),g=yn([o.edges,()=>o.edges.value.length],([k])=>{var y;(y=e.edges)!=null&&y.value&&Array.isArray(e.edges.value)&&(h==null||h.pause(),e.edges.value=[...k],t.nextTick(()=>{h==null||h.resume()}))},{immediate:_}),t.onScopeDispose(()=>{h==null||h.stop(),g==null||g.stop()})})},s=()=>{r.run(()=>{t.watch(()=>n.maxZoom,()=>{n.maxZoom&&De(n.maxZoom)&&o.setMaxZoom(n.maxZoom)},{immediate:!0})})},c=()=>{r.run(()=>{t.watch(()=>n.minZoom,()=>{n.minZoom&&De(n.minZoom)&&o.setMinZoom(n.minZoom)},{immediate:!0})})},u=()=>{r.run(()=>{t.watch(()=>n.translateExtent,()=>{n.translateExtent&&De(n.translateExtent)&&o.setTranslateExtent(n.translateExtent)},{immediate:!0})})},f=()=>{r.run(()=>{t.watch(()=>n.nodeExtent,()=>{n.nodeExtent&&De(n.nodeExtent)&&o.setNodeExtent(n.nodeExtent)},{immediate:!0})})},d=()=>{r.run(()=>{t.watch(()=>n.applyDefault,()=>{De(n.applyDefault)&&(o.applyDefault.value=n.applyDefault)},{immediate:!0})})},p=()=>{r.run(()=>{const h=async g=>{let _=g;typeof n.autoConnect=="function"&&(_=await n.autoConnect(g)),_!==!1&&o.addEdges([_])};t.watch(()=>n.autoConnect,()=>{De(n.autoConnect)&&(o.autoConnect.value=n.autoConnect)},{immediate:!0}),t.watch(o.autoConnect,(g,_,k)=>{g?o.onConnect(h):o.hooks.value.connect.off(h),k(()=>{o.hooks.value.connect.off(h)})},{immediate:!0})})},m=()=>{const h=["id","modelValue","translateExtent","nodeExtent","edges","nodes","maxZoom","minZoom","applyDefault","autoConnect"];for(const g of Object.keys(n)){const _=g;if(!h.includes(_)){const k=t.toRef(()=>n[_]),y=o[_];t.isRef(y)&&r.run(()=>{t.watch(k,S=>{De(S)&&(y.value=S)},{immediate:!0})})}}};(()=>{i(),a(),l(),c(),s(),u(),f(),d(),p(),m()})()}),()=>r.stop()}function mE(){return{edgesChange:de(),nodesChange:de(),nodeDoubleClick:de(),nodeClick:de(),nodeMouseEnter:de(),nodeMouseMove:de(),nodeMouseLeave:de(),nodeContextMenu:de(),nodeDragStart:de(),nodeDrag:de(),nodeDragStop:de(),nodesInitialized:de(),miniMapNodeClick:de(),miniMapNodeDoubleClick:de(),miniMapNodeMouseEnter:de(),miniMapNodeMouseMove:de(),miniMapNodeMouseLeave:de(),connect:de(),connectStart:de(),connectEnd:de(),clickConnectStart:de(),clickConnectEnd:de(),paneReady:de(),init:de(),move:de(),moveStart:de(),moveEnd:de(),selectionDragStart:de(),selectionDrag:de(),selectionDragStop:de(),selectionContextMenu:de(),selectionStart:de(),selectionEnd:de(),viewportChangeStart:de(),viewportChange:de(),viewportChangeEnd:de(),paneScroll:de(),paneClick:de(),paneContextMenu:de(),paneMouseEnter:de(),paneMouseMove:de(),paneMouseLeave:de(),edgeContextMenu:de(),edgeMouseEnter:de(),edgeMouseMove:de(),edgeMouseLeave:de(),edgeDoubleClick:de(),edgeClick:de(),edgeUpdateStart:de(),edgeUpdate:de(),edgeUpdateEnd:de(),updateNodeInternals:de(),error:de(e=>ur(e.message))}}function gE(e,n){t.onBeforeMount(()=>{for(const[o,r]of Object.entries(n.value)){const i=a=>{e(o,a)};r.fns.add(i),Lo(()=>{r.off(i)})}})}function uu(){return{vueFlowRef:null,viewportRef:null,nodes:[],edges:[],connectionLookup:new Map,nodeTypes:{},edgeTypes:{},initialized:!1,dimensions:{width:0,height:0},viewport:{x:0,y:0,zoom:1},d3Zoom:null,d3Selection:null,d3ZoomHandler:null,minZoom:.5,maxZoom:2,translateExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],nodeExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],selectionMode:Li.Full,paneDragging:!1,preventScrolling:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,panOnScroll:!1,panOnScrollSpeed:.5,panOnScrollMode:Qn.Free,paneClickDistance:0,panOnDrag:!0,edgeUpdaterRadius:10,onlyRenderVisibleElements:!1,defaultViewport:{x:0,y:0,zoom:1},nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,defaultMarkerColor:"#b1b1b7",connectionLineStyle:{},connectionLineType:null,connectionLineOptions:{type:Jt.Bezier,style:{}},connectionMode:Qt.Loose,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectionPosition:{x:Number.NaN,y:Number.NaN},connectionRadius:20,connectOnClick:!0,connectionStatus:null,isValidConnection:null,snapGrid:[15,15],snapToGrid:!1,edgesUpdatable:!1,edgesFocusable:!0,nodesFocusable:!0,nodesConnectable:!0,nodesDraggable:!0,nodeDragThreshold:1,elementsSelectable:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,selectionKeyCode:"Shift",multiSelectionKeyCode:sr()?"Meta":"Control",zoomActivationKeyCode:sr()?"Meta":"Control",deleteKeyCode:"Backspace",panActivationKeyCode:"Space",hooks:mE(),applyDefault:!0,autoConnect:!1,fitViewOnInit:!1,fitViewOnInitDone:!1,noDragClassName:"nodrag",noWheelClassName:"nowheel",noPanClassName:"nopan",defaultEdgeOptions:void 0,elevateEdgesOnSelect:!1,elevateNodesOnSelect:!0,autoPanOnNodeDrag:!0,autoPanOnConnect:!0,autoPanSpeed:15,disableKeyboardA11y:!1,ariaLiveMessage:""}}const hE=["id","vueFlowRef","viewportRef","initialized","modelValue","nodes","edges","maxZoom","minZoom","translateExtent","hooks","defaultEdgeOptions"];function yE(e,n,o){const r=fE(e),i=x=>{const v=x??[];e.hooks.updateNodeInternals.trigger(v)},a=x=>LC(x,e.nodes,e.edges),l=x=>MC(x,e.nodes,e.edges),s=x=>Dc(x,e.edges),c=({id:x,type:v,nodeId:E})=>{var D;return Array.from(((D=e.connectionLookup.get(`${E}-${v}-${x??null}`))==null?void 0:D.values())??[])},u=x=>{if(x)return n.value.get(x)},f=x=>{if(x)return o.value.get(x)},d=(x,v,E)=>{var D,H;const q=[];for(const Z of x){const M={id:Z.id,type:"position",dragging:E,from:Z.from};if(v&&(M.position=Z.position,Z.parentNode)){const Y=u(Z.parentNode);M.position={x:M.position.x-(((D=Y==null?void 0:Y.computedPosition)==null?void 0:D.x)??0),y:M.position.y-(((H=Y==null?void 0:Y.computedPosition)==null?void 0:H.y)??0)}}q.push(M)}q!=null&&q.length&&e.hooks.nodesChange.trigger(q)},p=x=>{if(!e.vueFlowRef)return;const v=e.vueFlowRef.querySelector(".vue-flow__transformationpane");if(!v)return;const E=window.getComputedStyle(v),{m22:D}=new window.DOMMatrixReadOnly(E.transform),H=[];for(let q=0;q<x.length;++q){const Z=x[q],M=u(Z.id);if(M){const Y=ir(Z.nodeElement);if(!!(Y.width&&Y.height&&(M.dimensions.width!==Y.width||M.dimensions.height!==Y.height||Z.forceUpdate))){const le=Z.nodeElement.getBoundingClientRect();M.dimensions=Y,M.handleBounds.source=Qc(".source",Z.nodeElement,le,D),M.handleBounds.target=Qc(".target",Z.nodeElement,le,D),H.push({id:M.id,type:"dimensions",dimensions:Y})}}}!e.fitViewOnInitDone&&e.fitViewOnInit&&r.value.fitView().then(()=>{e.fitViewOnInitDone=!0}),H.length&&e.hooks.nodesChange.trigger(H)},m=(x,v)=>{const E=new Set,D=new Set;for(const Z of x)tn(Z)?E.add(Z.id):Tt(Z)&&D.add(Z.id);const H=Ot(n.value,E,!0),q=Ot(o.value,D);if(e.multiSelectionActive){for(const Z of E)H.push(It(Z,v));for(const Z of D)q.push(It(Z,v))}H.length&&e.hooks.nodesChange.trigger(H),q.length&&e.hooks.edgesChange.trigger(q)},b=x=>{if(e.multiSelectionActive){const v=x.map(E=>It(E.id,!0));e.hooks.nodesChange.trigger(v);return}e.hooks.nodesChange.trigger(Ot(n.value,new Set(x.map(v=>v.id)),!0)),e.hooks.edgesChange.trigger(Ot(o.value))},h=x=>{if(e.multiSelectionActive){const v=x.map(E=>It(E.id,!0));e.hooks.edgesChange.trigger(v);return}e.hooks.edgesChange.trigger(Ot(o.value,new Set(x.map(v=>v.id)))),e.hooks.nodesChange.trigger(Ot(n.value,new Set,!0))},g=x=>{m(x,!0)},_=x=>{const E=(x||e.nodes).map(D=>(D.selected=!1,It(D.id,!1)));e.hooks.nodesChange.trigger(E)},k=x=>{const E=(x||e.edges).map(D=>(D.selected=!1,It(D.id,!1)));e.hooks.edgesChange.trigger(E)},y=x=>{if(!x||!x.length)return m([],!1);const v=x.reduce((E,D)=>{const H=It(D.id,!1);return tn(D)?E.nodes.push(H):E.edges.push(H),E},{nodes:[],edges:[]});v.nodes.length&&e.hooks.nodesChange.trigger(v.nodes),v.edges.length&&e.hooks.edgesChange.trigger(v.edges)},S=x=>{var v;(v=e.d3Zoom)==null||v.scaleExtent([x,e.maxZoom]),e.minZoom=x},V=x=>{var v;(v=e.d3Zoom)==null||v.scaleExtent([e.minZoom,x]),e.maxZoom=x},C=x=>{var v;(v=e.d3Zoom)==null||v.translateExtent(x),e.translateExtent=x},O=x=>{e.nodeExtent=x,i()},A=x=>{var v;(v=e.d3Zoom)==null||v.clickDistance(x)},B=x=>{e.nodesDraggable=x,e.nodesConnectable=x,e.elementsSelectable=x},z=x=>{const v=x instanceof Function?x(e.nodes):x;!e.initialized&&!v.length||(e.nodes=eu(v,u,e.hooks.error.trigger))},j=x=>{const v=x instanceof Function?x(e.edges):x;if(!e.initialized&&!v.length)return;const E=nu(v,e.isValidConnection,u,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);tu(e.connectionLookup,E),e.edges=E},P=x=>{const v=x instanceof Function?x([...e.nodes,...e.edges]):x;!e.initialized&&!v.length||(z(v.filter(tn)),j(v.filter(Tt)))},T=x=>{let v=x instanceof Function?x(e.nodes):x;v=Array.isArray(v)?v:[v];const E=eu(v,u,e.hooks.error.trigger),D=[];for(const H of E)D.push(Kc(H));D.length&&e.hooks.nodesChange.trigger(D)},w=x=>{let v=x instanceof Function?x(e.edges):x;v=Array.isArray(v)?v:[v];const E=nu(v,e.isValidConnection,u,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges),D=[];for(const H of E)D.push(Kc(H));D.length&&e.hooks.edgesChange.trigger(D)},I=(x,v=!0,E=!1)=>{const D=x instanceof Function?x(e.nodes):x,H=Array.isArray(D)?D:[D],q=[],Z=[];function M(L){const le=s(L);for(const ee of le)(!De(ee.deletable)||ee.deletable)&&Z.push(Gc(ee.id,ee.source,ee.target,ee.sourceHandle,ee.targetHandle))}function Y(L){const le=[];for(const ee of e.nodes)ee.parentNode===L&&le.push(ee);if(le.length){for(const ee of le)q.push(Uc(ee.id));v&&M(le);for(const ee of le)Y(ee.id)}}for(const L of H){const le=typeof L=="string"?u(L):L;le&&(De(le.deletable)&&!le.deletable||(q.push(Uc(le.id)),v&&M([le]),E&&Y(le.id)))}Z.length&&e.hooks.edgesChange.trigger(Z),q.length&&e.hooks.nodesChange.trigger(q)},N=x=>{const v=x instanceof Function?x(e.edges):x,E=Array.isArray(v)?v:[v],D=[];for(const H of E){const q=typeof H=="string"?f(H):H;q&&(De(q.deletable)&&!q.deletable||D.push(Gc(typeof H=="string"?H:H.id,q.source,q.target,q.sourceHandle,q.targetHandle)))}e.hooks.edgesChange.trigger(D)},G=(x,v,E=!0)=>nE(x,v,e.edges,f,E,e.hooks.error.trigger),K=(x,v,E={replace:!1})=>{const D=f(x);if(!D)return;const H=typeof v=="function"?v(D):v;D.data=E.replace?H:{...D.data,...H}},R=x=>Fc(x,e.nodes),$=x=>{const v=Fc(x,e.edges);return tu(e.connectionLookup,v),v},F=(x,v,E={replace:!1})=>{const D=u(x);if(!D)return;const H=typeof v=="function"?v(D):v;E.replace?e.nodes.splice(e.nodes.indexOf(D),1,H):Object.assign(D,H)},re=(x,v,E={replace:!1})=>{const D=u(x);if(!D)return;const H=typeof v=="function"?v(D):v;D.data=E.replace?H:{...D.data,...H}},Q=(x,v,E=!1)=>{E?e.connectionClickStartHandle=x:e.connectionStartHandle=x,e.connectionEndHandle=null,e.connectionStatus=null,v&&(e.connectionPosition=v)},J=(x,v=null,E=null)=>{e.connectionStartHandle&&(e.connectionPosition=x,e.connectionEndHandle=v,e.connectionStatus=E)},ae=(x,v)=>{e.connectionPosition={x:Number.NaN,y:Number.NaN},e.connectionEndHandle=null,e.connectionStatus=null,v?e.connectionClickStartHandle=null:e.connectionStartHandle=null},X=x=>{const v=RC(x),E=v?null:to(x)?x:u(x.id);return!v&&!E?[null,null,v]:[v?x:Ui(E),E,v]},W=(x,v=!0,E=e.nodes)=>{const[D,H,q]=X(x);if(!D)return[];const Z=[];for(const M of E||e.nodes){if(!q&&(M.id===H.id||!M.computedPosition))continue;const Y=Ui(M),L=Gi(Y,D);(v&&L>0||L>=Number(D.width)*Number(D.height))&&Z.push(M)}return Z},te=(x,v,E=!0)=>{const[D]=X(x);if(!D)return!1;const H=Gi(D,v);return E&&H>0||H>=Number(D.width)*Number(D.height)},ce=x=>{const{viewport:v,dimensions:E,d3Zoom:D,d3Selection:H,translateExtent:q}=e;if(!D||!H||!x.x&&!x.y)return!1;const Z=Cn.translate(v.x+x.x,v.y+x.y).scale(v.zoom),M=[[0,0],[E.width,E.height]],Y=D.constrain()(Z,M,q),L=e.viewport.x!==Y.x||e.viewport.y!==Y.y||e.viewport.zoom!==Y.k;return D.transform(H,Y),L},oe=x=>{const v=x instanceof Function?x(e):x,E=["d3Zoom","d3Selection","d3ZoomHandler","viewportRef","vueFlowRef","dimensions","hooks"];De(v.defaultEdgeOptions)&&(e.defaultEdgeOptions=v.defaultEdgeOptions);const D=v.modelValue||v.nodes||v.edges?[]:void 0;D&&(v.modelValue&&D.push(...v.modelValue),v.nodes&&D.push(...v.nodes),v.edges&&D.push(...v.edges),P(D));const H=()=>{De(v.maxZoom)&&V(v.maxZoom),De(v.minZoom)&&S(v.minZoom),De(v.translateExtent)&&C(v.translateExtent)};for(const q of Object.keys(v)){const Z=q,M=v[Z];![...hE,...E].includes(Z)&&De(M)&&(e[Z]=M)}bi(()=>e.d3Zoom).not.toBeNull().then(H),e.initialized||(e.initialized=!0)};return{updateNodePositions:d,updateNodeDimensions:p,setElements:P,setNodes:z,setEdges:j,addNodes:T,addEdges:w,removeNodes:I,removeEdges:N,findNode:u,findEdge:f,updateEdge:G,updateEdgeData:K,updateNode:F,updateNodeData:re,applyEdgeChanges:$,applyNodeChanges:R,addSelectedElements:g,addSelectedNodes:b,addSelectedEdges:h,setMinZoom:S,setMaxZoom:V,setTranslateExtent:C,setNodeExtent:O,setPaneClickDistance:A,removeSelectedElements:y,removeSelectedNodes:_,removeSelectedEdges:k,startConnection:Q,updateConnection:J,endConnection:ae,setInteractive:B,setState:oe,getIntersectingNodes:W,getIncomers:a,getOutgoers:l,getConnectedEdges:s,getHandleConnections:c,isNodeIntersecting:te,panBy:ce,fitView:x=>r.value.fitView(x),zoomIn:x=>r.value.zoomIn(x),zoomOut:x=>r.value.zoomOut(x),zoomTo:(x,v)=>r.value.zoomTo(x,v),setViewport:(x,v)=>r.value.setViewport(x,v),setTransform:(x,v)=>r.value.setTransform(x,v),getViewport:()=>r.value.getViewport(),getTransform:()=>r.value.getTransform(),setCenter:(x,v,E)=>r.value.setCenter(x,v,E),fitBounds:(x,v)=>r.value.fitBounds(x,v),project:x=>r.value.project(x),screenToFlowCoordinate:x=>r.value.screenToFlowCoordinate(x),flowToScreenCoordinate:x=>r.value.flowToScreenCoordinate(x),toObject:()=>{const x=[],v=[];for(const E of e.nodes){const{computedPosition:D,handleBounds:H,selected:q,dimensions:Z,isParent:M,resizing:Y,dragging:L,events:le,...ee}=E;x.push(ee)}for(const E of e.edges){const{selected:D,sourceNode:H,targetNode:q,events:Z,...M}=E;v.push(M)}return JSON.parse(JSON.stringify({nodes:x,edges:v,position:[e.viewport.x,e.viewport.y],zoom:e.viewport.zoom,viewport:e.viewport}))},fromObject:x=>new Promise(v=>{const{nodes:E,edges:D,position:H,zoom:q,viewport:Z}=x;if(E&&z(E),D&&j(D),Z!=null&&Z.x&&(Z!=null&&Z.y)||H){const M=(Z==null?void 0:Z.x)||H[0],Y=(Z==null?void 0:Z.y)||H[1],L=(Z==null?void 0:Z.zoom)||q||e.viewport.zoom;return bi(()=>r.value.viewportInitialized).toBe(!0).then(()=>{r.value.setViewport({x:M,y:Y,zoom:L}).then(()=>{v(!0)})})}else v(!0)}),updateNodeInternals:i,viewportHelper:r,$reset:()=>{const x=uu();if(e.edges=[],e.nodes=[],e.d3Zoom&&e.d3Selection){const v=Cn.translate(x.defaultViewport.x??0,x.defaultViewport.y??0).scale(en(x.defaultViewport.zoom??1,x.minZoom,x.maxZoom)),E=e.viewportRef.getBoundingClientRect(),D=[[0,0],[E.width,E.height]],H=e.d3Zoom.constrain()(v,D,x.translateExtent);e.d3Zoom.transform(e.d3Selection,H)}oe(x)},$destroy:()=>{}}}const _E=["data-id","data-handleid","data-nodeid","data-handlepos"],bE={name:"Handle",compatConfig:{MODE:3}},Bt=t.defineComponent({...bE,props:{id:{default:null},type:{},position:{default:()=>me.Top},isValidConnection:{type:Function},connectable:{type:[Boolean,Number,String,Function],default:void 0},connectableStart:{type:Boolean,default:!0},connectableEnd:{type:Boolean,default:!0}},setup(e,{expose:n}){const o=t.createPropsRestProxy(e,["position","connectable","connectableStart","connectableEnd","id"]),r=t.toRef(()=>o.type??"source"),i=t.toRef(()=>o.isValidConnection??null),{connectionStartHandle:a,connectionClickStartHandle:l,connectionEndHandle:s,vueFlowRef:c,nodesConnectable:u,noDragClassName:f,noPanClassName:d}=Pe(),{id:p,node:m,nodeEl:b,connectedEdges:h}=su(),g=t.ref(),_=t.toRef(()=>typeof e.connectableStart<"u"?e.connectableStart:!0),k=t.toRef(()=>typeof e.connectableEnd<"u"?e.connectableEnd:!0),y=t.toRef(()=>{var z,j,P,T,w,I;return((z=a.value)==null?void 0:z.nodeId)===p&&((j=a.value)==null?void 0:j.handleId)===e.id&&((P=a.value)==null?void 0:P.type)===r.value||((T=s.value)==null?void 0:T.nodeId)===p&&((w=s.value)==null?void 0:w.handleId)===e.id&&((I=s.value)==null?void 0:I.type)===r.value}),S=t.toRef(()=>{var z,j,P;return((z=l.value)==null?void 0:z.nodeId)===p&&((j=l.value)==null?void 0:j.handleId)===e.id&&((P=l.value)==null?void 0:P.type)===r.value}),{handlePointerDown:V,handleClick:C}=lu({nodeId:p,handleId:e.id,isValidConnection:i,type:r}),O=t.computed(()=>typeof e.connectable=="string"&&e.connectable==="single"?!h.value.some(z=>{const j=z[`${r.value}Handle`];return z[r.value]!==p?!1:j?j===e.id:!0}):typeof e.connectable=="number"?h.value.filter(z=>{const j=z[`${r.value}Handle`];return z[r.value]!==p?!1:j?j===e.id:!0}).length<e.connectable:typeof e.connectable=="function"?e.connectable(m,h.value):De(e.connectable)?e.connectable:u.value);t.onMounted(()=>{var z;if(!m.dimensions.width||!m.dimensions.height)return;const j=(z=m.handleBounds[r.value])==null?void 0:z.find(K=>K.id===e.id);if(!c.value||j)return;const P=c.value.querySelector(".vue-flow__transformationpane");if(!b.value||!g.value||!P||!e.id)return;const T=b.value.getBoundingClientRect(),w=g.value.getBoundingClientRect(),I=window.getComputedStyle(P),{m22:N}=new window.DOMMatrixReadOnly(I.transform),G={id:e.id,position:e.position,x:(w.left-T.left)/N,y:(w.top-T.top)/N,...ir(g.value)};m.handleBounds[r.value]=[...m.handleBounds[r.value]??[],G]}),t.onUnmounted(()=>{const z=m.handleBounds[r.value];z&&(m.handleBounds[r.value]=z.filter(j=>j.id!==e.id))});function A(z){const j=Hi(z);O.value&&_.value&&(j&&z.button===0||!j)&&V(z)}function B(z){!p||!l.value&&!_.value||O.value&&C(z)}return n({handleClick:C,handlePointerDown:V,onClick:B,onPointerDown:A}),(z,j)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"handle",ref:g,"data-id":`${t.unref(p)}-${e.id}-${r.value}`,"data-handleid":e.id,"data-nodeid":t.unref(p),"data-handlepos":z.position,class:t.normalizeClass(["vue-flow__handle",[`vue-flow__handle-${z.position}`,`vue-flow__handle-${e.id}`,t.unref(f),t.unref(d),r.value,{connectable:O.value,connecting:S.value,connectablestart:_.value,connectableend:k.value,connectionindicator:O.value&&(_.value&&!y.value||k.value&&y.value)}]]),onMousedown:A,onTouchstartPassive:A,onClick:B},[t.renderSlot(z.$slots,"default",{id:z.id})],42,_E))}}),pr=function({sourcePosition:e=me.Bottom,targetPosition:n=me.Top,label:o,connectable:r=!0,isValidTargetPos:i,isValidSourcePos:a,data:l}){const s=l.label||o;return[t.h(Bt,{type:"target",position:n,connectable:r,isValidConnection:i}),typeof s!="string"&&s?t.h(s):t.h(t.Fragment,[s]),t.h(Bt,{type:"source",position:e,connectable:r,isValidConnection:a})]};pr.props=["sourcePosition","targetPosition","label","isValidTargetPos","isValidSourcePos","connectable","data"],pr.inheritAttrs=!1,pr.compatConfig={MODE:3};const wE=pr,mr=function({targetPosition:e=me.Top,label:n,connectable:o=!0,isValidTargetPos:r,data:i}){const a=i.label||n;return[t.h(Bt,{type:"target",position:e,connectable:o,isValidConnection:r}),typeof a!="string"&&a?t.h(a):t.h(t.Fragment,[a])]};mr.props=["targetPosition","label","isValidTargetPos","connectable","data"],mr.inheritAttrs=!1,mr.compatConfig={MODE:3};const kE=mr,gr=function({sourcePosition:e=me.Bottom,label:n,connectable:o=!0,isValidSourcePos:r,data:i}){const a=i.label||n;return[typeof a!="string"&&a?t.h(a):t.h(t.Fragment,[a]),t.h(Bt,{type:"source",position:e,connectable:o,isValidConnection:r})]};gr.props=["sourcePosition","label","isValidSourcePos","connectable","data"],gr.inheritAttrs=!1,gr.compatConfig={MODE:3};const CE=gr,EE=["transform"],vE=["width","height","x","y","rx","ry"],SE=["y"],NE={name:"EdgeText",compatConfig:{MODE:3}},xE=t.defineComponent({...NE,props:{x:{},y:{},label:{},labelStyle:{default:()=>({})},labelShowBg:{type:Boolean,default:!0},labelBgStyle:{default:()=>({})},labelBgPadding:{default:()=>[2,4]},labelBgBorderRadius:{default:2}},setup(e){const n=t.ref({x:0,y:0,width:0,height:0}),o=t.ref(null),r=t.computed(()=>`translate(${e.x-n.value.width/2} ${e.y-n.value.height/2})`);t.onMounted(i),t.watch([()=>e.x,()=>e.y,o,()=>e.label],i);function i(){if(!o.value)return;const a=o.value.getBBox();(a.width!==n.value.width||a.height!==n.value.height)&&(n.value=a)}return(a,l)=>(t.openBlock(),t.createElementBlock("g",{transform:r.value,class:"vue-flow__edge-textwrapper"},[a.labelShowBg?(t.openBlock(),t.createElementBlock("rect",{key:0,class:"vue-flow__edge-textbg",width:`${n.value.width+2*a.labelBgPadding[0]}px`,height:`${n.value.height+2*a.labelBgPadding[1]}px`,x:-a.labelBgPadding[0],y:-a.labelBgPadding[1],style:t.normalizeStyle(a.labelBgStyle),rx:a.labelBgBorderRadius,ry:a.labelBgBorderRadius},null,12,vE)):t.createCommentVNode("",!0),t.createElementVNode("text",t.mergeProps(a.$attrs,{ref_key:"el",ref:o,class:"vue-flow__edge-text",y:n.value.height/2,dy:"0.3em",style:a.labelStyle}),[t.renderSlot(a.$slots,"default",{},()=>[typeof a.label!="string"?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(a.label),{key:0})):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(t.toDisplayString(a.label),1)],64))])],16,SE)],8,EE))}}),AE=["id","d","marker-end","marker-start"],PE=["d","stroke-width"],TE={name:"BaseEdge",inheritAttrs:!1,compatConfig:{MODE:3}},hr=t.defineComponent({...TE,props:{id:{},labelX:{},labelY:{},path:{},label:{},markerStart:{},markerEnd:{},interactionWidth:{default:20},style:{},labelStyle:{},labelShowBg:{type:Boolean,default:!0},labelBgStyle:{},labelBgPadding:{},labelBgBorderRadius:{}},setup(e,{expose:n}){const o=t.createPropsRestProxy(e,["interactionWidth","labelShowBg"]),r=t.ref(null),i=t.ref(null),a=t.ref(null),l=t.useAttrs();return n({pathEl:r,interactionEl:i,labelEl:a}),(s,c)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("path",{id:s.id,ref_key:"pathEl",ref:r,d:s.path,style:t.normalizeStyle(o.style),class:t.normalizeClass(["vue-flow__edge-path",t.unref(l).class]),"marker-end":s.markerEnd,"marker-start":s.markerStart},null,14,AE),s.interactionWidth?(t.openBlock(),t.createElementBlock("path",{key:0,ref_key:"interactionEl",ref:i,fill:"none",d:s.path,"stroke-width":s.interactionWidth,"stroke-opacity":0,class:"vue-flow__edge-interaction"},null,8,PE)):t.createCommentVNode("",!0),s.label&&s.labelX&&s.labelY?(t.openBlock(),t.createBlock(xE,{key:1,ref_key:"labelEl",ref:a,x:s.labelX,y:s.labelY,label:s.label,"label-show-bg":s.labelShowBg,"label-bg-style":s.labelBgStyle,"label-bg-padding":s.labelBgPadding,"label-bg-border-radius":s.labelBgBorderRadius,"label-style":s.labelStyle},null,8,["x","y","label","label-show-bg","label-bg-style","label-bg-padding","label-bg-border-radius","label-style"])):t.createCommentVNode("",!0)],64))}});function du({sourceX:e,sourceY:n,targetX:o,targetY:r}){const i=Math.abs(o-e)/2,a=o<e?o+i:o-i,l=Math.abs(r-n)/2,s=r<n?r+l:r-l;return[a,s,i,l]}function fu({sourceX:e,sourceY:n,targetX:o,targetY:r,sourceControlX:i,sourceControlY:a,targetControlX:l,targetControlY:s}){const c=e*.125+i*.375+l*.375+o*.125,u=n*.125+a*.375+s*.375+r*.125,f=Math.abs(c-e),d=Math.abs(u-n);return[c,u,f,d]}function yr(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function pu({pos:e,x1:n,y1:o,x2:r,y2:i,c:a}){let l,s;switch(e){case me.Left:l=n-yr(n-r,a),s=o;break;case me.Right:l=n+yr(r-n,a),s=o;break;case me.Top:l=n,s=o-yr(o-i,a);break;case me.Bottom:l=n,s=o+yr(i-o,a);break}return[l,s]}function mu(e){const{sourceX:n,sourceY:o,sourcePosition:r=me.Bottom,targetX:i,targetY:a,targetPosition:l=me.Top,curvature:s=.25}=e,[c,u]=pu({pos:r,x1:n,y1:o,x2:i,y2:a,c:s}),[f,d]=pu({pos:l,x1:i,y1:a,x2:n,y2:o,c:s}),[p,m,b,h]=fu({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:c,sourceControlY:u,targetControlX:f,targetControlY:d});return[`M${n},${o} C${c},${u} ${f},${d} ${i},${a}`,p,m,b,h]}function gu({pos:e,x1:n,y1:o,x2:r,y2:i}){let a,l;switch(e){case me.Left:case me.Right:a=.5*(n+r),l=o;break;case me.Top:case me.Bottom:a=n,l=.5*(o+i);break}return[a,l]}function hu(e){const{sourceX:n,sourceY:o,sourcePosition:r=me.Bottom,targetX:i,targetY:a,targetPosition:l=me.Top}=e,[s,c]=gu({pos:r,x1:n,y1:o,x2:i,y2:a}),[u,f]=gu({pos:l,x1:i,y1:a,x2:n,y2:o}),[d,p,m,b]=fu({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:s,sourceControlY:c,targetControlX:u,targetControlY:f});return[`M${n},${o} C${s},${c} ${u},${f} ${i},${a}`,d,p,m,b]}const yu={[me.Left]:{x:-1,y:0},[me.Right]:{x:1,y:0},[me.Top]:{x:0,y:-1},[me.Bottom]:{x:0,y:1}};function IE({source:e,sourcePosition:n=me.Bottom,target:o}){return n===me.Left||n===me.Right?e.x<o.x?{x:1,y:0}:{x:-1,y:0}:e.y<o.y?{x:0,y:1}:{x:0,y:-1}}function _u(e,n){return Math.sqrt((n.x-e.x)**2+(n.y-e.y)**2)}function OE({source:e,sourcePosition:n=me.Bottom,target:o,targetPosition:r=me.Top,center:i,offset:a}){const l=yu[n],s=yu[r],c={x:e.x+l.x*a,y:e.y+l.y*a},u={x:o.x+s.x*a,y:o.y+s.y*a},f=IE({source:c,sourcePosition:n,target:u}),d=f.x!==0?"x":"y",p=f[d];let m,b,h;const g={x:0,y:0},_={x:0,y:0},[k,y,S,V]=du({sourceX:e.x,sourceY:e.y,targetX:o.x,targetY:o.y});if(l[d]*s[d]===-1){b=i.x??k,h=i.y??y;const O=[{x:b,y:c.y},{x:b,y:u.y}],A=[{x:c.x,y:h},{x:u.x,y:h}];l[d]===p?m=d==="x"?O:A:m=d==="x"?A:O}else{const O=[{x:c.x,y:u.y}],A=[{x:u.x,y:c.y}];if(d==="x"?m=l.x===p?A:O:m=l.y===p?O:A,n===r){const T=Math.abs(e[d]-o[d]);if(T<=a){const w=Math.min(a-1,a-T);l[d]===p?g[d]=(c[d]>e[d]?-1:1)*w:_[d]=(u[d]>o[d]?-1:1)*w}}if(n!==r){const T=d==="x"?"y":"x",w=l[d]===s[T],I=c[T]>u[T],N=c[T]<u[T];(l[d]===1&&(!w&&I||w&&N)||l[d]!==1&&(!w&&N||w&&I))&&(m=d==="x"?O:A)}const B={x:c.x+g.x,y:c.y+g.y},z={x:u.x+_.x,y:u.y+_.y},j=Math.max(Math.abs(B.x-m[0].x),Math.abs(z.x-m[0].x)),P=Math.max(Math.abs(B.y-m[0].y),Math.abs(z.y-m[0].y));j>=P?(b=(B.x+z.x)/2,h=m[0].y):(b=m[0].x,h=(B.y+z.y)/2)}return[[e,{x:c.x+g.x,y:c.y+g.y},...m,{x:u.x+_.x,y:u.y+_.y},o],b,h,S,V]}function $E(e,n,o,r){const i=Math.min(_u(e,n)/2,_u(n,o)/2,r),{x:a,y:l}=n;if(e.x===a&&a===o.x||e.y===l&&l===o.y)return`L${a} ${l}`;if(e.y===l){const u=e.x<o.x?-1:1,f=e.y<o.y?1:-1;return`L ${a+i*u},${l}Q ${a},${l} ${a},${l+i*f}`}const s=e.x<o.x?1:-1,c=e.y<o.y?-1:1;return`L ${a},${l+i*c}Q ${a},${l} ${a+i*s},${l}`}function Qi(e){const{sourceX:n,sourceY:o,sourcePosition:r=me.Bottom,targetX:i,targetY:a,targetPosition:l=me.Top,borderRadius:s=5,centerX:c,centerY:u,offset:f=20}=e,[d,p,m,b,h]=OE({source:{x:n,y:o},sourcePosition:r,target:{x:i,y:a},targetPosition:l,center:{x:c,y:u},offset:f});return[d.reduce((_,k,y)=>{let S;return y>0&&y<d.length-1?S=$E(d[y-1],k,d[y+1],s):S=`${y===0?"M":"L"}${k.x} ${k.y}`,_+=S,_},""),p,m,b,h]}function BE(e){const{sourceX:n,sourceY:o,targetX:r,targetY:i}=e,[a,l,s,c]=du({sourceX:n,sourceY:o,targetX:r,targetY:i});return[`M ${n},${o}L ${r},${i}`,a,l,s,c]}const DE=t.defineComponent({name:"StraightEdge",props:["label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=BE(e);return t.h(hr,{path:o,labelX:r,labelY:i,...n,...e})}}}),bu=t.defineComponent({name:"SmoothStepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","borderRadius","markerEnd","markerStart","interactionWidth","offset"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=Qi({...e,sourcePosition:e.sourcePosition??me.Bottom,targetPosition:e.targetPosition??me.Top});return t.h(hr,{path:o,labelX:r,labelY:i,...n,...e})}}}),RE=t.defineComponent({name:"StepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],setup(e,{attrs:n}){return()=>t.h(bu,{...e,...n,borderRadius:0})}}),VE=t.defineComponent({name:"BezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","curvature","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=mu({...e,sourcePosition:e.sourcePosition??me.Bottom,targetPosition:e.targetPosition??me.Top});return t.h(hr,{path:o,labelX:r,labelY:i,...n,...e})}}}),ME=t.defineComponent({name:"SimpleBezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=hu({...e,sourcePosition:e.sourcePosition??me.Bottom,targetPosition:e.targetPosition??me.Top});return t.h(hr,{path:o,labelX:r,labelY:i,...n,...e})}}}),LE={input:CE,default:wE,output:kE},FE={default:VE,straight:DE,step:RE,smoothstep:bu,simplebezier:ME};function KE(e,n,o){const r=t.computed(()=>h=>n.value.get(h)),i=t.computed(()=>h=>o.value.get(h)),a=t.computed(()=>{const h={...FE,...e.edgeTypes},g=Object.keys(h);for(const _ of e.edges)_.type&&!g.includes(_.type)&&(h[_.type]=_.type);return h}),l=t.computed(()=>{const h={...LE,...e.nodeTypes},g=Object.keys(h);for(const _ of e.nodes)_.type&&!g.includes(_.type)&&(h[_.type]=_.type);return h}),s=t.computed(()=>e.onlyRenderVisibleElements?Bc(e.nodes,{x:0,y:0,width:e.dimensions.width,height:e.dimensions.height},e.viewport,!0):e.nodes),c=t.computed(()=>{if(e.onlyRenderVisibleElements){const h=[];for(const g of e.edges){const _=n.value.get(g.source),k=n.value.get(g.target);YC({sourcePos:_.computedPosition||{x:0,y:0},targetPos:k.computedPosition||{x:0,y:0},sourceWidth:_.dimensions.width,sourceHeight:_.dimensions.height,targetWidth:k.dimensions.width,targetHeight:k.dimensions.height,width:e.dimensions.width,height:e.dimensions.height,viewport:e.viewport})&&h.push(g)}return h}return e.edges}),u=t.computed(()=>[...s.value,...c.value]),f=t.computed(()=>{const h=[];for(const g of e.nodes)g.selected&&h.push(g);return h}),d=t.computed(()=>{const h=[];for(const g of e.edges)g.selected&&h.push(g);return h}),p=t.computed(()=>[...f.value,...d.value]),m=t.computed(()=>{const h=[];for(const g of e.nodes)g.dimensions.width&&g.dimensions.height&&g.handleBounds!==void 0&&h.push(g);return h}),b=t.computed(()=>s.value.length>0&&m.value.length===s.value.length);return{getNode:r,getEdge:i,getElements:u,getEdgeTypes:a,getNodeTypes:l,getEdges:c,getNodes:s,getSelectedElements:p,getSelectedNodes:f,getSelectedEdges:d,getNodesInitialized:m,areNodesInitialized:b}}class nn{constructor(){this.currentId=0,this.flows=new Map}static getInstance(){var n;const o=(n=t.getCurrentInstance())==null?void 0:n.appContext.app,r=(o==null?void 0:o.config.globalProperties.$vueFlowStorage)??nn.instance;return nn.instance=r??new nn,o&&(o.config.globalProperties.$vueFlowStorage=nn.instance),nn.instance}set(n,o){return this.flows.set(n,o)}get(n){return this.flows.get(n)}remove(n){return this.flows.delete(n)}create(n,o){const r=uu(),i=t.reactive(r),a={};for(const[p,m]of Object.entries(i.hooks)){const b=`on${p.charAt(0).toUpperCase()+p.slice(1)}`;a[b]=m.on}const l={};for(const[p,m]of Object.entries(i.hooks))l[p]=m.trigger;const s=t.computed(()=>{const p=new Map;for(const m of i.nodes)p.set(m.id,m);return p}),c=t.computed(()=>{const p=new Map;for(const m of i.edges)p.set(m.id,m);return p}),u=KE(i,s,c),f=yE(i,s,c);f.setState({...i,...o});const d={...a,...u,...f,...Xb(i),nodeLookup:s,edgeLookup:c,emits:l,id:n,vueFlowVersion:"1.41.5",$destroy:()=>{this.remove(n)}};return this.set(n,d),d}getId(){return`vue-flow-${this.currentId++}`}}function Pe(e){const n=nn.getInstance(),o=t.getCurrentScope(),r=typeof e=="object",i=r?e:{id:e},a=i.id,l=a??(o==null?void 0:o.vueFlowId);let s;if(o){const c=t.inject(ou,null);typeof c<"u"&&c!==null&&(!l||c.id===l)&&(s=c)}if(s||l&&(s=n.get(l)),!s||l&&s.id!==l){const c=a??n.getId(),u=n.create(c,i);s=u,(o??t.effectScope(!0)).run(()=>{t.watch(u.applyDefault,(d,p,m)=>{const b=g=>{u.applyNodeChanges(g)},h=g=>{u.applyEdgeChanges(g)};d?(u.onNodesChange(b),u.onEdgesChange(h)):(u.hooks.value.nodesChange.off(b),u.hooks.value.edgesChange.off(h)),m(()=>{u.hooks.value.nodesChange.off(b),u.hooks.value.edgesChange.off(h)})},{immediate:!0}),Lo(()=>{if(s){const d=n.get(s.id);d?d.$destroy():ur(`No store instance found for id ${s.id} in storage.`)}})})}else r&&s.setState(i);if(o&&(t.provide(ou,s),o.vueFlowId=s.id),r){const c=t.getCurrentInstance();(c==null?void 0:c.type.name)!=="VueFlow"&&s.emits.error(new Me(Be.USEVUEFLOW_OPTIONS))}return s}function UE(e){const{emits:n,dimensions:o}=Pe();let r;t.onMounted(()=>{const i=e.value,a=()=>{if(!i)return;const l=ir(i);(l.width===0||l.height===0)&&n.error(new Me(Be.MISSING_VIEWPORT_DIMENSIONS)),o.value={width:l.width||500,height:l.height||500}};a(),window.addEventListener("resize",a),i&&(r=new ResizeObserver(()=>a()),r.observe(i)),t.onBeforeUnmount(()=>{window.removeEventListener("resize",a),r&&i&&r.unobserve(i)})})}const GE={name:"UserSelection",compatConfig:{MODE:3}},qE=t.defineComponent({...GE,props:{userSelectionRect:{}},setup(e){return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:"vue-flow__selection vue-flow__container",style:t.normalizeStyle({width:`${n.userSelectionRect.width}px`,height:`${n.userSelectionRect.height}px`,transform:`translate(${n.userSelectionRect.x}px, ${n.userSelectionRect.y}px)`})},null,4))}}),zE=["tabIndex"],jE={name:"NodesSelection",compatConfig:{MODE:3}},HE=t.defineComponent({...jE,setup(e){const{emits:n,viewport:o,getSelectedNodes:r,noPanClassName:i,disableKeyboardA11y:a,userSelectionActive:l}=Pe(),s=cu(),c=t.ref(null),u=au({el:c,onStart(b){n.selectionDragStart(b)},onDrag(b){n.selectionDrag(b)},onStop(b){n.selectionDragStop(b)}});t.onMounted(()=>{var b;a.value||(b=c.value)==null||b.focus({preventScroll:!0})});const f=t.computed(()=>$c(r.value)),d=t.computed(()=>({width:`${f.value.width}px`,height:`${f.value.height}px`,top:`${f.value.y}px`,left:`${f.value.x}px`}));function p(b){n.selectionContextMenu({event:b,nodes:r.value})}function m(b){a||En[b.key]&&s({x:En[b.key].x,y:En[b.key].y},b.shiftKey)}return(b,h)=>!t.unref(l)&&f.value.width&&f.value.height?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["vue-flow__nodesselection vue-flow__container",t.unref(i)]),style:t.normalizeStyle({transform:`translate(${t.unref(o).x}px,${t.unref(o).y}px) scale(${t.unref(o).zoom})`})},[t.createElementVNode("div",{ref_key:"el",ref:c,class:t.normalizeClass([{dragging:t.unref(u)},"vue-flow__nodesselection-rect"]),style:t.normalizeStyle(d.value),tabIndex:t.unref(a)?void 0:-1,onContextmenu:p,onKeydown:m},null,46,zE)],6)):t.createCommentVNode("",!0)}});function YE(e,n){return{x:e.clientX-n.left,y:e.clientY-n.top}}const WE={name:"Pane",compatConfig:{MODE:3}},XE=t.defineComponent({...WE,props:{isSelecting:{type:Boolean},selectionKeyPressed:{type:Boolean}},setup(e){const{vueFlowRef:n,nodes:o,viewport:r,emits:i,userSelectionActive:a,removeSelectedElements:l,panOnDrag:s,userSelectionRect:c,elementsSelectable:u,nodesSelectionActive:f,getSelectedEdges:d,getSelectedNodes:p,removeNodes:m,removeEdges:b,selectionMode:h,deleteKeyCode:g,multiSelectionKeyCode:_,multiSelectionActive:k,edgeLookup:y,nodeLookup:S}=Pe(),V=t.ref(null),C=t.ref(0),O=t.ref(0),A=t.ref(),B=t.ref(new Map),z=t.toRef(()=>u.value&&(e.isSelecting||a.value));let j=!1,P=!1;const T=eo(g,{actInsideInputWithModifier:!1}),w=eo(_);t.watch(T,Q=>{Q&&(m(p.value),b(d.value),f.value=!1)}),t.watch(w,Q=>{k.value=Q});function I(Q,J){return ae=>{ae.target===J&&(Q==null||Q(ae))}}function N(){a.value=!1,c.value=null,C.value=0,O.value=0}function G(Q){if(j){j=!1;return}i.paneClick(Q),l(),f.value=!1}function K(Q){var J;if(Array.isArray(s.value)&&((J=s.value)!=null&&J.includes(2))){Q.preventDefault();return}i.paneContextMenu(Q)}function R(Q){i.paneScroll(Q)}function $(Q){var J,ae,X,W,te;if(A.value=(J=n.value)==null?void 0:J.getBoundingClientRect(),!u.value||!e.isSelecting||Q.button!==0||Q.target!==V.value||!A.value)return;(X=(ae=Q.target)==null?void 0:ae.setPointerCapture)==null||X.call(ae,Q.pointerId);const{x:ce,y:oe}=YE(Q,A.value);P=!0,j=!1,B.value=new Map;for(const[ne,fe]of y.value)B.value.set(fe.source,((W=B.value.get(fe.source))==null?void 0:W.add(ne))||new Set([ne])),B.value.set(fe.target,((te=B.value.get(fe.target))==null?void 0:te.add(ne))||new Set([ne]));l(),c.value={width:0,height:0,startX:ce,startY:oe,x:ce,y:oe},i.selectionStart(Q)}function F(Q){if(!A.value||!c.value)return;j=!0;const{x:J,y:ae}=Et(Q,A.value),{startX:X=0,startY:W=0}=c.value,te={startX:X,startY:W,x:J<X?J:X,y:ae<W?ae:W,width:Math.abs(J-X),height:Math.abs(ae-W)},ce=Bc(o.value,te,r.value,h.value===Li.Partial,!0),oe=new Set,ne=new Set;for(const fe of ce){ne.add(fe.id);const he=B.value.get(fe.id);if(he)for(const x of he)oe.add(x)}if(C.value!==ne.size){C.value=ne.size;const fe=Ot(S.value,ne,!0);i.nodesChange(fe)}if(O.value!==oe.size){O.value=oe.size;const fe=Ot(y.value,oe);i.edgesChange(fe)}c.value=te,a.value=!0,f.value=!1}function re(Q){var J;Q.button!==0||!P||((J=Q.target)==null||J.releasePointerCapture(Q.pointerId),!a.value&&c.value&&Q.target===V.value&&G(Q),C.value>0&&(f.value=!0),N(),i.selectionEnd(Q),e.selectionKeyPressed&&(j=!1),P=!1)}return(Q,J)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"container",ref:V,class:t.normalizeClass(["vue-flow__pane vue-flow__container",{selection:Q.isSelecting}]),onClick:J[0]||(J[0]=ae=>z.value?void 0:I(G,V.value)(ae)),onContextmenu:J[1]||(J[1]=ae=>I(K,V.value)(ae)),onWheelPassive:J[2]||(J[2]=ae=>I(R,V.value)(ae)),onPointerenter:J[3]||(J[3]=ae=>z.value?void 0:t.unref(i).paneMouseEnter(ae)),onPointerdown:J[4]||(J[4]=ae=>z.value?$(ae):t.unref(i).paneMouseMove(ae)),onPointermove:J[5]||(J[5]=ae=>z.value?F(ae):t.unref(i).paneMouseMove(ae)),onPointerup:J[6]||(J[6]=ae=>z.value?re(ae):void 0),onPointerleave:J[7]||(J[7]=ae=>t.unref(i).paneMouseLeave(ae))},[t.renderSlot(Q.$slots,"default"),t.unref(a)&&t.unref(c)?(t.openBlock(),t.createBlock(qE,{key:0,"user-selection-rect":t.unref(c)},null,8,["user-selection-rect"])):t.createCommentVNode("",!0),t.unref(f)&&t.unref(p).length?(t.openBlock(),t.createBlock(HE,{key:1})):t.createCommentVNode("",!0)],34))}}),ZE={name:"Transform",compatConfig:{MODE:3}},JE=t.defineComponent({...ZE,setup(e){const{viewport:n,fitViewOnInit:o,fitViewOnInitDone:r}=Pe(),i=t.computed(()=>o.value?!r.value:!1),a=t.computed(()=>`translate(${n.value.x}px,${n.value.y}px) scale(${n.value.zoom})`);return(l,s)=>(t.openBlock(),t.createElementBlock("div",{class:"vue-flow__transformationpane vue-flow__container",style:t.normalizeStyle({transform:a.value,opacity:i.value?0:void 0})},[t.renderSlot(l.$slots,"default")],4))}}),QE={name:"Viewport",compatConfig:{MODE:3}},ev=t.defineComponent({...QE,setup(e){const{minZoom:n,maxZoom:o,defaultViewport:r,translateExtent:i,zoomActivationKeyCode:a,selectionKeyCode:l,panActivationKeyCode:s,panOnScroll:c,panOnScrollMode:u,panOnScrollSpeed:f,panOnDrag:d,zoomOnDoubleClick:p,zoomOnPinch:m,zoomOnScroll:b,preventScrolling:h,noWheelClassName:g,noPanClassName:_,emits:k,connectionStartHandle:y,userSelectionActive:S,paneDragging:V,d3Zoom:C,d3Selection:O,d3ZoomHandler:A,viewport:B,viewportRef:z,paneClickDistance:j}=Pe();UE(z);const P=t.ref(!1),T=t.ref(!1);let w=null,I=!1,N=0,G={x:0,y:0,zoom:0};const K=eo(s),R=eo(l),$=eo(a),F=t.toRef(()=>(!R.value||R.value&&l.value===!0)&&(K.value||d.value)),re=t.toRef(()=>K.value||c.value),Q=t.toRef(()=>R.value||l.value===!0&&F.value!==!0);t.onMounted(()=>{if(!z.value){ur("Viewport element is missing");return}const ce=z.value,oe=ce.getBoundingClientRect(),ne=IC().clickDistance(j.value).scaleExtent([n.value,o.value]).translateExtent(i.value),fe=rt(ce).call(ne),he=fe.on("wheel.zoom"),x=Cn.translate(r.value.x??0,r.value.y??0).scale(en(r.value.zoom??1,n.value,o.value)),v=[[0,0],[oe.width,oe.height]],E=ne.constrain()(x,v,i.value);ne.transform(fe,E),ne.wheelDelta(ae),C.value=ne,O.value=fe,A.value=he,B.value={x:E.x,y:E.y,zoom:E.k},ne.on("start",D=>{var H;if(!D.sourceEvent)return null;N=D.sourceEvent.button,P.value=!0;const q=W(D.transform);((H=D.sourceEvent)==null?void 0:H.type)==="mousedown"&&(V.value=!0),G=q,k.viewportChangeStart(q),k.moveStart({event:D,flowTransform:q})}),ne.on("end",D=>{if(!D.sourceEvent)return null;if(P.value=!1,V.value=!1,J(F.value,N??0)&&!I&&k.paneContextMenu(D.sourceEvent),I=!1,X(G,D.transform)){const H=W(D.transform);G=H,k.viewportChangeEnd(H),k.moveEnd({event:D,flowTransform:H})}}),ne.filter(D=>{var H,q,Z;const M=$.value||b.value,Y=m.value&&D.ctrlKey,L=D.button;if((F.value===!0||Array.isArray(F.value)&&F.value.includes(1))&&L===1&&D.type==="mousedown"&&((H=D.target)!=null&&H.closest(".vue-flow__node")||(q=D.target)!=null&&q.closest(".vue-flow__edge")))return!0;if(!F.value&&!M&&!re.value&&!p.value&&!m.value||S.value||!p.value&&D.type==="dblclick"||te(D,g.value)&&D.type==="wheel"||te(D,_.value)&&(D.type!=="wheel"||re.value&&D.type==="wheel"&&!$.value)||!m.value&&D.ctrlKey&&D.type==="wheel"||!M&&!re.value&&!Y&&D.type==="wheel")return!1;if(!m&&D.type==="touchstart"&&((Z=D.touches)==null?void 0:Z.length)>1)return D.preventDefault(),!1;if(!F.value&&(D.type==="mousedown"||D.type==="touchstart")||l.value===!0&&Array.isArray(d.value)&&d.value.includes(0)&&L===0||Array.isArray(F.value)&&!F.value.includes(L)&&(D.type==="mousedown"||D.type==="touchstart"))return!1;const le=Array.isArray(F.value)&&F.value.includes(L)||l.value===!0&&Array.isArray(F.value)&&!F.value.includes(0)||!L||L<=1;return(!D.ctrlKey||D.type==="wheel")&&le}),t.watch([S,F],()=>{S.value&&!P.value?ne.on("zoom",null):S.value||ne.on("zoom",D=>{B.value={x:D.transform.x,y:D.transform.y,zoom:D.transform.k};const H=W(D.transform);I=J(F.value,N??0),k.viewportChange(H),k.move({event:D,flowTransform:H})})},{immediate:!0}),t.watch([S,re,u,$,m,h,g],()=>{re.value&&!$.value&&!S.value?fe.on("wheel.zoom",D=>{if(te(D,g.value))return!1;const H=$.value||b.value,q=m.value&&D.ctrlKey;if(!(!h.value||re.value||H||q))return!1;D.preventDefault(),D.stopImmediatePropagation();const M=fe.property("__zoom").k||1,Y=sr();if(D.ctrlKey&&m.value&&Y){const pe=dt(D),_e=ae(D),Ee=M*2**_e;ne.scaleTo(fe,Ee,pe,D);return}const L=D.deltaMode===1?20:1;let le=u.value===Qn.Vertical?0:D.deltaX*L,ee=u.value===Qn.Horizontal?0:D.deltaY*L;!Y&&D.shiftKey&&u.value!==Qn.Vertical&&!le&&ee&&(le=ee,ee=0),ne.translateBy(fe,-(le/M)*f.value,-(ee/M)*f.value);const ye=W(fe.property("__zoom"));w&&clearTimeout(w),T.value?(k.move({event:D,flowTransform:ye}),k.viewportChange(ye),w=setTimeout(()=>{k.moveEnd({event:D,flowTransform:ye}),k.viewportChangeEnd(ye),T.value=!1},150)):(T.value=!0,k.moveStart({event:D,flowTransform:ye}),k.viewportChangeStart(ye))},{passive:!1}):typeof he<"u"&&fe.on("wheel.zoom",function(D,H){const q=!h.value&&D.type==="wheel"&&!D.ctrlKey,Z=$.value||b.value,M=m.value&&D.ctrlKey;if(!Z&&!c.value&&!M&&D.type==="wheel"||q||te(D,g.value))return null;D.preventDefault(),he.call(this,D,H)},{passive:!1})},{immediate:!0})});function J(ce,oe){return oe===2&&Array.isArray(ce)&&ce.includes(2)}function ae(ce){const oe=ce.ctrlKey&&sr()?10:1;return-ce.deltaY*(ce.deltaMode===1?.05:ce.deltaMode?1:.002)*oe}function X(ce,oe){return ce.x!==oe.x&&!Number.isNaN(oe.x)||ce.y!==oe.y&&!Number.isNaN(oe.y)||ce.zoom!==oe.k&&!Number.isNaN(oe.k)}function W(ce){return{x:ce.x,y:ce.y,zoom:ce.k}}function te(ce,oe){return ce.target.closest(`.${oe}`)}return(ce,oe)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"viewportRef",ref:z,class:"vue-flow__viewport vue-flow__container"},[t.createVNode(XE,{"is-selecting":Q.value,"selection-key-pressed":t.unref(R),class:t.normalizeClass({connecting:!!t.unref(y),dragging:t.unref(V),draggable:t.unref(d)===!0||Array.isArray(t.unref(d))&&t.unref(d).includes(0)})},{default:t.withCtx(()=>[t.createVNode(JE,null,{default:t.withCtx(()=>[t.renderSlot(ce.$slots,"default")]),_:3})]),_:3},8,["is-selecting","selection-key-pressed","class"])],512))}}),tv=["id"],nv=["id"],ov=["id"],rv={name:"A11yDescriptions",compatConfig:{MODE:3}},iv=t.defineComponent({...rv,setup(e){const{id:n,disableKeyboardA11y:o,ariaLiveMessage:r}=Pe();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",{id:`${t.unref(Ec)}-${t.unref(n)}`,style:{display:"none"}}," Press enter or space to select a node. "+t.toDisplayString(t.unref(o)?"":"You can then use the arrow keys to move the node around.")+" You can then use the arrow keys to move the node around, press delete to remove it and press escape to cancel. ",9,tv),t.createElementVNode("div",{id:`${t.unref(vc)}-${t.unref(n)}`,style:{display:"none"}}," Press enter or space to select an edge. You can then press delete to remove it or press escape to cancel. ",8,nv),t.unref(o)?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",{key:0,id:`${t.unref(DC)}-${t.unref(n)}`,"aria-live":"assertive","aria-atomic":"true",style:{position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)","clip-path":"inset(100%)"}},t.toDisplayString(t.unref(r)),9,ov))],64))}});function av(){const e=Pe();t.watch(()=>e.viewportHelper.value.viewportInitialized,n=>{n&&setTimeout(()=>{e.emits.init(e),e.emits.paneReady(e)},1)})}function lv(e,n,o){return o===me.Left?e-n:o===me.Right?e+n:e}function sv(e,n,o){return o===me.Top?e-n:o===me.Bottom?e+n:e}const ea=function({radius:e=10,centerX:n=0,centerY:o=0,position:r=me.Top,type:i}){return t.h("circle",{class:`vue-flow__edgeupdater vue-flow__edgeupdater-${i}`,cx:lv(n,e,r),cy:sv(o,e,r),r:e,stroke:"transparent",fill:"transparent"})};ea.props=["radius","centerX","centerY","position","type"],ea.compatConfig={MODE:3};const wu=ea,cv=t.defineComponent({name:"Edge",compatConfig:{MODE:3},props:["id"],setup(e){const{id:n,addSelectedEdges:o,connectionMode:r,edgeUpdaterRadius:i,emits:a,nodesSelectionActive:l,noPanClassName:s,getEdgeTypes:c,removeSelectedEdges:u,findEdge:f,findNode:d,isValidConnection:p,multiSelectionActive:m,disableKeyboardA11y:b,elementsSelectable:h,edgesUpdatable:g,edgesFocusable:_,hooks:k}=Pe(),y=t.computed(()=>f(e.id)),{emit:S,on:V}=aE(y.value,a),C=t.inject(dr),O=t.getCurrentInstance(),A=t.ref(!1),B=t.ref(!1),z=t.ref(""),j=t.ref(null),P=t.ref("source"),T=t.ref(null),w=t.toRef(()=>typeof y.value.selectable>"u"?h.value:y.value.selectable),I=t.toRef(()=>typeof y.value.updatable>"u"?g.value:y.value.updatable),N=t.toRef(()=>typeof y.value.focusable>"u"?_.value:y.value.focusable);t.provide(oE,e.id),t.provide(rE,T);const G=t.computed(()=>y.value.class instanceof Function?y.value.class(y.value):y.value.class),K=t.computed(()=>y.value.style instanceof Function?y.value.style(y.value):y.value.style),R=t.computed(()=>{const v=y.value.type||"default",E=C==null?void 0:C[`edge-${v}`];if(E)return E;let D=y.value.template??c.value[v];if(typeof D=="string"&&O){const H=Object.keys(O.appContext.components);H&&H.includes(v)&&(D=t.resolveComponent(v,!1))}return D&&typeof D!="string"?D:(a.error(new Me(Be.EDGE_TYPE_MISSING,D)),!1)}),{handlePointerDown:$}=lu({nodeId:z,handleId:j,type:P,isValidConnection:p,edgeUpdaterType:P,onEdgeUpdate:Q,onEdgeUpdateEnd:J});return()=>{const v=d(y.value.source),E=d(y.value.target),D="pathOptions"in y.value?y.value.pathOptions:{};if(!v&&!E)return a.error(new Me(Be.EDGE_SOURCE_TARGET_MISSING,y.value.id,y.value.source,y.value.target)),null;if(!v)return a.error(new Me(Be.EDGE_SOURCE_MISSING,y.value.id,y.value.source)),null;if(!E)return a.error(new Me(Be.EDGE_TARGET_MISSING,y.value.id,y.value.target)),null;if(!y.value||y.value.hidden||v.hidden||E.hidden)return null;let H;r.value===Qt.Strict?H=v.handleBounds.source:H=[...v.handleBounds.source||[],...v.handleBounds.target||[]];const q=jc(H,y.value.sourceHandle);let Z;r.value===Qt.Strict?Z=E.handleBounds.target:Z=[...E.handleBounds.target||[],...E.handleBounds.source||[]];const M=jc(Z,y.value.targetHandle),Y=(q==null?void 0:q.position)||me.Bottom,L=(M==null?void 0:M.position)||me.Top,{x:le,y:ee}=lr(v,q,Y),{x:ye,y:pe}=lr(E,M,L);return y.value.sourceX=le,y.value.sourceY=ee,y.value.targetX=ye,y.value.targetY=pe,t.h("g",{ref:T,key:e.id,"data-id":e.id,class:["vue-flow__edge",`vue-flow__edge-${R.value===!1?"default":y.value.type||"default"}`,s.value,G.value,{updating:A.value,selected:y.value.selected,animated:y.value.animated,inactive:!w.value&&!k.value.edgeClick.hasListeners()}],onClick:X,onContextmenu:W,onDblclick:te,onMouseenter:ce,onMousemove:oe,onMouseleave:ne,onKeyDown:N.value?x:void 0,tabIndex:N.value?0:void 0,"aria-label":y.value.ariaLabel===null?void 0:y.value.ariaLabel||`Edge from ${y.value.source} to ${y.value.target}`,"aria-describedby":N.value?`${vc}-${n}`:void 0,role:N.value?"button":"img"},[B.value?null:t.h(R.value===!1?c.value.default:R.value,{id:e.id,sourceNode:v,targetNode:E,source:y.value.source,target:y.value.target,type:y.value.type,updatable:I.value,selected:y.value.selected,animated:y.value.animated,label:y.value.label,labelStyle:y.value.labelStyle,labelShowBg:y.value.labelShowBg,labelBgStyle:y.value.labelBgStyle,labelBgPadding:y.value.labelBgPadding,labelBgBorderRadius:y.value.labelBgBorderRadius,data:y.value.data,events:{...y.value.events,...V},style:K.value,markerStart:`url('#${oo(y.value.markerStart,n)}')`,markerEnd:`url('#${oo(y.value.markerEnd,n)}')`,sourcePosition:Y,targetPosition:L,sourceX:le,sourceY:ee,targetX:ye,targetY:pe,sourceHandleId:y.value.sourceHandle,targetHandleId:y.value.targetHandle,interactionWidth:y.value.interactionWidth,...D}),[I.value==="source"||I.value===!0?[t.h("g",{onMousedown:fe,onMouseenter:F,onMouseout:re},t.h(wu,{position:Y,centerX:le,centerY:ee,radius:i.value,type:"source","data-type":"source"}))]:null,I.value==="target"||I.value===!0?[t.h("g",{onMousedown:he,onMouseenter:F,onMouseout:re},t.h(wu,{position:L,centerX:ye,centerY:pe,radius:i.value,type:"target","data-type":"target"}))]:null]])};function F(){A.value=!0}function re(){A.value=!1}function Q(v,E){S.update({event:v,edge:y.value,connection:E})}function J(v){S.updateEnd({event:v,edge:y.value}),B.value=!1}function ae(v,E){v.button===0&&(B.value=!0,z.value=E?y.value.target:y.value.source,j.value=(E?y.value.targetHandle:y.value.sourceHandle)??"",P.value=E?"target":"source",S.updateStart({event:v,edge:y.value}),$(v))}function X(v){var E;const D={event:v,edge:y.value};w.value&&(l.value=!1,y.value.selected&&m.value?(u([y.value]),(E=T.value)==null||E.blur()):o([y.value])),S.click(D)}function W(v){S.contextMenu({event:v,edge:y.value})}function te(v){S.doubleClick({event:v,edge:y.value})}function ce(v){S.mouseEnter({event:v,edge:y.value})}function oe(v){S.mouseMove({event:v,edge:y.value})}function ne(v){S.mouseLeave({event:v,edge:y.value})}function fe(v){ae(v,!0)}function he(v){ae(v,!1)}function x(v){var E;!b.value&&Sc.includes(v.key)&&w.value&&(v.key==="Escape"?((E=T.value)==null||E.blur(),u([f(e.id)])):o([f(e.id)]))}}}),uv={[me.Left]:me.Right,[me.Right]:me.Left,[me.Top]:me.Bottom,[me.Bottom]:me.Top},dv=t.defineComponent({name:"ConnectionLine",compatConfig:{MODE:3},setup(){var e;const{id:n,connectionMode:o,connectionStartHandle:r,connectionEndHandle:i,connectionPosition:a,connectionLineType:l,connectionLineStyle:s,connectionLineOptions:c,connectionStatus:u,viewport:f,findNode:d}=Pe(),p=(e=t.inject(dr))==null?void 0:e["connection-line"],m=t.computed(()=>{var k;return d((k=r.value)==null?void 0:k.nodeId)}),b=t.computed(()=>{var k;return d((k=i.value)==null?void 0:k.nodeId)??null}),h=t.computed(()=>({x:(a.value.x-f.value.x)/f.value.zoom,y:(a.value.y-f.value.y)/f.value.zoom})),g=t.computed(()=>c.value.markerStart?`url(#${oo(c.value.markerStart,n)})`:""),_=t.computed(()=>c.value.markerEnd?`url(#${oo(c.value.markerEnd,n)})`:"");return()=>{var k,y,S,V;if(!m.value||!r.value)return null;const C=r.value.handleId,O=r.value.type,A=m.value.handleBounds;let B=(A==null?void 0:A[O])||[];if(o.value===Qt.Loose){const R=(A==null?void 0:A[O==="source"?"target":"source"])||[];B=[...B,...R]}if(!B)return null;const z=(C?B.find(R=>R.id===C):B[0])??null,j=(z==null?void 0:z.position)||me.Top,{x:P,y:T}=lr(m.value,z,j);let w=null;b.value&&((k=i.value)!=null&&k.handleId)&&(o.value===Qt.Strict?w=((y=b.value.handleBounds[O==="source"?"target":"source"])==null?void 0:y.find(R=>{var $;return R.id===(($=i.value)==null?void 0:$.handleId)}))||null:w=((S=[...b.value.handleBounds.source||[],...b.value.handleBounds.target||[]])==null?void 0:S.find(R=>{var $;return R.id===(($=i.value)==null?void 0:$.handleId)}))||null);const I=((V=i.value)==null?void 0:V.position)??(j?uv[j]:null);if(!j||!I)return null;const N=l.value??c.value.type??Jt.Bezier;let G="";const K={sourceX:P,sourceY:T,sourcePosition:j,targetX:h.value.x,targetY:h.value.y,targetPosition:I};return N===Jt.Bezier?[G]=mu(K):N===Jt.Step?[G]=Qi({...K,borderRadius:0}):N===Jt.SmoothStep?[G]=Qi(K):N===Jt.SimpleBezier?[G]=hu(K):G=`M${P},${T} ${h.value.x},${h.value.y}`,t.h("svg",{class:"vue-flow__edges vue-flow__connectionline vue-flow__container"},t.h("g",{class:"vue-flow__connection"},p?t.h(p,{sourceX:P,sourceY:T,sourcePosition:j,targetX:h.value.x,targetY:h.value.y,targetPosition:I,sourceNode:m.value,sourceHandle:z,targetNode:b.value,targetHandle:w,markerEnd:_.value,markerStart:g.value,connectionStatus:u.value}):t.h("path",{d:G,class:[c.value.class,u,"vue-flow__connection-path"],style:{...s.value,...c.value.style},"marker-end":_.value,"marker-start":g.value})))}}}),fv=["id","markerWidth","markerHeight","markerUnits","orient"],pv={name:"MarkerType",compatConfig:{MODE:3}},mv=t.defineComponent({...pv,props:{id:{},type:{},color:{default:"none"},width:{default:12.5},height:{default:12.5},markerUnits:{default:"strokeWidth"},orient:{default:"auto-start-reverse"},strokeWidth:{default:1}},setup(e){return(n,o)=>(t.openBlock(),t.createElementBlock("marker",{id:n.id,class:"vue-flow__arrowhead",viewBox:"-10 -10 20 20",refX:"0",refY:"0",markerWidth:`${n.width}`,markerHeight:`${n.height}`,markerUnits:n.markerUnits,orient:n.orient},[n.type===t.unref(Fi).ArrowClosed?(t.openBlock(),t.createElementBlock("polyline",{key:0,style:t.normalizeStyle({stroke:n.color,fill:n.color,strokeWidth:n.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",points:"-5,-4 0,0 -5,4 -5,-4"},null,4)):t.createCommentVNode("",!0),n.type===t.unref(Fi).Arrow?(t.openBlock(),t.createElementBlock("polyline",{key:1,style:t.normalizeStyle({stroke:n.color,strokeWidth:n.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",fill:"none",points:"-5,-4 0,0 -5,4"},null,4)):t.createCommentVNode("",!0)],8,fv))}}),gv={class:"vue-flow__marker vue-flow__container"},hv={name:"MarkerDefinitions",compatConfig:{MODE:3}},yv=t.defineComponent({...hv,setup(e){const{id:n,edges:o,connectionLineOptions:r,defaultMarkerColor:i}=Pe(),a=t.computed(()=>{const l=new Set,s=[],c=u=>{if(u){const f=oo(u,n);l.has(f)||(typeof u=="object"?s.push({...u,id:f,color:u.color||i.value}):s.push({id:f,color:i.value,type:u}),l.add(f))}};for(const u of[r.value.markerEnd,r.value.markerStart])c(u);for(const u of o.value)for(const f of[u.markerStart,u.markerEnd])c(f);return s.sort((u,f)=>u.id.localeCompare(f.id))});return(l,s)=>(t.openBlock(),t.createElementBlock("svg",gv,[t.createElementVNode("defs",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,c=>(t.openBlock(),t.createBlock(mv,{id:c.id,key:c.id,type:c.type,color:c.color,width:c.width,height:c.height,markerUnits:c.markerUnits,"stroke-width":c.strokeWidth,orient:c.orient},null,8,["id","type","color","width","height","markerUnits","stroke-width","orient"]))),128))])]))}}),_v={name:"Edges",compatConfig:{MODE:3}},bv=t.defineComponent({..._v,setup(e){const{findNode:n,getEdges:o,elevateEdgesOnSelect:r}=Pe();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(yv),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(o),l=>(t.openBlock(),t.createElementBlock("svg",{key:l.id,class:"vue-flow__edges vue-flow__container",style:t.normalizeStyle({zIndex:t.unref(WC)(l,t.unref(n),t.unref(r))})},[t.createVNode(t.unref(cv),{id:l.id},null,8,["id"])],4))),128)),t.createVNode(t.unref(dv))],64))}}),wv=t.defineComponent({name:"Node",compatConfig:{MODE:3},props:["id","resizeObserver"],setup(e){const{id:n,noPanClassName:o,selectNodesOnDrag:r,nodesSelectionActive:i,multiSelectionActive:a,emits:l,removeSelectedNodes:s,addSelectedNodes:c,updateNodeDimensions:u,onUpdateNodeInternals:f,getNodeTypes:d,nodeExtent:p,elevateNodesOnSelect:m,disableKeyboardA11y:b,ariaLiveMessage:h,snapToGrid:g,snapGrid:_,nodeDragThreshold:k,nodesDraggable:y,elementsSelectable:S,nodesConnectable:V,nodesFocusable:C,hooks:O}=Pe(),A=t.ref(null);t.provide(iu,A),t.provide(ru,e.id);const B=t.inject(dr),z=t.getCurrentInstance(),j=cu(),{node:P,parentNode:T}=su(e.id),{emit:w,on:I}=uE(P,l),N=t.toRef(()=>typeof P.draggable>"u"?y.value:P.draggable),G=t.toRef(()=>typeof P.selectable>"u"?S.value:P.selectable),K=t.toRef(()=>typeof P.connectable>"u"?V.value:P.connectable),R=t.toRef(()=>typeof P.focusable>"u"?C.value:P.focusable),$=t.toRef(()=>G.value||N.value||O.value.nodeClick.hasListeners()||O.value.nodeDoubleClick.hasListeners()||O.value.nodeMouseEnter.hasListeners()||O.value.nodeMouseMove.hasListeners()||O.value.nodeMouseLeave.hasListeners()),F=t.toRef(()=>!!P.dimensions.width&&!!P.dimensions.height),re=t.computed(()=>{const E=P.type||"default",D=B==null?void 0:B[`node-${E}`];if(D)return D;let H=P.template||d.value[E];if(typeof H=="string"&&z){const q=Object.keys(z.appContext.components);q&&q.includes(E)&&(H=t.resolveComponent(E,!1))}return H&&typeof H!="string"?H:(l.error(new Me(Be.NODE_TYPE_MISSING,H)),!1)}),Q=au({id:e.id,el:A,disabled:()=>!N.value,selectable:G,dragHandle:()=>P.dragHandle,onStart(E){w.dragStart(E)},onDrag(E){w.drag(E)},onStop(E){w.dragStop(E)},onClick(E){x(E)}}),J=t.computed(()=>P.class instanceof Function?P.class(P):P.class),ae=t.computed(()=>{const E=(P.style instanceof Function?P.style(P):P.style)||{},D=P.width instanceof Function?P.width(P):P.width,H=P.height instanceof Function?P.height(P):P.height;return!E.width&&D&&(E.width=typeof D=="string"?D:`${D}px`),!E.height&&H&&(E.height=typeof H=="string"?H:`${H}px`),E}),X=t.toRef(()=>Number(P.zIndex??ae.value.zIndex??0));return f(E=>{(E.includes(e.id)||!E.length)&&te()}),t.onMounted(()=>{t.watch(()=>P.hidden,(E=!1,D,H)=>{!E&&A.value&&(e.resizeObserver.observe(A.value),H(()=>{A.value&&e.resizeObserver.unobserve(A.value)}))},{immediate:!0,flush:"post"})}),t.watch([()=>P.type,()=>P.sourcePosition,()=>P.targetPosition],()=>{t.nextTick(()=>{u([{id:e.id,nodeElement:A.value,forceUpdate:!0}])})}),t.watch([()=>P.position.x,()=>P.position.y,()=>{var E;return(E=T.value)==null?void 0:E.computedPosition.x},()=>{var E;return(E=T.value)==null?void 0:E.computedPosition.y},()=>{var E;return(E=T.value)==null?void 0:E.computedPosition.z},X,()=>P.selected,()=>P.dimensions.height,()=>P.dimensions.width,()=>{var E;return(E=T.value)==null?void 0:E.dimensions.height},()=>{var E;return(E=T.value)==null?void 0:E.dimensions.width}],([E,D,H,q,Z,M])=>{const Y={x:E,y:D,z:M+(m.value&&P.selected?1e3:0)};typeof H<"u"&&typeof q<"u"?P.computedPosition=GC({x:H,y:q,z:Z},Y):P.computedPosition=Y},{flush:"post",immediate:!0}),t.watch([()=>P.extent,p],([E,D],[H,q])=>{(E!==H||D!==q)&&W()}),P.extent==="parent"||typeof P.extent=="object"&&"range"in P.extent&&P.extent.range==="parent"?bi(()=>F).toBe(!0).then(W):W(),()=>P.hidden?null:t.h("div",{ref:A,"data-id":P.id,class:["vue-flow__node",`vue-flow__node-${re.value===!1?"default":P.type||"default"}`,{[o.value]:N.value,dragging:Q==null?void 0:Q.value,draggable:N.value,selected:P.selected,selectable:G.value,parent:P.isParent},J.value],style:{visibility:F.value?"visible":"hidden",zIndex:P.computedPosition.z??X.value,transform:`translate(${P.computedPosition.x}px,${P.computedPosition.y}px)`,pointerEvents:$.value?"all":"none",...ae.value},tabIndex:R.value?0:void 0,role:R.value?"button":void 0,"aria-describedby":b.value?void 0:`${Ec}-${n}`,"aria-label":P.ariaLabel,onMouseenter:ce,onMousemove:oe,onMouseleave:ne,onContextmenu:fe,onClick:x,onDblclick:he,onKeydown:v},[t.h(re.value===!1?d.value.default:re.value,{id:P.id,type:P.type,data:P.data,events:{...P.events,...I},selected:P.selected,resizing:P.resizing,dragging:Q.value,connectable:K.value,position:P.computedPosition,dimensions:P.dimensions,isValidTargetPos:P.isValidTargetPos,isValidSourcePos:P.isValidSourcePos,parent:P.parentNode,parentNodeId:P.parentNode,zIndex:P.computedPosition.z??X.value,targetPosition:P.targetPosition,sourcePosition:P.sourcePosition,label:P.label,dragHandle:P.dragHandle,onUpdateNodeInternals:te})]);function W(){const E=P.computedPosition,{computedPosition:D,position:H}=ji(P,g.value?cr(E,_.value):E,l.error,p.value,T.value);(P.computedPosition.x!==D.x||P.computedPosition.y!==D.y)&&(P.computedPosition={...P.computedPosition,...D}),(P.position.x!==H.x||P.position.y!==H.y)&&(P.position=H)}function te(){A.value&&u([{id:e.id,nodeElement:A.value,forceUpdate:!0}])}function ce(E){Q!=null&&Q.value||w.mouseEnter({event:E,node:P})}function oe(E){Q!=null&&Q.value||w.mouseMove({event:E,node:P})}function ne(E){Q!=null&&Q.value||w.mouseLeave({event:E,node:P})}function fe(E){return w.contextMenu({event:E,node:P})}function he(E){return w.doubleClick({event:E,node:P})}function x(E){G.value&&(!r.value||!N.value||k.value>0)&&Xi(P,a.value,c,s,i,!1,A.value),w.click({event:E,node:P})}function v(E){if(!(Ki(E)||b.value))if(Sc.includes(E.key)&&G.value){const D=E.key==="Escape";Xi(P,a.value,c,s,i,D,A.value)}else N.value&&P.selected&&En[E.key]&&(h.value=`Moved selected node ${E.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~P.position.x}, y: ${~~P.position.y}`,j({x:En[E.key].x,y:En[E.key].y},E.shiftKey))}}});function kv(e={includeHiddenNodes:!1}){const{nodes:n}=Pe();return t.computed(()=>{if(n.value.length===0)return!1;for(const o of n.value)if((e.includeHiddenNodes||!o.hidden)&&((o==null?void 0:o.handleBounds)===void 0||o.dimensions.width===0||o.dimensions.height===0))return!1;return!0})}const Cv={class:"vue-flow__nodes vue-flow__container"},Ev={name:"Nodes",compatConfig:{MODE:3}},vv=t.defineComponent({...Ev,setup(e){const{getNodes:n,updateNodeDimensions:o,emits:r}=Pe(),i=kv(),a=t.ref();return t.watch(i,l=>{l&&t.nextTick(()=>{r.nodesInitialized(n.value)})},{immediate:!0}),t.onMounted(()=>{a.value=new ResizeObserver(l=>{const s=l.map(c=>({id:c.target.getAttribute("data-id"),nodeElement:c.target,forceUpdate:!0}));t.nextTick(()=>o(s))})}),t.onBeforeUnmount(()=>{var l;return(l=a.value)==null?void 0:l.disconnect()}),(l,s)=>(t.openBlock(),t.createElementBlock("div",Cv,[a.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(t.unref(n),(c,u,f,d)=>{const p=[c.id];if(d&&d.key===c.id&&t.isMemoSame(d,p))return d;const m=(t.openBlock(),t.createBlock(t.unref(wv),{id:c.id,key:c.id,"resize-observer":a.value},null,8,["id","resize-observer"]));return m.memo=p,m},s,0),128)):t.createCommentVNode("",!0)]))}});function Sv(){const{emits:e}=Pe();t.onMounted(()=>{if(Jc()){const n=document.querySelector(".vue-flow__pane");n&&window.getComputedStyle(n).zIndex!=="1"&&e.error(new Me(Be.MISSING_STYLES))}})}const Nv=t.createElementVNode("div",{class:"vue-flow__edge-labels"},null,-1),xv={name:"VueFlow",compatConfig:{MODE:3}},Av=t.defineComponent({...xv,props:{id:{},modelValue:{},nodes:{},edges:{},edgeTypes:{},nodeTypes:{},connectionMode:{},connectionLineType:{},connectionLineStyle:{default:void 0},connectionLineOptions:{default:void 0},connectionRadius:{},isValidConnection:{type:[Function,null],default:void 0},deleteKeyCode:{default:void 0},selectionKeyCode:{type:[Boolean,null],default:void 0},multiSelectionKeyCode:{default:void 0},zoomActivationKeyCode:{default:void 0},panActivationKeyCode:{default:void 0},snapToGrid:{type:Boolean,default:void 0},snapGrid:{},onlyRenderVisibleElements:{type:Boolean,default:void 0},edgesUpdatable:{type:[Boolean,String],default:void 0},nodesDraggable:{type:Boolean,default:void 0},nodesConnectable:{type:Boolean,default:void 0},nodeDragThreshold:{},elementsSelectable:{type:Boolean,default:void 0},selectNodesOnDrag:{type:Boolean,default:void 0},panOnDrag:{type:[Boolean,Array],default:void 0},minZoom:{},maxZoom:{},defaultViewport:{},translateExtent:{},nodeExtent:{},defaultMarkerColor:{},zoomOnScroll:{type:Boolean,default:void 0},zoomOnPinch:{type:Boolean,default:void 0},panOnScroll:{type:Boolean,default:void 0},panOnScrollSpeed:{},panOnScrollMode:{},paneClickDistance:{},zoomOnDoubleClick:{type:Boolean,default:void 0},preventScrolling:{type:Boolean,default:void 0},selectionMode:{},edgeUpdaterRadius:{},fitViewOnInit:{type:Boolean,default:void 0},connectOnClick:{type:Boolean,default:void 0},applyDefault:{type:Boolean,default:void 0},autoConnect:{type:[Boolean,Function],default:void 0},noDragClassName:{},noWheelClassName:{},noPanClassName:{},defaultEdgeOptions:{},elevateEdgesOnSelect:{type:Boolean,default:void 0},elevateNodesOnSelect:{type:Boolean,default:void 0},disableKeyboardA11y:{type:Boolean,default:void 0},edgesFocusable:{type:Boolean,default:void 0},nodesFocusable:{type:Boolean,default:void 0},autoPanOnConnect:{type:Boolean,default:void 0},autoPanOnNodeDrag:{type:Boolean,default:void 0},autoPanSpeed:{}},emits:["nodesChange","edgesChange","nodesInitialized","paneReady","init","updateNodeInternals","error","connect","connectStart","connectEnd","clickConnectStart","clickConnectEnd","moveStart","move","moveEnd","selectionDragStart","selectionDrag","selectionDragStop","selectionContextMenu","selectionStart","selectionEnd","viewportChangeStart","viewportChange","viewportChangeEnd","paneScroll","paneClick","paneContextMenu","paneMouseEnter","paneMouseMove","paneMouseLeave","edgeUpdate","edgeContextMenu","edgeMouseEnter","edgeMouseMove","edgeMouseLeave","edgeDoubleClick","edgeClick","edgeUpdateStart","edgeUpdateEnd","nodeContextMenu","nodeMouseEnter","nodeMouseMove","nodeMouseLeave","nodeDoubleClick","nodeClick","nodeDragStart","nodeDrag","nodeDragStop","miniMapNodeClick","miniMapNodeDoubleClick","miniMapNodeMouseEnter","miniMapNodeMouseMove","miniMapNodeMouseLeave","update:modelValue","update:nodes","update:edges"],setup(e,{expose:n,emit:o}){const r=e,i=t.useSlots(),a=wi(r,"modelValue",o),l=wi(r,"nodes",o),s=wi(r,"edges",o),c=Pe(r),u=pE({modelValue:a,nodes:l,edges:s},r,c);return gE(o,c.hooks),av(),Sv(),t.provide(dr,i),t.onUnmounted(()=>{u()}),n(c),(f,d)=>(t.openBlock(),t.createElementBlock("div",{ref:t.unref(c).vueFlowRef,class:"vue-flow"},[t.createVNode(ev,null,{default:t.withCtx(()=>[t.createVNode(bv),Nv,t.createVNode(vv),t.renderSlot(f.$slots,"zoom-pane")]),_:3}),t.renderSlot(f.$slots,"default"),t.createVNode(iv)],512))}}),Pv={name:"Panel",compatConfig:{MODE:3}},Tv=t.defineComponent({...Pv,props:{position:{}},setup(e){const n=e,{userSelectionActive:o}=Pe(),r=t.computed(()=>`${n.position}`.split("-"));return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["vue-flow__panel",r.value]),style:t.normalizeStyle({pointerEvents:t.unref(o)?"none":"all"})},[t.renderSlot(i.$slots,"default")],6))}});var vt=(e=>(e.Lines="lines",e.Dots="dots",e))(vt||{});const ku=function({dimensions:e,size:n,color:o}){return t.h("path",{stroke:o,"stroke-width":n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`})},Cu=function({radius:e,color:n}){return t.h("circle",{cx:e,cy:e,r:e,fill:n})};vt.Lines+"",vt.Dots+"";const Iv={[vt.Dots]:"#81818a",[vt.Lines]:"#eee"},Ov=["id","x","y","width","height","patternTransform"],$v={key:2,height:"100",width:"100"},Bv=["fill"],Dv=["x","y","fill"],Rv={name:"Background",compatConfig:{MODE:3}},Vv=t.defineComponent({...Rv,props:{id:{},variant:{default:()=>vt.Dots},gap:{default:20},size:{default:1},lineWidth:{default:1},patternColor:{},color:{},bgColor:{},height:{default:100},width:{default:100},x:{default:0},y:{default:0},offset:{default:0}},setup(e){const{id:n,viewport:o}=Pe(),r=t.computed(()=>{const l=o.value.zoom,[s,c]=Array.isArray(e.gap)?e.gap:[e.gap,e.gap],u=[s*l||1,c*l||1],f=e.size*l,[d,p]=Array.isArray(e.offset)?e.offset:[e.offset,e.offset],m=[d*l||1+u[0]/2,p*l||1+u[1]/2];return{scaledGap:u,offset:m,size:f}}),i=t.toRef(()=>`pattern-${n}${e.id?`-${e.id}`:""}`),a=t.toRef(()=>e.color||e.patternColor||Iv[e.variant||vt.Dots]);return(l,s)=>(t.openBlock(),t.createElementBlock("svg",{class:"vue-flow__background vue-flow__container",style:t.normalizeStyle({height:`${l.height>100?100:l.height}%`,width:`${l.width>100?100:l.width}%`})},[t.renderSlot(l.$slots,"pattern-container",{id:i.value},()=>[t.createElementVNode("pattern",{id:i.value,x:t.unref(o).x%r.value.scaledGap[0],y:t.unref(o).y%r.value.scaledGap[1],width:r.value.scaledGap[0],height:r.value.scaledGap[1],patternTransform:`translate(-${r.value.offset[0]},-${r.value.offset[1]})`,patternUnits:"userSpaceOnUse"},[t.renderSlot(l.$slots,"pattern",{},()=>[l.variant===t.unref(vt).Lines?(t.openBlock(),t.createBlock(t.unref(ku),{key:0,size:l.lineWidth,color:a.value,dimensions:r.value.scaledGap},null,8,["size","color","dimensions"])):l.variant===t.unref(vt).Dots?(t.openBlock(),t.createBlock(t.unref(Cu),{key:1,color:a.value,radius:r.value.size/2},null,8,["color","radius"])):t.createCommentVNode("",!0),l.bgColor?(t.openBlock(),t.createElementBlock("svg",$v,[t.createElementVNode("rect",{width:"100%",height:"100%",fill:l.bgColor},null,8,Bv)])):t.createCommentVNode("",!0)])],8,Ov)]),t.createElementVNode("rect",{x:l.x,y:l.y,width:"100%",height:"100%",fill:`url(#${i.value})`},null,8,Dv),t.renderSlot(l.$slots,"default",{id:i.value})],4))}}),Mv={name:"ControlButton",compatConfig:{MODE:3}},Lv=(e,n)=>{const o=e.__vccOpts||e;for(const[r,i]of n)o[r]=i;return o},Fv={class:"vue-flow__controls-button"};function Kv(e,n,o,r,i,a){return t.openBlock(),t.createElementBlock("button",Fv,[t.renderSlot(e.$slots,"default")])}const _r=Lv(Mv,[["render",Kv]]),Uv={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},Gv=[t.createElementVNode("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"},null,-1)];function qv(e,n){return t.openBlock(),t.createElementBlock("svg",Uv,Gv)}const zv={render:qv},jv={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},Hv=[t.createElementVNode("path",{d:"M0 0h32v4.2H0z"},null,-1)];function Yv(e,n){return t.openBlock(),t.createElementBlock("svg",jv,Hv)}const Wv={render:Yv},Xv={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},Zv=[t.createElementVNode("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0 0 27.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94a.919.919 0 0 1-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"},null,-1)];function Jv(e,n){return t.openBlock(),t.createElementBlock("svg",Xv,Zv)}const Qv={render:Jv},eS={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},tS=[t.createElementVNode("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"},null,-1)];function nS(e,n){return t.openBlock(),t.createElementBlock("svg",eS,tS)}const oS={render:nS},rS={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},iS=[t.createElementVNode("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047z"},null,-1)];function aS(e,n){return t.openBlock(),t.createElementBlock("svg",rS,iS)}const lS={render:aS},sS={name:"Controls",compatConfig:{MODE:3}},cS=t.defineComponent({...sS,props:{showZoom:{type:Boolean,default:!0},showFitView:{type:Boolean,default:!0},showInteractive:{type:Boolean,default:!0},fitViewParams:{},position:{default:()=>kc.BottomLeft}},emits:["zoomIn","zoomOut","fitView","interactionChange"],setup(e,{emit:n}){const{nodesDraggable:o,nodesConnectable:r,elementsSelectable:i,setInteractive:a,zoomIn:l,zoomOut:s,fitView:c,viewport:u,minZoom:f,maxZoom:d}=Pe(),p=t.toRef(()=>o.value||r.value||i.value),m=t.toRef(()=>u.value.zoom<=f.value),b=t.toRef(()=>u.value.zoom>=d.value);function h(){l(),n("zoomIn")}function g(){s(),n("zoomOut")}function _(){c(e.fitViewParams),n("fitView")}function k(){a(!p.value),n("interactionChange",!p.value)}return(y,S)=>(t.openBlock(),t.createBlock(t.unref(Tv),{class:"vue-flow__controls",position:y.position},{default:t.withCtx(()=>[t.renderSlot(y.$slots,"top"),y.showZoom?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.renderSlot(y.$slots,"control-zoom-in",{},()=>[t.createVNode(_r,{class:"vue-flow__controls-zoomin",disabled:b.value,onClick:h},{default:t.withCtx(()=>[t.renderSlot(y.$slots,"icon-zoom-in",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(zv))))])]),_:3},8,["disabled"])]),t.renderSlot(y.$slots,"control-zoom-out",{},()=>[t.createVNode(_r,{class:"vue-flow__controls-zoomout",disabled:m.value,onClick:g},{default:t.withCtx(()=>[t.renderSlot(y.$slots,"icon-zoom-out",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(Wv))))])]),_:3},8,["disabled"])])],64)):t.createCommentVNode("",!0),y.showFitView?t.renderSlot(y.$slots,"control-fit-view",{key:1},()=>[t.createVNode(_r,{class:"vue-flow__controls-fitview",onClick:_},{default:t.withCtx(()=>[t.renderSlot(y.$slots,"icon-fit-view",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(Qv))))])]),_:3})]):t.createCommentVNode("",!0),y.showInteractive?t.renderSlot(y.$slots,"control-interactive",{key:2},()=>[y.showInteractive?(t.openBlock(),t.createBlock(_r,{key:0,class:"vue-flow__controls-interactive",onClick:k},{default:t.withCtx(()=>[p.value?t.renderSlot(y.$slots,"icon-unlock",{key:0},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(lS))))]):t.createCommentVNode("",!0),p.value?t.createCommentVNode("",!0):t.renderSlot(y.$slots,"icon-lock",{key:1},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(oS))))])]),_:3})):t.createCommentVNode("",!0)]):t.createCommentVNode("",!0),t.renderSlot(y.$slots,"default")]),_:3},8,["position"]))}}),uS=["request","response","service_request","service_response"],Eu=e=>uS.includes(e.type),br=we(t.defineComponent({__name:"HandleTwig",props:{color:{},direction:{default:"left"},size:{default:()=>Number.parseFloat(V_)},type:{}},setup(e){t.useCssVars(o=>({b843b702:o.color}));const n=t.computed(()=>({width:`${e.size}px`,minWidth:`${e.size}px`}));return(o,r)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["handle-twig",[o.type,o.direction]]),style:t.normalizeStyle(n.value)},null,6))}}),[["__scopeId","data-v-5433a682"]]),dS={class:"body"},fS={class:"name"},pS={key:0,class:"input-handles"},mS={class:"handle"},gS={class:"handle-label-wrapper"},hS={class:"handle-label-wrapper"},yS={class:"handle-label"},_S={key:1,class:"output-handles"},bS={class:"handle"},wS={class:"handle-label-wrapper"},kS={class:"handle-label-wrapper"},CS={class:"handle-label"},ES=we(t.defineComponent({__name:"FlowNode",props:{meta:{}},setup(e){const n=e,{t:o}=Fe.createI18n("en-us",Ke),r=t.ref(!1),i=t.ref(!1),a=t.computed(()=>Eu(n.meta)?o(`plugins.free-form.datakit.flow_editor.node_names.${n.meta.type}`):"");return(l,s)=>{var c,u;return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["flow-node",{reverse:l.meta.ioDirection==="rl",implicit:t.unref(Eu)(l.meta)}])},[t.createElementVNode("div",dS,[t.createElementVNode("div",fS,t.toDisplayString(a.value),1),t.renderSlot(l.$slots,"default",{},void 0,!0)]),(c=l.meta.handles)!=null&&c.input&&l.meta.handles.input.length>0?(t.openBlock(),t.createElementBlock("div",pS,[t.createElementVNode("div",mS,[t.createVNode(t.unref(Bt),{id:"inputs",position:l.meta.ioDirection==="rl"?t.unref(me).Right:t.unref(me).Left,type:"target"},null,8,["position"]),t.createElementVNode("div",gS,[t.createElementVNode("div",{class:"handle-label with-icon",onClick:s[0]||(s[0]=t.withModifiers(f=>r.value=!r.value,["stop"]))},[s[2]||(s[2]=t.createElementVNode("div",null,"inputs",-1)),t.createVNode(t.unref(Ce.UnfoldMoreIcon),{size:t.unref(fi)},null,8,["size"])]),r.value?(t.openBlock(),t.createBlock(br,{key:0,color:t.unref($o),direction:l.meta.ioDirection==="rl"?"right":"left",type:"bar"},null,8,["color","direction"])):t.createCommentVNode("",!0)])]),r.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(l.meta.handles.input,(f,d)=>(t.openBlock(),t.createElementBlock("div",{key:`input-${f.id}`,class:"handle indented"},[t.createVNode(t.unref(Bt),{id:`input-${f.id}`,position:l.meta.ioDirection==="rl"?t.unref(me).Right:t.unref(me).Left,type:"target"},null,8,["id","position"]),t.createElementVNode("div",hS,[t.createElementVNode("div",yS,t.toDisplayString(f.label),1),t.createVNode(br,{color:t.unref($o),direction:l.meta.ioDirection==="rl"?"right":"left",type:d<l.meta.handles.input.length-1?"trident":"corner"},null,8,["color","direction","type"])])]))),128)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0),(u=l.meta.handles)!=null&&u.output&&l.meta.handles.output.length>0?(t.openBlock(),t.createElementBlock("div",_S,[t.createElementVNode("div",bS,[t.createElementVNode("div",wS,[t.createElementVNode("div",{class:"handle-label with-icon",onClick:s[1]||(s[1]=t.withModifiers(f=>i.value=!i.value,["stop"]))},[s[3]||(s[3]=t.createElementVNode("div",null,"outputs",-1)),t.createVNode(t.unref(Ce.UnfoldMoreIcon),{size:t.unref(fi)},null,8,["size"])]),i.value?(t.openBlock(),t.createBlock(br,{key:0,color:t.unref($o),direction:l.meta.ioDirection==="rl"?"left":"right",type:"bar"},null,8,["color","direction"])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(Bt),{id:"outputs",position:l.meta.ioDirection==="rl"?t.unref(me).Left:t.unref(me).Right,type:"target"},null,8,["position"])]),i.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(l.meta.handles.output,(f,d)=>(t.openBlock(),t.createElementBlock("div",{key:`output-${f.id}`,class:"handle indented"},[t.createElementVNode("div",kS,[t.createElementVNode("div",CS,t.toDisplayString(f.label),1),t.createVNode(br,{color:t.unref($o),direction:l.meta.ioDirection==="rl"?"left":"right",type:d<l.meta.handles.output.length-1?"trident":"corner"},null,8,["color","direction","type"])]),t.createVNode(t.unref(Bt),{id:`output-${f.id}`,position:l.meta.ioDirection==="rl"?t.unref(me).Left:t.unref(me).Right,type:"source"},null,8,["id","position"])]))),128)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],2)}}}),[["__scopeId","data-v-309eeb05"]]),{t:vS}=Fe.createI18n("en-us",Ke);function ro(e){return vS(`plugins.free-form.datakit.flow_editor.node_description.${e}`)}const vu={call:{type:"call",description:ro("call"),icon:Ce.NetworkIcon},jq:{type:"jq",description:ro("jq"),icon:Ce.CodeblockIcon},exit:{type:"exit",description:ro("exit"),icon:Ce.GatewayIcon},property:{type:"property",description:ro("property"),icon:Ce.StackIcon},static:{type:"static",description:ro("static"),icon:Ce.VitalsIcon}},wr={request:{type:"request",handles:{output:[{id:"headers",label:"headers"},{id:"body",label:"body"},{id:"query",label:"query"}]}},service_request:{type:"service_request",handles:{input:[{id:"headers",label:"headers"},{id:"body",label:"body"},{id:"query",label:"query"}]}},service_response:{type:"service_response",handles:{output:[{id:"headers",label:"headers"},{id:"body",label:"body"}]},ioDirection:"rl"},response:{type:"response",handles:{input:[{id:"headers",label:"headers"},{id:"body",label:"body"}]},ioDirection:"rl"}},SS={class:"dk-editor-main"},NS={class:"header"},xS={class:"actions"},AS={class:"body"},PS=we(t.defineComponent({__name:"EditorMain",emits:["click:node","click:backdrop"],setup(e,{emit:n}){const{t:o}=Fe.createI18n("en-us",Ke),r=n,i=t.ref([{id:"implicit:request",type:"flow",position:{x:0,y:0},data:wr.request},{id:"implicit:service-request",type:"flow",position:{x:400,y:0},data:wr.service_request},{id:"implicit:service-response",type:"flow",position:{x:400,y:300},data:wr.service_response},{id:"implicit:response",type:"flow",position:{x:0,y:300},data:wr.response}]),{fitView:a,onNodeClick:l}=Pe();return l(({event:s,node:c})=>{s.stopPropagation(),r("click:node",c)}),(s,c)=>(t.openBlock(),t.createElementBlock("div",SS,[t.createElementVNode("header",NS,[t.createElementVNode("div",xS,[t.createVNode(t.unref(xe.KButton),{appearance:"tertiary",target:"_blank",to:"https://developer.konghq.com/plugins/datakit/"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.view_docs"))+" ",1),t.createVNode(t.unref(Ce.ExternalLinkIcon))]),_:1}),t.createVNode(t.unref(xe.KButton),null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.save")),1)]),_:1})])]),t.createElementVNode("div",AS,[t.createVNode(t.unref(Av),{class:"flow",nodes:i.value,onClick:c[1]||(c[1]=u=>r("click:backdrop")),onNodesInitialized:t.unref(a)},{"node-flow":t.withCtx(u=>[t.createVNode(ES,{meta:u.data},null,8,["meta"])]),default:t.withCtx(()=>[t.createVNode(t.unref(Vv),{onClick:c[0]||(c[0]=u=>r("click:backdrop"))}),t.createVNode(t.unref(cS))]),_:1},8,["nodes","onNodesInitialized"])])]))}}),[["__scopeId","data-v-f2be6d51"]]),TS={class:"icon"},IS={class:"content"},OS={class:"title"},$S={class:"description"},BS=we(t.defineComponent({__name:"NodePanelItem",props:{type:{}},setup(e){const{description:n,icon:o}=vu[e.type];return(r,i)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-node-panel-item",{[`node-type-${r.type}`]:!0}])},[t.createElementVNode("div",TS,[t.createVNode(t.unref(o),{size:16})]),t.createElementVNode("div",IS,[t.createElementVNode("div",OS,t.toDisplayString(r.type),1),t.createElementVNode("div",$S,t.toDisplayString(t.unref(n)),1)])],2))}}),[["__scopeId","data-v-6f5b6615"]]),DS={class:"dk-node-panel"},RS={class:"title"},VS={class:"node-list"},MS=we(t.defineComponent({__name:"NodePanel",setup(e){const{t:n}=Fe.createI18n("en-us",Ke);return(o,r)=>{const i=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",DS,[t.createElementVNode("h3",RS,[t.createVNode(i,{class:"label",info:t.unref(n)("plugins.free-form.datakit.flow_editor.node_panel.description")},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_panel.title")),1)]),_:1},8,["info"])]),t.createElementVNode("div",VS,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Object.keys(t.unref(vu)),a=>(t.openBlock(),t.createBlock(BS,{key:a,type:a},null,8,["type"]))),128))])])}}}),[["__scopeId","data-v-93f9dd52"]]),LS=we(t.defineComponent({__name:"nodePropertiesPanel",props:{maxWidth:{default:()=>Vb},offsetTop:{default:"52px"},visible:{type:Boolean},node:{}},emits:["close"],setup(e){return(n,o)=>(t.openBlock(),t.createBlock(t.unref(xe.KSlideout),{class:"dk-node-properties-panel","close-on-blur":!1,"has-overlay":!1,"max-width":n.maxWidth,"offset-top":n.offsetTop,visible:n.visible,onClose:o[0]||(o[0]=r=>n.$emit("close"))},{default:t.withCtx(()=>{var r;return[t.createTextVNode(t.toDisplayString((r=n.node)==null?void 0:r.id),1)]}),_:1},8,["max-width","offset-top","visible"]))}}),[["__scopeId","data-v-6f3e4648"]]),FS={class:"dk-editor-content"},KS={class:"header"},US={class:"title"},GS={class:"body"},qS={class:"node-selection-panel"},zS={class:"main"},jS=we(t.defineComponent({__name:"EditorContent",setup(e){const{t:n}=Fe.createI18n("en-us",Ke),{sidePanelExpanded:o}=yi(),r=t.ref(!1),i=t.ref(null),a=s=>{r.value=!0,i.value=s},l=()=>{r.value=!1,i.value=null};return(s,c)=>(t.openBlock(),t.createElementBlock("div",FS,[t.createElementVNode("aside",{class:t.normalizeClass(["side-panel",{expanded:t.unref(o)}])},[t.createElementVNode("header",KS,[t.createElementVNode("h2",US,t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.name")),1)]),t.createElementVNode("div",GS,[t.createElementVNode("div",qS,[t.createVNode(MS)])])],2),t.createElementVNode("div",zS,[t.createVNode(PS,{"onClick:backdrop":l,"onClick:node":a})]),t.createVNode(LS,{node:i.value,visible:r.value,onClose:c[0]||(c[0]=u=>r.value=!1)},null,8,["node","visible"])]))}}),[["__scopeId","data-v-d344e31a"]]),HS=we(t.defineComponent({__name:"EditorModal",props:{open:{type:Boolean},openModifiers:{}},emits:t.mergeModels(["close"],["update:open"]),setup(e,{emit:n}){t.useCssVars(f=>({b09519cc:t.unref(Rb),"7424b402":t.unref(Db)}));const o=t.useTemplateRef("modal"),r=t.useModel(e,"open"),i=n,a=t.useTemplateRef("content"),l=Nt.useScrollLock(document),{activate:s,deactivate:c}=Bb(o,{returnFocusOnDeactivate:!0,initialFocus:()=>{var f;return(f=a.value)==null?void 0:f.$el}});t.watch(r,async f=>{l.value=!!f,await t.nextTick(),f?s():c()},{immediate:!0});function u(){r.value=!1,i("close")}return(f,d)=>r.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"modal",ref:o,class:"dk-editor-modal"},[t.createVNode(Kb,{class:"nav",onBack:u}),t.createVNode(jS,{ref_key:"content",ref:a,class:"content",tabindex:"0"},null,512)],512)):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-ccb49c2a"]]);/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function Su(e){return typeof e>"u"||e===null}function YS(e){return typeof e=="object"&&e!==null}function WS(e){return Array.isArray(e)?e:Su(e)?[]:[e]}function XS(e,n){var o,r,i,a;if(n)for(a=Object.keys(n),o=0,r=a.length;o<r;o+=1)i=a[o],e[i]=n[i];return e}function ZS(e,n){var o="",r;for(r=0;r<n;r+=1)o+=e;return o}function JS(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var QS=Su,e1=YS,t1=WS,n1=ZS,o1=JS,r1=XS,Le={isNothing:QS,isObject:e1,toArray:t1,repeat:n1,isNegativeZero:o1,extend:r1};function Nu(e,n){var o="",r=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(o+='in "'+e.mark.name+'" '),o+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!n&&e.mark.snippet&&(o+=`
|
|
45
|
+
Edge: ${e}`,USEVUEFLOW_OPTIONS:()=>"The options parameter is deprecated and will be removed in the next major version. Please use the id parameter instead"};class Me extends Error{constructor(n,...o){var r;super((r=Hc[n])==null?void 0:r.call(Hc,...o)),this.name="VueFlowError",this.code=n,this.args=o}}function Hi(e){return"clientX"in e}function Yc(e){return"sourceEvent"in e}function Et(e,n){var o,r;const i=Hi(e),a=i?e.clientX:(o=e.touches)==null?void 0:o[0].clientX,l=i?e.clientY:(r=e.touches)==null?void 0:r[0].clientY;return{x:a-((n==null?void 0:n.left)??0),y:l-((n==null?void 0:n.top)??0)}}const sr=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function XC(e){var n,o;return{width:((n=e.dimensions)==null?void 0:n.width)??e.width??0,height:((o=e.dimensions)==null?void 0:o.height)??e.height??0}}function cr(e,n=[1,1]){return{x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}}function Wc(){return{handleDomNode:null,isValid:!1,connection:{source:"",target:"",sourceHandle:null,targetHandle:null},endHandle:null}}function Yi(e){e==null||e.classList.remove("valid","connecting","vue-flow__handle-valid","vue-flow__handle-connecting")}function Xc(e,n,o,r){const i=[];for(const a of n[o]||[])if(`${e.id}-${a.id}-${o}`!==r){const{x:l,y:s}=lr(e,a);i.push({id:a.id||null,type:o,nodeId:e.id,x:l,y:s})}return i}function ZC(e,n,o,r,i,a){const{x:l,y:s}=Et(e),u=n.elementsFromPoint(l,s).find(b=>b.classList.contains("vue-flow__handle"));if(u){const b=u.getAttribute("data-nodeid");if(b){const h=Wi(void 0,u),g=u.getAttribute("data-handleid"),_=a({nodeId:b,id:g,type:h});if(_){const k=i.find(y=>y.nodeId===b&&y.type===h&&y.id===g);return{handle:{id:g,type:h,nodeId:b,x:(k==null?void 0:k.x)||o.x,y:(k==null?void 0:k.y)||o.y},validHandleResult:_}}}}let f=[],d=Number.POSITIVE_INFINITY;for(const b of i){const h=Math.sqrt((b.x-o.x)**2+(b.y-o.y)**2);if(h<=r){const g=a(b);h<=d&&(h<d?f=[{handle:b,validHandleResult:g}]:h===d&&f.push({handle:b,validHandleResult:g}),d=h)}}if(!f.length)return{handle:null,validHandleResult:Wc()};if(f.length===1)return f[0];const p=f.some(({validHandleResult:b})=>b.isValid),m=f.some(({handle:b})=>b.type==="target");return f.find(({handle:b,validHandleResult:h})=>m?b.type==="target":p?h.isValid:!0)||f[0]}function Zc(e,n,o,r,i,a,l,s,c,u,f){const d=a==="target",p=s.querySelector(`.vue-flow__handle[data-id="${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`),{x:m,y:b}=Et(e),h=s.elementFromPoint(m,b),g=h!=null&&h.classList.contains("vue-flow__handle")?h:p,_=Wc();if(g){_.handleDomNode=g;const k=Wi(void 0,g),y=g.getAttribute("data-nodeid"),S=g.getAttribute("data-handleid"),V=g.classList.contains("connectable"),C=g.classList.contains("connectableend"),O={source:d?y:r,sourceHandle:d?S:i,target:d?r:y,targetHandle:d?i:S};_.connection=O,V&&C&&(o===Qt.Strict?d&&k==="source"||!d&&k==="target":y!==r||S!==i)&&(_.isValid=l(O,{edges:c,nodes:u,sourceNode:f(O.source),targetNode:f(O.target)}),_.endHandle={nodeId:y,handleId:S,type:k,position:_.isValid?g.getAttribute("data-handlepos"):null})}return _}function JC({nodes:e,nodeId:n,handleId:o,handleType:r}){const i=[];for(let a=0;a<e.length;a++){const l=e[a],{handleBounds:s}=l;let c=[],u=[];s&&(c=Xc(l,s,"source",`${n}-${o}-${r}`),u=Xc(l,s,"target",`${n}-${o}-${r}`)),i.push(...c,...u)}return i}function Wi(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function QC(e,n){let o=null;return n?o="valid":e&&!n&&(o="invalid"),o}const eE=["production","prod"];function ur(e,...n){Jc()&&console.warn(`[Vue Flow]: ${e}`,...n)}function Jc(){return!eE.includes(process.env.NODE_ENV||"")}function Qc(e,n,o,r){const i=n.querySelectorAll(`.vue-flow__handle${e}`);return Array.from(i).map(l=>{const s=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),position:l.getAttribute("data-handlepos"),x:(s.left-o.left)/r,y:(s.top-o.top)/r,...ir(l)}})}function Xi(e,n,o,r,i,a=!1,l){i.value=!1,e.selected?(a||e.selected&&n)&&(r([e]),t.nextTick(()=>{l.blur()})):o([e])}function De(e){return typeof t.unref(e)<"u"}function tE(e,n,o,r){if(!e||!e.source||!e.target)return o(new Me(Be.EDGE_INVALID,(e==null?void 0:e.id)??"[ID UNKNOWN]")),!1;let i;return Tt(e)?i=e:i={...e,id:Tc(e)},i=Ac(i,void 0,r),FC(i,n)?!1:i}function nE(e,n,o,r,i,a){if(!n.source||!n.target)return a(new Me(Be.EDGE_INVALID,e.id)),!1;const l=r(e.id);if(!l)return a(new Me(Be.EDGE_NOT_FOUND,e.id)),!1;const{id:s,...c}=e,u={...c,id:i?Tc(n):s,source:n.source,target:n.target,sourceHandle:n.sourceHandle,targetHandle:n.targetHandle};return o.splice(o.indexOf(l),1,u),u}function eu(e,n,o){const r={},i=[];for(let a=0;a<e.length;++a){const l=e[a];if(!tn(l)){o(new Me(Be.NODE_INVALID,l==null?void 0:l.id)||`[ID UNKNOWN|INDEX ${a}]`);continue}const s=VC(l,n(l.id),l.parentNode);l.parentNode&&(r[l.parentNode]=!0),i[a]=s}for(const a of i){const l=n(a.parentNode)||i.find(s=>s.id===a.parentNode);a.parentNode&&!l&&o(new Me(Be.NODE_MISSING_PARENT,a.id,a.parentNode)),(a.parentNode||r[a.id])&&(r[a.id]&&(a.isParent=!0),l&&(l.isParent=!0))}return i}function tu(e,n){e.clear();for(const o of n){const{id:r,source:i,target:a,sourceHandle:l=null,targetHandle:s=null}=o,c=`${i}-source-${l}`,u=`${a}-target-${s}`,f=e.get(c)||new Map,d=e.get(u)||new Map,p=t.markRaw({edgeId:r,source:i,target:a,sourceHandle:l,targetHandle:s});e.set(c,f.set(`${a}-${s}`,p)),e.set(u,d.set(`${i}-${l}`,p))}}function nu(e,n,o,r,i,a,l,s){const c=[];for(const u of e){const f=Tt(u)?u:tE(u,s,i,a);if(!f)continue;const d=o(f.source),p=o(f.target);if(!d||!p){i(new Me(Be.EDGE_SOURCE_TARGET_MISSING,f.id,f.source,f.target));continue}if(!d){i(new Me(Be.EDGE_SOURCE_MISSING,f.id,f.source));continue}if(!p){i(new Me(Be.EDGE_TARGET_MISSING,f.id,f.target));continue}if(n&&!n(f,{edges:s,nodes:l,sourceNode:d,targetNode:p})){i(new Me(Be.EDGE_INVALID,f.id));continue}const m=r(f.id);c.push({...Ac(f,m,a),sourceNode:d,targetNode:p})}return c}const ou=Symbol("vueFlow"),ru=Symbol("nodeId"),iu=Symbol("nodeRef"),oE=Symbol("edgeId"),rE=Symbol("edgeRef"),dr=Symbol("slots");function au(e){const{vueFlowRef:n,snapToGrid:o,snapGrid:r,noDragClassName:i,nodes:a,nodeExtent:l,nodeDragThreshold:s,viewport:c,autoPanOnNodeDrag:u,autoPanSpeed:f,nodesDraggable:d,panBy:p,findNode:m,multiSelectionActive:b,nodesSelectionActive:h,selectNodesOnDrag:g,removeSelectedElements:_,addSelectedNodes:k,updateNodePositions:y,emits:S}=Pe(),{onStart:V,onDrag:C,onStop:O,onClick:A,el:B,disabled:z,id:j,selectable:P,dragHandle:T}=e,w=t.ref(!1);let I=[],N,G=null,K={x:void 0,y:void 0},R={x:0,y:0},$=null,F=!1,re=0,Q=!1;const J=lE(),ae=({x:ne,y:fe})=>{K={x:ne,y:fe};let he=!1;if(I=I.map(x=>{const v={x:ne-x.distance.x,y:fe-x.distance.y},{computedPosition:E}=ji(x,o.value?cr(v,r.value):v,S.error,l.value,x.parentNode?m(x.parentNode):void 0);return he=he||x.position.x!==E.x||x.position.y!==E.y,x.position=E,x}),!!he&&(y(I,!0,!0),w.value=!0,$)){const[x,v]=zi({id:j,dragItems:I,findNode:m});C({event:$,node:x,nodes:v})}},X=()=>{if(!G)return;const[ne,fe]=Lc(R,G,f.value);if(ne!==0||fe!==0){const he={x:(K.x??0)-ne/c.value.zoom,y:(K.y??0)-fe/c.value.zoom};p({x:ne,y:fe})&&ae(he)}re=requestAnimationFrame(X)},W=(ne,fe)=>{F=!0;const he=m(j);!g.value&&!b.value&&he&&(he.selected||_()),he&&t.toValue(P)&&g.value&&Xi(he,b.value,k,_,h,!1,fe);const x=J(ne.sourceEvent);if(K=x,I=qC(a.value,d.value,x,m,j),I.length){const[v,E]=zi({id:j,dragItems:I,findNode:m});V({event:ne.sourceEvent,node:v,nodes:E})}},te=(ne,fe)=>{var he;ne.sourceEvent.type==="touchmove"&&ne.sourceEvent.touches.length>1||(s.value===0&&W(ne,fe),K=J(ne.sourceEvent),G=((he=n.value)==null?void 0:he.getBoundingClientRect())||null,R=Et(ne.sourceEvent,G))},ce=(ne,fe)=>{const he=J(ne.sourceEvent);if(!Q&&F&&u.value&&(Q=!0,X()),!F){const x=he.xSnapped-(K.x??0),v=he.ySnapped-(K.y??0);Math.sqrt(x*x+v*v)>s.value&&W(ne,fe)}(K.x!==he.xSnapped||K.y!==he.ySnapped)&&I.length&&F&&($=ne.sourceEvent,R=Et(ne.sourceEvent,G),ae(he))},oe=ne=>{if(!Yc(ne)&&!F&&!w.value&&!b.value){const fe=ne,he=J(fe),x=he.xSnapped-(K.x??0),v=he.ySnapped-(K.y??0),E=Math.sqrt(x*x+v*v);E!==0&&E<=s.value&&(A==null||A(fe));return}if(w.value=!1,Q=!1,F=!1,K={x:void 0,y:void 0},cancelAnimationFrame(re),I.length){y(I,!1,!1);const[fe,he]=zi({id:j,dragItems:I,findNode:m});O({event:ne.sourceEvent,node:fe,nodes:he})}};return t.watch([()=>t.toValue(z),B],([ne,fe],he,x)=>{if(fe){const v=rt(fe);ne||(N=Kw().on("start",E=>te(E,fe)).on("drag",E=>ce(E,fe)).on("end",E=>oe(E)).filter(E=>{const D=E.target,H=t.toValue(T);return!E.button&&(!i.value||!qc(D,`.${i.value}`,fe)&&(!H||qc(D,H,fe)))}),v.call(N)),x(()=>{v.on(".drag",null),N&&(N.on("start",null),N.on("drag",null),N.on("end",null))})}}),w}function iE(){return{doubleClick:de(),click:de(),mouseEnter:de(),mouseMove:de(),mouseLeave:de(),contextMenu:de(),updateStart:de(),update:de(),updateEnd:de()}}function aE(e,n){const o=iE();return o.doubleClick.on(r=>{var i,a;n.edgeDoubleClick(r),(a=(i=e.events)==null?void 0:i.doubleClick)==null||a.call(i,r)}),o.click.on(r=>{var i,a;n.edgeClick(r),(a=(i=e.events)==null?void 0:i.click)==null||a.call(i,r)}),o.mouseEnter.on(r=>{var i,a;n.edgeMouseEnter(r),(a=(i=e.events)==null?void 0:i.mouseEnter)==null||a.call(i,r)}),o.mouseMove.on(r=>{var i,a;n.edgeMouseMove(r),(a=(i=e.events)==null?void 0:i.mouseMove)==null||a.call(i,r)}),o.mouseLeave.on(r=>{var i,a;n.edgeMouseLeave(r),(a=(i=e.events)==null?void 0:i.mouseLeave)==null||a.call(i,r)}),o.contextMenu.on(r=>{var i,a;n.edgeContextMenu(r),(a=(i=e.events)==null?void 0:i.contextMenu)==null||a.call(i,r)}),o.updateStart.on(r=>{var i,a;n.edgeUpdateStart(r),(a=(i=e.events)==null?void 0:i.updateStart)==null||a.call(i,r)}),o.update.on(r=>{var i,a;n.edgeUpdate(r),(a=(i=e.events)==null?void 0:i.update)==null||a.call(i,r)}),o.updateEnd.on(r=>{var i,a;n.edgeUpdateEnd(r),(a=(i=e.events)==null?void 0:i.updateEnd)==null||a.call(i,r)}),Object.entries(o).reduce((r,[i,a])=>(r.emit[i]=a.trigger,r.on[i]=a.on,r),{emit:{},on:{}})}function lE(){const{viewport:e,snapGrid:n,snapToGrid:o}=Pe();return r=>{const i=Yc(r)?r.sourceEvent:r,{x:a,y:l}=Et(i),s=no({x:a,y:l},e.value),{x:c,y:u}=o.value?cr(s,n.value):s;return{xSnapped:c,ySnapped:u,...s}}}function fr(){return!0}function lu({handleId:e,nodeId:n,type:o,isValidConnection:r,edgeUpdaterType:i,onEdgeUpdate:a,onEdgeUpdateEnd:l}){const{vueFlowRef:s,connectionMode:c,connectionRadius:u,connectOnClick:f,connectionClickStartHandle:d,nodesConnectable:p,autoPanOnConnect:m,autoPanSpeed:b,findNode:h,panBy:g,startConnection:_,updateConnection:k,endConnection:y,emits:S,viewport:V,edges:C,nodes:O,isValidConnection:A}=Pe();let B=null,z=!1,j=null,P=null;function T(I){var N;const G=t.toValue(o)==="target",K=Hi(I),R=xc(I.target);if(K&&I.button===0||!K){let $=function(E){fe=Et(E,oe);const{handle:D,validHandleResult:H}=ZC(E,R,no(fe,V.value,!1,[1,1]),u.value,x,q=>Zc(E,q,c.value,t.toValue(n),t.toValue(e),G?"target":"source",Q,R,C.value,O.value,h));if(J=D,he||(v(),he=!0),B=H.connection,z=H.isValid,j=H.handleDomNode,!(z&&J&&(P!=null&&P.endHandle)&&H.endHandle&&P.endHandle.type===H.endHandle.type&&P.endHandle.nodeId===H.endHandle.nodeId&&P.endHandle.handleId===H.endHandle.handleId)){if(k(J&&z?Ic({x:J.x,y:J.y},V.value):fe,H.endHandle,QC(!!J,z)),P=H,!J&&!z&&!j)return Yi(ne);B&&B.source!==B.target&&j&&(Yi(ne),ne=j,j.classList.add("connecting","vue-flow__handle-connecting"),j.classList.toggle("valid",z),j.classList.toggle("vue-flow__handle-valid",z))}},F=function(E){(J||j)&&B&&z&&(a?a(E,B):S.connect(B)),S.connectEnd(E),i&&(l==null||l(E)),Yi(ne),cancelAnimationFrame(ae),y(E),he=!1,z=!1,B=null,j=null,R.removeEventListener("mousemove",$),R.removeEventListener("mouseup",F),R.removeEventListener("touchmove",$),R.removeEventListener("touchend",F)};const re=h(t.toValue(n));let Q=t.toValue(r)||A.value||fr;!Q&&re&&(Q=(G?re.isValidSourcePos:re.isValidTargetPos)||fr);let J,ae=0;const{x:X,y:W}=Et(I),te=R==null?void 0:R.elementFromPoint(X,W),ce=Wi(t.toValue(i),te),oe=(N=s.value)==null?void 0:N.getBoundingClientRect();if(!oe||!ce)return;let ne,fe=Et(I,oe),he=!1;const x=JC({nodes:O.value,nodeId:t.toValue(n),handleId:t.toValue(e),handleType:ce}),v=()=>{if(!m.value)return;const[E,D]=Lc(fe,oe,b.value);g({x:E,y:D}),ae=requestAnimationFrame(v)};_({nodeId:t.toValue(n),handleId:t.toValue(e),type:ce,position:(te==null?void 0:te.getAttribute("data-handlepos"))||me.Top},{x:X-oe.left,y:W-oe.top}),S.connectStart({event:I,nodeId:t.toValue(n),handleId:t.toValue(e),handleType:ce}),R.addEventListener("mousemove",$),R.addEventListener("mouseup",F),R.addEventListener("touchmove",$),R.addEventListener("touchend",F)}}function w(I){if(!f.value)return;const N=t.toValue(o)==="target";if(!d.value)S.clickConnectStart({event:I,nodeId:t.toValue(n),handleId:t.toValue(e)}),_({nodeId:t.toValue(n),type:t.toValue(o),handleId:t.toValue(e)},void 0,!0);else{let G=t.toValue(r)||A.value||fr;const K=h(t.toValue(n));if(!G&&K&&(G=(N?K.isValidSourcePos:K.isValidTargetPos)||fr),K&&(typeof K.connectable>"u"?p.value:K.connectable)===!1)return;const R=xc(I.target),{connection:$,isValid:F}=Zc(I,{nodeId:t.toValue(n),id:t.toValue(e),type:t.toValue(o)},c.value,d.value.nodeId,d.value.handleId||null,d.value.type,G,R,C.value,O.value,h),re=$.source===$.target;F&&!re&&S.connect($),S.clickConnectEnd(I),y(I,!0)}}return{handlePointerDown:T,handleClick:w}}function sE(){return t.inject(ru,"")}function su(e){const n=e??sE()??"",o=t.inject(iu,t.ref(null)),{findNode:r,edges:i,emits:a}=Pe(),l=r(n);return l||a.error(new Me(Be.NODE_NOT_FOUND,n)),{id:n,nodeEl:o,node:l,parentNode:t.computed(()=>r(l.parentNode)),connectedEdges:t.computed(()=>Dc([l],i.value))}}function cE(){return{doubleClick:de(),click:de(),mouseEnter:de(),mouseMove:de(),mouseLeave:de(),contextMenu:de(),dragStart:de(),drag:de(),dragStop:de()}}function uE(e,n){const o=cE();return o.doubleClick.on(r=>{var i,a;n.nodeDoubleClick(r),(a=(i=e.events)==null?void 0:i.doubleClick)==null||a.call(i,r)}),o.click.on(r=>{var i,a;n.nodeClick(r),(a=(i=e.events)==null?void 0:i.click)==null||a.call(i,r)}),o.mouseEnter.on(r=>{var i,a;n.nodeMouseEnter(r),(a=(i=e.events)==null?void 0:i.mouseEnter)==null||a.call(i,r)}),o.mouseMove.on(r=>{var i,a;n.nodeMouseMove(r),(a=(i=e.events)==null?void 0:i.mouseMove)==null||a.call(i,r)}),o.mouseLeave.on(r=>{var i,a;n.nodeMouseLeave(r),(a=(i=e.events)==null?void 0:i.mouseLeave)==null||a.call(i,r)}),o.contextMenu.on(r=>{var i,a;n.nodeContextMenu(r),(a=(i=e.events)==null?void 0:i.contextMenu)==null||a.call(i,r)}),o.dragStart.on(r=>{var i,a;n.nodeDragStart(r),(a=(i=e.events)==null?void 0:i.dragStart)==null||a.call(i,r)}),o.drag.on(r=>{var i,a;n.nodeDrag(r),(a=(i=e.events)==null?void 0:i.drag)==null||a.call(i,r)}),o.dragStop.on(r=>{var i,a;n.nodeDragStop(r),(a=(i=e.events)==null?void 0:i.dragStop)==null||a.call(i,r)}),Object.entries(o).reduce((r,[i,a])=>(r.emit[i]=a.trigger,r.on[i]=a.on,r),{emit:{},on:{}})}function cu(){const{getSelectedNodes:e,nodeExtent:n,updateNodePositions:o,findNode:r,snapGrid:i,snapToGrid:a,nodesDraggable:l,emits:s}=Pe();return(c,u=!1)=>{const f=a.value?i.value[0]:5,d=a.value?i.value[1]:5,p=u?4:1,m=c.x*f*p,b=c.y*d*p,h=[];for(const g of e.value)if(g.draggable||l&&typeof g.draggable>"u"){const _={x:g.computedPosition.x+m,y:g.computedPosition.y+b},{computedPosition:k}=ji(g,_,s.error,n.value,g.parentNode?r(g.parentNode):void 0);h.push({id:g.id,position:k,from:g.position,distance:{x:c.x,y:c.y},dimensions:g.dimensions})}o(h,!0,!1)}}const Zi=.1;function $t(){return ur("Viewport not initialized yet."),Promise.resolve(!1)}const dE={zoomIn:$t,zoomOut:$t,zoomTo:$t,fitView:$t,setCenter:$t,fitBounds:$t,project:e=>e,screenToFlowCoordinate:e=>e,flowToScreenCoordinate:e=>e,setViewport:$t,setTransform:$t,getViewport:()=>({x:0,y:0,zoom:1}),getTransform:()=>({x:0,y:0,zoom:1}),viewportInitialized:!1};function fE(e){function n(r,i){return new Promise(a=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.scaleBy(Ji(e.d3Selection,i,()=>{a(!0)}),r):a(!1)})}function o(r,i,a,l){return new Promise(s=>{const{x:c,y:u}=Nc({x:-r,y:-i},e.translateExtent),f=Cn.translate(-c,-u).scale(a);e.d3Selection&&e.d3Zoom?e.d3Zoom.transform(Ji(e.d3Selection,l,()=>{s(!0)}),f):s(!1)})}return t.computed(()=>e.d3Zoom&&e.d3Selection&&e.dimensions.width&&e.dimensions.height?{viewportInitialized:!0,zoomIn:i=>n(1.2,i==null?void 0:i.duration),zoomOut:i=>n(1/1.2,i==null?void 0:i.duration),zoomTo:(i,a)=>new Promise(l=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.scaleTo(Ji(e.d3Selection,a==null?void 0:a.duration,()=>{l(!0)}),i):l(!1)}),setViewport:(i,a)=>o(i.x,i.y,i.zoom,a==null?void 0:a.duration),setTransform:(i,a)=>o(i.x,i.y,i.zoom,a==null?void 0:a.duration),getViewport:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),getTransform:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),fitView:(i={padding:Zi,includeHiddenNodes:!1,duration:0})=>{var a,l;const s=[];for(const p of e.nodes)p.dimensions.width&&p.dimensions.height&&((i==null?void 0:i.includeHiddenNodes)||!p.hidden)&&(!((a=i.nodes)!=null&&a.length)||(l=i.nodes)!=null&&l.length&&i.nodes.includes(p.id))&&s.push(p);if(!s.length)return Promise.resolve(!1);const c=$c(s),{x:u,y:f,zoom:d}=Rc(c,e.dimensions.width,e.dimensions.height,i.minZoom??e.minZoom,i.maxZoom??e.maxZoom,i.padding??Zi,i.offset);return o(u,f,d,i==null?void 0:i.duration)},setCenter:(i,a,l)=>{const s=typeof(l==null?void 0:l.zoom)<"u"?l.zoom:e.maxZoom,c=e.dimensions.width/2-i*s,u=e.dimensions.height/2-a*s;return o(c,u,s,l==null?void 0:l.duration)},fitBounds:(i,a={padding:Zi})=>{const{x:l,y:s,zoom:c}=Rc(i,e.dimensions.width,e.dimensions.height,e.minZoom,e.maxZoom,a.padding);return o(l,s,c,a==null?void 0:a.duration)},project:i=>no(i,e.viewport,e.snapToGrid,e.snapGrid),screenToFlowCoordinate:i=>{if(e.vueFlowRef){const{x:a,y:l}=e.vueFlowRef.getBoundingClientRect(),s={x:i.x-a,y:i.y-l};return no(s,e.viewport,e.snapToGrid,e.snapGrid)}return{x:0,y:0}},flowToScreenCoordinate:i=>{if(e.vueFlowRef){const{x:a,y:l}=e.vueFlowRef.getBoundingClientRect(),s={x:i.x+a,y:i.y+l};return Ic(s,e.viewport)}return{x:0,y:0}}}:dE)}function Ji(e,n=0,o){return e.transition().duration(n).on("end",o)}function pE(e,n,o){const r=t.effectScope(!0);return r.run(()=>{const i=()=>{r.run(()=>{let h,g,_=!!(o.nodes.value.length||o.edges.value.length);h=yn([e.modelValue,()=>{var k,y;return(y=(k=e.modelValue)==null?void 0:k.value)==null?void 0:y.length}],([k])=>{k&&Array.isArray(k)&&(g==null||g.pause(),o.setElements(k),!g&&!_&&k.length?_=!0:g==null||g.resume())}),g=yn([o.nodes,o.edges,()=>o.edges.value.length,()=>o.nodes.value.length],([k,y])=>{var S;(S=e.modelValue)!=null&&S.value&&Array.isArray(e.modelValue.value)&&(h==null||h.pause(),e.modelValue.value=[...k,...y],t.nextTick(()=>{h==null||h.resume()}))},{immediate:_}),t.onScopeDispose(()=>{h==null||h.stop(),g==null||g.stop()})})},a=()=>{r.run(()=>{let h,g,_=!!o.nodes.value.length;h=yn([e.nodes,()=>{var k,y;return(y=(k=e.nodes)==null?void 0:k.value)==null?void 0:y.length}],([k])=>{k&&Array.isArray(k)&&(g==null||g.pause(),o.setNodes(k),!g&&!_&&k.length?_=!0:g==null||g.resume())}),g=yn([o.nodes,()=>o.nodes.value.length],([k])=>{var y;(y=e.nodes)!=null&&y.value&&Array.isArray(e.nodes.value)&&(h==null||h.pause(),e.nodes.value=[...k],t.nextTick(()=>{h==null||h.resume()}))},{immediate:_}),t.onScopeDispose(()=>{h==null||h.stop(),g==null||g.stop()})})},l=()=>{r.run(()=>{let h,g,_=!!o.edges.value.length;h=yn([e.edges,()=>{var k,y;return(y=(k=e.edges)==null?void 0:k.value)==null?void 0:y.length}],([k])=>{k&&Array.isArray(k)&&(g==null||g.pause(),o.setEdges(k),!g&&!_&&k.length?_=!0:g==null||g.resume())}),g=yn([o.edges,()=>o.edges.value.length],([k])=>{var y;(y=e.edges)!=null&&y.value&&Array.isArray(e.edges.value)&&(h==null||h.pause(),e.edges.value=[...k],t.nextTick(()=>{h==null||h.resume()}))},{immediate:_}),t.onScopeDispose(()=>{h==null||h.stop(),g==null||g.stop()})})},s=()=>{r.run(()=>{t.watch(()=>n.maxZoom,()=>{n.maxZoom&&De(n.maxZoom)&&o.setMaxZoom(n.maxZoom)},{immediate:!0})})},c=()=>{r.run(()=>{t.watch(()=>n.minZoom,()=>{n.minZoom&&De(n.minZoom)&&o.setMinZoom(n.minZoom)},{immediate:!0})})},u=()=>{r.run(()=>{t.watch(()=>n.translateExtent,()=>{n.translateExtent&&De(n.translateExtent)&&o.setTranslateExtent(n.translateExtent)},{immediate:!0})})},f=()=>{r.run(()=>{t.watch(()=>n.nodeExtent,()=>{n.nodeExtent&&De(n.nodeExtent)&&o.setNodeExtent(n.nodeExtent)},{immediate:!0})})},d=()=>{r.run(()=>{t.watch(()=>n.applyDefault,()=>{De(n.applyDefault)&&(o.applyDefault.value=n.applyDefault)},{immediate:!0})})},p=()=>{r.run(()=>{const h=async g=>{let _=g;typeof n.autoConnect=="function"&&(_=await n.autoConnect(g)),_!==!1&&o.addEdges([_])};t.watch(()=>n.autoConnect,()=>{De(n.autoConnect)&&(o.autoConnect.value=n.autoConnect)},{immediate:!0}),t.watch(o.autoConnect,(g,_,k)=>{g?o.onConnect(h):o.hooks.value.connect.off(h),k(()=>{o.hooks.value.connect.off(h)})},{immediate:!0})})},m=()=>{const h=["id","modelValue","translateExtent","nodeExtent","edges","nodes","maxZoom","minZoom","applyDefault","autoConnect"];for(const g of Object.keys(n)){const _=g;if(!h.includes(_)){const k=t.toRef(()=>n[_]),y=o[_];t.isRef(y)&&r.run(()=>{t.watch(k,S=>{De(S)&&(y.value=S)},{immediate:!0})})}}};(()=>{i(),a(),l(),c(),s(),u(),f(),d(),p(),m()})()}),()=>r.stop()}function mE(){return{edgesChange:de(),nodesChange:de(),nodeDoubleClick:de(),nodeClick:de(),nodeMouseEnter:de(),nodeMouseMove:de(),nodeMouseLeave:de(),nodeContextMenu:de(),nodeDragStart:de(),nodeDrag:de(),nodeDragStop:de(),nodesInitialized:de(),miniMapNodeClick:de(),miniMapNodeDoubleClick:de(),miniMapNodeMouseEnter:de(),miniMapNodeMouseMove:de(),miniMapNodeMouseLeave:de(),connect:de(),connectStart:de(),connectEnd:de(),clickConnectStart:de(),clickConnectEnd:de(),paneReady:de(),init:de(),move:de(),moveStart:de(),moveEnd:de(),selectionDragStart:de(),selectionDrag:de(),selectionDragStop:de(),selectionContextMenu:de(),selectionStart:de(),selectionEnd:de(),viewportChangeStart:de(),viewportChange:de(),viewportChangeEnd:de(),paneScroll:de(),paneClick:de(),paneContextMenu:de(),paneMouseEnter:de(),paneMouseMove:de(),paneMouseLeave:de(),edgeContextMenu:de(),edgeMouseEnter:de(),edgeMouseMove:de(),edgeMouseLeave:de(),edgeDoubleClick:de(),edgeClick:de(),edgeUpdateStart:de(),edgeUpdate:de(),edgeUpdateEnd:de(),updateNodeInternals:de(),error:de(e=>ur(e.message))}}function gE(e,n){t.onBeforeMount(()=>{for(const[o,r]of Object.entries(n.value)){const i=a=>{e(o,a)};r.fns.add(i),Lo(()=>{r.off(i)})}})}function uu(){return{vueFlowRef:null,viewportRef:null,nodes:[],edges:[],connectionLookup:new Map,nodeTypes:{},edgeTypes:{},initialized:!1,dimensions:{width:0,height:0},viewport:{x:0,y:0,zoom:1},d3Zoom:null,d3Selection:null,d3ZoomHandler:null,minZoom:.5,maxZoom:2,translateExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],nodeExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],selectionMode:Li.Full,paneDragging:!1,preventScrolling:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,panOnScroll:!1,panOnScrollSpeed:.5,panOnScrollMode:Qn.Free,paneClickDistance:0,panOnDrag:!0,edgeUpdaterRadius:10,onlyRenderVisibleElements:!1,defaultViewport:{x:0,y:0,zoom:1},nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,defaultMarkerColor:"#b1b1b7",connectionLineStyle:{},connectionLineType:null,connectionLineOptions:{type:Jt.Bezier,style:{}},connectionMode:Qt.Loose,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectionPosition:{x:Number.NaN,y:Number.NaN},connectionRadius:20,connectOnClick:!0,connectionStatus:null,isValidConnection:null,snapGrid:[15,15],snapToGrid:!1,edgesUpdatable:!1,edgesFocusable:!0,nodesFocusable:!0,nodesConnectable:!0,nodesDraggable:!0,nodeDragThreshold:1,elementsSelectable:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,selectionKeyCode:"Shift",multiSelectionKeyCode:sr()?"Meta":"Control",zoomActivationKeyCode:sr()?"Meta":"Control",deleteKeyCode:"Backspace",panActivationKeyCode:"Space",hooks:mE(),applyDefault:!0,autoConnect:!1,fitViewOnInit:!1,fitViewOnInitDone:!1,noDragClassName:"nodrag",noWheelClassName:"nowheel",noPanClassName:"nopan",defaultEdgeOptions:void 0,elevateEdgesOnSelect:!1,elevateNodesOnSelect:!0,autoPanOnNodeDrag:!0,autoPanOnConnect:!0,autoPanSpeed:15,disableKeyboardA11y:!1,ariaLiveMessage:""}}const hE=["id","vueFlowRef","viewportRef","initialized","modelValue","nodes","edges","maxZoom","minZoom","translateExtent","hooks","defaultEdgeOptions"];function yE(e,n,o){const r=fE(e),i=x=>{const v=x??[];e.hooks.updateNodeInternals.trigger(v)},a=x=>LC(x,e.nodes,e.edges),l=x=>MC(x,e.nodes,e.edges),s=x=>Dc(x,e.edges),c=({id:x,type:v,nodeId:E})=>{var D;return Array.from(((D=e.connectionLookup.get(`${E}-${v}-${x??null}`))==null?void 0:D.values())??[])},u=x=>{if(x)return n.value.get(x)},f=x=>{if(x)return o.value.get(x)},d=(x,v,E)=>{var D,H;const q=[];for(const Z of x){const M={id:Z.id,type:"position",dragging:E,from:Z.from};if(v&&(M.position=Z.position,Z.parentNode)){const Y=u(Z.parentNode);M.position={x:M.position.x-(((D=Y==null?void 0:Y.computedPosition)==null?void 0:D.x)??0),y:M.position.y-(((H=Y==null?void 0:Y.computedPosition)==null?void 0:H.y)??0)}}q.push(M)}q!=null&&q.length&&e.hooks.nodesChange.trigger(q)},p=x=>{if(!e.vueFlowRef)return;const v=e.vueFlowRef.querySelector(".vue-flow__transformationpane");if(!v)return;const E=window.getComputedStyle(v),{m22:D}=new window.DOMMatrixReadOnly(E.transform),H=[];for(let q=0;q<x.length;++q){const Z=x[q],M=u(Z.id);if(M){const Y=ir(Z.nodeElement);if(!!(Y.width&&Y.height&&(M.dimensions.width!==Y.width||M.dimensions.height!==Y.height||Z.forceUpdate))){const le=Z.nodeElement.getBoundingClientRect();M.dimensions=Y,M.handleBounds.source=Qc(".source",Z.nodeElement,le,D),M.handleBounds.target=Qc(".target",Z.nodeElement,le,D),H.push({id:M.id,type:"dimensions",dimensions:Y})}}}!e.fitViewOnInitDone&&e.fitViewOnInit&&r.value.fitView().then(()=>{e.fitViewOnInitDone=!0}),H.length&&e.hooks.nodesChange.trigger(H)},m=(x,v)=>{const E=new Set,D=new Set;for(const Z of x)tn(Z)?E.add(Z.id):Tt(Z)&&D.add(Z.id);const H=Ot(n.value,E,!0),q=Ot(o.value,D);if(e.multiSelectionActive){for(const Z of E)H.push(It(Z,v));for(const Z of D)q.push(It(Z,v))}H.length&&e.hooks.nodesChange.trigger(H),q.length&&e.hooks.edgesChange.trigger(q)},b=x=>{if(e.multiSelectionActive){const v=x.map(E=>It(E.id,!0));e.hooks.nodesChange.trigger(v);return}e.hooks.nodesChange.trigger(Ot(n.value,new Set(x.map(v=>v.id)),!0)),e.hooks.edgesChange.trigger(Ot(o.value))},h=x=>{if(e.multiSelectionActive){const v=x.map(E=>It(E.id,!0));e.hooks.edgesChange.trigger(v);return}e.hooks.edgesChange.trigger(Ot(o.value,new Set(x.map(v=>v.id)))),e.hooks.nodesChange.trigger(Ot(n.value,new Set,!0))},g=x=>{m(x,!0)},_=x=>{const E=(x||e.nodes).map(D=>(D.selected=!1,It(D.id,!1)));e.hooks.nodesChange.trigger(E)},k=x=>{const E=(x||e.edges).map(D=>(D.selected=!1,It(D.id,!1)));e.hooks.edgesChange.trigger(E)},y=x=>{if(!x||!x.length)return m([],!1);const v=x.reduce((E,D)=>{const H=It(D.id,!1);return tn(D)?E.nodes.push(H):E.edges.push(H),E},{nodes:[],edges:[]});v.nodes.length&&e.hooks.nodesChange.trigger(v.nodes),v.edges.length&&e.hooks.edgesChange.trigger(v.edges)},S=x=>{var v;(v=e.d3Zoom)==null||v.scaleExtent([x,e.maxZoom]),e.minZoom=x},V=x=>{var v;(v=e.d3Zoom)==null||v.scaleExtent([e.minZoom,x]),e.maxZoom=x},C=x=>{var v;(v=e.d3Zoom)==null||v.translateExtent(x),e.translateExtent=x},O=x=>{e.nodeExtent=x,i()},A=x=>{var v;(v=e.d3Zoom)==null||v.clickDistance(x)},B=x=>{e.nodesDraggable=x,e.nodesConnectable=x,e.elementsSelectable=x},z=x=>{const v=x instanceof Function?x(e.nodes):x;!e.initialized&&!v.length||(e.nodes=eu(v,u,e.hooks.error.trigger))},j=x=>{const v=x instanceof Function?x(e.edges):x;if(!e.initialized&&!v.length)return;const E=nu(v,e.isValidConnection,u,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);tu(e.connectionLookup,E),e.edges=E},P=x=>{const v=x instanceof Function?x([...e.nodes,...e.edges]):x;!e.initialized&&!v.length||(z(v.filter(tn)),j(v.filter(Tt)))},T=x=>{let v=x instanceof Function?x(e.nodes):x;v=Array.isArray(v)?v:[v];const E=eu(v,u,e.hooks.error.trigger),D=[];for(const H of E)D.push(Kc(H));D.length&&e.hooks.nodesChange.trigger(D)},w=x=>{let v=x instanceof Function?x(e.edges):x;v=Array.isArray(v)?v:[v];const E=nu(v,e.isValidConnection,u,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges),D=[];for(const H of E)D.push(Kc(H));D.length&&e.hooks.edgesChange.trigger(D)},I=(x,v=!0,E=!1)=>{const D=x instanceof Function?x(e.nodes):x,H=Array.isArray(D)?D:[D],q=[],Z=[];function M(L){const le=s(L);for(const ee of le)(!De(ee.deletable)||ee.deletable)&&Z.push(Gc(ee.id,ee.source,ee.target,ee.sourceHandle,ee.targetHandle))}function Y(L){const le=[];for(const ee of e.nodes)ee.parentNode===L&&le.push(ee);if(le.length){for(const ee of le)q.push(Uc(ee.id));v&&M(le);for(const ee of le)Y(ee.id)}}for(const L of H){const le=typeof L=="string"?u(L):L;le&&(De(le.deletable)&&!le.deletable||(q.push(Uc(le.id)),v&&M([le]),E&&Y(le.id)))}Z.length&&e.hooks.edgesChange.trigger(Z),q.length&&e.hooks.nodesChange.trigger(q)},N=x=>{const v=x instanceof Function?x(e.edges):x,E=Array.isArray(v)?v:[v],D=[];for(const H of E){const q=typeof H=="string"?f(H):H;q&&(De(q.deletable)&&!q.deletable||D.push(Gc(typeof H=="string"?H:H.id,q.source,q.target,q.sourceHandle,q.targetHandle)))}e.hooks.edgesChange.trigger(D)},G=(x,v,E=!0)=>nE(x,v,e.edges,f,E,e.hooks.error.trigger),K=(x,v,E={replace:!1})=>{const D=f(x);if(!D)return;const H=typeof v=="function"?v(D):v;D.data=E.replace?H:{...D.data,...H}},R=x=>Fc(x,e.nodes),$=x=>{const v=Fc(x,e.edges);return tu(e.connectionLookup,v),v},F=(x,v,E={replace:!1})=>{const D=u(x);if(!D)return;const H=typeof v=="function"?v(D):v;E.replace?e.nodes.splice(e.nodes.indexOf(D),1,H):Object.assign(D,H)},re=(x,v,E={replace:!1})=>{const D=u(x);if(!D)return;const H=typeof v=="function"?v(D):v;D.data=E.replace?H:{...D.data,...H}},Q=(x,v,E=!1)=>{E?e.connectionClickStartHandle=x:e.connectionStartHandle=x,e.connectionEndHandle=null,e.connectionStatus=null,v&&(e.connectionPosition=v)},J=(x,v=null,E=null)=>{e.connectionStartHandle&&(e.connectionPosition=x,e.connectionEndHandle=v,e.connectionStatus=E)},ae=(x,v)=>{e.connectionPosition={x:Number.NaN,y:Number.NaN},e.connectionEndHandle=null,e.connectionStatus=null,v?e.connectionClickStartHandle=null:e.connectionStartHandle=null},X=x=>{const v=RC(x),E=v?null:to(x)?x:u(x.id);return!v&&!E?[null,null,v]:[v?x:Ui(E),E,v]},W=(x,v=!0,E=e.nodes)=>{const[D,H,q]=X(x);if(!D)return[];const Z=[];for(const M of E||e.nodes){if(!q&&(M.id===H.id||!M.computedPosition))continue;const Y=Ui(M),L=Gi(Y,D);(v&&L>0||L>=Number(D.width)*Number(D.height))&&Z.push(M)}return Z},te=(x,v,E=!0)=>{const[D]=X(x);if(!D)return!1;const H=Gi(D,v);return E&&H>0||H>=Number(D.width)*Number(D.height)},ce=x=>{const{viewport:v,dimensions:E,d3Zoom:D,d3Selection:H,translateExtent:q}=e;if(!D||!H||!x.x&&!x.y)return!1;const Z=Cn.translate(v.x+x.x,v.y+x.y).scale(v.zoom),M=[[0,0],[E.width,E.height]],Y=D.constrain()(Z,M,q),L=e.viewport.x!==Y.x||e.viewport.y!==Y.y||e.viewport.zoom!==Y.k;return D.transform(H,Y),L},oe=x=>{const v=x instanceof Function?x(e):x,E=["d3Zoom","d3Selection","d3ZoomHandler","viewportRef","vueFlowRef","dimensions","hooks"];De(v.defaultEdgeOptions)&&(e.defaultEdgeOptions=v.defaultEdgeOptions);const D=v.modelValue||v.nodes||v.edges?[]:void 0;D&&(v.modelValue&&D.push(...v.modelValue),v.nodes&&D.push(...v.nodes),v.edges&&D.push(...v.edges),P(D));const H=()=>{De(v.maxZoom)&&V(v.maxZoom),De(v.minZoom)&&S(v.minZoom),De(v.translateExtent)&&C(v.translateExtent)};for(const q of Object.keys(v)){const Z=q,M=v[Z];![...hE,...E].includes(Z)&&De(M)&&(e[Z]=M)}bi(()=>e.d3Zoom).not.toBeNull().then(H),e.initialized||(e.initialized=!0)};return{updateNodePositions:d,updateNodeDimensions:p,setElements:P,setNodes:z,setEdges:j,addNodes:T,addEdges:w,removeNodes:I,removeEdges:N,findNode:u,findEdge:f,updateEdge:G,updateEdgeData:K,updateNode:F,updateNodeData:re,applyEdgeChanges:$,applyNodeChanges:R,addSelectedElements:g,addSelectedNodes:b,addSelectedEdges:h,setMinZoom:S,setMaxZoom:V,setTranslateExtent:C,setNodeExtent:O,setPaneClickDistance:A,removeSelectedElements:y,removeSelectedNodes:_,removeSelectedEdges:k,startConnection:Q,updateConnection:J,endConnection:ae,setInteractive:B,setState:oe,getIntersectingNodes:W,getIncomers:a,getOutgoers:l,getConnectedEdges:s,getHandleConnections:c,isNodeIntersecting:te,panBy:ce,fitView:x=>r.value.fitView(x),zoomIn:x=>r.value.zoomIn(x),zoomOut:x=>r.value.zoomOut(x),zoomTo:(x,v)=>r.value.zoomTo(x,v),setViewport:(x,v)=>r.value.setViewport(x,v),setTransform:(x,v)=>r.value.setTransform(x,v),getViewport:()=>r.value.getViewport(),getTransform:()=>r.value.getTransform(),setCenter:(x,v,E)=>r.value.setCenter(x,v,E),fitBounds:(x,v)=>r.value.fitBounds(x,v),project:x=>r.value.project(x),screenToFlowCoordinate:x=>r.value.screenToFlowCoordinate(x),flowToScreenCoordinate:x=>r.value.flowToScreenCoordinate(x),toObject:()=>{const x=[],v=[];for(const E of e.nodes){const{computedPosition:D,handleBounds:H,selected:q,dimensions:Z,isParent:M,resizing:Y,dragging:L,events:le,...ee}=E;x.push(ee)}for(const E of e.edges){const{selected:D,sourceNode:H,targetNode:q,events:Z,...M}=E;v.push(M)}return JSON.parse(JSON.stringify({nodes:x,edges:v,position:[e.viewport.x,e.viewport.y],zoom:e.viewport.zoom,viewport:e.viewport}))},fromObject:x=>new Promise(v=>{const{nodes:E,edges:D,position:H,zoom:q,viewport:Z}=x;if(E&&z(E),D&&j(D),Z!=null&&Z.x&&(Z!=null&&Z.y)||H){const M=(Z==null?void 0:Z.x)||H[0],Y=(Z==null?void 0:Z.y)||H[1],L=(Z==null?void 0:Z.zoom)||q||e.viewport.zoom;return bi(()=>r.value.viewportInitialized).toBe(!0).then(()=>{r.value.setViewport({x:M,y:Y,zoom:L}).then(()=>{v(!0)})})}else v(!0)}),updateNodeInternals:i,viewportHelper:r,$reset:()=>{const x=uu();if(e.edges=[],e.nodes=[],e.d3Zoom&&e.d3Selection){const v=Cn.translate(x.defaultViewport.x??0,x.defaultViewport.y??0).scale(en(x.defaultViewport.zoom??1,x.minZoom,x.maxZoom)),E=e.viewportRef.getBoundingClientRect(),D=[[0,0],[E.width,E.height]],H=e.d3Zoom.constrain()(v,D,x.translateExtent);e.d3Zoom.transform(e.d3Selection,H)}oe(x)},$destroy:()=>{}}}const _E=["data-id","data-handleid","data-nodeid","data-handlepos"],bE={name:"Handle",compatConfig:{MODE:3}},Bt=t.defineComponent({...bE,props:{id:{default:null},type:{},position:{default:()=>me.Top},isValidConnection:{type:Function},connectable:{type:[Boolean,Number,String,Function],default:void 0},connectableStart:{type:Boolean,default:!0},connectableEnd:{type:Boolean,default:!0}},setup(e,{expose:n}){const o=t.createPropsRestProxy(e,["position","connectable","connectableStart","connectableEnd","id"]),r=t.toRef(()=>o.type??"source"),i=t.toRef(()=>o.isValidConnection??null),{connectionStartHandle:a,connectionClickStartHandle:l,connectionEndHandle:s,vueFlowRef:c,nodesConnectable:u,noDragClassName:f,noPanClassName:d}=Pe(),{id:p,node:m,nodeEl:b,connectedEdges:h}=su(),g=t.ref(),_=t.toRef(()=>typeof e.connectableStart<"u"?e.connectableStart:!0),k=t.toRef(()=>typeof e.connectableEnd<"u"?e.connectableEnd:!0),y=t.toRef(()=>{var z,j,P,T,w,I;return((z=a.value)==null?void 0:z.nodeId)===p&&((j=a.value)==null?void 0:j.handleId)===e.id&&((P=a.value)==null?void 0:P.type)===r.value||((T=s.value)==null?void 0:T.nodeId)===p&&((w=s.value)==null?void 0:w.handleId)===e.id&&((I=s.value)==null?void 0:I.type)===r.value}),S=t.toRef(()=>{var z,j,P;return((z=l.value)==null?void 0:z.nodeId)===p&&((j=l.value)==null?void 0:j.handleId)===e.id&&((P=l.value)==null?void 0:P.type)===r.value}),{handlePointerDown:V,handleClick:C}=lu({nodeId:p,handleId:e.id,isValidConnection:i,type:r}),O=t.computed(()=>typeof e.connectable=="string"&&e.connectable==="single"?!h.value.some(z=>{const j=z[`${r.value}Handle`];return z[r.value]!==p?!1:j?j===e.id:!0}):typeof e.connectable=="number"?h.value.filter(z=>{const j=z[`${r.value}Handle`];return z[r.value]!==p?!1:j?j===e.id:!0}).length<e.connectable:typeof e.connectable=="function"?e.connectable(m,h.value):De(e.connectable)?e.connectable:u.value);t.onMounted(()=>{var z;if(!m.dimensions.width||!m.dimensions.height)return;const j=(z=m.handleBounds[r.value])==null?void 0:z.find(K=>K.id===e.id);if(!c.value||j)return;const P=c.value.querySelector(".vue-flow__transformationpane");if(!b.value||!g.value||!P||!e.id)return;const T=b.value.getBoundingClientRect(),w=g.value.getBoundingClientRect(),I=window.getComputedStyle(P),{m22:N}=new window.DOMMatrixReadOnly(I.transform),G={id:e.id,position:e.position,x:(w.left-T.left)/N,y:(w.top-T.top)/N,...ir(g.value)};m.handleBounds[r.value]=[...m.handleBounds[r.value]??[],G]}),t.onUnmounted(()=>{const z=m.handleBounds[r.value];z&&(m.handleBounds[r.value]=z.filter(j=>j.id!==e.id))});function A(z){const j=Hi(z);O.value&&_.value&&(j&&z.button===0||!j)&&V(z)}function B(z){!p||!l.value&&!_.value||O.value&&C(z)}return n({handleClick:C,handlePointerDown:V,onClick:B,onPointerDown:A}),(z,j)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"handle",ref:g,"data-id":`${t.unref(p)}-${e.id}-${r.value}`,"data-handleid":e.id,"data-nodeid":t.unref(p),"data-handlepos":z.position,class:t.normalizeClass(["vue-flow__handle",[`vue-flow__handle-${z.position}`,`vue-flow__handle-${e.id}`,t.unref(f),t.unref(d),r.value,{connectable:O.value,connecting:S.value,connectablestart:_.value,connectableend:k.value,connectionindicator:O.value&&(_.value&&!y.value||k.value&&y.value)}]]),onMousedown:A,onTouchstartPassive:A,onClick:B},[t.renderSlot(z.$slots,"default",{id:z.id})],42,_E))}}),pr=function({sourcePosition:e=me.Bottom,targetPosition:n=me.Top,label:o,connectable:r=!0,isValidTargetPos:i,isValidSourcePos:a,data:l}){const s=l.label||o;return[t.h(Bt,{type:"target",position:n,connectable:r,isValidConnection:i}),typeof s!="string"&&s?t.h(s):t.h(t.Fragment,[s]),t.h(Bt,{type:"source",position:e,connectable:r,isValidConnection:a})]};pr.props=["sourcePosition","targetPosition","label","isValidTargetPos","isValidSourcePos","connectable","data"],pr.inheritAttrs=!1,pr.compatConfig={MODE:3};const wE=pr,mr=function({targetPosition:e=me.Top,label:n,connectable:o=!0,isValidTargetPos:r,data:i}){const a=i.label||n;return[t.h(Bt,{type:"target",position:e,connectable:o,isValidConnection:r}),typeof a!="string"&&a?t.h(a):t.h(t.Fragment,[a])]};mr.props=["targetPosition","label","isValidTargetPos","connectable","data"],mr.inheritAttrs=!1,mr.compatConfig={MODE:3};const kE=mr,gr=function({sourcePosition:e=me.Bottom,label:n,connectable:o=!0,isValidSourcePos:r,data:i}){const a=i.label||n;return[typeof a!="string"&&a?t.h(a):t.h(t.Fragment,[a]),t.h(Bt,{type:"source",position:e,connectable:o,isValidConnection:r})]};gr.props=["sourcePosition","label","isValidSourcePos","connectable","data"],gr.inheritAttrs=!1,gr.compatConfig={MODE:3};const CE=gr,EE=["transform"],vE=["width","height","x","y","rx","ry"],SE=["y"],NE={name:"EdgeText",compatConfig:{MODE:3}},xE=t.defineComponent({...NE,props:{x:{},y:{},label:{},labelStyle:{default:()=>({})},labelShowBg:{type:Boolean,default:!0},labelBgStyle:{default:()=>({})},labelBgPadding:{default:()=>[2,4]},labelBgBorderRadius:{default:2}},setup(e){const n=t.ref({x:0,y:0,width:0,height:0}),o=t.ref(null),r=t.computed(()=>`translate(${e.x-n.value.width/2} ${e.y-n.value.height/2})`);t.onMounted(i),t.watch([()=>e.x,()=>e.y,o,()=>e.label],i);function i(){if(!o.value)return;const a=o.value.getBBox();(a.width!==n.value.width||a.height!==n.value.height)&&(n.value=a)}return(a,l)=>(t.openBlock(),t.createElementBlock("g",{transform:r.value,class:"vue-flow__edge-textwrapper"},[a.labelShowBg?(t.openBlock(),t.createElementBlock("rect",{key:0,class:"vue-flow__edge-textbg",width:`${n.value.width+2*a.labelBgPadding[0]}px`,height:`${n.value.height+2*a.labelBgPadding[1]}px`,x:-a.labelBgPadding[0],y:-a.labelBgPadding[1],style:t.normalizeStyle(a.labelBgStyle),rx:a.labelBgBorderRadius,ry:a.labelBgBorderRadius},null,12,vE)):t.createCommentVNode("",!0),t.createElementVNode("text",t.mergeProps(a.$attrs,{ref_key:"el",ref:o,class:"vue-flow__edge-text",y:n.value.height/2,dy:"0.3em",style:a.labelStyle}),[t.renderSlot(a.$slots,"default",{},()=>[typeof a.label!="string"?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(a.label),{key:0})):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(t.toDisplayString(a.label),1)],64))])],16,SE)],8,EE))}}),AE=["id","d","marker-end","marker-start"],PE=["d","stroke-width"],TE={name:"BaseEdge",inheritAttrs:!1,compatConfig:{MODE:3}},hr=t.defineComponent({...TE,props:{id:{},labelX:{},labelY:{},path:{},label:{},markerStart:{},markerEnd:{},interactionWidth:{default:20},style:{},labelStyle:{},labelShowBg:{type:Boolean,default:!0},labelBgStyle:{},labelBgPadding:{},labelBgBorderRadius:{}},setup(e,{expose:n}){const o=t.createPropsRestProxy(e,["interactionWidth","labelShowBg"]),r=t.ref(null),i=t.ref(null),a=t.ref(null),l=t.useAttrs();return n({pathEl:r,interactionEl:i,labelEl:a}),(s,c)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("path",{id:s.id,ref_key:"pathEl",ref:r,d:s.path,style:t.normalizeStyle(o.style),class:t.normalizeClass(["vue-flow__edge-path",t.unref(l).class]),"marker-end":s.markerEnd,"marker-start":s.markerStart},null,14,AE),s.interactionWidth?(t.openBlock(),t.createElementBlock("path",{key:0,ref_key:"interactionEl",ref:i,fill:"none",d:s.path,"stroke-width":s.interactionWidth,"stroke-opacity":0,class:"vue-flow__edge-interaction"},null,8,PE)):t.createCommentVNode("",!0),s.label&&s.labelX&&s.labelY?(t.openBlock(),t.createBlock(xE,{key:1,ref_key:"labelEl",ref:a,x:s.labelX,y:s.labelY,label:s.label,"label-show-bg":s.labelShowBg,"label-bg-style":s.labelBgStyle,"label-bg-padding":s.labelBgPadding,"label-bg-border-radius":s.labelBgBorderRadius,"label-style":s.labelStyle},null,8,["x","y","label","label-show-bg","label-bg-style","label-bg-padding","label-bg-border-radius","label-style"])):t.createCommentVNode("",!0)],64))}});function du({sourceX:e,sourceY:n,targetX:o,targetY:r}){const i=Math.abs(o-e)/2,a=o<e?o+i:o-i,l=Math.abs(r-n)/2,s=r<n?r+l:r-l;return[a,s,i,l]}function fu({sourceX:e,sourceY:n,targetX:o,targetY:r,sourceControlX:i,sourceControlY:a,targetControlX:l,targetControlY:s}){const c=e*.125+i*.375+l*.375+o*.125,u=n*.125+a*.375+s*.375+r*.125,f=Math.abs(c-e),d=Math.abs(u-n);return[c,u,f,d]}function yr(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function pu({pos:e,x1:n,y1:o,x2:r,y2:i,c:a}){let l,s;switch(e){case me.Left:l=n-yr(n-r,a),s=o;break;case me.Right:l=n+yr(r-n,a),s=o;break;case me.Top:l=n,s=o-yr(o-i,a);break;case me.Bottom:l=n,s=o+yr(i-o,a);break}return[l,s]}function mu(e){const{sourceX:n,sourceY:o,sourcePosition:r=me.Bottom,targetX:i,targetY:a,targetPosition:l=me.Top,curvature:s=.25}=e,[c,u]=pu({pos:r,x1:n,y1:o,x2:i,y2:a,c:s}),[f,d]=pu({pos:l,x1:i,y1:a,x2:n,y2:o,c:s}),[p,m,b,h]=fu({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:c,sourceControlY:u,targetControlX:f,targetControlY:d});return[`M${n},${o} C${c},${u} ${f},${d} ${i},${a}`,p,m,b,h]}function gu({pos:e,x1:n,y1:o,x2:r,y2:i}){let a,l;switch(e){case me.Left:case me.Right:a=.5*(n+r),l=o;break;case me.Top:case me.Bottom:a=n,l=.5*(o+i);break}return[a,l]}function hu(e){const{sourceX:n,sourceY:o,sourcePosition:r=me.Bottom,targetX:i,targetY:a,targetPosition:l=me.Top}=e,[s,c]=gu({pos:r,x1:n,y1:o,x2:i,y2:a}),[u,f]=gu({pos:l,x1:i,y1:a,x2:n,y2:o}),[d,p,m,b]=fu({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:s,sourceControlY:c,targetControlX:u,targetControlY:f});return[`M${n},${o} C${s},${c} ${u},${f} ${i},${a}`,d,p,m,b]}const yu={[me.Left]:{x:-1,y:0},[me.Right]:{x:1,y:0},[me.Top]:{x:0,y:-1},[me.Bottom]:{x:0,y:1}};function IE({source:e,sourcePosition:n=me.Bottom,target:o}){return n===me.Left||n===me.Right?e.x<o.x?{x:1,y:0}:{x:-1,y:0}:e.y<o.y?{x:0,y:1}:{x:0,y:-1}}function _u(e,n){return Math.sqrt((n.x-e.x)**2+(n.y-e.y)**2)}function OE({source:e,sourcePosition:n=me.Bottom,target:o,targetPosition:r=me.Top,center:i,offset:a}){const l=yu[n],s=yu[r],c={x:e.x+l.x*a,y:e.y+l.y*a},u={x:o.x+s.x*a,y:o.y+s.y*a},f=IE({source:c,sourcePosition:n,target:u}),d=f.x!==0?"x":"y",p=f[d];let m,b,h;const g={x:0,y:0},_={x:0,y:0},[k,y,S,V]=du({sourceX:e.x,sourceY:e.y,targetX:o.x,targetY:o.y});if(l[d]*s[d]===-1){b=i.x??k,h=i.y??y;const O=[{x:b,y:c.y},{x:b,y:u.y}],A=[{x:c.x,y:h},{x:u.x,y:h}];l[d]===p?m=d==="x"?O:A:m=d==="x"?A:O}else{const O=[{x:c.x,y:u.y}],A=[{x:u.x,y:c.y}];if(d==="x"?m=l.x===p?A:O:m=l.y===p?O:A,n===r){const T=Math.abs(e[d]-o[d]);if(T<=a){const w=Math.min(a-1,a-T);l[d]===p?g[d]=(c[d]>e[d]?-1:1)*w:_[d]=(u[d]>o[d]?-1:1)*w}}if(n!==r){const T=d==="x"?"y":"x",w=l[d]===s[T],I=c[T]>u[T],N=c[T]<u[T];(l[d]===1&&(!w&&I||w&&N)||l[d]!==1&&(!w&&N||w&&I))&&(m=d==="x"?O:A)}const B={x:c.x+g.x,y:c.y+g.y},z={x:u.x+_.x,y:u.y+_.y},j=Math.max(Math.abs(B.x-m[0].x),Math.abs(z.x-m[0].x)),P=Math.max(Math.abs(B.y-m[0].y),Math.abs(z.y-m[0].y));j>=P?(b=(B.x+z.x)/2,h=m[0].y):(b=m[0].x,h=(B.y+z.y)/2)}return[[e,{x:c.x+g.x,y:c.y+g.y},...m,{x:u.x+_.x,y:u.y+_.y},o],b,h,S,V]}function $E(e,n,o,r){const i=Math.min(_u(e,n)/2,_u(n,o)/2,r),{x:a,y:l}=n;if(e.x===a&&a===o.x||e.y===l&&l===o.y)return`L${a} ${l}`;if(e.y===l){const u=e.x<o.x?-1:1,f=e.y<o.y?1:-1;return`L ${a+i*u},${l}Q ${a},${l} ${a},${l+i*f}`}const s=e.x<o.x?1:-1,c=e.y<o.y?-1:1;return`L ${a},${l+i*c}Q ${a},${l} ${a+i*s},${l}`}function Qi(e){const{sourceX:n,sourceY:o,sourcePosition:r=me.Bottom,targetX:i,targetY:a,targetPosition:l=me.Top,borderRadius:s=5,centerX:c,centerY:u,offset:f=20}=e,[d,p,m,b,h]=OE({source:{x:n,y:o},sourcePosition:r,target:{x:i,y:a},targetPosition:l,center:{x:c,y:u},offset:f});return[d.reduce((_,k,y)=>{let S;return y>0&&y<d.length-1?S=$E(d[y-1],k,d[y+1],s):S=`${y===0?"M":"L"}${k.x} ${k.y}`,_+=S,_},""),p,m,b,h]}function BE(e){const{sourceX:n,sourceY:o,targetX:r,targetY:i}=e,[a,l,s,c]=du({sourceX:n,sourceY:o,targetX:r,targetY:i});return[`M ${n},${o}L ${r},${i}`,a,l,s,c]}const DE=t.defineComponent({name:"StraightEdge",props:["label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=BE(e);return t.h(hr,{path:o,labelX:r,labelY:i,...n,...e})}}}),bu=t.defineComponent({name:"SmoothStepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","borderRadius","markerEnd","markerStart","interactionWidth","offset"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=Qi({...e,sourcePosition:e.sourcePosition??me.Bottom,targetPosition:e.targetPosition??me.Top});return t.h(hr,{path:o,labelX:r,labelY:i,...n,...e})}}}),RE=t.defineComponent({name:"StepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],setup(e,{attrs:n}){return()=>t.h(bu,{...e,...n,borderRadius:0})}}),VE=t.defineComponent({name:"BezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","curvature","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=mu({...e,sourcePosition:e.sourcePosition??me.Bottom,targetPosition:e.targetPosition??me.Top});return t.h(hr,{path:o,labelX:r,labelY:i,...n,...e})}}}),ME=t.defineComponent({name:"SimpleBezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=hu({...e,sourcePosition:e.sourcePosition??me.Bottom,targetPosition:e.targetPosition??me.Top});return t.h(hr,{path:o,labelX:r,labelY:i,...n,...e})}}}),LE={input:CE,default:wE,output:kE},FE={default:VE,straight:DE,step:RE,smoothstep:bu,simplebezier:ME};function KE(e,n,o){const r=t.computed(()=>h=>n.value.get(h)),i=t.computed(()=>h=>o.value.get(h)),a=t.computed(()=>{const h={...FE,...e.edgeTypes},g=Object.keys(h);for(const _ of e.edges)_.type&&!g.includes(_.type)&&(h[_.type]=_.type);return h}),l=t.computed(()=>{const h={...LE,...e.nodeTypes},g=Object.keys(h);for(const _ of e.nodes)_.type&&!g.includes(_.type)&&(h[_.type]=_.type);return h}),s=t.computed(()=>e.onlyRenderVisibleElements?Bc(e.nodes,{x:0,y:0,width:e.dimensions.width,height:e.dimensions.height},e.viewport,!0):e.nodes),c=t.computed(()=>{if(e.onlyRenderVisibleElements){const h=[];for(const g of e.edges){const _=n.value.get(g.source),k=n.value.get(g.target);YC({sourcePos:_.computedPosition||{x:0,y:0},targetPos:k.computedPosition||{x:0,y:0},sourceWidth:_.dimensions.width,sourceHeight:_.dimensions.height,targetWidth:k.dimensions.width,targetHeight:k.dimensions.height,width:e.dimensions.width,height:e.dimensions.height,viewport:e.viewport})&&h.push(g)}return h}return e.edges}),u=t.computed(()=>[...s.value,...c.value]),f=t.computed(()=>{const h=[];for(const g of e.nodes)g.selected&&h.push(g);return h}),d=t.computed(()=>{const h=[];for(const g of e.edges)g.selected&&h.push(g);return h}),p=t.computed(()=>[...f.value,...d.value]),m=t.computed(()=>{const h=[];for(const g of e.nodes)g.dimensions.width&&g.dimensions.height&&g.handleBounds!==void 0&&h.push(g);return h}),b=t.computed(()=>s.value.length>0&&m.value.length===s.value.length);return{getNode:r,getEdge:i,getElements:u,getEdgeTypes:a,getNodeTypes:l,getEdges:c,getNodes:s,getSelectedElements:p,getSelectedNodes:f,getSelectedEdges:d,getNodesInitialized:m,areNodesInitialized:b}}class nn{constructor(){this.currentId=0,this.flows=new Map}static getInstance(){var n;const o=(n=t.getCurrentInstance())==null?void 0:n.appContext.app,r=(o==null?void 0:o.config.globalProperties.$vueFlowStorage)??nn.instance;return nn.instance=r??new nn,o&&(o.config.globalProperties.$vueFlowStorage=nn.instance),nn.instance}set(n,o){return this.flows.set(n,o)}get(n){return this.flows.get(n)}remove(n){return this.flows.delete(n)}create(n,o){const r=uu(),i=t.reactive(r),a={};for(const[p,m]of Object.entries(i.hooks)){const b=`on${p.charAt(0).toUpperCase()+p.slice(1)}`;a[b]=m.on}const l={};for(const[p,m]of Object.entries(i.hooks))l[p]=m.trigger;const s=t.computed(()=>{const p=new Map;for(const m of i.nodes)p.set(m.id,m);return p}),c=t.computed(()=>{const p=new Map;for(const m of i.edges)p.set(m.id,m);return p}),u=KE(i,s,c),f=yE(i,s,c);f.setState({...i,...o});const d={...a,...u,...f,...Xb(i),nodeLookup:s,edgeLookup:c,emits:l,id:n,vueFlowVersion:"1.41.5",$destroy:()=>{this.remove(n)}};return this.set(n,d),d}getId(){return`vue-flow-${this.currentId++}`}}function Pe(e){const n=nn.getInstance(),o=t.getCurrentScope(),r=typeof e=="object",i=r?e:{id:e},a=i.id,l=a??(o==null?void 0:o.vueFlowId);let s;if(o){const c=t.inject(ou,null);typeof c<"u"&&c!==null&&(!l||c.id===l)&&(s=c)}if(s||l&&(s=n.get(l)),!s||l&&s.id!==l){const c=a??n.getId(),u=n.create(c,i);s=u,(o??t.effectScope(!0)).run(()=>{t.watch(u.applyDefault,(d,p,m)=>{const b=g=>{u.applyNodeChanges(g)},h=g=>{u.applyEdgeChanges(g)};d?(u.onNodesChange(b),u.onEdgesChange(h)):(u.hooks.value.nodesChange.off(b),u.hooks.value.edgesChange.off(h)),m(()=>{u.hooks.value.nodesChange.off(b),u.hooks.value.edgesChange.off(h)})},{immediate:!0}),Lo(()=>{if(s){const d=n.get(s.id);d?d.$destroy():ur(`No store instance found for id ${s.id} in storage.`)}})})}else r&&s.setState(i);if(o&&(t.provide(ou,s),o.vueFlowId=s.id),r){const c=t.getCurrentInstance();(c==null?void 0:c.type.name)!=="VueFlow"&&s.emits.error(new Me(Be.USEVUEFLOW_OPTIONS))}return s}function UE(e){const{emits:n,dimensions:o}=Pe();let r;t.onMounted(()=>{const i=e.value,a=()=>{if(!i)return;const l=ir(i);(l.width===0||l.height===0)&&n.error(new Me(Be.MISSING_VIEWPORT_DIMENSIONS)),o.value={width:l.width||500,height:l.height||500}};a(),window.addEventListener("resize",a),i&&(r=new ResizeObserver(()=>a()),r.observe(i)),t.onBeforeUnmount(()=>{window.removeEventListener("resize",a),r&&i&&r.unobserve(i)})})}const GE={name:"UserSelection",compatConfig:{MODE:3}},qE=t.defineComponent({...GE,props:{userSelectionRect:{}},setup(e){return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:"vue-flow__selection vue-flow__container",style:t.normalizeStyle({width:`${n.userSelectionRect.width}px`,height:`${n.userSelectionRect.height}px`,transform:`translate(${n.userSelectionRect.x}px, ${n.userSelectionRect.y}px)`})},null,4))}}),zE=["tabIndex"],jE={name:"NodesSelection",compatConfig:{MODE:3}},HE=t.defineComponent({...jE,setup(e){const{emits:n,viewport:o,getSelectedNodes:r,noPanClassName:i,disableKeyboardA11y:a,userSelectionActive:l}=Pe(),s=cu(),c=t.ref(null),u=au({el:c,onStart(b){n.selectionDragStart(b)},onDrag(b){n.selectionDrag(b)},onStop(b){n.selectionDragStop(b)}});t.onMounted(()=>{var b;a.value||(b=c.value)==null||b.focus({preventScroll:!0})});const f=t.computed(()=>$c(r.value)),d=t.computed(()=>({width:`${f.value.width}px`,height:`${f.value.height}px`,top:`${f.value.y}px`,left:`${f.value.x}px`}));function p(b){n.selectionContextMenu({event:b,nodes:r.value})}function m(b){a||En[b.key]&&s({x:En[b.key].x,y:En[b.key].y},b.shiftKey)}return(b,h)=>!t.unref(l)&&f.value.width&&f.value.height?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["vue-flow__nodesselection vue-flow__container",t.unref(i)]),style:t.normalizeStyle({transform:`translate(${t.unref(o).x}px,${t.unref(o).y}px) scale(${t.unref(o).zoom})`})},[t.createElementVNode("div",{ref_key:"el",ref:c,class:t.normalizeClass([{dragging:t.unref(u)},"vue-flow__nodesselection-rect"]),style:t.normalizeStyle(d.value),tabIndex:t.unref(a)?void 0:-1,onContextmenu:p,onKeydown:m},null,46,zE)],6)):t.createCommentVNode("",!0)}});function YE(e,n){return{x:e.clientX-n.left,y:e.clientY-n.top}}const WE={name:"Pane",compatConfig:{MODE:3}},XE=t.defineComponent({...WE,props:{isSelecting:{type:Boolean},selectionKeyPressed:{type:Boolean}},setup(e){const{vueFlowRef:n,nodes:o,viewport:r,emits:i,userSelectionActive:a,removeSelectedElements:l,panOnDrag:s,userSelectionRect:c,elementsSelectable:u,nodesSelectionActive:f,getSelectedEdges:d,getSelectedNodes:p,removeNodes:m,removeEdges:b,selectionMode:h,deleteKeyCode:g,multiSelectionKeyCode:_,multiSelectionActive:k,edgeLookup:y,nodeLookup:S}=Pe(),V=t.ref(null),C=t.ref(0),O=t.ref(0),A=t.ref(),B=t.ref(new Map),z=t.toRef(()=>u.value&&(e.isSelecting||a.value));let j=!1,P=!1;const T=eo(g,{actInsideInputWithModifier:!1}),w=eo(_);t.watch(T,Q=>{Q&&(m(p.value),b(d.value),f.value=!1)}),t.watch(w,Q=>{k.value=Q});function I(Q,J){return ae=>{ae.target===J&&(Q==null||Q(ae))}}function N(){a.value=!1,c.value=null,C.value=0,O.value=0}function G(Q){if(j){j=!1;return}i.paneClick(Q),l(),f.value=!1}function K(Q){var J;if(Array.isArray(s.value)&&((J=s.value)!=null&&J.includes(2))){Q.preventDefault();return}i.paneContextMenu(Q)}function R(Q){i.paneScroll(Q)}function $(Q){var J,ae,X,W,te;if(A.value=(J=n.value)==null?void 0:J.getBoundingClientRect(),!u.value||!e.isSelecting||Q.button!==0||Q.target!==V.value||!A.value)return;(X=(ae=Q.target)==null?void 0:ae.setPointerCapture)==null||X.call(ae,Q.pointerId);const{x:ce,y:oe}=YE(Q,A.value);P=!0,j=!1,B.value=new Map;for(const[ne,fe]of y.value)B.value.set(fe.source,((W=B.value.get(fe.source))==null?void 0:W.add(ne))||new Set([ne])),B.value.set(fe.target,((te=B.value.get(fe.target))==null?void 0:te.add(ne))||new Set([ne]));l(),c.value={width:0,height:0,startX:ce,startY:oe,x:ce,y:oe},i.selectionStart(Q)}function F(Q){if(!A.value||!c.value)return;j=!0;const{x:J,y:ae}=Et(Q,A.value),{startX:X=0,startY:W=0}=c.value,te={startX:X,startY:W,x:J<X?J:X,y:ae<W?ae:W,width:Math.abs(J-X),height:Math.abs(ae-W)},ce=Bc(o.value,te,r.value,h.value===Li.Partial,!0),oe=new Set,ne=new Set;for(const fe of ce){ne.add(fe.id);const he=B.value.get(fe.id);if(he)for(const x of he)oe.add(x)}if(C.value!==ne.size){C.value=ne.size;const fe=Ot(S.value,ne,!0);i.nodesChange(fe)}if(O.value!==oe.size){O.value=oe.size;const fe=Ot(y.value,oe);i.edgesChange(fe)}c.value=te,a.value=!0,f.value=!1}function re(Q){var J;Q.button!==0||!P||((J=Q.target)==null||J.releasePointerCapture(Q.pointerId),!a.value&&c.value&&Q.target===V.value&&G(Q),C.value>0&&(f.value=!0),N(),i.selectionEnd(Q),e.selectionKeyPressed&&(j=!1),P=!1)}return(Q,J)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"container",ref:V,class:t.normalizeClass(["vue-flow__pane vue-flow__container",{selection:Q.isSelecting}]),onClick:J[0]||(J[0]=ae=>z.value?void 0:I(G,V.value)(ae)),onContextmenu:J[1]||(J[1]=ae=>I(K,V.value)(ae)),onWheelPassive:J[2]||(J[2]=ae=>I(R,V.value)(ae)),onPointerenter:J[3]||(J[3]=ae=>z.value?void 0:t.unref(i).paneMouseEnter(ae)),onPointerdown:J[4]||(J[4]=ae=>z.value?$(ae):t.unref(i).paneMouseMove(ae)),onPointermove:J[5]||(J[5]=ae=>z.value?F(ae):t.unref(i).paneMouseMove(ae)),onPointerup:J[6]||(J[6]=ae=>z.value?re(ae):void 0),onPointerleave:J[7]||(J[7]=ae=>t.unref(i).paneMouseLeave(ae))},[t.renderSlot(Q.$slots,"default"),t.unref(a)&&t.unref(c)?(t.openBlock(),t.createBlock(qE,{key:0,"user-selection-rect":t.unref(c)},null,8,["user-selection-rect"])):t.createCommentVNode("",!0),t.unref(f)&&t.unref(p).length?(t.openBlock(),t.createBlock(HE,{key:1})):t.createCommentVNode("",!0)],34))}}),ZE={name:"Transform",compatConfig:{MODE:3}},JE=t.defineComponent({...ZE,setup(e){const{viewport:n,fitViewOnInit:o,fitViewOnInitDone:r}=Pe(),i=t.computed(()=>o.value?!r.value:!1),a=t.computed(()=>`translate(${n.value.x}px,${n.value.y}px) scale(${n.value.zoom})`);return(l,s)=>(t.openBlock(),t.createElementBlock("div",{class:"vue-flow__transformationpane vue-flow__container",style:t.normalizeStyle({transform:a.value,opacity:i.value?0:void 0})},[t.renderSlot(l.$slots,"default")],4))}}),QE={name:"Viewport",compatConfig:{MODE:3}},ev=t.defineComponent({...QE,setup(e){const{minZoom:n,maxZoom:o,defaultViewport:r,translateExtent:i,zoomActivationKeyCode:a,selectionKeyCode:l,panActivationKeyCode:s,panOnScroll:c,panOnScrollMode:u,panOnScrollSpeed:f,panOnDrag:d,zoomOnDoubleClick:p,zoomOnPinch:m,zoomOnScroll:b,preventScrolling:h,noWheelClassName:g,noPanClassName:_,emits:k,connectionStartHandle:y,userSelectionActive:S,paneDragging:V,d3Zoom:C,d3Selection:O,d3ZoomHandler:A,viewport:B,viewportRef:z,paneClickDistance:j}=Pe();UE(z);const P=t.ref(!1),T=t.ref(!1);let w=null,I=!1,N=0,G={x:0,y:0,zoom:0};const K=eo(s),R=eo(l),$=eo(a),F=t.toRef(()=>(!R.value||R.value&&l.value===!0)&&(K.value||d.value)),re=t.toRef(()=>K.value||c.value),Q=t.toRef(()=>R.value||l.value===!0&&F.value!==!0);t.onMounted(()=>{if(!z.value){ur("Viewport element is missing");return}const ce=z.value,oe=ce.getBoundingClientRect(),ne=IC().clickDistance(j.value).scaleExtent([n.value,o.value]).translateExtent(i.value),fe=rt(ce).call(ne),he=fe.on("wheel.zoom"),x=Cn.translate(r.value.x??0,r.value.y??0).scale(en(r.value.zoom??1,n.value,o.value)),v=[[0,0],[oe.width,oe.height]],E=ne.constrain()(x,v,i.value);ne.transform(fe,E),ne.wheelDelta(ae),C.value=ne,O.value=fe,A.value=he,B.value={x:E.x,y:E.y,zoom:E.k},ne.on("start",D=>{var H;if(!D.sourceEvent)return null;N=D.sourceEvent.button,P.value=!0;const q=W(D.transform);((H=D.sourceEvent)==null?void 0:H.type)==="mousedown"&&(V.value=!0),G=q,k.viewportChangeStart(q),k.moveStart({event:D,flowTransform:q})}),ne.on("end",D=>{if(!D.sourceEvent)return null;if(P.value=!1,V.value=!1,J(F.value,N??0)&&!I&&k.paneContextMenu(D.sourceEvent),I=!1,X(G,D.transform)){const H=W(D.transform);G=H,k.viewportChangeEnd(H),k.moveEnd({event:D,flowTransform:H})}}),ne.filter(D=>{var H,q,Z;const M=$.value||b.value,Y=m.value&&D.ctrlKey,L=D.button;if((F.value===!0||Array.isArray(F.value)&&F.value.includes(1))&&L===1&&D.type==="mousedown"&&((H=D.target)!=null&&H.closest(".vue-flow__node")||(q=D.target)!=null&&q.closest(".vue-flow__edge")))return!0;if(!F.value&&!M&&!re.value&&!p.value&&!m.value||S.value||!p.value&&D.type==="dblclick"||te(D,g.value)&&D.type==="wheel"||te(D,_.value)&&(D.type!=="wheel"||re.value&&D.type==="wheel"&&!$.value)||!m.value&&D.ctrlKey&&D.type==="wheel"||!M&&!re.value&&!Y&&D.type==="wheel")return!1;if(!m&&D.type==="touchstart"&&((Z=D.touches)==null?void 0:Z.length)>1)return D.preventDefault(),!1;if(!F.value&&(D.type==="mousedown"||D.type==="touchstart")||l.value===!0&&Array.isArray(d.value)&&d.value.includes(0)&&L===0||Array.isArray(F.value)&&!F.value.includes(L)&&(D.type==="mousedown"||D.type==="touchstart"))return!1;const le=Array.isArray(F.value)&&F.value.includes(L)||l.value===!0&&Array.isArray(F.value)&&!F.value.includes(0)||!L||L<=1;return(!D.ctrlKey||D.type==="wheel")&&le}),t.watch([S,F],()=>{S.value&&!P.value?ne.on("zoom",null):S.value||ne.on("zoom",D=>{B.value={x:D.transform.x,y:D.transform.y,zoom:D.transform.k};const H=W(D.transform);I=J(F.value,N??0),k.viewportChange(H),k.move({event:D,flowTransform:H})})},{immediate:!0}),t.watch([S,re,u,$,m,h,g],()=>{re.value&&!$.value&&!S.value?fe.on("wheel.zoom",D=>{if(te(D,g.value))return!1;const H=$.value||b.value,q=m.value&&D.ctrlKey;if(!(!h.value||re.value||H||q))return!1;D.preventDefault(),D.stopImmediatePropagation();const M=fe.property("__zoom").k||1,Y=sr();if(D.ctrlKey&&m.value&&Y){const pe=dt(D),_e=ae(D),Ee=M*2**_e;ne.scaleTo(fe,Ee,pe,D);return}const L=D.deltaMode===1?20:1;let le=u.value===Qn.Vertical?0:D.deltaX*L,ee=u.value===Qn.Horizontal?0:D.deltaY*L;!Y&&D.shiftKey&&u.value!==Qn.Vertical&&!le&&ee&&(le=ee,ee=0),ne.translateBy(fe,-(le/M)*f.value,-(ee/M)*f.value);const ye=W(fe.property("__zoom"));w&&clearTimeout(w),T.value?(k.move({event:D,flowTransform:ye}),k.viewportChange(ye),w=setTimeout(()=>{k.moveEnd({event:D,flowTransform:ye}),k.viewportChangeEnd(ye),T.value=!1},150)):(T.value=!0,k.moveStart({event:D,flowTransform:ye}),k.viewportChangeStart(ye))},{passive:!1}):typeof he<"u"&&fe.on("wheel.zoom",function(D,H){const q=!h.value&&D.type==="wheel"&&!D.ctrlKey,Z=$.value||b.value,M=m.value&&D.ctrlKey;if(!Z&&!c.value&&!M&&D.type==="wheel"||q||te(D,g.value))return null;D.preventDefault(),he.call(this,D,H)},{passive:!1})},{immediate:!0})});function J(ce,oe){return oe===2&&Array.isArray(ce)&&ce.includes(2)}function ae(ce){const oe=ce.ctrlKey&&sr()?10:1;return-ce.deltaY*(ce.deltaMode===1?.05:ce.deltaMode?1:.002)*oe}function X(ce,oe){return ce.x!==oe.x&&!Number.isNaN(oe.x)||ce.y!==oe.y&&!Number.isNaN(oe.y)||ce.zoom!==oe.k&&!Number.isNaN(oe.k)}function W(ce){return{x:ce.x,y:ce.y,zoom:ce.k}}function te(ce,oe){return ce.target.closest(`.${oe}`)}return(ce,oe)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"viewportRef",ref:z,class:"vue-flow__viewport vue-flow__container"},[t.createVNode(XE,{"is-selecting":Q.value,"selection-key-pressed":t.unref(R),class:t.normalizeClass({connecting:!!t.unref(y),dragging:t.unref(V),draggable:t.unref(d)===!0||Array.isArray(t.unref(d))&&t.unref(d).includes(0)})},{default:t.withCtx(()=>[t.createVNode(JE,null,{default:t.withCtx(()=>[t.renderSlot(ce.$slots,"default")]),_:3})]),_:3},8,["is-selecting","selection-key-pressed","class"])],512))}}),tv=["id"],nv=["id"],ov=["id"],rv={name:"A11yDescriptions",compatConfig:{MODE:3}},iv=t.defineComponent({...rv,setup(e){const{id:n,disableKeyboardA11y:o,ariaLiveMessage:r}=Pe();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",{id:`${t.unref(Ec)}-${t.unref(n)}`,style:{display:"none"}}," Press enter or space to select a node. "+t.toDisplayString(t.unref(o)?"":"You can then use the arrow keys to move the node around.")+" You can then use the arrow keys to move the node around, press delete to remove it and press escape to cancel. ",9,tv),t.createElementVNode("div",{id:`${t.unref(vc)}-${t.unref(n)}`,style:{display:"none"}}," Press enter or space to select an edge. You can then press delete to remove it or press escape to cancel. ",8,nv),t.unref(o)?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",{key:0,id:`${t.unref(DC)}-${t.unref(n)}`,"aria-live":"assertive","aria-atomic":"true",style:{position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)","clip-path":"inset(100%)"}},t.toDisplayString(t.unref(r)),9,ov))],64))}});function av(){const e=Pe();t.watch(()=>e.viewportHelper.value.viewportInitialized,n=>{n&&setTimeout(()=>{e.emits.init(e),e.emits.paneReady(e)},1)})}function lv(e,n,o){return o===me.Left?e-n:o===me.Right?e+n:e}function sv(e,n,o){return o===me.Top?e-n:o===me.Bottom?e+n:e}const ea=function({radius:e=10,centerX:n=0,centerY:o=0,position:r=me.Top,type:i}){return t.h("circle",{class:`vue-flow__edgeupdater vue-flow__edgeupdater-${i}`,cx:lv(n,e,r),cy:sv(o,e,r),r:e,stroke:"transparent",fill:"transparent"})};ea.props=["radius","centerX","centerY","position","type"],ea.compatConfig={MODE:3};const wu=ea,cv=t.defineComponent({name:"Edge",compatConfig:{MODE:3},props:["id"],setup(e){const{id:n,addSelectedEdges:o,connectionMode:r,edgeUpdaterRadius:i,emits:a,nodesSelectionActive:l,noPanClassName:s,getEdgeTypes:c,removeSelectedEdges:u,findEdge:f,findNode:d,isValidConnection:p,multiSelectionActive:m,disableKeyboardA11y:b,elementsSelectable:h,edgesUpdatable:g,edgesFocusable:_,hooks:k}=Pe(),y=t.computed(()=>f(e.id)),{emit:S,on:V}=aE(y.value,a),C=t.inject(dr),O=t.getCurrentInstance(),A=t.ref(!1),B=t.ref(!1),z=t.ref(""),j=t.ref(null),P=t.ref("source"),T=t.ref(null),w=t.toRef(()=>typeof y.value.selectable>"u"?h.value:y.value.selectable),I=t.toRef(()=>typeof y.value.updatable>"u"?g.value:y.value.updatable),N=t.toRef(()=>typeof y.value.focusable>"u"?_.value:y.value.focusable);t.provide(oE,e.id),t.provide(rE,T);const G=t.computed(()=>y.value.class instanceof Function?y.value.class(y.value):y.value.class),K=t.computed(()=>y.value.style instanceof Function?y.value.style(y.value):y.value.style),R=t.computed(()=>{const v=y.value.type||"default",E=C==null?void 0:C[`edge-${v}`];if(E)return E;let D=y.value.template??c.value[v];if(typeof D=="string"&&O){const H=Object.keys(O.appContext.components);H&&H.includes(v)&&(D=t.resolveComponent(v,!1))}return D&&typeof D!="string"?D:(a.error(new Me(Be.EDGE_TYPE_MISSING,D)),!1)}),{handlePointerDown:$}=lu({nodeId:z,handleId:j,type:P,isValidConnection:p,edgeUpdaterType:P,onEdgeUpdate:Q,onEdgeUpdateEnd:J});return()=>{const v=d(y.value.source),E=d(y.value.target),D="pathOptions"in y.value?y.value.pathOptions:{};if(!v&&!E)return a.error(new Me(Be.EDGE_SOURCE_TARGET_MISSING,y.value.id,y.value.source,y.value.target)),null;if(!v)return a.error(new Me(Be.EDGE_SOURCE_MISSING,y.value.id,y.value.source)),null;if(!E)return a.error(new Me(Be.EDGE_TARGET_MISSING,y.value.id,y.value.target)),null;if(!y.value||y.value.hidden||v.hidden||E.hidden)return null;let H;r.value===Qt.Strict?H=v.handleBounds.source:H=[...v.handleBounds.source||[],...v.handleBounds.target||[]];const q=jc(H,y.value.sourceHandle);let Z;r.value===Qt.Strict?Z=E.handleBounds.target:Z=[...E.handleBounds.target||[],...E.handleBounds.source||[]];const M=jc(Z,y.value.targetHandle),Y=(q==null?void 0:q.position)||me.Bottom,L=(M==null?void 0:M.position)||me.Top,{x:le,y:ee}=lr(v,q,Y),{x:ye,y:pe}=lr(E,M,L);return y.value.sourceX=le,y.value.sourceY=ee,y.value.targetX=ye,y.value.targetY=pe,t.h("g",{ref:T,key:e.id,"data-id":e.id,class:["vue-flow__edge",`vue-flow__edge-${R.value===!1?"default":y.value.type||"default"}`,s.value,G.value,{updating:A.value,selected:y.value.selected,animated:y.value.animated,inactive:!w.value&&!k.value.edgeClick.hasListeners()}],onClick:X,onContextmenu:W,onDblclick:te,onMouseenter:ce,onMousemove:oe,onMouseleave:ne,onKeyDown:N.value?x:void 0,tabIndex:N.value?0:void 0,"aria-label":y.value.ariaLabel===null?void 0:y.value.ariaLabel||`Edge from ${y.value.source} to ${y.value.target}`,"aria-describedby":N.value?`${vc}-${n}`:void 0,role:N.value?"button":"img"},[B.value?null:t.h(R.value===!1?c.value.default:R.value,{id:e.id,sourceNode:v,targetNode:E,source:y.value.source,target:y.value.target,type:y.value.type,updatable:I.value,selected:y.value.selected,animated:y.value.animated,label:y.value.label,labelStyle:y.value.labelStyle,labelShowBg:y.value.labelShowBg,labelBgStyle:y.value.labelBgStyle,labelBgPadding:y.value.labelBgPadding,labelBgBorderRadius:y.value.labelBgBorderRadius,data:y.value.data,events:{...y.value.events,...V},style:K.value,markerStart:`url('#${oo(y.value.markerStart,n)}')`,markerEnd:`url('#${oo(y.value.markerEnd,n)}')`,sourcePosition:Y,targetPosition:L,sourceX:le,sourceY:ee,targetX:ye,targetY:pe,sourceHandleId:y.value.sourceHandle,targetHandleId:y.value.targetHandle,interactionWidth:y.value.interactionWidth,...D}),[I.value==="source"||I.value===!0?[t.h("g",{onMousedown:fe,onMouseenter:F,onMouseout:re},t.h(wu,{position:Y,centerX:le,centerY:ee,radius:i.value,type:"source","data-type":"source"}))]:null,I.value==="target"||I.value===!0?[t.h("g",{onMousedown:he,onMouseenter:F,onMouseout:re},t.h(wu,{position:L,centerX:ye,centerY:pe,radius:i.value,type:"target","data-type":"target"}))]:null]])};function F(){A.value=!0}function re(){A.value=!1}function Q(v,E){S.update({event:v,edge:y.value,connection:E})}function J(v){S.updateEnd({event:v,edge:y.value}),B.value=!1}function ae(v,E){v.button===0&&(B.value=!0,z.value=E?y.value.target:y.value.source,j.value=(E?y.value.targetHandle:y.value.sourceHandle)??"",P.value=E?"target":"source",S.updateStart({event:v,edge:y.value}),$(v))}function X(v){var E;const D={event:v,edge:y.value};w.value&&(l.value=!1,y.value.selected&&m.value?(u([y.value]),(E=T.value)==null||E.blur()):o([y.value])),S.click(D)}function W(v){S.contextMenu({event:v,edge:y.value})}function te(v){S.doubleClick({event:v,edge:y.value})}function ce(v){S.mouseEnter({event:v,edge:y.value})}function oe(v){S.mouseMove({event:v,edge:y.value})}function ne(v){S.mouseLeave({event:v,edge:y.value})}function fe(v){ae(v,!0)}function he(v){ae(v,!1)}function x(v){var E;!b.value&&Sc.includes(v.key)&&w.value&&(v.key==="Escape"?((E=T.value)==null||E.blur(),u([f(e.id)])):o([f(e.id)]))}}}),uv={[me.Left]:me.Right,[me.Right]:me.Left,[me.Top]:me.Bottom,[me.Bottom]:me.Top},dv=t.defineComponent({name:"ConnectionLine",compatConfig:{MODE:3},setup(){var e;const{id:n,connectionMode:o,connectionStartHandle:r,connectionEndHandle:i,connectionPosition:a,connectionLineType:l,connectionLineStyle:s,connectionLineOptions:c,connectionStatus:u,viewport:f,findNode:d}=Pe(),p=(e=t.inject(dr))==null?void 0:e["connection-line"],m=t.computed(()=>{var k;return d((k=r.value)==null?void 0:k.nodeId)}),b=t.computed(()=>{var k;return d((k=i.value)==null?void 0:k.nodeId)??null}),h=t.computed(()=>({x:(a.value.x-f.value.x)/f.value.zoom,y:(a.value.y-f.value.y)/f.value.zoom})),g=t.computed(()=>c.value.markerStart?`url(#${oo(c.value.markerStart,n)})`:""),_=t.computed(()=>c.value.markerEnd?`url(#${oo(c.value.markerEnd,n)})`:"");return()=>{var k,y,S,V;if(!m.value||!r.value)return null;const C=r.value.handleId,O=r.value.type,A=m.value.handleBounds;let B=(A==null?void 0:A[O])||[];if(o.value===Qt.Loose){const R=(A==null?void 0:A[O==="source"?"target":"source"])||[];B=[...B,...R]}if(!B)return null;const z=(C?B.find(R=>R.id===C):B[0])??null,j=(z==null?void 0:z.position)||me.Top,{x:P,y:T}=lr(m.value,z,j);let w=null;b.value&&((k=i.value)!=null&&k.handleId)&&(o.value===Qt.Strict?w=((y=b.value.handleBounds[O==="source"?"target":"source"])==null?void 0:y.find(R=>{var $;return R.id===(($=i.value)==null?void 0:$.handleId)}))||null:w=((S=[...b.value.handleBounds.source||[],...b.value.handleBounds.target||[]])==null?void 0:S.find(R=>{var $;return R.id===(($=i.value)==null?void 0:$.handleId)}))||null);const I=((V=i.value)==null?void 0:V.position)??(j?uv[j]:null);if(!j||!I)return null;const N=l.value??c.value.type??Jt.Bezier;let G="";const K={sourceX:P,sourceY:T,sourcePosition:j,targetX:h.value.x,targetY:h.value.y,targetPosition:I};return N===Jt.Bezier?[G]=mu(K):N===Jt.Step?[G]=Qi({...K,borderRadius:0}):N===Jt.SmoothStep?[G]=Qi(K):N===Jt.SimpleBezier?[G]=hu(K):G=`M${P},${T} ${h.value.x},${h.value.y}`,t.h("svg",{class:"vue-flow__edges vue-flow__connectionline vue-flow__container"},t.h("g",{class:"vue-flow__connection"},p?t.h(p,{sourceX:P,sourceY:T,sourcePosition:j,targetX:h.value.x,targetY:h.value.y,targetPosition:I,sourceNode:m.value,sourceHandle:z,targetNode:b.value,targetHandle:w,markerEnd:_.value,markerStart:g.value,connectionStatus:u.value}):t.h("path",{d:G,class:[c.value.class,u,"vue-flow__connection-path"],style:{...s.value,...c.value.style},"marker-end":_.value,"marker-start":g.value})))}}}),fv=["id","markerWidth","markerHeight","markerUnits","orient"],pv={name:"MarkerType",compatConfig:{MODE:3}},mv=t.defineComponent({...pv,props:{id:{},type:{},color:{default:"none"},width:{default:12.5},height:{default:12.5},markerUnits:{default:"strokeWidth"},orient:{default:"auto-start-reverse"},strokeWidth:{default:1}},setup(e){return(n,o)=>(t.openBlock(),t.createElementBlock("marker",{id:n.id,class:"vue-flow__arrowhead",viewBox:"-10 -10 20 20",refX:"0",refY:"0",markerWidth:`${n.width}`,markerHeight:`${n.height}`,markerUnits:n.markerUnits,orient:n.orient},[n.type===t.unref(Fi).ArrowClosed?(t.openBlock(),t.createElementBlock("polyline",{key:0,style:t.normalizeStyle({stroke:n.color,fill:n.color,strokeWidth:n.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",points:"-5,-4 0,0 -5,4 -5,-4"},null,4)):t.createCommentVNode("",!0),n.type===t.unref(Fi).Arrow?(t.openBlock(),t.createElementBlock("polyline",{key:1,style:t.normalizeStyle({stroke:n.color,strokeWidth:n.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",fill:"none",points:"-5,-4 0,0 -5,4"},null,4)):t.createCommentVNode("",!0)],8,fv))}}),gv={class:"vue-flow__marker vue-flow__container"},hv={name:"MarkerDefinitions",compatConfig:{MODE:3}},yv=t.defineComponent({...hv,setup(e){const{id:n,edges:o,connectionLineOptions:r,defaultMarkerColor:i}=Pe(),a=t.computed(()=>{const l=new Set,s=[],c=u=>{if(u){const f=oo(u,n);l.has(f)||(typeof u=="object"?s.push({...u,id:f,color:u.color||i.value}):s.push({id:f,color:i.value,type:u}),l.add(f))}};for(const u of[r.value.markerEnd,r.value.markerStart])c(u);for(const u of o.value)for(const f of[u.markerStart,u.markerEnd])c(f);return s.sort((u,f)=>u.id.localeCompare(f.id))});return(l,s)=>(t.openBlock(),t.createElementBlock("svg",gv,[t.createElementVNode("defs",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,c=>(t.openBlock(),t.createBlock(mv,{id:c.id,key:c.id,type:c.type,color:c.color,width:c.width,height:c.height,markerUnits:c.markerUnits,"stroke-width":c.strokeWidth,orient:c.orient},null,8,["id","type","color","width","height","markerUnits","stroke-width","orient"]))),128))])]))}}),_v={name:"Edges",compatConfig:{MODE:3}},bv=t.defineComponent({..._v,setup(e){const{findNode:n,getEdges:o,elevateEdgesOnSelect:r}=Pe();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(yv),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(o),l=>(t.openBlock(),t.createElementBlock("svg",{key:l.id,class:"vue-flow__edges vue-flow__container",style:t.normalizeStyle({zIndex:t.unref(WC)(l,t.unref(n),t.unref(r))})},[t.createVNode(t.unref(cv),{id:l.id},null,8,["id"])],4))),128)),t.createVNode(t.unref(dv))],64))}}),wv=t.defineComponent({name:"Node",compatConfig:{MODE:3},props:["id","resizeObserver"],setup(e){const{id:n,noPanClassName:o,selectNodesOnDrag:r,nodesSelectionActive:i,multiSelectionActive:a,emits:l,removeSelectedNodes:s,addSelectedNodes:c,updateNodeDimensions:u,onUpdateNodeInternals:f,getNodeTypes:d,nodeExtent:p,elevateNodesOnSelect:m,disableKeyboardA11y:b,ariaLiveMessage:h,snapToGrid:g,snapGrid:_,nodeDragThreshold:k,nodesDraggable:y,elementsSelectable:S,nodesConnectable:V,nodesFocusable:C,hooks:O}=Pe(),A=t.ref(null);t.provide(iu,A),t.provide(ru,e.id);const B=t.inject(dr),z=t.getCurrentInstance(),j=cu(),{node:P,parentNode:T}=su(e.id),{emit:w,on:I}=uE(P,l),N=t.toRef(()=>typeof P.draggable>"u"?y.value:P.draggable),G=t.toRef(()=>typeof P.selectable>"u"?S.value:P.selectable),K=t.toRef(()=>typeof P.connectable>"u"?V.value:P.connectable),R=t.toRef(()=>typeof P.focusable>"u"?C.value:P.focusable),$=t.toRef(()=>G.value||N.value||O.value.nodeClick.hasListeners()||O.value.nodeDoubleClick.hasListeners()||O.value.nodeMouseEnter.hasListeners()||O.value.nodeMouseMove.hasListeners()||O.value.nodeMouseLeave.hasListeners()),F=t.toRef(()=>!!P.dimensions.width&&!!P.dimensions.height),re=t.computed(()=>{const E=P.type||"default",D=B==null?void 0:B[`node-${E}`];if(D)return D;let H=P.template||d.value[E];if(typeof H=="string"&&z){const q=Object.keys(z.appContext.components);q&&q.includes(E)&&(H=t.resolveComponent(E,!1))}return H&&typeof H!="string"?H:(l.error(new Me(Be.NODE_TYPE_MISSING,H)),!1)}),Q=au({id:e.id,el:A,disabled:()=>!N.value,selectable:G,dragHandle:()=>P.dragHandle,onStart(E){w.dragStart(E)},onDrag(E){w.drag(E)},onStop(E){w.dragStop(E)},onClick(E){x(E)}}),J=t.computed(()=>P.class instanceof Function?P.class(P):P.class),ae=t.computed(()=>{const E=(P.style instanceof Function?P.style(P):P.style)||{},D=P.width instanceof Function?P.width(P):P.width,H=P.height instanceof Function?P.height(P):P.height;return!E.width&&D&&(E.width=typeof D=="string"?D:`${D}px`),!E.height&&H&&(E.height=typeof H=="string"?H:`${H}px`),E}),X=t.toRef(()=>Number(P.zIndex??ae.value.zIndex??0));return f(E=>{(E.includes(e.id)||!E.length)&&te()}),t.onMounted(()=>{t.watch(()=>P.hidden,(E=!1,D,H)=>{!E&&A.value&&(e.resizeObserver.observe(A.value),H(()=>{A.value&&e.resizeObserver.unobserve(A.value)}))},{immediate:!0,flush:"post"})}),t.watch([()=>P.type,()=>P.sourcePosition,()=>P.targetPosition],()=>{t.nextTick(()=>{u([{id:e.id,nodeElement:A.value,forceUpdate:!0}])})}),t.watch([()=>P.position.x,()=>P.position.y,()=>{var E;return(E=T.value)==null?void 0:E.computedPosition.x},()=>{var E;return(E=T.value)==null?void 0:E.computedPosition.y},()=>{var E;return(E=T.value)==null?void 0:E.computedPosition.z},X,()=>P.selected,()=>P.dimensions.height,()=>P.dimensions.width,()=>{var E;return(E=T.value)==null?void 0:E.dimensions.height},()=>{var E;return(E=T.value)==null?void 0:E.dimensions.width}],([E,D,H,q,Z,M])=>{const Y={x:E,y:D,z:M+(m.value&&P.selected?1e3:0)};typeof H<"u"&&typeof q<"u"?P.computedPosition=GC({x:H,y:q,z:Z},Y):P.computedPosition=Y},{flush:"post",immediate:!0}),t.watch([()=>P.extent,p],([E,D],[H,q])=>{(E!==H||D!==q)&&W()}),P.extent==="parent"||typeof P.extent=="object"&&"range"in P.extent&&P.extent.range==="parent"?bi(()=>F).toBe(!0).then(W):W(),()=>P.hidden?null:t.h("div",{ref:A,"data-id":P.id,class:["vue-flow__node",`vue-flow__node-${re.value===!1?"default":P.type||"default"}`,{[o.value]:N.value,dragging:Q==null?void 0:Q.value,draggable:N.value,selected:P.selected,selectable:G.value,parent:P.isParent},J.value],style:{visibility:F.value?"visible":"hidden",zIndex:P.computedPosition.z??X.value,transform:`translate(${P.computedPosition.x}px,${P.computedPosition.y}px)`,pointerEvents:$.value?"all":"none",...ae.value},tabIndex:R.value?0:void 0,role:R.value?"button":void 0,"aria-describedby":b.value?void 0:`${Ec}-${n}`,"aria-label":P.ariaLabel,onMouseenter:ce,onMousemove:oe,onMouseleave:ne,onContextmenu:fe,onClick:x,onDblclick:he,onKeydown:v},[t.h(re.value===!1?d.value.default:re.value,{id:P.id,type:P.type,data:P.data,events:{...P.events,...I},selected:P.selected,resizing:P.resizing,dragging:Q.value,connectable:K.value,position:P.computedPosition,dimensions:P.dimensions,isValidTargetPos:P.isValidTargetPos,isValidSourcePos:P.isValidSourcePos,parent:P.parentNode,parentNodeId:P.parentNode,zIndex:P.computedPosition.z??X.value,targetPosition:P.targetPosition,sourcePosition:P.sourcePosition,label:P.label,dragHandle:P.dragHandle,onUpdateNodeInternals:te})]);function W(){const E=P.computedPosition,{computedPosition:D,position:H}=ji(P,g.value?cr(E,_.value):E,l.error,p.value,T.value);(P.computedPosition.x!==D.x||P.computedPosition.y!==D.y)&&(P.computedPosition={...P.computedPosition,...D}),(P.position.x!==H.x||P.position.y!==H.y)&&(P.position=H)}function te(){A.value&&u([{id:e.id,nodeElement:A.value,forceUpdate:!0}])}function ce(E){Q!=null&&Q.value||w.mouseEnter({event:E,node:P})}function oe(E){Q!=null&&Q.value||w.mouseMove({event:E,node:P})}function ne(E){Q!=null&&Q.value||w.mouseLeave({event:E,node:P})}function fe(E){return w.contextMenu({event:E,node:P})}function he(E){return w.doubleClick({event:E,node:P})}function x(E){G.value&&(!r.value||!N.value||k.value>0)&&Xi(P,a.value,c,s,i,!1,A.value),w.click({event:E,node:P})}function v(E){if(!(Ki(E)||b.value))if(Sc.includes(E.key)&&G.value){const D=E.key==="Escape";Xi(P,a.value,c,s,i,D,A.value)}else N.value&&P.selected&&En[E.key]&&(h.value=`Moved selected node ${E.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~P.position.x}, y: ${~~P.position.y}`,j({x:En[E.key].x,y:En[E.key].y},E.shiftKey))}}});function kv(e={includeHiddenNodes:!1}){const{nodes:n}=Pe();return t.computed(()=>{if(n.value.length===0)return!1;for(const o of n.value)if((e.includeHiddenNodes||!o.hidden)&&((o==null?void 0:o.handleBounds)===void 0||o.dimensions.width===0||o.dimensions.height===0))return!1;return!0})}const Cv={class:"vue-flow__nodes vue-flow__container"},Ev={name:"Nodes",compatConfig:{MODE:3}},vv=t.defineComponent({...Ev,setup(e){const{getNodes:n,updateNodeDimensions:o,emits:r}=Pe(),i=kv(),a=t.ref();return t.watch(i,l=>{l&&t.nextTick(()=>{r.nodesInitialized(n.value)})},{immediate:!0}),t.onMounted(()=>{a.value=new ResizeObserver(l=>{const s=l.map(c=>({id:c.target.getAttribute("data-id"),nodeElement:c.target,forceUpdate:!0}));t.nextTick(()=>o(s))})}),t.onBeforeUnmount(()=>{var l;return(l=a.value)==null?void 0:l.disconnect()}),(l,s)=>(t.openBlock(),t.createElementBlock("div",Cv,[a.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(t.unref(n),(c,u,f,d)=>{const p=[c.id];if(d&&d.key===c.id&&t.isMemoSame(d,p))return d;const m=(t.openBlock(),t.createBlock(t.unref(wv),{id:c.id,key:c.id,"resize-observer":a.value},null,8,["id","resize-observer"]));return m.memo=p,m},s,0),128)):t.createCommentVNode("",!0)]))}});function Sv(){const{emits:e}=Pe();t.onMounted(()=>{if(Jc()){const n=document.querySelector(".vue-flow__pane");n&&window.getComputedStyle(n).zIndex!=="1"&&e.error(new Me(Be.MISSING_STYLES))}})}const Nv=t.createElementVNode("div",{class:"vue-flow__edge-labels"},null,-1),xv={name:"VueFlow",compatConfig:{MODE:3}},Av=t.defineComponent({...xv,props:{id:{},modelValue:{},nodes:{},edges:{},edgeTypes:{},nodeTypes:{},connectionMode:{},connectionLineType:{},connectionLineStyle:{default:void 0},connectionLineOptions:{default:void 0},connectionRadius:{},isValidConnection:{type:[Function,null],default:void 0},deleteKeyCode:{default:void 0},selectionKeyCode:{type:[Boolean,null],default:void 0},multiSelectionKeyCode:{default:void 0},zoomActivationKeyCode:{default:void 0},panActivationKeyCode:{default:void 0},snapToGrid:{type:Boolean,default:void 0},snapGrid:{},onlyRenderVisibleElements:{type:Boolean,default:void 0},edgesUpdatable:{type:[Boolean,String],default:void 0},nodesDraggable:{type:Boolean,default:void 0},nodesConnectable:{type:Boolean,default:void 0},nodeDragThreshold:{},elementsSelectable:{type:Boolean,default:void 0},selectNodesOnDrag:{type:Boolean,default:void 0},panOnDrag:{type:[Boolean,Array],default:void 0},minZoom:{},maxZoom:{},defaultViewport:{},translateExtent:{},nodeExtent:{},defaultMarkerColor:{},zoomOnScroll:{type:Boolean,default:void 0},zoomOnPinch:{type:Boolean,default:void 0},panOnScroll:{type:Boolean,default:void 0},panOnScrollSpeed:{},panOnScrollMode:{},paneClickDistance:{},zoomOnDoubleClick:{type:Boolean,default:void 0},preventScrolling:{type:Boolean,default:void 0},selectionMode:{},edgeUpdaterRadius:{},fitViewOnInit:{type:Boolean,default:void 0},connectOnClick:{type:Boolean,default:void 0},applyDefault:{type:Boolean,default:void 0},autoConnect:{type:[Boolean,Function],default:void 0},noDragClassName:{},noWheelClassName:{},noPanClassName:{},defaultEdgeOptions:{},elevateEdgesOnSelect:{type:Boolean,default:void 0},elevateNodesOnSelect:{type:Boolean,default:void 0},disableKeyboardA11y:{type:Boolean,default:void 0},edgesFocusable:{type:Boolean,default:void 0},nodesFocusable:{type:Boolean,default:void 0},autoPanOnConnect:{type:Boolean,default:void 0},autoPanOnNodeDrag:{type:Boolean,default:void 0},autoPanSpeed:{}},emits:["nodesChange","edgesChange","nodesInitialized","paneReady","init","updateNodeInternals","error","connect","connectStart","connectEnd","clickConnectStart","clickConnectEnd","moveStart","move","moveEnd","selectionDragStart","selectionDrag","selectionDragStop","selectionContextMenu","selectionStart","selectionEnd","viewportChangeStart","viewportChange","viewportChangeEnd","paneScroll","paneClick","paneContextMenu","paneMouseEnter","paneMouseMove","paneMouseLeave","edgeUpdate","edgeContextMenu","edgeMouseEnter","edgeMouseMove","edgeMouseLeave","edgeDoubleClick","edgeClick","edgeUpdateStart","edgeUpdateEnd","nodeContextMenu","nodeMouseEnter","nodeMouseMove","nodeMouseLeave","nodeDoubleClick","nodeClick","nodeDragStart","nodeDrag","nodeDragStop","miniMapNodeClick","miniMapNodeDoubleClick","miniMapNodeMouseEnter","miniMapNodeMouseMove","miniMapNodeMouseLeave","update:modelValue","update:nodes","update:edges"],setup(e,{expose:n,emit:o}){const r=e,i=t.useSlots(),a=wi(r,"modelValue",o),l=wi(r,"nodes",o),s=wi(r,"edges",o),c=Pe(r),u=pE({modelValue:a,nodes:l,edges:s},r,c);return gE(o,c.hooks),av(),Sv(),t.provide(dr,i),t.onUnmounted(()=>{u()}),n(c),(f,d)=>(t.openBlock(),t.createElementBlock("div",{ref:t.unref(c).vueFlowRef,class:"vue-flow"},[t.createVNode(ev,null,{default:t.withCtx(()=>[t.createVNode(bv),Nv,t.createVNode(vv),t.renderSlot(f.$slots,"zoom-pane")]),_:3}),t.renderSlot(f.$slots,"default"),t.createVNode(iv)],512))}}),Pv={name:"Panel",compatConfig:{MODE:3}},Tv=t.defineComponent({...Pv,props:{position:{}},setup(e){const n=e,{userSelectionActive:o}=Pe(),r=t.computed(()=>`${n.position}`.split("-"));return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["vue-flow__panel",r.value]),style:t.normalizeStyle({pointerEvents:t.unref(o)?"none":"all"})},[t.renderSlot(i.$slots,"default")],6))}});var vt=(e=>(e.Lines="lines",e.Dots="dots",e))(vt||{});const ku=function({dimensions:e,size:n,color:o}){return t.h("path",{stroke:o,"stroke-width":n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`})},Cu=function({radius:e,color:n}){return t.h("circle",{cx:e,cy:e,r:e,fill:n})};vt.Lines+"",vt.Dots+"";const Iv={[vt.Dots]:"#81818a",[vt.Lines]:"#eee"},Ov=["id","x","y","width","height","patternTransform"],$v={key:2,height:"100",width:"100"},Bv=["fill"],Dv=["x","y","fill"],Rv={name:"Background",compatConfig:{MODE:3}},Vv=t.defineComponent({...Rv,props:{id:{},variant:{default:()=>vt.Dots},gap:{default:20},size:{default:1},lineWidth:{default:1},patternColor:{},color:{},bgColor:{},height:{default:100},width:{default:100},x:{default:0},y:{default:0},offset:{default:0}},setup(e){const{id:n,viewport:o}=Pe(),r=t.computed(()=>{const l=o.value.zoom,[s,c]=Array.isArray(e.gap)?e.gap:[e.gap,e.gap],u=[s*l||1,c*l||1],f=e.size*l,[d,p]=Array.isArray(e.offset)?e.offset:[e.offset,e.offset],m=[d*l||1+u[0]/2,p*l||1+u[1]/2];return{scaledGap:u,offset:m,size:f}}),i=t.toRef(()=>`pattern-${n}${e.id?`-${e.id}`:""}`),a=t.toRef(()=>e.color||e.patternColor||Iv[e.variant||vt.Dots]);return(l,s)=>(t.openBlock(),t.createElementBlock("svg",{class:"vue-flow__background vue-flow__container",style:t.normalizeStyle({height:`${l.height>100?100:l.height}%`,width:`${l.width>100?100:l.width}%`})},[t.renderSlot(l.$slots,"pattern-container",{id:i.value},()=>[t.createElementVNode("pattern",{id:i.value,x:t.unref(o).x%r.value.scaledGap[0],y:t.unref(o).y%r.value.scaledGap[1],width:r.value.scaledGap[0],height:r.value.scaledGap[1],patternTransform:`translate(-${r.value.offset[0]},-${r.value.offset[1]})`,patternUnits:"userSpaceOnUse"},[t.renderSlot(l.$slots,"pattern",{},()=>[l.variant===t.unref(vt).Lines?(t.openBlock(),t.createBlock(t.unref(ku),{key:0,size:l.lineWidth,color:a.value,dimensions:r.value.scaledGap},null,8,["size","color","dimensions"])):l.variant===t.unref(vt).Dots?(t.openBlock(),t.createBlock(t.unref(Cu),{key:1,color:a.value,radius:r.value.size/2},null,8,["color","radius"])):t.createCommentVNode("",!0),l.bgColor?(t.openBlock(),t.createElementBlock("svg",$v,[t.createElementVNode("rect",{width:"100%",height:"100%",fill:l.bgColor},null,8,Bv)])):t.createCommentVNode("",!0)])],8,Ov)]),t.createElementVNode("rect",{x:l.x,y:l.y,width:"100%",height:"100%",fill:`url(#${i.value})`},null,8,Dv),t.renderSlot(l.$slots,"default",{id:i.value})],4))}}),Mv={name:"ControlButton",compatConfig:{MODE:3}},Lv=(e,n)=>{const o=e.__vccOpts||e;for(const[r,i]of n)o[r]=i;return o},Fv={class:"vue-flow__controls-button"};function Kv(e,n,o,r,i,a){return t.openBlock(),t.createElementBlock("button",Fv,[t.renderSlot(e.$slots,"default")])}const _r=Lv(Mv,[["render",Kv]]),Uv={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},Gv=[t.createElementVNode("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"},null,-1)];function qv(e,n){return t.openBlock(),t.createElementBlock("svg",Uv,Gv)}const zv={render:qv},jv={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},Hv=[t.createElementVNode("path",{d:"M0 0h32v4.2H0z"},null,-1)];function Yv(e,n){return t.openBlock(),t.createElementBlock("svg",jv,Hv)}const Wv={render:Yv},Xv={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},Zv=[t.createElementVNode("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0 0 27.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94a.919.919 0 0 1-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"},null,-1)];function Jv(e,n){return t.openBlock(),t.createElementBlock("svg",Xv,Zv)}const Qv={render:Jv},eS={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},tS=[t.createElementVNode("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"},null,-1)];function nS(e,n){return t.openBlock(),t.createElementBlock("svg",eS,tS)}const oS={render:nS},rS={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},iS=[t.createElementVNode("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047z"},null,-1)];function aS(e,n){return t.openBlock(),t.createElementBlock("svg",rS,iS)}const lS={render:aS},sS={name:"Controls",compatConfig:{MODE:3}},cS=t.defineComponent({...sS,props:{showZoom:{type:Boolean,default:!0},showFitView:{type:Boolean,default:!0},showInteractive:{type:Boolean,default:!0},fitViewParams:{},position:{default:()=>kc.BottomLeft}},emits:["zoomIn","zoomOut","fitView","interactionChange"],setup(e,{emit:n}){const{nodesDraggable:o,nodesConnectable:r,elementsSelectable:i,setInteractive:a,zoomIn:l,zoomOut:s,fitView:c,viewport:u,minZoom:f,maxZoom:d}=Pe(),p=t.toRef(()=>o.value||r.value||i.value),m=t.toRef(()=>u.value.zoom<=f.value),b=t.toRef(()=>u.value.zoom>=d.value);function h(){l(),n("zoomIn")}function g(){s(),n("zoomOut")}function _(){c(e.fitViewParams),n("fitView")}function k(){a(!p.value),n("interactionChange",!p.value)}return(y,S)=>(t.openBlock(),t.createBlock(t.unref(Tv),{class:"vue-flow__controls",position:y.position},{default:t.withCtx(()=>[t.renderSlot(y.$slots,"top"),y.showZoom?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.renderSlot(y.$slots,"control-zoom-in",{},()=>[t.createVNode(_r,{class:"vue-flow__controls-zoomin",disabled:b.value,onClick:h},{default:t.withCtx(()=>[t.renderSlot(y.$slots,"icon-zoom-in",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(zv))))])]),_:3},8,["disabled"])]),t.renderSlot(y.$slots,"control-zoom-out",{},()=>[t.createVNode(_r,{class:"vue-flow__controls-zoomout",disabled:m.value,onClick:g},{default:t.withCtx(()=>[t.renderSlot(y.$slots,"icon-zoom-out",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(Wv))))])]),_:3},8,["disabled"])])],64)):t.createCommentVNode("",!0),y.showFitView?t.renderSlot(y.$slots,"control-fit-view",{key:1},()=>[t.createVNode(_r,{class:"vue-flow__controls-fitview",onClick:_},{default:t.withCtx(()=>[t.renderSlot(y.$slots,"icon-fit-view",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(Qv))))])]),_:3})]):t.createCommentVNode("",!0),y.showInteractive?t.renderSlot(y.$slots,"control-interactive",{key:2},()=>[y.showInteractive?(t.openBlock(),t.createBlock(_r,{key:0,class:"vue-flow__controls-interactive",onClick:k},{default:t.withCtx(()=>[p.value?t.renderSlot(y.$slots,"icon-unlock",{key:0},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(lS))))]):t.createCommentVNode("",!0),p.value?t.createCommentVNode("",!0):t.renderSlot(y.$slots,"icon-lock",{key:1},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(oS))))])]),_:3})):t.createCommentVNode("",!0)]):t.createCommentVNode("",!0),t.renderSlot(y.$slots,"default")]),_:3},8,["position"]))}}),br=we(t.defineComponent({__name:"HandleTwig",props:{color:{},direction:{default:"left"},size:{default:()=>Number.parseFloat(V_)},type:{}},setup(e){t.useCssVars(o=>({b843b702:o.color}));const n=t.computed(()=>({width:`${e.size}px`,minWidth:`${e.size}px`}));return(o,r)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["handle-twig",[o.type,o.direction]]),style:t.normalizeStyle(n.value)},null,6))}}),[["__scopeId","data-v-5433a682"]]),{t:uS}=Fe.createI18n("en-us",Ke);function ro(e){return uS(`plugins.free-form.datakit.flow_editor.node_description.${e}`)}const Eu={call:{type:"call",description:ro("call"),icon:Ce.NetworkIcon},jq:{type:"jq",description:ro("jq"),icon:Ce.CodeblockIcon},exit:{type:"exit",description:ro("exit"),icon:Ce.GatewayIcon},property:{type:"property",description:ro("property"),icon:Ce.StackIcon},static:{type:"static",description:ro("static"),icon:Ce.VitalsIcon}},wr={request:{type:"request",handles:{output:[{id:"headers",label:"headers"},{id:"body",label:"body"},{id:"query",label:"query"}]}},service_request:{type:"service_request",handles:{input:[{id:"headers",label:"headers"},{id:"body",label:"body"},{id:"query",label:"query"}]}},service_response:{type:"service_response",handles:{output:[{id:"headers",label:"headers"},{id:"body",label:"body"}]},ioDirection:"rl"},response:{type:"response",handles:{input:[{id:"headers",label:"headers"},{id:"body",label:"body"}]},ioDirection:"rl"}},dS=["request","response","service_request","service_response"],vu=e=>dS.includes(e.type),fS={class:"body"},pS={class:"name"},mS={key:0,class:"input-handles"},gS={class:"handle"},hS={class:"handle-label-wrapper"},yS={class:"handle-label-wrapper"},_S={class:"handle-label"},bS={key:1,class:"output-handles"},wS={class:"handle"},kS={class:"handle-label-wrapper"},CS={class:"handle-label-wrapper"},ES={class:"handle-label"},vS=we(t.defineComponent({__name:"FlowNode",props:{meta:{}},setup(e){const n=e,{t:o}=Fe.createI18n("en-us",Ke),r=t.ref(!1),i=t.ref(!1),a=t.computed(()=>vu(n.meta)?o(`plugins.free-form.datakit.flow_editor.node_names.${n.meta.type}`):"");return(l,s)=>{var c,u;return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["flow-node",{reverse:l.meta.ioDirection==="rl",implicit:t.unref(vu)(l.meta)}])},[t.createElementVNode("div",fS,[t.createElementVNode("div",pS,t.toDisplayString(a.value),1),t.renderSlot(l.$slots,"default",{},void 0,!0)]),(c=l.meta.handles)!=null&&c.input&&l.meta.handles.input.length>0?(t.openBlock(),t.createElementBlock("div",mS,[t.createElementVNode("div",gS,[t.createVNode(t.unref(Bt),{id:"inputs",position:l.meta.ioDirection==="rl"?t.unref(me).Right:t.unref(me).Left,type:"target"},null,8,["position"]),t.createElementVNode("div",hS,[t.createElementVNode("div",{class:"handle-label with-icon",onClick:s[0]||(s[0]=t.withModifiers(f=>r.value=!r.value,["stop"]))},[s[2]||(s[2]=t.createElementVNode("div",null,"inputs",-1)),t.createVNode(t.unref(Ce.UnfoldMoreIcon),{size:t.unref(fi)},null,8,["size"])]),r.value?(t.openBlock(),t.createBlock(br,{key:0,color:t.unref($o),direction:l.meta.ioDirection==="rl"?"right":"left",type:"bar"},null,8,["color","direction"])):t.createCommentVNode("",!0)])]),r.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(l.meta.handles.input,(f,d)=>(t.openBlock(),t.createElementBlock("div",{key:`input-${f.id}`,class:"handle indented"},[t.createVNode(t.unref(Bt),{id:`input-${f.id}`,position:l.meta.ioDirection==="rl"?t.unref(me).Right:t.unref(me).Left,type:"target"},null,8,["id","position"]),t.createElementVNode("div",yS,[t.createElementVNode("div",_S,t.toDisplayString(f.label),1),t.createVNode(br,{color:t.unref($o),direction:l.meta.ioDirection==="rl"?"right":"left",type:d<l.meta.handles.input.length-1?"trident":"corner"},null,8,["color","direction","type"])])]))),128)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0),(u=l.meta.handles)!=null&&u.output&&l.meta.handles.output.length>0?(t.openBlock(),t.createElementBlock("div",bS,[t.createElementVNode("div",wS,[t.createElementVNode("div",kS,[t.createElementVNode("div",{class:"handle-label with-icon",onClick:s[1]||(s[1]=t.withModifiers(f=>i.value=!i.value,["stop"]))},[s[3]||(s[3]=t.createElementVNode("div",null,"outputs",-1)),t.createVNode(t.unref(Ce.UnfoldMoreIcon),{size:t.unref(fi)},null,8,["size"])]),i.value?(t.openBlock(),t.createBlock(br,{key:0,color:t.unref($o),direction:l.meta.ioDirection==="rl"?"left":"right",type:"bar"},null,8,["color","direction"])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(Bt),{id:"outputs",position:l.meta.ioDirection==="rl"?t.unref(me).Left:t.unref(me).Right,type:"target"},null,8,["position"])]),i.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(l.meta.handles.output,(f,d)=>(t.openBlock(),t.createElementBlock("div",{key:`output-${f.id}`,class:"handle indented"},[t.createElementVNode("div",CS,[t.createElementVNode("div",ES,t.toDisplayString(f.label),1),t.createVNode(br,{color:t.unref($o),direction:l.meta.ioDirection==="rl"?"left":"right",type:d<l.meta.handles.output.length-1?"trident":"corner"},null,8,["color","direction","type"])]),t.createVNode(t.unref(Bt),{id:`output-${f.id}`,position:l.meta.ioDirection==="rl"?t.unref(me).Left:t.unref(me).Right,type:"source"},null,8,["id","position"])]))),128)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],2)}}}),[["__scopeId","data-v-0a108ad0"]]),SS={class:"dk-editor-main"},NS={class:"header"},xS={class:"actions"},AS={class:"body"},PS=we(t.defineComponent({__name:"EditorMain",emits:["click:node","click:backdrop"],setup(e,{emit:n}){const{t:o}=Fe.createI18n("en-us",Ke),r=n,i=t.ref([{id:"implicit:request",type:"flow",position:{x:0,y:0},data:wr.request},{id:"implicit:service-request",type:"flow",position:{x:400,y:0},data:wr.service_request},{id:"implicit:service-response",type:"flow",position:{x:400,y:300},data:wr.service_response},{id:"implicit:response",type:"flow",position:{x:0,y:300},data:wr.response}]),{fitView:a,onNodeClick:l}=Pe();return l(({event:s,node:c})=>{s.stopPropagation(),r("click:node",c)}),(s,c)=>(t.openBlock(),t.createElementBlock("div",SS,[t.createElementVNode("header",NS,[t.createElementVNode("div",xS,[t.createVNode(t.unref(xe.KButton),{appearance:"tertiary",target:"_blank",to:"https://developer.konghq.com/plugins/datakit/"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.view_docs"))+" ",1),t.createVNode(t.unref(Ce.ExternalLinkIcon))]),_:1}),t.createVNode(t.unref(xe.KButton),null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.save")),1)]),_:1})])]),t.createElementVNode("div",AS,[t.createVNode(t.unref(Av),{class:"flow",nodes:i.value,onClick:c[1]||(c[1]=u=>r("click:backdrop")),onNodesInitialized:t.unref(a)},{"node-flow":t.withCtx(u=>[t.createVNode(vS,{meta:u.data},null,8,["meta"])]),default:t.withCtx(()=>[t.createVNode(t.unref(Vv),{onClick:c[0]||(c[0]=u=>r("click:backdrop"))}),t.createVNode(t.unref(cS))]),_:1},8,["nodes","onNodesInitialized"])])]))}}),[["__scopeId","data-v-f2be6d51"]]),TS={class:"icon"},IS={class:"content"},OS={class:"title"},$S={class:"description"},BS=we(t.defineComponent({__name:"NodePanelItem",props:{type:{}},setup(e){const{description:n,icon:o}=Eu[e.type];return(r,i)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-node-panel-item",{[`node-type-${r.type}`]:!0}])},[t.createElementVNode("div",TS,[t.createVNode(t.unref(o),{size:16})]),t.createElementVNode("div",IS,[t.createElementVNode("div",OS,t.toDisplayString(r.type),1),t.createElementVNode("div",$S,t.toDisplayString(t.unref(n)),1)])],2))}}),[["__scopeId","data-v-6f5b6615"]]),DS={class:"dk-node-panel"},RS={class:"title"},VS={class:"node-list"},MS=we(t.defineComponent({__name:"NodePanel",setup(e){const{t:n}=Fe.createI18n("en-us",Ke);return(o,r)=>{const i=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",DS,[t.createElementVNode("h3",RS,[t.createVNode(i,{class:"label",info:t.unref(n)("plugins.free-form.datakit.flow_editor.node_panel.description")},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_panel.title")),1)]),_:1},8,["info"])]),t.createElementVNode("div",VS,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Object.keys(t.unref(Eu)),a=>(t.openBlock(),t.createBlock(BS,{key:a,type:a},null,8,["type"]))),128))])])}}}),[["__scopeId","data-v-93f9dd52"]]),LS=we(t.defineComponent({__name:"nodePropertiesPanel",props:{maxWidth:{default:()=>Vb},offsetTop:{default:"52px"},visible:{type:Boolean},node:{}},emits:["close"],setup(e){return(n,o)=>(t.openBlock(),t.createBlock(t.unref(xe.KSlideout),{class:"dk-node-properties-panel","close-on-blur":!1,"has-overlay":!1,"max-width":n.maxWidth,"offset-top":n.offsetTop,visible:n.visible,onClose:o[0]||(o[0]=r=>n.$emit("close"))},{default:t.withCtx(()=>{var r;return[t.createTextVNode(t.toDisplayString((r=n.node)==null?void 0:r.id),1)]}),_:1},8,["max-width","offset-top","visible"]))}}),[["__scopeId","data-v-6f3e4648"]]),FS={class:"dk-editor-content"},KS={class:"header"},US={class:"title"},GS={class:"body"},qS={class:"node-selection-panel"},zS={class:"main"},jS=we(t.defineComponent({__name:"EditorContent",setup(e){const{t:n}=Fe.createI18n("en-us",Ke),{sidePanelExpanded:o}=yi(),r=t.ref(!1),i=t.ref(null),a=s=>{r.value=!0,i.value=s},l=()=>{r.value=!1,i.value=null};return(s,c)=>(t.openBlock(),t.createElementBlock("div",FS,[t.createElementVNode("aside",{class:t.normalizeClass(["side-panel",{expanded:t.unref(o)}])},[t.createElementVNode("header",KS,[t.createElementVNode("h2",US,t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.name")),1)]),t.createElementVNode("div",GS,[t.createElementVNode("div",qS,[t.createVNode(MS)])])],2),t.createElementVNode("div",zS,[t.createVNode(PS,{"onClick:backdrop":l,"onClick:node":a})]),t.createVNode(LS,{node:i.value,visible:r.value,onClose:c[0]||(c[0]=u=>r.value=!1)},null,8,["node","visible"])]))}}),[["__scopeId","data-v-d344e31a"]]),HS=we(t.defineComponent({__name:"EditorModal",props:{open:{type:Boolean},openModifiers:{}},emits:t.mergeModels(["close"],["update:open"]),setup(e,{emit:n}){t.useCssVars(f=>({b09519cc:t.unref(Rb),"7424b402":t.unref(Db)}));const o=t.useTemplateRef("modal"),r=t.useModel(e,"open"),i=n,a=t.useTemplateRef("content"),l=Nt.useScrollLock(document),{activate:s,deactivate:c}=Bb(o,{returnFocusOnDeactivate:!0,initialFocus:()=>{var f;return(f=a.value)==null?void 0:f.$el}});t.watch(r,async f=>{l.value=!!f,await t.nextTick(),f?s():c()},{immediate:!0});function u(){r.value=!1,i("close")}return(f,d)=>r.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"modal",ref:o,class:"dk-editor-modal"},[t.createVNode(Kb,{class:"nav",onBack:u}),t.createVNode(jS,{ref_key:"content",ref:a,class:"content",tabindex:"0"},null,512)],512)):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-ccb49c2a"]]);/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function Su(e){return typeof e>"u"||e===null}function YS(e){return typeof e=="object"&&e!==null}function WS(e){return Array.isArray(e)?e:Su(e)?[]:[e]}function XS(e,n){var o,r,i,a;if(n)for(a=Object.keys(n),o=0,r=a.length;o<r;o+=1)i=a[o],e[i]=n[i];return e}function ZS(e,n){var o="",r;for(r=0;r<n;r+=1)o+=e;return o}function JS(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var QS=Su,e1=YS,t1=WS,n1=ZS,o1=JS,r1=XS,Le={isNothing:QS,isObject:e1,toArray:t1,repeat:n1,isNegativeZero:o1,extend:r1};function Nu(e,n){var o="",r=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(o+='in "'+e.mark.name+'" '),o+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!n&&e.mark.snippet&&(o+=`
|
|
46
46
|
|
|
47
47
|
`+e.mark.snippet),r+" "+o):r}function io(e,n){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=n,this.message=Nu(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}io.prototype=Object.create(Error.prototype),io.prototype.constructor=io,io.prototype.toString=function(n){return this.name+": "+Nu(this,n)};var Xe=io;function ta(e,n,o,r,i){var a="",l="",s=Math.floor(i/2)-1;return r-n>s&&(a=" ... ",n=r-s+a.length),o-r>s&&(l=" ...",o=r+s-l.length),{str:a+e.slice(n,o).replace(/\t/g,"→")+l,pos:r-n+a.length}}function na(e,n){return Le.repeat(" ",n-e.length)+e}function i1(e,n){if(n=Object.create(n||null),!e.buffer)return null;n.maxLength||(n.maxLength=79),typeof n.indent!="number"&&(n.indent=1),typeof n.linesBefore!="number"&&(n.linesBefore=3),typeof n.linesAfter!="number"&&(n.linesAfter=2);for(var o=/\r?\n|\r|\0/g,r=[0],i=[],a,l=-1;a=o.exec(e.buffer);)i.push(a.index),r.push(a.index+a[0].length),e.position<=a.index&&l<0&&(l=r.length-2);l<0&&(l=r.length-1);var s="",c,u,f=Math.min(e.line+n.linesAfter,i.length).toString().length,d=n.maxLength-(n.indent+f+3);for(c=1;c<=n.linesBefore&&!(l-c<0);c++)u=ta(e.buffer,r[l-c],i[l-c],e.position-(r[l]-r[l-c]),d),s=Le.repeat(" ",n.indent)+na((e.line-c+1).toString(),f)+" | "+u.str+`
|
|
48
48
|
`+s;for(u=ta(e.buffer,r[l],i[l],e.position,d),s+=Le.repeat(" ",n.indent)+na((e.line+1).toString(),f)+" | "+u.str+`
|