@kong-ui-public/entities-plugins 9.77.3 → 9.77.4

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.
@@ -141,4 +141,4 @@ Edge: ${e}
141
141
  Source: ${n}
142
142
  Target: ${o}`,EDGE_ORPHANED:e=>`Edge was orphaned (suddenly missing source or target) and has been removed
143
143
  Edge: ${e}`,EDGE_NOT_FOUND:e=>`Edge not found
144
- 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 He extends Error{constructor(n,...o){var r;super((r=mf[n])==null?void 0:r.call(mf,...o)),this.name="VueFlowError",this.code=n,this.args=o}}function sl(e){return"clientX"in e}function lx(e){return"sourceEvent"in e}function It(e,n){const o=sl(e);let r,i;return o?(r=e.clientX,i=e.clientY):"touches"in e&&e.touches.length>0?(r=e.touches[0].clientX,i=e.touches[0].clientY):"changedTouches"in e&&e.changedTouches.length>0?(r=e.changedTouches[0].clientX,i=e.changedTouches[0].clientY):(r=0,i=0),{x:r-((n==null?void 0:n.left)??0),y:i-((n==null?void 0:n.top)??0)}}const ni=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function sx(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 oi(e,n=[1,1]){return{x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}}const cx=()=>!0;function cl(e){e==null||e.classList.remove("valid","connecting","vue-flow__handle-valid","vue-flow__handle-connecting")}function dx(e,n,o){const r=[],i={x:e.x-o,y:e.y-o,width:o*2,height:o*2};for(const a of n.values())Qr(i,Jr(a))>0&&r.push(a);return r}const ux=250;function fx(e,n,o,r){var i,a;let l=[],s=Number.POSITIVE_INFINITY;const c=dx(e,o,n+ux);for(const d of c){const f=[...((i=d.handleBounds)==null?void 0:i.source)??[],...((a=d.handleBounds)==null?void 0:a.target)??[]];for(const u of f){if(r.nodeId===u.nodeId&&r.type===u.type&&r.id===u.id)continue;const{x:p,y:m}=Yn(d,u,u.position,!0),h=Math.sqrt((p-e.x)**2+(m-e.y)**2);h>n||(h<s?(l=[{...u,x:p,y:m}],s=h):h===s&&l.push({...u,x:p,y:m}))}}if(!l.length)return null;if(l.length>1){const d=r.type==="source"?"target":"source";return l.find(f=>f.type===d)??l[0]}return l[0]}function gf(e,{handle:n,connectionMode:o,fromNodeId:r,fromHandleId:i,fromType:a,doc:l,lib:s,flowId:c,isValidConnection:d=cx},f,u,p){const m=a==="target",h=n?l.querySelector(`.${s}-flow__handle[data-id="${c}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:y,y:g}=It(e),_=l.elementFromPoint(y,g),w=_!=null&&_.classList.contains(`${s}-flow__handle`)?_:h,b={handleDomNode:w,isValid:!1,connection:null,toHandle:null};if(w){const v=hf(void 0,w),N=w.getAttribute("data-nodeid"),E=w.getAttribute("data-handleid"),T=w.classList.contains("connectable"),P=w.classList.contains("connectableend");if(!N||!v)return b;const D={source:m?N:r,sourceHandle:m?E:i,target:m?r:N,targetHandle:m?i:E};b.connection=D;const j=T&&P&&(o===Ht.Strict?m&&v==="source"||!m&&v==="target":N!==r||E!==i);b.isValid=j&&d(D,{nodes:u,edges:f,sourceNode:p(r),targetNode:p(N)}),b.toHandle=n}return b}function hf(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function px(e,n){let o=null;return n?o="valid":e&&!n&&(o="invalid"),o}function mx(e,n){let o=null;return n?o=!0:e&&!n&&(o=!1),o}function gx(e,n,o,r,i,a=!1){var l,s,c;const d=r.get(e);if(!d)return null;const f=i===Ht.Strict?(l=d.handleBounds)==null?void 0:l[n]:[...((s=d.handleBounds)==null?void 0:s.source)??[],...((c=d.handleBounds)==null?void 0:c.target)??[]],u=(o?f==null?void 0:f.find(p=>p.id===o):f==null?void 0:f[0])??null;return u&&a?{...u,...Yn(d,u,u.position,!0)}:u}const dl={[ye.Left]:ye.Right,[ye.Right]:ye.Left,[ye.Top]:ye.Bottom,[ye.Bottom]:ye.Top},hx=["production","prod"];function ri(e,...n){yf()&&console.warn(`[Vue Flow]: ${e}`,...n)}function yf(){return!hx.includes(process.env.NODE_ENV||"")}function _f(e,n,o,r,i){const a=n.querySelectorAll(`.vue-flow__handle.${e}`);return a!=null&&a.length?Array.from(a).map(l=>{const s=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),type:e,nodeId:i,position:l.getAttribute("data-handlepos"),x:(s.left-o.left)/r,y:(s.top-o.top)/r,...ei(l)}}):null}function ul(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 Ke(e){return typeof t.unref(e)<"u"}function yx(e,n,o,r){if(!e||!e.source||!e.target)return o(new He(Ue.EDGE_INVALID,(e==null?void 0:e.id)??"[ID UNKNOWN]")),!1;let i;return Yt(e)?i=e:i={...e,id:Zu(e)},i=Wu(i,void 0,r),ZS(i,n)?!1:i}function _x(e,n,o,r,i){if(!n.source||!n.target)return i(new He(Ue.EDGE_INVALID,e.id)),!1;if(!o)return i(new He(Ue.EDGE_NOT_FOUND,e.id)),!1;const{id:a,...l}=e;return{...l,id:r?Zu(n):a,source:n.source,target:n.target,sourceHandle:n.sourceHandle,targetHandle:n.targetHandle}}function bf(e,n,o){const r={},i=[];for(let a=0;a<e.length;++a){const l=e[a];if(!yn(l)){o(new He(Ue.NODE_INVALID,l==null?void 0:l.id)||`[ID UNKNOWN|INDEX ${a}]`);continue}const s=YS(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 He(Ue.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 wf(e,n,o,r,i,a){let l=i;const s=r.get(l)||new Map;r.set(l,s.set(o,n)),l=`${i}-${e}`;const c=r.get(l)||new Map;if(r.set(l,c.set(o,n)),a){l=`${i}-${e}-${a}`;const d=r.get(l)||new Map;r.set(l,d.set(o,n))}}function fl(e,n,o){e.clear();for(const r of o){const{source:i,target:a,sourceHandle:l=null,targetHandle:s=null}=r,c={edgeId:r.id,source:i,target:a,sourceHandle:l,targetHandle:s},d=`${i}-${l}--${a}-${s}`,f=`${a}-${s}--${i}-${l}`;wf("source",c,f,e,i,l),wf("target",c,d,e,a,s)}}function Ef(e,n){if(e.size!==n.size)return!1;for(const o of e)if(!n.has(o))return!1;return!0}function pl(e,n,o,r,i,a,l,s){const c=[];for(const d of e){const f=Yt(d)?d:yx(d,s,i,a);if(!f)continue;const u=o(f.source),p=o(f.target);if(!u||!p){i(new He(Ue.EDGE_SOURCE_TARGET_MISSING,f.id,f.source,f.target));continue}if(!u){i(new He(Ue.EDGE_SOURCE_MISSING,f.id,f.source));continue}if(!p){i(new He(Ue.EDGE_TARGET_MISSING,f.id,f.target));continue}if(n&&!n(f,{edges:s,nodes:l,sourceNode:u,targetNode:p})){i(new He(Ue.EDGE_INVALID,f.id));continue}const m=r(f.id);c.push({...Wu(f,m,a),sourceNode:u,targetNode:p})}return c}const kf=Symbol("vueFlow"),Cf=Symbol("nodeId"),Nf=Symbol("nodeRef"),bx=Symbol("edgeId"),wx=Symbol("edgeRef"),ii=Symbol("slots");function vf(e){const{vueFlowRef:n,snapToGrid:o,snapGrid:r,noDragClassName:i,nodes:a,nodeExtent:l,nodeDragThreshold:s,viewport:c,autoPanOnNodeDrag:d,autoPanSpeed:f,nodesDraggable:u,panBy:p,findNode:m,multiSelectionActive:h,nodesSelectionActive:y,selectNodesOnDrag:g,removeSelectedElements:_,addSelectedNodes:w,updateNodePositions:b,emits:v}=Ie(),{onStart:N,onDrag:E,onStop:T,onClick:P,el:D,disabled:K,id:j,selectable:A,dragHandle:W}=e,I=t.shallowRef(!1);let U=[],M,ee=null,H={x:void 0,y:void 0},G={x:0,y:0},V=null,B=!1,Z=0,re=!1;const Y=Cx(),ie=({x:q,y:Q})=>{H={x:q,y:Q};let $=!1;if(U=U.map(k=>{const C={x:q-k.distance.x,y:Q-k.distance.y},{computedPosition:x}=ll(k,o.value?oi(C,r.value):C,v.error,l.value,k.parentNode?m(k.parentNode):void 0);return $=$||k.position.x!==x.x||k.position.y!==x.y,k.position=x,k}),!!$&&(b(U,!0,!0),I.value=!0,V)){const[k,C]=al({id:j,dragItems:U,findNode:m});E({event:V,node:k,nodes:C})}},ae=()=>{if(!ee)return;const[q,Q]=af(G,ee,f.value);if(q!==0||Q!==0){const $={x:(H.x??0)-q/c.value.zoom,y:(H.y??0)-Q/c.value.zoom};p({x:q,y:Q})&&ie($)}Z=requestAnimationFrame(ae)},ge=(q,Q)=>{B=!0;const $=m(j);!g.value&&!h.value&&$&&($.selected||_()),$&&t.toValue(A)&&g.value&&ul($,h.value,w,_,y,!1,Q);const k=Y(q.sourceEvent);if(H=k,U=tx(a.value,u.value,k,m,j),U.length){const[C,x]=al({id:j,dragItems:U,findNode:m});N({event:q.sourceEvent,node:C,nodes:x})}},me=(q,Q)=>{var $;q.sourceEvent.type==="touchmove"&&q.sourceEvent.touches.length>1||(s.value===0&&ge(q,Q),H=Y(q.sourceEvent),ee=(($=n.value)==null?void 0:$.getBoundingClientRect())||null,G=It(q.sourceEvent,ee))},te=(q,Q)=>{const $=Y(q.sourceEvent);if(!re&&B&&d.value&&(re=!0,ae()),!B){const k=$.xSnapped-(H.x??0),C=$.ySnapped-(H.y??0);Math.sqrt(k*k+C*C)>s.value&&ge(q,Q)}(H.x!==$.xSnapped||H.y!==$.ySnapped)&&U.length&&B&&(V=q.sourceEvent,G=It(q.sourceEvent,ee),ie($))},ne=q=>{let Q=!1;if(!B&&!I.value&&!h.value){const $=q.sourceEvent,k=Y($),C=k.xSnapped-(H.x??0),x=k.ySnapped-(H.y??0),S=Math.sqrt(C*C+x*x);S!==0&&S<=s.value&&(P==null||P($),Q=!0)}if(U.length&&!Q){b(U,!1,!1);const[$,k]=al({id:j,dragItems:U,findNode:m});T({event:q.sourceEvent,node:$,nodes:k})}U=[],I.value=!1,re=!1,B=!1,H={x:void 0,y:void 0},cancelAnimationFrame(Z)};return t.watch([()=>t.toValue(K),D],([q,Q],$,k)=>{if(Q){const C=yt(Q);q||(M=HN().on("start",x=>me(x,Q)).on("drag",x=>te(x,Q)).on("end",x=>ne(x)).filter(x=>{const S=x.target,O=t.toValue(W);return!x.button&&(!i.value||!uf(S,`.${i.value}`,Q)&&(!O||uf(S,O,Q)))}),C.call(M)),k(()=>{C.on(".drag",null),M&&(M.on("start",null),M.on("drag",null),M.on("end",null))})}}),I}function Ex(){return{doubleClick:he(),click:he(),mouseEnter:he(),mouseMove:he(),mouseLeave:he(),contextMenu:he(),updateStart:he(),update:he(),updateEnd:he()}}function kx(e,n){const o=Ex();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 Cx(){const{viewport:e,snapGrid:n,snapToGrid:o,vueFlowRef:r}=Ie();return i=>{var a;const l=((a=r.value)==null?void 0:a.getBoundingClientRect())??{left:0,top:0},s=lx(i)?i.sourceEvent:i,{x:c,y:d}=It(s,l),f=Ro({x:c,y:d},e.value),{x:u,y:p}=o.value?oi(f,n.value):f;return{xSnapped:u,ySnapped:p,...f}}}function ai(){return!0}function Sf({handleId:e,nodeId:n,type:o,isValidConnection:r,edgeUpdaterType:i,onEdgeUpdate:a,onEdgeUpdateEnd:l}){const{id:s,vueFlowRef:c,connectionMode:d,connectionRadius:f,connectOnClick:u,connectionClickStartHandle:p,nodesConnectable:m,autoPanOnConnect:h,autoPanSpeed:y,findNode:g,panBy:_,startConnection:w,updateConnection:b,endConnection:v,emits:N,viewport:E,edges:T,nodes:P,isValidConnection:D,nodeLookup:K}=Ie();let j=null,A=!1,W=null;function I(M){var ee;const H=t.toValue(o)==="target",G=sl(M),V=Yu(M.target);if(G&&M.button===0||!G){let B=function(X){k=It(X,q),ie=fx(Ro(k,E.value,!1,[1,1]),f.value,K.value,S),C||(x(),C=!0);const L=gf(X,{handle:ie,connectionMode:d.value,fromNodeId:t.toValue(n),fromHandleId:t.toValue(e),fromType:H?"target":"source",isValidConnection:Y,doc:V,lib:"vue",flowId:s,nodeLookup:K.value},T.value,P.value,g);W=L.handleDomNode,j=L.connection,A=mx(!!ie,L.isValid);const ue={...R,isValid:A,to:L.toHandle&&A?rl({x:L.toHandle.x,y:L.toHandle.y},E.value):k,toHandle:L.toHandle,toPosition:A&&L.toHandle?L.toHandle.position:dl[S.position],toNode:L.toHandle?K.value.get(L.toHandle.nodeId):null};if(!(A&&ie&&(R!=null&&R.toHandle)&&ue.toHandle&&R.toHandle.type===ue.toHandle.type&&R.toHandle.nodeId===ue.toHandle.nodeId&&R.toHandle.id===ue.toHandle.id&&R.to.x===ue.to.x&&R.to.y===ue.to.y)){if(b(ie&&A?rl({x:ie.x,y:ie.y},E.value):k,L.toHandle,px(!!ie,A)),R=ue,!ie&&!A&&!W)return cl($);j&&j.source!==j.target&&W&&(cl($),$=W,W.classList.add("connecting","vue-flow__handle-connecting"),W.classList.toggle("valid",!!A),W.classList.toggle("vue-flow__handle-valid",!!A))}},Z=function(X){(ie||W)&&j&&A&&(a?a(X,j):N.connect(j)),N.connectEnd(X),i&&(l==null||l(X)),cl($),cancelAnimationFrame(ae),v(X),C=!1,A=!1,j=null,W=null,V.removeEventListener("mousemove",B),V.removeEventListener("mouseup",Z),V.removeEventListener("touchmove",B),V.removeEventListener("touchend",Z)};const re=g(t.toValue(n));let Y=t.toValue(r)||D.value||ai;!Y&&re&&(Y=(H?re.isValidSourcePos:re.isValidTargetPos)||ai);let ie,ae=0;const{x:ge,y:me}=It(M),te=V==null?void 0:V.elementFromPoint(ge,me),ne=hf(t.toValue(i),te),q=(ee=c.value)==null?void 0:ee.getBoundingClientRect();if(!q||!ne)return;const Q=gx(t.toValue(n),ne,t.toValue(e),K.value,d.value);if(!Q)return;let $,k=It(M,q),C=!1;const x=()=>{if(!h.value)return;const[X,L]=af(k,q,y.value);_({x:X,y:L}),ae=requestAnimationFrame(x)},S={...Q,nodeId:t.toValue(n),type:ne,position:Q.position},O=K.value.get(t.toValue(n)),J={inProgress:!0,isValid:null,from:Yn(O,S,ye.Left,!0),fromHandle:S,fromPosition:S.position,fromNode:O,to:k,toHandle:null,toPosition:dl[S.position],toNode:null};w({nodeId:t.toValue(n),id:t.toValue(e),type:ne,position:(te==null?void 0:te.getAttribute("data-handlepos"))||ye.Top,...k},{x:ge-q.left,y:me-q.top}),N.connectStart({event:M,nodeId:t.toValue(n),handleId:t.toValue(e),handleType:ne});let R=J;V.addEventListener("mousemove",B),V.addEventListener("mouseup",Z),V.addEventListener("touchmove",B),V.addEventListener("touchend",Z)}}function U(M){var ee,H;if(!u.value)return;const G=t.toValue(o)==="target";if(!p.value){N.clickConnectStart({event:M,nodeId:t.toValue(n),handleId:t.toValue(e)}),w({nodeId:t.toValue(n),type:t.toValue(o),id:t.toValue(e),position:ye.Top,...It(M)},void 0,!0);return}let V=t.toValue(r)||D.value||ai;const B=g(t.toValue(n));if(!V&&B&&(V=(G?B.isValidSourcePos:B.isValidTargetPos)||ai),B&&(typeof B.connectable>"u"?m.value:B.connectable)===!1)return;const Z=Yu(M.target),re=gf(M,{handle:{nodeId:t.toValue(n),id:t.toValue(e),type:t.toValue(o),position:ye.Top,...It(M)},connectionMode:d.value,fromNodeId:p.value.nodeId,fromHandleId:p.value.id??null,fromType:p.value.type,isValidConnection:V,doc:Z,lib:"vue",flowId:s,nodeLookup:K.value},T.value,P.value,g),Y=((ee=re.connection)==null?void 0:ee.source)===((H=re.connection)==null?void 0:H.target);re.isValid&&re.connection&&!Y&&N.connect(re.connection),N.clickConnectEnd(M),v(M,!0)}return{handlePointerDown:I,handleClick:U}}function Nx(){return t.inject(Cf,"")}function xf(e){const n=e??Nx()??"",o=t.inject(Nf,t.ref(null)),{findNode:r,edges:i,emits:a}=Ie(),l=r(n);return l||a.error(new He(Ue.NODE_NOT_FOUND,n)),{id:n,nodeEl:o,node:l,parentNode:t.computed(()=>r(l.parentNode)),connectedEdges:t.computed(()=>tf([l],i.value))}}function vx(){return{doubleClick:he(),click:he(),mouseEnter:he(),mouseMove:he(),mouseLeave:he(),contextMenu:he(),dragStart:he(),drag:he(),dragStop:he()}}function Sx(e,n){const o=vx();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 Af(){const{getSelectedNodes:e,nodeExtent:n,updateNodePositions:o,findNode:r,snapGrid:i,snapToGrid:a,nodesDraggable:l,emits:s}=Ie();return(c,d=!1)=>{const f=a.value?i.value[0]:5,u=a.value?i.value[1]:5,p=d?4:1,m=c.x*f*p,h=c.y*u*p,y=[];for(const g of e.value)if(g.draggable||l&&typeof g.draggable>"u"){const _={x:g.computedPosition.x+m,y:g.computedPosition.y+h},{computedPosition:w}=ll(g,_,s.error,n.value,g.parentNode?r(g.parentNode):void 0);y.push({id:g.id,position:w,from:g.position,distance:{x:c.x,y:c.y},dimensions:g.dimensions})}o(y,!0,!1)}}const ml=.1,xx=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2;function Zt(){return ri("Viewport not initialized yet."),Promise.resolve(!1)}const Ax={zoomIn:Zt,zoomOut:Zt,zoomTo:Zt,fitView:Zt,setCenter:Zt,fitBounds:Zt,project:e=>e,screenToFlowCoordinate:e=>e,flowToScreenCoordinate:e=>e,setViewport:Zt,setTransform:Zt,getViewport:()=>({x:0,y:0,zoom:1}),getTransform:()=>({x:0,y:0,zoom:1}),viewportInitialized:!1};function Ix(e){function n(r,i){return new Promise(a=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate((i==null?void 0:i.interpolate)==="linear"?xo:Ur).scaleBy(gl(e.d3Selection,i==null?void 0:i.duration,i==null?void 0:i.ease,()=>{a(!0)}),r):a(!1)})}function o(r,i,a,l){return new Promise(s=>{var c;const{x:d,y:f}=Hu({x:-r,y:-i},e.translateExtent),u=zn.translate(-d,-f).scale(a);e.d3Selection&&e.d3Zoom?(c=e.d3Zoom)==null||c.interpolate((l==null?void 0:l.interpolate)==="linear"?xo:Ur).transform(gl(e.d3Selection,l==null?void 0:l.duration,l==null?void 0:l.ease,()=>{s(!0)}),u):s(!1)})}return t.computed(()=>e.d3Zoom&&e.d3Selection&&e.dimensions.width&&e.dimensions.height?{viewportInitialized:!0,zoomIn:i=>n(1.2,i),zoomOut:i=>n(1/1.2,i),zoomTo:(i,a)=>new Promise(l=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate((a==null?void 0:a.interpolate)==="linear"?xo:Ur).scaleTo(gl(e.d3Selection,a==null?void 0:a.duration,a==null?void 0:a.ease,()=>{l(!0)}),i):l(!1)}),setViewport:(i,a)=>o(i.x,i.y,i.zoom,a),setTransform:(i,a)=>o(i.x,i.y,i.zoom,a),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:ml,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=Qu(s),{x:d,y:f,zoom:u}=nf(c,e.dimensions.width,e.dimensions.height,i.minZoom??e.minZoom,i.maxZoom??e.maxZoom,i.padding??ml,i.offset);return o(d,f,u,i)},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,d=e.dimensions.height/2-a*s;return o(c,d,s,l)},fitBounds:(i,a={padding:ml})=>{const{x:l,y:s,zoom:c}=nf(i,e.dimensions.width,e.dimensions.height,e.minZoom,e.maxZoom,a.padding);return o(l,s,c,a)},project:i=>Ro(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 Ro(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 rl(s,e.viewport)}return{x:0,y:0}}}:Ax)}function gl(e,n=0,o=xx,r=()=>{}){const i=typeof n=="number"&&n>0;return i||r(),i?e.transition().duration(n).ease(o).on("end",r):e}function Px(e,n,o){const r=t.effectScope(!0);return r.run(()=>{const i=()=>{r.run(()=>{let y,g,_=!!(o.nodes.value.length||o.edges.value.length);y=Un([e.modelValue,()=>{var w,b;return(b=(w=e.modelValue)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(g==null||g.pause(),o.setElements(w),!g&&!_&&w.length?_=!0:g==null||g.resume())}),g=Un([o.nodes,o.edges,()=>o.edges.value.length,()=>o.nodes.value.length],([w,b])=>{var v;(v=e.modelValue)!=null&&v.value&&Array.isArray(e.modelValue.value)&&(y==null||y.pause(),e.modelValue.value=[...w,...b],t.nextTick(()=>{y==null||y.resume()}))},{immediate:_}),t.onScopeDispose(()=>{y==null||y.stop(),g==null||g.stop()})})},a=()=>{r.run(()=>{let y,g,_=!!o.nodes.value.length;y=Un([e.nodes,()=>{var w,b;return(b=(w=e.nodes)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(g==null||g.pause(),o.setNodes(w),!g&&!_&&w.length?_=!0:g==null||g.resume())}),g=Un([o.nodes,()=>o.nodes.value.length],([w])=>{var b;(b=e.nodes)!=null&&b.value&&Array.isArray(e.nodes.value)&&(y==null||y.pause(),e.nodes.value=[...w],t.nextTick(()=>{y==null||y.resume()}))},{immediate:_}),t.onScopeDispose(()=>{y==null||y.stop(),g==null||g.stop()})})},l=()=>{r.run(()=>{let y,g,_=!!o.edges.value.length;y=Un([e.edges,()=>{var w,b;return(b=(w=e.edges)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(g==null||g.pause(),o.setEdges(w),!g&&!_&&w.length?_=!0:g==null||g.resume())}),g=Un([o.edges,()=>o.edges.value.length],([w])=>{var b;(b=e.edges)!=null&&b.value&&Array.isArray(e.edges.value)&&(y==null||y.pause(),e.edges.value=[...w],t.nextTick(()=>{y==null||y.resume()}))},{immediate:_}),t.onScopeDispose(()=>{y==null||y.stop(),g==null||g.stop()})})},s=()=>{r.run(()=>{t.watch(()=>n.maxZoom,()=>{n.maxZoom&&Ke(n.maxZoom)&&o.setMaxZoom(n.maxZoom)},{immediate:!0})})},c=()=>{r.run(()=>{t.watch(()=>n.minZoom,()=>{n.minZoom&&Ke(n.minZoom)&&o.setMinZoom(n.minZoom)},{immediate:!0})})},d=()=>{r.run(()=>{t.watch(()=>n.translateExtent,()=>{n.translateExtent&&Ke(n.translateExtent)&&o.setTranslateExtent(n.translateExtent)},{immediate:!0})})},f=()=>{r.run(()=>{t.watch(()=>n.nodeExtent,()=>{n.nodeExtent&&Ke(n.nodeExtent)&&o.setNodeExtent(n.nodeExtent)},{immediate:!0})})},u=()=>{r.run(()=>{t.watch(()=>n.applyDefault,()=>{Ke(n.applyDefault)&&(o.applyDefault.value=n.applyDefault)},{immediate:!0})})},p=()=>{r.run(()=>{const y=async g=>{let _=g;typeof n.autoConnect=="function"&&(_=await n.autoConnect(g)),_!==!1&&o.addEdges([_])};t.watch(()=>n.autoConnect,()=>{Ke(n.autoConnect)&&(o.autoConnect.value=n.autoConnect)},{immediate:!0}),t.watch(o.autoConnect,(g,_,w)=>{g?o.onConnect(y):o.hooks.value.connect.off(y),w(()=>{o.hooks.value.connect.off(y)})},{immediate:!0})})},m=()=>{const y=["id","modelValue","translateExtent","nodeExtent","edges","nodes","maxZoom","minZoom","applyDefault","autoConnect"];for(const g of Object.keys(n)){const _=g;if(!y.includes(_)){const w=t.toRef(()=>n[_]),b=o[_];t.isRef(b)&&r.run(()=>{t.watch(w,v=>{Ke(v)&&(b.value=v)},{immediate:!0})})}}};(()=>{i(),a(),l(),c(),s(),d(),f(),u(),p(),m()})()}),()=>r.stop()}function Tx(){return{edgesChange:he(),nodesChange:he(),nodeDoubleClick:he(),nodeClick:he(),nodeMouseEnter:he(),nodeMouseMove:he(),nodeMouseLeave:he(),nodeContextMenu:he(),nodeDragStart:he(),nodeDrag:he(),nodeDragStop:he(),nodesInitialized:he(),miniMapNodeClick:he(),miniMapNodeDoubleClick:he(),miniMapNodeMouseEnter:he(),miniMapNodeMouseMove:he(),miniMapNodeMouseLeave:he(),connect:he(),connectStart:he(),connectEnd:he(),clickConnectStart:he(),clickConnectEnd:he(),paneReady:he(),init:he(),move:he(),moveStart:he(),moveEnd:he(),selectionDragStart:he(),selectionDrag:he(),selectionDragStop:he(),selectionContextMenu:he(),selectionStart:he(),selectionEnd:he(),viewportChangeStart:he(),viewportChange:he(),viewportChangeEnd:he(),paneScroll:he(),paneClick:he(),paneContextMenu:he(),paneMouseEnter:he(),paneMouseMove:he(),paneMouseLeave:he(),edgeContextMenu:he(),edgeMouseEnter:he(),edgeMouseMove:he(),edgeMouseLeave:he(),edgeDoubleClick:he(),edgeClick:he(),edgeUpdateStart:he(),edgeUpdate:he(),edgeUpdateEnd:he(),updateNodeInternals:he(),error:he(e=>ri(e.message))}}function Ox(e,n){t.onBeforeMount(()=>{for(const[o,r]of Object.entries(n.value)){const i=a=>{e(o,a)};r.fns.add(i),Ir(()=>{r.off(i)})}})}function If(){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:nl.Full,paneDragging:!1,preventScrolling:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,panOnScroll:!1,panOnScrollSpeed:.5,panOnScrollMode:$o.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:gn.Bezier,style:{}},connectionMode:Ht.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:ni()?"Meta":"Control",zoomActivationKeyCode:ni()?"Meta":"Control",deleteKeyCode:"Backspace",panActivationKeyCode:"Space",hooks:Tx(),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 $x=["id","vueFlowRef","viewportRef","initialized","modelValue","nodes","edges","maxZoom","minZoom","translateExtent","hooks","defaultEdgeOptions"];function Bx(e,n,o){const r=Ix(e),i=k=>{const C=k??[];e.hooks.updateNodeInternals.trigger(C)},a=k=>XS(k,e.nodes,e.edges),l=k=>WS(k,e.nodes,e.edges),s=k=>tf(k,e.edges),c=({id:k,type:C,nodeId:x})=>{var S;return Array.from(((S=e.connectionLookup.get(`${x}-${C}-${k??null}`))==null?void 0:S.values())??[])},d=k=>{if(k)return n.value.get(k)},f=k=>{if(k)return o.value.get(k)},u=(k,C,x)=>{var S,O;const F=[];for(const J of k){const R={id:J.id,type:"position",dragging:x,from:J.from};if(C&&(R.position=J.position,J.parentNode)){const X=d(J.parentNode);R.position={x:R.position.x-(((S=X==null?void 0:X.computedPosition)==null?void 0:S.x)??0),y:R.position.y-(((O=X==null?void 0:X.computedPosition)==null?void 0:O.y)??0)}}F.push(R)}F!=null&&F.length&&e.hooks.nodesChange.trigger(F)},p=k=>{if(!e.vueFlowRef)return;const C=e.vueFlowRef.querySelector(".vue-flow__transformationpane");if(!C)return;const x=window.getComputedStyle(C),{m22:S}=new window.DOMMatrixReadOnly(x.transform),O=[];for(const F of k){const J=F,R=d(J.id);if(R){const X=ei(J.nodeElement);if(!!(X.width&&X.height&&(R.dimensions.width!==X.width||R.dimensions.height!==X.height||J.forceUpdate))){const ue=J.nodeElement.getBoundingClientRect();R.dimensions=X,R.handleBounds.source=_f("source",J.nodeElement,ue,S,R.id),R.handleBounds.target=_f("target",J.nodeElement,ue,S,R.id),O.push({id:R.id,type:"dimensions",dimensions:X})}}}!e.fitViewOnInitDone&&e.fitViewOnInit&&r.value.fitView().then(()=>{e.fitViewOnInitDone=!0}),O.length&&e.hooks.nodesChange.trigger(O)},m=(k,C)=>{const x=new Set,S=new Set;for(const J of k)yn(J)?x.add(J.id):Yt(J)&&S.add(J.id);const O=Xt(n.value,x,!0),F=Xt(o.value,S);if(e.multiSelectionActive){for(const J of x)O.push(Wt(J,C));for(const J of S)F.push(Wt(J,C))}O.length&&e.hooks.nodesChange.trigger(O),F.length&&e.hooks.edgesChange.trigger(F)},h=k=>{if(e.multiSelectionActive){const C=k.map(x=>Wt(x.id,!0));e.hooks.nodesChange.trigger(C);return}e.hooks.nodesChange.trigger(Xt(n.value,new Set(k.map(C=>C.id)),!0)),e.hooks.edgesChange.trigger(Xt(o.value))},y=k=>{if(e.multiSelectionActive){const C=k.map(x=>Wt(x.id,!0));e.hooks.edgesChange.trigger(C);return}e.hooks.edgesChange.trigger(Xt(o.value,new Set(k.map(C=>C.id)))),e.hooks.nodesChange.trigger(Xt(n.value,new Set,!0))},g=k=>{m(k,!0)},_=k=>{const x=(k||e.nodes).map(S=>(S.selected=!1,Wt(S.id,!1)));e.hooks.nodesChange.trigger(x)},w=k=>{const x=(k||e.edges).map(S=>(S.selected=!1,Wt(S.id,!1)));e.hooks.edgesChange.trigger(x)},b=k=>{if(!k||!k.length)return m([],!1);const C=k.reduce((x,S)=>{const O=Wt(S.id,!1);return yn(S)?x.nodes.push(O):x.edges.push(O),x},{nodes:[],edges:[]});C.nodes.length&&e.hooks.nodesChange.trigger(C.nodes),C.edges.length&&e.hooks.edgesChange.trigger(C.edges)},v=k=>{var C;(C=e.d3Zoom)==null||C.scaleExtent([k,e.maxZoom]),e.minZoom=k},N=k=>{var C;(C=e.d3Zoom)==null||C.scaleExtent([e.minZoom,k]),e.maxZoom=k},E=k=>{var C;(C=e.d3Zoom)==null||C.translateExtent(k),e.translateExtent=k},T=k=>{e.nodeExtent=k,i()},P=k=>{var C;(C=e.d3Zoom)==null||C.clickDistance(k)},D=k=>{e.nodesDraggable=k,e.nodesConnectable=k,e.elementsSelectable=k},K=k=>{const C=k instanceof Function?k(e.nodes):k;!e.initialized&&!C.length||(e.nodes=bf(C,d,e.hooks.error.trigger))},j=k=>{const C=k instanceof Function?k(e.edges):k;if(!e.initialized&&!C.length)return;const x=pl(C,e.isValidConnection,d,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);fl(e.connectionLookup,o.value,x),e.edges=x},A=k=>{const C=k instanceof Function?k([...e.nodes,...e.edges]):k;!e.initialized&&!C.length||(K(C.filter(yn)),j(C.filter(Yt)))},W=k=>{let C=k instanceof Function?k(e.nodes):k;C=Array.isArray(C)?C:[C];const x=bf(C,d,e.hooks.error.trigger),S=[];for(const O of x)S.push(sf(O));S.length&&e.hooks.nodesChange.trigger(S)},I=k=>{let C=k instanceof Function?k(e.edges):k;C=Array.isArray(C)?C:[C];const x=pl(C,e.isValidConnection,d,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges),S=[];for(const O of x)S.push(sf(O));S.length&&e.hooks.edgesChange.trigger(S)},U=(k,C=!0,x=!1)=>{const S=k instanceof Function?k(e.nodes):k,O=Array.isArray(S)?S:[S],F=[],J=[];function R(L){const ue=s(L);for(const le of ue)(!Ke(le.deletable)||le.deletable)&&J.push(df(le.id,le.source,le.target,le.sourceHandle,le.targetHandle))}function X(L){const ue=[];for(const le of e.nodes)le.parentNode===L&&ue.push(le);if(ue.length){for(const le of ue)F.push(cf(le.id));C&&R(ue);for(const le of ue)X(le.id)}}for(const L of O){const ue=typeof L=="string"?d(L):L;ue&&(Ke(ue.deletable)&&!ue.deletable||(F.push(cf(ue.id)),C&&R([ue]),x&&X(ue.id)))}J.length&&e.hooks.edgesChange.trigger(J),F.length&&e.hooks.nodesChange.trigger(F)},M=k=>{const C=k instanceof Function?k(e.edges):k,x=Array.isArray(C)?C:[C],S=[];for(const O of x){const F=typeof O=="string"?f(O):O;F&&(Ke(F.deletable)&&!F.deletable||S.push(df(typeof O=="string"?O:O.id,F.source,F.target,F.sourceHandle,F.targetHandle)))}e.hooks.edgesChange.trigger(S)},ee=(k,C,x=!0)=>{const S=f(k.id);if(!S)return!1;const O=e.edges.indexOf(S),F=_x(k,C,S,x,e.hooks.error.trigger);if(F){const[J]=pl([F],e.isValidConnection,d,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);return e.edges=e.edges.map((R,X)=>X===O?J:R),fl(e.connectionLookup,o.value,[J]),J}return!1},H=(k,C,x={replace:!1})=>{const S=f(k);if(!S)return;const O=typeof C=="function"?C(S):C;S.data=x.replace?O:{...S.data,...O}},G=k=>lf(k,e.nodes),V=k=>{const C=lf(k,e.edges);return fl(e.connectionLookup,o.value,C),C},B=(k,C,x={replace:!1})=>{const S=d(k);if(!S)return;const O=typeof C=="function"?C(S):C;x.replace?e.nodes.splice(e.nodes.indexOf(S),1,O):Object.assign(S,O)},Z=(k,C,x={replace:!1})=>{const S=d(k);if(!S)return;const O=typeof C=="function"?C(S):C;S.data=x.replace?O:{...S.data,...O}},re=(k,C,x=!1)=>{x?e.connectionClickStartHandle=k:e.connectionStartHandle=k,e.connectionEndHandle=null,e.connectionStatus=null,C&&(e.connectionPosition=C)},Y=(k,C=null,x=null)=>{e.connectionStartHandle&&(e.connectionPosition=k,e.connectionEndHandle=C,e.connectionStatus=x)},ie=(k,C)=>{e.connectionPosition={x:Number.NaN,y:Number.NaN},e.connectionEndHandle=null,e.connectionStatus=null,C?e.connectionClickStartHandle=null:e.connectionStartHandle=null},ae=k=>{const C=HS(k),x=C?null:Vo(k)?k:d(k.id);return!C&&!x?[null,null,C]:[C?k:Jr(x),x,C]},ge=(k,C=!0,x=e.nodes)=>{const[S,O,F]=ae(k);if(!S)return[];const J=[];for(const R of x||e.nodes){if(!F&&(R.id===O.id||!R.computedPosition))continue;const X=Jr(R),L=Qr(X,S);(C&&L>0||L>=Number(S.width)*Number(S.height))&&J.push(R)}return J},me=(k,C,x=!0)=>{const[S]=ae(k);if(!S)return!1;const O=Qr(S,C);return x&&O>0||O>=Number(S.width)*Number(S.height)},te=k=>{const{viewport:C,dimensions:x,d3Zoom:S,d3Selection:O,translateExtent:F}=e;if(!S||!O||!k.x&&!k.y)return!1;const J=zn.translate(C.x+k.x,C.y+k.y).scale(C.zoom),R=[[0,0],[x.width,x.height]],X=S.constrain()(J,R,F),L=e.viewport.x!==X.x||e.viewport.y!==X.y||e.viewport.zoom!==X.k;return S.transform(O,X),L},ne=k=>{const C=k instanceof Function?k(e):k,x=["d3Zoom","d3Selection","d3ZoomHandler","viewportRef","vueFlowRef","dimensions","hooks"];Ke(C.defaultEdgeOptions)&&(e.defaultEdgeOptions=C.defaultEdgeOptions);const S=C.modelValue||C.nodes||C.edges?[]:void 0;S&&(C.modelValue&&S.push(...C.modelValue),C.nodes&&S.push(...C.nodes),C.edges&&S.push(...C.edges),A(S));const O=()=>{Ke(C.maxZoom)&&N(C.maxZoom),Ke(C.minZoom)&&v(C.minZoom),Ke(C.translateExtent)&&E(C.translateExtent)};for(const F of Object.keys(C)){const J=F,R=C[J];![...$x,...x].includes(J)&&Ke(R)&&(e[J]=R)}Va(()=>e.d3Zoom).not.toBeNull().then(O),e.initialized||(e.initialized=!0)};return{updateNodePositions:u,updateNodeDimensions:p,setElements:A,setNodes:K,setEdges:j,addNodes:W,addEdges:I,removeNodes:U,removeEdges:M,findNode:d,findEdge:f,updateEdge:ee,updateEdgeData:H,updateNode:B,updateNodeData:Z,applyEdgeChanges:V,applyNodeChanges:G,addSelectedElements:g,addSelectedNodes:h,addSelectedEdges:y,setMinZoom:v,setMaxZoom:N,setTranslateExtent:E,setNodeExtent:T,setPaneClickDistance:P,removeSelectedElements:b,removeSelectedNodes:_,removeSelectedEdges:w,startConnection:re,updateConnection:Y,endConnection:ie,setInteractive:D,setState:ne,getIntersectingNodes:ge,getIncomers:a,getOutgoers:l,getConnectedEdges:s,getHandleConnections:c,isNodeIntersecting:me,panBy:te,fitView:k=>r.value.fitView(k),zoomIn:k=>r.value.zoomIn(k),zoomOut:k=>r.value.zoomOut(k),zoomTo:(k,C)=>r.value.zoomTo(k,C),setViewport:(k,C)=>r.value.setViewport(k,C),setTransform:(k,C)=>r.value.setTransform(k,C),getViewport:()=>r.value.getViewport(),getTransform:()=>r.value.getTransform(),setCenter:(k,C,x)=>r.value.setCenter(k,C,x),fitBounds:(k,C)=>r.value.fitBounds(k,C),project:k=>r.value.project(k),screenToFlowCoordinate:k=>r.value.screenToFlowCoordinate(k),flowToScreenCoordinate:k=>r.value.flowToScreenCoordinate(k),toObject:()=>{const k=[],C=[];for(const x of e.nodes){const{computedPosition:S,handleBounds:O,selected:F,dimensions:J,isParent:R,resizing:X,dragging:L,events:ue,...le}=x;k.push(le)}for(const x of e.edges){const{selected:S,sourceNode:O,targetNode:F,events:J,...R}=x;C.push(R)}return JSON.parse(JSON.stringify({nodes:k,edges:C,position:[e.viewport.x,e.viewport.y],zoom:e.viewport.zoom,viewport:e.viewport}))},fromObject:k=>new Promise(C=>{const{nodes:x,edges:S,position:O,zoom:F,viewport:J}=k;if(x&&K(x),S&&j(S),J!=null&&J.x&&(J!=null&&J.y)||O){const R=(J==null?void 0:J.x)||O[0],X=(J==null?void 0:J.y)||O[1],L=(J==null?void 0:J.zoom)||F||e.viewport.zoom;return Va(()=>r.value.viewportInitialized).toBe(!0).then(()=>{r.value.setViewport({x:R,y:X,zoom:L}).then(()=>{C(!0)})})}else C(!0)}),updateNodeInternals:i,viewportHelper:r,$reset:()=>{const k=If();if(e.edges=[],e.nodes=[],e.d3Zoom&&e.d3Selection){const C=zn.translate(k.defaultViewport.x??0,k.defaultViewport.y??0).scale(hn(k.defaultViewport.zoom??1,k.minZoom,k.maxZoom)),x=e.viewportRef.getBoundingClientRect(),S=[[0,0],[x.width,x.height]],O=e.d3Zoom.constrain()(C,S,k.translateExtent);e.d3Zoom.transform(e.d3Selection,O)}ne(k)},$destroy:()=>{}}}const Vx=["data-id","data-handleid","data-nodeid","data-handlepos"],Rx={name:"Handle",compatConfig:{MODE:3}},Jt=t.defineComponent({...Rx,props:{id:{default:null},type:{},position:{default:()=>ye.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),{id:a,connectionStartHandle:l,connectionClickStartHandle:s,connectionEndHandle:c,vueFlowRef:d,nodesConnectable:f,noDragClassName:u,noPanClassName:p}=Ie(),{id:m,node:h,nodeEl:y,connectedEdges:g}=xf(),_=t.ref(),w=t.toRef(()=>typeof e.connectableStart<"u"?e.connectableStart:!0),b=t.toRef(()=>typeof e.connectableEnd<"u"?e.connectableEnd:!0),v=t.toRef(()=>{var j,A,W,I,U,M;return((j=l.value)==null?void 0:j.nodeId)===m&&((A=l.value)==null?void 0:A.id)===e.id&&((W=l.value)==null?void 0:W.type)===r.value||((I=c.value)==null?void 0:I.nodeId)===m&&((U=c.value)==null?void 0:U.id)===e.id&&((M=c.value)==null?void 0:M.type)===r.value}),N=t.toRef(()=>{var j,A,W;return((j=s.value)==null?void 0:j.nodeId)===m&&((A=s.value)==null?void 0:A.id)===e.id&&((W=s.value)==null?void 0:W.type)===r.value}),{handlePointerDown:E,handleClick:T}=Sf({nodeId:m,handleId:e.id,isValidConnection:i,type:r}),P=t.computed(()=>typeof e.connectable=="string"&&e.connectable==="single"?!g.value.some(j=>{const A=j[`${r.value}Handle`];return j[r.value]!==m?!1:A?A===e.id:!0}):typeof e.connectable=="number"?g.value.filter(j=>{const A=j[`${r.value}Handle`];return j[r.value]!==m?!1:A?A===e.id:!0}).length<e.connectable:typeof e.connectable=="function"?e.connectable(h,g.value):Ke(e.connectable)?e.connectable:f.value);t.onMounted(()=>{var j;if(!h.dimensions.width||!h.dimensions.height)return;const A=(j=h.handleBounds[r.value])==null?void 0:j.find(G=>G.id===e.id);if(!d.value||A)return;const W=d.value.querySelector(".vue-flow__transformationpane");if(!y.value||!_.value||!W||!e.id)return;const I=y.value.getBoundingClientRect(),U=_.value.getBoundingClientRect(),M=window.getComputedStyle(W),{m22:ee}=new window.DOMMatrixReadOnly(M.transform),H={id:e.id,position:e.position,x:(U.left-I.left)/ee,y:(U.top-I.top)/ee,type:r.value,nodeId:m,...ei(_.value)};h.handleBounds[r.value]=[...h.handleBounds[r.value]??[],H]});function D(j){const A=sl(j);P.value&&w.value&&(A&&j.button===0||!A)&&E(j)}function K(j){!m||!s.value&&!w.value||P.value&&T(j)}return n({handleClick:T,handlePointerDown:E,onClick:K,onPointerDown:D}),(j,A)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"handle",ref:_,"data-id":`${t.unref(a)}-${t.unref(m)}-${e.id}-${r.value}`,"data-handleid":e.id,"data-nodeid":t.unref(m),"data-handlepos":j.position,class:t.normalizeClass(["vue-flow__handle",[`vue-flow__handle-${j.position}`,`vue-flow__handle-${e.id}`,t.unref(u),t.unref(p),r.value,{connectable:P.value,connecting:N.value,connectablestart:w.value,connectableend:b.value,connectionindicator:P.value&&(w.value&&!v.value||b.value&&v.value)}]]),onMousedown:D,onTouchstartPassive:D,onClick:K},[t.renderSlot(j.$slots,"default",{id:j.id})],42,Vx))}}),li=function({sourcePosition:e=ye.Bottom,targetPosition:n=ye.Top,label:o,connectable:r=!0,isValidTargetPos:i,isValidSourcePos:a,data:l}){const s=l.label??o;return[t.h(Jt,{type:"target",position:n,connectable:r,isValidConnection:i}),typeof s!="string"&&s?t.h(s):t.h(t.Fragment,[s]),t.h(Jt,{type:"source",position:e,connectable:r,isValidConnection:a})]};li.props=["sourcePosition","targetPosition","label","isValidTargetPos","isValidSourcePos","connectable","data"],li.inheritAttrs=!1,li.compatConfig={MODE:3};const Mx=li,si=function({targetPosition:e=ye.Top,label:n,connectable:o=!0,isValidTargetPos:r,data:i}){const a=i.label??n;return[t.h(Jt,{type:"target",position:e,connectable:o,isValidConnection:r}),typeof a!="string"&&a?t.h(a):t.h(t.Fragment,[a])]};si.props=["targetPosition","label","isValidTargetPos","connectable","data"],si.inheritAttrs=!1,si.compatConfig={MODE:3};const Dx=si,ci=function({sourcePosition:e=ye.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(Jt,{type:"source",position:e,connectable:o,isValidConnection:r})]};ci.props=["sourcePosition","label","isValidSourcePos","connectable","data"],ci.inheritAttrs=!1,ci.compatConfig={MODE:3};const Lx=ci,Fx=["transform"],Ux=["width","height","x","y","rx","ry"],Kx=["y"],jx={name:"EdgeText",compatConfig:{MODE:3}},qx=t.defineComponent({...jx,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,Ux)):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,Kx)],8,Fx))}}),Gx=["id","d","marker-end","marker-start"],zx=["d","stroke-width"],Hx={name:"BaseEdge",inheritAttrs:!1,compatConfig:{MODE:3}},di=t.defineComponent({...Hx,props:{id:{},labelX:{},labelY:{},path:{},label:{},markerStart:{},markerEnd:{},interactionWidth:{default:20},labelStyle:{},labelShowBg:{type:Boolean},labelBgStyle:{},labelBgPadding:{},labelBgBorderRadius:{}},setup(e,{expose:n}){const o=t.ref(null),r=t.ref(null),i=t.ref(null),a=t.useAttrs();return n({pathEl:o,interactionEl:r,labelEl:i}),(l,s)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("path",t.mergeProps(t.unref(a),{id:l.id,ref_key:"pathEl",ref:o,d:l.path,class:"vue-flow__edge-path","marker-end":l.markerEnd,"marker-start":l.markerStart}),null,16,Gx),l.interactionWidth?(t.openBlock(),t.createElementBlock("path",{key:0,ref_key:"interactionEl",ref:r,fill:"none",d:l.path,"stroke-width":l.interactionWidth,"stroke-opacity":0,class:"vue-flow__edge-interaction"},null,8,zx)):t.createCommentVNode("",!0),l.label&&l.labelX&&l.labelY?(t.openBlock(),t.createBlock(qx,{key:1,ref_key:"labelEl",ref:i,x:l.labelX,y:l.labelY,label:l.label,"label-show-bg":l.labelShowBg,"label-bg-style":l.labelBgStyle,"label-bg-padding":l.labelBgPadding,"label-bg-border-radius":l.labelBgBorderRadius,"label-style":l.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 Pf({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 Tf({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,d=n*.125+a*.375+s*.375+r*.125,f=Math.abs(c-e),u=Math.abs(d-n);return[c,d,f,u]}function ui(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function Of({pos:e,x1:n,y1:o,x2:r,y2:i,c:a}){let l,s;switch(e){case ye.Left:l=n-ui(n-r,a),s=o;break;case ye.Right:l=n+ui(r-n,a),s=o;break;case ye.Top:l=n,s=o-ui(o-i,a);break;case ye.Bottom:l=n,s=o+ui(i-o,a);break}return[l,s]}function $f(e){const{sourceX:n,sourceY:o,sourcePosition:r=ye.Bottom,targetX:i,targetY:a,targetPosition:l=ye.Top,curvature:s=.25}=e,[c,d]=Of({pos:r,x1:n,y1:o,x2:i,y2:a,c:s}),[f,u]=Of({pos:l,x1:i,y1:a,x2:n,y2:o,c:s}),[p,m,h,y]=Tf({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:c,sourceControlY:d,targetControlX:f,targetControlY:u});return[`M${n},${o} C${c},${d} ${f},${u} ${i},${a}`,p,m,h,y]}function Bf({pos:e,x1:n,y1:o,x2:r,y2:i}){let a,l;switch(e){case ye.Left:case ye.Right:a=.5*(n+r),l=o;break;case ye.Top:case ye.Bottom:a=n,l=.5*(o+i);break}return[a,l]}function Vf(e){const{sourceX:n,sourceY:o,sourcePosition:r=ye.Bottom,targetX:i,targetY:a,targetPosition:l=ye.Top}=e,[s,c]=Bf({pos:r,x1:n,y1:o,x2:i,y2:a}),[d,f]=Bf({pos:l,x1:i,y1:a,x2:n,y2:o}),[u,p,m,h]=Tf({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:s,sourceControlY:c,targetControlX:d,targetControlY:f});return[`M${n},${o} C${s},${c} ${d},${f} ${i},${a}`,u,p,m,h]}const Rf={[ye.Left]:{x:-1,y:0},[ye.Right]:{x:1,y:0},[ye.Top]:{x:0,y:-1},[ye.Bottom]:{x:0,y:1}};function Yx({source:e,sourcePosition:n=ye.Bottom,target:o}){return n===ye.Left||n===ye.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 Mf(e,n){return Math.sqrt((n.x-e.x)**2+(n.y-e.y)**2)}function Wx({source:e,sourcePosition:n=ye.Bottom,target:o,targetPosition:r=ye.Top,center:i,offset:a}){const l=Rf[n],s=Rf[r],c={x:e.x+l.x*a,y:e.y+l.y*a},d={x:o.x+s.x*a,y:o.y+s.y*a},f=Yx({source:c,sourcePosition:n,target:d}),u=f.x!==0?"x":"y",p=f[u];let m,h,y;const g={x:0,y:0},_={x:0,y:0},[w,b,v,N]=Pf({sourceX:e.x,sourceY:e.y,targetX:o.x,targetY:o.y});if(l[u]*s[u]===-1){h=i.x??w,y=i.y??b;const T=[{x:h,y:c.y},{x:h,y:d.y}],P=[{x:c.x,y},{x:d.x,y}];l[u]===p?m=u==="x"?T:P:m=u==="x"?P:T}else{const T=[{x:c.x,y:d.y}],P=[{x:d.x,y:c.y}];if(u==="x"?m=l.x===p?P:T:m=l.y===p?T:P,n===r){const W=Math.abs(e[u]-o[u]);if(W<=a){const I=Math.min(a-1,a-W);l[u]===p?g[u]=(c[u]>e[u]?-1:1)*I:_[u]=(d[u]>o[u]?-1:1)*I}}if(n!==r){const W=u==="x"?"y":"x",I=l[u]===s[W],U=c[W]>d[W],M=c[W]<d[W];(l[u]===1&&(!I&&U||I&&M)||l[u]!==1&&(!I&&M||I&&U))&&(m=u==="x"?T:P)}const D={x:c.x+g.x,y:c.y+g.y},K={x:d.x+_.x,y:d.y+_.y},j=Math.max(Math.abs(D.x-m[0].x),Math.abs(K.x-m[0].x)),A=Math.max(Math.abs(D.y-m[0].y),Math.abs(K.y-m[0].y));j>=A?(h=(D.x+K.x)/2,y=m[0].y):(h=m[0].x,y=(D.y+K.y)/2)}return[[e,{x:c.x+g.x,y:c.y+g.y},...m,{x:d.x+_.x,y:d.y+_.y},o],h,y,v,N]}function Xx(e,n,o,r){const i=Math.min(Mf(e,n)/2,Mf(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 d=e.x<o.x?-1:1,f=e.y<o.y?1:-1;return`L ${a+i*d},${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 hl(e){const{sourceX:n,sourceY:o,sourcePosition:r=ye.Bottom,targetX:i,targetY:a,targetPosition:l=ye.Top,borderRadius:s=5,centerX:c,centerY:d,offset:f=20}=e,[u,p,m,h,y]=Wx({source:{x:n,y:o},sourcePosition:r,target:{x:i,y:a},targetPosition:l,center:{x:c,y:d},offset:f});return[u.reduce((_,w,b)=>{let v;return b>0&&b<u.length-1?v=Xx(u[b-1],w,u[b+1],s):v=`${b===0?"M":"L"}${w.x} ${w.y}`,_+=v,_},""),p,m,h,y]}function Zx(e){const{sourceX:n,sourceY:o,targetX:r,targetY:i}=e,[a,l,s,c]=Pf({sourceX:n,sourceY:o,targetX:r,targetY:i});return[`M ${n},${o}L ${r},${i}`,a,l,s,c]}const Jx=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]=Zx(e);return t.h(di,{path:o,labelX:r,labelY:i,...n,...e})}}}),Df=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]=hl({...e,sourcePosition:e.sourcePosition??ye.Bottom,targetPosition:e.targetPosition??ye.Top});return t.h(di,{path:o,labelX:r,labelY:i,...n,...e})}}}),Qx=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(Df,{...e,...n,borderRadius:0})}}),eA=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]=$f({...e,sourcePosition:e.sourcePosition??ye.Bottom,targetPosition:e.targetPosition??ye.Top});return t.h(di,{path:o,labelX:r,labelY:i,...n,...e})}}}),tA=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]=Vf({...e,sourcePosition:e.sourcePosition??ye.Bottom,targetPosition:e.targetPosition??ye.Top});return t.h(di,{path:o,labelX:r,labelY:i,...n,...e})}}}),nA={input:Lx,default:Mx,output:Dx},oA={default:eA,straight:Jx,step:Qx,smoothstep:Df,simplebezier:tA};function rA(e,n,o){const r=t.computed(()=>y=>n.value.get(y)),i=t.computed(()=>y=>o.value.get(y)),a=t.computed(()=>{const y={...oA,...e.edgeTypes},g=Object.keys(y);for(const _ of e.edges)_.type&&!g.includes(_.type)&&(y[_.type]=_.type);return y}),l=t.computed(()=>{const y={...nA,...e.nodeTypes},g=Object.keys(y);for(const _ of e.nodes)_.type&&!g.includes(_.type)&&(y[_.type]=_.type);return y}),s=t.computed(()=>e.onlyRenderVisibleElements?ef(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 y=[];for(const g of e.edges){const _=n.value.get(g.source),w=n.value.get(g.target);ix({sourcePos:_.computedPosition||{x:0,y:0},targetPos:w.computedPosition||{x:0,y:0},sourceWidth:_.dimensions.width,sourceHeight:_.dimensions.height,targetWidth:w.dimensions.width,targetHeight:w.dimensions.height,width:e.dimensions.width,height:e.dimensions.height,viewport:e.viewport})&&y.push(g)}return y}return e.edges}),d=t.computed(()=>[...s.value,...c.value]),f=t.computed(()=>{const y=[];for(const g of e.nodes)g.selected&&y.push(g);return y}),u=t.computed(()=>{const y=[];for(const g of e.edges)g.selected&&y.push(g);return y}),p=t.computed(()=>[...f.value,...u.value]),m=t.computed(()=>{const y=[];for(const g of e.nodes)g.dimensions.width&&g.dimensions.height&&g.handleBounds!==void 0&&y.push(g);return y}),h=t.computed(()=>s.value.length>0&&m.value.length===s.value.length);return{getNode:r,getEdge:i,getElements:d,getEdgeTypes:a,getNodeTypes:l,getEdges:c,getNodes:s,getSelectedElements:p,getSelectedNodes:f,getSelectedEdges:u,getNodesInitialized:m,areNodesInitialized:h}}class _n{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)??_n.instance;return _n.instance=r??new _n,o&&(o.config.globalProperties.$vueFlowStorage=_n.instance),_n.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=If(),i=t.reactive(r),a={};for(const[p,m]of Object.entries(i.hooks)){const h=`on${p.charAt(0).toUpperCase()+p.slice(1)}`;a[h]=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}),d=rA(i,s,c),f=Bx(i,s,c);f.setState({...i,...o});const u={...a,...d,...f,...n1(i),nodeLookup:s,edgeLookup:c,emits:l,id:n,vueFlowVersion:"1.45.0",$destroy:()=>{this.remove(n)}};return this.set(n,u),u}getId(){return`vue-flow-${this.currentId++}`}}function Ie(e){const n=_n.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(kf,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(),d=n.create(c,i);s=d,(o??t.effectScope(!0)).run(()=>{t.watch(d.applyDefault,(u,p,m)=>{const h=g=>{d.applyNodeChanges(g)},y=g=>{d.applyEdgeChanges(g)};u?(d.onNodesChange(h),d.onEdgesChange(y)):(d.hooks.value.nodesChange.off(h),d.hooks.value.edgesChange.off(y)),m(()=>{d.hooks.value.nodesChange.off(h),d.hooks.value.edgesChange.off(y)})},{immediate:!0}),Ir(()=>{if(s){const u=n.get(s.id);u?u.$destroy():ri(`No store instance found for id ${s.id} in storage.`)}})})}else r&&s.setState(i);if(o&&(t.provide(kf,s),o.vueFlowId=s.id),r){const c=t.getCurrentInstance();(c==null?void 0:c.type.name)!=="VueFlow"&&s.emits.error(new He(Ue.USEVUEFLOW_OPTIONS))}return s}function iA(e){const{emits:n,dimensions:o}=Ie();let r;t.onMounted(()=>{const i=e.value,a=()=>{if(!i)return;const l=ei(i);(l.width===0||l.height===0)&&n.error(new He(Ue.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 aA={name:"UserSelection",compatConfig:{MODE:3}},lA=t.defineComponent({...aA,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))}}),sA=["tabIndex"],cA={name:"NodesSelection",compatConfig:{MODE:3}},dA=t.defineComponent({...cA,setup(e){const{emits:n,viewport:o,getSelectedNodes:r,noPanClassName:i,disableKeyboardA11y:a,userSelectionActive:l}=Ie(),s=Af(),c=t.ref(null),d=vf({el:c,onStart(h){n.selectionDragStart(h)},onDrag(h){n.selectionDrag(h)},onStop(h){n.selectionDragStop(h)}});t.onMounted(()=>{var h;a.value||(h=c.value)==null||h.focus({preventScroll:!0})});const f=t.computed(()=>Qu(r.value)),u=t.computed(()=>({width:`${f.value.width}px`,height:`${f.value.height}px`,top:`${f.value.y}px`,left:`${f.value.x}px`}));function p(h){n.selectionContextMenu({event:h,nodes:r.value})}function m(h){a||Hn[h.key]&&(h.preventDefault(),s({x:Hn[h.key].x,y:Hn[h.key].y},h.shiftKey))}return(h,y)=>!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(d)},"vue-flow__nodesselection-rect"]),style:t.normalizeStyle(u.value),tabIndex:t.unref(a)?void 0:-1,onContextmenu:p,onKeydown:m},null,46,sA)],6)):t.createCommentVNode("",!0)}});function uA(e,n){return{x:e.clientX-n.left,y:e.clientY-n.top}}const fA={name:"Pane",compatConfig:{MODE:3}},pA=t.defineComponent({...fA,props:{isSelecting:{type:Boolean},selectionKeyPressed:{type:Boolean}},setup(e){const{vueFlowRef:n,nodes:o,viewport:r,emits:i,userSelectionActive:a,removeSelectedElements:l,userSelectionRect:s,elementsSelectable:c,nodesSelectionActive:d,getSelectedEdges:f,getSelectedNodes:u,removeNodes:p,removeEdges:m,selectionMode:h,deleteKeyCode:y,multiSelectionKeyCode:g,multiSelectionActive:_,edgeLookup:w,nodeLookup:b,connectionLookup:v,defaultEdgeOptions:N,connectionStartHandle:E}=Ie(),T=t.ref(null),P=t.ref(new Set),D=t.ref(new Set),K=t.ref(),j=t.toRef(()=>c.value&&(e.isSelecting||a.value)),A=t.toRef(()=>E.value!==null);let W=!1,I=!1;const U=Bo(y,{actInsideInputWithModifier:!1}),M=Bo(g);t.watch(U,Y=>{Y&&(p(u.value),m(f.value),d.value=!1)}),t.watch(M,Y=>{_.value=Y});function ee(Y,ie){return ae=>{ae.target===ie&&(Y==null||Y(ae))}}function H(Y){if(W||A.value){W=!1;return}i.paneClick(Y),l(),d.value=!1}function G(Y){Y.preventDefault(),Y.stopPropagation(),i.paneContextMenu(Y)}function V(Y){i.paneScroll(Y)}function B(Y){var ie,ae,ge;if(K.value=(ie=n.value)==null?void 0:ie.getBoundingClientRect(),!c.value||!e.isSelecting||Y.button!==0||Y.target!==T.value||!K.value)return;(ge=(ae=Y.target)==null?void 0:ae.setPointerCapture)==null||ge.call(ae,Y.pointerId);const{x:me,y:te}=uA(Y,K.value);I=!0,W=!1,l(),s.value={width:0,height:0,startX:me,startY:te,x:me,y:te},i.selectionStart(Y)}function Z(Y){var ie;if(!K.value||!s.value)return;W=!0;const{x:ae,y:ge}=It(Y,K.value),{startX:me=0,startY:te=0}=s.value,ne={startX:me,startY:te,x:ae<me?ae:me,y:ge<te?ge:te,width:Math.abs(ae-me),height:Math.abs(ge-te)},q=P.value,Q=D.value;P.value=new Set(ef(o.value,ne,r.value,h.value===nl.Partial,!0).map(k=>k.id)),D.value=new Set;const $=((ie=N.value)==null?void 0:ie.selectable)??!0;for(const k of P.value){const C=v.value.get(k);if(C)for(const{edgeId:x}of C.values()){const S=w.value.get(x);S&&(S.selectable??$)&&D.value.add(x)}}if(!Ef(q,P.value)){const k=Xt(b.value,P.value,!0);i.nodesChange(k)}if(!Ef(Q,D.value)){const k=Xt(w.value,D.value);i.edgesChange(k)}s.value=ne,a.value=!0,d.value=!1}function re(Y){var ie;Y.button!==0||!I||((ie=Y.target)==null||ie.releasePointerCapture(Y.pointerId),!a.value&&s.value&&Y.target===T.value&&H(Y),a.value=!1,s.value=null,d.value=P.value.size>0,i.selectionEnd(Y),e.selectionKeyPressed&&(W=!1),I=!1)}return(Y,ie)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"container",ref:T,class:t.normalizeClass(["vue-flow__pane vue-flow__container",{selection:Y.isSelecting}]),onClick:ie[0]||(ie[0]=ae=>j.value?void 0:ee(H,T.value)(ae)),onContextmenu:ie[1]||(ie[1]=ae=>ee(G,T.value)(ae)),onWheelPassive:ie[2]||(ie[2]=ae=>ee(V,T.value)(ae)),onPointerenter:ie[3]||(ie[3]=ae=>j.value?void 0:t.unref(i).paneMouseEnter(ae)),onPointerdown:ie[4]||(ie[4]=ae=>j.value?B(ae):t.unref(i).paneMouseMove(ae)),onPointermove:ie[5]||(ie[5]=ae=>j.value?Z(ae):t.unref(i).paneMouseMove(ae)),onPointerup:ie[6]||(ie[6]=ae=>j.value?re(ae):void 0),onPointerleave:ie[7]||(ie[7]=ae=>t.unref(i).paneMouseLeave(ae))},[t.renderSlot(Y.$slots,"default"),t.unref(a)&&t.unref(s)?(t.openBlock(),t.createBlock(lA,{key:0,"user-selection-rect":t.unref(s)},null,8,["user-selection-rect"])):t.createCommentVNode("",!0),t.unref(d)&&t.unref(u).length?(t.openBlock(),t.createBlock(dA,{key:1})):t.createCommentVNode("",!0)],34))}}),mA={name:"Transform",compatConfig:{MODE:3}},gA=t.defineComponent({...mA,setup(e){const{viewport:n,fitViewOnInit:o,fitViewOnInitDone:r}=Ie(),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))}}),hA={name:"Viewport",compatConfig:{MODE:3}},yA=t.defineComponent({...hA,setup(e){const{minZoom:n,maxZoom:o,defaultViewport:r,translateExtent:i,zoomActivationKeyCode:a,selectionKeyCode:l,panActivationKeyCode:s,panOnScroll:c,panOnScrollMode:d,panOnScrollSpeed:f,panOnDrag:u,zoomOnDoubleClick:p,zoomOnPinch:m,zoomOnScroll:h,preventScrolling:y,noWheelClassName:g,noPanClassName:_,emits:w,connectionStartHandle:b,userSelectionActive:v,paneDragging:N,d3Zoom:E,d3Selection:T,d3ZoomHandler:P,viewport:D,viewportRef:K,paneClickDistance:j}=Ie();iA(K);const A=t.shallowRef(!1),W=t.shallowRef(!1);let I=null,U=!1,M=0,ee={x:0,y:0,zoom:0};const H=Bo(s),G=Bo(l),V=Bo(a),B=t.toRef(()=>(!G.value||G.value&&l.value===!0)&&(H.value||u.value)),Z=t.toRef(()=>H.value||c.value),re=t.toRef(()=>G.value||l.value===!0&&B.value!==!0);t.onMounted(()=>{if(!K.value){ri("Viewport element is missing");return}const te=K.value,ne=te.getBoundingClientRect(),q=FS().clickDistance(j.value).scaleExtent([n.value,o.value]).translateExtent(i.value),Q=yt(te).call(q),$=Q.on("wheel.zoom"),k=zn.translate(r.value.x??0,r.value.y??0).scale(hn(r.value.zoom??1,n.value,o.value)),C=[[0,0],[ne.width,ne.height]],x=q.constrain()(k,C,i.value);q.transform(Q,x),q.wheelDelta(ie),E.value=q,T.value=Q,P.value=$,D.value={x:x.x,y:x.y,zoom:x.k},q.on("start",S=>{var O;if(!S.sourceEvent)return null;M=S.sourceEvent.button,A.value=!0;const F=ge(S.transform);((O=S.sourceEvent)==null?void 0:O.type)==="mousedown"&&(N.value=!0),ee=F,w.viewportChangeStart(F),w.moveStart({event:S,flowTransform:F})}),q.on("end",S=>{if(!S.sourceEvent)return null;if(A.value=!1,N.value=!1,Y(B.value,M??0)&&!U&&w.paneContextMenu(S.sourceEvent),U=!1,ae(ee,S.transform)){const O=ge(S.transform);ee=O,w.viewportChangeEnd(O),w.moveEnd({event:S,flowTransform:O})}}),q.filter(S=>{var O;const F=V.value||h.value,J=m.value&&S.ctrlKey,R=S.button;if(R===1&&S.type==="mousedown"&&(me(S,"vue-flow__node")||me(S,"vue-flow__edge")))return!0;if(!B.value&&!F&&!Z.value&&!p.value&&!m.value||v.value||!p.value&&S.type==="dblclick"||me(S,g.value)&&S.type==="wheel"||me(S,_.value)&&(S.type!=="wheel"||Z.value&&S.type==="wheel"&&!V.value)||!m.value&&S.ctrlKey&&S.type==="wheel"||!F&&!Z.value&&!J&&S.type==="wheel")return!1;if(!m&&S.type==="touchstart"&&((O=S.touches)==null?void 0:O.length)>1)return S.preventDefault(),!1;if(!B.value&&(S.type==="mousedown"||S.type==="touchstart")||l.value===!0&&Array.isArray(u.value)&&u.value.includes(0)&&R===0||Array.isArray(u.value)&&!u.value.includes(R)&&(S.type==="mousedown"||S.type==="touchstart"))return!1;const X=Array.isArray(u.value)&&u.value.includes(R)||l.value===!0&&Array.isArray(u.value)&&!u.value.includes(0)||!R||R<=1;return(!S.ctrlKey||H.value||S.type==="wheel")&&X}),t.watch([v,B],()=>{v.value&&!A.value?q.on("zoom",null):v.value||q.on("zoom",S=>{D.value={x:S.transform.x,y:S.transform.y,zoom:S.transform.k};const O=ge(S.transform);U=Y(B.value,M??0),w.viewportChange(O),w.move({event:S,flowTransform:O})})},{immediate:!0}),t.watch([v,Z,d,V,m,y,g],()=>{Z.value&&!V.value&&!v.value?Q.on("wheel.zoom",S=>{if(me(S,g.value))return!1;const O=V.value||h.value,F=m.value&&S.ctrlKey;if(!(!y.value||Z.value||O||F))return!1;S.preventDefault(),S.stopImmediatePropagation();const R=Q.property("__zoom").k||1,X=ni();if(!H.value&&S.ctrlKey&&m.value&&X){const fe=vt(S),pe=ie(S),ke=R*2**pe;q.scaleTo(Q,ke,fe,S);return}const L=S.deltaMode===1?20:1;let ue=d.value===$o.Vertical?0:S.deltaX*L,le=d.value===$o.Horizontal?0:S.deltaY*L;!X&&S.shiftKey&&d.value!==$o.Vertical&&!ue&&le&&(ue=le,le=0),q.translateBy(Q,-(ue/R)*f.value,-(le/R)*f.value);const oe=ge(Q.property("__zoom"));I&&clearTimeout(I),W.value?(w.move({event:S,flowTransform:oe}),w.viewportChange(oe),I=setTimeout(()=>{w.moveEnd({event:S,flowTransform:oe}),w.viewportChangeEnd(oe),W.value=!1},150)):(W.value=!0,w.moveStart({event:S,flowTransform:oe}),w.viewportChangeStart(oe))},{passive:!1}):typeof $<"u"&&Q.on("wheel.zoom",function(S,O){const F=!y.value&&S.type==="wheel"&&!S.ctrlKey,J=V.value||h.value,R=m.value&&S.ctrlKey;if(!J&&!c.value&&!R&&S.type==="wheel"||F||me(S,g.value))return null;S.preventDefault(),$.call(this,S,O)},{passive:!1})},{immediate:!0})});function Y(te,ne){return ne===2&&Array.isArray(te)&&te.includes(2)}function ie(te){const ne=te.ctrlKey&&ni()?10:1;return-te.deltaY*(te.deltaMode===1?.05:te.deltaMode?1:.002)*ne}function ae(te,ne){return te.x!==ne.x&&!Number.isNaN(ne.x)||te.y!==ne.y&&!Number.isNaN(ne.y)||te.zoom!==ne.k&&!Number.isNaN(ne.k)}function ge(te){return{x:te.x,y:te.y,zoom:te.k}}function me(te,ne){return te.target.closest(`.${ne}`)}return(te,ne)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"viewportRef",ref:K,class:"vue-flow__viewport vue-flow__container"},[t.createVNode(pA,{"is-selecting":re.value,"selection-key-pressed":t.unref(G),class:t.normalizeClass({connecting:!!t.unref(b),dragging:t.unref(N),draggable:t.unref(u)===!0||Array.isArray(t.unref(u))&&t.unref(u).includes(0)})},{default:t.withCtx(()=>[t.createVNode(gA,null,{default:t.withCtx(()=>[t.renderSlot(te.$slots,"default")]),_:3})]),_:3},8,["is-selecting","selection-key-pressed","class"])],512))}}),_A=["id"],bA=["id"],wA=["id"],EA={name:"A11yDescriptions",compatConfig:{MODE:3}},kA=t.defineComponent({...EA,setup(e){const{id:n,disableKeyboardA11y:o,ariaLiveMessage:r}=Ie();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",{id:`${t.unref(qu)}-${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,_A),t.createElementVNode("div",{id:`${t.unref(Gu)}-${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,bA),t.unref(o)?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",{key:0,id:`${t.unref(zS)}-${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,wA))],64))}});function CA(){const e=Ie();t.watch(()=>e.viewportHelper.value.viewportInitialized,n=>{n&&setTimeout(()=>{e.emits.init(e),e.emits.paneReady(e)},1)})}function NA(e,n,o){return o===ye.Left?e-n:o===ye.Right?e+n:e}function vA(e,n,o){return o===ye.Top?e-n:o===ye.Bottom?e+n:e}const yl=function({radius:e=10,centerX:n=0,centerY:o=0,position:r=ye.Top,type:i}){return t.h("circle",{class:`vue-flow__edgeupdater vue-flow__edgeupdater-${i}`,cx:NA(n,e,r),cy:vA(o,e,r),r:e,stroke:"transparent",fill:"transparent"})};yl.props=["radius","centerX","centerY","position","type"],yl.compatConfig={MODE:3};const Lf=yl,SA=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:d,findEdge:f,findNode:u,isValidConnection:p,multiSelectionActive:m,disableKeyboardA11y:h,elementsSelectable:y,edgesUpdatable:g,edgesFocusable:_,hooks:w}=Ie(),b=t.computed(()=>f(e.id)),{emit:v,on:N}=kx(b.value,a),E=t.inject(ii),T=t.getCurrentInstance(),P=t.ref(!1),D=t.ref(!1),K=t.ref(""),j=t.ref(null),A=t.ref("source"),W=t.ref(null),I=t.toRef(()=>typeof b.value.selectable>"u"?y.value:b.value.selectable),U=t.toRef(()=>typeof b.value.updatable>"u"?g.value:b.value.updatable),M=t.toRef(()=>typeof b.value.focusable>"u"?_.value:b.value.focusable);t.provide(bx,e.id),t.provide(wx,W);const ee=t.computed(()=>b.value.class instanceof Function?b.value.class(b.value):b.value.class),H=t.computed(()=>b.value.style instanceof Function?b.value.style(b.value):b.value.style),G=t.computed(()=>{const C=b.value.type||"default",x=E==null?void 0:E[`edge-${C}`];if(x)return x;let S=b.value.template??c.value[C];if(typeof S=="string"&&T){const O=Object.keys(T.appContext.components);O&&O.includes(C)&&(S=t.resolveComponent(C,!1))}return S&&typeof S!="string"?S:(a.error(new He(Ue.EDGE_TYPE_MISSING,S)),!1)}),{handlePointerDown:V}=Sf({nodeId:K,handleId:j,type:A,isValidConnection:p,edgeUpdaterType:A,onEdgeUpdate:re,onEdgeUpdateEnd:Y});return()=>{const C=u(b.value.source),x=u(b.value.target),S="pathOptions"in b.value?b.value.pathOptions:{};if(!C&&!x)return a.error(new He(Ue.EDGE_SOURCE_TARGET_MISSING,b.value.id,b.value.source,b.value.target)),null;if(!C)return a.error(new He(Ue.EDGE_SOURCE_MISSING,b.value.id,b.value.source)),null;if(!x)return a.error(new He(Ue.EDGE_TARGET_MISSING,b.value.id,b.value.target)),null;if(!b.value||b.value.hidden||C.hidden||x.hidden)return null;let O;r.value===Ht.Strict?O=C.handleBounds.source:O=[...C.handleBounds.source||[],...C.handleBounds.target||[]];const F=pf(O,b.value.sourceHandle);let J;r.value===Ht.Strict?J=x.handleBounds.target:J=[...x.handleBounds.target||[],...x.handleBounds.source||[]];const R=pf(J,b.value.targetHandle),X=(F==null?void 0:F.position)||ye.Bottom,L=(R==null?void 0:R.position)||ye.Top,{x:ue,y:le}=Yn(C,F,X),{x:oe,y:fe}=Yn(x,R,L);return b.value.sourceX=ue,b.value.sourceY=le,b.value.targetX=oe,b.value.targetY=fe,t.h("g",{ref:W,key:e.id,"data-id":e.id,class:["vue-flow__edge",`vue-flow__edge-${G.value===!1?"default":b.value.type||"default"}`,s.value,ee.value,{updating:P.value,selected:b.value.selected,animated:b.value.animated,inactive:!I.value&&!w.value.edgeClick.hasListeners()}],tabIndex:M.value?0:void 0,"aria-label":b.value.ariaLabel===null?void 0:b.value.ariaLabel??`Edge from ${b.value.source} to ${b.value.target}`,"aria-describedby":M.value?`${Gu}-${n}`:void 0,"aria-roledescription":"edge",role:M.value?"group":"img",...b.value.domAttributes,onClick:ae,onContextmenu:ge,onDblclick:me,onMouseenter:te,onMousemove:ne,onMouseleave:q,onKeyDown:M.value?k:void 0},[D.value?null:t.h(G.value===!1?c.value.default:G.value,{id:e.id,sourceNode:C,targetNode:x,source:b.value.source,target:b.value.target,type:b.value.type,updatable:U.value,selected:b.value.selected,animated:b.value.animated,label:b.value.label,labelStyle:b.value.labelStyle,labelShowBg:b.value.labelShowBg,labelBgStyle:b.value.labelBgStyle,labelBgPadding:b.value.labelBgPadding,labelBgBorderRadius:b.value.labelBgBorderRadius,data:b.value.data,events:{...b.value.events,...N},style:H.value,markerStart:`url('#${Mo(b.value.markerStart,n)}')`,markerEnd:`url('#${Mo(b.value.markerEnd,n)}')`,sourcePosition:X,targetPosition:L,sourceX:ue,sourceY:le,targetX:oe,targetY:fe,sourceHandleId:b.value.sourceHandle,targetHandleId:b.value.targetHandle,interactionWidth:b.value.interactionWidth,...S}),[U.value==="source"||U.value===!0?[t.h("g",{onMousedown:Q,onMouseenter:B,onMouseout:Z},t.h(Lf,{position:X,centerX:ue,centerY:le,radius:i.value,type:"source","data-type":"source"}))]:null,U.value==="target"||U.value===!0?[t.h("g",{onMousedown:$,onMouseenter:B,onMouseout:Z},t.h(Lf,{position:L,centerX:oe,centerY:fe,radius:i.value,type:"target","data-type":"target"}))]:null]])};function B(){P.value=!0}function Z(){P.value=!1}function re(C,x){v.update({event:C,edge:b.value,connection:x})}function Y(C){v.updateEnd({event:C,edge:b.value}),D.value=!1}function ie(C,x){C.button===0&&(D.value=!0,K.value=x?b.value.target:b.value.source,j.value=(x?b.value.targetHandle:b.value.sourceHandle)??null,A.value=x?"target":"source",v.updateStart({event:C,edge:b.value}),V(C))}function ae(C){var x;const S={event:C,edge:b.value};I.value&&(l.value=!1,b.value.selected&&m.value?(d([b.value]),(x=W.value)==null||x.blur()):o([b.value])),v.click(S)}function ge(C){v.contextMenu({event:C,edge:b.value})}function me(C){v.doubleClick({event:C,edge:b.value})}function te(C){v.mouseEnter({event:C,edge:b.value})}function ne(C){v.mouseMove({event:C,edge:b.value})}function q(C){v.mouseLeave({event:C,edge:b.value})}function Q(C){ie(C,!0)}function $(C){ie(C,!1)}function k(C){var x;!h.value&&zu.includes(C.key)&&I.value&&(C.key==="Escape"?((x=W.value)==null||x.blur(),d([f(e.id)])):o([f(e.id)]))}}}),xA=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:d,viewport:f,findNode:u}=Ie(),p=(e=t.inject(ii))==null?void 0:e["connection-line"],m=t.computed(()=>{var w;return u((w=r.value)==null?void 0:w.nodeId)}),h=t.computed(()=>{var w;return u((w=i.value)==null?void 0:w.nodeId)??null}),y=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(#${Mo(c.value.markerStart,n)})`:""),_=t.computed(()=>c.value.markerEnd?`url(#${Mo(c.value.markerEnd,n)})`:"");return()=>{var w,b,v;if(!m.value||!r.value)return null;const N=r.value.id,E=r.value.type,T=m.value.handleBounds;let P=(T==null?void 0:T[E])??[];if(o.value===Ht.Loose){const H=(T==null?void 0:T[E==="source"?"target":"source"])??[];P=[...P,...H]}if(!P)return null;const D=(N?P.find(H=>H.id===N):P[0])??null,K=(D==null?void 0:D.position)??ye.Top,{x:j,y:A}=Yn(m.value,D,K);let W=null;h.value&&(o.value===Ht.Strict?W=((w=h.value.handleBounds[E==="source"?"target":"source"])==null?void 0:w.find(H=>{var G;return H.id===((G=i.value)==null?void 0:G.id)}))||null:W=((b=[...h.value.handleBounds.source??[],...h.value.handleBounds.target??[]])==null?void 0:b.find(H=>{var G;return H.id===((G=i.value)==null?void 0:G.id)}))||null);const I=((v=i.value)==null?void 0:v.position)??(K?dl[K]:null);if(!K||!I)return null;const U=l.value??c.value.type??gn.Bezier;let M="";const ee={sourceX:j,sourceY:A,sourcePosition:K,targetX:y.value.x,targetY:y.value.y,targetPosition:I};return U===gn.Bezier?[M]=$f(ee):U===gn.Step?[M]=hl({...ee,borderRadius:0}):U===gn.SmoothStep?[M]=hl(ee):U===gn.SimpleBezier?[M]=Vf(ee):M=`M${j},${A} ${y.value.x},${y.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:j,sourceY:A,sourcePosition:K,targetX:y.value.x,targetY:y.value.y,targetPosition:I,sourceNode:m.value,sourceHandle:D,targetNode:h.value,targetHandle:W,markerEnd:_.value,markerStart:g.value,connectionStatus:d.value}):t.h("path",{d:M,class:[c.value.class,d,"vue-flow__connection-path"],style:{...s.value,...c.value.style},"marker-end":_.value,"marker-start":g.value})))}}}),AA=["id","markerWidth","markerHeight","markerUnits","orient"],IA={name:"MarkerType",compatConfig:{MODE:3}},PA=t.defineComponent({...IA,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(Zr).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(Zr).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,AA))}}),TA={class:"vue-flow__marker vue-flow__container","aria-hidden":"true"},OA={name:"MarkerDefinitions",compatConfig:{MODE:3}},$A=t.defineComponent({...OA,setup(e){const{id:n,edges:o,connectionLineOptions:r,defaultMarkerColor:i}=Ie(),a=t.computed(()=>{const l=new Set,s=[],c=d=>{if(d){const f=Mo(d,n);l.has(f)||(typeof d=="object"?s.push({...d,id:f,color:d.color||i.value}):s.push({id:f,color:i.value,type:d}),l.add(f))}};for(const d of[r.value.markerEnd,r.value.markerStart])c(d);for(const d of o.value)for(const f of[d.markerStart,d.markerEnd])c(f);return s.sort((d,f)=>d.id.localeCompare(f.id))});return(l,s)=>(t.openBlock(),t.createElementBlock("svg",TA,[t.createElementVNode("defs",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,c=>(t.openBlock(),t.createBlock(PA,{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))])]))}}),BA={name:"Edges",compatConfig:{MODE:3}},VA=t.defineComponent({...BA,setup(e){const{findNode:n,getEdges:o,elevateEdgesOnSelect:r}=Ie();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode($A),(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(ax)(l,t.unref(n),t.unref(r))})},[t.createVNode(t.unref(SA),{id:l.id},null,8,["id"])],4))),128)),t.createVNode(t.unref(xA))],64))}}),RA=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:d,onUpdateNodeInternals:f,getNodeTypes:u,nodeExtent:p,elevateNodesOnSelect:m,disableKeyboardA11y:h,ariaLiveMessage:y,snapToGrid:g,snapGrid:_,nodeDragThreshold:w,nodesDraggable:b,elementsSelectable:v,nodesConnectable:N,nodesFocusable:E,hooks:T}=Ie(),P=t.ref(null);t.provide(Nf,P),t.provide(Cf,e.id);const D=t.inject(ii),K=t.getCurrentInstance(),j=Af(),{node:A,parentNode:W}=xf(e.id),{emit:I,on:U}=Sx(A,l),M=t.toRef(()=>typeof A.draggable>"u"?b.value:A.draggable),ee=t.toRef(()=>typeof A.selectable>"u"?v.value:A.selectable),H=t.toRef(()=>typeof A.connectable>"u"?N.value:A.connectable),G=t.toRef(()=>typeof A.focusable>"u"?E.value:A.focusable),V=t.computed(()=>ee.value||M.value||T.value.nodeClick.hasListeners()||T.value.nodeDoubleClick.hasListeners()||T.value.nodeMouseEnter.hasListeners()||T.value.nodeMouseMove.hasListeners()||T.value.nodeMouseLeave.hasListeners()),B=t.toRef(()=>!!A.dimensions.width&&!!A.dimensions.height),Z=t.computed(()=>{const x=A.type||"default",S=D==null?void 0:D[`node-${x}`];if(S)return S;let O=A.template||u.value[x];if(typeof O=="string"&&K){const F=Object.keys(K.appContext.components);F&&F.includes(x)&&(O=t.resolveComponent(x,!1))}return O&&typeof O!="string"?O:(l.error(new He(Ue.NODE_TYPE_MISSING,O)),!1)}),re=vf({id:e.id,el:P,disabled:()=>!M.value,selectable:ee,dragHandle:()=>A.dragHandle,onStart(x){I.dragStart(x)},onDrag(x){I.drag(x)},onStop(x){I.dragStop(x)},onClick(x){k(x)}}),Y=t.computed(()=>A.class instanceof Function?A.class(A):A.class),ie=t.computed(()=>{const x=(A.style instanceof Function?A.style(A):A.style)||{},S=A.width instanceof Function?A.width(A):A.width,O=A.height instanceof Function?A.height(A):A.height;return!x.width&&S&&(x.width=typeof S=="string"?S:`${S}px`),!x.height&&O&&(x.height=typeof O=="string"?O:`${O}px`),x}),ae=t.toRef(()=>Number(A.zIndex??ie.value.zIndex??0));return f(x=>{(x.includes(e.id)||!x.length)&&me()}),t.onMounted(()=>{t.watch(()=>A.hidden,(x=!1,S,O)=>{!x&&P.value&&(e.resizeObserver.observe(P.value),O(()=>{P.value&&e.resizeObserver.unobserve(P.value)}))},{immediate:!0,flush:"post"})}),t.watch([()=>A.type,()=>A.sourcePosition,()=>A.targetPosition],()=>{t.nextTick(()=>{d([{id:e.id,nodeElement:P.value,forceUpdate:!0}])})}),t.watch([()=>A.position.x,()=>A.position.y,()=>{var x;return(x=W.value)==null?void 0:x.computedPosition.x},()=>{var x;return(x=W.value)==null?void 0:x.computedPosition.y},()=>{var x;return(x=W.value)==null?void 0:x.computedPosition.z},ae,()=>A.selected,()=>A.dimensions.height,()=>A.dimensions.width,()=>{var x;return(x=W.value)==null?void 0:x.dimensions.height},()=>{var x;return(x=W.value)==null?void 0:x.dimensions.width}],([x,S,O,F,J,R])=>{const X={x,y:S,z:R+(m.value&&A.selected?1e3:0)};typeof O<"u"&&typeof F<"u"?A.computedPosition=ex({x:O,y:F,z:J},X):A.computedPosition=X},{flush:"post",immediate:!0}),t.watch([()=>A.extent,p],([x,S],[O,F])=>{(x!==O||S!==F)&&ge()}),A.extent==="parent"||typeof A.extent=="object"&&"range"in A.extent&&A.extent.range==="parent"?Va(()=>B).toBe(!0).then(ge):ge(),()=>A.hidden?null:t.h("div",{ref:P,"data-id":A.id,class:["vue-flow__node",`vue-flow__node-${Z.value===!1?"default":A.type||"default"}`,{[o.value]:M.value,dragging:re==null?void 0:re.value,draggable:M.value,selected:A.selected,selectable:ee.value,parent:A.isParent},Y.value],style:{visibility:B.value?"visible":"hidden",zIndex:A.computedPosition.z??ae.value,transform:`translate(${A.computedPosition.x}px,${A.computedPosition.y}px)`,pointerEvents:V.value?"all":"none",...ie.value},tabIndex:G.value?0:void 0,role:G.value?"group":void 0,"aria-describedby":h.value?void 0:`${qu}-${n}`,"aria-label":A.ariaLabel,"aria-roledescription":"node",...A.domAttributes,onMouseenter:te,onMousemove:ne,onMouseleave:q,onContextmenu:Q,onClick:k,onDblclick:$,onKeydown:C},[t.h(Z.value===!1?u.value.default:Z.value,{id:A.id,type:A.type,data:A.data,events:{...A.events,...U},selected:A.selected,resizing:A.resizing,dragging:re.value,connectable:H.value,position:A.computedPosition,dimensions:A.dimensions,isValidTargetPos:A.isValidTargetPos,isValidSourcePos:A.isValidSourcePos,parent:A.parentNode,parentNodeId:A.parentNode,zIndex:A.computedPosition.z??ae.value,targetPosition:A.targetPosition,sourcePosition:A.sourcePosition,label:A.label,dragHandle:A.dragHandle,onUpdateNodeInternals:me})]);function ge(){const x=A.computedPosition,{computedPosition:S,position:O}=ll(A,g.value?oi(x,_.value):x,l.error,p.value,W.value);(A.computedPosition.x!==S.x||A.computedPosition.y!==S.y)&&(A.computedPosition={...A.computedPosition,...S}),(A.position.x!==O.x||A.position.y!==O.y)&&(A.position=O)}function me(){P.value&&d([{id:e.id,nodeElement:P.value,forceUpdate:!0}])}function te(x){re!=null&&re.value||I.mouseEnter({event:x,node:A})}function ne(x){re!=null&&re.value||I.mouseMove({event:x,node:A})}function q(x){re!=null&&re.value||I.mouseLeave({event:x,node:A})}function Q(x){return I.contextMenu({event:x,node:A})}function $(x){return I.doubleClick({event:x,node:A})}function k(x){ee.value&&(!r.value||!M.value||w.value>0)&&ul(A,a.value,c,s,i,!1,P.value),I.click({event:x,node:A})}function C(x){if(!(ol(x)||h.value))if(zu.includes(x.key)&&ee.value){const S=x.key==="Escape";ul(A,a.value,c,s,i,S,P.value)}else M.value&&A.selected&&Hn[x.key]&&(x.preventDefault(),y.value=`Moved selected node ${x.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~A.position.x}, y: ${~~A.position.y}`,j({x:Hn[x.key].x,y:Hn[x.key].y},x.shiftKey))}}});function MA(e={includeHiddenNodes:!1}){const{nodes:n}=Ie();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 DA={class:"vue-flow__nodes vue-flow__container"},LA={name:"Nodes",compatConfig:{MODE:3}},FA=t.defineComponent({...LA,setup(e){const{getNodes:n,updateNodeDimensions:o,emits:r}=Ie(),i=MA(),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",DA,[a.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(t.unref(n),(c,d,f,u)=>{const p=[c.id];if(u&&u.key===c.id&&t.isMemoSame(u,p))return u;const m=(t.openBlock(),t.createBlock(t.unref(RA),{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 UA(){const{emits:e}=Ie();t.onMounted(()=>{if(yf()){const n=document.querySelector(".vue-flow__pane");n&&window.getComputedStyle(n).zIndex!=="1"&&e.error(new He(Ue.MISSING_STYLES))}})}const KA=t.createElementVNode("div",{class:"vue-flow__edge-labels"},null,-1),jA={name:"VueFlow",compatConfig:{MODE:3}},Ff=t.defineComponent({...jA,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=Ra(r,"modelValue",o),l=Ra(r,"nodes",o),s=Ra(r,"edges",o),c=Ie(r),d=Px({modelValue:a,nodes:l,edges:s},r,c);return Ox(o,c.hooks),CA(),UA(),t.provide(ii,i),t.onUnmounted(()=>{d()}),n(c),(f,u)=>(t.openBlock(),t.createElementBlock("div",{ref:t.unref(c).vueFlowRef,class:"vue-flow"},[t.createVNode(yA,null,{default:t.withCtx(()=>[t.createVNode(VA),KA,t.createVNode(FA),t.renderSlot(f.$slots,"zoom-pane")]),_:3}),t.renderSlot(f.$slots,"default"),t.createVNode(kA)],512))}}),qA={name:"Panel",compatConfig:{MODE:3}},GA=t.defineComponent({...qA,props:{position:{}},setup(e){const n=e,{userSelectionActive:o}=Ie(),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 Ut=(e=>(e.Lines="lines",e.Dots="dots",e))(Ut||{});const Uf=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]}`})},Kf=function({radius:e,color:n}){return t.h("circle",{cx:e,cy:e,r:e,fill:n})};Ut.Lines+"",Ut.Dots+"";const zA={[Ut.Dots]:"#81818a",[Ut.Lines]:"#eee"},HA=["id","x","y","width","height","patternTransform"],YA={key:2,height:"100",width:"100"},WA=["fill"],XA=["x","y","fill"],ZA={name:"Background",compatConfig:{MODE:3}},JA=t.defineComponent({...ZA,props:{id:{},variant:{default:()=>Ut.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}=Ie(),r=t.computed(()=>{const l=o.value.zoom,[s,c]=Array.isArray(e.gap)?e.gap:[e.gap,e.gap],d=[s*l||1,c*l||1],f=e.size*l,[u,p]=Array.isArray(e.offset)?e.offset:[e.offset,e.offset],m=[u*l||1+d[0]/2,p*l||1+d[1]/2];return{scaledGap:d,offset:m,size:f}}),i=t.toRef(()=>`pattern-${n}${e.id?`-${e.id}`:""}`),a=t.toRef(()=>e.color||e.patternColor||zA[e.variant||Ut.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(Ut).Lines?(t.openBlock(),t.createBlock(t.unref(Uf),{key:0,size:l.lineWidth,color:a.value,dimensions:r.value.scaledGap},null,8,["size","color","dimensions"])):l.variant===t.unref(Ut).Dots?(t.openBlock(),t.createBlock(t.unref(Kf),{key:1,color:a.value,radius:r.value.size/2},null,8,["color","radius"])):t.createCommentVNode("",!0),l.bgColor?(t.openBlock(),t.createElementBlock("svg",YA,[t.createElementVNode("rect",{width:"100%",height:"100%",fill:l.bgColor},null,8,WA)])):t.createCommentVNode("",!0)])],8,HA)]),t.createElementVNode("rect",{x:l.x,y:l.y,width:"100%",height:"100%",fill:`url(#${i.value})`},null,8,XA),t.renderSlot(l.$slots,"default",{id:i.value})],4))}}),QA={name:"ControlButton",compatConfig:{MODE:3}},eI=(e,n)=>{const o=e.__vccOpts||e;for(const[r,i]of n)o[r]=i;return o},tI={class:"vue-flow__controls-button"};function nI(e,n,o,r,i,a){return t.openBlock(),t.createElementBlock("button",tI,[t.renderSlot(e.$slots,"default")])}const fi=eI(QA,[["render",nI]]),oI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},rI=[t.createElementVNode("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"},null,-1)];function iI(e,n){return t.openBlock(),t.createElementBlock("svg",oI,rI)}const aI={render:iI},lI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},sI=[t.createElementVNode("path",{d:"M0 0h32v4.2H0z"},null,-1)];function cI(e,n){return t.openBlock(),t.createElementBlock("svg",lI,sI)}const dI={render:cI},uI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},fI=[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 pI(e,n){return t.openBlock(),t.createElementBlock("svg",uI,fI)}const mI={render:pI},gI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},hI=[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 yI(e,n){return t.openBlock(),t.createElementBlock("svg",gI,hI)}const _I={render:yI},bI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},wI=[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 EI(e,n){return t.openBlock(),t.createElementBlock("svg",bI,wI)}const kI={render:EI},CI={name:"Controls",compatConfig:{MODE:3}},NI=t.defineComponent({...CI,props:{showZoom:{type:Boolean,default:!0},showFitView:{type:Boolean,default:!0},showInteractive:{type:Boolean,default:!0},fitViewParams:{},position:{default:()=>Ku.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:d,minZoom:f,maxZoom:u}=Ie(),p=t.toRef(()=>o.value||r.value||i.value),m=t.toRef(()=>d.value.zoom<=f.value),h=t.toRef(()=>d.value.zoom>=u.value);function y(){l(),n("zoomIn")}function g(){s(),n("zoomOut")}function _(){c(e.fitViewParams),n("fitView")}function w(){a(!p.value),n("interactionChange",!p.value)}return(b,v)=>(t.openBlock(),t.createBlock(t.unref(GA),{class:"vue-flow__controls",position:b.position},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"top"),b.showZoom?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.renderSlot(b.$slots,"control-zoom-in",{},()=>[t.createVNode(fi,{class:"vue-flow__controls-zoomin",disabled:h.value,onClick:y},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-zoom-in",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(aI))))])]),_:3},8,["disabled"])]),t.renderSlot(b.$slots,"control-zoom-out",{},()=>[t.createVNode(fi,{class:"vue-flow__controls-zoomout",disabled:m.value,onClick:g},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-zoom-out",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(dI))))])]),_:3},8,["disabled"])])],64)):t.createCommentVNode("",!0),b.showFitView?t.renderSlot(b.$slots,"control-fit-view",{key:1},()=>[t.createVNode(fi,{class:"vue-flow__controls-fitview",onClick:_},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-fit-view",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(mI))))])]),_:3})]):t.createCommentVNode("",!0),b.showInteractive?t.renderSlot(b.$slots,"control-interactive",{key:2},()=>[b.showInteractive?(t.openBlock(),t.createBlock(fi,{key:0,class:"vue-flow__controls-interactive",onClick:w},{default:t.withCtx(()=>[p.value?t.renderSlot(b.$slots,"icon-unlock",{key:0},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(kI))))]):t.createCommentVNode("",!0),p.value?t.createCommentVNode("",!0):t.renderSlot(b.$slots,"icon-lock",{key:1},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(_I))))])]),_:3})):t.createCommentVNode("",!0)]):t.createCommentVNode("",!0),t.renderSlot(b.$slots,"default")]),_:3},8,["position"]))}}),vI="44px",SI="220px",xI="366px",AI="52px",II=["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS","TRACE","CONNECT"],jf="application/x-datakit+json";function PI(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var TI="\0",bn="\0",qf="";let OI=class{constructor(n){qe(this,"_isDirected",!0);qe(this,"_isMultigraph",!1);qe(this,"_isCompound",!1);qe(this,"_label");qe(this,"_defaultNodeLabelFn",()=>{});qe(this,"_defaultEdgeLabelFn",()=>{});qe(this,"_nodes",{});qe(this,"_in",{});qe(this,"_preds",{});qe(this,"_out",{});qe(this,"_sucs",{});qe(this,"_edgeObjs",{});qe(this,"_edgeLabels",{});qe(this,"_nodeCount",0);qe(this,"_edgeCount",0);qe(this,"_parent");qe(this,"_children");n&&(this._isDirected=Object.hasOwn(n,"directed")?n.directed:!0,this._isMultigraph=Object.hasOwn(n,"multigraph")?n.multigraph:!1,this._isCompound=Object.hasOwn(n,"compound")?n.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[bn]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(n){return this._label=n,this}graph(){return this._label}setDefaultNodeLabel(n){return this._defaultNodeLabelFn=n,typeof n!="function"&&(this._defaultNodeLabelFn=()=>n),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var n=this;return this.nodes().filter(o=>Object.keys(n._in[o]).length===0)}sinks(){var n=this;return this.nodes().filter(o=>Object.keys(n._out[o]).length===0)}setNodes(n,o){var r=arguments,i=this;return n.forEach(function(a){r.length>1?i.setNode(a,o):i.setNode(a)}),this}setNode(n,o){return Object.hasOwn(this._nodes,n)?(arguments.length>1&&(this._nodes[n]=o),this):(this._nodes[n]=arguments.length>1?o:this._defaultNodeLabelFn(n),this._isCompound&&(this._parent[n]=bn,this._children[n]={},this._children[bn][n]=!0),this._in[n]={},this._preds[n]={},this._out[n]={},this._sucs[n]={},++this._nodeCount,this)}node(n){return this._nodes[n]}hasNode(n){return Object.hasOwn(this._nodes,n)}removeNode(n){var o=this;if(Object.hasOwn(this._nodes,n)){var r=i=>o.removeEdge(o._edgeObjs[i]);delete this._nodes[n],this._isCompound&&(this._removeFromParentsChildList(n),delete this._parent[n],this.children(n).forEach(function(i){o.setParent(i)}),delete this._children[n]),Object.keys(this._in[n]).forEach(r),delete this._in[n],delete this._preds[n],Object.keys(this._out[n]).forEach(r),delete this._out[n],delete this._sucs[n],--this._nodeCount}return this}setParent(n,o){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(o===void 0)o=bn;else{o+="";for(var r=o;r!==void 0;r=this.parent(r))if(r===n)throw new Error("Setting "+o+" as parent of "+n+" would create a cycle");this.setNode(o)}return this.setNode(n),this._removeFromParentsChildList(n),this._parent[n]=o,this._children[o][n]=!0,this}_removeFromParentsChildList(n){delete this._children[this._parent[n]][n]}parent(n){if(this._isCompound){var o=this._parent[n];if(o!==bn)return o}}children(n=bn){if(this._isCompound){var o=this._children[n];if(o)return Object.keys(o)}else{if(n===bn)return this.nodes();if(this.hasNode(n))return[]}}predecessors(n){var o=this._preds[n];if(o)return Object.keys(o)}successors(n){var o=this._sucs[n];if(o)return Object.keys(o)}neighbors(n){var o=this.predecessors(n);if(o){const i=new Set(o);for(var r of this.successors(n))i.add(r);return Array.from(i.values())}}isLeaf(n){var o;return this.isDirected()?o=this.successors(n):o=this.neighbors(n),o.length===0}filterNodes(n){var o=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});o.setGraph(this.graph());var r=this;Object.entries(this._nodes).forEach(function([l,s]){n(l)&&o.setNode(l,s)}),Object.values(this._edgeObjs).forEach(function(l){o.hasNode(l.v)&&o.hasNode(l.w)&&o.setEdge(l,r.edge(l))});var i={};function a(l){var s=r.parent(l);return s===void 0||o.hasNode(s)?(i[l]=s,s):s in i?i[s]:a(s)}return this._isCompound&&o.nodes().forEach(l=>o.setParent(l,a(l))),o}setDefaultEdgeLabel(n){return this._defaultEdgeLabelFn=n,typeof n!="function"&&(this._defaultEdgeLabelFn=()=>n),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(n,o){var r=this,i=arguments;return n.reduce(function(a,l){return i.length>1?r.setEdge(a,l,o):r.setEdge(a,l),l}),this}setEdge(){var n,o,r,i,a=!1,l=arguments[0];typeof l=="object"&&l!==null&&"v"in l?(n=l.v,o=l.w,r=l.name,arguments.length===2&&(i=arguments[1],a=!0)):(n=l,o=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),n=""+n,o=""+o,r!==void 0&&(r=""+r);var s=Do(this._isDirected,n,o,r);if(Object.hasOwn(this._edgeLabels,s))return a&&(this._edgeLabels[s]=i),this;if(r!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(n),this.setNode(o),this._edgeLabels[s]=a?i:this._defaultEdgeLabelFn(n,o,r);var c=$I(this._isDirected,n,o,r);return n=c.v,o=c.w,Object.freeze(c),this._edgeObjs[s]=c,Gf(this._preds[o],n),Gf(this._sucs[n],o),this._in[o][s]=c,this._out[n][s]=c,this._edgeCount++,this}edge(n,o,r){var i=arguments.length===1?_l(this._isDirected,arguments[0]):Do(this._isDirected,n,o,r);return this._edgeLabels[i]}edgeAsObj(){const n=this.edge(...arguments);return typeof n!="object"?{label:n}:n}hasEdge(n,o,r){var i=arguments.length===1?_l(this._isDirected,arguments[0]):Do(this._isDirected,n,o,r);return Object.hasOwn(this._edgeLabels,i)}removeEdge(n,o,r){var i=arguments.length===1?_l(this._isDirected,arguments[0]):Do(this._isDirected,n,o,r),a=this._edgeObjs[i];return a&&(n=a.v,o=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],zf(this._preds[o],n),zf(this._sucs[n],o),delete this._in[o][i],delete this._out[n][i],this._edgeCount--),this}inEdges(n,o){var r=this._in[n];if(r){var i=Object.values(r);return o?i.filter(a=>a.v===o):i}}outEdges(n,o){var r=this._out[n];if(r){var i=Object.values(r);return o?i.filter(a=>a.w===o):i}}nodeEdges(n,o){var r=this.inEdges(n,o);if(r)return r.concat(this.outEdges(n,o))}};function Gf(e,n){e[n]?e[n]++:e[n]=1}function zf(e,n){--e[n]||delete e[n]}function Do(e,n,o,r){var i=""+n,a=""+o;if(!e&&i>a){var l=i;i=a,a=l}return i+qf+a+qf+(r===void 0?TI:r)}function $I(e,n,o,r){var i=""+n,a=""+o;if(!e&&i>a){var l=i;i=a,a=l}var s={v:i,w:a};return r&&(s.name=r),s}function _l(e,n){return Do(e,n.v,n.w,n.name)}var bl=OI,BI="2.2.4",VI={Graph:bl,version:BI},RI=bl,MI={write:DI,read:UI};function DI(e){var n={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:LI(e),edges:FI(e)};return e.graph()!==void 0&&(n.value=structuredClone(e.graph())),n}function LI(e){return e.nodes().map(function(n){var o=e.node(n),r=e.parent(n),i={v:n};return o!==void 0&&(i.value=o),r!==void 0&&(i.parent=r),i})}function FI(e){return e.edges().map(function(n){var o=e.edge(n),r={v:n.v,w:n.w};return n.name!==void 0&&(r.name=n.name),o!==void 0&&(r.value=o),r})}function UI(e){var n=new RI(e.options).setGraph(e.value);return e.nodes.forEach(function(o){n.setNode(o.v,o.value),o.parent&&n.setParent(o.v,o.parent)}),e.edges.forEach(function(o){n.setEdge({v:o.v,w:o.w,name:o.name},o.value)}),n}var KI=jI;function jI(e){var n={},o=[],r;function i(a){Object.hasOwn(n,a)||(n[a]=!0,r.push(a),e.successors(a).forEach(i),e.predecessors(a).forEach(i))}return e.nodes().forEach(function(a){r=[],i(a),r.length&&o.push(r)}),o}var Hf=class{constructor(){qe(this,"_arr",[]);qe(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var o=this._keyIndices[n];if(o!==void 0)return this._arr[o].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,o){var r=this._keyIndices;if(n=String(n),!Object.hasOwn(r,n)){var i=this._arr,a=i.length;return r[n]=a,i.push({key:n,priority:o}),this._decrease(a),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,o){var r=this._keyIndices[n];if(o>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[r].priority+" New: "+o);this._arr[r].priority=o,this._decrease(r)}_heapify(n){var o=this._arr,r=2*n,i=r+1,a=n;r<o.length&&(a=o[r].priority<o[a].priority?r:a,i<o.length&&(a=o[i].priority<o[a].priority?i:a),a!==n&&(this._swap(n,a),this._heapify(a)))}_decrease(n){for(var o=this._arr,r=o[n].priority,i;n!==0&&(i=n>>1,!(o[i].priority<r));)this._swap(n,i),n=i}_swap(n,o){var r=this._arr,i=this._keyIndices,a=r[n],l=r[o];r[n]=l,r[o]=a,i[l.key]=n,i[a.key]=o}},qI=Hf,Yf=zI,GI=()=>1;function zI(e,n,o,r){return HI(e,String(n),o||GI,r||function(i){return e.outEdges(i)})}function HI(e,n,o,r){var i={},a=new qI,l,s,c=function(d){var f=d.v!==l?d.v:d.w,u=i[f],p=o(d),m=s.distance+p;if(p<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+d+" Weight: "+p);m<u.distance&&(u.distance=m,u.predecessor=l,a.decrease(f,m))};for(e.nodes().forEach(function(d){var f=d===n?0:Number.POSITIVE_INFINITY;i[d]={distance:f},a.add(d,f)});a.size()>0&&(l=a.removeMin(),s=i[l],s.distance!==Number.POSITIVE_INFINITY);)r(l).forEach(c);return i}var YI=Yf,WI=XI;function XI(e,n,o){return e.nodes().reduce(function(r,i){return r[i]=YI(e,i,n,o),r},{})}var Wf=ZI;function ZI(e){var n=0,o=[],r={},i=[];function a(l){var s=r[l]={onStack:!0,lowlink:n,index:n++};if(o.push(l),e.successors(l).forEach(function(f){Object.hasOwn(r,f)?r[f].onStack&&(s.lowlink=Math.min(s.lowlink,r[f].index)):(a(f),s.lowlink=Math.min(s.lowlink,r[f].lowlink))}),s.lowlink===s.index){var c=[],d;do d=o.pop(),r[d].onStack=!1,c.push(d);while(l!==d);i.push(c)}}return e.nodes().forEach(function(l){Object.hasOwn(r,l)||a(l)}),i}var JI=Wf,QI=eP;function eP(e){return JI(e).filter(function(n){return n.length>1||n.length===1&&e.hasEdge(n[0],n[0])})}var tP=oP,nP=()=>1;function oP(e,n,o){return rP(e,n||nP,o||function(r){return e.outEdges(r)})}function rP(e,n,o){var r={},i=e.nodes();return i.forEach(function(a){r[a]={},r[a][a]={distance:0},i.forEach(function(l){a!==l&&(r[a][l]={distance:Number.POSITIVE_INFINITY})}),o(a).forEach(function(l){var s=l.v===a?l.w:l.v,c=n(l);r[a][s]={distance:c,predecessor:a}})}),i.forEach(function(a){var l=r[a];i.forEach(function(s){var c=r[s];i.forEach(function(d){var f=c[a],u=l[d],p=c[d],m=f.distance+u.distance;m<p.distance&&(p.distance=m,p.predecessor=u.predecessor)})})}),r}function Xf(e){var n={},o={},r=[];function i(a){if(Object.hasOwn(o,a))throw new wl;Object.hasOwn(n,a)||(o[a]=!0,n[a]=!0,e.predecessors(a).forEach(i),delete o[a],r.push(a))}if(e.sinks().forEach(i),Object.keys(n).length!==e.nodeCount())throw new wl;return r}class wl extends Error{constructor(){super(...arguments)}}var Zf=Xf;Xf.CycleException=wl;var Jf=Zf,iP=aP;function aP(e){try{Jf(e)}catch(n){if(n instanceof Jf.CycleException)return!1;throw n}return!0}var Qf=lP;function lP(e,n,o){Array.isArray(n)||(n=[n]);var r=e.isDirected()?s=>e.successors(s):s=>e.neighbors(s),i=o==="post"?sP:cP,a=[],l={};return n.forEach(s=>{if(!e.hasNode(s))throw new Error("Graph does not have node: "+s);i(s,r,l,a)}),a}function sP(e,n,o,r){for(var i=[[e,!1]];i.length>0;){var a=i.pop();a[1]?r.push(a[0]):Object.hasOwn(o,a[0])||(o[a[0]]=!0,i.push([a[0],!0]),ep(n(a[0]),l=>i.push([l,!1])))}}function cP(e,n,o,r){for(var i=[e];i.length>0;){var a=i.pop();Object.hasOwn(o,a)||(o[a]=!0,r.push(a),ep(n(a),l=>i.push(l)))}}function ep(e,n){for(var o=e.length;o--;)n(e[o],o,e);return e}var dP=Qf,uP=fP;function fP(e,n){return dP(e,n,"post")}var pP=Qf,mP=gP;function gP(e,n){return pP(e,n,"pre")}var hP=bl,yP=Hf,_P=bP;function bP(e,n){var o=new hP,r={},i=new yP,a;function l(c){var d=c.v===a?c.w:c.v,f=i.priority(d);if(f!==void 0){var u=n(c);u<f&&(r[d]=a,i.decrease(d,u))}}if(e.nodeCount()===0)return o;e.nodes().forEach(function(c){i.add(c,Number.POSITIVE_INFINITY),o.setNode(c)}),i.decrease(e.nodes()[0],0);for(var s=!1;i.size()>0;){if(a=i.removeMin(),Object.hasOwn(r,a))o.setEdge(a,r[a]);else{if(s)throw new Error("Input graph is not connected: "+e);s=!0}e.nodeEdges(a).forEach(l)}return o}var wP={components:KI,dijkstra:Yf,dijkstraAll:WI,findCycles:QI,floydWarshall:tP,isAcyclic:iP,postorder:uP,preorder:mP,prim:_P,tarjan:Wf,topsort:Zf},tp=VI,wt={Graph:tp.Graph,json:MI,alg:wP,version:tp.version};let EP=class{constructor(){let n={};n._next=n._prev=n,this._sentinel=n}dequeue(){let n=this._sentinel,o=n._prev;if(o!==n)return np(o),o}enqueue(n){let o=this._sentinel;n._prev&&n._next&&np(n),n._next=o._next,o._next._prev=n,o._next=n,n._prev=o}toString(){let n=[],o=this._sentinel,r=o._prev;for(;r!==o;)n.push(JSON.stringify(r,kP)),r=r._prev;return"["+n.join(", ")+"]"}};function np(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function kP(e,n){if(e!=="_next"&&e!=="_prev")return n}var CP=EP;let NP=wt.Graph,vP=CP;var SP=AP;let xP=()=>1;function AP(e,n){if(e.nodeCount()<=1)return[];let o=PP(e,n||xP);return IP(o.graph,o.buckets,o.zeroIdx).flatMap(i=>e.outEdges(i.v,i.w))}function IP(e,n,o){let r=[],i=n[n.length-1],a=n[0],l;for(;e.nodeCount();){for(;l=a.dequeue();)El(e,n,o,l);for(;l=i.dequeue();)El(e,n,o,l);if(e.nodeCount()){for(let s=n.length-2;s>0;--s)if(l=n[s].dequeue(),l){r=r.concat(El(e,n,o,l,!0));break}}}return r}function El(e,n,o,r,i){let a=i?[]:void 0;return e.inEdges(r.v).forEach(l=>{let s=e.edge(l),c=e.node(l.v);i&&a.push({v:l.v,w:l.w}),c.out-=s,kl(n,o,c)}),e.outEdges(r.v).forEach(l=>{let s=e.edge(l),c=l.w,d=e.node(c);d.in-=s,kl(n,o,d)}),e.removeNode(r.v),a}function PP(e,n){let o=new NP,r=0,i=0;e.nodes().forEach(s=>{o.setNode(s,{v:s,in:0,out:0})}),e.edges().forEach(s=>{let c=o.edge(s.v,s.w)||0,d=n(s),f=c+d;o.setEdge(s.v,s.w,f),i=Math.max(i,o.node(s.v).out+=d),r=Math.max(r,o.node(s.w).in+=d)});let a=TP(i+r+3).map(()=>new vP),l=r+1;return o.nodes().forEach(s=>{kl(a,l,o.node(s))}),{graph:o,buckets:a,zeroIdx:l}}function kl(e,n,o){o.out?o.in?e[o.out-o.in+n].enqueue(o):e[e.length-1].enqueue(o):e[0].enqueue(o)}function TP(e){const n=[];for(let o=0;o<e;o++)n.push(o);return n}let op=wt.Graph;var je={addBorderNode:FP,addDummyNode:rp,applyWithChunking:pi,asNonCompoundGraph:$P,buildLayerMatrix:MP,intersectRect:RP,mapValues:HP,maxRank:ap,normalizeRanks:DP,notime:qP,partition:KP,pick:zP,predecessorWeights:VP,range:sp,removeEmptyRanks:LP,simplify:OP,successorWeights:BP,time:jP,uniqueId:lp,zipObject:Cl};function rp(e,n,o,r){for(var i=r;e.hasNode(i);)i=lp(r);return o.dummy=n,e.setNode(i,o),i}function OP(e){let n=new op().setGraph(e.graph());return e.nodes().forEach(o=>n.setNode(o,e.node(o))),e.edges().forEach(o=>{let r=n.edge(o.v,o.w)||{weight:0,minlen:1},i=e.edge(o);n.setEdge(o.v,o.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),n}function $P(e){let n=new op({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(o=>{e.children(o).length||n.setNode(o,e.node(o))}),e.edges().forEach(o=>{n.setEdge(o,e.edge(o))}),n}function BP(e){let n=e.nodes().map(o=>{let r={};return e.outEdges(o).forEach(i=>{r[i.w]=(r[i.w]||0)+e.edge(i).weight}),r});return Cl(e.nodes(),n)}function VP(e){let n=e.nodes().map(o=>{let r={};return e.inEdges(o).forEach(i=>{r[i.v]=(r[i.v]||0)+e.edge(i).weight}),r});return Cl(e.nodes(),n)}function RP(e,n){let o=e.x,r=e.y,i=n.x-o,a=n.y-r,l=e.width/2,s=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");let c,d;return Math.abs(a)*l>Math.abs(i)*s?(a<0&&(s=-s),c=s*i/a,d=s):(i<0&&(l=-l),c=l,d=l*a/i),{x:o+c,y:r+d}}function MP(e){let n=sp(ap(e)+1).map(()=>[]);return e.nodes().forEach(o=>{let r=e.node(o),i=r.rank;i!==void 0&&(n[i][r.order]=o)}),n}function DP(e){let n=e.nodes().map(r=>{let i=e.node(r).rank;return i===void 0?Number.MAX_VALUE:i}),o=pi(Math.min,n);e.nodes().forEach(r=>{let i=e.node(r);Object.hasOwn(i,"rank")&&(i.rank-=o)})}function LP(e){let n=e.nodes().map(l=>e.node(l).rank),o=pi(Math.min,n),r=[];e.nodes().forEach(l=>{let s=e.node(l).rank-o;r[s]||(r[s]=[]),r[s].push(l)});let i=0,a=e.graph().nodeRankFactor;Array.from(r).forEach((l,s)=>{l===void 0&&s%a!==0?--i:l!==void 0&&i&&l.forEach(c=>e.node(c).rank+=i)})}function FP(e,n,o,r){let i={width:0,height:0};return arguments.length>=4&&(i.rank=o,i.order=r),rp(e,"border",i,n)}function UP(e,n=ip){const o=[];for(let r=0;r<e.length;r+=n){const i=e.slice(r,r+n);o.push(i)}return o}const ip=65535;function pi(e,n){if(n.length>ip){const o=UP(n);return e.apply(null,o.map(r=>e.apply(null,r)))}else return e.apply(null,n)}function ap(e){const o=e.nodes().map(r=>{let i=e.node(r).rank;return i===void 0?Number.MIN_VALUE:i});return pi(Math.max,o)}function KP(e,n){let o={lhs:[],rhs:[]};return e.forEach(r=>{n(r)?o.lhs.push(r):o.rhs.push(r)}),o}function jP(e,n){let o=Date.now();try{return n()}finally{console.log(e+" time: "+(Date.now()-o)+"ms")}}function qP(e,n){return n()}let GP=0;function lp(e){var n=++GP;return e+(""+n)}function sp(e,n,o=1){n==null&&(n=e,e=0);let r=a=>a<n;o<0&&(r=a=>n<a);const i=[];for(let a=e;r(a);a+=o)i.push(a);return i}function zP(e,n){const o={};for(const r of n)e[r]!==void 0&&(o[r]=e[r]);return o}function HP(e,n){let o=n;return typeof n=="string"&&(o=r=>r[n]),Object.entries(e).reduce((r,[i,a])=>(r[i]=o(a,i),r),{})}function Cl(e,n){return e.reduce((o,r,i)=>(o[r]=n[i],o),{})}let YP=SP,WP=je.uniqueId;var XP={run:ZP,undo:QP};function ZP(e){(e.graph().acyclicer==="greedy"?YP(e,o(e)):JP(e)).forEach(r=>{let i=e.edge(r);e.removeEdge(r),i.forwardName=r.name,i.reversed=!0,e.setEdge(r.w,r.v,i,WP("rev"))});function o(r){return i=>r.edge(i).weight}}function JP(e){let n=[],o={},r={};function i(a){Object.hasOwn(r,a)||(r[a]=!0,o[a]=!0,e.outEdges(a).forEach(l=>{Object.hasOwn(o,l.w)?n.push(l):i(l.w)}),delete o[a])}return e.nodes().forEach(i),n}function QP(e){e.edges().forEach(n=>{let o=e.edge(n);if(o.reversed){e.removeEdge(n);let r=o.forwardName;delete o.reversed,delete o.forwardName,e.setEdge(n.w,n.v,o,r)}})}let eT=je;var tT={run:nT,undo:rT};function nT(e){e.graph().dummyChains=[],e.edges().forEach(n=>oT(e,n))}function oT(e,n){let o=n.v,r=e.node(o).rank,i=n.w,a=e.node(i).rank,l=n.name,s=e.edge(n),c=s.labelRank;if(a===r+1)return;e.removeEdge(n);let d,f,u;for(u=0,++r;r<a;++u,++r)s.points=[],f={width:0,height:0,edgeLabel:s,edgeObj:n,rank:r},d=eT.addDummyNode(e,"edge",f,"_d"),r===c&&(f.width=s.width,f.height=s.height,f.dummy="edge-label",f.labelpos=s.labelpos),e.setEdge(o,d,{weight:s.weight},l),u===0&&e.graph().dummyChains.push(d),o=d;e.setEdge(o,i,{weight:s.weight},l)}function rT(e){e.graph().dummyChains.forEach(n=>{let o=e.node(n),r=o.edgeLabel,i;for(e.setEdge(o.edgeObj,r);o.dummy;)i=e.successors(n)[0],e.removeNode(n),r.points.push({x:o.x,y:o.y}),o.dummy==="edge-label"&&(r.x=o.x,r.y=o.y,r.width=o.width,r.height=o.height),n=i,o=e.node(n)})}const{applyWithChunking:iT}=je;var mi={longestPath:aT,slack:lT};function aT(e){var n={};function o(r){var i=e.node(r);if(Object.hasOwn(n,r))return i.rank;n[r]=!0;let a=e.outEdges(r).map(s=>s==null?Number.POSITIVE_INFINITY:o(s.w)-e.edge(s).minlen);var l=iT(Math.min,a);return l===Number.POSITIVE_INFINITY&&(l=0),i.rank=l}e.sources().forEach(o)}function lT(e,n){return e.node(n.w).rank-e.node(n.v).rank-e.edge(n).minlen}var sT=wt.Graph,gi=mi.slack,cp=cT;function cT(e){var n=new sT({directed:!1}),o=e.nodes()[0],r=e.nodeCount();n.setNode(o,{});for(var i,a;dT(n,e)<r;)i=uT(n,e),a=n.hasNode(i.v)?gi(e,i):-gi(e,i),fT(n,e,a);return n}function dT(e,n){function o(r){n.nodeEdges(r).forEach(i=>{var a=i.v,l=r===a?i.w:a;!e.hasNode(l)&&!gi(n,i)&&(e.setNode(l,{}),e.setEdge(r,l,{}),o(l))})}return e.nodes().forEach(o),e.nodeCount()}function uT(e,n){return n.edges().reduce((r,i)=>{let a=Number.POSITIVE_INFINITY;return e.hasNode(i.v)!==e.hasNode(i.w)&&(a=gi(n,i)),a<r[0]?[a,i]:r},[Number.POSITIVE_INFINITY,null])[1]}function fT(e,n,o){e.nodes().forEach(r=>n.node(r).rank+=o)}var pT=cp,dp=mi.slack,mT=mi.longestPath,gT=wt.alg.preorder,hT=wt.alg.postorder,yT=je.simplify,_T=wn;wn.initLowLimValues=vl,wn.initCutValues=Nl,wn.calcCutValue=up,wn.leaveEdge=pp,wn.enterEdge=mp,wn.exchangeEdges=gp;function wn(e){e=yT(e),mT(e);var n=pT(e);vl(n),Nl(n,e);for(var o,r;o=pp(n);)r=mp(n,e,o),gp(n,e,o,r)}function Nl(e,n){var o=hT(e,e.nodes());o=o.slice(0,o.length-1),o.forEach(r=>bT(e,n,r))}function bT(e,n,o){var r=e.node(o),i=r.parent;e.edge(o,i).cutvalue=up(e,n,o)}function up(e,n,o){var r=e.node(o),i=r.parent,a=!0,l=n.edge(o,i),s=0;return l||(a=!1,l=n.edge(i,o)),s=l.weight,n.nodeEdges(o).forEach(c=>{var d=c.v===o,f=d?c.w:c.v;if(f!==i){var u=d===a,p=n.edge(c).weight;if(s+=u?p:-p,ET(e,o,f)){var m=e.edge(o,f).cutvalue;s+=u?-m:m}}}),s}function vl(e,n){arguments.length<2&&(n=e.nodes()[0]),fp(e,{},1,n)}function fp(e,n,o,r,i){var a=o,l=e.node(r);return n[r]=!0,e.neighbors(r).forEach(s=>{Object.hasOwn(n,s)||(o=fp(e,n,o,s,r))}),l.low=a,l.lim=o++,i?l.parent=i:delete l.parent,o}function pp(e){return e.edges().find(n=>e.edge(n).cutvalue<0)}function mp(e,n,o){var r=o.v,i=o.w;n.hasEdge(r,i)||(r=o.w,i=o.v);var a=e.node(r),l=e.node(i),s=a,c=!1;a.lim>l.lim&&(s=l,c=!0);var d=n.edges().filter(f=>c===hp(e,e.node(f.v),s)&&c!==hp(e,e.node(f.w),s));return d.reduce((f,u)=>dp(n,u)<dp(n,f)?u:f)}function gp(e,n,o,r){var i=o.v,a=o.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),vl(e),Nl(e,n),wT(e,n)}function wT(e,n){var o=e.nodes().find(i=>!n.node(i).parent),r=gT(e,o);r=r.slice(1),r.forEach(i=>{var a=e.node(i).parent,l=n.edge(i,a),s=!1;l||(l=n.edge(a,i),s=!0),n.node(i).rank=n.node(a).rank+(s?l.minlen:-l.minlen)})}function ET(e,n,o){return e.hasEdge(n,o)}function hp(e,n,o){return o.low<=n.lim&&n.lim<=o.lim}var kT=mi,yp=kT.longestPath,CT=cp,NT=_T,vT=ST;function ST(e){var n=e.graph().ranker;if(n instanceof Function)return n(e);switch(e.graph().ranker){case"network-simplex":_p(e);break;case"tight-tree":AT(e);break;case"longest-path":xT(e);break;case"none":break;default:_p(e)}}var xT=yp;function AT(e){yp(e),CT(e)}function _p(e){NT(e)}var IT=PT;function PT(e){let n=OT(e);e.graph().dummyChains.forEach(o=>{let r=e.node(o),i=r.edgeObj,a=TT(e,n,i.v,i.w),l=a.path,s=a.lca,c=0,d=l[c],f=!0;for(;o!==i.w;){if(r=e.node(o),f){for(;(d=l[c])!==s&&e.node(d).maxRank<r.rank;)c++;d===s&&(f=!1)}if(!f){for(;c<l.length-1&&e.node(d=l[c+1]).minRank<=r.rank;)c++;d=l[c]}e.setParent(o,d),o=e.successors(o)[0]}})}function TT(e,n,o,r){let i=[],a=[],l=Math.min(n[o].low,n[r].low),s=Math.max(n[o].lim,n[r].lim),c,d;c=o;do c=e.parent(c),i.push(c);while(c&&(n[c].low>l||s>n[c].lim));for(d=c,c=r;(c=e.parent(c))!==d;)a.push(c);return{path:i.concat(a.reverse()),lca:d}}function OT(e){let n={},o=0;function r(i){let a=o;e.children(i).forEach(r),n[i]={low:a,lim:o++}}return e.children().forEach(r),n}let hi=je;var $T={run:BT,cleanup:MT};function BT(e){let n=hi.addDummyNode(e,"root",{},"_root"),o=VT(e),r=Object.values(o),i=hi.applyWithChunking(Math.max,r)-1,a=2*i+1;e.graph().nestingRoot=n,e.edges().forEach(s=>e.edge(s).minlen*=a);let l=RT(e)+1;e.children().forEach(s=>bp(e,n,a,l,i,o,s)),e.graph().nodeRankFactor=a}function bp(e,n,o,r,i,a,l){let s=e.children(l);if(!s.length){l!==n&&e.setEdge(n,l,{weight:0,minlen:o});return}let c=hi.addBorderNode(e,"_bt"),d=hi.addBorderNode(e,"_bb"),f=e.node(l);e.setParent(c,l),f.borderTop=c,e.setParent(d,l),f.borderBottom=d,s.forEach(u=>{bp(e,n,o,r,i,a,u);let p=e.node(u),m=p.borderTop?p.borderTop:u,h=p.borderBottom?p.borderBottom:u,y=p.borderTop?r:2*r,g=m!==h?1:i-a[l]+1;e.setEdge(c,m,{weight:y,minlen:g,nestingEdge:!0}),e.setEdge(h,d,{weight:y,minlen:g,nestingEdge:!0})}),e.parent(l)||e.setEdge(n,c,{weight:0,minlen:i+a[l]})}function VT(e){var n={};function o(r,i){var a=e.children(r);a&&a.length&&a.forEach(l=>o(l,i+1)),n[r]=i}return e.children().forEach(r=>o(r,1)),n}function RT(e){return e.edges().reduce((n,o)=>n+e.edge(o).weight,0)}function MT(e){var n=e.graph();e.removeNode(n.nestingRoot),delete n.nestingRoot,e.edges().forEach(o=>{var r=e.edge(o);r.nestingEdge&&e.removeEdge(o)})}let DT=je;var LT=FT;function FT(e){function n(o){let r=e.children(o),i=e.node(o);if(r.length&&r.forEach(n),Object.hasOwn(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(let a=i.minRank,l=i.maxRank+1;a<l;++a)wp(e,"borderLeft","_bl",o,i,a),wp(e,"borderRight","_br",o,i,a)}}e.children().forEach(n)}function wp(e,n,o,r,i,a){let l={width:0,height:0,rank:a,borderType:n},s=i[n][a-1],c=DT.addDummyNode(e,"border",l,o);i[n][a]=c,e.setParent(c,r),s&&e.setEdge(s,c,{weight:1})}var UT={adjust:KT,undo:jT};function KT(e){let n=e.graph().rankdir.toLowerCase();(n==="lr"||n==="rl")&&Ep(e)}function jT(e){let n=e.graph().rankdir.toLowerCase();(n==="bt"||n==="rl")&&qT(e),(n==="lr"||n==="rl")&&(GT(e),Ep(e))}function Ep(e){e.nodes().forEach(n=>kp(e.node(n))),e.edges().forEach(n=>kp(e.edge(n)))}function kp(e){let n=e.width;e.width=e.height,e.height=n}function qT(e){e.nodes().forEach(n=>Sl(e.node(n))),e.edges().forEach(n=>{let o=e.edge(n);o.points.forEach(Sl),Object.hasOwn(o,"y")&&Sl(o)})}function Sl(e){e.y=-e.y}function GT(e){e.nodes().forEach(n=>xl(e.node(n))),e.edges().forEach(n=>{let o=e.edge(n);o.points.forEach(xl),Object.hasOwn(o,"x")&&xl(o)})}function xl(e){let n=e.x;e.x=e.y,e.y=n}let Cp=je;var zT=HT;function HT(e){let n={},o=e.nodes().filter(c=>!e.children(c).length),r=o.map(c=>e.node(c).rank),i=Cp.applyWithChunking(Math.max,r),a=Cp.range(i+1).map(()=>[]);function l(c){if(n[c])return;n[c]=!0;let d=e.node(c);a[d.rank].push(c),e.successors(c).forEach(l)}return o.sort((c,d)=>e.node(c).rank-e.node(d).rank).forEach(l),a}let YT=je.zipObject;var WT=XT;function XT(e,n){let o=0;for(let r=1;r<n.length;++r)o+=ZT(e,n[r-1],n[r]);return o}function ZT(e,n,o){let r=YT(o,o.map((d,f)=>f)),i=n.flatMap(d=>e.outEdges(d).map(f=>({pos:r[f.w],weight:e.edge(f).weight})).sort((f,u)=>f.pos-u.pos)),a=1;for(;a<o.length;)a<<=1;let l=2*a-1;a-=1;let s=new Array(l).fill(0),c=0;return i.forEach(d=>{let f=d.pos+a;s[f]+=d.weight;let u=0;for(;f>0;)f%2&&(u+=s[f+1]),f=f-1>>1,s[f]+=d.weight;c+=d.weight*u}),c}var JT=QT;function QT(e,n=[]){return n.map(o=>{let r=e.inEdges(o);if(r.length){let i=r.reduce((a,l)=>{let s=e.edge(l),c=e.node(l.v);return{sum:a.sum+s.weight*c.order,weight:a.weight+s.weight}},{sum:0,weight:0});return{v:o,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:o}})}let eO=je;var tO=nO;function nO(e,n){let o={};e.forEach((i,a)=>{let l=o[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};i.barycenter!==void 0&&(l.barycenter=i.barycenter,l.weight=i.weight)}),n.edges().forEach(i=>{let a=o[i.v],l=o[i.w];a!==void 0&&l!==void 0&&(l.indegree++,a.out.push(o[i.w]))});let r=Object.values(o).filter(i=>!i.indegree);return oO(r)}function oO(e){let n=[];function o(i){return a=>{a.merged||(a.barycenter===void 0||i.barycenter===void 0||a.barycenter>=i.barycenter)&&rO(i,a)}}function r(i){return a=>{a.in.push(i),--a.indegree===0&&e.push(a)}}for(;e.length;){let i=e.pop();n.push(i),i.in.reverse().forEach(o(i)),i.out.forEach(r(i))}return n.filter(i=>!i.merged).map(i=>eO.pick(i,["vs","i","barycenter","weight"]))}function rO(e,n){let o=0,r=0;e.weight&&(o+=e.barycenter*e.weight,r+=e.weight),n.weight&&(o+=n.barycenter*n.weight,r+=n.weight),e.vs=n.vs.concat(e.vs),e.barycenter=o/r,e.weight=r,e.i=Math.min(n.i,e.i),n.merged=!0}let iO=je;var aO=lO;function lO(e,n){let o=iO.partition(e,f=>Object.hasOwn(f,"barycenter")),r=o.lhs,i=o.rhs.sort((f,u)=>u.i-f.i),a=[],l=0,s=0,c=0;r.sort(sO(!!n)),c=Np(a,i,c),r.forEach(f=>{c+=f.vs.length,a.push(f.vs),l+=f.barycenter*f.weight,s+=f.weight,c=Np(a,i,c)});let d={vs:a.flat(!0)};return s&&(d.barycenter=l/s,d.weight=s),d}function Np(e,n,o){let r;for(;n.length&&(r=n[n.length-1]).i<=o;)n.pop(),e.push(r.vs),o++;return o}function sO(e){return(n,o)=>n.barycenter<o.barycenter?-1:n.barycenter>o.barycenter?1:e?o.i-n.i:n.i-o.i}let cO=JT,dO=tO,uO=aO;var fO=vp;function vp(e,n,o,r){let i=e.children(n),a=e.node(n),l=a?a.borderLeft:void 0,s=a?a.borderRight:void 0,c={};l&&(i=i.filter(p=>p!==l&&p!==s));let d=cO(e,i);d.forEach(p=>{if(e.children(p.v).length){let m=vp(e,p.v,o,r);c[p.v]=m,Object.hasOwn(m,"barycenter")&&mO(p,m)}});let f=dO(d,o);pO(f,c);let u=uO(f,r);if(l&&(u.vs=[l,u.vs,s].flat(!0),e.predecessors(l).length)){let p=e.node(e.predecessors(l)[0]),m=e.node(e.predecessors(s)[0]);Object.hasOwn(u,"barycenter")||(u.barycenter=0,u.weight=0),u.barycenter=(u.barycenter*u.weight+p.order+m.order)/(u.weight+2),u.weight+=2}return u}function pO(e,n){e.forEach(o=>{o.vs=o.vs.flatMap(r=>n[r]?n[r].vs:r)})}function mO(e,n){e.barycenter!==void 0?(e.barycenter=(e.barycenter*e.weight+n.barycenter*n.weight)/(e.weight+n.weight),e.weight+=n.weight):(e.barycenter=n.barycenter,e.weight=n.weight)}let gO=wt.Graph,hO=je;var yO=_O;function _O(e,n,o){let r=bO(e),i=new gO({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(a=>e.node(a));return e.nodes().forEach(a=>{let l=e.node(a),s=e.parent(a);(l.rank===n||l.minRank<=n&&n<=l.maxRank)&&(i.setNode(a),i.setParent(a,s||r),e[o](a).forEach(c=>{let d=c.v===a?c.w:c.v,f=i.edge(d,a),u=f!==void 0?f.weight:0;i.setEdge(d,a,{weight:e.edge(c).weight+u})}),Object.hasOwn(l,"minRank")&&i.setNode(a,{borderLeft:l.borderLeft[n],borderRight:l.borderRight[n]}))}),i}function bO(e){for(var n;e.hasNode(n=hO.uniqueId("_root")););return n}var wO=EO;function EO(e,n,o){let r={},i;o.forEach(a=>{let l=e.parent(a),s,c;for(;l;){if(s=e.parent(l),s?(c=r[s],r[s]=l):(c=i,i=l),c&&c!==l){n.setEdge(c,l);return}l=s}})}let kO=zT,CO=WT,NO=fO,vO=yO,SO=wO,xO=wt.Graph,yi=je;var AO=Sp;function Sp(e,n){if(n&&typeof n.customOrder=="function"){n.customOrder(e,Sp);return}let o=yi.maxRank(e),r=xp(e,yi.range(1,o+1),"inEdges"),i=xp(e,yi.range(o-1,-1,-1),"outEdges"),a=kO(e);if(Ap(e,a),n&&n.disableOptimalOrderHeuristic)return;let l=Number.POSITIVE_INFINITY,s;for(let c=0,d=0;d<4;++c,++d){IO(c%2?r:i,c%4>=2),a=yi.buildLayerMatrix(e);let f=CO(e,a);f<l&&(d=0,s=Object.assign({},a),l=f)}Ap(e,s)}function xp(e,n,o){return n.map(function(r){return vO(e,r,o)})}function IO(e,n){let o=new xO;e.forEach(function(r){let i=r.graph().root,a=NO(r,i,o,n);a.vs.forEach((l,s)=>r.node(l).order=s),SO(r,o,a.vs)})}function Ap(e,n){Object.values(n).forEach(o=>o.forEach((r,i)=>e.node(r).order=i))}let PO=wt.Graph,Kt=je;var TO={positionX:KO};function OO(e,n){let o={};function r(i,a){let l=0,s=0,c=i.length,d=a[a.length-1];return a.forEach((f,u)=>{let p=BO(e,f),m=p?e.node(p).order:c;(p||f===d)&&(a.slice(s,u+1).forEach(h=>{e.predecessors(h).forEach(y=>{let g=e.node(y),_=g.order;(_<l||m<_)&&!(g.dummy&&e.node(h).dummy)&&Ip(o,y,h)})}),s=u+1,l=m)}),a}return n.length&&n.reduce(r),o}function $O(e,n){let o={};function r(a,l,s,c,d){let f;Kt.range(l,s).forEach(u=>{f=a[u],e.node(f).dummy&&e.predecessors(f).forEach(p=>{let m=e.node(p);m.dummy&&(m.order<c||m.order>d)&&Ip(o,p,f)})})}function i(a,l){let s=-1,c,d=0;return l.forEach((f,u)=>{if(e.node(f).dummy==="border"){let p=e.predecessors(f);p.length&&(c=e.node(p[0]).order,r(l,d,u,s,c),d=u,s=c)}r(l,d,l.length,c,a.length)}),l}return n.length&&n.reduce(i),o}function BO(e,n){if(e.node(n).dummy)return e.predecessors(n).find(o=>e.node(o).dummy)}function Ip(e,n,o){if(n>o){let i=n;n=o,o=i}let r=e[n];r||(e[n]=r={}),r[o]=!0}function VO(e,n,o){if(n>o){let r=n;n=o,o=r}return!!e[n]&&Object.hasOwn(e[n],o)}function RO(e,n,o,r){let i={},a={},l={};return n.forEach(s=>{s.forEach((c,d)=>{i[c]=c,a[c]=c,l[c]=d})}),n.forEach(s=>{let c=-1;s.forEach(d=>{let f=r(d);if(f.length){f=f.sort((p,m)=>l[p]-l[m]);let u=(f.length-1)/2;for(let p=Math.floor(u),m=Math.ceil(u);p<=m;++p){let h=f[p];a[d]===d&&c<l[h]&&!VO(o,d,h)&&(a[h]=d,a[d]=i[d]=i[h],c=l[h])}}})}),{root:i,align:a}}function MO(e,n,o,r,i){let a={},l=DO(e,n,o,i),s=i?"borderLeft":"borderRight";function c(u,p){let m=l.nodes(),h=m.pop(),y={};for(;h;)y[h]?u(h):(y[h]=!0,m.push(h),m=m.concat(p(h))),h=m.pop()}function d(u){a[u]=l.inEdges(u).reduce((p,m)=>Math.max(p,a[m.v]+l.edge(m)),0)}function f(u){let p=l.outEdges(u).reduce((h,y)=>Math.min(h,a[y.w]-l.edge(y)),Number.POSITIVE_INFINITY),m=e.node(u);p!==Number.POSITIVE_INFINITY&&m.borderType!==s&&(a[u]=Math.max(a[u],p))}return c(d,l.predecessors.bind(l)),c(f,l.successors.bind(l)),Object.keys(r).forEach(u=>a[u]=a[o[u]]),a}function DO(e,n,o,r){let i=new PO,a=e.graph(),l=jO(a.nodesep,a.edgesep,r);return n.forEach(s=>{let c;s.forEach(d=>{let f=o[d];if(i.setNode(f),c){var u=o[c],p=i.edge(u,f);i.setEdge(u,f,Math.max(l(e,d,c),p||0))}c=d})}),i}function LO(e,n){return Object.values(n).reduce((o,r)=>{let i=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;Object.entries(r).forEach(([s,c])=>{let d=qO(e,s)/2;i=Math.max(c+d,i),a=Math.min(c-d,a)});const l=i-a;return l<o[0]&&(o=[l,r]),o},[Number.POSITIVE_INFINITY,null])[1]}function FO(e,n){let o=Object.values(n),r=Kt.applyWithChunking(Math.min,o),i=Kt.applyWithChunking(Math.max,o);["u","d"].forEach(a=>{["l","r"].forEach(l=>{let s=a+l,c=e[s];if(c===n)return;let d=Object.values(c),f=r-Kt.applyWithChunking(Math.min,d);l!=="l"&&(f=i-Kt.applyWithChunking(Math.max,d)),f&&(e[s]=Kt.mapValues(c,u=>u+f))})})}function UO(e,n){return Kt.mapValues(e.ul,(o,r)=>{if(n)return e[n.toLowerCase()][r];{let i=Object.values(e).map(a=>a[r]).sort((a,l)=>a-l);return(i[1]+i[2])/2}})}function KO(e){let n=Kt.buildLayerMatrix(e),o=Object.assign(OO(e,n),$O(e,n)),r={},i;["u","d"].forEach(l=>{i=l==="u"?n:Object.values(n).reverse(),["l","r"].forEach(s=>{s==="r"&&(i=i.map(u=>Object.values(u).reverse()));let c=(l==="u"?e.predecessors:e.successors).bind(e),d=RO(e,i,o,c),f=MO(e,i,d.root,d.align,s==="r");s==="r"&&(f=Kt.mapValues(f,u=>-u)),r[l+s]=f})});let a=LO(e,r);return FO(r,a),UO(r,e.graph().align)}function jO(e,n,o){return(r,i,a)=>{let l=r.node(i),s=r.node(a),c=0,d;if(c+=l.width/2,Object.hasOwn(l,"labelpos"))switch(l.labelpos.toLowerCase()){case"l":d=-l.width/2;break;case"r":d=l.width/2;break}if(d&&(c+=o?d:-d),d=0,c+=(l.dummy?n:e)/2,c+=(s.dummy?n:e)/2,c+=s.width/2,Object.hasOwn(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":d=s.width/2;break;case"r":d=-s.width/2;break}return d&&(c+=o?d:-d),d=0,c}}function qO(e,n){return e.node(n).width}let Pp=je,GO=TO.positionX;var zO=HO;function HO(e){e=Pp.asNonCompoundGraph(e),YO(e),Object.entries(GO(e)).forEach(([n,o])=>e.node(n).x=o)}function YO(e){let n=Pp.buildLayerMatrix(e),o=e.graph().ranksep,r=0;n.forEach(i=>{const a=i.reduce((l,s)=>{const c=e.node(s).height;return l>c?l:c},0);i.forEach(l=>e.node(l).y=r+a/2),r+=a+o})}let Tp=XP,Op=tT,WO=vT,XO=je.normalizeRanks,ZO=IT,JO=je.removeEmptyRanks,$p=$T,QO=LT,Bp=UT,e$=AO,t$=zO,pt=je,n$=wt.Graph;var o$=r$;function r$(e,n){let o=n&&n.debugTiming?pt.time:pt.notime;o("layout",()=>{let r=o(" buildLayoutGraph",()=>m$(e));o(" runLayout",()=>i$(r,o,n)),o(" updateInputGraph",()=>a$(e,r))})}function i$(e,n,o){n(" makeSpaceForEdgeLabels",()=>g$(e)),n(" removeSelfEdges",()=>N$(e)),n(" acyclic",()=>Tp.run(e)),n(" nestingGraph.run",()=>$p.run(e)),n(" rank",()=>WO(pt.asNonCompoundGraph(e))),n(" injectEdgeLabelProxies",()=>h$(e)),n(" removeEmptyRanks",()=>JO(e)),n(" nestingGraph.cleanup",()=>$p.cleanup(e)),n(" normalizeRanks",()=>XO(e)),n(" assignRankMinMax",()=>y$(e)),n(" removeEdgeLabelProxies",()=>_$(e)),n(" normalize.run",()=>Op.run(e)),n(" parentDummyChains",()=>ZO(e)),n(" addBorderSegments",()=>QO(e)),n(" order",()=>e$(e,o)),n(" insertSelfEdges",()=>v$(e)),n(" adjustCoordinateSystem",()=>Bp.adjust(e)),n(" position",()=>t$(e)),n(" positionSelfEdges",()=>S$(e)),n(" removeBorderNodes",()=>C$(e)),n(" normalize.undo",()=>Op.undo(e)),n(" fixupEdgeLabelCoords",()=>E$(e)),n(" undoCoordinateSystem",()=>Bp.undo(e)),n(" translateGraph",()=>b$(e)),n(" assignNodeIntersects",()=>w$(e)),n(" reversePoints",()=>k$(e)),n(" acyclic.undo",()=>Tp.undo(e))}function a$(e,n){e.nodes().forEach(o=>{let r=e.node(o),i=n.node(o);r&&(r.x=i.x,r.y=i.y,r.rank=i.rank,n.children(o).length&&(r.width=i.width,r.height=i.height))}),e.edges().forEach(o=>{let r=e.edge(o),i=n.edge(o);r.points=i.points,Object.hasOwn(i,"x")&&(r.x=i.x,r.y=i.y)}),e.graph().width=n.graph().width,e.graph().height=n.graph().height}let l$=["nodesep","edgesep","ranksep","marginx","marginy"],s$={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},c$=["acyclicer","ranker","rankdir","align"],d$=["width","height","rank"],Vp={width:0,height:0},u$=["minlen","weight","width","height","labeloffset"],f$={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},p$=["labelpos"];function m$(e){let n=new n$({multigraph:!0,compound:!0}),o=Il(e.graph());return n.setGraph(Object.assign({},s$,Al(o,l$),pt.pick(o,c$))),e.nodes().forEach(r=>{let i=Il(e.node(r));const a=Al(i,d$);Object.keys(Vp).forEach(l=>{a[l]===void 0&&(a[l]=Vp[l])}),n.setNode(r,a),n.setParent(r,e.parent(r))}),e.edges().forEach(r=>{let i=Il(e.edge(r));n.setEdge(r,Object.assign({},f$,Al(i,u$),pt.pick(i,p$)))}),n}function g$(e){let n=e.graph();n.ranksep/=2,e.edges().forEach(o=>{let r=e.edge(o);r.minlen*=2,r.labelpos.toLowerCase()!=="c"&&(n.rankdir==="TB"||n.rankdir==="BT"?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function h$(e){e.edges().forEach(n=>{let o=e.edge(n);if(o.width&&o.height){let r=e.node(n.v),a={rank:(e.node(n.w).rank-r.rank)/2+r.rank,e:n};pt.addDummyNode(e,"edge-proxy",a,"_ep")}})}function y$(e){let n=0;e.nodes().forEach(o=>{let r=e.node(o);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,n=Math.max(n,r.maxRank))}),e.graph().maxRank=n}function _$(e){e.nodes().forEach(n=>{let o=e.node(n);o.dummy==="edge-proxy"&&(e.edge(o.e).labelRank=o.rank,e.removeNode(n))})}function b$(e){let n=Number.POSITIVE_INFINITY,o=0,r=Number.POSITIVE_INFINITY,i=0,a=e.graph(),l=a.marginx||0,s=a.marginy||0;function c(d){let f=d.x,u=d.y,p=d.width,m=d.height;n=Math.min(n,f-p/2),o=Math.max(o,f+p/2),r=Math.min(r,u-m/2),i=Math.max(i,u+m/2)}e.nodes().forEach(d=>c(e.node(d))),e.edges().forEach(d=>{let f=e.edge(d);Object.hasOwn(f,"x")&&c(f)}),n-=l,r-=s,e.nodes().forEach(d=>{let f=e.node(d);f.x-=n,f.y-=r}),e.edges().forEach(d=>{let f=e.edge(d);f.points.forEach(u=>{u.x-=n,u.y-=r}),Object.hasOwn(f,"x")&&(f.x-=n),Object.hasOwn(f,"y")&&(f.y-=r)}),a.width=o-n+l,a.height=i-r+s}function w$(e){e.edges().forEach(n=>{let o=e.edge(n),r=e.node(n.v),i=e.node(n.w),a,l;o.points?(a=o.points[0],l=o.points[o.points.length-1]):(o.points=[],a=i,l=r),o.points.unshift(pt.intersectRect(r,a)),o.points.push(pt.intersectRect(i,l))})}function E$(e){e.edges().forEach(n=>{let o=e.edge(n);if(Object.hasOwn(o,"x"))switch((o.labelpos==="l"||o.labelpos==="r")&&(o.width-=o.labeloffset),o.labelpos){case"l":o.x-=o.width/2+o.labeloffset;break;case"r":o.x+=o.width/2+o.labeloffset;break}})}function k$(e){e.edges().forEach(n=>{let o=e.edge(n);o.reversed&&o.points.reverse()})}function C$(e){e.nodes().forEach(n=>{if(e.children(n).length){let o=e.node(n),r=e.node(o.borderTop),i=e.node(o.borderBottom),a=e.node(o.borderLeft[o.borderLeft.length-1]),l=e.node(o.borderRight[o.borderRight.length-1]);o.width=Math.abs(l.x-a.x),o.height=Math.abs(i.y-r.y),o.x=a.x+o.width/2,o.y=r.y+o.height/2}}),e.nodes().forEach(n=>{e.node(n).dummy==="border"&&e.removeNode(n)})}function N$(e){e.edges().forEach(n=>{if(n.v===n.w){var o=e.node(n.v);o.selfEdges||(o.selfEdges=[]),o.selfEdges.push({e:n,label:e.edge(n)}),e.removeEdge(n)}})}function v$(e){var n=pt.buildLayerMatrix(e);n.forEach(o=>{var r=0;o.forEach((i,a)=>{var l=e.node(i);l.order=a+r,(l.selfEdges||[]).forEach(s=>{pt.addDummyNode(e,"selfedge",{width:s.label.width,height:s.label.height,rank:l.rank,order:a+ ++r,e:s.e,label:s.label},"_se")}),delete l.selfEdges})})}function S$(e){e.nodes().forEach(n=>{var o=e.node(n);if(o.dummy==="selfedge"){var r=e.node(o.e.v),i=r.x+r.width/2,a=r.y,l=o.x-i,s=r.height/2;e.setEdge(o.e,o.label),e.removeNode(n),o.label.points=[{x:i+2*l/3,y:a-s},{x:i+5*l/6,y:a-s},{x:i+l,y:a},{x:i+5*l/6,y:a+s},{x:i+2*l/3,y:a+s}],o.label.x=o.x,o.label.y=o.y}})}function Al(e,n){return pt.mapValues(pt.pick(e,n),Number)}function Il(e){var n={};return e&&Object.entries(e).forEach(([o,r])=>{typeof o=="string"&&(o=o.toLowerCase()),n[o]=r}),n}let x$=je,A$=wt.Graph;var I$={debugOrdering:P$};function P$(e){let n=x$.buildLayerMatrix(e),o=new A$({compound:!0,multigraph:!0}).setGraph({});return e.nodes().forEach(r=>{o.setNode(r,{label:r}),o.setParent(r,"layer"+e.node(r).rank)}),e.edges().forEach(r=>o.setEdge(r.v,r.w,{},r.name)),n.forEach((r,i)=>{let a="layer"+i;o.setNode(a,{rank:"same"}),r.reduce((l,s)=>(o.setEdge(l,s,{style:"invis"}),s))}),o}var T$="1.1.5",O$={graphlib:wt,layout:o$,debug:I$,util:{time:je.time,notime:je.notime},version:T$};const Rp=PI(O$);function $$(){const e=(...o)=>{console.warn("TOASTER_PROVIDER is not provided",...o)},n=t.inject(dc,e);return o=>n(o)}const Lo={padding:80,gaps:{nodes:40,edges:80,ranks:40}},B$=1600,V$=1.2,R$=0,Mp=Symbol("confirm-modal");function _i(e,n,o){const r=n?zt(e,o,n):void 0;return`${e.name}${r?`.${r.name}`:""}`}function Fo(e,n){const o=n(e.source),r=n(e.target);return[_i(o,e.sourceField,"output"),_i(r,e.targetField,"input")]}function Pl(e,n,o,r,i){const a=i(e),l=i(o);return[_i(a,n,"output"),_i(l,r,"input")]}function M$(e){t.provide(Mp,e)}function Dp(){return t.inject(Mp,void 0)}function D$(){const e=Dp();if(!e)throw new Error("Confirm modal not provided");return e}function Lp(e){const n=e.match(/^(input|output)s@(.*)$/);if(n)return{io:n[1],field:n[2]}}function L$(){const e={x1:Number.POSITIVE_INFINITY,y1:Number.POSITIVE_INFINITY,x2:Number.NEGATIVE_INFINITY,y2:Number.NEGATIVE_INFINITY};return[r=>{e.x1=Math.min(e.x1,r.x),e.y1=Math.min(e.y1,r.y),e.x2=Math.max(e.x2,r.x+r.width),e.y2=Math.max(e.y2,r.y+r.height)},()=>{const r={...e};return r.x1>r.x2&&(r.x1=r.x2=0),r.y1>r.y2&&(r.y1=r.y2=0),r}]}const F$={default:Uw,hover:jw,selected:Kw};let Fp,Tl;function bi(e){const n=e.id===Fp?"selected":e.id===Tl?"hover":"default",o=F$[n],{markerEnd:r}=e,i=typeof r=="object"?{...r,color:o}:{type:r,color:o};return{...e,style:{...e.style,stroke:o},markerEnd:i,zIndex:n==="default"?void 0:1}}const[U$,K$]=Je.createInjectionState(function(e){const{phase:n,flowId:o,layoutOptions:r,readonly:i}=e,{viewport:a,padding:l=Lo.padding,gaps:s=Lo.gaps}=r,{nodes:c=Lo.gaps.nodes,edges:d=Lo.gaps.edges,ranks:f=Lo.gaps.ranks}=s,u=Ie(o),p=lt(),m=Dp(),h=$$(),{i18n:{t:y}}=xe(),{findNode:g,fitView:_,deleteKeyCode:w,onNodeClick:b,onNodeDragStop:v,onEdgeClick:N,onConnect:E,onNodesChange:T,onEdgesChange:P,onEdgeUpdate:D,onEdgeMouseEnter:K,onEdgeMouseLeave:j,setEdges:A}=u;w.value=["Delete","Backspace"];const{state:W,commit:I,moveNode:U,selectNode:M,removeNode:ee,getNodeById:H,connectEdge:G,disconnectEdge:V,getInEdgesByNodeId:B,commit:Z,undo:re}=p;function Y(q,Q){const $=H(q.source),k=H(q.target);return!!($&&k&&$.phase===Q&&k.phase===Q)}const ie=t.computed(()=>W.value.nodes.filter(q=>q.phase===n).map(q=>({id:q.id,type:"flow",position:q.position,data:q,deletable:!Ld(q)}))),ae=t.computed(()=>W.value.edges.filter(q=>Y(q,n)).map(q=>{const Q=H(q.source),$=H(q.target);if(Q){if(!$)throw new Error(`Missing target node "${q.target}" for edge "${q.id}" in phase "${n}"`)}else throw new Error(`Missing source node "${q.source}" for edge "${q.id}" in phase "${n}"`);return bi({id:q.id,source:q.source,target:q.target,sourceHandle:q.sourceField?`outputs@${q.sourceField}`:"output",targetHandle:q.targetField?`inputs@${q.targetField}`:"input",markerEnd:Zr.ArrowClosed,data:q,updatable:!i})})),ge=t.computed(()=>({padding:l/Math.max(t.toValue(a==null?void 0:a.width)??0,t.toValue(a==null?void 0:a.height)??0)}));b(({node:q})=>{console.debug("[useFlow] onNodeClick",t.toRaw(q))}),N(({edge:q})=>{console.debug("[useFlow] onEdgeClick",t.toRaw(q))});async function me({source:q,sourceHandle:Q,target:$,targetHandle:k}){if(console.debug("[useFlow] onConnect",{source:q,sourceHandle:Q,target:$,targetHandle:k}),!Q||!k)return;const C=Lp(Q),x=Lp(k);if((C==null?void 0:C.io)==="input"||(x==null?void 0:x.io)==="output")return;const S=B($);let O=!1,F=!1;const J=[],R=[],X=(x==null?void 0:x.io)==="input"?S.filter(le=>!le.targetField):S.filter(le=>!!le.targetField);X.length>0&&(O=!0,X.forEach(le=>{R.push(Fo(le,H)),V(le.id,!1)}));const L=(x==null?void 0:x.io)==="input"?S.filter(le=>le.targetField===x.field):S.filter(le=>!le.targetField);if(L.length>0){if(L.some(oe=>oe.source===q&&oe.target===$&&oe.targetField===(x==null?void 0:x.field)&&oe.sourceField===(C==null?void 0:C.field)))return;F=!0,L.forEach(oe=>{R.push(Fo(oe,H)),V(oe.id,!1)})}const ue=G({source:q,sourceField:C==null?void 0:C.field,target:$,targetField:x==null?void 0:x.field},!1);if(J.push(Pl(q,C==null?void 0:C.field,$,x==null?void 0:x.field,H)),Z(),ue){if(O||F){if(!m)throw new Error("Expected confirm modal to be provided here when reachable");await m(y(O?"plugins.free-form.datakit.flow_editor.confirm.message.switch":"plugins.free-form.datakit.flow_editor.confirm.message.override"),J,R)||re()}}else re(),h({message:y("plugins.free-form.datakit.flow_editor.error.invalid_connection"),appearance:"danger"})}E(me),T(q=>{q.filter(Q=>Q.type==="select").sort((Q,$)=>Q.selected===$.selected?0:Q.selected?1:-1).forEach(Q=>{M(Q.selected?Q.id:void 0)}),q.forEach(Q=>{Q.type==="remove"&&ee(Q.id,!0)})}),v(({node:q})=>{q&&U(q.id,q.position)}),P(q=>{q.filter($=>$.type==="select").sort(($,k)=>$.selected===k.selected?0:$.selected?1:-1).forEach($=>{Fp=$.selected?$.id:void 0,A(k=>k.map(C=>C.id!==$.id||!C.markerEnd?C:bi({...C,zIndex:$.selected?1:void 0})))}),q.forEach($=>{$.type==="remove"&&V($.id,!0)})}),K(({edge:q})=>{Tl=q.id,A(Q=>Q.map($=>$.id!==q.id?$:bi($)))}),j(({edge:q})=>{Tl=void 0,A(Q=>Q.map($=>$.id!==q.id?$:bi($)))}),D(({edge:q,connection:Q})=>{V(q.id,!1),me(Q)});function te(){let q,Q;const $=[],k=oe=>{switch(oe.data.name){case"request":{if(n!=="request")throw new Error(`Unexpected request node in ${n} phase`);if(q)throw new Error("Duplicated request node in request phase");return q=oe,!0}case"service_request":{if(n!=="request")throw new Error(`Unexpected service_request node in ${n} phase`);if(Q)throw new Error("Duplicated service_request node in request phase");return Q=oe,!0}case"service_response":{if(n!=="response")throw new Error(`Unexpected service_response node in ${n} phase`);if(Q)throw new Error("Duplicated service_response node in response phase");return Q=oe,!0}case"response":{if(n!=="response")throw new Error(`Unexpected response node in ${n} phase`);if(q)throw new Error("Duplicated response node in response phase");return q=oe,!0}default:return $.push(oe),!1}};let C;for(const oe of ie.value)if(!k(oe)&&$.length>0){C||(C=new Rp.graphlib.Graph({multigraph:!0}),C.setGraph({rankdir:n==="request"?"LR":"RL",nodesep:c,edgesep:d,ranksep:f}));const fe=g(oe.id);if(!fe)throw new Error(`Node ${oe.id} is missing from the graph in ${n} phase`);C.setNode(oe.id,{width:fe.dimensions.width,height:fe.dimensions.height})}if(!q||!Q)throw new Error(`One or more implicit nodes are missing from ${n} phase`);const x=g(q.id),S=g(Q.id);if(!x||!S)throw new Error(`One or more implicit nodes are missing from the graph in ${n} phase`);if($.length>0){if(!C)throw new Error("dagreGraph should be defined here if reachable");const oe=new Set([q.id,Q.id]);for(const fe of ae.value)!oe.has(fe.source)&&!oe.has(fe.target)&&C.setEdge(fe.source,fe.target,{points:[]});Rp.layout(C)}const[O,F]=L$(),J=oe=>({x:oe.x-oe.width/2,y:oe.y-oe.height/2,width:oe.width,height:oe.height});if($.length>0){if(!C)throw new Error("dagreGraph should be defined here if reachable");for(const oe of $){const fe=C.node(oe.id),pe=J(fe);O(pe),U(oe.data.id,{x:pe.x,y:pe.y},!1)}}const R=F(),X=R.x2-R.x1,L=R.y2-R.y1,ue=Math.max(0,Math.min(t.toValue(a==null?void 0:a.width)??Number.POSITIVE_INFINITY,B$)-X-2*c-x.dimensions.width-S.dimensions.width-2*l),le=R.y1+L/2;U(q.data.id,{x:R.x1-c-ue/2-x.dimensions.width,y:le-x.dimensions.height/2},!1),U(Q.data.id,{x:R.x2+c+ue/2,y:le-S.dimensions.height/2},!1),I()}function ne(q){_({...ge.value,...q})}return{vueFlowStore:u,editorStore:p,readonly:i,nodes:ie,edges:ae,autoLayout:te,fitViewParams:ge,fitView:ne}}),Wn="{key}",En={"kong.client.consumer":{dataType:"object",writable:!1,readable:!0},"kong.client.consumer_groups":{dataType:"array",writable:!1,readable:!0},"kong.client.credential":{dataType:"object",writable:!1,readable:!0},"kong.client.get_identity_realm_source":{dataType:"object",writable:!1,readable:!0},"kong.client.forwarded_ip":{dataType:"string",writable:!1,readable:!0},"kong.client.forwarded_port":{dataType:"number",writable:!1,readable:!0},"kong.client.ip":{dataType:"string",writable:!1,readable:!0},"kong.client.port":{dataType:"number",writable:!1,readable:!0},"kong.client.protocol":{dataType:"string",writable:!1,readable:!0},"kong.request.forwarded_host":{dataType:"string",writable:!1,readable:!0},"kong.request.forwarded_port":{dataType:"number",writable:!1,readable:!0},"kong.request.forwarded_scheme":{dataType:"string",writable:!1,readable:!0},"kong.request.port":{dataType:"number",writable:!1,readable:!0},"kong.response.source":{dataType:"string",writable:!1,readable:!0},"kong.router.route":{dataType:"object",writable:!1,readable:!0},"kong.route_id":{dataType:"string",writable:!1,readable:!0},"kong.route_name":{dataType:"string",writable:!1,readable:!0},"kong.router.service":{dataType:"object",writable:!1,readable:!0},"kong.service_name":{dataType:"string",writable:!1,readable:!0},"kong.service_id":{dataType:"string",writable:!1,readable:!0},"kong.service.response.status":{dataType:"number",writable:!1,readable:!0},"kong.version":{dataType:"string",writable:!1,readable:!0},"kong.node.id":{dataType:"string",writable:!1,readable:!0},"kong.configuration.{key}":{dataType:"any",writable:!1,readable:!0},"kong.service.target":{dataType:"string ({host}:{port})",writable:!0,readable:!1},"kong.service.request_scheme":{dataType:"string ({scheme})",writable:!0,readable:!1},"kong.ctx.plugin.{key}":{dataType:"any",writable:!0,readable:!0},"kong.ctx.shared.{key}":{dataType:"any",writable:!0,readable:!0}},wi=Object.keys(En).filter(e=>e.includes(Wn)).map(e=>e.replace(Wn,""));function Ol(e){if(!e||!Ko(e))return;const n=wi.find(o=>e.startsWith(o));if(n)return e.slice(n.length).replace(Wn,"")}function Uo(e){if(!e)return null;const n=wi.find(o=>e.startsWith(o));return n||e}function Ko(e){return e?wi.some(n=>e.startsWith(n)):!1}function Up(e){return e?Ko(e)?Uo(e)+Wn:e:null}function $l(e){var o;if(!e)return!1;const n=Up(e);return n?((o=En[n])==null?void 0:o.readable)??!1:!1}function Bl(e){var o;if(!e)return!1;const n=Up(e);return n?((o=En[n])==null?void 0:o.writable)??!1:!1}const Ei=we(t.defineComponent({__name:"HandleTwig",props:{color:{},position:{default:()=>ye.Left},size:{default:()=>Number.parseFloat(Hw)},type:{}},setup(e){t.useCssVars(o=>({"753622c4":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.position===t.unref(ye).Left?"left":"right"]]),style:t.normalizeStyle(n.value)},null,6))}}),[["__scopeId","data-v-eb2bc3f2"]]),Kp=t.defineComponent({__name:"NodeBadge",props:{type:{},size:{}},setup(e){const n=t.computed(()=>{var i;if(!Rt(e.type))return((i=vr[e.type])==null?void 0:i.icon)??void 0}),o=t.computed(()=>RC(e.type)),r=t.computed(()=>{switch(e.type){case"call":return"warning";case"jq":return"decorative";case"exit":return"danger";case"property":return"success";case"static":return"info";default:return"neutral"}});return(i,a)=>{const l=t.resolveComponent("KBadge");return t.openBlock(),t.createBlock(l,{appearance:r.value,size:i.size},{icon:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(n.value)))]),default:t.withCtx(()=>[t.createTextVNode(" "+t.toDisplayString(o.value),1)]),_:1},8,["appearance","size"])}}}),j$={class:"body"},q$={class:"info-line"},G$={class:"name-and-error"},z$={class:"name"},H$={class:"input-handles"},Y$={class:"handle"},W$={class:"handle-label-wrapper"},X$={class:"handle-label-wrapper"},Z$={class:"handle-label text"},J$={class:"output-handles"},Q$={class:"handle"},eB={class:"handle-label-wrapper"},tB={class:"handle-label-wrapper"},nB={class:"handle-label"},jp=we(t.defineComponent({__name:"FlowNode",props:{data:{},error:{type:Boolean}},setup(e){const{t:n}=Le.createI18n("en-us",Ge),o=K$(),{getInEdgesByNodeId:r,getOutEdgesByNodeId:i,toggleExpanded:a}=lt(),l=t.computed(()=>Pa(e.data.type)),s=t.computed(()=>r(e.data.id).every(v=>v.targetField===void 0)),c=t.computed(()=>i(e.data.id).every(v=>v.sourceField===void 0)),d=t.computed(()=>e.data.expanded.input??!1),f=t.computed(()=>e.data.expanded.output??!1),u=t.computed(()=>{var v,N;if(e.data.type==="property"){const E=(v=e.data.config)==null?void 0:v.property;return Bl(E)}return(N=l.value.io)==null?void 0:N.input}),p=t.computed(()=>{var v,N;if(e.data.type==="property"){const E=(v=e.data.config)==null?void 0:v.property;return $l(E)}return(N=l.value.io)==null?void 0:N.output}),m=t.computed(()=>Ld(e.data)),h=t.computed(()=>e.data.phase==="response"),y=t.computed(()=>e.data.phase==="request"?ye.Left:ye.Right),g=t.computed(()=>e.data.phase==="request"?ye.Right:ye.Left),_=t.computed(()=>m.value?n(`plugins.free-form.datakit.flow_editor.node_types.${e.data.type}.name`):e.data.name),w=t.computed(()=>m.value?Dw:Lw);function b(v){o!=null&&o.readonly||v==="input"&&!s.value||v==="output"&&!c.value||a(e.data.id,v)}return t.watch(s,v=>{v||a(e.data.id,"input",!0,!1)},{immediate:!0}),t.watch(c,v=>{v||a(e.data.id,"output",!0,!1)},{immediate:!0}),(v,N)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["flow-node",{reversed:h.value,implicit:m.value}])},[t.createElementVNode("div",j$,[t.createElementVNode("div",q$,[t.createElementVNode("div",G$,[v.error?(t.openBlock(),t.createBlock(t.unref(Ce.WarningIcon),{key:0,class:"error-icon",color:t.unref(Ic),size:16},null,8,["color"])):t.createCommentVNode("",!0),t.createElementVNode("div",z$,t.toDisplayString(_.value),1)]),m.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(Kp,{key:0,size:"small",type:v.data.type},null,8,["type"]))]),t.renderSlot(v.$slots,"default",{},void 0,!0)]),t.createElementVNode("div",{class:t.normalizeClass(["handles",{reversed:h.value}])},[t.createElementVNode("div",H$,[u.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createElementVNode("div",Y$,[t.createVNode(t.unref(Jt),{id:"input",position:y.value,type:"target"},null,8,["position"]),t.createElementVNode("div",W$,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label",{"has-fields":v.data.fields.input.length>0,collapsible:s.value}])},[N[2]||(N[2]=t.createElementVNode("div",{class:"text"}," inputs ",-1)),v.data.fields.input.length>0?(t.openBlock(),t.createElementBlock("div",{key:0,class:"icon",onClick:N[0]||(N[0]=t.withModifiers(E=>b("input"),["stop"]))},[d.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ce.UnfoldMoreIcon),{key:0,size:t.unref(mo)},null,8,["size"])),d.value?(t.openBlock(),t.createBlock(t.unref(Ce.UnfoldLessIcon),{key:1,color:s.value?void 0:t.unref(Pc),size:t.unref(mo)},null,8,["color","size"])):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],2),d.value?(t.openBlock(),t.createBlock(Ei,{key:0,color:w.value,position:y.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)])]),d.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(v.data.fields.input,(E,T)=>(t.openBlock(),t.createElementBlock("div",{key:`inputs-${E.id}`,class:"handle indented"},[t.createVNode(t.unref(Jt),{id:`inputs@${E.id}`,position:y.value,type:"target"},null,8,["id","position"]),t.createElementVNode("div",X$,[t.createElementVNode("div",Z$,t.toDisplayString(E.name),1),t.createVNode(Ei,{color:w.value,position:y.value,type:T<v.data.fields.input.length-1?"trident":"corner"},null,8,["color","position","type"])])]))),128)):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)]),t.createElementVNode("div",J$,[p.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createElementVNode("div",Q$,[t.createElementVNode("div",eB,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label text",{"has-fields":v.data.fields.output.length>0,collapsible:c.value}])},[N[3]||(N[3]=t.createElementVNode("div",{class:"text"}," outputs ",-1)),v.data.fields.output.length>0?(t.openBlock(),t.createElementBlock("div",{key:0,class:"icon",onClick:N[1]||(N[1]=t.withModifiers(E=>b("output"),["stop"]))},[f.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ce.UnfoldMoreIcon),{key:0,size:t.unref(mo)},null,8,["size"])),f.value?(t.openBlock(),t.createBlock(t.unref(Ce.UnfoldLessIcon),{key:1,color:c.value?void 0:t.unref(Pc),size:t.unref(mo)},null,8,["color","size"])):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],2),f.value?(t.openBlock(),t.createBlock(Ei,{key:0,color:w.value,position:g.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(Jt),{id:"output",position:g.value,type:"source"},null,8,["position"])]),f.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(v.data.fields.output,(E,T)=>(t.openBlock(),t.createElementBlock("div",{key:`outputs-${E.id}`,class:"handle indented"},[t.createElementVNode("div",tB,[t.createElementVNode("div",nB,t.toDisplayString(E.name),1),t.createVNode(Ei,{color:w.value,position:g.value,type:T<v.data.fields.output.length-1?"trident":"corner"},null,8,["color","position","type"])]),t.createVNode(t.unref(Jt),{id:`outputs@${E.id}`,position:g.value,type:"source"},null,8,["id","position"])]))),128)):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)])],2)],2))}}),[["__scopeId","data-v-e55b53e2"]]),qp=we(t.defineComponent({__name:"EditorCanvasFlow",props:{flowId:{},phase:{},readonly:{type:Boolean}},emits:["initialized"],setup(e,{expose:n,emit:o}){const r=o,i=t.useTemplateRef("flowCanvas"),a=Je.useElementBounding(i),{vueFlowStore:l,editorStore:s,nodes:c,edges:d,autoLayout:f,fitViewParams:u,fitView:p}=U$({phase:e.phase,flowId:e.flowId,layoutOptions:{viewport:{width:a.width,height:a.height}},readonly:e.readonly}),{addNode:m,selectNode:h,propertiesPanelOpen:y,newCreatedNodeId:g,invalidConfigNodeIds:_}=s,{project:w,vueFlowRef:b,addSelectedNodes:v,getNodes:N}=l;async function E(K){h(K),await t.nextTick();const j=N.value.find(A=>A.id===K);v(j?[j]:[])}function T(){e.readonly||(y.value=!0)}function P(K){var V,B;if(e.readonly)return;const j=(V=K.dataTransfer)==null?void 0:V.getData(jf);if(!j)return;K.preventDefault();const A=JSON.parse(j);if(A.action!=="create-node")return;const{top:W=0,left:I=0}=((B=b.value)==null?void 0:B.getBoundingClientRect())||{},U=w({x:K.clientX-I,y:K.clientY-W}),{type:M,anchor:ee}=A.data,H={type:M,phase:e.phase,position:{x:U.x-ee.offsetX,y:U.y-ee.offsetY}},G=m(H);E(G),G&&(g.value=G,y.value=!0)}const D=()=>{f(),t.nextTick(()=>p())};return n({autoLayout:f,fitView:p}),(K,j)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowCanvas",ref:i,class:"dk-flow-canvas"},[t.createVNode(t.unref(Ff),{id:K.flowId,class:t.normalizeClass(["flow",{readonly:K.readonly}]),edges:t.unref(d),"elements-selectable":!K.readonly,"max-zoom":t.unref(V$),"min-zoom":t.unref(R$),"multi-selection-key-code":null,nodes:t.unref(c),"nodes-connectable":!K.readonly,"nodes-draggable":!K.readonly,"pan-on-drag":K.readonly?!1:void 0,"pan-on-scroll":K.readonly?!1:void 0,"zoom-on-double-click":K.readonly?!1:void 0,"zoom-on-pinch":K.readonly?!1:void 0,"zoom-on-scroll":K.readonly?!1:void 0,onDragover:j[0]||(j[0]=t.withModifiers(()=>{},["prevent"])),onDrop:j[1]||(j[1]=A=>P(A)),onNodeClick:T,onNodesInitialized:j[2]||(j[2]=A=>r("initialized"))},{"node-flow":t.withCtx(A=>[t.createVNode(jp,{data:A.data,error:t.unref(_).has(A.data.id)},null,8,["data","error"])]),default:t.withCtx(()=>[t.createVNode(t.unref(JA)),K.readonly?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(NI),{key:0,"fit-view-params":t.unref(u),position:"bottom-left","show-interactive":!1},{default:t.withCtx(()=>[t.createElementVNode("button",{class:"vue-flow__controls-button vue-flow__controls-interactive custom",onClick:D},[t.createVNode(t.unref(Ce.SparklesIcon),{size:18})])]),_:1},8,["fit-view-params"]))]),_:1},8,["id","class","edges","elements-selectable","max-zoom","min-zoom","nodes","nodes-connectable","nodes-draggable","pan-on-drag","pan-on-scroll","zoom-on-double-click","zoom-on-pinch","zoom-on-scroll"])],512))}}),[["__scopeId","data-v-f5036b92"]]),Gp=we(t.defineComponent({__name:"EditorCanvas",props:{readonly:{type:Boolean},resizable:{type:Boolean}},setup(e,{expose:n}){const o=t.ref([!1,!1]),{state:r,markAsLayoutCompleted:i}=lt(),a=t.useId(),l=`${a}-request`,s=`${a}-response`,c=Ie(l),d=Ie(s);function f(V,B){const{onPaneClick:Z,onNodesChange:re,onEdgesChange:Y,getSelectedNodes:ie,getSelectedEdges:ae}=V,{removeSelectedElements:ge}=B;function me(te){if(!te){ge();return}te.some(ne=>ne.type==="select")&&ie.value.length+ae.value.length>0&&ge()}re(me),Y(me),Z(()=>me())}f(c,d),f(d,c);const u=t.useTemplateRef("flowPanels"),p=t.useTemplateRef("requestLabel"),m=t.useTemplateRef("requestCanvasContainer"),h=t.useTemplateRef("requestFlow"),y=t.useTemplateRef("resizeHandle"),g=t.useTemplateRef("responseLabel"),_=t.useTemplateRef("responseCanvasContainer"),w=t.useTemplateRef("responseFlow"),b=Je.useElementBounding(u),v=Je.useElementBounding(p),N=Je.useElementBounding(m),E=Je.useElementBounding(y),T=Je.useElementBounding(g),P=Je.useElementBounding(_),D=t.computed(()=>Math.max(30,b.height.value*.03)),K=t.computed(()=>N.height.value<D.value),j=t.computed(()=>P.height.value<D.value),A=t.ref("50%"),W=t.ref("50%"),I=()=>{e.resizable&&(K.value?(A.value="50%",W.value="50%"):(A.value="0",W.value="100%"))},U=()=>{e.resizable&&(j.value?(A.value="50%",W.value="50%"):(A.value="100%",W.value="0"))},M=t.computed(()=>b.height.value-v.height.value-E.height.value-T.height.value),{isDragging:ee}=Je.useDraggable(y,{onMove(V){if(!e.resizable)return;const B=Math.max(0,V.y-N.top.value),Z=Math.min(1,Math.max(0,B/M.value));A.value=`${Z*100}%`,W.value=`${(1-Z)*100}%`},onEnd(){e.resizable&&(N.height.value<D.value?(A.value="0",W.value="100%"):P.height.value<D.value&&(A.value="100%",W.value="0"))}}),H=()=>{t.nextTick(()=>{var V,B;(V=h.value)==null||V.fitView(),(B=w.value)==null||B.fitView()})},G=t.watch(o,([V,B])=>{var Z,re;V&&B&&(r.value.needLayout&&((Z=h.value)==null||Z.autoLayout(),(re=w.value)==null||re.autoLayout(),i()),H(),G.stop())},{deep:!0});return n({fitView:H}),(V,B)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowPanels",ref:u,class:"flow-panels"},[t.createElementVNode("div",{ref_key:"requestLabel",ref:p,class:t.normalizeClass(["label request",{resizable:V.resizable}]),onClick:I},[V.resizable?(t.openBlock(),t.createBlock(t.unref(Ce.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:K.value}])},null,8,["class"])):t.createCommentVNode("",!0),B[2]||(B[2]=t.createElementVNode("div",{class:"label-content"}," Request ",-1))],2),t.createElementVNode("div",{ref_key:"requestCanvasContainer",ref:m,class:t.normalizeClass(["canvas",{dragging:t.unref(ee)}]),style:t.normalizeStyle({flexBasis:A.value})},[t.createVNode(qp,{ref_key:"requestFlow",ref:h,"flow-id":l,phase:"request",readonly:V.readonly,onInitialized:B[0]||(B[0]=Z=>o.value[0]=!0)},null,8,["readonly"])],6),t.createElementVNode("div",{ref_key:"resizeHandle",ref:y,class:t.normalizeClass(["resize-handle",{resizable:V.resizable}])},null,2),t.createElementVNode("div",{ref_key:"responseLabel",ref:g,class:t.normalizeClass(["label response",{dragging:t.unref(ee),resizable:V.resizable}]),onClick:U},[V.resizable?(t.openBlock(),t.createBlock(t.unref(Ce.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:j.value}])},null,8,["class"])):t.createCommentVNode("",!0),B[3]||(B[3]=t.createElementVNode("div",{class:"label-content"}," Response ",-1))],2),t.createElementVNode("div",{ref_key:"responseCanvasContainer",ref:_,class:t.normalizeClass(["canvas response",{dragging:t.unref(ee)}]),style:t.normalizeStyle({flexBasis:W.value})},[t.createVNode(qp,{ref_key:"responseFlow",ref:w,"flow-id":s,phase:"response",readonly:V.readonly,onInitialized:B[1]||(B[1]=Z=>o.value[1]=!0)},null,8,["readonly"])],6)],512))}}),[["__scopeId","data-v-b40e388c"]]),oB={class:"dk-confirm-modal-body"},rB={class:"dk-confirm-modal-connections"},iB=we(t.defineComponent({__name:"ConflictConnectionConfirmModal",props:{title:{},message:{},addedConnections:{},removedConnections:{}},emits:["cancel","confirm"],setup(e,{expose:n,emit:o}){const{i18n:{t:r}}=xe(),i=o,a=t.ref(!1),l=t.ref(e.message),s=t.ref(e.addedConnections??[]),c=t.ref(e.removedConnections??[]);let d=null;function f(){a.value=!1,i("cancel"),d==null||d(!1)}function u(){a.value=!1,i("confirm"),d==null||d(!0)}async function p(m,h,y){return l.value=m,s.value=h??[],c.value=y??[],a.value=!0,await new Promise(g=>{d=g})}return n({open:p}),(m,h)=>{const y=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(y,{"action-button-text":t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.proceed"),"close-on-backdrop-click":"","max-width":"660px",title:m.title??t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.title"),visible:a.value,"z-index":9999,onCancel:f,onProceed:u},{default:t.withCtx(()=>[t.createElementVNode("div",oB,[t.createElementVNode("p",null,t.toDisplayString(l.value),1),t.createElementVNode("p",null,t.toDisplayString(t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.message.confirm")),1),t.createElementVNode("div",rB,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value??[],([g,_])=>(t.openBlock(),t.createElementBlock("div",{key:`${g}-${_}`},[t.createVNode(t.unref(Ce.AddIcon),{color:t.unref(Fw)},null,8,["color"]),t.createElementVNode("span",null,t.toDisplayString(g),1),h[0]||(h[0]=t.createTextVNode(" → ",-1)),t.createElementVNode("span",null,t.toDisplayString(_),1)]))),128)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.value??[],([g,_])=>(t.openBlock(),t.createElementBlock("div",{key:`${g}-${_}`},[t.createVNode(t.unref(Ce.RemoveIcon),{color:t.unref(Ic)},null,8,["color"]),t.createElementVNode("span",null,t.toDisplayString(g),1),h[1]||(h[1]=t.createTextVNode(" → ",-1)),t.createElementVNode("span",null,t.toDisplayString(_),1)]))),128))])])]),_:1},8,["action-button-text","title","visible"])}}}),[["__scopeId","data-v-c4d58082"]]),aB={class:"dk-editor-nav"},lB={class:"top"},sB={class:"bottom"},cB=we(t.defineComponent({__name:"EditorNav",emits:["back"],setup(e,{emit:n}){const{t:o}=Le.createI18n("en-us",Ge),r=n,i=[{label:o("plugins.free-form.datakit.flow_editor.return_to_config"),icon:Ce.ArrowLeftIcon,onClick:()=>r("back")}],{sidePanelExpanded:a}=$a(),l=t.computed(()=>a.value?o("plugins.free-form.datakit.flow_editor.collapse_panel"):o("plugins.free-form.datakit.flow_editor.expand_panel")),s=t.ref(!1);function c(){a.value=!a.value}return(d,f)=>(t.openBlock(),t.createElementBlock("nav",aB,[t.createElementVNode("div",lB,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(i,({label:u,to:p,icon:m,onClick:h})=>t.createVNode(t.unref($e.KTooltip),{key:u,"kpop-attributes":{offset:"10px"},label:u,placement:"right"},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.unref($e.KButton),{key:u,appearance:"none",class:"nav-item",icon:"",to:p,onClick:h},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(m),{decorative:"",size:t.unref(ua)},null,8,["size"]))]),_:2},1032,["to","onClick"]))]),_:2},1032,["label"])),64))]),t.createElementVNode("div",sB,[t.createElementVNode("div",{class:t.normalizeClass(["side-panel-toggle",{expanded:t.unref(a)}]),onTransitionend:f[0]||(f[0]=t.withModifiers(u=>s.value=!1,["self"])),onTransitionstart:f[1]||(f[1]=t.withModifiers(u=>s.value=!0,["self"]))},[t.createVNode(t.unref($e.KTooltip),{label:s.value?void 0:l.value,placement:t.unref(a)?"left":"right"},{default:t.withCtx(()=>[t.createVNode(t.unref($e.KButton),{appearance:"none",class:"nav-item nav-item-toggle",icon:"",size:"large",onClick:c},{default:t.withCtx(()=>[t.unref(a)?(t.openBlock(),t.createBlock(t.unref(Ce.ChevronDoubleLeftIcon),{key:0,decorative:"",size:t.unref(ua)},null,8,["size"])):(t.openBlock(),t.createBlock(t.unref(Ce.ChevronDoubleRightIcon),{key:1,decorative:"",size:t.unref(ua)},null,8,["size"]))]),_:1})]),_:1},8,["label","placement"])],34)])]))}}),[["__scopeId","data-v-4498cfce"]]),dB={class:"dk-editor-main"},uB={class:"header"},fB={class:"actions"},pB={ref:"canvasContainer",class:"body"},mB=we(t.defineComponent({__name:"EditorMain",setup(e){const{t:n}=Le.createI18n("en-us",Ge),{modalOpen:o}=lt();function r(){o.value=!1}return(i,a)=>(t.openBlock(),t.createElementBlock("div",dB,[t.createElementVNode("header",uB,[t.createElementVNode("div",fB,[t.createVNode(t.unref($e.KButton),{appearance:"tertiary",target:"_blank",to:"https://developer.konghq.com/plugins/datakit/"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.view_docs"))+" ",1),t.createVNode(t.unref(Ce.ExternalLinkIcon))]),_:1}),t.createVNode(t.unref($e.KButton),{onClick:r},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.done")),1)]),_:1})])]),t.createElementVNode("div",pB,[t.createVNode(Gp,{resizable:""})],512)]))}}),[["__scopeId","data-v-2abb236d"]]),gB={class:"icon"},hB={class:"content"},yB={class:"title"},_B={class:"description"},bB=we(t.defineComponent({__name:"NodePanelItem",props:{type:{}},setup(e){const{summary:n,icon:o}=vr[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",gB,[t.createVNode(t.unref(o),{size:16})]),t.createElementVNode("div",hB,[t.createElementVNode("div",yB,t.toDisplayString(r.type),1),t.createElementVNode("div",_B,t.toDisplayString(t.unref(n)),1)])],2))}}),[["__scopeId","data-v-e75cecee"]]),wB={class:"dk-node-panel"},EB={class:"title"},kB={class:"node-list"},CB={"aria-hidden":"true",class:"preview",inert:""},NB=we(t.defineComponent({__name:"NodePanel",setup(e){const{t:n}=Le.createI18n("en-us",Ge),{createNode:o}=lt(),r=`dk-drag-preview-${t.useId()}`,i=t.shallowRef(),a=t.computed(()=>i.value?[{id:"preview",type:"flow",data:i.value,position:{x:0,y:0}}]:[]),l=async(s,c)=>{var P,D;const d=s.currentTarget,{left:f,top:u,width:p,height:m}=d.getBoundingClientRect(),h=s.clientX-f,y=s.clientY-u;i.value=o({type:c}),await t.nextTick();const g=document.querySelector(`#${r}`)||d,_=g.cloneNode(!0),{offsetWidth:w,offsetHeight:b}=g;Object.assign(_.style,{position:"absolute",top:"-9999px",left:"-9999px",width:`${w}px`,height:`${b}px`,boxSizing:"border-box"}),document.body.appendChild(_);const v=h/p,N=y/m,E={ratioX:v,ratioY:N,offsetX:w*v,offsetY:b*N},T={action:"create-node",data:{type:c,anchor:E}};(P=s.dataTransfer)==null||P.setData(jf,JSON.stringify(T)),(D=s.dataTransfer)==null||D.setDragImage(_,E.offsetX,E.offsetY),requestAnimationFrame(()=>{_.remove(),i.value=void 0})};return(s,c)=>{const d=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",wB,[t.createElementVNode("h3",EB,[t.createVNode(d,{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",kB,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Object.keys(t.unref(vr)),f=>(t.openBlock(),t.createBlock(bB,{key:f,draggable:"true",type:f,onDragstart:u=>l(u,f)},null,8,["type","onDragstart"]))),128))]),t.createElementVNode("div",CB,[t.createVNode(t.unref(Ff),{nodes:a.value},{"node-flow":t.withCtx(f=>[t.createVNode(jp,{id:r,data:f.data},null,8,["data"])]),_:1},8,["nodes"])])])}}}),[["__scopeId","data-v-8e8421d3"]]),vB=t.defineComponent({__name:"HttpMethodField",props:{name:{}},setup(e){return(n,o)=>(t.openBlock(),t.createBlock(kt,{items:t.unref(ea)([...t.unref(II)]),name:n.name},null,8,["items","name"]))}}),SB=we(t.defineComponent({__name:"InputsRecordField",props:{name:{},items:{}},emits:["change:inputs"],setup(e){const{getSchema:n}=De(),{i18n:o}=xe(),r=t.computed(()=>{const i=n("inputs");return i?i.fields.map(a=>Object.keys(a)[0]):[]});return(i,a)=>(t.openBlock(),t.createBlock(tt,{"as-child":"",name:i.name,"reset-label-path":"isolate"},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.value,l=>(t.openBlock(),t.createBlock(kt,{key:l,class:"dk-inputs-field-indent",clearable:"",items:i.items,name:l,placeholder:t.unref(o).t("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s=>i.$emit("change:inputs",l,s?s.value:null)},null,8,["items","name","placeholder","onChange"]))),128))]),_:1},8,["name"]))}}),[["__scopeId","data-v-a849b44b"]]),xB=["data-testid"],AB={class:"dk-inputs-map-field-entry-body"},IB={class:"dk-inputs-map-field-entry-content"},PB={class:"dk-inputs-map-field-indent"},TB=we(t.defineComponent({__name:"InputsMapField",props:{items:{},fieldNameValidator:{},name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{}},emits:["change:inputs","add:field","remove:field","rename:field","change"],setup(e,{emit:n}){const o=e,r=n,{entries:i,addEntry:a,removeEntry:l,field:s}=sa(o,r),{i18n:{t:c}}=xe(),d=t.useTemplateRef("root"),f=t.ref(null),u=t.ref({});let p;async function m(N,E="key"){var T;d.value&&(await t.nextTick(),(T=d.value.querySelector(`[data-${E}-input="${N}"]`))==null||T.focus())}function h(){const{id:N}=a(),E=i.value.findIndex(({key:T})=>!T);m(E===-1?i.value.length-1:E),f.value=N}function y(N){l(N.id),N.id===f.value&&(f.value=null),N.key.trim()!==""&&r("remove:field",N.key)}function g(N){p=N.key}function _(N){if(w(N)){N.key=p,delete u.value[N.id];return}if(N.id===f.value){if(N.key.trim()==="")return;r("add:field",N.key,N.value),f.value=null}else r("rename:field",p,N.key);p=N.key}function w(N){delete u.value[N.id];const E=o.fieldNameValidator("input",p,N.key);if(E)return u.value[N.id]=E,E}function b(N){w(N)}function v(N,E){N.id!==f.value&&r("change:inputs",N.key,E)}return(N,E)=>{const T=t.resolveComponent("KAlert"),P=t.resolveComponent("KLabel"),D=t.resolveComponent("KInput"),K=t.resolveComponent("KSelect"),j=t.resolveComponent("KButton");return t.unref(s).error?(t.openBlock(),t.createBlock(T,{key:0,appearance:"danger",message:t.unref(s).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:d,class:"dk-inputs-map-field"},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),(A,W)=>(t.openBlock(),t.createElementBlock("div",{key:A.id,class:"dk-inputs-map-field-entry dk-inputs-map-field-indent","data-testid":`ff-kv-container-${t.unref(s).path.value}.${W}`},[t.createVNode(P,{for:`ff-kv-entry-key-${t.unref(s).path.value}.${W}`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input_name.label")),1)]),_:2},1032,["for"]),t.createElementVNode("div",AB,[t.createElementVNode("div",IB,[t.createVNode(D,{id:`ff-kv-entry-key-${t.unref(s).path.value}.${W}`,modelValue:A.key,"onUpdate:modelValue":[I=>A.key=I,I=>w(A)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":W,"data-testid":`ff-key-${t.unref(s).path.value}.${W}`,error:!!u.value[A.id],"error-message":u.value[A.id],placeholder:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input_name.placeholder"),onBlur:I=>b(A),onChange:I=>_(A),onFocus:I=>g(A)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","placeholder","onBlur","onChange","onFocus"]),t.createVNode(K,{modelValue:A.value,"onUpdate:modelValue":I=>A.value=I,class:"ff-kv-field-entry-value",clearable:"","data-testid":`ff-value-${t.unref(s).path.value}.${W}`,items:N.items,placeholder:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:I=>v(A,(I==null?void 0:I.value)??null)},null,8,["modelValue","onUpdate:modelValue","data-testid","items","placeholder","onChange"])]),t.createVNode(j,{appearance:"none","data-testid":`ff-kv-remove-btn-${t.unref(s).path.value}.${W}`,icon:"",onClick:I=>y(A)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.CloseIcon))]),_:2},1032,["data-testid","onClick"])])],8,xB))),128)),t.createElementVNode("div",PB,[t.createVNode(j,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(s).path.value}`,disabled:!!f.value,onClick:h},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.add_button")),1)]),_:1},8,["data-testid","disabled"])])],512))}}}),[["__scopeId","data-v-685121cd"]]),Xn=t.defineComponent({__name:"InputsField",props:{items:{},fieldNames:{},fieldNameValidator:{}},emits:["change:input","change:inputs","add:field","remove:field","rename:field"],setup(e,{emit:n}){const o=n,{getSchema:r}=De(),{i18n:i}=xe(),a=t.computed(()=>r("inputs")),l=t.computed(()=>a.value?a.value.type==="record"?SB:TB:null);function s(p){o("change:input",p?p.value:null)}function c(p,m){o("add:field",p,m)}function d(p,m){o("change:inputs",p,m)}function f(p){o("remove:field",p)}function u(p,m){o("rename:field",p,m)}return(p,m)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.unref(r)("input")?(t.openBlock(),t.createBlock(kt,{key:0,clearable:"","enable-filtering":"",items:p.items,label:"Inputs",name:"input",placeholder:t.unref(i).t("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s},null,8,["items","placeholder"])):t.createCommentVNode("",!0),l.value?(t.openBlock(),t.createBlock(t.unref(l),{key:1,"field-name-validator":p.fieldNameValidator,items:p.items,"key-order":p.fieldNames,name:"inputs","onAdd:field":c,"onChange:inputs":d,"onRemove:field":f,"onRename:field":u},null,8,["field-name-validator","items","key-order"])):t.createCommentVNode("",!0)],64))}}),OB={fields:[{input:{description:"filter input(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"call node inputs",fields:[{body:{description:"HTTP request body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP request headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{query:{description:"HTTP request query",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}}],type:"record"},$B={fields:[{input:{description:"filter input(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"call node inputs",fields:[{body:{description:"HTTP request body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP request headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}}],type:"record"};function BB(e){const n=Number(e);return!isNaN(n)&&isFinite(n)}function Zn(...e){return function(o){for(const r of e){const i=r(o);if(i)return i}}}function Jn(e){const{i18n:{t:n}}=xe(),o=()=>e?typeof e=="string"?e:n("plugins.free-form.datakit.flow_editor.node_properties.errors.not_empty",e):"Field is required";return function(i){if(i==null||typeof i=="string"&&i.trim()==="")return o()}}function zp(e,n){const{i18n:{t:o}}=xe();return function(i){if(i!=null)switch(e){case"identifier":{const a=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.invalid_identifier_format",n):"Invalid identifier format";return/^[A-Za-z_][A-Za-z0-9_-]*$/.test(i)?void 0:a()}case"url":{const a=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.invalid_url_format"):"Invalid URL format";try{new URL(i);return}catch{return a()}}default:return}}}function VB(e=0,n=1/0,o){const{i18n:{t:r}}=xe();return function(a){if(a!=null&&typeof a=="string"&&(a.length<e||a.length>n))return o?typeof o=="string"?o:r("plugins.free-form.datakit.flow_editor.node_properties.errors.string_len_range",{fieldName:o.fieldName,minLength:e,maxLength:n}):`Value must be between ${e} and ${n} characters`}}function Hp(e){const{i18n:{t:n}}=xe();return function(r){if(!BB(r))return e?typeof e=="string"?e:n("plugins.free-form.datakit.flow_editor.node_properties.errors.not_number",e):"Value must be a number"}}function Yp(e,n){const{i18n:{t:o}}=xe();return function(i){if(i==null)return;const a=Hp(n)(i);if(a)return a;const l=Number(i);switch(e){case"float":{const s=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.not_float",n):"Invalid float format";return Number.isFinite(l)?void 0:s()}case"integer":{const s=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.not_integer",n):"Invalid integer format";return Number.isInteger(l)?void 0:s()}default:return}}}function Wp(e=-1/0,n=1/0,o){const{i18n:{t:r}}=xe();return function(a){if(a==null)return;const l=Hp(o)(a);if(l)return l;const s=Number(a);if(s<e||s>n)return o?typeof o=="string"?o:r("plugins.free-form.datakit.flow_editor.node_properties.errors.number_range",{fieldName:o.fieldName,min:e,max:n}):`Value must be between ${e} and ${n}`}}function RB(e,n){const{state:o}=lt(),{i18n:{t:r}}=xe();return function(a){if(o.value.nodes.some(l=>l.name===a&&l.id!==e))return n?typeof n=="string"?n:r("plugins.free-form.datakit.flow_editor.node_properties.errors.not_unique",n):"Name must be unique."}}function MB(e,n,o){const{i18n:{t:r}}=xe();return function(a){if(!n)return;if(o?n.fields[e].some(s=>s.name===a&&s.id!==o):n.fields[e].some(s=>s.name===a)){const s=r(e==="input"?"plugins.free-form.datakit.flow_editor.node_properties.input_name.label":"plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name");return r("plugins.free-form.datakit.flow_editor.node_properties.errors.not_unique",{fieldName:s})}}}function DB(){const{i18n:{t:e}}=xe();return function(o){if(Ia(o))return e("plugins.free-form.datakit.flow_editor.node_properties.errors.reserved_node_name",{nodeName:o})}}function Xp(e){const{i18n:{t:n}}=xe(),o={fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.name")};return Zn(Jn(o),zp("identifier",o),DB(),RB(e,o))}function LB(e){const{i18n:{t:n}}=xe(),{getNodeById:o}=lt();return function(i,a,l){const s={fieldName:n(i==="input"?"plugins.free-form.datakit.flow_editor.node_properties.input_name.label":"plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name")};return Zn(Jn(s),MB(i,o(e),l))(a)}}function FB(e){const n=t.ref({}),o=t.computed(()=>Object.values(n.value).every(l=>!l)),r={};Object.keys(e).forEach(l=>{const s=e[l],c=u=>{const p=typeof u=="function"?u():u,m=s(p);return n.value[l]=m,m},d=()=>{n.value[l]=void 0},f=u=>(d(),c(u));r[l]={handleChange:f,handleBlur:f,validate:f,isValid:t.computed(()=>n.value[l]===void 0),error:t.computed(()=>n.value[l])}});function i(){n.value={}}function a(l){var s;for(const c of Object.keys(e)){const d=l[c],f=typeof d=="function"?d():d;(s=r[c])==null||s.validate(f)}return n.value}return{isValid:o,errorMap:n,fields:r,clearErrors:i,validate:a}}function ki(e){const{validationConfig:n,getValidationData:o,skipValidationOnMount:r,toggleNodeValid:i}=e,a=t.computed(()=>typeof n=="function"?n():n),l=t.computed(()=>FB(a.value)),s=t.computed(()=>l.value.fields),c=t.computed(()=>l.value.isValid.value);function d(){const u=o(),p=l.value.validate(u),m={};for(const h in a.value)m[h]=p[h];return m}function f(u,p){return{onBlur:()=>{const m=o(),h=s.value[u];h&&h.handleBlur(m[u])},onUpdate:()=>{const m=o(),h=s.value[u];h&&h.handleChange(m[u]),p==null||p()},error:t.computed(()=>{const m=s.value[u];return m?!m.isValid.value:!1}),errorMessage:t.computed(()=>{const m=s.value[u];return m?m.error.value??"":""})}}return t.onMounted(()=>{r!=null&&r.value||d()}),t.onBeforeUnmount(async()=>{try{const u=d(),p=Object.values(u).filter(Boolean).length>0;i(!p)}catch{}}),t.watch(()=>c.value,i,{immediate:!0}),{fields:s.value,isValid:c,validateAll:d,createFieldHandler:f}}function kn(e,n){const{state:o,renameNode:r,getNodeById:i,addField:a,renameField:l,removeField:s,replaceConfig:c,disconnectEdge:d,connectEdge:f,newCreatedNodeId:u,invalidConfigNodeIds:p,undo:m,commit:h}=lt(),{i18n:{t:y}}=xe(),g=D$();let _=!1;t.watch(o,async()=>{_=!0,await t.nextTick(),_=!1},{immediate:!0,deep:!0}),console.log("state",o.value),window.store=lt();const w=t.computed(()=>{const B=i(e);if(!B)throw new Error("Node not existed");return B}),b=t.computed(()=>{const Z=o.value.edges.filter(re=>re.target===e).reduce((re,Y)=>{var te,ne;const ie=i(Y.source),ae=(te=zt(ie,"output",Y.sourceField))==null?void 0:te.id,ge=(ne=zt(w.value,"input",Y.targetField))==null?void 0:ne.name,me=ie.id+(ae?`.${ae}`:"");return ge?re.inputs={...re.inputs,[ge]:me}:re.input=me,re},{});return w.value.fields.input.forEach(re=>{Z.inputs||(Z.inputs={}),Z.inputs[re.name]||(Z.inputs[re.name]=null)}),{...w.value.config,...Z,name:w.value.name}}),v=B=>{r(e,B??"",!0,`${e}:rename`)},N=(B,Z=!0)=>{if(_)return;if(!n)throw new Error("getFormInnerData is not defined");const re=ic(n(),["name","input","inputs"]),Y=B?`update:${e}:${B}`:void 0;c(e,re,Z,Y)},E=(B,Z)=>{const re=Fn(w.value,B,Z);if(!re)throw new Error(`Field with name "${Z}" not found in node "${w.value.name}"`);return re},T=(B,Z,re)=>{const Y=!!re;a(e,B,Z,!Y),Y&&A(Z,re)},P=(B,Z,re)=>{if(_)return;const Y=E(B,Z).id;l(e,Y,re)},D=(B,Z)=>{const re=E(B,Z).id;s(e,re)},K=t.computed(()=>o.value.edges.filter(B=>B.target===e&&!B.targetField)[0]),j=t.computed(()=>o.value.edges.filter(B=>B.target===e&&B.targetField)),A=async(B,Z)=>{if(_)return;const re=Z==null,Y=E("input",B).id;if(re){const Q=j.value.find($=>$.targetField===Y);Q&&d(Q.id);return}const{nodeId:ie,fieldId:ae}=Fd(Z),ge=E("input",B).id,me=[];K.value&&(me.push(Fo(K.value,i)),d(K.value.id,!1));const te=j.value.find(Q=>Q.targetField===Y);te&&(me.push(Fo(te,i)),d(te.id,!1)),f({source:ie,sourceField:ae,target:e,targetField:ge},!1);const ne=Pl(ie,ae,e,ge,i);h(),!(me[0]&&ne&&me[0][1]===ne[1])&&me.length>0&&(await g(y("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[ne],me)||m())},W=async B=>{if(_)return;if(B==null){K.value&&d(K.value.id);return}const re=[];for(const ge of j.value)re.push(Fo(ge,i)),d(ge.id,!1);const{nodeId:Y,fieldId:ie}=Fd(B);f({source:Y,sourceField:ie,target:e,targetField:void 0},!1);const ae=Pl(Y,ie,e,void 0,i);h(),re.length>0&&(await g(y("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[ae],re)||m())},I=B=>{const Z=[...o.value.edges,{source:B,target:e}];return Oa(Ar(Z))},U=t.computed(()=>{var Z,re;const B=[];for(const Y of o.value.nodes)if((Z=Pa(Y.type).io)!=null&&Z.output&&Y.fields.output&&Y.id!==e&&!(Y.type==="property"&&!$l((re=Y.config)==null?void 0:re.property))&&!I(Y.id)){B.push({value:Y.id,label:Y.name});for(const ae of Y.fields.output)B.push({value:`${Y.id}.${ae.id}`,label:`${Y.name}.${ae.name}`})}return B}),M=t.computed(()=>w.value.fields.input.map(B=>B.name)||[]),ee=t.computed(()=>u.value===e);function H(B){p.value.delete(e),B||p.value.add(e)}const G=LB(e);function V(B,Z,re){const Y=i(e);if(!Y)throw new Error("Node not found when validating field name");const ie=Fn(Y,B,Z);return G(B,re,ie==null?void 0:ie.id)}return{formData:b,inputOptions:U,inputEdge:K,inputsEdges:j,inputsFieldNames:M,skipValidationOnMount:ee,currentNode:w,setName:v,setConfig:N,addField:T,renameFieldByName:P,removeFieldByName:D,setInputs:A,setInput:W,nameValidator:Xp(e),fieldNameValidator:V,toggleNodeValid:H}}function Cn(e){const{getSchema:n}=De();return t.computed(()=>{if(Rt(e))switch(e){case"response":return $B;case"service_request":return OB}try{const l=n().fields[0].config.fields[0].nodes.elements.subschema_definitions[e];if(!l)throw new Error(`Subschema "${e}" not found in the schema.`);return l}catch(o){throw new Error(`Failed to get subschema "${e}": ${o.message}`)}})}const jo=t.defineComponent({__name:"NameField",props:{name:{},validate:{type:Function}},emits:["update"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=xe(),a=t.ref(o.name),l=t.computed(()=>{const f=o.validate(a.value.trim());return f===void 0?"":f});let s=a.value.trim();function c(){if(l.value){a.value=s;return}r("update",a.value.trim())}function d(){s=a.value.trim()}return t.watch(()=>o.name,f=>{f!==a.value&&(a.value=f)}),(f,u)=>{const p=t.resolveComponent("KInput");return t.openBlock(),t.createBlock(p,{"model-value":a.value,"onUpdate:modelValue":u[0]||(u[0]=m=>a.value=m),"data-1p-ignore":"",error:!!l.value,"error-message":l.value,label:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.name"),required:"",onChange:c,onFocus:d},null,8,["model-value","error","error-message","label"])}}}),UB=t.defineComponent({__name:"NodeFormCall",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=xe(),o=t.useTemplateRef("form"),r=Cn("call"),{formData:i,setName:a,setConfig:l,inputOptions:s,setInputs:c,setInput:d,inputsFieldNames:f,nameValidator:u,skipValidationOnMount:p,toggleNodeValid:m,fieldNameValidator:h}=kn(e.nodeId,()=>o.value.getInnerData()),{createFieldHandler:y}=ki({validationConfig:{url:Zn(Jn({fieldName:"URL"}),zp("url",{fieldName:"URL"})),timeout:Zn(Yp("integer",{fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.timeout.label")}),Wp(0,2147483646,{fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.timeout.label")}))},getValidationData:()=>({url:i.value.url,timeout:i.value.timeout}),skipValidationOnMount:p,toggleNodeValid:m}),g=y("url",()=>l("url")),_=y("timeout",()=>l("timeout"));return(w,b)=>{const v=t.resolveComponent("KLabel");return t.openBlock(),t.createBlock(ft,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(jo,{name:t.unref(i).name,validate:t.unref(u),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(v,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.Configuration")),1)]),_:1}),t.createVNode(On,{error:t.unref(g).error.value,"error-message":t.unref(g).errorMessage.value,name:"url",onBlur:t.unref(g).onBlur,"onUpdate:modelValue":t.unref(g).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(vB,{name:"method","onUpdate:modelValue":b[0]||(b[0]=N=>t.unref(l)())}),t.createVNode($n,{error:t.unref(_).error.value,"error-message":t.unref(_).errorMessage.value,label:t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.timeout.label"),name:"timeout",onBlur:t.unref(_).onBlur,"onUpdate:modelValue":t.unref(_).onUpdate},null,8,["error","error-message","label","onBlur","onUpdate:modelValue"]),t.createVNode(On,{name:"ssl_server_name","onUpdate:modelValue":b[1]||(b[1]=N=>t.unref(l)("ssl_server_name"))}),t.createVNode(Xn,{"field-name-validator":t.unref(h),"field-names":t.unref(f),items:t.unref(s),"onChange:input":t.unref(d),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),KB=t.defineComponent({__name:"NodeFormServiceRequest",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=Cn("service_request"),{formData:r,inputOptions:i,setInputs:a,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=kn(e.nodeId,()=>n.value.getInnerData());return(d,f)=>(t.openBlock(),t.createBlock(ft,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(Xn,{"field-name-validator":t.unref(c),"field-names":t.unref(s),items:t.unref(i),"onChange:input":t.unref(l),"onChange:inputs":t.unref(a)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),jB=t.defineComponent({__name:"NodeFormResponse",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=Cn("response"),{formData:r,inputOptions:i,setInputs:a,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=kn(e.nodeId,()=>n.value.getInnerData());return(d,f)=>(t.openBlock(),t.createBlock(ft,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(Xn,{"field-name-validator":t.unref(c),"field-names":t.unref(s),items:t.unref(i),"onChange:input":t.unref(l),"onChange:inputs":t.unref(a)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),qB=t.defineComponent({__name:"NodeFormJq",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=xe(),o=t.useTemplateRef("form"),r=Cn("jq"),{formData:i,setName:a,setConfig:l,inputOptions:s,setInputs:c,setInput:d,addField:f,removeFieldByName:u,renameFieldByName:p,inputsFieldNames:m,nameValidator:h,skipValidationOnMount:y,toggleNodeValid:g,fieldNameValidator:_}=kn(e.nodeId,()=>o.value.getInnerData());function w(P,D){f("input",P,D)}function b(P){u("input",P)}function v(P,D){p("input",P,D)}const N=n("plugins.free-form.datakit.flow_editor.node_properties.jq.label"),{createFieldHandler:E}=ki({validationConfig:{jq:Zn(Jn({fieldName:N}),VB(1,10240,{fieldName:N}))},getValidationData:()=>({jq:i.value.jq}),skipValidationOnMount:y,toggleNodeValid:g}),T=E("jq",()=>l("jq"));return(P,D)=>{const K=t.resolveComponent("KLabel");return t.openBlock(),t.createBlock(ft,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(jo,{name:t.unref(i).name,validate:t.unref(h),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(K,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.Configuration")),1)]),_:1}),t.createVNode(On,{error:t.unref(T).error.value,help:t.unref(T).errorMessage.value,label:t.unref(N),multiline:"",name:"jq",resizable:"",rows:"2",onBlur:t.unref(T).onBlur,"onUpdate:modelValue":t.unref(T).onUpdate},null,8,["error","help","label","onBlur","onUpdate:modelValue"]),t.createVNode(Xn,{"field-name-validator":t.unref(_),"field-names":t.unref(m),items:t.unref(s),"onAdd:field":w,"onChange:input":t.unref(d),"onChange:inputs":t.unref(c),"onRemove:field":b,"onRename:field":v},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),GB=we(t.defineComponent({__name:"OutputValueField",props:{fieldNameValidator:{},name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{}},emits:["change:value","add:field","rename:field","remove:field","change"],setup(e,{emit:n}){const o=e,r=n,i=t.ref({}),{entries:a,addEntry:l,removeEntry:s,field:c}=sa(o,r,!1),{i18n:d}=xe(),f=t.useTemplateRef("root"),u=t.ref(null);let p;async function m(N,E="key"){var T;f.value&&(await t.nextTick(),(T=f.value.querySelector(`[data-${E}-input="${N}"]`))==null||T.focus())}function h(){const N=l(),E=a.value.findIndex(({key:T})=>!T);m(E===-1?a.value.length-1:E),u.value=N}function y(N){var E;N.id===((E=u.value)==null?void 0:E.id)&&(u.value=null),s(N.id),N.key.trim()!==""&&r("remove:field",N.key)}function g(N){p=N.key}function _(N){var E;if(b(N)){N.key=p,delete i.value[N.id];return}if(N.id===((E=u.value)==null?void 0:E.id)){if(N.key.trim()==="")return;u.value=null,r("add:field",N.key,N.value)}else r("rename:field",p,N.key);p=N.key}function w(N,E){var P;if(E.id===((P=u.value)==null?void 0:P.id))return;const T=N.target.value.trim();r("change:value",E.key,T)}function b(N){delete i.value[N.id];const E=o.fieldNameValidator("output",p,N.key);if(E)return i.value[N.id]=E,E}function v(N){b(N)}return t.watchEffect(()=>{u.value&&!a.value.some(N=>N.id===u.value.id)&&a.value.push(u.value)}),(N,E)=>{const T=t.resolveComponent("KAlert"),P=t.resolveComponent("KLabel"),D=t.resolveComponent("KButton"),K=t.resolveComponent("KInput"),j=t.resolveComponent("KCard");return t.unref(c).error?(t.openBlock(),t.createBlock(T,{key:0,appearance:"danger",message:t.unref(c).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:f,class:"dk-output-value-field"},[t.createVNode(P,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.label")),1)]),_:1}),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(a),(A,W)=>(t.openBlock(),t.createBlock(j,{key:A.id,class:"dk-output-value-field-entry","data-testid":`ff-kv-container-${t.unref(c).path.value}.${W}`},{actions:t.withCtx(()=>[t.createVNode(D,{appearance:"none","data-testid":`ff-kv-remove-btn-${t.unref(c).path.value}.${W}`,icon:"",onClick:I=>y(A)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.CloseIcon))]),_:2},1032,["data-testid","onClick"])]),default:t.withCtx(()=>[t.createVNode(K,{id:`ff-kv-entry-key-${t.unref(c).path.value}.${W}`,modelValue:A.key,"onUpdate:modelValue":[I=>A.key=I,I=>b(A)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":W,"data-testid":`ff-key-${t.unref(c).path.value}.${W}`,error:!!i.value[A.id],"error-message":i.value[A.id],label:t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name"),required:"",onBlur:I=>v(A),onChange:I=>_(A),onFocus:I=>g(A)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","label","onBlur","onChange","onFocus"]),t.createVNode(K,{modelValue:A.value,"onUpdate:modelValue":I=>A.value=I,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${t.unref(c).path.value}.${W}`,label:t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value"),onChange:I=>w(I,A)},null,8,["modelValue","onUpdate:modelValue","data-testid","label","onChange"])]),_:2},1032,["data-testid"]))),128)),t.createVNode(D,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(c).path.value}`,disabled:!!u.value,onClick:h},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.add_button")),1)]),_:1},8,["data-testid","disabled"])],512))}}}),[["__scopeId","data-v-9f3f9fea"]]);function zB(e){const n={};for(const[o,r]of Object.entries(e))typeof r=="object"&&r!==null?n[o]=JSON.stringify(r):n[o]=String(r);return n}function Ci(e){const n={};for(const[o,r]of Object.entries(e))if(r!=null){n[o]=r;try{r==="null"?n[o]=null:(r==="true"||r==="false"||/^-?\d+(\.\d+)?$/.test(r)||r.startsWith("{")&&r.endsWith("}")||r.startsWith("[")&&r.endsWith("]"))&&(n[o]=JSON.parse(r))}catch{}}return n}function HB(e,n,o){const r={};for(const i of Object.keys(e))i===n?r[o]=e[n]:r[i]=e[i];return r}const YB=t.defineComponent({__name:"NodeFormStatic",props:{nodeId:{}},setup(e){const{renameNode:n,getOutEdgesByNodeId:o,addField:r,renameField:i,removeField:a,replaceConfig:l,getNodeById:s}=lt(),{fieldNameValidator:c}=kn(e.nodeId),d=Cn("static"),f=Xp(e.nodeId),u=t.computed(()=>s(e.nodeId)),p=t.computed(()=>{var b;return((b=u.value)==null?void 0:b.fields.output.map(v=>v.name))||[]});function m(b){if(!u.value)throw new Error("No current node");n(u.value.id,b??"")}const h=t.computed(()=>{var D;if(!u.value)return{};const b=((D=u.value.config)==null?void 0:D.values)??{},v={},N=o(u.value.id).map(K=>K.sourceField).filter(Boolean).map(K=>zt(u.value,"output",K)).map(K=>K==null?void 0:K.name).filter(Boolean),E=u.value.fields.output.map(K=>K.name),T=Object.keys(b);return new Set([...T,...N,...E]).forEach(K=>{if(K in b){v[K]=b[K];return}v[K]=""}),{name:u.value.name,values:zB(v)}});function y(b,v){if(!u.value)throw new Error("No selected node");const N=v!==void 0;if(r(e.nodeId,"output",b,!N),N){const E={values:Ci({...h.value.values,[b]:v})};l(e.nodeId,E)}}function g(b,v){if(!u.value)throw new Error("No selected node");const N=Fn(u.value,"output",b);if(!N)throw new Error("No field found to rename");const E={values:Ci(HB(h.value.values??{},b,v))};l(e.nodeId,E,!1),i(e.nodeId,N.id,v)}function _(b){var E;if(!u.value)throw new Error("No selected node");const v=Fn(u.value,"output",b);if(!v)throw new Error("No field found to delete");a((E=u.value)==null?void 0:E.id,v.id,!0,!1);const N={values:Ci({...h.value.values})};delete N.values[b],l(e.nodeId,N)}function w(b,v){if(!u.value)throw new Error("No selected node");const N={...h.value.values};N[b]=v;const E={values:Ci(N)};l(e.nodeId,E)}return(b,v)=>(t.openBlock(),t.createBlock(ft,{ref:"form",data:h.value,schema:t.unref(d)},{default:t.withCtx(()=>{var N;return[t.createVNode(jo,{name:((N=u.value)==null?void 0:N.name)??"",validate:t.unref(f),onUpdate:m},null,8,["name","validate"]),t.createVNode(GB,{"field-name-validator":t.unref(c),"key-order":p.value,name:"values","onAdd:field":y,"onChange:value":w,"onRemove:field":_,"onRename:field":g},null,8,["field-name-validator","key-order"])]}),_:1},8,["data","schema"]))}}),WB={class:"dk-kong-property-item"},XB={class:"property-type"},ZB={class:"property-badges"},JB=we(t.defineComponent({__name:"PropertiesField",props:{validators:{}},emits:["update:model-value","update:property-key"],setup(e,{emit:n}){const{i18n:{t:o}}=xe(),r=e,i=n,{formData:a}=De(),l=t.ref(Uo(a.property)),s=t.computed(()=>Ko(a.property)),c=t.ref(Ol(a.property)),d=t.computed(()=>a.property??""),f=t.computed(()=>Object.entries(En).map(([m])=>{var g;const h=Ko(m)?(g=a.property)==null?void 0:g.startsWith(m.replace(Wn,"")):a.property===m;return{label:h&&c.value?m.replace(Wn,c.value):m,value:m,selected:h}}));function u(m){const h=wi.find(y=>{var g;return(g=a.property)==null?void 0:g.startsWith(y)});h&&(a.property=h+m,r.validators.key.handleChange(a.property),i("update:property-key",a.property))}function p(m){l.value!==Uo(m==null?void 0:m.value)&&(a.property=(m==null?void 0:m.value)||null,l.value=Uo(a.property),r.validators.property.handleBlur(()=>a.property),i("update:model-value",a.property))}return t.watch(()=>a.property,m=>{c.value=Ol(m),l.value=Uo(m)}),(m,h)=>{const y=t.resolveComponent("KBadge"),g=t.resolveComponent("KSelect"),_=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(g,{key:d.value,"enable-filtering":"",error:!m.validators.property.isValid.value,help:m.validators.property.error.value,items:f.value,label:"Property","label-attributes":{maxWidth:"300px",placement:"top",info:"The property name to get/set"},required:"",onBlur:h[0]||(h[0]=w=>m.validators.property.handleBlur(()=>t.unref(a).property)),onChange:p},{"item-template":t.withCtx(({item:w})=>[t.createElementVNode("div",WB,[t.createElementVNode("div",null,[t.createElementVNode("div",null,t.toDisplayString(w.label),1),t.createElementVNode("div",XB,t.toDisplayString(t.unref(En)[w.value].dataType),1)]),t.createElementVNode("div",ZB,[t.unref(En)[w.value].readable?(t.openBlock(),t.createBlock(y,{key:0,appearance:"info"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.get")),1)]),_:1})):t.createCommentVNode("",!0),t.unref(En)[w.value].writable?(t.openBlock(),t.createBlock(y,{key:1,appearance:"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.set")),1)]),_:1})):t.createCommentVNode("",!0)])])]),_:1},8,["error","help","items"])),s.value?(t.openBlock(),t.createBlock(_,{key:0,"model-value":c.value,"onUpdate:modelValue":[h[1]||(h[1]=w=>c.value=w),u],error:!m.validators.key.isValid.value,"error-message":m.validators.key.error.value,label:"key",required:"",onBlur:h[2]||(h[2]=w=>m.validators.key.handleBlur(()=>t.unref(a).property))},null,8,["model-value","error","error-message"])):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-0ab1be87"]]),QB=t.defineComponent({__name:"NodeFormProperty",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),{selectedNode:o,disconnectInEdges:r,disconnectOutEdges:i}=lt(),a=Cn("property"),{formData:l,setName:s,setConfig:c,inputOptions:d,setInputs:f,setInput:u,inputsFieldNames:p,nameValidator:m,toggleNodeValid:h,skipValidationOnMount:y,fieldNameValidator:g}=kn(e.nodeId,()=>n.value.getInnerData()),_=t.computed(()=>Bl(l.value.property));function w(v){var E;const N=(E=o.value)==null?void 0:E.id;if(!N)throw new Error("Expected selectedNode to be defined");$l(v)||i(N,!1),Bl(v)||r(N,!1),c()}const{fields:b}=ki({validationConfig:()=>({property:Jn({fieldName:"Property"}),key:Ko(l.value.property)?Jn({fieldName:"Key"}):()=>{}}),getValidationData:()=>({property:l.value.property,key:Ol(l.value.property)}),skipValidationOnMount:y,toggleNodeValid:h});return(v,N)=>(t.openBlock(),t.createBlock(ft,{ref:"form",data:t.unref(l),schema:t.unref(a)},{default:t.withCtx(()=>[t.createVNode(jo,{name:t.unref(l).name,validate:t.unref(m),onUpdate:t.unref(s)},null,8,["name","validate","onUpdate"]),t.createVNode(kt,{name:"content_type","onUpdate:modelValue":t.unref(c)},null,8,["onUpdate:modelValue"]),t.createVNode(JB,{validators:t.unref(b),"onUpdate:modelValue":w,"onUpdate:propertyKey":N[0]||(N[0]=E=>t.unref(c)("property-key"))},null,8,["validators"]),_.value?(t.openBlock(),t.createBlock(Xn,{key:0,"field-name-validator":t.unref(g),"field-names":t.unref(p),items:t.unref(d),"onChange:input":t.unref(u),"onChange:inputs":t.unref(f)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])):t.createCommentVNode("",!0)]),_:1},8,["data","schema"]))}}),eV=t.defineComponent({__name:"NodeFormExit",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=Cn("exit"),{formData:r,setName:i,setConfig:a,inputOptions:l,setInputs:s,setInput:c,inputsFieldNames:d,nameValidator:f,toggleNodeValid:u,skipValidationOnMount:p,fieldNameValidator:m}=kn(e.nodeId,()=>n.value.getInnerData()),{createFieldHandler:h}=ki({validationConfig:{status:Zn(Yp("integer",{fieldName:"Status"}),Wp(200,255,{fieldName:"Status"}))},getValidationData:()=>({status:r.value.status}),skipValidationOnMount:p,toggleNodeValid:u}),y=h("status",()=>a("status"));return(g,_)=>(t.openBlock(),t.createBlock(ft,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(jo,{name:t.unref(r).name,validate:t.unref(f),onUpdate:t.unref(i)},null,8,["name","validate","onUpdate"]),t.createVNode($n,{error:t.unref(y).error.value,"error-message":t.unref(y).errorMessage.value,name:"status",onBlur:t.unref(y).onBlur,"onUpdate:modelValue":t.unref(y).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(la,{name:"warn_headers_sent","onUpdate:modelValue":_[0]||(_[0]=w=>t.unref(a)())}),t.createVNode(Xn,{"field-name-validator":t.unref(m),"field-names":t.unref(d),items:t.unref(l),"onChange:input":t.unref(c),"onChange:inputs":t.unref(s)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),tV=["innerHTML"],nV=we(t.defineComponent({__name:"NodePropertiesPanel",props:{maxWidth:{default:()=>xI},offsetTop:{default:()=>AI},visible:{type:Boolean},nodeId:{}},emits:["close"],setup(e){const{getNodeById:n}=lt(),o=t.computed(()=>e.nodeId&&n(e.nodeId)),r=t.computed(()=>{var i;switch((i=o.value)==null?void 0:i.type){case"call":return UB;case"service_request":return KB;case"response":return jB;case"jq":return qB;case"static":return YB;case"property":return QB;case"exit":return eV;default:return null}});return(i,a)=>(t.openBlock(),t.createBlock(t.unref($e.KSlideout),{class:"dk-node-properties-panel","close-on-blur":!1,"has-overlay":!1,"max-width":i.maxWidth,"offset-top":i.offsetTop,visible:i.visible,onClose:a[0]||(a[0]=l=>i.$emit("close"))},t.createSlots({default:t.withCtx(()=>[o.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"dk-node-properties-panel-desc",innerHTML:t.unref(Nt)(o.value.type)},null,8,tV)):t.createCommentVNode("",!0),r.value?(t.openBlock(),t.createBlock(t.unref(r),{key:i.nodeId,class:"dk-node-properties-panel-form","node-id":i.nodeId},null,8,["node-id"])):t.createCommentVNode("",!0)]),_:2},[o.value?{name:"title",fn:t.withCtx(()=>[t.createVNode(Kp,{type:o.value.type},null,8,["type"])]),key:"0"}:void 0]),1032,["max-width","offset-top","visible"]))}}),[["__scopeId","data-v-1bb64727"]]),oV={class:"dk-editor-content"},rV={class:"header"},iV={class:"title"},aV={class:"body"},lV={class:"node-selection-panel"},sV={class:"main"},cV=we(t.defineComponent({__name:"EditorContent",setup(e){const{t:n}=Le.createI18n("en-us",Ge),{sidePanelExpanded:o}=$a(),{propertiesPanelOpen:r,selectedNode:i,newCreatedNodeId:a}=lt();function l(){r.value=!1,a.value=null}return t.watch(i,s=>{s||l(),(!s||s.id!==a.value)&&(a.value=null)}),(s,c)=>{var d;return t.openBlock(),t.createElementBlock("div",oV,[t.createElementVNode("aside",{class:t.normalizeClass(["side-panel",{expanded:t.unref(o)}])},[t.createElementVNode("header",rV,[t.createElementVNode("h2",iV,t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.name")),1)]),t.createElementVNode("div",aV,[t.createElementVNode("div",lV,[t.createVNode(NB)])])],2),t.createElementVNode("div",sV,[t.createVNode(mB)]),t.createVNode(nV,{"node-id":(d=t.unref(i))==null?void 0:d.id,visible:t.unref(r),onClose:l},null,8,["node-id","visible"])])}}}),[["__scopeId","data-v-0e99b201"]]),dV={key:0,class:"dk-editor-modal"},uV=we(t.defineComponent({__name:"EditorModal",props:{open:{type:Boolean},openModifiers:{}},emits:["update:open"],setup(e){t.useCssVars(l=>({be550f98:t.unref(SI),"2eb355b0":t.unref(vI)}));const n=t.useModel(e,"open"),o=t.ref(!1),r=t.useTemplateRef("confirm-modal");M$(async(...l)=>{o.value=!0;const s=await r.value.open(...l);return o.value=!1,s});const i=Je.useScrollLock(document);t.watch(n,l=>{i.value=!!l},{immediate:!0});function a(){n.value=!1}return(l,s)=>n.value?(t.openBlock(),t.createElementBlock("div",dV,[t.createVNode(cB,{class:"nav",onBack:a}),t.createVNode(cV,{ref:"content",class:"content",tabindex:"0"},null,512),t.createVNode(iB,{ref:"confirm-modal"},null,512)])):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-2aca1995"]]),fV={class:"dk-flow-editor"},pV={class:"flow-panels-container"},mV={class:"overlay"},gV={class:"field"},hV=we(t.defineComponent({__name:"FlowEditor",props:{config:{},uiData:{},isEditing:{type:Boolean}},emits:["change","error"],setup(e,{emit:n}){var s,c;const{t:o}=Le.createI18n("en-us",Ge),r=n,i=t.useTemplateRef("flowPanels");function a(d,f){r("change",{...e.config,nodes:d},{...e.uiData,nodes:f})}const{modalOpen:l}=zC(((s=e.config)==null?void 0:s.nodes)??[],((c=e.uiData)==null?void 0:c.nodes)??[],{onChange:a,isEditing:e.isEditing});return t.watch(l,()=>{var d;l.value||(d=i.value)==null||d.fitView()}),(d,f)=>{const u=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",fV,[t.createElementVNode("div",pV,[t.createVNode(Gp,{ref_key:"flowPanels",ref:i,readonly:""},null,512),t.createElementVNode("div",mV,[t.createVNode(u,{appearance:"secondary",class:"button-open-editor",onClick:f[0]||(f[0]=p=>l.value=!0)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.cta"))+" ",1),t.createVNode(t.unref(Ce.ExpandIcon))]),_:1})])]),t.createVNode(uV,{open:t.unref(l),"onUpdate:open":f[1]||(f[1]=p=>t.isRef(l)?l.value=p:null)},null,8,["open"]),t.createElementVNode("div",gV,[t.createVNode(la,{name:"config.debug"})])])}}}),[["__scopeId","data-v-615e9dae"]]),yV=["innerHTML"],_V=t.defineComponent({__name:"DatakitForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function}},setup(e){const{t:n}=Le.createI18n("en-us",Ge),o=e,r=t.inject(cc.DATAKIT_ENABLE_FLOW_EDITOR,!1),{editorMode:i}=$a(),a=t.computed(()=>r?i.value:"code"),l={flow:Ce.DesignIcon,code:Ce.CodeblockIcon},s=[{label:n("plugins.free-form.datakit.flow_editor.mode"),value:"flow"},{label:n("plugins.free-form.datakit.code_editor.mode"),value:"code"}],c=t.computed(()=>{switch(i.value){case"code":return n("plugins.free-form.datakit.description_code");case"flow":return n("plugins.free-form.datakit.description_flow");default:return""}}),d=t.ref({...o.model.config}),f=t.ref();function u(y){for(const g in y.config)g!=="nodes"&&(d.value[g]=y.config[g])}function p(y){var g;o.onFormChange({config:y}),(g=o.onValidityChange)==null||g.call(o,{model:"config",valid:!0}),d.value=y}function m(y,g){p(y),f.value=g}function h(y){var g;(g=o.onValidityChange)==null||g.call(o,{model:"config",valid:!1,error:y})}return(y,g)=>(t.openBlock(),t.createBlock(fE,t.mergeProps(o,{class:"dk-form"}),t.createSlots({default:t.withCtx(_=>[t.createVNode(ft,t.mergeProps(_,{data:{config:d.value},tag:"div",onChange:u}),{default:t.withCtx(()=>[a.value==="flow"?(t.openBlock(),t.createBlock(hV,{key:0,config:d.value,"is-editing":y.isEditing,"ui-data":f.value,onChange:m},null,8,["config","is-editing","ui-data"])):a.value==="code"?(t.openBlock(),t.createBlock(VC,{key:1,class:"code-editor",config:d.value,editing:y.isEditing,onChange:p,onError:h},null,8,["config","editing"])):t.createCommentVNode("",!0)]),_:2},1040,["data"])]),"plugin-config-description":t.withCtx(()=>[t.createElementVNode("span",{innerHTML:c.value},null,8,yV)]),_:2},[t.unref(r)?{name:"plugin-config-extra",fn:t.withCtx(()=>[t.createVNode(t.unref($e.KSegmentedControl),{modelValue:t.unref(i),"onUpdate:modelValue":g[0]||(g[0]=_=>t.isRef(i)?i.value=_:null),options:s},{"option-label":t.withCtx(({option:_})=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(l[_.value]))),t.createTextVNode(" "+t.toDisplayString(_.label),1)]),_:1},8,["modelValue"])]),key:"0"}:void 0]),1040))}}),Zp=e=>{if(!(!e||typeof e!="object"))for(const[n,o]of Object.entries(e))typeof o=="string"&&(e[n]=o.split(/\s*,\s*/).filter(Boolean))},Jp=e=>{if(!(!e||typeof e!="object"))for(const[n,o]of Object.entries(e))Array.isArray(o)&&(e[n]=o.join(", "))},bV=t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{},onChange:{type:Function}},emits:["change"],setup(e,{emit:n}){const o=n,{i18n:{t:r}}=Ve.useI18n(),l={prepareFormData:c=>{var f,u;const d=An(c);return(u=(f=d.config)==null?void 0:f.tools)!=null&&u.length&&d.config.tools.forEach(p=>{Jp(p.headers),Jp(p.query)}),d},hasValue:c=>!!(c!=null&&c.config)},s=c=>{var f,u;const d=An(c);(u=(f=d.config)==null?void 0:f.tools)!=null&&u.length&&d.config.tools.forEach(p=>{Zp(p.headers),Zp(p.query)}),o("change",d)};return(c,d)=>(t.openBlock(),t.createBlock(ft,{config:l,data:c.data,schema:c.schema,tag:"div",onChange:s},{default:t.withCtx(()=>[t.createVNode(tt,{"as-child":"",name:"config","reset-label-path":"reset"},{tools:t.withCtx(({name:f})=>[t.createVNode(hr,{appearance:"tabs","item-label":(u,p)=>t.unref(r)("plugins.free-form.ai-mcp.tool_item_label",{index:p+1}),name:f,"sticky-tabs":""},null,8,["item-label","name"])]),_:1}),t.createVNode(yr)]),_:1},8,["data","schema"]))}}),wV=t.defineComponent({__name:"AIMcpForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const n=e,o=t.useSlots();return t.provide(ve.AUTOFILL_SLOT,o==null?void 0:o[ve.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(_r,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(bV,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),EV=t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{}},emits:["change"],setup(e,{emit:n}){const o=n,r=t.computed(()=>{const l=e.schema.fields.find(d=>Object.keys(d)[0]==="config").config.fields,s=[],c=[];for(const d of l){const f=Object.keys(d)[0];d[f].required?s.push(f):c.push(f)}return{required:s,nonRequired:c}}),i={hasValue:l=>!!(l!=null&&l.config)};function a(l){o("change",l)}return(l,s)=>(t.openBlock(),t.createBlock(ft,{config:i,data:l.data,schema:l.schema,tag:"div",onChange:a},{default:t.withCtx(()=>[t.createVNode(tt,{"as-child":"",name:"config",omit:r.value.nonRequired,"reset-label-path":"reset"},null,8,["omit"]),t.createVNode(yr,null,{default:t.withCtx(()=>[t.createVNode(tt,{"as-child":"",name:"config",omit:r.value.required,"reset-label-path":"reset"},null,8,["omit"])]),_:1})]),_:1},8,["data","schema"]))}}),Qp=Object.freeze(Object.defineProperty({__proto__:null,AIMcpForm:wV,DatakitForm:_V,JwtSignerForm:t.defineComponent({__name:"JwtSigner",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const n=e,o=t.useSlots();return t.provide(ve.AUTOFILL_SLOT,o==null?void 0:o[ve.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(_r,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(EV,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),RequestCalloutForm:uw,ServiceProtectionForm:lE},Symbol.toStringTag,{value:"Module"})),kV={class:"kong-ui-entities-plugin-form"},CV={key:1,class:"entity-form"},NV={class:"plugin-config-empty-state"},vV=we(t.defineComponent({__name:"PluginEntityForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},entityMap:{type:Object,default:()=>({})},record:{type:Object,default:()=>({})},schema:{type:Object,default:()=>({})},rawSchema:{type:Object,default:()=>({})},editing:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},enableRedisPartial:{type:Boolean,default:!1}},emits:["loading","model-updated","showNewPartialModal","globalAction","validity-change"],setup(e,{emit:n}){var ge,me;const o=Object.keys(ve.sharedForms),r=Object.keys(Qp);if(new Set([...o,...r]).size!==o.length+r.length)throw new Error("Duplicate form component names found in `sharedForms` and `freeForm`");const i=n,a=e,{axiosInstance:l}=se.useAxios((ge=a.config)==null?void 0:ge.axiosRequestConfig),{parseSchema:s}=Ve.useSchemas({entityId:((me=a.entityMap.focusedEntity)==null?void 0:me.id)||void 0,credential:a.credential,enableRedisPartial:a.enableRedisPartial,experimentalRenders:a.config.app==="konnect"?a.config.experimentalRenders:void 0}),{convertToDotNotation:c,unFlattenObject:d,dismissField:f,isObjectEmpty:u,unsetNullForeignKey:p}=Ve.usePluginHelpers(),m=Ve.useExperimentalFreeForms(),{objectsAreEqual:h}=se.useHelpers(),{i18n:{t:y}}=xe(),g=te=>a.config.app==="konnect"?te.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"?te.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:""):te,_=(te,ne)=>{let q=`${a.config.apiBaseUrl}${Re.form[a.config.app].entityGetOne}`;return q=g(q),q=q.replace(/{entity}/gi,te),q=q.replace(/{id}/gi,ne),q},w=te=>{let ne=`${a.config.apiBaseUrl}${Re.form[a.config.app].entityGetAll}`;return ne=g(ne),ne=ne.replace(/{entity}/gi,te),ne},b=(te,ne)=>{const q=_(te,ne);return l.get(q)},v=(te,ne)=>{const q=w(te);return a.config.app==="konnect"?l.get(q).then(Q=>{const{data:{data:$}}=Q;if(delete ne.size,delete ne.offset,$.length&&Object.keys(ne).length===1){const k=Object.keys(ne)[0],C=$.filter(x=>x[k]?!!x[k].toLowerCase().includes(ne[k].toLowerCase()):!1);Q.data.data=C}return Q}):l.get(q,{params:ne})},N=(te,ne,q)=>{const Q=w(te);if(a.config.app==="konnect"){const{size:$,offset:k,...C}=ne;if(te==="consumer_groups")return l.get(Q,{params:{size:1e3},signal:q}).then(S=>{const{data:{data:O}}=S;if(O.length&&Object.keys(C).length===1){const F=Object.keys(C)[0],J=O.filter(R=>R[F]?!!R[F].toLowerCase().includes(C[F].toLowerCase()):!1);S.data.data=J}return S});const x={size:$,offset:k};for(const S of Object.keys(C))x.filter={[S]:{contains:C[S]}};return l.get(Q,{params:x,signal:q})}return l.get(Q,{params:ne,signal:q})},E=(te,ne=50)=>{const q=w(te);return l.get(q,{params:{size:ne}})};t.provide(ve.FORMS_API_KEY,{getOne:b,getAll:v,getAllV2:N,peek:E}),t.provide(ve.FORMS_CONFIG,a.config);const T=t.ref(""),P=t.ref(""),D=t.ref(null),K=t.ref({}),j=t.reactive({}),A=t.reactive({}),W=t.computed(()=>{var te;return(te=D.value)==null?void 0:te.options}),I=t.ref(!1),U=t.ref(),M=(te,ne)=>{I.value=te??"",U.value=ne},ee=te=>{var ne;(ne=U.value)==null||ne.call(U,te),I.value=!1},H=()=>{var C,x;const te={...a.schema},ne=A,q=j,Q=Object.keys(ne),$={};if(!u(K.value))for(let S=0;S<((x=(C=K.value)==null?void 0:C.fields)==null?void 0:x.length);S++)te[K.value.fields[S].model]=K.value.fields[S];ve.customFields.forEach(S=>{te[S]&&(te[S].fields.forEach(O=>{O.fields&&O.fields.forEach(F=>{te[F.model]=F}),O.model&&(te[O.model]=O)}),delete te[S])}),Q.forEach(S=>{var oe;if(!te[S]){S==="partials"&&($[S]=ne[S]);return}const O=te[S];let F=ne[S];const J=q[S],R=Array.isArray(F)?"array":typeof F,X=O?O.valueType:null,L=O?O.valueArrayType:null,ue=O?O.transform:null;if(F==null&&J==null&&!O.submitWhenNull)return;if(O){if(X&&R!==X)switch(X){case"array":R==="string"&&F.length&&(F=F.split(",").map(fe=>{if(fe=fe.trim(),L==="string")return String(fe);if(L==="number")return Number(fe);if(L==="boolean"){if(typeof fe=="string")return fe.toLowerCase()==="true"||fe==="1";if(typeof fe=="number")return fe===1}return fe})),(!F||!F.length)&&(F=O.submitWhenNull?null:[]);break;case"number":F=Number(F);break;case"boolean":R==="string"&&(F=F.toLowerCase()==="true"||F==="1"),R==="number"&&(F=F===1);break;case"string":F=F==null?"":String(F);break}else X==="array"&&(!F||!F.length?F=O.submitWhenNull?null:[]:((oe=O.inputAttributes)==null?void 0:oe.type)==="number"&&(F=F.map(fe=>Number(fe))));if(O.type==="array"&&O.nestedFields){const fe=pe=>{Object.keys(pe).forEach(ke=>{pe[ke]&&typeof pe[ke]=="object"&&!Array.isArray(pe[ke])&&pe[ke]!==null?fe(pe[ke]):(pe[ke]===void 0||pe[ke]===null||typeof pe[ke]=="number"&&isNaN(pe[ke])||typeof pe[ke]=="string"&&pe[ke].trim().length===0)&&delete pe[ke]})};F&&typeof F=="object"&&fe(F)}O.type==="object-advanced"&&O.fields&&F!==null&&(Object.entries(F).length===0?F=null:Object.keys(F).forEach(fe=>{Array.isArray(F[fe])||(F[fe]=F[fe].split(","))}))}let le=c(S);if(O.fieldNameHasDashes){const[fe,...pe]=le.split(".").reverse();le=[fe.replace(/_/g,"-"),...pe].reverse().join(".")}if(X==="object-expand"){let fe;[le,fe]=le.split(".");let pe={};$[le]&&(pe=$[le]),pe[fe]=F,F=pe}J!==void 0&&F===""&&F!==J?$[le]=X==="object"?{}:null:O.type==="checklist"&&F===""?$[le]=[]:F!==""&&($[le]=F),$[le]=ue?ue(F):$[le],p(le,$)});const k=d($);return P.value&&Object.assign(k,re.value),k},G=(te,ne={})=>{f(A,ne,te,a.editing),i("model-updated",{model:A,originalModel:j,data:H()})},V=(te,ne)=>{var $;const q={[ne]:te};typeof(($=a.schema[ne])==null?void 0:$.modelTransformer)=="function"&&(q[ne]=a.schema[ne].modelTransformer(te));const Q=Object.assign({},A,q);Object.assign(A,Q),i("model-updated",{model:A,originalModel:j,data:H()})},B=te=>{i("validity-change",te)},Z=(te,ne)=>{Object.keys(te).forEach(q=>{var x,S;let Q=ne?`${ne}-${q}`:q,$=a.schema[Q];if(!$){const O=ne?`${ne}-${q.replace(/-/g,"_")}`:q.replace(/-/g,"_");(x=a.schema[O])!=null&&x.fieldNameHasDashes&&(Q=O,$=a.schema[Q]),ne&&((S=a.schema[ne])==null?void 0:S.keyFromObject)===q&&(Q=ne,$=a.schema[Q])}const k=te[q],C=typeof k;if($&&$.type==="object-advanced"&&!k){A[Q]={},j[Q]={};return}if(Array.isArray(k)){A[Q]=JSON.parse(JSON.stringify(k)),j[Q]=JSON.parse(JSON.stringify(k));return}if(C==="object"&&k&&!k.length)return Z(k,Q);if(C==="object"&&k&&k.length&&$.type==="input"){A[Q]=k.join(", "),j[Q]=k.join(", ");return}A[Q]=k,j[Q]=k}),i("model-updated",{model:A,originalModel:j,data:H()})},re=t.shallowRef(a.record),Y=te=>{re.value=te,i("model-updated",{model:{...A,...te},originalModel:j,data:H()})},ie=t.ref(!0),ae=()=>{var te;if(a.record&&a.schema&&(Z({enabled:a.record.enabled??!0,...a.record.instance_name&&{instance_name:a.record.instance_name||""},...a.record.protocols&&{protocols:a.record.protocols},...a.record.tags&&{tags:a.record.tags}}),a.credential?((a.record.consumer_id||a.record.consumer)&&Z({consumer_id:a.record.consumer_id||a.record.consumer}),Z(a.record)):a.record.config&&((a.record.consumer_id||a.record.consumer||a.record.service_id||a.record.service||a.record.route_id||a.record.route||a.record.consumer_group_id||a.record.consumer_group)&&Z({service_id:a.record.service_id||a.record.service,route_id:a.record.route_id||a.record.route,consumer_id:a.record.consumer_id||a.record.consumer,consumer_group_id:a.record.consumer_group_id||a.record.consumer_group}),a.record.partials&&G("redis",{partials:a.record.partials}),P.value?Y(a.record):Z(a.record.config,"config"))),Object.keys(a.entityMap).length&&!a.entityMap.global&&a.schema){const ne={};for(const q in a.entityMap){const Q=a.entityMap[q].id,$=a.entityMap[q].idField,k=$==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify($).replace("_","-"));Object.prototype.hasOwnProperty.call(A,k)&&(ne[k]=Q)}Z(ne)}if((te=a.entityMap.consumer)!=null&&te.id&&a.schema&&a.credential){const ne={};Object.prototype.hasOwnProperty.call(A,"consumer")&&(ne.consumer=a.entityMap.consumer.id),Z(ne)}ie.value=!1};return t.watch(ie,te=>{i("loading",te)}),t.watch(()=>a.schema,(te,ne)=>{var Q,$;if(h(te||{},ne||{}))return;const q=s(te);Object.assign(A,q.model),K.value={fields:($=(Q=K.value)==null?void 0:Q.fields)==null?void 0:$.map(k=>({...k,disabled:k.disabled||!1}))},Object.assign(j,JSON.parse(JSON.stringify(q.model))),P.value=sc(q.model.name,m),T.value=ve.getSharedFormName(q.model.name),ae()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var te,ne;D.value=s(a.schema),Object.assign(A,((te=D.value)==null?void 0:te.model)||{}),K.value=((ne=D.value)==null?void 0:ne.schema)||{},ae()}),(te,ne)=>{var Q;const q=t.resolveComponent("KSkeleton");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",kV,[ie.value?(t.openBlock(),t.createBlock(q,{key:0,type:"form"})):A.id&&e.editing||!e.editing?(t.openBlock(),t.createElementBlock("div",CV,[P.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(Qp[P.value]),{key:0,"form-model":A,"form-options":W.value,"form-schema":K.value,"is-editing":e.editing,model:e.record,"on-form-change":Y,"on-model-updated":V,"on-validity-change":B,schema:e.rawSchema,onGlobalAction:ne[0]||(ne[0]=($,k)=>te.$emit("globalAction",$,k))},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(ve.AUTOFILL_SLOT_NAME),fn:t.withCtx($=>[$.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Jo.VaultSecretPickerProvider),t.mergeProps({key:0},$,{onOpen:M}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["form-model","form-options","form-schema","is-editing","model","schema"])):T.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(ve.sharedForms)[T.value]),{key:1,"enable-redis-partial":e.enableRedisPartial,"form-model":A,"form-options":W.value,"form-schema":K.value,"is-editing":e.editing,"on-model-updated":V,"on-partial-toggled":G,"show-new-partial-modal":$=>te.$emit("showNewPartialModal",$)},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(ve.AUTOFILL_SLOT_NAME),fn:t.withCtx($=>[$.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Jo.VaultSecretPickerProvider),t.mergeProps({key:0},$,{onOpen:M}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["enable-redis-partial","form-model","form-options","form-schema","is-editing","show-new-partial-modal"])):(t.openBlock(),t.createBlock(t.unref(ve.VueFormGenerator),{key:2,"enable-redis-partial":e.enableRedisPartial,"is-editing":e.editing,model:A,options:W.value,schema:K.value,onModelUpdated:V,onPartialToggled:G,onRefreshModel:H,onShowNewPartialModal:ne[1]||(ne[1]=$=>te.$emit("showNewPartialModal",$))},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",NV,t.toDisplayString(t.unref(y)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[(Q=t.unref(Pt)[A.name])!=null&&Q.fieldRules&&(a.config.isNewOtelSchema||A.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(m0,{rules:t.unref(Pt)[A.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,e.enableVaultSecretPicker?{name:t.unref(ve.AUTOFILL_SLOT_NAME),fn:t.withCtx($=>[$.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Jo.VaultSecretPickerProvider),t.mergeProps({key:0},$,{onOpen:M}),null,16)):t.createCommentVNode("",!0)]),key:"1"}:void 0]),1032,["enable-redis-partial","is-editing","model","options","schema"]))])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(Jo.VaultSecretPicker),{config:a.config,setup:I.value,onCancel:ne[2]||(ne[2]=()=>I.value=!1),onProceed:ee},null,8,["config","setup"])],64)}}}),[["__scopeId","data-v-5728fdd6"]]),SV={key:1},xV=t.defineComponent({__name:"PluginFormActionsWrapper",props:{teleportTarget:{type:String,default:""}},setup(e){return(n,o)=>e.teleportTarget?(t.openBlock(),t.createBlock(t.Teleport,{key:0,to:e.teleportTarget},[t.renderSlot(n.$slots,"default")],8,["to"])):(t.openBlock(),t.createElementBlock("div",SV,[t.renderSlot(n.$slots,"default")]))}}),AV={class:"kong-ui-entities-plugin-form-container"},IV={key:0},PV={class:"plugin-form-actions"},TV=we(t.defineComponent({__name:"PluginForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},pluginType:{type:String,required:!0},pluginId:{type:String,default:""},hideScopeSelection:{type:Boolean,default:!1},disableScopeSelection:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},developer:{type:Boolean,default:!1},isWizardStep:{type:Boolean,default:!1},actionsTeleportTarget:{type:String,default:""},noCardWrapper:{type:Boolean,default:!1},hideViewConfigAction:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},schema:{type:Object,default:null},enableRedisPartial:{type:Boolean,default:!1},scopedEntitiesPermissions:{type:Object,default:null}},emits:["cancel","error:fetch-schema","error","loading","update","model-updated","showNewPartialModal","globalAction"],setup(e,{emit:n}){var J;const o=n,r=e,i=Qn.useRouter(),{i18n:{t:a}}=Ve.useI18n(),{customSchemas:l,typedefs:s}=Ve.useSchemas({app:r.config.app,credential:r.credential,experimentalRenders:r.config.app==="konnect"?r.config.experimentalRenders:void 0}),{formatPluginFieldLabel:c}=Ve.usePluginHelpers(),{getMessageFromError:d}=se.useErrors(),{capitalize:f}=se.useStringHelpers(),{objectsAreEqual:u}=se.useHelpers(),{axiosInstance:p}=se.useAxios((J=r.config)==null?void 0:J.axiosRequestConfig),m=t.ref(!1),h=t.computed(()=>!!r.pluginId),y=t.computed(()=>r.pluginId?se.EntityBaseFormType.Edit:se.EntityBaseFormType.Create),g=t.ref(void 0),_=t.ref(void 0),w=t.computed(()=>!!(r.credential&&r.config.entityId)),b=t.ref(void 0),v=t.ref({}),N=t.ref(),E=t.ref();t.provide(Tc,{redisType:N,redisPath:E,isEditing:h.value});const T=t.ref(!1),P=t.reactive({enabled:!0,protocols:[],tags:[]}),D=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,clientErrorMessage:"",serverErrorMessage:""}),K=t.ref([{title:a("view_configuration.json"),hash:"#json"},{title:a("view_configuration.yaml"),hash:"#yaml"}]);r.config.app==="konnect"&&K.value.splice(1,0,{title:a("view_configuration.terraform"),hash:"#terraform"});const j=t.ref(""),A=t.computed(()=>{if(w.value){let R=Re.form[r.config.app].credential[y.value];return R=R.replace(/{resourceEndpoint}/gi,M.value),R}return r.config.entityType&&r.config.entityId?Re.form[r.config.app].edit.forEntity.replace(/{entityType}/gi,r.config.entityType).replace(/{entityId}/gi,r.config.entityId):Re.form[r.config.app].edit.all}),W=()=>{m.value=!m.value},I=t.computed(()=>{var oe,fe,pe,ke,Ae,de,ce,rt;const R=r.config.entityType==="consumers"&&r.config.entityId||((fe=(oe=b.value)==null?void 0:oe.consumer)==null?void 0:fe.id),X=r.config.entityType==="consumer_groups"&&r.config.entityId||((ke=(pe=b.value)==null?void 0:pe.consumer_group)==null?void 0:ke.id),L=r.config.entityType==="services"&&r.config.entityId||((de=(Ae=b.value)==null?void 0:Ae.service)==null?void 0:de.id),ue=r.config.entityType==="routes"&&r.config.entityId||((rt=(ce=b.value)==null?void 0:ce.route)==null?void 0:rt.id);if(!(R||X||L||ue))return{global:{entity:z.PluginScope.GLOBAL,entityEndpoint:"plugins"}};const le={};return L&&(le.service={entity:z.PluginScope.SERVICE,entityEndpoint:"services",id:L,idField:Qt.SERVICE}),ue&&(le.route={entity:z.PluginScope.ROUTE,entityEndpoint:"routes",id:ue,idField:Qt.ROUTE}),R&&(le.consumer={entity:z.PluginScope.CONSUMER,entityEndpoint:"consumers",id:R,idField:Qt.CONSUMER}),X&&(le.consumer_group={entity:z.PluginScope.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:X,idField:Qt.CONSUMER_GROUP}),r.config.entityType&&(le.focusedEntity={entity:z.PluginScope[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()],entityEndpoint:r.config.entityType,id:r.config.entityId,idField:Qt[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()]}),le}),U=t.reactive({name:{default:r.pluginType,type:"input",inputType:"hidden",styleClasses:"d-none hidden-field",pinned:!0},enabled:{type:"switch",model:"enabled",label:a("plugins.form.fields.enabled.label"),textOn:a("plugins.form.fields.enabled.on_text"),textOff:a("plugins.form.fields.enabled.off_text"),styleClasses:"field-switch hide-label",default:!0,pinned:!0},selectionGroup:{type:r.hideScopeSelection&&(r.hideScopeSelection||y.value===se.EntityBaseFormType.Create&&r.config.entityId)?"foreign":"selectionGroup",disabled:r.disableScopeSelection,inputType:"hidden",styleClasses:"hide-label",fields:[{label:a("plugins.form.scoping.global.label"),description:a("plugins.form.scoping.global.help")}],pinned:!0},protocols:{id:"protocols",default:[],help:a("plugins.form.fields.protocols.help"),label:a("plugins.form.fields.protocols.label"),required:!0,styleClasses:"plugin-protocols-select",type:"multiselect",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}]},instance_name:{default:"",type:"input",label:a("plugins.form.fields.instance_name.label"),inputType:"text",help:a("plugins.form.fields.instance_name.help")},tags:s.tags}),M=t.computed(()=>{var L;const R=r.developer?"developers":"consumers",X=((L=vn[r.pluginType])==null?void 0:L.endpoint)||"/plugins";return`${R}/${r.config.entityId}${r.developer?"/credentials":""}${X}`}),ee=R=>{const X=Array.from(new Set(R.map(L=>typeof L)));return X.length>1?"string":X[0]},H=(R,X,L,ue)=>{var pe,ke;let le=X&&X.fields||[];const oe=l[r.pluginType],fe=(ke=(pe=vn[r.pluginType])==null?void 0:pe.schema)==null?void 0:ke.fields;return Array.isArray(le)&&(le=le.reduce((Ae,de)=>{const ce=Object.keys(de)[0];return ce.match(/-/g)?Ae[ce.replace(/-/g,"_")]={...de[ce],fieldNameHasDashes:!0}:Ae[ce]=de[ce],Ae},{})),Object.keys(le).sort().forEach(Ae=>{var qo,Go,zo,Ho,Yo,Wo,Xo;const de=le[Ae];de.type==="set"&&(de.type="array");const ce=R?`${R}-${Ae}`:`${Ae}`;if((qo=oe==null?void 0:oe.fieldsToDelete)!=null&&qo.includes(ce)){lc(L,ce);return}if(Object.prototype.hasOwnProperty.call(de,"overwrite")||de.hidden)return;if(de.type==="table")return H(ce,de.schema,L);if(de.fields)return ue&&de.type==="record"?(L[ce]={type:"object",model:Ae,schema:{fields:Object.values(H(ce,de,{},!0))}},L):H(ce,de,L);if(L[ce]={id:ce,model:Ae},L[ce].type=de.type==="boolean"?"checkbox":"input",L[ce].required=de.required,L[ce].referenceable=de.referenceable,ce.startsWith("config-"))if(!ue&&de.type==="array"&&(j.value=ce),ue&&j.value&&ce.startsWith(j.value)){const Ne=ce.slice(j.value.length+1);L[ce].label=Ne.split("-").map(c).join(".")}else L[ce].label=c(ce);if((R==="config"||R.startsWith("config-"))&&(Go=le[Ae])!=null&&Go.description&&(L[ce].help=Zo.marked.parse(le[Ae].description,{mangle:!1,headerIds:!1})),de.type==="map"){if(L[ce].type="object-advanced",L[ce].values=de.values,de.values.type==="array"){const{type:Ne}=de.values.elements||{};L[ce].schema={fields:[{schema:{fields:[{...Pe,model:ce,valueArrayType:Ne==="integer"?"number":Ne||"string",inputAttributes:{...Pe.inputAttributes,type:Ne==="integer"?"number":"text",inputMode:Ne==="integer"?"numeric":"text"}}]}}]}}else de.values.fields&&(L[ce].schema={fields:[{type:"object",model:"object",schema:{fields:de.values.fields.map(Ne=>{const it=Object.keys(Ne)[0];return{model:it,type:"input",label:f(it),placeholder:it,inputType:Ne[it].type}})}}]});return L}if(de.enum&&de.type==="array"&&(L[ce].type="checklist",L[ce].values=de.enum,L[ce].multi=!0,L[ce].multiSelect=!0),de.one_of&&de.type!=="array"&&(L[ce].type="select",L[ce].values=de.one_of,L[ce].selectOptions={noneSelectedText:a("plugins.form.no_selection")}),de.elements&&de.type==="array"){const Ne=de.elements;if(L[ce].referenceable=Ne.referenceable,L[ce].elements=Ne,["string","integer","number"].includes(Ne.type)&&!Ne.one_of){const{id:it,help:Me,label:Ee,hint:Se,values:Te,referenceable:jt,model:ct}=L[ce],{inputAttributes:Ni,...vR}=JSON.parse(JSON.stringify(Pe));Ni.type=Ne.type==="string"?"text":"number",L[ce]={id:it,help:Me,label:Ee,hint:Se,values:Te,referenceable:jt,model:ct,inputAttributes:Ni,...vR}}}if(de.hint&&(L[ce].hint=de.hint),oe&&!oe.overwriteDefault&&Object.keys(oe).forEach(Ne=>{if(Ne===ce){const{help:it,label:Me,hint:Ee,values:Se,referenceable:Te,elements:jt}=L[ce],{help:ct,...Ni}=oe[Ne];L[ce]={help:it,label:Me,hint:Ee,values:Se,referenceable:Te,elements:jt,...Ni},typeof ct=="string"&&(L[ce].help=Zo.marked.parse(ct,{mangle:!1,headerIds:!1}))}}),de.type==="array"&&((zo=de.elements)==null?void 0:zo.type)==="record"&&Array.isArray(de.elements.fields)){let Ne={};for(const Me of de.elements.fields)Ne={...Ne,...Me};const it=(Wo=(Yo=(Ho=L[ce])==null?void 0:Ho.items)==null?void 0:Yo.schema)==null?void 0:Wo.fields;if(Array.isArray(it))for(const Me of L[ce].items.schema.fields){const Ee=(Xo=Ne[Me.model])==null?void 0:Xo.description;Me.help===void 0&&typeof Ee=="string"&&(Me.help=Zo.marked.parse(Ee,{mangle:!1,headerIds:!1}))}if(it||(L[ce].type="array",L[ce].newElementButtonLabelClasses="kong-form-new-element-button-label",L[ce].fieldClasses="array-card-container-wrapper",L[ce].itemContainerComponent="FieldArrayCardContainer",L[ce].items={type:"object",schema:{fields:Object.values(H(ce,de.elements,{},!0))}},L[ce].items.schema.fields.forEach(Me=>{var Ee,Se;for(const Te of de.elements.fields){const jt=Object.keys(Te)[0],ct=((Se=(Ee=Me.id)==null?void 0:Ee.split)==null?void 0:Se.call(Ee,"-"))??[];if(ct[ct.length-1]===jt){Me.model=jt,Me.label=c(jt);break}}}),de.elements.type==="record"&&(L[ce].nestedFields=!0)),!L[ce].nestedFields)L[ce].items.default=()=>de.elements.fields.reduce((Me,Ee)=>{const Se=Object.keys(Ee)[0];return Me[Se]=Ee[Se].default,Me},{});else{const Me=(Ee,Se)=>{if(Ee.type==="object"){Ee.model&&(Se[Ee.model]={});for(const Te of Ee.schema.fields)Me(Te,Ee.model?Se[Ee.model]:Se)}else Ee.model&&(Se[Ee.model]=Ee.default)};L[ce].items.default=()=>{const Ee={};return Me(L[ce].items,Ee),Ee}}}if(w.value&&fe){for(let Ne=0;Ne<fe.length;Ne++)if(fe[Ne][ce]){L[ce]={...L[ce],...fe[Ne][ce]};break}}if(de.required&&de.type!=="boolean"&&(L[ce].required=!0,L[ce].selectOptions={hideNoneSelectedText:!0}),de.required&&de.type==="boolean"&&(L[ce].default=de.default??!1),de.default!=null&&typeof de.default!="object"&&de.default!=="function"&&(L[ce].default=de.default),L[ce].type==="input"){["string","number"].includes(typeof L[ce].default)&&r.config.app==="konnect"&&(L[ce].placeholder=`Default: ${L[ce].default===""?"<empty string>":L[ce].default}`);const{type:Ne}=de.elements||{};Ne&&(L[ce].valueArrayType=Ne==="integer"?"number":Ne),L[ce].inputType=de.type==="array"||de.type==="string"?de.encrypted?"password":"text":de.type}let rt="string";de.enum?rt=ee(de.enum):de.type==="boolean"?rt="boolean":de.type==="number"||de.type==="integer"?(rt="number",L[ce].inputType="number"):de.type==="array"?(rt="array",L[ce].default=de.default,de.len_min>0&&(L[ce].submitWhenNull=!0)):de.type==="foreign"?rt="object":de.default&&Array.isArray(de.default)?(rt="array",L[ce].valueArrayType=ee(de.default)):de.default&&(rt=typeof de.default),L[ce].valueType=rt,de.fieldNameHasDashes&&(L[ce].fieldNameHasDashes=!0)}),L},G=()=>{var ce,rt,qo,Go,zo,Ho,Yo,Wo,Xo,Ne,it,Me;const R=((ce=Pt[r.pluginType])==null?void 0:ce.scope.includes(z.PluginScope.SERVICE))??!0,X=((rt=Pt[r.pluginType])==null?void 0:rt.scope.includes(z.PluginScope.ROUTE))??!0,L=((qo=Pt[r.pluginType])==null?void 0:qo.scope.includes(z.PluginScope.CONSUMER))??!0,ue=r.config.disableConsumerGroupScope?!1:((Go=Pt[r.pluginType])==null?void 0:Go.scope.includes(z.PluginScope.CONSUMER_GROUP))??!0,le=r.config.entityType==="consumers"&&!!r.config.entityId||!!((Ho=(zo=b.value)==null?void 0:zo.consumer)!=null&&Ho.id),oe=r.config.entityType==="consumer_groups"&&!!r.config.entityId||!!((Wo=(Yo=b.value)==null?void 0:Yo.consumer_group)!=null&&Wo.id),fe=r.config.entityType==="services"&&!!r.config.entityId||!!((Ne=(Xo=b.value)==null?void 0:Xo.service)!=null&&Ne.id),pe=r.config.entityType==="routes"&&!!r.config.entityId||!!((Me=(it=b.value)==null?void 0:it.route)!=null&&Me.id),ke=[],Ae=(Ee,Se,Te)=>Ee?a("plugins.form.disable_source_scope_change",{scope:Te}):Se?a("plugins.form.disable_data_retrieving",{scope:Te}):"",de=Ee=>{var Se,Te;return((Te=(Se=r.scopedEntitiesPermissions)==null?void 0:Se[Ee])==null?void 0:Te.canRetrieve)===!1};if(R){const Ee=de("service"),Se="services",Te=fe&&r.disableScopeSelection;ke.push({id:"service-id",model:"service-id",label:a("plugins.form.scoping.gateway_service.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggestV2",labelField:"name",entity:Se,inputValues:{fields:["name","id"]},help:a("plugins.form.scoping.gateway_service.help"),disabled:Te||Ee,disabledTooltip:Ae(Te,Ee,Se)})}if(X){const Ee=de("route"),Se="routes",Te=pe&&r.disableScopeSelection;ke.push({id:"route-id",model:"route-id",label:a("plugins.form.scoping.route.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggestV2",entity:Se,labelField:"name",inputValues:{fields:["name","id"],primaryField:"id"},help:a("plugins.form.scoping.route.help"),disabled:Te||Ee,disabledTooltip:Ae(Te,Ee,Se)})}if(L){const Ee=de("consumer"),Se="consumers",Te=le&&r.disableScopeSelection;ke.push({model:"consumer-id",label:a("plugins.form.scoping.consumer.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggestV2",entity:Se,labelField:"username",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:a("plugins.form.scoping.consumer.help"),disabled:Te||Ee,disabledTooltip:Ae(Te,Ee,Se)})}if(ue){const Ee=de("consumer_group"),Se="consumer_groups",Te=oe&&r.disableScopeSelection;ke.push({model:"consumer_group-id",label:a("plugins.form.scoping.consumer_group.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggestV2",entity:Se,entityDataKey:"consumer_group",labelField:"name",inputValues:{fields:["name","id"],primaryField:"name"},help:a("plugins.form.scoping.consumer_group.help"),disabled:Te||Ee,disabledTooltip:Ae(Te,Ee,Se)})}if(ke.length){const Ee=[...R?["service"]:[],...X?["route"]:[],...L?["consumer"]:[],...ue?["consumer_group"]:[]],Te=Ee.splice(Ee.length-2,2).map(ct=>a(ct==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ct}.plural`)).join(`${Ee.length>0?",":""} and/or `),jt=["Specific",[...Ee.length>0?[Ee.map(ct=>a(ct==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ct}.plural`)).join(", ")]:[],Te].join(", ")].join(" ");U.selectionGroup.fields.push({label:a("plugins.form.scoping.label"),description:jt,fields:[]}),U.selectionGroup.fields[1].fields=ke}l[r.pluginType]&&l[r.pluginType].overwriteDefault&&Object.hasOwnProperty.call(l[r.pluginType],"formSchema")&&Object.assign(U,l[r.pluginType].formSchema)},V=t.computed(()=>!u(D.fields,P,!0)),B=t.computed(()=>!O.value&&!T.value&&(y.value===se.EntityBaseFormType.Create||V.value)),Z=t.ref(!1),re=t.ref(),Y=R=>{r.credential&&R.password&&(R.password=""),D.fields.id=(R==null?void 0:R.id)||void 0,re.value=R==null?void 0:R.ordering,Object.assign(P,D.fields),b.value=R,Z.value=!0},ie=t.ref({}),ae=R=>{var X;D.fields=R.model,D.fields.id=((X=b.value)==null?void 0:X.id)||void 0,Object.assign(P,R.originalModel),ie.value=R.data,r.isWizardStep&&o("model-updated",{model:D.fields,data:R.data,resourceEndpoint:M.value})},ge=t.ref(new Map),me=t.computed(()=>[D.clientErrorMessage,D.serverErrorMessage].filter(Boolean).join("; ")),te=R=>{R.valid?ge.value.delete(R.model):ge.value.set(R.model,R.error),D.clientErrorMessage=[...ge.value.entries()].map(([X,L])=>`${X}: ${typeof L=="string"?L:d(L)}`).join("; "),D.clientErrorMessage&&(D.serverErrorMessage="")};t.watch([I,Z],(R,X)=>{const L=R[0]!==X[0],ue=R[1],le=X[1];if(!w.value&&y.value===se.EntityBaseFormType.Edit&&(L||ue&&ue!==le)){const oe=H("config",v.value,U);$.value&&(oe._isCustomPlugin=!0),N.value&&(oe._supported_redis_partial_type=N.value),_.value=oe}},{deep:!0});const ne=()=>{r.config.cancelRoute?i.push(r.config.cancelRoute):o("cancel")},q=t.computed(()=>{let R=`${r.config.apiBaseUrl}${Re.form[r.config.app].validate}`;return r.config.app==="konnect"?R=R.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(R=R.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),R=R.replace(/{id}/gi,r.pluginId),R}),Q=t.computed(()=>{const R=r.config.entityType&&r.config.entityId&&!r.developer,X=w.value?Re.form[r.config.app].credential[y.value]:Re.form[r.config.app][y.value][R?"forEntity":"all"];let L=`${r.config.apiBaseUrl}${X}`;return r.config.app==="konnect"?L=L.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(L=L.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),L=L.replace(/{resourceEndpoint}/gi,M.value),L=L.replace(/{id}/gi,r.pluginId),L=L.replace(/{entityType}/gi,r.config.entityType||""),L=L.replace(/{entityId}/gi,r.config.entityId||""),L}),$=t.computed(()=>!Object.keys(Pt).includes(r.pluginType)),k=t.computed(()=>{const R=ie.value;if(w.value){for(const X in z.PluginScope){const L=z.PluginScope[X];R[L]&&!R[L].id&&(R[L]={id:r.config.entityId})}delete R.created_at}return ie.value.partials&&E.value&&lc(R,E.value),R}),C=async()=>{if(!D.clientErrorMessage&&!r.isWizardStep)try{D.isReadonly=!0;let R;const X=JSON.parse(JSON.stringify(k.value)),L=l[r.pluginType];typeof(L==null?void 0:L.shamefullyTransformPayload)=="function"&&L.shamefullyTransformPayload({originalModel:P,model:D.fields,payload:X,schema:_.value}),!w.value&&!$.value&&await p.post(q.value,X),y.value==="create"?R=await p.post(Q.value,X):y.value==="edit"&&(R=r.config.app==="konnect"||N.value&&X.partials?await p.put(Q.value,Object.assign({ordering:re.value},X)):await p.patch(Q.value,X)),Object.assign(P,D.fields),o("update",R==null?void 0:R.data)}catch(R){D.serverErrorMessage=d(R),o("error",R)}finally{D.isReadonly=!1}},x=t.computed(()=>{var ue;const R=w.value?(ue=vn[r.pluginType])==null?void 0:ue.schemaEndpoint:r.pluginType,X=w.value?Re.form[r.config.app].credentialSchema:Re.form[r.config.app].pluginSchema;let L=`${r.config.apiBaseUrl}${X}`;return r.config.app==="konnect"?L=L.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(L=L.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),L=L.replace(/{plugin}/gi,R),L}),S=t.ref(""),O=t.ref(!1),F=t.ref("");return t.onBeforeMount(async()=>{var R,X,L,ue;O.value=!0;try{if(w.value&&r.config.app==="konnect"){const le=(R=vn[r.pluginType])==null?void 0:R.schemaEndpoint,oe=hm[le];S.value=le,_.value=H("",oe,{}),O.value=!1}else{const le=r.schema??(await p.get(x.value)).data;if(g.value=le,le)if(w.value)_.value=H("",le,{}),O.value=!1;else{const oe=le.fields.find(pe=>pe.config);v.value=oe?oe.config:le,le.supported_partials&&(N.value=Object.keys(le.supported_partials).find(pe=>[er.REDIS_CE,er.REDIS_EE].includes(pe)),E.value=(X=le.supported_partials[N.value])==null?void 0:X[0]),G();const fe=(L=le.fields.find(pe=>pe.protocols))==null?void 0:L.protocols;if(fe){const{default:pe=[],elements:ke={}}=fe;U.protocols.default=pe,U.protocols.placeholder=r.config.app==="konnect"?a("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:pe.join(", ")}):a("plugins.form.fields.protocols.placeholder"),(ue=ke.one_of)!=null&&ue.length&&(U.protocols.values=ke.one_of.map(Ae=>({label:Ae,value:Ae})))}if(Z.value||y.value===se.EntityBaseFormType.Create){const pe=H("config",v.value,U);N.value&&(pe._supported_redis_partial_type=N.value),$.value&&(pe._isCustomPlugin=!0),_.value=pe}}}}catch(le){console.error(le),F.value=d(le),o("error:fetch-schema",le)}finally{O.value=!1}}),(R,X)=>{const L=t.resolveComponent("KSkeleton"),ue=t.resolveComponent("KEmptyState"),le=t.resolveComponent("KButton"),oe=t.resolveComponent("KTabs"),fe=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",AV,[O.value?(t.openBlock(),t.createBlock(L,{key:0,type:"form"})):F.value?(t.openBlock(),t.createBlock(ue,{key:1,"action-button-visible":!1,"data-testid":"plugin-form-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(t.unref(a)("errors.load_schema")),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(se.EntityBaseForm),{key:2,"can-submit":B.value,config:e.config,"edit-id":e.pluginId,"entity-type":t.unref(se.SupportedEntityType).Plugin,"error-message":me.value,"fetch-url":A.value,"form-fields":k.value,"is-readonly":D.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:ne,"onFetch:error":X[4]||(X[4]=pe=>R.$emit("error",pe)),"onFetch:success":Y,onLoading:X[5]||(X[5]=pe=>R.$emit("loading",pe))},{"form-actions":t.withCtx(()=>[e.isWizardStep?(t.openBlock(),t.createElementBlock("div",IV)):(t.openBlock(),t.createBlock(xV,{key:1,"teleport-target":e.actionsTeleportTarget},{default:t.withCtx(()=>[t.createElementVNode("div",PV,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(le,{key:0,appearance:"tertiary","data-testid":`plugin-${h.value?"edit":"create"}-form-view-configuration`,onClick:X[3]||(X[3]=pe=>W())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),t.createVNode(le,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${h.value?"edit":"create"}-form-cancel`,disabled:D.isReadonly,onClick:ne},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),t.createVNode(le,{appearance:"primary","data-testid":`plugin-${h.value?"edit":"create"}-form-submit`,disabled:!B.value||D.isReadonly,type:"submit",onClick:C},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.save")),1)]),_:1},8,["data-testid","disabled"])])]),_:1},8,["teleport-target"]))]),default:t.withCtx(()=>[t.createElementVNode("form",{hidden:"",onSubmit:C},null,32),t.createVNode(vV,{config:e.config,credential:w.value,editing:y.value===t.unref(se.EntityBaseFormType).Edit,"enable-redis-partial":e.enableRedisPartial,"enable-vault-secret-picker":r.enableVaultSecretPicker,"entity-map":I.value,"raw-schema":g.value,record:b.value,schema:_.value,onGlobalAction:X[0]||(X[0]=(pe,ke)=>R.$emit("globalAction",pe,ke)),onLoading:X[1]||(X[1]=pe=>T.value=pe),onModelUpdated:ae,onShowNewPartialModal:X[2]||(X[2]=pe=>R.$emit("showNewPartialModal",pe)),onValidityChange:te},null,8,["config","credential","editing","enable-redis-partial","enable-vault-secret-picker","entity-map","raw-schema","record","schema"])]),_:1},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly","wrapper-component"])),t.createVNode(fe,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:t.unref(a)("view_configuration.title"),visible:m.value,onClose:W},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("view_configuration.message")),1),t.createVNode(oe,{"data-testid":"form-view-configuration-slideout-tabs",tabs:K.value},{json:t.withCtx(()=>[t.createVNode(t.unref(se.JsonCodeBlock),{config:e.config,"entity-record":k.value,"fetcher-url":Q.value,"request-method":r.pluginId?"put":"post"},null,8,["config","entity-record","fetcher-url","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref(se.YamlCodeBlock),{"entity-record":k.value},null,8,["entity-record"])]),terraform:t.withCtx(()=>[t.createVNode(t.unref(se.TerraformCodeBlock),{"credential-type":S.value,"entity-record":k.value,"entity-type":t.unref(se.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])])}}}),[["__scopeId","data-v-d12d60bc"]]),OV={class:"kong-ui-entities-plugins-list"},$V={class:"button-row"},BV={class:"empty-state-icon-gateway"},VV={class:"name-cell-wrapper"},RV={class:"info-wrapper"},MV={key:0,class:"info-name"},DV={key:1,class:"info-name"},LV={key:2,class:"info-type"},FV={key:1},UV=we(t.defineComponent({__name:"PluginList",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.createRoute||!e.getViewRoute||!e.getEditRoute||!e.getConfigureDynamicOrderingRoute||e.app==="kongManager"&&!e.isExactMatch&&!e.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canToggle:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},canRetrieveScopedEntity:{type:Function,required:!1,default:async()=>!0},canConfigureDynamicOrdering:{type:Function,required:!1,default:async()=>!0},title:{type:String,default:""},titleTag:{type:String,default:"h2"},useActionOutside:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success","toggle-enabled"],setup(e,{emit:n}){var x,S;const o=Ve.usePluginMetaData(),r=n,i=e,{i18n:{t:a}}=Ve.useI18n(),l=Qn.useRouter(),{axiosInstance:s}=se.useAxios((x=i.config)==null?void 0:x.axiosRequestConfig),{hasRecords:c,handleStateChange:d}=se.useTableState(()=>b.value),f=t.computed(()=>c.value&&i.config.app==="konnect"),u=t.computed(()=>!!i.config.entityId),p=t.computed(()=>{var O;return((O=i.config)==null?void 0:O.entityType)==="consumers"}),m=t.computed(()=>{var O;return((O=i.config)==null?void 0:O.entityType)==="consumer_groups"}),h=i.config.app==="konnect"||se.useGatewayFeatureSupported({gatewayInfo:i.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),y=t.computed(()=>i.config.app!=="kongManager"||!!i.config.disableSorting),g={name:{label:a("plugins.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1}};(S=i.config)!=null&&S.entityId||(g.appliedTo={label:a("plugins.list.table_headers.applied_to"),sortable:!1}),g.enabled={label:a("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},h&&(g.ordering={label:a("plugins.list.table_headers.ordering"),sortable:!0}),g.tags={label:a("plugins.list.table_headers.tags"),sortable:!1};const _=g,w=t.computed(()=>{var F,J,R,X;let O=i.config.entityType?`${i.config.apiBaseUrl}${Re.list[i.config.app].forEntity}`:`${i.config.apiBaseUrl}${Re.list[i.config.app].all}`;return i.config.app==="konnect"?O=O.replace(/{controlPlaneId}/gi,((F=i.config)==null?void 0:F.controlPlaneId)||""):i.config.app==="kongManager"&&(O=O.replace(/\/{workspace}/gi,(J=i.config)!=null&&J.workspace?`/${i.config.workspace}`:"")),O.replace(/{entityType}/gi,((R=i.config)==null?void 0:R.entityType)||"").replace(/{entityId}/gi,((X=i.config)==null?void 0:X.entityId)||"")}),b=t.ref(""),v=t.computed(()=>i.config.app==="konnect"||i.config.isExactMatch?{isExactMatch:!0,fields:{name:g.name,id:{label:a("plugins.list.table_headers.id"),sortable:!0}},placeholder:a(`search.placeholder.${i.config.isExactMatch?"exact":i.config.app}`)}:{isExactMatch:!1,fields:{enabled:{...g.enabled,label:a("search.filter.field.enabled")},name:g.name,instance_name:{label:a("plugins.list.table_headers.instance_name"),searchable:!0}},schema:i.config.filterSchema}),{fetcher:N,fetcherState:E,fetcherCacheKey:T}=se.useFetcher(t.computed(()=>({...i.config,cacheIdentifier:i.cacheIdentifier})),w),P=()=>{b.value=""},D=()=>{T.value++},K=t.ref(null),j=O=>{var J,R,X,L;const F=[];return((J=O.route)!=null&&J.id||O.route_id)&&F.push({type:"route",badgeText:a("plugins.list.table_headers.applied_to_badges.route")}),((R=O.service)!=null&&R.id||O.service_id)&&F.push({type:"service",badgeText:a("plugins.list.table_headers.applied_to_badges.service")}),((X=O.consumer)!=null&&X.id||O.consumer_id)&&F.push({type:"consumer",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer")}),((L=O.consumer_group)!=null&&L.id||O.consumer_group_id)&&F.push({type:"consumer_group",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer_group")}),F.length?F:[{type:null,badgeText:a("plugins.list.table_headers.applied_to_badges.global")}]},A=async(O,F)=>{var J;return O===null?!1:await((J=i.canRetrieveScopedEntity)==null?void 0:J.call(i,O,F.id))},W=(O,F)=>{var R,X,L,ue,le;let J=null;switch(O){case"route":J=(R=F.route)==null?void 0:R.id;break;case"service":J=(X=F.service)==null?void 0:X.id;break;case"consumer":J=(L=F.consumer)==null?void 0:L.id;break;case"consumer_group":J=(ue=F.consumer_group)==null?void 0:ue.id;break}J&&((le=i.config)!=null&&le.getScopedEntityViewRoute)&&l.push(i.config.getScopedEntityViewRoute(O,J))},I=t.ref(!1),U=t.ref(null),M=t.computed(()=>{const O={action:"disable",id:"",name:""};if(U.value){const{enabled:F,id:J,name:R}=U.value;O.action=F?"disable":"enable",O.id=J,O.name=o.getDisplayName(R)||J}return O}),ee=O=>{I.value=!0,U.value=O},H=()=>{I.value=!1,U.value=null},G=async()=>{var R,X,L,ue,le,oe,fe,pe;if(!await((R=i.canEdit)==null?void 0:R.call(i,U.value))||!U.value)return;let F=`${i.config.apiBaseUrl}${(le=Re.item[i.config.app])==null?void 0:le[(X=i.config)!=null&&X.entityType?"forEntity":"all"].replace(/{entityType}/gi,((L=i.config)==null?void 0:L.entityType)||"").replace(/{entityId}/gi,((ue=i.config)==null?void 0:ue.entityId)||"")}`.replace(/{id}/gi,U.value.id||"");i.config.app==="konnect"?F=F.replace(/{controlPlaneId}/gi,((oe=i.config)==null?void 0:oe.controlPlaneId)||""):i.config.app==="kongManager"&&(F=F.replace(/\/{workspace}/gi,(fe=i.config)!=null&&fe.workspace?`/${i.config.workspace}`:""));const J=!U.value.enabled;try{const{data:ke}=((pe=i.config)==null?void 0:pe.app)==="konnect"?await s.put(F,{...U.value,enabled:J},{timeout:12e4}):await s.patch(F,{...U.value,enabled:J},{timeout:12e4});r("toggle-enabled",J,ke),U.value.enabled=J}catch(ke){r("error",ke)}},V=async(O,F)=>{const J=O.id;if(!await F(J)){r("copy:error",{entity:O,field:"id",message:a("errors.copy")});return}r("copy:success",{entity:O,field:"id",message:a("copy.success",{val:J})})},B=async(O,F)=>{const J=JSON.stringify(O);if(!await F(J)){r("copy:error",{entity:O,message:a("errors.copy")});return}r("copy:success",{entity:O,message:a("copy.success_brief")})},Z=async O=>{var J;await((J=i.canRetrieve)==null?void 0:J.call(i,O))&&l.push(i.config.getViewRoute(O))},re=O=>({label:a("actions.view"),to:i.config.getViewRoute(O)}),Y=O=>({label:a("actions.edit"),to:i.config.getEditRoute(O)}),ie=O=>({label:a("actions.configure_dynamic_ordering"),to:i.config.getConfigureDynamicOrderingRoute(O)}),ae=t.ref(void 0),ge=t.ref(!1),me=t.ref(!1),te=t.ref(""),ne=se.useDeleteUrlBuilder(i.config,w.value),q=O=>{ae.value=O,ge.value=!0},Q=()=>{ge.value=!1},$=async()=>{var O,F,J;if((O=ae.value)!=null&&O.id){me.value=!0;try{await s.delete(ne(ae.value.id)),me.value=!1,ge.value=!1,T.value++,r("delete:success",ae.value)}catch(R){te.value=((J=(F=R.response)==null?void 0:F.data)==null?void 0:J.message)||R.message||a("errors.delete"),r("error",R)}finally{me.value=!1}}},k=()=>{l.push(i.config.createRoute)};t.watch(E,O=>{var F,J,R;if(O.status===se.FetcherStatus.Error){K.value={title:a("errors.general")},(R=(J=(F=O.error)==null?void 0:F.response)==null?void 0:J.data)!=null&&R.message&&(K.value.message=O.error.response.data.message),r("error",O.error);return}K.value=null});const C=t.ref({ctaPath:i.config.createRoute,ctaText:void 0,message:`${a("plugins.list.empty_state.description")}${i.config.additionMessageForEmptyState?` ${i.config.additionMessageForEmptyState}`:""}`,title:a("plugins.title")});return t.onBeforeMount(async()=>{await i.canCreate()&&(C.value.title=a("plugins.list.empty_state.title"),C.value.ctaText=a("actions.create"))}),(O,F)=>{const J=t.resolveComponent("KButton"),R=t.resolveComponent("KBadge"),X=t.resolveComponent("KTruncate"),L=t.resolveComponent("KInputSwitch"),ue=t.resolveComponent("KDropdownItem"),le=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",OV,[t.createVNode(t.unref(se.EntityBaseTable),{"cache-identifier":e.cacheIdentifier,"disable-sorting":y.value,"empty-state-options":C.value,"enable-entity-actions":"","error-message":K.value,fetcher:t.unref(N),"fetcher-cache-key":t.unref(T),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:b.value,"table-headers":t.unref(_),title:e.title,"title-tag":e.titleTag,onClearSearchInput:P,"onClick:row":F[4]||(F[4]=oe=>Z(oe)),onSort:D,onState:t.unref(d)},t.createSlots({"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref(se.EntityFilter),{modelValue:b.value,"onUpdate:modelValue":F[0]||(F[0]=oe=>b.value=oe),config:v.value},null,8,["modelValue","config"])]),"toolbar-button":t.withCtx(()=>[(t.openBlock(),t.createBlock(t.Teleport,{disabled:!e.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[t.createElementVNode("div",$V,[!u.value&&f.value?(t.openBlock(),t.createBlock(J,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:F[1]||(F[1]=oe=>O.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.BookIcon),{decorative:""})]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref(se.PermissionsWrapper),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.createVNode(J,{appearance:"primary","data-testid":"toolbar-add-plugin",size:e.useActionOutside?"medium":"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.toolbar_actions.new_plugin")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:t.withCtx(({row:oe})=>[t.createElementVNode("div",VV,[t.createVNode(t.unref(to.PluginIcon),{class:"plugin-icon",name:oe.name,size:24},null,8,["name"]),t.createElementVNode("div",RV,[oe.instance_name?(t.openBlock(),t.createElementBlock("span",MV,t.toDisplayString(oe.instance_name),1)):(t.openBlock(),t.createElementBlock("span",DV,t.toDisplayString(t.unref(o).getDisplayName(oe.name)),1)),oe.instance_name?(t.openBlock(),t.createElementBlock("span",LV,t.toDisplayString(t.unref(o).getDisplayName(oe.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:oe})=>[j(oe).length>0?(t.openBlock(),t.createBlock(X,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(j(oe),fe=>(t.openBlock(),t.createBlock(t.unref(se.PermissionsWrapper),{key:fe.badgeText,"auth-function":()=>A(fe.type,oe),"force-show":""},{default:t.withCtx(({isAllowed:pe})=>[t.createVNode(R,{class:t.normalizeClass(pe||"disabled"),onClick:t.withModifiers(ke=>pe&&fe.type&&W(fe.type,oe),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(fe.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",FV,"-"))]),enabled:t.withCtx(({row:oe})=>[t.createVNode(t.unref(se.PermissionsWrapper),{"auth-function":async()=>!!(await e.canEdit(oe)&&await e.canToggle(oe)),"force-show":""},{default:t.withCtx(({isAllowed:fe})=>{var pe,ke;return[t.createElementVNode("div",{onClick:F[3]||(F[3]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(L,{disabled:!fe,"disabled-tooltip-text":!fe&&((ke=(pe=e.config).getToggleDisabledTooltip)==null?void 0:ke.call(pe,oe))||void 0,"model-value":oe.enabled,onClick:t.withModifiers(Ae=>fe&&ee(oe),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:oe})=>[t.createVNode(R,{appearance:t.unref(oc)(oe)?"info":"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(oc)(oe)?t.unref(a)("plugins.list.table_headers.ordering_badge.static"):t.unref(a)("plugins.list.table_headers.ordering_badge.dynamic")),1)]),_:2},1032,["appearance"])]),tags:t.withCtx(({rowValue:oe})=>[t.createVNode(t.unref(se.TableTags),{tags:oe},null,8,["tags"])]),actions:t.withCtx(({row:oe})=>[t.createVNode(le,null,{default:t.withCtx(({copyToClipboard:fe})=>[t.createVNode(ue,{"data-testid":"action-entity-copy-id",onClick:pe=>V(oe,fe)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(le,null,{default:t.withCtx(({copyToClipboard:fe})=>[t.createVNode(ue,{"data-testid":"action-entity-copy-json",onClick:pe=>B(oe,fe)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(t.unref(se.PermissionsWrapper),{"auth-function":()=>e.canRetrieve(oe)},{default:t.withCtx(()=>[t.createVNode(ue,{"data-testid":"action-entity-view","has-divider":"",item:re(oe)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(se.PermissionsWrapper),{"auth-function":()=>e.canEdit(oe)},{default:t.withCtx(()=>[t.createVNode(ue,{"data-testid":"action-entity-edit",item:Y(oe)},null,8,["item"])]),_:2},1032,["auth-function"]),!p.value&&!m.value&&t.unref(h)?(t.openBlock(),t.createBlock(t.unref(se.PermissionsWrapper),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(oe)},{default:t.withCtx(()=>[ie(oe)?(t.openBlock(),t.createBlock(ue,{key:0,"data-testid":"action-entity-config-dyn-order",item:ie(oe)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(se.PermissionsWrapper),{"auth-function":()=>e.canDelete(oe)},{default:t.withCtx(()=>[t.createVNode(ue,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:fe=>q(oe)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!b.value&&e.config.app==="konnect"?{name:"empty-state",fn:t.withCtx(()=>{var oe;return[t.createVNode(t.unref(se.EntityEmptyState),{"action-button-text":t.unref(a)("plugins.list.empty_state_v2.create_cta"),appearance:"secondary","can-create":()=>e.canCreate(),"data-testid":e.config.entityId?"nested-plugins-entity-empty-state":"plugins-entity-empty-state",description:t.unref(a)("plugins.list.empty_state_v2.description"),"learn-more":e.config.app==="konnect",title:t.unref(a)("plugins.list.empty_state_v2.title"),"onClick:create":k,"onClick:learnMore":F[2]||(F[2]=fe=>O.$emit("click:learn-more"))},t.createSlots({image:t.withCtx(()=>[t.createElementVNode("div",BV,[t.createVNode(t.unref(Ce.PlugIcon),{color:t.unref(qw),size:t.unref(zw)},null,8,["color","size"])])]),_:2},[(oe=e.config)!=null&&oe.isControlPlaneGroup?{name:"message",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["action-button-text","can-create","data-testid","description","learn-more","title"])]}),key:"0"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","title","title-tag","onState"]),t.createVNode(t.unref(se.EntityToggleModal),{action:M.value.action,"entity-id":M.value.id,"entity-name":M.value.name,"entity-type":t.unref(a)("glossary.plugin"),"on-confirm":G,visible:I.value,onCancel:H,onProceed:H},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(se.EntityDeleteModal),{"action-pending":me.value,description:t.unref(a)("delete.description"),"entity-name":ae.value&&(ae.value.instance_name||ae.value.name||ae.value.id),"entity-type":t.unref(se.EntityTypes).Plugin,error:te.value,title:t.unref(a)("delete.title"),visible:ge.value,onCancel:Q,onProceed:$},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-3f031caf"]]),KV={class:"plugin-select-card-wrapper"},jV=["data-testid"],qV={class:"plugin-card-header"},GV={class:"plugin-card-title"},zV={key:0,class:"plugin-card-actions"},HV=["data-testid","title"],YV={key:0,class:"plugin-card-text"},WV={key:0},XV=["title"],Vl=we(t.defineComponent({__name:"PluginSelectCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},plugin:{type:Object,required:!0},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","custom-plugin-delete"],setup(e,{emit:n}){const o=n,r=e,i=Qn.useRouter(),{i18n:{t:a}}=Ve.useI18n(),l=t.computed(()=>r.config.app==="konnect"?r.config.controlPlaneId:""),s=t.computed(()=>!!(!r.plugin.available||r.plugin.disabledMessage)),c=t.computed(()=>!!(m.value&&!p.value&&r.navigateOnClick&&l.value&&(r.canDeleteCustomPlugin||r.canEditCustomPlugin))),d=()=>{i.push(r.config.getCreateRoute(r.plugin.id))},f=()=>{r.navigateOnClick?d():u()},u=()=>{o("plugin-clicked",r.plugin)},p=t.computed(()=>r.plugin.id==="custom-plugin-create"),m=t.computed(()=>r.config.app==="konnect"&&r.plugin.group===z.PluginGroup.CUSTOM_PLUGINS),h=()=>{r.config.app==="konnect"&&o("custom-plugin-delete")},y=(_,w)=>{const b=r.config;r.config.app==="konnect"&&typeof b.getCustomEditRoute=="function"&&b.getCustomEditRoute&&i.push(b.getCustomEditRoute(_,w))},g=()=>{if(!s.value&&r.config.app==="konnect"){const _=r.config;p.value&&_.createCustomRoute?i.push(_.createCustomRoute):m.value&&d()}};return(_,w)=>{const b=t.resolveComponent("KButton"),v=t.resolveComponent("KDropdownItem"),N=t.resolveComponent("KDropdownMenu"),E=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",KV,[t.createVNode(E,{text:e.plugin.disabledMessage},{default:t.withCtx(()=>[t.createElementVNode("a",{class:t.normalizeClass(["plugin-select-card",{disabled:s.value}]),"data-testid":`${e.plugin.id}-card`,role:"button",onClick:w[1]||(w[1]=T=>s.value||m.value?void 0:f())},[t.createElementVNode("div",qV,[t.createElementVNode("div",GV,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!m.value})},t.toDisplayString(e.plugin.name),3)]),c.value?(t.openBlock(),t.createElementBlock("div",zV,[t.createVNode(N,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{default:t.withCtx(()=>[t.createVNode(b,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.MoreIcon),{size:t.unref(Gw)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(v,{key:0,"data-testid":"edit-plugin-schema",onClick:w[0]||(w[0]=t.withModifiers(T=>y(e.plugin.name,e.plugin.customPluginType),["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.edit")),1)]),_:1})):t.createCommentVNode("",!0),e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(v,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:t.withModifiers(h,["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:1})):t.createCommentVNode("",!0)]),_:1})])):t.createCommentVNode("",!0)]),t.createElementVNode("div",{class:t.normalizeClass(["plugin-card-body",{"custom-plugin":m.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:t.unref(a)("plugins.select.unavailable_tooltip"),onClick:g},[t.createVNode(t.unref(to.PluginIcon),{alt:e.plugin.name,class:"plugin-card-icon",name:e.plugin.id,size:55},null,8,["alt","name"]),e.plugin.description||m.value&&!p.value?(t.openBlock(),t.createElementBlock("div",YV,[m.value&&!p.value?(t.openBlock(),t.createElementBlock("p",WV,t.toDisplayString(t.unref(a)("plugins.select.custom_badge_text")),1)):t.createCommentVNode("",!0),e.plugin.description?(t.openBlock(),t.createElementBlock("p",{key:1,class:"plugin-card-text",title:e.plugin.description},t.toDisplayString(e.plugin.description),9,XV)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,HV),t.createElementVNode("div",{class:"plugin-card-footer",onClick:g},t.toDisplayString(p.value?t.unref(a)("actions.create_custom"):e.plugin.exists?t.unref(a)("actions.enabled"):t.unref(a)("actions.enable")),1)],10,jV)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-65d53934"]]),ZV=we(t.defineComponent({__name:"DeleteCustomPluginSchemaModal",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app))},plugin:{type:Object,required:!0}},emits:["closed","proceed"],setup(e,{emit:n}){var h;const o=e,r=n,{i18nT:i,i18n:{t:a}}=Ve.useI18n(),{getMessageFromError:l}=se.useErrors(),{axiosInstance:s}=se.useAxios((h=o.config)==null?void 0:h.axiosRequestConfig),c=t.computed(()=>{var y;return u.value?a("delete.plugin_schema_in_use_title"):a("delete.title",{name:((y=o.plugin)==null?void 0:y.name)||a("delete.custom_plugin")})}),d=t.ref(!1),f=t.ref(""),u=t.ref(!1),p=t.computed(()=>{if(o.config.app==="konnect"){const y=o.plugin.customPluginType==="streaming"?Re.select[o.config.app].streamingCustomPluginItem:Re.select[o.config.app].schemaCustomPluginItem;let g=`${o.config.apiBaseUrl}${y}`;return g=g.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),g=g.replace(/{pluginId}/gi,o.plugin.id),g}return null}),m=async()=>{var y,g,_,w;if(d.value=!0,f.value="",!(!((y=o.plugin)!=null&&y.name)||((g=o.config)==null?void 0:g.app)!=="konnect"))try{p.value&&await s.delete(p.value),r("proceed")}catch(b){const{response:v}=b;(v==null?void 0:v.status)===400&&((w=(_=v.data)==null?void 0:_.message)!=null&&w.includes("plugin schema is currently in use"))?u.value=!0:f.value=l(b)}finally{d.value=!1}};return(y,g)=>{const _=t.resolveComponent("KButton"),w=t.resolveComponent("KModal");return!u.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(se.EntityDeleteModal),{key:0,"action-pending":d.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",description:t.unref(a)("delete.description_custom"),"entity-name":e.plugin.name,"entity-type":t.unref(se.EntityTypes).Plugin,error:f.value,"need-confirm":"",title:c.value,visible:"",onCancel:g[0]||(g[0]=b=>y.$emit("closed")),onProceed:m},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(w,{key:1,"action-button-disabled":d.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",title:c.value,visible:"",onCancel:g[2]||(g[2]=b=>y.$emit("closed"))},{default:t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(t.unref(i),{keypath:"delete.plugin_schema_in_use_message",tag:"p"},{name:t.withCtx(()=>[t.createElementVNode("strong",null,t.toDisplayString(e.plugin.name),1)]),_:1})])]),"footer-actions":t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(_,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:g[1]||(g[1]=b=>y.$emit("closed"))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.cancel")),1)]),_:1})])]),_:1},8,["action-button-disabled","title"])):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-9e0dee7f"]]),JV={class:"custom-plugins-grid"},QV={class:"empty-state-title"},eR={class:"empty-state-description"},Rl=310,tR=we(t.defineComponent({__name:"PluginCustomGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canCreateCustomPlugin:{type:Boolean,default:!1},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","revalidate","delete:success"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=Ve.useI18n(),{getTallestPluginCardHeight:a,getToggleVisibility:l}=Ve.usePluginHelpers(),s=t.ref(!0),c=N=>{r("plugin-clicked",N)},d=t.computed(()=>{if(o.config.app==="kongManager")return[];const N=JSON.parse(JSON.stringify(o.pluginList))[z.PluginGroup.CUSTOM_PLUGINS]||[];return o.canCreateCustomPlugin&&o.navigateOnClick&&o.config.createCustomRoute?[{id:"custom-plugin-create",name:i("plugins.select.tabs.custom.create.name"),available:!0,group:z.PluginGroup.CUSTOM_PLUGINS,description:i("plugins.select.tabs.custom.create.description")}].concat(N):N}),f=t.ref(!1),u=t.ref(null),p=N=>{f.value=!0,u.value={id:N.id,name:N.name,customPluginType:N.customPluginType}},m=N=>{var E;N&&(r("revalidate"),r("delete:success",((E=u.value)==null?void 0:E.name)||"")),f.value=!1,u.value=null},h=t.ref(Rl),y=t.ref(null),g=t.ref(null),_=t.computed(()=>s.value?{overflowY:"hidden",maxHeight:`${h.value}px`}:{}),w=t.ref(!1),b=()=>{h.value=Math.max(a(g.value),Rl),v()},v=()=>{var N,E;(N=g.value)!=null&&N.length&&(w.value=l(y.value,(E=g.value)==null?void 0:E.length))};return t.onMounted(async()=>{await t.nextTick(),h.value=Math.max(a(g.value),Rl),v(),window==null||window.addEventListener("resize",b)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",b)}),(N,E)=>{const T=t.resolveComponent("KEmptyState"),P=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",JV,[d.value.length?(t.openBlock(),t.createBlock(P,{key:1,modelValue:s.value,"onUpdate:modelValue":E[0]||(E[0]=D=>s.value=D),class:"custom-plugins-collapse","data-testid":`${t.unref(z.PluginGroup).CUSTOM_PLUGINS}-collapse`,title:t.unref(z.PluginGroup).CUSTOM_PLUGINS,"trigger-label":s.value?t.unref(i)("plugins.select.view_more"):t.unref(i)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:y,class:"plugin-card-container",style:t.normalizeStyle(_.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.value,(D,K)=>(t.openBlock(),t.createBlock(Vl,{key:`plugin-card-${K}`,ref_for:!0,ref_key:"pluginCardRef",ref:g,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:D,onCustomPluginDelete:j=>p(D),onPluginClicked:c},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))],4)]),_:2},[w.value?void 0:{name:"trigger",fn:t.withCtx(()=>[E[2]||(E[2]=t.createTextVNode("   ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(T,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",QV,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",eR,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),f.value&&u.value?(t.openBlock(),t.createBlock(ZV,{key:2,config:e.config,plugin:u.value,onClosed:m,onProceed:E[1]||(E[1]=D=>m(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-f4b90f47"]]),Ml=310,em=we(t.defineComponent({__name:"PluginSelectGroup",props:t.mergeModels({config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},name:{type:String,required:!0},plugins:{type:Array,required:!0},navigateOnClick:{type:Boolean,default:!0}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:t.mergeModels(["plugin-clicked"],["update:modelValue"]),setup(e,{emit:n}){const o=t.useModel(e,"modelValue"),r=e,i=n,{i18n:{t:a}}=Ve.useI18n(),{getTallestPluginCardHeight:l,getToggleVisibility:s}=Ve.usePluginHelpers(),c=t.ref(Ml),d=t.ref(null),f=t.ref(null),u=t.computed(()=>o.value?{overflowY:"hidden",maxHeight:`${c.value}px`}:{}),p=t.ref(!1),m=()=>{c.value=Math.max(l(f.value),Ml),h()},h=()=>{var y,g;(y=f.value)!=null&&y.length&&(p.value=s(d.value,(g=f.value)==null?void 0:g.length))};return t.onMounted(async()=>{await t.nextTick(),c.value=Math.max(l(f.value),Ml),h(),window==null||window.addEventListener("resize",m)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",m)}),(y,g)=>{const _=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(_,{modelValue:o.value,"onUpdate:modelValue":g[0]||(g[0]=w=>o.value=w),class:"plugins-collapse","data-testid":`${r.name}-collapse`,title:r.name,"trigger-label":o.value?t.unref(a)("plugins.select.view_more"):t.unref(a)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:d,class:"plugin-card-container",style:t.normalizeStyle(u.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.plugins,w=>(t.openBlock(),t.createBlock(Vl,{key:`plugin-card-${w.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:f,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:w,onPluginClicked:b=>i("plugin-clicked",w)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))],4)]),_:2},[p.value?void 0:{name:"trigger",fn:t.withCtx(()=>[g[1]||(g[1]=t.createTextVNode("   ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])}}}),[["__scopeId","data-v-a1074120"]]),nR={class:"plugin-select-grid"},oR={class:"empty-state-title"},rR={class:"empty-state-description"},Dl=t.defineComponent({__name:"PluginSelectGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0},highlightedPlugins:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""},hideHighlightedPlugins:{type:Boolean,default:!1}},emits:["plugin-clicked"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=Ve.useI18n(),a=t.ref(!1),l=t.ref(Kl),s=d=>{r("plugin-clicked",d)},c=t.computed(()=>{const d=JSON.parse(JSON.stringify(o.pluginList));return o.config.app==="konnect"&&delete d[z.PluginGroup.CUSTOM_PLUGINS],d});return(d,f)=>{const u=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",nR,[Object.keys(c.value).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(u,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",oR,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",rR,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!o.hideHighlightedPlugins&&o.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(em,{key:1,modelValue:a.value,"onUpdate:modelValue":f[0]||(f[0]=p=>a.value=p),config:e.config,name:o.highlightedPluginsTitle||t.unref(i)("plugins.select.highlighted_plugins.title"),"navigate-on-click":e.navigateOnClick,plugins:o.highlightedPlugins,onPluginClicked:f[1]||(f[1]=p=>s(p))},null,8,["modelValue","config","name","navigate-on-click","plugins"])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Ul),p=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[c.value[p]?(t.openBlock(),t.createElementBlock("div",{key:p},[t.createVNode(em,{modelValue:l.value[p],"onUpdate:modelValue":m=>l.value[p]=m,config:e.config,name:p,"navigate-on-click":e.navigateOnClick,plugins:c.value[p]||[],onPluginClicked:f[2]||(f[2]=m=>s(m))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins"])])):t.createCommentVNode("",!0)],64))),256))])}}}),iR={class:"kong-ui-entities-plugin-select-form"},aR={class:"plugins-filter-input-container"},lR={key:0},sR={key:3,"aria-live":"polite",class:"plugins-results-container"},cR={"data-testid":"kong-tab"},dR={class:"tab-description"},uR={"data-testid":"custom-tab"},fR={class:"tab-description"},pR=we(t.defineComponent({__name:"PluginSelect",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},customPluginSupport:{type:String,default:"none"},canCreateCustomPlugin:{type:Function,required:!1,default:async()=>!0},canDeleteCustomPlugin:{type:Function,required:!1,default:async()=>!0},canEditCustomPlugin:{type:Function,required:!1,default:async()=>!0},navigateOnClick:{type:Boolean,default:!0},availableOnServer:{type:Boolean,default:!0},ignoredPlugins:{type:Array,default:()=>[]},disabledPlugins:{type:Object,default:()=>({})},highlightedPluginIds:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""}},emits:["loading","plugin-clicked","delete-custom:success"],setup(e,{emit:n}){var G;const o=e,r=n,i=Qn.useRoute(),a=Qn.useRouter(),{i18n:{t:l}}=Ve.useI18n(),{pluginMetaData:s}=Ve.usePluginMetaData(),{getMessageFromError:c}=se.useErrors(),{sortAlpha:d,objectsAreEqual:f}=se.useHelpers(),u=t.ref(""),p=t.ref(!0),m=t.ref(!1),h=t.ref(""),y=t.ref([]),g=t.ref([]),_=t.ref({}),w=t.ref([]),{axiosInstance:b}=se.useAxios((G=o.config)==null?void 0:G.axiosRequestConfig),v=t.computed(()=>_.value?Object.entries(_.value).filter(([V])=>V!==z.PluginGroup.CUSTOM_PLUGINS).reduce((V,[,B])=>{for(const Z of B)V[Z.id]=Z;return V},{}):{}),N=t.computed(()=>{var Z;if(!_.value)return{};const V=u.value.toLowerCase(),B=JSON.parse(JSON.stringify(_.value));for(const re in _.value){const Y=((Z=_.value[re])==null?void 0:Z.filter(ie=>ie.name.toLowerCase().includes(V)||ie.id.toLowerCase().includes(V)||ie.group.toLowerCase().includes(V)))||[];Y.length?B[re]=Y:delete B[re]}return B}),E=t.computed(()=>o.highlightedPluginIds.reduce((V,B)=>{const Z=v.value[B];return Z&&V.push(Z),V},[])),T=t.computed(()=>Object.keys(N.value).length>0),P=t.computed(()=>Object.keys(_.value).length>0&&!T.value),D=t.computed(()=>o.config.app==="konnect"?[{hash:"#kong",title:l("plugins.select.tabs.kong.title")},{hash:"#custom",title:l("plugins.select.tabs.custom.title"),disabled:["none","disabled"].includes(o.customPluginSupport)}]:[]),K=t.computed(()=>{var B;let V=D.value.length&&((i==null?void 0:i.hash)||((B=D.value[0])==null?void 0:B.hash))||"";return V==="#custom"&&["none","disabled"].includes(o.customPluginSupport)&&(V="#kong"),V}),j=()=>[...new Set([...Object.keys({...o.availableOnServer?{}:s}),...y.value])].filter(V=>!o.ignoredPlugins.includes(V)).filter(V=>o.config.entityType&&(o.config.entityType==="services"&&s[V]&&!s[V].scope.includes(z.PluginScope.SERVICE)||o.config.entityType==="routes"&&s[V]&&!s[V].scope.includes(z.PluginScope.ROUTE)||o.config.entityType==="consumer_groups"&&s[V]&&!s[V].scope.includes(z.PluginScope.CONSUMER_GROUP)||o.config.entityType==="consumers"&&s[V]&&!s[V].scope.includes(z.PluginScope.CONSUMER))?!1:V).reduce((V,B)=>{var ae;const Z=s[B]&&s[B].name||B,re={...s[B],id:B,name:Z,available:y.value.includes(B),disabledMessage:"",group:((ae=s[B])==null?void 0:ae.group)||z.PluginGroup.CUSTOM_PLUGINS};re.group===z.PluginGroup.CUSTOM_PLUGINS&&(re.customPluginType=g.value.find(ge=>ge.name===B)?"streaming":"schema"),o.disabledPlugins&&(re.disabledMessage=o.disabledPlugins[B]);const Y=re.group||l("plugins.select.misc_plugins");let ie=V[Y];return ie||(ie=[]),ie.push(re),ie.sort(d("name")),V[Y]=ie,V},{}),A=t.computed(()=>{var B;let V=`${o.config.apiBaseUrl}${Re.select[o.config.app].availablePlugins}`;return o.config.app==="konnect"?V=V.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(V=((B=o.config.gatewayInfo)==null?void 0:B.edition)==="community"?`${o.config.apiBaseUrl}${Re.select[o.config.app].availablePluginsForOss}`:V.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),V}),W=t.computed(()=>{if(o.config.app==="konnect"&&o.customPluginSupport==="streaming"){let V=`${o.config.apiBaseUrl}${Re.select[o.config.app].streamingCustomPlugins}`;return V=V.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),V}return null}),I=t.computed(()=>{if(o.config.entityType&&o.config.entityId){let V=`${o.config.apiBaseUrl}${Re.list[o.config.app].forEntity}`;return o.config.app==="konnect"?V=V.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(V=V.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),V.replace(/{entityType}/gi,o.config.entityType||"").replace(/{entityId}/gi,o.config.entityId||"")}return""}),U=V=>{a.replace({hash:V,query:i.query})};t.watch(()=>o.disabledPlugins,(V,B)=>{!f(V,B)&&!p.value&&(_.value=j())}),t.watch(()=>o.ignoredPlugins,(V,B)=>{!f(V,B)&&!p.value&&(_.value=j())}),t.watch(p,V=>{r("loading",V)});const M=t.ref(!1),ee=t.ref(!1),H=t.ref(!1);return t.onBeforeMount(async()=>{M.value=await o.canCreateCustomPlugin(),ee.value=await o.canEditCustomPlugin(),H.value=await o.canDeleteCustomPlugin()}),t.onMounted(async()=>{try{const{data:V}=await b.get(A.value);if(o.config.app==="konnect"){const{names:B}=V;if(y.value=B||[],W.value){const{data:Z}=await b.get(W.value);g.value=Z.data||[]}}else if(o.config.app==="kongManager"){const{plugins:{available_on_server:B}}=V;y.value=B?Object.keys(B):[]}}catch(V){m.value=!0,h.value=c(V)}if(I.value)try{const{data:{data:V}}=await b.get(I.value);if(V!=null&&V.length){const B=V.reduce((Z,re)=>(re.name&&Z.push(re.name),Z),[]);w.value=w.value.concat(B)}}catch{}m.value||(_.value=j()),p.value=!1}),(V,B)=>{const Z=t.resolveComponent("KInput"),re=t.resolveComponent("KSkeletonBox"),Y=t.resolveComponent("KSkeleton"),ie=t.resolveComponent("KEmptyState"),ae=t.resolveComponent("KTooltip"),ge=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",iR,[t.createElementVNode("div",aR,[t.createVNode(Z,{modelValue:u.value,"onUpdate:modelValue":B[0]||(B[0]=me=>u.value=me),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:t.unref(l)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),p.value?(t.openBlock(),t.createElementBlock("section",lR,[t.createVNode(re,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(Y,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):m.value?(t.openBlock(),t.createBlock(ie,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(h.value),1)]),_:1})):P.value&&u.value?(t.openBlock(),t.createBlock(ie,{key:2,"action-button-visible":!1,"data-testid":"plugins-empty-state","icon-variant":"search"},{default:t.withCtx(()=>[t.createElementVNode("h5",null,t.toDisplayString(t.unref(l)("search.no_results",{filter:u.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",sR,[D.value.length&&e.customPluginSupport!=="none"?(t.openBlock(),t.createBlock(ge,{key:0,modelValue:K.value,"onUpdate:modelValue":B[5]||(B[5]=me=>K.value=me),"data-testid":"plugins-tabs",tabs:D.value,onChange:U},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",cR,[t.createElementVNode("p",dR,t.toDisplayString(t.unref(l)("plugins.select.tabs.kong.description")),1),t.createVNode(Dl,{config:e.config,"hide-highlighted-plugins":u.value.length>0,"highlighted-plugins":E.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":N.value,onPluginClicked:B[1]||(B[1]=me=>V.$emit("plugin-clicked",me))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])])]),custom:t.withCtx(()=>[t.createElementVNode("div",uR,[t.createElementVNode("p",fR,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.description")),1),t.createVNode(tR,{"can-create-custom-plugin":M.value,"can-delete-custom-plugin":H.value,"can-edit-custom-plugin":ee.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":N.value,"onDelete:success":B[2]||(B[2]=me=>V.$emit("delete-custom:success",me)),onPluginClicked:B[3]||(B[3]=me=>V.$emit("plugin-clicked",me)),onRevalidate:B[4]||(B[4]=()=>_.value=j())},null,8,["can-create-custom-plugin","can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin-list"])])]),_:2},[e.customPluginSupport==="disabled"?{name:"custom-anchor",fn:t.withCtx(()=>[t.createVNode(ae,{"max-width":"300",text:t.unref(l)("plugins.select.tabs.custom.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.title")),1)]),_:1},8,["text"])]),key:"0"}:void 0]),1032,["modelValue","tabs"])):(t.openBlock(),t.createBlock(Dl,{key:1,config:e.config,"hide-highlighted-plugins":u.value.length>0,"highlighted-plugins":E.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":N.value,onPluginClicked:B[6]||(B[6]=me=>V.$emit("plugin-clicked",me))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"]))]))])}}}),[["__scopeId","data-v-c18b2b5c"]]),mR={class:"kong-ui-entity-plugin-config-card"},gR={class:"name-cell-wrapper"},hR={class:"info-name"},yR={key:0},_R={key:0},bR={key:0},wR={key:0},ER={key:0},Ll="config",kR=we(t.defineComponent({__name:"PluginConfigCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string"||!e.entityId||!e.pluginType)},configCardDoc:{type:String,default:"",required:!1},showIdAsLink:{type:Boolean,default:!1},hideTitle:{type:Boolean,default:!1},scopedEntityType:{type:String,required:!1,default:""},scopedEntityId:{type:String,required:!1,default:""},expandPartial:{type:Boolean,default:!0}},emits:["loading","fetch:error","error:fetch-schema","fetch:success","navigation-click"],setup(e,{emit:n}){var w;const o=n,r=e,{i18n:{t:i}}=Ve.useI18n(),a=Ve.usePluginMetaData(),{setFieldType:l}=Ve.usePluginHelpers(),{getPropValue:s}=se.useHelpers(),c=t.computed(()=>{var b;return(b=Re.item[r.config.app])==null?void 0:b[r.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,r.scopedEntityType).replace(/{entityId}/gi,r.scopedEntityId).concat(r.expandPartial?"?expand_partials=true":"")}),d=t.computed(()=>{var N,E;const b={},v=((N=y.value)==null?void 0:N.fields)||[];for(let T=0;T<v.length;T++){const P=y.value.fields[T],D=(E=Object.keys(P))==null?void 0:E[0];l(b,D,P[D])}return{...b,instance_name:{section:se.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:i("plugins.fields.consumer"),section:se.ConfigurationSchemaSection.Basic,order:6},route:{label:i("plugins.fields.route"),section:se.ConfigurationSchemaSection.Basic,order:6},service:{label:i("plugins.fields.service"),section:se.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:i("plugins.fields.consumer_group"),section:se.ConfigurationSchemaSection.Basic,order:6},protocols:{type:se.ConfigurationSchemaType.BadgeTag,section:se.ConfigurationSchemaSection.Basic,order:7}}}),f=t.computed(()=>{var v,N,E;if(!((v=y.value)!=null&&v.fields))return[];const b=(N=y.value.fields)==null?void 0:N.find(T=>{var D;return((D=Object.keys(T))==null?void 0:D[0])===Ll});return((E=b==null?void 0:b[Ll])==null?void 0:E.fields)||[]}),u=t.computed(()=>{var v,N;const b={};if(!f.value)return b;for(let E=0;E<((v=f.value)==null?void 0:v.length);E++){const T=f.value[E],P=(N=Object.keys(T))==null?void 0:N[0],D=T[P];D.required&&(b[P]={order:1}),l(b,P,D)}return b}),{getMessageFromError:p}=se.useErrors(),{axiosInstance:m}=se.useAxios((w=r.config)==null?void 0:w.axiosRequestConfig),h=t.computed(()=>{var v,N;let b=`${r.config.apiBaseUrl}${Re.form[r.config.app].pluginSchema}`;return r.config.app==="konnect"?b=b.replace(/{controlPlaneId}/gi,((v=r.config)==null?void 0:v.controlPlaneId)||""):r.config.app==="kongManager"&&(b=b.replace(/\/{workspace}/gi,(N=r.config)!=null&&N.workspace?`/${r.config.workspace}`:"")),b=b.replace(/{plugin}/gi,r.config.pluginType),b}),y=t.ref({});se.useSchemaProvider(y);const g=t.ref(!1),_=t.ref("");return t.onBeforeMount(async()=>{g.value=!0;try{const{data:b}=await m.get(h.value);y.value=b}catch(b){_.value=p(b),o("error:fetch-schema",b)}finally{g.value=!1}}),(b,v)=>{const N=t.resolveComponent("KSkeleton"),E=t.resolveComponent("KEmptyState"),T=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",mR,[g.value?(t.openBlock(),t.createBlock(N,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):_.value?(t.openBlock(),t.createBlock(E,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(_.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(se.EntityBaseConfigCard),{key:2,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":d.value,"entity-type":t.unref(se.SupportedEntityType).Plugin,"fetch-url":c.value,"hide-title":e.hideTitle,"plugin-config-key":Ll,"plugin-config-schema":u.value,"onFetch:error":v[0]||(v[0]=P=>b.$emit("fetch:error",P)),"onFetch:success":v[1]||(v[1]=P=>b.$emit("fetch:success",P)),onLoading:v[2]||(v[2]=P=>b.$emit("loading",P))},{name:t.withCtx(P=>[t.createElementVNode("div",gR,[t.createVNode(t.unref(to.PluginIcon),{class:"plugin-icon",name:t.unref(s)("rowValue",P),size:24},null,8,["name"]),t.createElementVNode("span",hR,t.toDisplayString(t.unref(a).getDisplayName(t.unref(s)("rowValue",P))),1)])]),consumer:t.withCtx(P=>[t.unref(s)("rowValue",P)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(se.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",P).id,value:t.unref(s)("rowValue",P).id,type:t.unref(se.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",t.unref(s)("rowValue",P).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(T,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",P).label}),"data-testid":"consumer-copy-uuid",text:t.unref(s)("rowValue",P).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",yR,"–"))]),route:t.withCtx(P=>[t.unref(s)("rowValue",P)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(se.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",P).id,value:t.unref(s)("rowValue",P).id,type:t.unref(se.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",t.unref(s)("rowValue",P).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(T,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",P).label}),"data-testid":"route-copy-uuid",text:t.unref(s)("rowValue",P).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",_R,"–"))]),service:t.withCtx(P=>[t.unref(s)("rowValue",P)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(se.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",P).id,value:t.unref(s)("rowValue",P).id,type:t.unref(se.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",t.unref(s)("rowValue",P).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(T,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",P).label}),"data-testid":"service-copy-uuid",text:t.unref(s)("rowValue",P).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",bR,"–"))]),consumer_group:t.withCtx(P=>[t.unref(s)("rowValue",P)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(se.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",P).id,value:t.unref(s)("rowValue",P).id,type:t.unref(se.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",t.unref(s)("rowValue",P).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(T,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",P).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(s)("rowValue",P).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",wR,"–"))]),partials:t.withCtx(P=>{var D,K,j,A,W,I,U,M,ee;return[t.unref(s)("rowValue",P)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(se.InternalLinkItem),{key:1,item:{key:(K=(D=t.unref(s)("rowValue",P))==null?void 0:D[0])==null?void 0:K.id,value:((A=(j=t.unref(s)("rowValue",P))==null?void 0:j[0])==null?void 0:A.id)+((I=(W=t.unref(s)("rowValue",P))==null?void 0:W[0])!=null&&I.name?"/"+((M=(U=t.unref(s)("rowValue",P))==null?void 0:U[0])==null?void 0:M.name):""),type:t.unref(se.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>{var H,G;return b.$emit("navigation-click",(G=(H=t.unref(s)("rowValue",P))==null?void 0:H[0])==null?void 0:G.id,"partial")}},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(T,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",P).label}),"data-testid":"partial-copy-uuid",text:(ee=t.unref(s)("rowValue",P))==null?void 0:ee[0].id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",ER,"–"))]}),_:1},8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-53806ec8"]]),{usePluginMetaData:CR,useProvideExperimentalFreeForms:NR}=Ve;Object.defineProperty(_e,"PluginGroup",{enumerable:!0,get:()=>z.PluginGroup}),Object.defineProperty(_e,"PluginScope",{enumerable:!0,get:()=>z.PluginScope}),Object.defineProperty(_e,"PluginIcon",{enumerable:!0,get:()=>to.PluginIcon}),Object.defineProperty(_e,"getPluginIconURL",{enumerable:!0,get:()=>to.getPluginIconURL}),_e.EXPERIMENTAL_FREE_FORM_PROVIDER=Qi,_e.EntityTypeIdField=Qt,_e.FEATURE_FLAGS=cc,_e.PLUGIN_GROUPS_COLLAPSE_STATUS=Kl,_e.PluginConfigCard=kR,_e.PluginForm=TV,_e.PluginGroupArray=Ul,_e.PluginList=UV,_e.PluginPartialType=er,_e.PluginSelect=pR,_e.PluginSelectCard=Vl,_e.PluginSelectGrid=Dl,_e.TOASTER_PROVIDER=dc,_e.pluginEndpoints=Re,_e.usePluginMetaData=CR,_e.useProvideExperimentalFreeForms=NR,Object.defineProperty(_e,Symbol.toStringTag,{value:"Module"})});
144
+ 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 He extends Error{constructor(n,...o){var r;super((r=mf[n])==null?void 0:r.call(mf,...o)),this.name="VueFlowError",this.code=n,this.args=o}}function sl(e){return"clientX"in e}function lx(e){return"sourceEvent"in e}function It(e,n){const o=sl(e);let r,i;return o?(r=e.clientX,i=e.clientY):"touches"in e&&e.touches.length>0?(r=e.touches[0].clientX,i=e.touches[0].clientY):"changedTouches"in e&&e.changedTouches.length>0?(r=e.changedTouches[0].clientX,i=e.changedTouches[0].clientY):(r=0,i=0),{x:r-((n==null?void 0:n.left)??0),y:i-((n==null?void 0:n.top)??0)}}const ni=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function sx(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 oi(e,n=[1,1]){return{x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}}const cx=()=>!0;function cl(e){e==null||e.classList.remove("valid","connecting","vue-flow__handle-valid","vue-flow__handle-connecting")}function dx(e,n,o){const r=[],i={x:e.x-o,y:e.y-o,width:o*2,height:o*2};for(const a of n.values())Qr(i,Jr(a))>0&&r.push(a);return r}const ux=250;function fx(e,n,o,r){var i,a;let l=[],s=Number.POSITIVE_INFINITY;const c=dx(e,o,n+ux);for(const d of c){const f=[...((i=d.handleBounds)==null?void 0:i.source)??[],...((a=d.handleBounds)==null?void 0:a.target)??[]];for(const u of f){if(r.nodeId===u.nodeId&&r.type===u.type&&r.id===u.id)continue;const{x:p,y:m}=Yn(d,u,u.position,!0),h=Math.sqrt((p-e.x)**2+(m-e.y)**2);h>n||(h<s?(l=[{...u,x:p,y:m}],s=h):h===s&&l.push({...u,x:p,y:m}))}}if(!l.length)return null;if(l.length>1){const d=r.type==="source"?"target":"source";return l.find(f=>f.type===d)??l[0]}return l[0]}function gf(e,{handle:n,connectionMode:o,fromNodeId:r,fromHandleId:i,fromType:a,doc:l,lib:s,flowId:c,isValidConnection:d=cx},f,u,p){const m=a==="target",h=n?l.querySelector(`.${s}-flow__handle[data-id="${c}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:y,y:g}=It(e),_=l.elementFromPoint(y,g),w=_!=null&&_.classList.contains(`${s}-flow__handle`)?_:h,b={handleDomNode:w,isValid:!1,connection:null,toHandle:null};if(w){const v=hf(void 0,w),N=w.getAttribute("data-nodeid"),E=w.getAttribute("data-handleid"),T=w.classList.contains("connectable"),P=w.classList.contains("connectableend");if(!N||!v)return b;const D={source:m?N:r,sourceHandle:m?E:i,target:m?r:N,targetHandle:m?i:E};b.connection=D;const j=T&&P&&(o===Ht.Strict?m&&v==="source"||!m&&v==="target":N!==r||E!==i);b.isValid=j&&d(D,{nodes:u,edges:f,sourceNode:p(r),targetNode:p(N)}),b.toHandle=n}return b}function hf(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function px(e,n){let o=null;return n?o="valid":e&&!n&&(o="invalid"),o}function mx(e,n){let o=null;return n?o=!0:e&&!n&&(o=!1),o}function gx(e,n,o,r,i,a=!1){var l,s,c;const d=r.get(e);if(!d)return null;const f=i===Ht.Strict?(l=d.handleBounds)==null?void 0:l[n]:[...((s=d.handleBounds)==null?void 0:s.source)??[],...((c=d.handleBounds)==null?void 0:c.target)??[]],u=(o?f==null?void 0:f.find(p=>p.id===o):f==null?void 0:f[0])??null;return u&&a?{...u,...Yn(d,u,u.position,!0)}:u}const dl={[ye.Left]:ye.Right,[ye.Right]:ye.Left,[ye.Top]:ye.Bottom,[ye.Bottom]:ye.Top},hx=["production","prod"];function ri(e,...n){yf()&&console.warn(`[Vue Flow]: ${e}`,...n)}function yf(){return!hx.includes(process.env.NODE_ENV||"")}function _f(e,n,o,r,i){const a=n.querySelectorAll(`.vue-flow__handle.${e}`);return a!=null&&a.length?Array.from(a).map(l=>{const s=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),type:e,nodeId:i,position:l.getAttribute("data-handlepos"),x:(s.left-o.left)/r,y:(s.top-o.top)/r,...ei(l)}}):null}function ul(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 Ke(e){return typeof t.unref(e)<"u"}function yx(e,n,o,r){if(!e||!e.source||!e.target)return o(new He(Ue.EDGE_INVALID,(e==null?void 0:e.id)??"[ID UNKNOWN]")),!1;let i;return Yt(e)?i=e:i={...e,id:Zu(e)},i=Wu(i,void 0,r),ZS(i,n)?!1:i}function _x(e,n,o,r,i){if(!n.source||!n.target)return i(new He(Ue.EDGE_INVALID,e.id)),!1;if(!o)return i(new He(Ue.EDGE_NOT_FOUND,e.id)),!1;const{id:a,...l}=e;return{...l,id:r?Zu(n):a,source:n.source,target:n.target,sourceHandle:n.sourceHandle,targetHandle:n.targetHandle}}function bf(e,n,o){const r={},i=[];for(let a=0;a<e.length;++a){const l=e[a];if(!yn(l)){o(new He(Ue.NODE_INVALID,l==null?void 0:l.id)||`[ID UNKNOWN|INDEX ${a}]`);continue}const s=YS(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 He(Ue.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 wf(e,n,o,r,i,a){let l=i;const s=r.get(l)||new Map;r.set(l,s.set(o,n)),l=`${i}-${e}`;const c=r.get(l)||new Map;if(r.set(l,c.set(o,n)),a){l=`${i}-${e}-${a}`;const d=r.get(l)||new Map;r.set(l,d.set(o,n))}}function fl(e,n,o){e.clear();for(const r of o){const{source:i,target:a,sourceHandle:l=null,targetHandle:s=null}=r,c={edgeId:r.id,source:i,target:a,sourceHandle:l,targetHandle:s},d=`${i}-${l}--${a}-${s}`,f=`${a}-${s}--${i}-${l}`;wf("source",c,f,e,i,l),wf("target",c,d,e,a,s)}}function Ef(e,n){if(e.size!==n.size)return!1;for(const o of e)if(!n.has(o))return!1;return!0}function pl(e,n,o,r,i,a,l,s){const c=[];for(const d of e){const f=Yt(d)?d:yx(d,s,i,a);if(!f)continue;const u=o(f.source),p=o(f.target);if(!u||!p){i(new He(Ue.EDGE_SOURCE_TARGET_MISSING,f.id,f.source,f.target));continue}if(!u){i(new He(Ue.EDGE_SOURCE_MISSING,f.id,f.source));continue}if(!p){i(new He(Ue.EDGE_TARGET_MISSING,f.id,f.target));continue}if(n&&!n(f,{edges:s,nodes:l,sourceNode:u,targetNode:p})){i(new He(Ue.EDGE_INVALID,f.id));continue}const m=r(f.id);c.push({...Wu(f,m,a),sourceNode:u,targetNode:p})}return c}const kf=Symbol("vueFlow"),Cf=Symbol("nodeId"),Nf=Symbol("nodeRef"),bx=Symbol("edgeId"),wx=Symbol("edgeRef"),ii=Symbol("slots");function vf(e){const{vueFlowRef:n,snapToGrid:o,snapGrid:r,noDragClassName:i,nodes:a,nodeExtent:l,nodeDragThreshold:s,viewport:c,autoPanOnNodeDrag:d,autoPanSpeed:f,nodesDraggable:u,panBy:p,findNode:m,multiSelectionActive:h,nodesSelectionActive:y,selectNodesOnDrag:g,removeSelectedElements:_,addSelectedNodes:w,updateNodePositions:b,emits:v}=Ie(),{onStart:N,onDrag:E,onStop:T,onClick:P,el:D,disabled:K,id:j,selectable:A,dragHandle:W}=e,I=t.shallowRef(!1);let U=[],M,ee=null,H={x:void 0,y:void 0},G={x:0,y:0},V=null,B=!1,Z=0,re=!1;const Y=Cx(),ie=({x:q,y:Q})=>{H={x:q,y:Q};let $=!1;if(U=U.map(k=>{const C={x:q-k.distance.x,y:Q-k.distance.y},{computedPosition:x}=ll(k,o.value?oi(C,r.value):C,v.error,l.value,k.parentNode?m(k.parentNode):void 0);return $=$||k.position.x!==x.x||k.position.y!==x.y,k.position=x,k}),!!$&&(b(U,!0,!0),I.value=!0,V)){const[k,C]=al({id:j,dragItems:U,findNode:m});E({event:V,node:k,nodes:C})}},ae=()=>{if(!ee)return;const[q,Q]=af(G,ee,f.value);if(q!==0||Q!==0){const $={x:(H.x??0)-q/c.value.zoom,y:(H.y??0)-Q/c.value.zoom};p({x:q,y:Q})&&ie($)}Z=requestAnimationFrame(ae)},ge=(q,Q)=>{B=!0;const $=m(j);!g.value&&!h.value&&$&&($.selected||_()),$&&t.toValue(A)&&g.value&&ul($,h.value,w,_,y,!1,Q);const k=Y(q.sourceEvent);if(H=k,U=tx(a.value,u.value,k,m,j),U.length){const[C,x]=al({id:j,dragItems:U,findNode:m});N({event:q.sourceEvent,node:C,nodes:x})}},me=(q,Q)=>{var $;q.sourceEvent.type==="touchmove"&&q.sourceEvent.touches.length>1||(s.value===0&&ge(q,Q),H=Y(q.sourceEvent),ee=(($=n.value)==null?void 0:$.getBoundingClientRect())||null,G=It(q.sourceEvent,ee))},te=(q,Q)=>{const $=Y(q.sourceEvent);if(!re&&B&&d.value&&(re=!0,ae()),!B){const k=$.xSnapped-(H.x??0),C=$.ySnapped-(H.y??0);Math.sqrt(k*k+C*C)>s.value&&ge(q,Q)}(H.x!==$.xSnapped||H.y!==$.ySnapped)&&U.length&&B&&(V=q.sourceEvent,G=It(q.sourceEvent,ee),ie($))},ne=q=>{let Q=!1;if(!B&&!I.value&&!h.value){const $=q.sourceEvent,k=Y($),C=k.xSnapped-(H.x??0),x=k.ySnapped-(H.y??0),S=Math.sqrt(C*C+x*x);S!==0&&S<=s.value&&(P==null||P($),Q=!0)}if(U.length&&!Q){b(U,!1,!1);const[$,k]=al({id:j,dragItems:U,findNode:m});T({event:q.sourceEvent,node:$,nodes:k})}U=[],I.value=!1,re=!1,B=!1,H={x:void 0,y:void 0},cancelAnimationFrame(Z)};return t.watch([()=>t.toValue(K),D],([q,Q],$,k)=>{if(Q){const C=yt(Q);q||(M=HN().on("start",x=>me(x,Q)).on("drag",x=>te(x,Q)).on("end",x=>ne(x)).filter(x=>{const S=x.target,O=t.toValue(W);return!x.button&&(!i.value||!uf(S,`.${i.value}`,Q)&&(!O||uf(S,O,Q)))}),C.call(M)),k(()=>{C.on(".drag",null),M&&(M.on("start",null),M.on("drag",null),M.on("end",null))})}}),I}function Ex(){return{doubleClick:he(),click:he(),mouseEnter:he(),mouseMove:he(),mouseLeave:he(),contextMenu:he(),updateStart:he(),update:he(),updateEnd:he()}}function kx(e,n){const o=Ex();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 Cx(){const{viewport:e,snapGrid:n,snapToGrid:o,vueFlowRef:r}=Ie();return i=>{var a;const l=((a=r.value)==null?void 0:a.getBoundingClientRect())??{left:0,top:0},s=lx(i)?i.sourceEvent:i,{x:c,y:d}=It(s,l),f=Ro({x:c,y:d},e.value),{x:u,y:p}=o.value?oi(f,n.value):f;return{xSnapped:u,ySnapped:p,...f}}}function ai(){return!0}function Sf({handleId:e,nodeId:n,type:o,isValidConnection:r,edgeUpdaterType:i,onEdgeUpdate:a,onEdgeUpdateEnd:l}){const{id:s,vueFlowRef:c,connectionMode:d,connectionRadius:f,connectOnClick:u,connectionClickStartHandle:p,nodesConnectable:m,autoPanOnConnect:h,autoPanSpeed:y,findNode:g,panBy:_,startConnection:w,updateConnection:b,endConnection:v,emits:N,viewport:E,edges:T,nodes:P,isValidConnection:D,nodeLookup:K}=Ie();let j=null,A=!1,W=null;function I(M){var ee;const H=t.toValue(o)==="target",G=sl(M),V=Yu(M.target);if(G&&M.button===0||!G){let B=function(X){k=It(X,q),ie=fx(Ro(k,E.value,!1,[1,1]),f.value,K.value,S),C||(x(),C=!0);const L=gf(X,{handle:ie,connectionMode:d.value,fromNodeId:t.toValue(n),fromHandleId:t.toValue(e),fromType:H?"target":"source",isValidConnection:Y,doc:V,lib:"vue",flowId:s,nodeLookup:K.value},T.value,P.value,g);W=L.handleDomNode,j=L.connection,A=mx(!!ie,L.isValid);const ue={...R,isValid:A,to:L.toHandle&&A?rl({x:L.toHandle.x,y:L.toHandle.y},E.value):k,toHandle:L.toHandle,toPosition:A&&L.toHandle?L.toHandle.position:dl[S.position],toNode:L.toHandle?K.value.get(L.toHandle.nodeId):null};if(!(A&&ie&&(R!=null&&R.toHandle)&&ue.toHandle&&R.toHandle.type===ue.toHandle.type&&R.toHandle.nodeId===ue.toHandle.nodeId&&R.toHandle.id===ue.toHandle.id&&R.to.x===ue.to.x&&R.to.y===ue.to.y)){if(b(ie&&A?rl({x:ie.x,y:ie.y},E.value):k,L.toHandle,px(!!ie,A)),R=ue,!ie&&!A&&!W)return cl($);j&&j.source!==j.target&&W&&(cl($),$=W,W.classList.add("connecting","vue-flow__handle-connecting"),W.classList.toggle("valid",!!A),W.classList.toggle("vue-flow__handle-valid",!!A))}},Z=function(X){(ie||W)&&j&&A&&(a?a(X,j):N.connect(j)),N.connectEnd(X),i&&(l==null||l(X)),cl($),cancelAnimationFrame(ae),v(X),C=!1,A=!1,j=null,W=null,V.removeEventListener("mousemove",B),V.removeEventListener("mouseup",Z),V.removeEventListener("touchmove",B),V.removeEventListener("touchend",Z)};const re=g(t.toValue(n));let Y=t.toValue(r)||D.value||ai;!Y&&re&&(Y=(H?re.isValidSourcePos:re.isValidTargetPos)||ai);let ie,ae=0;const{x:ge,y:me}=It(M),te=V==null?void 0:V.elementFromPoint(ge,me),ne=hf(t.toValue(i),te),q=(ee=c.value)==null?void 0:ee.getBoundingClientRect();if(!q||!ne)return;const Q=gx(t.toValue(n),ne,t.toValue(e),K.value,d.value);if(!Q)return;let $,k=It(M,q),C=!1;const x=()=>{if(!h.value)return;const[X,L]=af(k,q,y.value);_({x:X,y:L}),ae=requestAnimationFrame(x)},S={...Q,nodeId:t.toValue(n),type:ne,position:Q.position},O=K.value.get(t.toValue(n)),J={inProgress:!0,isValid:null,from:Yn(O,S,ye.Left,!0),fromHandle:S,fromPosition:S.position,fromNode:O,to:k,toHandle:null,toPosition:dl[S.position],toNode:null};w({nodeId:t.toValue(n),id:t.toValue(e),type:ne,position:(te==null?void 0:te.getAttribute("data-handlepos"))||ye.Top,...k},{x:ge-q.left,y:me-q.top}),N.connectStart({event:M,nodeId:t.toValue(n),handleId:t.toValue(e),handleType:ne});let R=J;V.addEventListener("mousemove",B),V.addEventListener("mouseup",Z),V.addEventListener("touchmove",B),V.addEventListener("touchend",Z)}}function U(M){var ee,H;if(!u.value)return;const G=t.toValue(o)==="target";if(!p.value){N.clickConnectStart({event:M,nodeId:t.toValue(n),handleId:t.toValue(e)}),w({nodeId:t.toValue(n),type:t.toValue(o),id:t.toValue(e),position:ye.Top,...It(M)},void 0,!0);return}let V=t.toValue(r)||D.value||ai;const B=g(t.toValue(n));if(!V&&B&&(V=(G?B.isValidSourcePos:B.isValidTargetPos)||ai),B&&(typeof B.connectable>"u"?m.value:B.connectable)===!1)return;const Z=Yu(M.target),re=gf(M,{handle:{nodeId:t.toValue(n),id:t.toValue(e),type:t.toValue(o),position:ye.Top,...It(M)},connectionMode:d.value,fromNodeId:p.value.nodeId,fromHandleId:p.value.id??null,fromType:p.value.type,isValidConnection:V,doc:Z,lib:"vue",flowId:s,nodeLookup:K.value},T.value,P.value,g),Y=((ee=re.connection)==null?void 0:ee.source)===((H=re.connection)==null?void 0:H.target);re.isValid&&re.connection&&!Y&&N.connect(re.connection),N.clickConnectEnd(M),v(M,!0)}return{handlePointerDown:I,handleClick:U}}function Nx(){return t.inject(Cf,"")}function xf(e){const n=e??Nx()??"",o=t.inject(Nf,t.ref(null)),{findNode:r,edges:i,emits:a}=Ie(),l=r(n);return l||a.error(new He(Ue.NODE_NOT_FOUND,n)),{id:n,nodeEl:o,node:l,parentNode:t.computed(()=>r(l.parentNode)),connectedEdges:t.computed(()=>tf([l],i.value))}}function vx(){return{doubleClick:he(),click:he(),mouseEnter:he(),mouseMove:he(),mouseLeave:he(),contextMenu:he(),dragStart:he(),drag:he(),dragStop:he()}}function Sx(e,n){const o=vx();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 Af(){const{getSelectedNodes:e,nodeExtent:n,updateNodePositions:o,findNode:r,snapGrid:i,snapToGrid:a,nodesDraggable:l,emits:s}=Ie();return(c,d=!1)=>{const f=a.value?i.value[0]:5,u=a.value?i.value[1]:5,p=d?4:1,m=c.x*f*p,h=c.y*u*p,y=[];for(const g of e.value)if(g.draggable||l&&typeof g.draggable>"u"){const _={x:g.computedPosition.x+m,y:g.computedPosition.y+h},{computedPosition:w}=ll(g,_,s.error,n.value,g.parentNode?r(g.parentNode):void 0);y.push({id:g.id,position:w,from:g.position,distance:{x:c.x,y:c.y},dimensions:g.dimensions})}o(y,!0,!1)}}const ml=.1,xx=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2;function Zt(){return ri("Viewport not initialized yet."),Promise.resolve(!1)}const Ax={zoomIn:Zt,zoomOut:Zt,zoomTo:Zt,fitView:Zt,setCenter:Zt,fitBounds:Zt,project:e=>e,screenToFlowCoordinate:e=>e,flowToScreenCoordinate:e=>e,setViewport:Zt,setTransform:Zt,getViewport:()=>({x:0,y:0,zoom:1}),getTransform:()=>({x:0,y:0,zoom:1}),viewportInitialized:!1};function Ix(e){function n(r,i){return new Promise(a=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate((i==null?void 0:i.interpolate)==="linear"?xo:Ur).scaleBy(gl(e.d3Selection,i==null?void 0:i.duration,i==null?void 0:i.ease,()=>{a(!0)}),r):a(!1)})}function o(r,i,a,l){return new Promise(s=>{var c;const{x:d,y:f}=Hu({x:-r,y:-i},e.translateExtent),u=zn.translate(-d,-f).scale(a);e.d3Selection&&e.d3Zoom?(c=e.d3Zoom)==null||c.interpolate((l==null?void 0:l.interpolate)==="linear"?xo:Ur).transform(gl(e.d3Selection,l==null?void 0:l.duration,l==null?void 0:l.ease,()=>{s(!0)}),u):s(!1)})}return t.computed(()=>e.d3Zoom&&e.d3Selection&&e.dimensions.width&&e.dimensions.height?{viewportInitialized:!0,zoomIn:i=>n(1.2,i),zoomOut:i=>n(1/1.2,i),zoomTo:(i,a)=>new Promise(l=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate((a==null?void 0:a.interpolate)==="linear"?xo:Ur).scaleTo(gl(e.d3Selection,a==null?void 0:a.duration,a==null?void 0:a.ease,()=>{l(!0)}),i):l(!1)}),setViewport:(i,a)=>o(i.x,i.y,i.zoom,a),setTransform:(i,a)=>o(i.x,i.y,i.zoom,a),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:ml,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=Qu(s),{x:d,y:f,zoom:u}=nf(c,e.dimensions.width,e.dimensions.height,i.minZoom??e.minZoom,i.maxZoom??e.maxZoom,i.padding??ml,i.offset);return o(d,f,u,i)},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,d=e.dimensions.height/2-a*s;return o(c,d,s,l)},fitBounds:(i,a={padding:ml})=>{const{x:l,y:s,zoom:c}=nf(i,e.dimensions.width,e.dimensions.height,e.minZoom,e.maxZoom,a.padding);return o(l,s,c,a)},project:i=>Ro(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 Ro(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 rl(s,e.viewport)}return{x:0,y:0}}}:Ax)}function gl(e,n=0,o=xx,r=()=>{}){const i=typeof n=="number"&&n>0;return i||r(),i?e.transition().duration(n).ease(o).on("end",r):e}function Px(e,n,o){const r=t.effectScope(!0);return r.run(()=>{const i=()=>{r.run(()=>{let y,g,_=!!(o.nodes.value.length||o.edges.value.length);y=Un([e.modelValue,()=>{var w,b;return(b=(w=e.modelValue)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(g==null||g.pause(),o.setElements(w),!g&&!_&&w.length?_=!0:g==null||g.resume())}),g=Un([o.nodes,o.edges,()=>o.edges.value.length,()=>o.nodes.value.length],([w,b])=>{var v;(v=e.modelValue)!=null&&v.value&&Array.isArray(e.modelValue.value)&&(y==null||y.pause(),e.modelValue.value=[...w,...b],t.nextTick(()=>{y==null||y.resume()}))},{immediate:_}),t.onScopeDispose(()=>{y==null||y.stop(),g==null||g.stop()})})},a=()=>{r.run(()=>{let y,g,_=!!o.nodes.value.length;y=Un([e.nodes,()=>{var w,b;return(b=(w=e.nodes)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(g==null||g.pause(),o.setNodes(w),!g&&!_&&w.length?_=!0:g==null||g.resume())}),g=Un([o.nodes,()=>o.nodes.value.length],([w])=>{var b;(b=e.nodes)!=null&&b.value&&Array.isArray(e.nodes.value)&&(y==null||y.pause(),e.nodes.value=[...w],t.nextTick(()=>{y==null||y.resume()}))},{immediate:_}),t.onScopeDispose(()=>{y==null||y.stop(),g==null||g.stop()})})},l=()=>{r.run(()=>{let y,g,_=!!o.edges.value.length;y=Un([e.edges,()=>{var w,b;return(b=(w=e.edges)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(g==null||g.pause(),o.setEdges(w),!g&&!_&&w.length?_=!0:g==null||g.resume())}),g=Un([o.edges,()=>o.edges.value.length],([w])=>{var b;(b=e.edges)!=null&&b.value&&Array.isArray(e.edges.value)&&(y==null||y.pause(),e.edges.value=[...w],t.nextTick(()=>{y==null||y.resume()}))},{immediate:_}),t.onScopeDispose(()=>{y==null||y.stop(),g==null||g.stop()})})},s=()=>{r.run(()=>{t.watch(()=>n.maxZoom,()=>{n.maxZoom&&Ke(n.maxZoom)&&o.setMaxZoom(n.maxZoom)},{immediate:!0})})},c=()=>{r.run(()=>{t.watch(()=>n.minZoom,()=>{n.minZoom&&Ke(n.minZoom)&&o.setMinZoom(n.minZoom)},{immediate:!0})})},d=()=>{r.run(()=>{t.watch(()=>n.translateExtent,()=>{n.translateExtent&&Ke(n.translateExtent)&&o.setTranslateExtent(n.translateExtent)},{immediate:!0})})},f=()=>{r.run(()=>{t.watch(()=>n.nodeExtent,()=>{n.nodeExtent&&Ke(n.nodeExtent)&&o.setNodeExtent(n.nodeExtent)},{immediate:!0})})},u=()=>{r.run(()=>{t.watch(()=>n.applyDefault,()=>{Ke(n.applyDefault)&&(o.applyDefault.value=n.applyDefault)},{immediate:!0})})},p=()=>{r.run(()=>{const y=async g=>{let _=g;typeof n.autoConnect=="function"&&(_=await n.autoConnect(g)),_!==!1&&o.addEdges([_])};t.watch(()=>n.autoConnect,()=>{Ke(n.autoConnect)&&(o.autoConnect.value=n.autoConnect)},{immediate:!0}),t.watch(o.autoConnect,(g,_,w)=>{g?o.onConnect(y):o.hooks.value.connect.off(y),w(()=>{o.hooks.value.connect.off(y)})},{immediate:!0})})},m=()=>{const y=["id","modelValue","translateExtent","nodeExtent","edges","nodes","maxZoom","minZoom","applyDefault","autoConnect"];for(const g of Object.keys(n)){const _=g;if(!y.includes(_)){const w=t.toRef(()=>n[_]),b=o[_];t.isRef(b)&&r.run(()=>{t.watch(w,v=>{Ke(v)&&(b.value=v)},{immediate:!0})})}}};(()=>{i(),a(),l(),c(),s(),d(),f(),u(),p(),m()})()}),()=>r.stop()}function Tx(){return{edgesChange:he(),nodesChange:he(),nodeDoubleClick:he(),nodeClick:he(),nodeMouseEnter:he(),nodeMouseMove:he(),nodeMouseLeave:he(),nodeContextMenu:he(),nodeDragStart:he(),nodeDrag:he(),nodeDragStop:he(),nodesInitialized:he(),miniMapNodeClick:he(),miniMapNodeDoubleClick:he(),miniMapNodeMouseEnter:he(),miniMapNodeMouseMove:he(),miniMapNodeMouseLeave:he(),connect:he(),connectStart:he(),connectEnd:he(),clickConnectStart:he(),clickConnectEnd:he(),paneReady:he(),init:he(),move:he(),moveStart:he(),moveEnd:he(),selectionDragStart:he(),selectionDrag:he(),selectionDragStop:he(),selectionContextMenu:he(),selectionStart:he(),selectionEnd:he(),viewportChangeStart:he(),viewportChange:he(),viewportChangeEnd:he(),paneScroll:he(),paneClick:he(),paneContextMenu:he(),paneMouseEnter:he(),paneMouseMove:he(),paneMouseLeave:he(),edgeContextMenu:he(),edgeMouseEnter:he(),edgeMouseMove:he(),edgeMouseLeave:he(),edgeDoubleClick:he(),edgeClick:he(),edgeUpdateStart:he(),edgeUpdate:he(),edgeUpdateEnd:he(),updateNodeInternals:he(),error:he(e=>ri(e.message))}}function Ox(e,n){t.onBeforeMount(()=>{for(const[o,r]of Object.entries(n.value)){const i=a=>{e(o,a)};r.fns.add(i),Ir(()=>{r.off(i)})}})}function If(){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:nl.Full,paneDragging:!1,preventScrolling:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,panOnScroll:!1,panOnScrollSpeed:.5,panOnScrollMode:$o.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:gn.Bezier,style:{}},connectionMode:Ht.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:ni()?"Meta":"Control",zoomActivationKeyCode:ni()?"Meta":"Control",deleteKeyCode:"Backspace",panActivationKeyCode:"Space",hooks:Tx(),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 $x=["id","vueFlowRef","viewportRef","initialized","modelValue","nodes","edges","maxZoom","minZoom","translateExtent","hooks","defaultEdgeOptions"];function Bx(e,n,o){const r=Ix(e),i=k=>{const C=k??[];e.hooks.updateNodeInternals.trigger(C)},a=k=>XS(k,e.nodes,e.edges),l=k=>WS(k,e.nodes,e.edges),s=k=>tf(k,e.edges),c=({id:k,type:C,nodeId:x})=>{var S;return Array.from(((S=e.connectionLookup.get(`${x}-${C}-${k??null}`))==null?void 0:S.values())??[])},d=k=>{if(k)return n.value.get(k)},f=k=>{if(k)return o.value.get(k)},u=(k,C,x)=>{var S,O;const F=[];for(const J of k){const R={id:J.id,type:"position",dragging:x,from:J.from};if(C&&(R.position=J.position,J.parentNode)){const X=d(J.parentNode);R.position={x:R.position.x-(((S=X==null?void 0:X.computedPosition)==null?void 0:S.x)??0),y:R.position.y-(((O=X==null?void 0:X.computedPosition)==null?void 0:O.y)??0)}}F.push(R)}F!=null&&F.length&&e.hooks.nodesChange.trigger(F)},p=k=>{if(!e.vueFlowRef)return;const C=e.vueFlowRef.querySelector(".vue-flow__transformationpane");if(!C)return;const x=window.getComputedStyle(C),{m22:S}=new window.DOMMatrixReadOnly(x.transform),O=[];for(const F of k){const J=F,R=d(J.id);if(R){const X=ei(J.nodeElement);if(!!(X.width&&X.height&&(R.dimensions.width!==X.width||R.dimensions.height!==X.height||J.forceUpdate))){const ue=J.nodeElement.getBoundingClientRect();R.dimensions=X,R.handleBounds.source=_f("source",J.nodeElement,ue,S,R.id),R.handleBounds.target=_f("target",J.nodeElement,ue,S,R.id),O.push({id:R.id,type:"dimensions",dimensions:X})}}}!e.fitViewOnInitDone&&e.fitViewOnInit&&r.value.fitView().then(()=>{e.fitViewOnInitDone=!0}),O.length&&e.hooks.nodesChange.trigger(O)},m=(k,C)=>{const x=new Set,S=new Set;for(const J of k)yn(J)?x.add(J.id):Yt(J)&&S.add(J.id);const O=Xt(n.value,x,!0),F=Xt(o.value,S);if(e.multiSelectionActive){for(const J of x)O.push(Wt(J,C));for(const J of S)F.push(Wt(J,C))}O.length&&e.hooks.nodesChange.trigger(O),F.length&&e.hooks.edgesChange.trigger(F)},h=k=>{if(e.multiSelectionActive){const C=k.map(x=>Wt(x.id,!0));e.hooks.nodesChange.trigger(C);return}e.hooks.nodesChange.trigger(Xt(n.value,new Set(k.map(C=>C.id)),!0)),e.hooks.edgesChange.trigger(Xt(o.value))},y=k=>{if(e.multiSelectionActive){const C=k.map(x=>Wt(x.id,!0));e.hooks.edgesChange.trigger(C);return}e.hooks.edgesChange.trigger(Xt(o.value,new Set(k.map(C=>C.id)))),e.hooks.nodesChange.trigger(Xt(n.value,new Set,!0))},g=k=>{m(k,!0)},_=k=>{const x=(k||e.nodes).map(S=>(S.selected=!1,Wt(S.id,!1)));e.hooks.nodesChange.trigger(x)},w=k=>{const x=(k||e.edges).map(S=>(S.selected=!1,Wt(S.id,!1)));e.hooks.edgesChange.trigger(x)},b=k=>{if(!k||!k.length)return m([],!1);const C=k.reduce((x,S)=>{const O=Wt(S.id,!1);return yn(S)?x.nodes.push(O):x.edges.push(O),x},{nodes:[],edges:[]});C.nodes.length&&e.hooks.nodesChange.trigger(C.nodes),C.edges.length&&e.hooks.edgesChange.trigger(C.edges)},v=k=>{var C;(C=e.d3Zoom)==null||C.scaleExtent([k,e.maxZoom]),e.minZoom=k},N=k=>{var C;(C=e.d3Zoom)==null||C.scaleExtent([e.minZoom,k]),e.maxZoom=k},E=k=>{var C;(C=e.d3Zoom)==null||C.translateExtent(k),e.translateExtent=k},T=k=>{e.nodeExtent=k,i()},P=k=>{var C;(C=e.d3Zoom)==null||C.clickDistance(k)},D=k=>{e.nodesDraggable=k,e.nodesConnectable=k,e.elementsSelectable=k},K=k=>{const C=k instanceof Function?k(e.nodes):k;!e.initialized&&!C.length||(e.nodes=bf(C,d,e.hooks.error.trigger))},j=k=>{const C=k instanceof Function?k(e.edges):k;if(!e.initialized&&!C.length)return;const x=pl(C,e.isValidConnection,d,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);fl(e.connectionLookup,o.value,x),e.edges=x},A=k=>{const C=k instanceof Function?k([...e.nodes,...e.edges]):k;!e.initialized&&!C.length||(K(C.filter(yn)),j(C.filter(Yt)))},W=k=>{let C=k instanceof Function?k(e.nodes):k;C=Array.isArray(C)?C:[C];const x=bf(C,d,e.hooks.error.trigger),S=[];for(const O of x)S.push(sf(O));S.length&&e.hooks.nodesChange.trigger(S)},I=k=>{let C=k instanceof Function?k(e.edges):k;C=Array.isArray(C)?C:[C];const x=pl(C,e.isValidConnection,d,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges),S=[];for(const O of x)S.push(sf(O));S.length&&e.hooks.edgesChange.trigger(S)},U=(k,C=!0,x=!1)=>{const S=k instanceof Function?k(e.nodes):k,O=Array.isArray(S)?S:[S],F=[],J=[];function R(L){const ue=s(L);for(const le of ue)(!Ke(le.deletable)||le.deletable)&&J.push(df(le.id,le.source,le.target,le.sourceHandle,le.targetHandle))}function X(L){const ue=[];for(const le of e.nodes)le.parentNode===L&&ue.push(le);if(ue.length){for(const le of ue)F.push(cf(le.id));C&&R(ue);for(const le of ue)X(le.id)}}for(const L of O){const ue=typeof L=="string"?d(L):L;ue&&(Ke(ue.deletable)&&!ue.deletable||(F.push(cf(ue.id)),C&&R([ue]),x&&X(ue.id)))}J.length&&e.hooks.edgesChange.trigger(J),F.length&&e.hooks.nodesChange.trigger(F)},M=k=>{const C=k instanceof Function?k(e.edges):k,x=Array.isArray(C)?C:[C],S=[];for(const O of x){const F=typeof O=="string"?f(O):O;F&&(Ke(F.deletable)&&!F.deletable||S.push(df(typeof O=="string"?O:O.id,F.source,F.target,F.sourceHandle,F.targetHandle)))}e.hooks.edgesChange.trigger(S)},ee=(k,C,x=!0)=>{const S=f(k.id);if(!S)return!1;const O=e.edges.indexOf(S),F=_x(k,C,S,x,e.hooks.error.trigger);if(F){const[J]=pl([F],e.isValidConnection,d,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);return e.edges=e.edges.map((R,X)=>X===O?J:R),fl(e.connectionLookup,o.value,[J]),J}return!1},H=(k,C,x={replace:!1})=>{const S=f(k);if(!S)return;const O=typeof C=="function"?C(S):C;S.data=x.replace?O:{...S.data,...O}},G=k=>lf(k,e.nodes),V=k=>{const C=lf(k,e.edges);return fl(e.connectionLookup,o.value,C),C},B=(k,C,x={replace:!1})=>{const S=d(k);if(!S)return;const O=typeof C=="function"?C(S):C;x.replace?e.nodes.splice(e.nodes.indexOf(S),1,O):Object.assign(S,O)},Z=(k,C,x={replace:!1})=>{const S=d(k);if(!S)return;const O=typeof C=="function"?C(S):C;S.data=x.replace?O:{...S.data,...O}},re=(k,C,x=!1)=>{x?e.connectionClickStartHandle=k:e.connectionStartHandle=k,e.connectionEndHandle=null,e.connectionStatus=null,C&&(e.connectionPosition=C)},Y=(k,C=null,x=null)=>{e.connectionStartHandle&&(e.connectionPosition=k,e.connectionEndHandle=C,e.connectionStatus=x)},ie=(k,C)=>{e.connectionPosition={x:Number.NaN,y:Number.NaN},e.connectionEndHandle=null,e.connectionStatus=null,C?e.connectionClickStartHandle=null:e.connectionStartHandle=null},ae=k=>{const C=HS(k),x=C?null:Vo(k)?k:d(k.id);return!C&&!x?[null,null,C]:[C?k:Jr(x),x,C]},ge=(k,C=!0,x=e.nodes)=>{const[S,O,F]=ae(k);if(!S)return[];const J=[];for(const R of x||e.nodes){if(!F&&(R.id===O.id||!R.computedPosition))continue;const X=Jr(R),L=Qr(X,S);(C&&L>0||L>=Number(S.width)*Number(S.height))&&J.push(R)}return J},me=(k,C,x=!0)=>{const[S]=ae(k);if(!S)return!1;const O=Qr(S,C);return x&&O>0||O>=Number(S.width)*Number(S.height)},te=k=>{const{viewport:C,dimensions:x,d3Zoom:S,d3Selection:O,translateExtent:F}=e;if(!S||!O||!k.x&&!k.y)return!1;const J=zn.translate(C.x+k.x,C.y+k.y).scale(C.zoom),R=[[0,0],[x.width,x.height]],X=S.constrain()(J,R,F),L=e.viewport.x!==X.x||e.viewport.y!==X.y||e.viewport.zoom!==X.k;return S.transform(O,X),L},ne=k=>{const C=k instanceof Function?k(e):k,x=["d3Zoom","d3Selection","d3ZoomHandler","viewportRef","vueFlowRef","dimensions","hooks"];Ke(C.defaultEdgeOptions)&&(e.defaultEdgeOptions=C.defaultEdgeOptions);const S=C.modelValue||C.nodes||C.edges?[]:void 0;S&&(C.modelValue&&S.push(...C.modelValue),C.nodes&&S.push(...C.nodes),C.edges&&S.push(...C.edges),A(S));const O=()=>{Ke(C.maxZoom)&&N(C.maxZoom),Ke(C.minZoom)&&v(C.minZoom),Ke(C.translateExtent)&&E(C.translateExtent)};for(const F of Object.keys(C)){const J=F,R=C[J];![...$x,...x].includes(J)&&Ke(R)&&(e[J]=R)}Va(()=>e.d3Zoom).not.toBeNull().then(O),e.initialized||(e.initialized=!0)};return{updateNodePositions:u,updateNodeDimensions:p,setElements:A,setNodes:K,setEdges:j,addNodes:W,addEdges:I,removeNodes:U,removeEdges:M,findNode:d,findEdge:f,updateEdge:ee,updateEdgeData:H,updateNode:B,updateNodeData:Z,applyEdgeChanges:V,applyNodeChanges:G,addSelectedElements:g,addSelectedNodes:h,addSelectedEdges:y,setMinZoom:v,setMaxZoom:N,setTranslateExtent:E,setNodeExtent:T,setPaneClickDistance:P,removeSelectedElements:b,removeSelectedNodes:_,removeSelectedEdges:w,startConnection:re,updateConnection:Y,endConnection:ie,setInteractive:D,setState:ne,getIntersectingNodes:ge,getIncomers:a,getOutgoers:l,getConnectedEdges:s,getHandleConnections:c,isNodeIntersecting:me,panBy:te,fitView:k=>r.value.fitView(k),zoomIn:k=>r.value.zoomIn(k),zoomOut:k=>r.value.zoomOut(k),zoomTo:(k,C)=>r.value.zoomTo(k,C),setViewport:(k,C)=>r.value.setViewport(k,C),setTransform:(k,C)=>r.value.setTransform(k,C),getViewport:()=>r.value.getViewport(),getTransform:()=>r.value.getTransform(),setCenter:(k,C,x)=>r.value.setCenter(k,C,x),fitBounds:(k,C)=>r.value.fitBounds(k,C),project:k=>r.value.project(k),screenToFlowCoordinate:k=>r.value.screenToFlowCoordinate(k),flowToScreenCoordinate:k=>r.value.flowToScreenCoordinate(k),toObject:()=>{const k=[],C=[];for(const x of e.nodes){const{computedPosition:S,handleBounds:O,selected:F,dimensions:J,isParent:R,resizing:X,dragging:L,events:ue,...le}=x;k.push(le)}for(const x of e.edges){const{selected:S,sourceNode:O,targetNode:F,events:J,...R}=x;C.push(R)}return JSON.parse(JSON.stringify({nodes:k,edges:C,position:[e.viewport.x,e.viewport.y],zoom:e.viewport.zoom,viewport:e.viewport}))},fromObject:k=>new Promise(C=>{const{nodes:x,edges:S,position:O,zoom:F,viewport:J}=k;if(x&&K(x),S&&j(S),J!=null&&J.x&&(J!=null&&J.y)||O){const R=(J==null?void 0:J.x)||O[0],X=(J==null?void 0:J.y)||O[1],L=(J==null?void 0:J.zoom)||F||e.viewport.zoom;return Va(()=>r.value.viewportInitialized).toBe(!0).then(()=>{r.value.setViewport({x:R,y:X,zoom:L}).then(()=>{C(!0)})})}else C(!0)}),updateNodeInternals:i,viewportHelper:r,$reset:()=>{const k=If();if(e.edges=[],e.nodes=[],e.d3Zoom&&e.d3Selection){const C=zn.translate(k.defaultViewport.x??0,k.defaultViewport.y??0).scale(hn(k.defaultViewport.zoom??1,k.minZoom,k.maxZoom)),x=e.viewportRef.getBoundingClientRect(),S=[[0,0],[x.width,x.height]],O=e.d3Zoom.constrain()(C,S,k.translateExtent);e.d3Zoom.transform(e.d3Selection,O)}ne(k)},$destroy:()=>{}}}const Vx=["data-id","data-handleid","data-nodeid","data-handlepos"],Rx={name:"Handle",compatConfig:{MODE:3}},Jt=t.defineComponent({...Rx,props:{id:{default:null},type:{},position:{default:()=>ye.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),{id:a,connectionStartHandle:l,connectionClickStartHandle:s,connectionEndHandle:c,vueFlowRef:d,nodesConnectable:f,noDragClassName:u,noPanClassName:p}=Ie(),{id:m,node:h,nodeEl:y,connectedEdges:g}=xf(),_=t.ref(),w=t.toRef(()=>typeof e.connectableStart<"u"?e.connectableStart:!0),b=t.toRef(()=>typeof e.connectableEnd<"u"?e.connectableEnd:!0),v=t.toRef(()=>{var j,A,W,I,U,M;return((j=l.value)==null?void 0:j.nodeId)===m&&((A=l.value)==null?void 0:A.id)===e.id&&((W=l.value)==null?void 0:W.type)===r.value||((I=c.value)==null?void 0:I.nodeId)===m&&((U=c.value)==null?void 0:U.id)===e.id&&((M=c.value)==null?void 0:M.type)===r.value}),N=t.toRef(()=>{var j,A,W;return((j=s.value)==null?void 0:j.nodeId)===m&&((A=s.value)==null?void 0:A.id)===e.id&&((W=s.value)==null?void 0:W.type)===r.value}),{handlePointerDown:E,handleClick:T}=Sf({nodeId:m,handleId:e.id,isValidConnection:i,type:r}),P=t.computed(()=>typeof e.connectable=="string"&&e.connectable==="single"?!g.value.some(j=>{const A=j[`${r.value}Handle`];return j[r.value]!==m?!1:A?A===e.id:!0}):typeof e.connectable=="number"?g.value.filter(j=>{const A=j[`${r.value}Handle`];return j[r.value]!==m?!1:A?A===e.id:!0}).length<e.connectable:typeof e.connectable=="function"?e.connectable(h,g.value):Ke(e.connectable)?e.connectable:f.value);t.onMounted(()=>{var j;if(!h.dimensions.width||!h.dimensions.height)return;const A=(j=h.handleBounds[r.value])==null?void 0:j.find(G=>G.id===e.id);if(!d.value||A)return;const W=d.value.querySelector(".vue-flow__transformationpane");if(!y.value||!_.value||!W||!e.id)return;const I=y.value.getBoundingClientRect(),U=_.value.getBoundingClientRect(),M=window.getComputedStyle(W),{m22:ee}=new window.DOMMatrixReadOnly(M.transform),H={id:e.id,position:e.position,x:(U.left-I.left)/ee,y:(U.top-I.top)/ee,type:r.value,nodeId:m,...ei(_.value)};h.handleBounds[r.value]=[...h.handleBounds[r.value]??[],H]});function D(j){const A=sl(j);P.value&&w.value&&(A&&j.button===0||!A)&&E(j)}function K(j){!m||!s.value&&!w.value||P.value&&T(j)}return n({handleClick:T,handlePointerDown:E,onClick:K,onPointerDown:D}),(j,A)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"handle",ref:_,"data-id":`${t.unref(a)}-${t.unref(m)}-${e.id}-${r.value}`,"data-handleid":e.id,"data-nodeid":t.unref(m),"data-handlepos":j.position,class:t.normalizeClass(["vue-flow__handle",[`vue-flow__handle-${j.position}`,`vue-flow__handle-${e.id}`,t.unref(u),t.unref(p),r.value,{connectable:P.value,connecting:N.value,connectablestart:w.value,connectableend:b.value,connectionindicator:P.value&&(w.value&&!v.value||b.value&&v.value)}]]),onMousedown:D,onTouchstartPassive:D,onClick:K},[t.renderSlot(j.$slots,"default",{id:j.id})],42,Vx))}}),li=function({sourcePosition:e=ye.Bottom,targetPosition:n=ye.Top,label:o,connectable:r=!0,isValidTargetPos:i,isValidSourcePos:a,data:l}){const s=l.label??o;return[t.h(Jt,{type:"target",position:n,connectable:r,isValidConnection:i}),typeof s!="string"&&s?t.h(s):t.h(t.Fragment,[s]),t.h(Jt,{type:"source",position:e,connectable:r,isValidConnection:a})]};li.props=["sourcePosition","targetPosition","label","isValidTargetPos","isValidSourcePos","connectable","data"],li.inheritAttrs=!1,li.compatConfig={MODE:3};const Mx=li,si=function({targetPosition:e=ye.Top,label:n,connectable:o=!0,isValidTargetPos:r,data:i}){const a=i.label??n;return[t.h(Jt,{type:"target",position:e,connectable:o,isValidConnection:r}),typeof a!="string"&&a?t.h(a):t.h(t.Fragment,[a])]};si.props=["targetPosition","label","isValidTargetPos","connectable","data"],si.inheritAttrs=!1,si.compatConfig={MODE:3};const Dx=si,ci=function({sourcePosition:e=ye.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(Jt,{type:"source",position:e,connectable:o,isValidConnection:r})]};ci.props=["sourcePosition","label","isValidSourcePos","connectable","data"],ci.inheritAttrs=!1,ci.compatConfig={MODE:3};const Lx=ci,Fx=["transform"],Ux=["width","height","x","y","rx","ry"],Kx=["y"],jx={name:"EdgeText",compatConfig:{MODE:3}},qx=t.defineComponent({...jx,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,Ux)):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,Kx)],8,Fx))}}),Gx=["id","d","marker-end","marker-start"],zx=["d","stroke-width"],Hx={name:"BaseEdge",inheritAttrs:!1,compatConfig:{MODE:3}},di=t.defineComponent({...Hx,props:{id:{},labelX:{},labelY:{},path:{},label:{},markerStart:{},markerEnd:{},interactionWidth:{default:20},labelStyle:{},labelShowBg:{type:Boolean},labelBgStyle:{},labelBgPadding:{},labelBgBorderRadius:{}},setup(e,{expose:n}){const o=t.ref(null),r=t.ref(null),i=t.ref(null),a=t.useAttrs();return n({pathEl:o,interactionEl:r,labelEl:i}),(l,s)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("path",t.mergeProps(t.unref(a),{id:l.id,ref_key:"pathEl",ref:o,d:l.path,class:"vue-flow__edge-path","marker-end":l.markerEnd,"marker-start":l.markerStart}),null,16,Gx),l.interactionWidth?(t.openBlock(),t.createElementBlock("path",{key:0,ref_key:"interactionEl",ref:r,fill:"none",d:l.path,"stroke-width":l.interactionWidth,"stroke-opacity":0,class:"vue-flow__edge-interaction"},null,8,zx)):t.createCommentVNode("",!0),l.label&&l.labelX&&l.labelY?(t.openBlock(),t.createBlock(qx,{key:1,ref_key:"labelEl",ref:i,x:l.labelX,y:l.labelY,label:l.label,"label-show-bg":l.labelShowBg,"label-bg-style":l.labelBgStyle,"label-bg-padding":l.labelBgPadding,"label-bg-border-radius":l.labelBgBorderRadius,"label-style":l.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 Pf({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 Tf({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,d=n*.125+a*.375+s*.375+r*.125,f=Math.abs(c-e),u=Math.abs(d-n);return[c,d,f,u]}function ui(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function Of({pos:e,x1:n,y1:o,x2:r,y2:i,c:a}){let l,s;switch(e){case ye.Left:l=n-ui(n-r,a),s=o;break;case ye.Right:l=n+ui(r-n,a),s=o;break;case ye.Top:l=n,s=o-ui(o-i,a);break;case ye.Bottom:l=n,s=o+ui(i-o,a);break}return[l,s]}function $f(e){const{sourceX:n,sourceY:o,sourcePosition:r=ye.Bottom,targetX:i,targetY:a,targetPosition:l=ye.Top,curvature:s=.25}=e,[c,d]=Of({pos:r,x1:n,y1:o,x2:i,y2:a,c:s}),[f,u]=Of({pos:l,x1:i,y1:a,x2:n,y2:o,c:s}),[p,m,h,y]=Tf({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:c,sourceControlY:d,targetControlX:f,targetControlY:u});return[`M${n},${o} C${c},${d} ${f},${u} ${i},${a}`,p,m,h,y]}function Bf({pos:e,x1:n,y1:o,x2:r,y2:i}){let a,l;switch(e){case ye.Left:case ye.Right:a=.5*(n+r),l=o;break;case ye.Top:case ye.Bottom:a=n,l=.5*(o+i);break}return[a,l]}function Vf(e){const{sourceX:n,sourceY:o,sourcePosition:r=ye.Bottom,targetX:i,targetY:a,targetPosition:l=ye.Top}=e,[s,c]=Bf({pos:r,x1:n,y1:o,x2:i,y2:a}),[d,f]=Bf({pos:l,x1:i,y1:a,x2:n,y2:o}),[u,p,m,h]=Tf({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:s,sourceControlY:c,targetControlX:d,targetControlY:f});return[`M${n},${o} C${s},${c} ${d},${f} ${i},${a}`,u,p,m,h]}const Rf={[ye.Left]:{x:-1,y:0},[ye.Right]:{x:1,y:0},[ye.Top]:{x:0,y:-1},[ye.Bottom]:{x:0,y:1}};function Yx({source:e,sourcePosition:n=ye.Bottom,target:o}){return n===ye.Left||n===ye.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 Mf(e,n){return Math.sqrt((n.x-e.x)**2+(n.y-e.y)**2)}function Wx({source:e,sourcePosition:n=ye.Bottom,target:o,targetPosition:r=ye.Top,center:i,offset:a}){const l=Rf[n],s=Rf[r],c={x:e.x+l.x*a,y:e.y+l.y*a},d={x:o.x+s.x*a,y:o.y+s.y*a},f=Yx({source:c,sourcePosition:n,target:d}),u=f.x!==0?"x":"y",p=f[u];let m,h,y;const g={x:0,y:0},_={x:0,y:0},[w,b,v,N]=Pf({sourceX:e.x,sourceY:e.y,targetX:o.x,targetY:o.y});if(l[u]*s[u]===-1){h=i.x??w,y=i.y??b;const T=[{x:h,y:c.y},{x:h,y:d.y}],P=[{x:c.x,y},{x:d.x,y}];l[u]===p?m=u==="x"?T:P:m=u==="x"?P:T}else{const T=[{x:c.x,y:d.y}],P=[{x:d.x,y:c.y}];if(u==="x"?m=l.x===p?P:T:m=l.y===p?T:P,n===r){const W=Math.abs(e[u]-o[u]);if(W<=a){const I=Math.min(a-1,a-W);l[u]===p?g[u]=(c[u]>e[u]?-1:1)*I:_[u]=(d[u]>o[u]?-1:1)*I}}if(n!==r){const W=u==="x"?"y":"x",I=l[u]===s[W],U=c[W]>d[W],M=c[W]<d[W];(l[u]===1&&(!I&&U||I&&M)||l[u]!==1&&(!I&&M||I&&U))&&(m=u==="x"?T:P)}const D={x:c.x+g.x,y:c.y+g.y},K={x:d.x+_.x,y:d.y+_.y},j=Math.max(Math.abs(D.x-m[0].x),Math.abs(K.x-m[0].x)),A=Math.max(Math.abs(D.y-m[0].y),Math.abs(K.y-m[0].y));j>=A?(h=(D.x+K.x)/2,y=m[0].y):(h=m[0].x,y=(D.y+K.y)/2)}return[[e,{x:c.x+g.x,y:c.y+g.y},...m,{x:d.x+_.x,y:d.y+_.y},o],h,y,v,N]}function Xx(e,n,o,r){const i=Math.min(Mf(e,n)/2,Mf(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 d=e.x<o.x?-1:1,f=e.y<o.y?1:-1;return`L ${a+i*d},${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 hl(e){const{sourceX:n,sourceY:o,sourcePosition:r=ye.Bottom,targetX:i,targetY:a,targetPosition:l=ye.Top,borderRadius:s=5,centerX:c,centerY:d,offset:f=20}=e,[u,p,m,h,y]=Wx({source:{x:n,y:o},sourcePosition:r,target:{x:i,y:a},targetPosition:l,center:{x:c,y:d},offset:f});return[u.reduce((_,w,b)=>{let v;return b>0&&b<u.length-1?v=Xx(u[b-1],w,u[b+1],s):v=`${b===0?"M":"L"}${w.x} ${w.y}`,_+=v,_},""),p,m,h,y]}function Zx(e){const{sourceX:n,sourceY:o,targetX:r,targetY:i}=e,[a,l,s,c]=Pf({sourceX:n,sourceY:o,targetX:r,targetY:i});return[`M ${n},${o}L ${r},${i}`,a,l,s,c]}const Jx=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]=Zx(e);return t.h(di,{path:o,labelX:r,labelY:i,...n,...e})}}}),Df=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]=hl({...e,sourcePosition:e.sourcePosition??ye.Bottom,targetPosition:e.targetPosition??ye.Top});return t.h(di,{path:o,labelX:r,labelY:i,...n,...e})}}}),Qx=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(Df,{...e,...n,borderRadius:0})}}),eA=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]=$f({...e,sourcePosition:e.sourcePosition??ye.Bottom,targetPosition:e.targetPosition??ye.Top});return t.h(di,{path:o,labelX:r,labelY:i,...n,...e})}}}),tA=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]=Vf({...e,sourcePosition:e.sourcePosition??ye.Bottom,targetPosition:e.targetPosition??ye.Top});return t.h(di,{path:o,labelX:r,labelY:i,...n,...e})}}}),nA={input:Lx,default:Mx,output:Dx},oA={default:eA,straight:Jx,step:Qx,smoothstep:Df,simplebezier:tA};function rA(e,n,o){const r=t.computed(()=>y=>n.value.get(y)),i=t.computed(()=>y=>o.value.get(y)),a=t.computed(()=>{const y={...oA,...e.edgeTypes},g=Object.keys(y);for(const _ of e.edges)_.type&&!g.includes(_.type)&&(y[_.type]=_.type);return y}),l=t.computed(()=>{const y={...nA,...e.nodeTypes},g=Object.keys(y);for(const _ of e.nodes)_.type&&!g.includes(_.type)&&(y[_.type]=_.type);return y}),s=t.computed(()=>e.onlyRenderVisibleElements?ef(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 y=[];for(const g of e.edges){const _=n.value.get(g.source),w=n.value.get(g.target);ix({sourcePos:_.computedPosition||{x:0,y:0},targetPos:w.computedPosition||{x:0,y:0},sourceWidth:_.dimensions.width,sourceHeight:_.dimensions.height,targetWidth:w.dimensions.width,targetHeight:w.dimensions.height,width:e.dimensions.width,height:e.dimensions.height,viewport:e.viewport})&&y.push(g)}return y}return e.edges}),d=t.computed(()=>[...s.value,...c.value]),f=t.computed(()=>{const y=[];for(const g of e.nodes)g.selected&&y.push(g);return y}),u=t.computed(()=>{const y=[];for(const g of e.edges)g.selected&&y.push(g);return y}),p=t.computed(()=>[...f.value,...u.value]),m=t.computed(()=>{const y=[];for(const g of e.nodes)g.dimensions.width&&g.dimensions.height&&g.handleBounds!==void 0&&y.push(g);return y}),h=t.computed(()=>s.value.length>0&&m.value.length===s.value.length);return{getNode:r,getEdge:i,getElements:d,getEdgeTypes:a,getNodeTypes:l,getEdges:c,getNodes:s,getSelectedElements:p,getSelectedNodes:f,getSelectedEdges:u,getNodesInitialized:m,areNodesInitialized:h}}class _n{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)??_n.instance;return _n.instance=r??new _n,o&&(o.config.globalProperties.$vueFlowStorage=_n.instance),_n.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=If(),i=t.reactive(r),a={};for(const[p,m]of Object.entries(i.hooks)){const h=`on${p.charAt(0).toUpperCase()+p.slice(1)}`;a[h]=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}),d=rA(i,s,c),f=Bx(i,s,c);f.setState({...i,...o});const u={...a,...d,...f,...n1(i),nodeLookup:s,edgeLookup:c,emits:l,id:n,vueFlowVersion:"1.45.0",$destroy:()=>{this.remove(n)}};return this.set(n,u),u}getId(){return`vue-flow-${this.currentId++}`}}function Ie(e){const n=_n.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(kf,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(),d=n.create(c,i);s=d,(o??t.effectScope(!0)).run(()=>{t.watch(d.applyDefault,(u,p,m)=>{const h=g=>{d.applyNodeChanges(g)},y=g=>{d.applyEdgeChanges(g)};u?(d.onNodesChange(h),d.onEdgesChange(y)):(d.hooks.value.nodesChange.off(h),d.hooks.value.edgesChange.off(y)),m(()=>{d.hooks.value.nodesChange.off(h),d.hooks.value.edgesChange.off(y)})},{immediate:!0}),Ir(()=>{if(s){const u=n.get(s.id);u?u.$destroy():ri(`No store instance found for id ${s.id} in storage.`)}})})}else r&&s.setState(i);if(o&&(t.provide(kf,s),o.vueFlowId=s.id),r){const c=t.getCurrentInstance();(c==null?void 0:c.type.name)!=="VueFlow"&&s.emits.error(new He(Ue.USEVUEFLOW_OPTIONS))}return s}function iA(e){const{emits:n,dimensions:o}=Ie();let r;t.onMounted(()=>{const i=e.value,a=()=>{if(!i)return;const l=ei(i);(l.width===0||l.height===0)&&n.error(new He(Ue.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 aA={name:"UserSelection",compatConfig:{MODE:3}},lA=t.defineComponent({...aA,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))}}),sA=["tabIndex"],cA={name:"NodesSelection",compatConfig:{MODE:3}},dA=t.defineComponent({...cA,setup(e){const{emits:n,viewport:o,getSelectedNodes:r,noPanClassName:i,disableKeyboardA11y:a,userSelectionActive:l}=Ie(),s=Af(),c=t.ref(null),d=vf({el:c,onStart(h){n.selectionDragStart(h)},onDrag(h){n.selectionDrag(h)},onStop(h){n.selectionDragStop(h)}});t.onMounted(()=>{var h;a.value||(h=c.value)==null||h.focus({preventScroll:!0})});const f=t.computed(()=>Qu(r.value)),u=t.computed(()=>({width:`${f.value.width}px`,height:`${f.value.height}px`,top:`${f.value.y}px`,left:`${f.value.x}px`}));function p(h){n.selectionContextMenu({event:h,nodes:r.value})}function m(h){a||Hn[h.key]&&(h.preventDefault(),s({x:Hn[h.key].x,y:Hn[h.key].y},h.shiftKey))}return(h,y)=>!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(d)},"vue-flow__nodesselection-rect"]),style:t.normalizeStyle(u.value),tabIndex:t.unref(a)?void 0:-1,onContextmenu:p,onKeydown:m},null,46,sA)],6)):t.createCommentVNode("",!0)}});function uA(e,n){return{x:e.clientX-n.left,y:e.clientY-n.top}}const fA={name:"Pane",compatConfig:{MODE:3}},pA=t.defineComponent({...fA,props:{isSelecting:{type:Boolean},selectionKeyPressed:{type:Boolean}},setup(e){const{vueFlowRef:n,nodes:o,viewport:r,emits:i,userSelectionActive:a,removeSelectedElements:l,userSelectionRect:s,elementsSelectable:c,nodesSelectionActive:d,getSelectedEdges:f,getSelectedNodes:u,removeNodes:p,removeEdges:m,selectionMode:h,deleteKeyCode:y,multiSelectionKeyCode:g,multiSelectionActive:_,edgeLookup:w,nodeLookup:b,connectionLookup:v,defaultEdgeOptions:N,connectionStartHandle:E}=Ie(),T=t.ref(null),P=t.ref(new Set),D=t.ref(new Set),K=t.ref(),j=t.toRef(()=>c.value&&(e.isSelecting||a.value)),A=t.toRef(()=>E.value!==null);let W=!1,I=!1;const U=Bo(y,{actInsideInputWithModifier:!1}),M=Bo(g);t.watch(U,Y=>{Y&&(p(u.value),m(f.value),d.value=!1)}),t.watch(M,Y=>{_.value=Y});function ee(Y,ie){return ae=>{ae.target===ie&&(Y==null||Y(ae))}}function H(Y){if(W||A.value){W=!1;return}i.paneClick(Y),l(),d.value=!1}function G(Y){Y.preventDefault(),Y.stopPropagation(),i.paneContextMenu(Y)}function V(Y){i.paneScroll(Y)}function B(Y){var ie,ae,ge;if(K.value=(ie=n.value)==null?void 0:ie.getBoundingClientRect(),!c.value||!e.isSelecting||Y.button!==0||Y.target!==T.value||!K.value)return;(ge=(ae=Y.target)==null?void 0:ae.setPointerCapture)==null||ge.call(ae,Y.pointerId);const{x:me,y:te}=uA(Y,K.value);I=!0,W=!1,l(),s.value={width:0,height:0,startX:me,startY:te,x:me,y:te},i.selectionStart(Y)}function Z(Y){var ie;if(!K.value||!s.value)return;W=!0;const{x:ae,y:ge}=It(Y,K.value),{startX:me=0,startY:te=0}=s.value,ne={startX:me,startY:te,x:ae<me?ae:me,y:ge<te?ge:te,width:Math.abs(ae-me),height:Math.abs(ge-te)},q=P.value,Q=D.value;P.value=new Set(ef(o.value,ne,r.value,h.value===nl.Partial,!0).map(k=>k.id)),D.value=new Set;const $=((ie=N.value)==null?void 0:ie.selectable)??!0;for(const k of P.value){const C=v.value.get(k);if(C)for(const{edgeId:x}of C.values()){const S=w.value.get(x);S&&(S.selectable??$)&&D.value.add(x)}}if(!Ef(q,P.value)){const k=Xt(b.value,P.value,!0);i.nodesChange(k)}if(!Ef(Q,D.value)){const k=Xt(w.value,D.value);i.edgesChange(k)}s.value=ne,a.value=!0,d.value=!1}function re(Y){var ie;Y.button!==0||!I||((ie=Y.target)==null||ie.releasePointerCapture(Y.pointerId),!a.value&&s.value&&Y.target===T.value&&H(Y),a.value=!1,s.value=null,d.value=P.value.size>0,i.selectionEnd(Y),e.selectionKeyPressed&&(W=!1),I=!1)}return(Y,ie)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"container",ref:T,class:t.normalizeClass(["vue-flow__pane vue-flow__container",{selection:Y.isSelecting}]),onClick:ie[0]||(ie[0]=ae=>j.value?void 0:ee(H,T.value)(ae)),onContextmenu:ie[1]||(ie[1]=ae=>ee(G,T.value)(ae)),onWheelPassive:ie[2]||(ie[2]=ae=>ee(V,T.value)(ae)),onPointerenter:ie[3]||(ie[3]=ae=>j.value?void 0:t.unref(i).paneMouseEnter(ae)),onPointerdown:ie[4]||(ie[4]=ae=>j.value?B(ae):t.unref(i).paneMouseMove(ae)),onPointermove:ie[5]||(ie[5]=ae=>j.value?Z(ae):t.unref(i).paneMouseMove(ae)),onPointerup:ie[6]||(ie[6]=ae=>j.value?re(ae):void 0),onPointerleave:ie[7]||(ie[7]=ae=>t.unref(i).paneMouseLeave(ae))},[t.renderSlot(Y.$slots,"default"),t.unref(a)&&t.unref(s)?(t.openBlock(),t.createBlock(lA,{key:0,"user-selection-rect":t.unref(s)},null,8,["user-selection-rect"])):t.createCommentVNode("",!0),t.unref(d)&&t.unref(u).length?(t.openBlock(),t.createBlock(dA,{key:1})):t.createCommentVNode("",!0)],34))}}),mA={name:"Transform",compatConfig:{MODE:3}},gA=t.defineComponent({...mA,setup(e){const{viewport:n,fitViewOnInit:o,fitViewOnInitDone:r}=Ie(),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))}}),hA={name:"Viewport",compatConfig:{MODE:3}},yA=t.defineComponent({...hA,setup(e){const{minZoom:n,maxZoom:o,defaultViewport:r,translateExtent:i,zoomActivationKeyCode:a,selectionKeyCode:l,panActivationKeyCode:s,panOnScroll:c,panOnScrollMode:d,panOnScrollSpeed:f,panOnDrag:u,zoomOnDoubleClick:p,zoomOnPinch:m,zoomOnScroll:h,preventScrolling:y,noWheelClassName:g,noPanClassName:_,emits:w,connectionStartHandle:b,userSelectionActive:v,paneDragging:N,d3Zoom:E,d3Selection:T,d3ZoomHandler:P,viewport:D,viewportRef:K,paneClickDistance:j}=Ie();iA(K);const A=t.shallowRef(!1),W=t.shallowRef(!1);let I=null,U=!1,M=0,ee={x:0,y:0,zoom:0};const H=Bo(s),G=Bo(l),V=Bo(a),B=t.toRef(()=>(!G.value||G.value&&l.value===!0)&&(H.value||u.value)),Z=t.toRef(()=>H.value||c.value),re=t.toRef(()=>G.value||l.value===!0&&B.value!==!0);t.onMounted(()=>{if(!K.value){ri("Viewport element is missing");return}const te=K.value,ne=te.getBoundingClientRect(),q=FS().clickDistance(j.value).scaleExtent([n.value,o.value]).translateExtent(i.value),Q=yt(te).call(q),$=Q.on("wheel.zoom"),k=zn.translate(r.value.x??0,r.value.y??0).scale(hn(r.value.zoom??1,n.value,o.value)),C=[[0,0],[ne.width,ne.height]],x=q.constrain()(k,C,i.value);q.transform(Q,x),q.wheelDelta(ie),E.value=q,T.value=Q,P.value=$,D.value={x:x.x,y:x.y,zoom:x.k},q.on("start",S=>{var O;if(!S.sourceEvent)return null;M=S.sourceEvent.button,A.value=!0;const F=ge(S.transform);((O=S.sourceEvent)==null?void 0:O.type)==="mousedown"&&(N.value=!0),ee=F,w.viewportChangeStart(F),w.moveStart({event:S,flowTransform:F})}),q.on("end",S=>{if(!S.sourceEvent)return null;if(A.value=!1,N.value=!1,Y(B.value,M??0)&&!U&&w.paneContextMenu(S.sourceEvent),U=!1,ae(ee,S.transform)){const O=ge(S.transform);ee=O,w.viewportChangeEnd(O),w.moveEnd({event:S,flowTransform:O})}}),q.filter(S=>{var O;const F=V.value||h.value,J=m.value&&S.ctrlKey,R=S.button;if(R===1&&S.type==="mousedown"&&(me(S,"vue-flow__node")||me(S,"vue-flow__edge")))return!0;if(!B.value&&!F&&!Z.value&&!p.value&&!m.value||v.value||!p.value&&S.type==="dblclick"||me(S,g.value)&&S.type==="wheel"||me(S,_.value)&&(S.type!=="wheel"||Z.value&&S.type==="wheel"&&!V.value)||!m.value&&S.ctrlKey&&S.type==="wheel"||!F&&!Z.value&&!J&&S.type==="wheel")return!1;if(!m&&S.type==="touchstart"&&((O=S.touches)==null?void 0:O.length)>1)return S.preventDefault(),!1;if(!B.value&&(S.type==="mousedown"||S.type==="touchstart")||l.value===!0&&Array.isArray(u.value)&&u.value.includes(0)&&R===0||Array.isArray(u.value)&&!u.value.includes(R)&&(S.type==="mousedown"||S.type==="touchstart"))return!1;const X=Array.isArray(u.value)&&u.value.includes(R)||l.value===!0&&Array.isArray(u.value)&&!u.value.includes(0)||!R||R<=1;return(!S.ctrlKey||H.value||S.type==="wheel")&&X}),t.watch([v,B],()=>{v.value&&!A.value?q.on("zoom",null):v.value||q.on("zoom",S=>{D.value={x:S.transform.x,y:S.transform.y,zoom:S.transform.k};const O=ge(S.transform);U=Y(B.value,M??0),w.viewportChange(O),w.move({event:S,flowTransform:O})})},{immediate:!0}),t.watch([v,Z,d,V,m,y,g],()=>{Z.value&&!V.value&&!v.value?Q.on("wheel.zoom",S=>{if(me(S,g.value))return!1;const O=V.value||h.value,F=m.value&&S.ctrlKey;if(!(!y.value||Z.value||O||F))return!1;S.preventDefault(),S.stopImmediatePropagation();const R=Q.property("__zoom").k||1,X=ni();if(!H.value&&S.ctrlKey&&m.value&&X){const fe=vt(S),pe=ie(S),ke=R*2**pe;q.scaleTo(Q,ke,fe,S);return}const L=S.deltaMode===1?20:1;let ue=d.value===$o.Vertical?0:S.deltaX*L,le=d.value===$o.Horizontal?0:S.deltaY*L;!X&&S.shiftKey&&d.value!==$o.Vertical&&!ue&&le&&(ue=le,le=0),q.translateBy(Q,-(ue/R)*f.value,-(le/R)*f.value);const oe=ge(Q.property("__zoom"));I&&clearTimeout(I),W.value?(w.move({event:S,flowTransform:oe}),w.viewportChange(oe),I=setTimeout(()=>{w.moveEnd({event:S,flowTransform:oe}),w.viewportChangeEnd(oe),W.value=!1},150)):(W.value=!0,w.moveStart({event:S,flowTransform:oe}),w.viewportChangeStart(oe))},{passive:!1}):typeof $<"u"&&Q.on("wheel.zoom",function(S,O){const F=!y.value&&S.type==="wheel"&&!S.ctrlKey,J=V.value||h.value,R=m.value&&S.ctrlKey;if(!J&&!c.value&&!R&&S.type==="wheel"||F||me(S,g.value))return null;S.preventDefault(),$.call(this,S,O)},{passive:!1})},{immediate:!0})});function Y(te,ne){return ne===2&&Array.isArray(te)&&te.includes(2)}function ie(te){const ne=te.ctrlKey&&ni()?10:1;return-te.deltaY*(te.deltaMode===1?.05:te.deltaMode?1:.002)*ne}function ae(te,ne){return te.x!==ne.x&&!Number.isNaN(ne.x)||te.y!==ne.y&&!Number.isNaN(ne.y)||te.zoom!==ne.k&&!Number.isNaN(ne.k)}function ge(te){return{x:te.x,y:te.y,zoom:te.k}}function me(te,ne){return te.target.closest(`.${ne}`)}return(te,ne)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"viewportRef",ref:K,class:"vue-flow__viewport vue-flow__container"},[t.createVNode(pA,{"is-selecting":re.value,"selection-key-pressed":t.unref(G),class:t.normalizeClass({connecting:!!t.unref(b),dragging:t.unref(N),draggable:t.unref(u)===!0||Array.isArray(t.unref(u))&&t.unref(u).includes(0)})},{default:t.withCtx(()=>[t.createVNode(gA,null,{default:t.withCtx(()=>[t.renderSlot(te.$slots,"default")]),_:3})]),_:3},8,["is-selecting","selection-key-pressed","class"])],512))}}),_A=["id"],bA=["id"],wA=["id"],EA={name:"A11yDescriptions",compatConfig:{MODE:3}},kA=t.defineComponent({...EA,setup(e){const{id:n,disableKeyboardA11y:o,ariaLiveMessage:r}=Ie();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",{id:`${t.unref(qu)}-${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,_A),t.createElementVNode("div",{id:`${t.unref(Gu)}-${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,bA),t.unref(o)?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",{key:0,id:`${t.unref(zS)}-${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,wA))],64))}});function CA(){const e=Ie();t.watch(()=>e.viewportHelper.value.viewportInitialized,n=>{n&&setTimeout(()=>{e.emits.init(e),e.emits.paneReady(e)},1)})}function NA(e,n,o){return o===ye.Left?e-n:o===ye.Right?e+n:e}function vA(e,n,o){return o===ye.Top?e-n:o===ye.Bottom?e+n:e}const yl=function({radius:e=10,centerX:n=0,centerY:o=0,position:r=ye.Top,type:i}){return t.h("circle",{class:`vue-flow__edgeupdater vue-flow__edgeupdater-${i}`,cx:NA(n,e,r),cy:vA(o,e,r),r:e,stroke:"transparent",fill:"transparent"})};yl.props=["radius","centerX","centerY","position","type"],yl.compatConfig={MODE:3};const Lf=yl,SA=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:d,findEdge:f,findNode:u,isValidConnection:p,multiSelectionActive:m,disableKeyboardA11y:h,elementsSelectable:y,edgesUpdatable:g,edgesFocusable:_,hooks:w}=Ie(),b=t.computed(()=>f(e.id)),{emit:v,on:N}=kx(b.value,a),E=t.inject(ii),T=t.getCurrentInstance(),P=t.ref(!1),D=t.ref(!1),K=t.ref(""),j=t.ref(null),A=t.ref("source"),W=t.ref(null),I=t.toRef(()=>typeof b.value.selectable>"u"?y.value:b.value.selectable),U=t.toRef(()=>typeof b.value.updatable>"u"?g.value:b.value.updatable),M=t.toRef(()=>typeof b.value.focusable>"u"?_.value:b.value.focusable);t.provide(bx,e.id),t.provide(wx,W);const ee=t.computed(()=>b.value.class instanceof Function?b.value.class(b.value):b.value.class),H=t.computed(()=>b.value.style instanceof Function?b.value.style(b.value):b.value.style),G=t.computed(()=>{const C=b.value.type||"default",x=E==null?void 0:E[`edge-${C}`];if(x)return x;let S=b.value.template??c.value[C];if(typeof S=="string"&&T){const O=Object.keys(T.appContext.components);O&&O.includes(C)&&(S=t.resolveComponent(C,!1))}return S&&typeof S!="string"?S:(a.error(new He(Ue.EDGE_TYPE_MISSING,S)),!1)}),{handlePointerDown:V}=Sf({nodeId:K,handleId:j,type:A,isValidConnection:p,edgeUpdaterType:A,onEdgeUpdate:re,onEdgeUpdateEnd:Y});return()=>{const C=u(b.value.source),x=u(b.value.target),S="pathOptions"in b.value?b.value.pathOptions:{};if(!C&&!x)return a.error(new He(Ue.EDGE_SOURCE_TARGET_MISSING,b.value.id,b.value.source,b.value.target)),null;if(!C)return a.error(new He(Ue.EDGE_SOURCE_MISSING,b.value.id,b.value.source)),null;if(!x)return a.error(new He(Ue.EDGE_TARGET_MISSING,b.value.id,b.value.target)),null;if(!b.value||b.value.hidden||C.hidden||x.hidden)return null;let O;r.value===Ht.Strict?O=C.handleBounds.source:O=[...C.handleBounds.source||[],...C.handleBounds.target||[]];const F=pf(O,b.value.sourceHandle);let J;r.value===Ht.Strict?J=x.handleBounds.target:J=[...x.handleBounds.target||[],...x.handleBounds.source||[]];const R=pf(J,b.value.targetHandle),X=(F==null?void 0:F.position)||ye.Bottom,L=(R==null?void 0:R.position)||ye.Top,{x:ue,y:le}=Yn(C,F,X),{x:oe,y:fe}=Yn(x,R,L);return b.value.sourceX=ue,b.value.sourceY=le,b.value.targetX=oe,b.value.targetY=fe,t.h("g",{ref:W,key:e.id,"data-id":e.id,class:["vue-flow__edge",`vue-flow__edge-${G.value===!1?"default":b.value.type||"default"}`,s.value,ee.value,{updating:P.value,selected:b.value.selected,animated:b.value.animated,inactive:!I.value&&!w.value.edgeClick.hasListeners()}],tabIndex:M.value?0:void 0,"aria-label":b.value.ariaLabel===null?void 0:b.value.ariaLabel??`Edge from ${b.value.source} to ${b.value.target}`,"aria-describedby":M.value?`${Gu}-${n}`:void 0,"aria-roledescription":"edge",role:M.value?"group":"img",...b.value.domAttributes,onClick:ae,onContextmenu:ge,onDblclick:me,onMouseenter:te,onMousemove:ne,onMouseleave:q,onKeyDown:M.value?k:void 0},[D.value?null:t.h(G.value===!1?c.value.default:G.value,{id:e.id,sourceNode:C,targetNode:x,source:b.value.source,target:b.value.target,type:b.value.type,updatable:U.value,selected:b.value.selected,animated:b.value.animated,label:b.value.label,labelStyle:b.value.labelStyle,labelShowBg:b.value.labelShowBg,labelBgStyle:b.value.labelBgStyle,labelBgPadding:b.value.labelBgPadding,labelBgBorderRadius:b.value.labelBgBorderRadius,data:b.value.data,events:{...b.value.events,...N},style:H.value,markerStart:`url('#${Mo(b.value.markerStart,n)}')`,markerEnd:`url('#${Mo(b.value.markerEnd,n)}')`,sourcePosition:X,targetPosition:L,sourceX:ue,sourceY:le,targetX:oe,targetY:fe,sourceHandleId:b.value.sourceHandle,targetHandleId:b.value.targetHandle,interactionWidth:b.value.interactionWidth,...S}),[U.value==="source"||U.value===!0?[t.h("g",{onMousedown:Q,onMouseenter:B,onMouseout:Z},t.h(Lf,{position:X,centerX:ue,centerY:le,radius:i.value,type:"source","data-type":"source"}))]:null,U.value==="target"||U.value===!0?[t.h("g",{onMousedown:$,onMouseenter:B,onMouseout:Z},t.h(Lf,{position:L,centerX:oe,centerY:fe,radius:i.value,type:"target","data-type":"target"}))]:null]])};function B(){P.value=!0}function Z(){P.value=!1}function re(C,x){v.update({event:C,edge:b.value,connection:x})}function Y(C){v.updateEnd({event:C,edge:b.value}),D.value=!1}function ie(C,x){C.button===0&&(D.value=!0,K.value=x?b.value.target:b.value.source,j.value=(x?b.value.targetHandle:b.value.sourceHandle)??null,A.value=x?"target":"source",v.updateStart({event:C,edge:b.value}),V(C))}function ae(C){var x;const S={event:C,edge:b.value};I.value&&(l.value=!1,b.value.selected&&m.value?(d([b.value]),(x=W.value)==null||x.blur()):o([b.value])),v.click(S)}function ge(C){v.contextMenu({event:C,edge:b.value})}function me(C){v.doubleClick({event:C,edge:b.value})}function te(C){v.mouseEnter({event:C,edge:b.value})}function ne(C){v.mouseMove({event:C,edge:b.value})}function q(C){v.mouseLeave({event:C,edge:b.value})}function Q(C){ie(C,!0)}function $(C){ie(C,!1)}function k(C){var x;!h.value&&zu.includes(C.key)&&I.value&&(C.key==="Escape"?((x=W.value)==null||x.blur(),d([f(e.id)])):o([f(e.id)]))}}}),xA=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:d,viewport:f,findNode:u}=Ie(),p=(e=t.inject(ii))==null?void 0:e["connection-line"],m=t.computed(()=>{var w;return u((w=r.value)==null?void 0:w.nodeId)}),h=t.computed(()=>{var w;return u((w=i.value)==null?void 0:w.nodeId)??null}),y=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(#${Mo(c.value.markerStart,n)})`:""),_=t.computed(()=>c.value.markerEnd?`url(#${Mo(c.value.markerEnd,n)})`:"");return()=>{var w,b,v;if(!m.value||!r.value)return null;const N=r.value.id,E=r.value.type,T=m.value.handleBounds;let P=(T==null?void 0:T[E])??[];if(o.value===Ht.Loose){const H=(T==null?void 0:T[E==="source"?"target":"source"])??[];P=[...P,...H]}if(!P)return null;const D=(N?P.find(H=>H.id===N):P[0])??null,K=(D==null?void 0:D.position)??ye.Top,{x:j,y:A}=Yn(m.value,D,K);let W=null;h.value&&(o.value===Ht.Strict?W=((w=h.value.handleBounds[E==="source"?"target":"source"])==null?void 0:w.find(H=>{var G;return H.id===((G=i.value)==null?void 0:G.id)}))||null:W=((b=[...h.value.handleBounds.source??[],...h.value.handleBounds.target??[]])==null?void 0:b.find(H=>{var G;return H.id===((G=i.value)==null?void 0:G.id)}))||null);const I=((v=i.value)==null?void 0:v.position)??(K?dl[K]:null);if(!K||!I)return null;const U=l.value??c.value.type??gn.Bezier;let M="";const ee={sourceX:j,sourceY:A,sourcePosition:K,targetX:y.value.x,targetY:y.value.y,targetPosition:I};return U===gn.Bezier?[M]=$f(ee):U===gn.Step?[M]=hl({...ee,borderRadius:0}):U===gn.SmoothStep?[M]=hl(ee):U===gn.SimpleBezier?[M]=Vf(ee):M=`M${j},${A} ${y.value.x},${y.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:j,sourceY:A,sourcePosition:K,targetX:y.value.x,targetY:y.value.y,targetPosition:I,sourceNode:m.value,sourceHandle:D,targetNode:h.value,targetHandle:W,markerEnd:_.value,markerStart:g.value,connectionStatus:d.value}):t.h("path",{d:M,class:[c.value.class,d,"vue-flow__connection-path"],style:{...s.value,...c.value.style},"marker-end":_.value,"marker-start":g.value})))}}}),AA=["id","markerWidth","markerHeight","markerUnits","orient"],IA={name:"MarkerType",compatConfig:{MODE:3}},PA=t.defineComponent({...IA,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(Zr).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(Zr).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,AA))}}),TA={class:"vue-flow__marker vue-flow__container","aria-hidden":"true"},OA={name:"MarkerDefinitions",compatConfig:{MODE:3}},$A=t.defineComponent({...OA,setup(e){const{id:n,edges:o,connectionLineOptions:r,defaultMarkerColor:i}=Ie(),a=t.computed(()=>{const l=new Set,s=[],c=d=>{if(d){const f=Mo(d,n);l.has(f)||(typeof d=="object"?s.push({...d,id:f,color:d.color||i.value}):s.push({id:f,color:i.value,type:d}),l.add(f))}};for(const d of[r.value.markerEnd,r.value.markerStart])c(d);for(const d of o.value)for(const f of[d.markerStart,d.markerEnd])c(f);return s.sort((d,f)=>d.id.localeCompare(f.id))});return(l,s)=>(t.openBlock(),t.createElementBlock("svg",TA,[t.createElementVNode("defs",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,c=>(t.openBlock(),t.createBlock(PA,{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))])]))}}),BA={name:"Edges",compatConfig:{MODE:3}},VA=t.defineComponent({...BA,setup(e){const{findNode:n,getEdges:o,elevateEdgesOnSelect:r}=Ie();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode($A),(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(ax)(l,t.unref(n),t.unref(r))})},[t.createVNode(t.unref(SA),{id:l.id},null,8,["id"])],4))),128)),t.createVNode(t.unref(xA))],64))}}),RA=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:d,onUpdateNodeInternals:f,getNodeTypes:u,nodeExtent:p,elevateNodesOnSelect:m,disableKeyboardA11y:h,ariaLiveMessage:y,snapToGrid:g,snapGrid:_,nodeDragThreshold:w,nodesDraggable:b,elementsSelectable:v,nodesConnectable:N,nodesFocusable:E,hooks:T}=Ie(),P=t.ref(null);t.provide(Nf,P),t.provide(Cf,e.id);const D=t.inject(ii),K=t.getCurrentInstance(),j=Af(),{node:A,parentNode:W}=xf(e.id),{emit:I,on:U}=Sx(A,l),M=t.toRef(()=>typeof A.draggable>"u"?b.value:A.draggable),ee=t.toRef(()=>typeof A.selectable>"u"?v.value:A.selectable),H=t.toRef(()=>typeof A.connectable>"u"?N.value:A.connectable),G=t.toRef(()=>typeof A.focusable>"u"?E.value:A.focusable),V=t.computed(()=>ee.value||M.value||T.value.nodeClick.hasListeners()||T.value.nodeDoubleClick.hasListeners()||T.value.nodeMouseEnter.hasListeners()||T.value.nodeMouseMove.hasListeners()||T.value.nodeMouseLeave.hasListeners()),B=t.toRef(()=>!!A.dimensions.width&&!!A.dimensions.height),Z=t.computed(()=>{const x=A.type||"default",S=D==null?void 0:D[`node-${x}`];if(S)return S;let O=A.template||u.value[x];if(typeof O=="string"&&K){const F=Object.keys(K.appContext.components);F&&F.includes(x)&&(O=t.resolveComponent(x,!1))}return O&&typeof O!="string"?O:(l.error(new He(Ue.NODE_TYPE_MISSING,O)),!1)}),re=vf({id:e.id,el:P,disabled:()=>!M.value,selectable:ee,dragHandle:()=>A.dragHandle,onStart(x){I.dragStart(x)},onDrag(x){I.drag(x)},onStop(x){I.dragStop(x)},onClick(x){k(x)}}),Y=t.computed(()=>A.class instanceof Function?A.class(A):A.class),ie=t.computed(()=>{const x=(A.style instanceof Function?A.style(A):A.style)||{},S=A.width instanceof Function?A.width(A):A.width,O=A.height instanceof Function?A.height(A):A.height;return!x.width&&S&&(x.width=typeof S=="string"?S:`${S}px`),!x.height&&O&&(x.height=typeof O=="string"?O:`${O}px`),x}),ae=t.toRef(()=>Number(A.zIndex??ie.value.zIndex??0));return f(x=>{(x.includes(e.id)||!x.length)&&me()}),t.onMounted(()=>{t.watch(()=>A.hidden,(x=!1,S,O)=>{!x&&P.value&&(e.resizeObserver.observe(P.value),O(()=>{P.value&&e.resizeObserver.unobserve(P.value)}))},{immediate:!0,flush:"post"})}),t.watch([()=>A.type,()=>A.sourcePosition,()=>A.targetPosition],()=>{t.nextTick(()=>{d([{id:e.id,nodeElement:P.value,forceUpdate:!0}])})}),t.watch([()=>A.position.x,()=>A.position.y,()=>{var x;return(x=W.value)==null?void 0:x.computedPosition.x},()=>{var x;return(x=W.value)==null?void 0:x.computedPosition.y},()=>{var x;return(x=W.value)==null?void 0:x.computedPosition.z},ae,()=>A.selected,()=>A.dimensions.height,()=>A.dimensions.width,()=>{var x;return(x=W.value)==null?void 0:x.dimensions.height},()=>{var x;return(x=W.value)==null?void 0:x.dimensions.width}],([x,S,O,F,J,R])=>{const X={x,y:S,z:R+(m.value&&A.selected?1e3:0)};typeof O<"u"&&typeof F<"u"?A.computedPosition=ex({x:O,y:F,z:J},X):A.computedPosition=X},{flush:"post",immediate:!0}),t.watch([()=>A.extent,p],([x,S],[O,F])=>{(x!==O||S!==F)&&ge()}),A.extent==="parent"||typeof A.extent=="object"&&"range"in A.extent&&A.extent.range==="parent"?Va(()=>B).toBe(!0).then(ge):ge(),()=>A.hidden?null:t.h("div",{ref:P,"data-id":A.id,class:["vue-flow__node",`vue-flow__node-${Z.value===!1?"default":A.type||"default"}`,{[o.value]:M.value,dragging:re==null?void 0:re.value,draggable:M.value,selected:A.selected,selectable:ee.value,parent:A.isParent},Y.value],style:{visibility:B.value?"visible":"hidden",zIndex:A.computedPosition.z??ae.value,transform:`translate(${A.computedPosition.x}px,${A.computedPosition.y}px)`,pointerEvents:V.value?"all":"none",...ie.value},tabIndex:G.value?0:void 0,role:G.value?"group":void 0,"aria-describedby":h.value?void 0:`${qu}-${n}`,"aria-label":A.ariaLabel,"aria-roledescription":"node",...A.domAttributes,onMouseenter:te,onMousemove:ne,onMouseleave:q,onContextmenu:Q,onClick:k,onDblclick:$,onKeydown:C},[t.h(Z.value===!1?u.value.default:Z.value,{id:A.id,type:A.type,data:A.data,events:{...A.events,...U},selected:A.selected,resizing:A.resizing,dragging:re.value,connectable:H.value,position:A.computedPosition,dimensions:A.dimensions,isValidTargetPos:A.isValidTargetPos,isValidSourcePos:A.isValidSourcePos,parent:A.parentNode,parentNodeId:A.parentNode,zIndex:A.computedPosition.z??ae.value,targetPosition:A.targetPosition,sourcePosition:A.sourcePosition,label:A.label,dragHandle:A.dragHandle,onUpdateNodeInternals:me})]);function ge(){const x=A.computedPosition,{computedPosition:S,position:O}=ll(A,g.value?oi(x,_.value):x,l.error,p.value,W.value);(A.computedPosition.x!==S.x||A.computedPosition.y!==S.y)&&(A.computedPosition={...A.computedPosition,...S}),(A.position.x!==O.x||A.position.y!==O.y)&&(A.position=O)}function me(){P.value&&d([{id:e.id,nodeElement:P.value,forceUpdate:!0}])}function te(x){re!=null&&re.value||I.mouseEnter({event:x,node:A})}function ne(x){re!=null&&re.value||I.mouseMove({event:x,node:A})}function q(x){re!=null&&re.value||I.mouseLeave({event:x,node:A})}function Q(x){return I.contextMenu({event:x,node:A})}function $(x){return I.doubleClick({event:x,node:A})}function k(x){ee.value&&(!r.value||!M.value||w.value>0)&&ul(A,a.value,c,s,i,!1,P.value),I.click({event:x,node:A})}function C(x){if(!(ol(x)||h.value))if(zu.includes(x.key)&&ee.value){const S=x.key==="Escape";ul(A,a.value,c,s,i,S,P.value)}else M.value&&A.selected&&Hn[x.key]&&(x.preventDefault(),y.value=`Moved selected node ${x.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~A.position.x}, y: ${~~A.position.y}`,j({x:Hn[x.key].x,y:Hn[x.key].y},x.shiftKey))}}});function MA(e={includeHiddenNodes:!1}){const{nodes:n}=Ie();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 DA={class:"vue-flow__nodes vue-flow__container"},LA={name:"Nodes",compatConfig:{MODE:3}},FA=t.defineComponent({...LA,setup(e){const{getNodes:n,updateNodeDimensions:o,emits:r}=Ie(),i=MA(),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",DA,[a.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(t.unref(n),(c,d,f,u)=>{const p=[c.id];if(u&&u.key===c.id&&t.isMemoSame(u,p))return u;const m=(t.openBlock(),t.createBlock(t.unref(RA),{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 UA(){const{emits:e}=Ie();t.onMounted(()=>{if(yf()){const n=document.querySelector(".vue-flow__pane");n&&window.getComputedStyle(n).zIndex!=="1"&&e.error(new He(Ue.MISSING_STYLES))}})}const KA=t.createElementVNode("div",{class:"vue-flow__edge-labels"},null,-1),jA={name:"VueFlow",compatConfig:{MODE:3}},Ff=t.defineComponent({...jA,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=Ra(r,"modelValue",o),l=Ra(r,"nodes",o),s=Ra(r,"edges",o),c=Ie(r),d=Px({modelValue:a,nodes:l,edges:s},r,c);return Ox(o,c.hooks),CA(),UA(),t.provide(ii,i),t.onUnmounted(()=>{d()}),n(c),(f,u)=>(t.openBlock(),t.createElementBlock("div",{ref:t.unref(c).vueFlowRef,class:"vue-flow"},[t.createVNode(yA,null,{default:t.withCtx(()=>[t.createVNode(VA),KA,t.createVNode(FA),t.renderSlot(f.$slots,"zoom-pane")]),_:3}),t.renderSlot(f.$slots,"default"),t.createVNode(kA)],512))}}),qA={name:"Panel",compatConfig:{MODE:3}},GA=t.defineComponent({...qA,props:{position:{}},setup(e){const n=e,{userSelectionActive:o}=Ie(),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 Ut=(e=>(e.Lines="lines",e.Dots="dots",e))(Ut||{});const Uf=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]}`})},Kf=function({radius:e,color:n}){return t.h("circle",{cx:e,cy:e,r:e,fill:n})};Ut.Lines+"",Ut.Dots+"";const zA={[Ut.Dots]:"#81818a",[Ut.Lines]:"#eee"},HA=["id","x","y","width","height","patternTransform"],YA={key:2,height:"100",width:"100"},WA=["fill"],XA=["x","y","fill"],ZA={name:"Background",compatConfig:{MODE:3}},JA=t.defineComponent({...ZA,props:{id:{},variant:{default:()=>Ut.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}=Ie(),r=t.computed(()=>{const l=o.value.zoom,[s,c]=Array.isArray(e.gap)?e.gap:[e.gap,e.gap],d=[s*l||1,c*l||1],f=e.size*l,[u,p]=Array.isArray(e.offset)?e.offset:[e.offset,e.offset],m=[u*l||1+d[0]/2,p*l||1+d[1]/2];return{scaledGap:d,offset:m,size:f}}),i=t.toRef(()=>`pattern-${n}${e.id?`-${e.id}`:""}`),a=t.toRef(()=>e.color||e.patternColor||zA[e.variant||Ut.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(Ut).Lines?(t.openBlock(),t.createBlock(t.unref(Uf),{key:0,size:l.lineWidth,color:a.value,dimensions:r.value.scaledGap},null,8,["size","color","dimensions"])):l.variant===t.unref(Ut).Dots?(t.openBlock(),t.createBlock(t.unref(Kf),{key:1,color:a.value,radius:r.value.size/2},null,8,["color","radius"])):t.createCommentVNode("",!0),l.bgColor?(t.openBlock(),t.createElementBlock("svg",YA,[t.createElementVNode("rect",{width:"100%",height:"100%",fill:l.bgColor},null,8,WA)])):t.createCommentVNode("",!0)])],8,HA)]),t.createElementVNode("rect",{x:l.x,y:l.y,width:"100%",height:"100%",fill:`url(#${i.value})`},null,8,XA),t.renderSlot(l.$slots,"default",{id:i.value})],4))}}),QA={name:"ControlButton",compatConfig:{MODE:3}},eI=(e,n)=>{const o=e.__vccOpts||e;for(const[r,i]of n)o[r]=i;return o},tI={class:"vue-flow__controls-button"};function nI(e,n,o,r,i,a){return t.openBlock(),t.createElementBlock("button",tI,[t.renderSlot(e.$slots,"default")])}const fi=eI(QA,[["render",nI]]),oI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},rI=[t.createElementVNode("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"},null,-1)];function iI(e,n){return t.openBlock(),t.createElementBlock("svg",oI,rI)}const aI={render:iI},lI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},sI=[t.createElementVNode("path",{d:"M0 0h32v4.2H0z"},null,-1)];function cI(e,n){return t.openBlock(),t.createElementBlock("svg",lI,sI)}const dI={render:cI},uI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},fI=[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 pI(e,n){return t.openBlock(),t.createElementBlock("svg",uI,fI)}const mI={render:pI},gI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},hI=[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 yI(e,n){return t.openBlock(),t.createElementBlock("svg",gI,hI)}const _I={render:yI},bI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},wI=[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 EI(e,n){return t.openBlock(),t.createElementBlock("svg",bI,wI)}const kI={render:EI},CI={name:"Controls",compatConfig:{MODE:3}},NI=t.defineComponent({...CI,props:{showZoom:{type:Boolean,default:!0},showFitView:{type:Boolean,default:!0},showInteractive:{type:Boolean,default:!0},fitViewParams:{},position:{default:()=>Ku.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:d,minZoom:f,maxZoom:u}=Ie(),p=t.toRef(()=>o.value||r.value||i.value),m=t.toRef(()=>d.value.zoom<=f.value),h=t.toRef(()=>d.value.zoom>=u.value);function y(){l(),n("zoomIn")}function g(){s(),n("zoomOut")}function _(){c(e.fitViewParams),n("fitView")}function w(){a(!p.value),n("interactionChange",!p.value)}return(b,v)=>(t.openBlock(),t.createBlock(t.unref(GA),{class:"vue-flow__controls",position:b.position},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"top"),b.showZoom?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.renderSlot(b.$slots,"control-zoom-in",{},()=>[t.createVNode(fi,{class:"vue-flow__controls-zoomin",disabled:h.value,onClick:y},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-zoom-in",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(aI))))])]),_:3},8,["disabled"])]),t.renderSlot(b.$slots,"control-zoom-out",{},()=>[t.createVNode(fi,{class:"vue-flow__controls-zoomout",disabled:m.value,onClick:g},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-zoom-out",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(dI))))])]),_:3},8,["disabled"])])],64)):t.createCommentVNode("",!0),b.showFitView?t.renderSlot(b.$slots,"control-fit-view",{key:1},()=>[t.createVNode(fi,{class:"vue-flow__controls-fitview",onClick:_},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-fit-view",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(mI))))])]),_:3})]):t.createCommentVNode("",!0),b.showInteractive?t.renderSlot(b.$slots,"control-interactive",{key:2},()=>[b.showInteractive?(t.openBlock(),t.createBlock(fi,{key:0,class:"vue-flow__controls-interactive",onClick:w},{default:t.withCtx(()=>[p.value?t.renderSlot(b.$slots,"icon-unlock",{key:0},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(kI))))]):t.createCommentVNode("",!0),p.value?t.createCommentVNode("",!0):t.renderSlot(b.$slots,"icon-lock",{key:1},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(_I))))])]),_:3})):t.createCommentVNode("",!0)]):t.createCommentVNode("",!0),t.renderSlot(b.$slots,"default")]),_:3},8,["position"]))}}),vI="44px",SI="220px",xI="366px",AI="52px",II=["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS","TRACE","CONNECT"],jf="application/x-datakit+json",Do={padding:80,gaps:{nodes:40,edges:80,ranks:40}},PI=1600,TI=1.2,OI=0,qf=Symbol("confirm-modal"),Wn="{key}",bn={"kong.client.consumer":{dataType:"object",writable:!1,readable:!0},"kong.client.consumer_groups":{dataType:"array",writable:!1,readable:!0},"kong.client.credential":{dataType:"object",writable:!1,readable:!0},"kong.client.get_identity_realm_source":{dataType:"object",writable:!1,readable:!0},"kong.client.forwarded_ip":{dataType:"string",writable:!1,readable:!0},"kong.client.forwarded_port":{dataType:"number",writable:!1,readable:!0},"kong.client.ip":{dataType:"string",writable:!1,readable:!0},"kong.client.port":{dataType:"number",writable:!1,readable:!0},"kong.client.protocol":{dataType:"string",writable:!1,readable:!0},"kong.request.forwarded_host":{dataType:"string",writable:!1,readable:!0},"kong.request.forwarded_port":{dataType:"number",writable:!1,readable:!0},"kong.request.forwarded_scheme":{dataType:"string",writable:!1,readable:!0},"kong.request.port":{dataType:"number",writable:!1,readable:!0},"kong.response.source":{dataType:"string",writable:!1,readable:!0},"kong.router.route":{dataType:"object",writable:!1,readable:!0},"kong.route_id":{dataType:"string",writable:!1,readable:!0},"kong.route_name":{dataType:"string",writable:!1,readable:!0},"kong.router.service":{dataType:"object",writable:!1,readable:!0},"kong.service_name":{dataType:"string",writable:!1,readable:!0},"kong.service_id":{dataType:"string",writable:!1,readable:!0},"kong.service.response.status":{dataType:"number",writable:!1,readable:!0},"kong.version":{dataType:"string",writable:!1,readable:!0},"kong.node.id":{dataType:"string",writable:!1,readable:!0},"kong.configuration.{key}":{dataType:"any",writable:!1,readable:!0},"kong.service.target":{dataType:"string ({host}:{port})",writable:!0,readable:!1},"kong.service.request_scheme":{dataType:"string ({scheme})",writable:!0,readable:!1},"kong.ctx.plugin.{key}":{dataType:"any",writable:!0,readable:!0},"kong.ctx.shared.{key}":{dataType:"any",writable:!0,readable:!0}},pi=Object.keys(bn).filter(e=>e.includes(Wn)).map(e=>e.replace(Wn,""));function _l(e){if(!e||!Fo(e))return;const n=pi.find(o=>e.startsWith(o));if(n)return e.slice(n.length).replace(Wn,"")}function Lo(e){if(!e)return null;const n=pi.find(o=>e.startsWith(o));return n||e}function Fo(e){return e?pi.some(n=>e.startsWith(n)):!1}function Gf(e){return e?Fo(e)?Lo(e)+Wn:e:null}function bl(e){var o;if(!e)return!1;const n=Gf(e);return n?((o=bn[n])==null?void 0:o.readable)??!1:!1}function wl(e){var o;if(!e)return!1;const n=Gf(e);return n?((o=bn[n])==null?void 0:o.writable)??!1:!1}function $I(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var BI="\0",wn="\0",zf="";let VI=class{constructor(n){qe(this,"_isDirected",!0);qe(this,"_isMultigraph",!1);qe(this,"_isCompound",!1);qe(this,"_label");qe(this,"_defaultNodeLabelFn",()=>{});qe(this,"_defaultEdgeLabelFn",()=>{});qe(this,"_nodes",{});qe(this,"_in",{});qe(this,"_preds",{});qe(this,"_out",{});qe(this,"_sucs",{});qe(this,"_edgeObjs",{});qe(this,"_edgeLabels",{});qe(this,"_nodeCount",0);qe(this,"_edgeCount",0);qe(this,"_parent");qe(this,"_children");n&&(this._isDirected=Object.hasOwn(n,"directed")?n.directed:!0,this._isMultigraph=Object.hasOwn(n,"multigraph")?n.multigraph:!1,this._isCompound=Object.hasOwn(n,"compound")?n.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[wn]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(n){return this._label=n,this}graph(){return this._label}setDefaultNodeLabel(n){return this._defaultNodeLabelFn=n,typeof n!="function"&&(this._defaultNodeLabelFn=()=>n),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var n=this;return this.nodes().filter(o=>Object.keys(n._in[o]).length===0)}sinks(){var n=this;return this.nodes().filter(o=>Object.keys(n._out[o]).length===0)}setNodes(n,o){var r=arguments,i=this;return n.forEach(function(a){r.length>1?i.setNode(a,o):i.setNode(a)}),this}setNode(n,o){return Object.hasOwn(this._nodes,n)?(arguments.length>1&&(this._nodes[n]=o),this):(this._nodes[n]=arguments.length>1?o:this._defaultNodeLabelFn(n),this._isCompound&&(this._parent[n]=wn,this._children[n]={},this._children[wn][n]=!0),this._in[n]={},this._preds[n]={},this._out[n]={},this._sucs[n]={},++this._nodeCount,this)}node(n){return this._nodes[n]}hasNode(n){return Object.hasOwn(this._nodes,n)}removeNode(n){var o=this;if(Object.hasOwn(this._nodes,n)){var r=i=>o.removeEdge(o._edgeObjs[i]);delete this._nodes[n],this._isCompound&&(this._removeFromParentsChildList(n),delete this._parent[n],this.children(n).forEach(function(i){o.setParent(i)}),delete this._children[n]),Object.keys(this._in[n]).forEach(r),delete this._in[n],delete this._preds[n],Object.keys(this._out[n]).forEach(r),delete this._out[n],delete this._sucs[n],--this._nodeCount}return this}setParent(n,o){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(o===void 0)o=wn;else{o+="";for(var r=o;r!==void 0;r=this.parent(r))if(r===n)throw new Error("Setting "+o+" as parent of "+n+" would create a cycle");this.setNode(o)}return this.setNode(n),this._removeFromParentsChildList(n),this._parent[n]=o,this._children[o][n]=!0,this}_removeFromParentsChildList(n){delete this._children[this._parent[n]][n]}parent(n){if(this._isCompound){var o=this._parent[n];if(o!==wn)return o}}children(n=wn){if(this._isCompound){var o=this._children[n];if(o)return Object.keys(o)}else{if(n===wn)return this.nodes();if(this.hasNode(n))return[]}}predecessors(n){var o=this._preds[n];if(o)return Object.keys(o)}successors(n){var o=this._sucs[n];if(o)return Object.keys(o)}neighbors(n){var o=this.predecessors(n);if(o){const i=new Set(o);for(var r of this.successors(n))i.add(r);return Array.from(i.values())}}isLeaf(n){var o;return this.isDirected()?o=this.successors(n):o=this.neighbors(n),o.length===0}filterNodes(n){var o=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});o.setGraph(this.graph());var r=this;Object.entries(this._nodes).forEach(function([l,s]){n(l)&&o.setNode(l,s)}),Object.values(this._edgeObjs).forEach(function(l){o.hasNode(l.v)&&o.hasNode(l.w)&&o.setEdge(l,r.edge(l))});var i={};function a(l){var s=r.parent(l);return s===void 0||o.hasNode(s)?(i[l]=s,s):s in i?i[s]:a(s)}return this._isCompound&&o.nodes().forEach(l=>o.setParent(l,a(l))),o}setDefaultEdgeLabel(n){return this._defaultEdgeLabelFn=n,typeof n!="function"&&(this._defaultEdgeLabelFn=()=>n),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(n,o){var r=this,i=arguments;return n.reduce(function(a,l){return i.length>1?r.setEdge(a,l,o):r.setEdge(a,l),l}),this}setEdge(){var n,o,r,i,a=!1,l=arguments[0];typeof l=="object"&&l!==null&&"v"in l?(n=l.v,o=l.w,r=l.name,arguments.length===2&&(i=arguments[1],a=!0)):(n=l,o=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),n=""+n,o=""+o,r!==void 0&&(r=""+r);var s=Uo(this._isDirected,n,o,r);if(Object.hasOwn(this._edgeLabels,s))return a&&(this._edgeLabels[s]=i),this;if(r!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(n),this.setNode(o),this._edgeLabels[s]=a?i:this._defaultEdgeLabelFn(n,o,r);var c=RI(this._isDirected,n,o,r);return n=c.v,o=c.w,Object.freeze(c),this._edgeObjs[s]=c,Hf(this._preds[o],n),Hf(this._sucs[n],o),this._in[o][s]=c,this._out[n][s]=c,this._edgeCount++,this}edge(n,o,r){var i=arguments.length===1?El(this._isDirected,arguments[0]):Uo(this._isDirected,n,o,r);return this._edgeLabels[i]}edgeAsObj(){const n=this.edge(...arguments);return typeof n!="object"?{label:n}:n}hasEdge(n,o,r){var i=arguments.length===1?El(this._isDirected,arguments[0]):Uo(this._isDirected,n,o,r);return Object.hasOwn(this._edgeLabels,i)}removeEdge(n,o,r){var i=arguments.length===1?El(this._isDirected,arguments[0]):Uo(this._isDirected,n,o,r),a=this._edgeObjs[i];return a&&(n=a.v,o=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],Yf(this._preds[o],n),Yf(this._sucs[n],o),delete this._in[o][i],delete this._out[n][i],this._edgeCount--),this}inEdges(n,o){var r=this._in[n];if(r){var i=Object.values(r);return o?i.filter(a=>a.v===o):i}}outEdges(n,o){var r=this._out[n];if(r){var i=Object.values(r);return o?i.filter(a=>a.w===o):i}}nodeEdges(n,o){var r=this.inEdges(n,o);if(r)return r.concat(this.outEdges(n,o))}};function Hf(e,n){e[n]?e[n]++:e[n]=1}function Yf(e,n){--e[n]||delete e[n]}function Uo(e,n,o,r){var i=""+n,a=""+o;if(!e&&i>a){var l=i;i=a,a=l}return i+zf+a+zf+(r===void 0?BI:r)}function RI(e,n,o,r){var i=""+n,a=""+o;if(!e&&i>a){var l=i;i=a,a=l}var s={v:i,w:a};return r&&(s.name=r),s}function El(e,n){return Uo(e,n.v,n.w,n.name)}var kl=VI,MI="2.2.4",DI={Graph:kl,version:MI},LI=kl,FI={write:UI,read:qI};function UI(e){var n={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:KI(e),edges:jI(e)};return e.graph()!==void 0&&(n.value=structuredClone(e.graph())),n}function KI(e){return e.nodes().map(function(n){var o=e.node(n),r=e.parent(n),i={v:n};return o!==void 0&&(i.value=o),r!==void 0&&(i.parent=r),i})}function jI(e){return e.edges().map(function(n){var o=e.edge(n),r={v:n.v,w:n.w};return n.name!==void 0&&(r.name=n.name),o!==void 0&&(r.value=o),r})}function qI(e){var n=new LI(e.options).setGraph(e.value);return e.nodes.forEach(function(o){n.setNode(o.v,o.value),o.parent&&n.setParent(o.v,o.parent)}),e.edges.forEach(function(o){n.setEdge({v:o.v,w:o.w,name:o.name},o.value)}),n}var GI=zI;function zI(e){var n={},o=[],r;function i(a){Object.hasOwn(n,a)||(n[a]=!0,r.push(a),e.successors(a).forEach(i),e.predecessors(a).forEach(i))}return e.nodes().forEach(function(a){r=[],i(a),r.length&&o.push(r)}),o}var Wf=class{constructor(){qe(this,"_arr",[]);qe(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var o=this._keyIndices[n];if(o!==void 0)return this._arr[o].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,o){var r=this._keyIndices;if(n=String(n),!Object.hasOwn(r,n)){var i=this._arr,a=i.length;return r[n]=a,i.push({key:n,priority:o}),this._decrease(a),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,o){var r=this._keyIndices[n];if(o>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[r].priority+" New: "+o);this._arr[r].priority=o,this._decrease(r)}_heapify(n){var o=this._arr,r=2*n,i=r+1,a=n;r<o.length&&(a=o[r].priority<o[a].priority?r:a,i<o.length&&(a=o[i].priority<o[a].priority?i:a),a!==n&&(this._swap(n,a),this._heapify(a)))}_decrease(n){for(var o=this._arr,r=o[n].priority,i;n!==0&&(i=n>>1,!(o[i].priority<r));)this._swap(n,i),n=i}_swap(n,o){var r=this._arr,i=this._keyIndices,a=r[n],l=r[o];r[n]=l,r[o]=a,i[l.key]=n,i[a.key]=o}},HI=Wf,Xf=WI,YI=()=>1;function WI(e,n,o,r){return XI(e,String(n),o||YI,r||function(i){return e.outEdges(i)})}function XI(e,n,o,r){var i={},a=new HI,l,s,c=function(d){var f=d.v!==l?d.v:d.w,u=i[f],p=o(d),m=s.distance+p;if(p<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+d+" Weight: "+p);m<u.distance&&(u.distance=m,u.predecessor=l,a.decrease(f,m))};for(e.nodes().forEach(function(d){var f=d===n?0:Number.POSITIVE_INFINITY;i[d]={distance:f},a.add(d,f)});a.size()>0&&(l=a.removeMin(),s=i[l],s.distance!==Number.POSITIVE_INFINITY);)r(l).forEach(c);return i}var ZI=Xf,JI=QI;function QI(e,n,o){return e.nodes().reduce(function(r,i){return r[i]=ZI(e,i,n,o),r},{})}var Zf=eP;function eP(e){var n=0,o=[],r={},i=[];function a(l){var s=r[l]={onStack:!0,lowlink:n,index:n++};if(o.push(l),e.successors(l).forEach(function(f){Object.hasOwn(r,f)?r[f].onStack&&(s.lowlink=Math.min(s.lowlink,r[f].index)):(a(f),s.lowlink=Math.min(s.lowlink,r[f].lowlink))}),s.lowlink===s.index){var c=[],d;do d=o.pop(),r[d].onStack=!1,c.push(d);while(l!==d);i.push(c)}}return e.nodes().forEach(function(l){Object.hasOwn(r,l)||a(l)}),i}var tP=Zf,nP=oP;function oP(e){return tP(e).filter(function(n){return n.length>1||n.length===1&&e.hasEdge(n[0],n[0])})}var rP=aP,iP=()=>1;function aP(e,n,o){return lP(e,n||iP,o||function(r){return e.outEdges(r)})}function lP(e,n,o){var r={},i=e.nodes();return i.forEach(function(a){r[a]={},r[a][a]={distance:0},i.forEach(function(l){a!==l&&(r[a][l]={distance:Number.POSITIVE_INFINITY})}),o(a).forEach(function(l){var s=l.v===a?l.w:l.v,c=n(l);r[a][s]={distance:c,predecessor:a}})}),i.forEach(function(a){var l=r[a];i.forEach(function(s){var c=r[s];i.forEach(function(d){var f=c[a],u=l[d],p=c[d],m=f.distance+u.distance;m<p.distance&&(p.distance=m,p.predecessor=u.predecessor)})})}),r}function Jf(e){var n={},o={},r=[];function i(a){if(Object.hasOwn(o,a))throw new Cl;Object.hasOwn(n,a)||(o[a]=!0,n[a]=!0,e.predecessors(a).forEach(i),delete o[a],r.push(a))}if(e.sinks().forEach(i),Object.keys(n).length!==e.nodeCount())throw new Cl;return r}class Cl extends Error{constructor(){super(...arguments)}}var Qf=Jf;Jf.CycleException=Cl;var ep=Qf,sP=cP;function cP(e){try{ep(e)}catch(n){if(n instanceof ep.CycleException)return!1;throw n}return!0}var tp=dP;function dP(e,n,o){Array.isArray(n)||(n=[n]);var r=e.isDirected()?s=>e.successors(s):s=>e.neighbors(s),i=o==="post"?uP:fP,a=[],l={};return n.forEach(s=>{if(!e.hasNode(s))throw new Error("Graph does not have node: "+s);i(s,r,l,a)}),a}function uP(e,n,o,r){for(var i=[[e,!1]];i.length>0;){var a=i.pop();a[1]?r.push(a[0]):Object.hasOwn(o,a[0])||(o[a[0]]=!0,i.push([a[0],!0]),np(n(a[0]),l=>i.push([l,!1])))}}function fP(e,n,o,r){for(var i=[e];i.length>0;){var a=i.pop();Object.hasOwn(o,a)||(o[a]=!0,r.push(a),np(n(a),l=>i.push(l)))}}function np(e,n){for(var o=e.length;o--;)n(e[o],o,e);return e}var pP=tp,mP=gP;function gP(e,n){return pP(e,n,"post")}var hP=tp,yP=_P;function _P(e,n){return hP(e,n,"pre")}var bP=kl,wP=Wf,EP=kP;function kP(e,n){var o=new bP,r={},i=new wP,a;function l(c){var d=c.v===a?c.w:c.v,f=i.priority(d);if(f!==void 0){var u=n(c);u<f&&(r[d]=a,i.decrease(d,u))}}if(e.nodeCount()===0)return o;e.nodes().forEach(function(c){i.add(c,Number.POSITIVE_INFINITY),o.setNode(c)}),i.decrease(e.nodes()[0],0);for(var s=!1;i.size()>0;){if(a=i.removeMin(),Object.hasOwn(r,a))o.setEdge(a,r[a]);else{if(s)throw new Error("Input graph is not connected: "+e);s=!0}e.nodeEdges(a).forEach(l)}return o}var CP={components:GI,dijkstra:Xf,dijkstraAll:JI,findCycles:nP,floydWarshall:rP,isAcyclic:sP,postorder:mP,preorder:yP,prim:EP,tarjan:Zf,topsort:Qf},op=DI,wt={Graph:op.Graph,json:FI,alg:CP,version:op.version};let NP=class{constructor(){let n={};n._next=n._prev=n,this._sentinel=n}dequeue(){let n=this._sentinel,o=n._prev;if(o!==n)return rp(o),o}enqueue(n){let o=this._sentinel;n._prev&&n._next&&rp(n),n._next=o._next,o._next._prev=n,o._next=n,n._prev=o}toString(){let n=[],o=this._sentinel,r=o._prev;for(;r!==o;)n.push(JSON.stringify(r,vP)),r=r._prev;return"["+n.join(", ")+"]"}};function rp(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function vP(e,n){if(e!=="_next"&&e!=="_prev")return n}var SP=NP;let xP=wt.Graph,AP=SP;var IP=TP;let PP=()=>1;function TP(e,n){if(e.nodeCount()<=1)return[];let o=$P(e,n||PP);return OP(o.graph,o.buckets,o.zeroIdx).flatMap(i=>e.outEdges(i.v,i.w))}function OP(e,n,o){let r=[],i=n[n.length-1],a=n[0],l;for(;e.nodeCount();){for(;l=a.dequeue();)Nl(e,n,o,l);for(;l=i.dequeue();)Nl(e,n,o,l);if(e.nodeCount()){for(let s=n.length-2;s>0;--s)if(l=n[s].dequeue(),l){r=r.concat(Nl(e,n,o,l,!0));break}}}return r}function Nl(e,n,o,r,i){let a=i?[]:void 0;return e.inEdges(r.v).forEach(l=>{let s=e.edge(l),c=e.node(l.v);i&&a.push({v:l.v,w:l.w}),c.out-=s,vl(n,o,c)}),e.outEdges(r.v).forEach(l=>{let s=e.edge(l),c=l.w,d=e.node(c);d.in-=s,vl(n,o,d)}),e.removeNode(r.v),a}function $P(e,n){let o=new xP,r=0,i=0;e.nodes().forEach(s=>{o.setNode(s,{v:s,in:0,out:0})}),e.edges().forEach(s=>{let c=o.edge(s.v,s.w)||0,d=n(s),f=c+d;o.setEdge(s.v,s.w,f),i=Math.max(i,o.node(s.v).out+=d),r=Math.max(r,o.node(s.w).in+=d)});let a=BP(i+r+3).map(()=>new AP),l=r+1;return o.nodes().forEach(s=>{vl(a,l,o.node(s))}),{graph:o,buckets:a,zeroIdx:l}}function vl(e,n,o){o.out?o.in?e[o.out-o.in+n].enqueue(o):e[e.length-1].enqueue(o):e[0].enqueue(o)}function BP(e){const n=[];for(let o=0;o<e;o++)n.push(o);return n}let ip=wt.Graph;var je={addBorderNode:jP,addDummyNode:ap,applyWithChunking:mi,asNonCompoundGraph:RP,buildLayerMatrix:FP,intersectRect:LP,mapValues:XP,maxRank:sp,normalizeRanks:UP,notime:HP,partition:GP,pick:WP,predecessorWeights:DP,range:dp,removeEmptyRanks:KP,simplify:VP,successorWeights:MP,time:zP,uniqueId:cp,zipObject:Sl};function ap(e,n,o,r){for(var i=r;e.hasNode(i);)i=cp(r);return o.dummy=n,e.setNode(i,o),i}function VP(e){let n=new ip().setGraph(e.graph());return e.nodes().forEach(o=>n.setNode(o,e.node(o))),e.edges().forEach(o=>{let r=n.edge(o.v,o.w)||{weight:0,minlen:1},i=e.edge(o);n.setEdge(o.v,o.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),n}function RP(e){let n=new ip({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(o=>{e.children(o).length||n.setNode(o,e.node(o))}),e.edges().forEach(o=>{n.setEdge(o,e.edge(o))}),n}function MP(e){let n=e.nodes().map(o=>{let r={};return e.outEdges(o).forEach(i=>{r[i.w]=(r[i.w]||0)+e.edge(i).weight}),r});return Sl(e.nodes(),n)}function DP(e){let n=e.nodes().map(o=>{let r={};return e.inEdges(o).forEach(i=>{r[i.v]=(r[i.v]||0)+e.edge(i).weight}),r});return Sl(e.nodes(),n)}function LP(e,n){let o=e.x,r=e.y,i=n.x-o,a=n.y-r,l=e.width/2,s=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");let c,d;return Math.abs(a)*l>Math.abs(i)*s?(a<0&&(s=-s),c=s*i/a,d=s):(i<0&&(l=-l),c=l,d=l*a/i),{x:o+c,y:r+d}}function FP(e){let n=dp(sp(e)+1).map(()=>[]);return e.nodes().forEach(o=>{let r=e.node(o),i=r.rank;i!==void 0&&(n[i][r.order]=o)}),n}function UP(e){let n=e.nodes().map(r=>{let i=e.node(r).rank;return i===void 0?Number.MAX_VALUE:i}),o=mi(Math.min,n);e.nodes().forEach(r=>{let i=e.node(r);Object.hasOwn(i,"rank")&&(i.rank-=o)})}function KP(e){let n=e.nodes().map(l=>e.node(l).rank),o=mi(Math.min,n),r=[];e.nodes().forEach(l=>{let s=e.node(l).rank-o;r[s]||(r[s]=[]),r[s].push(l)});let i=0,a=e.graph().nodeRankFactor;Array.from(r).forEach((l,s)=>{l===void 0&&s%a!==0?--i:l!==void 0&&i&&l.forEach(c=>e.node(c).rank+=i)})}function jP(e,n,o,r){let i={width:0,height:0};return arguments.length>=4&&(i.rank=o,i.order=r),ap(e,"border",i,n)}function qP(e,n=lp){const o=[];for(let r=0;r<e.length;r+=n){const i=e.slice(r,r+n);o.push(i)}return o}const lp=65535;function mi(e,n){if(n.length>lp){const o=qP(n);return e.apply(null,o.map(r=>e.apply(null,r)))}else return e.apply(null,n)}function sp(e){const o=e.nodes().map(r=>{let i=e.node(r).rank;return i===void 0?Number.MIN_VALUE:i});return mi(Math.max,o)}function GP(e,n){let o={lhs:[],rhs:[]};return e.forEach(r=>{n(r)?o.lhs.push(r):o.rhs.push(r)}),o}function zP(e,n){let o=Date.now();try{return n()}finally{console.log(e+" time: "+(Date.now()-o)+"ms")}}function HP(e,n){return n()}let YP=0;function cp(e){var n=++YP;return e+(""+n)}function dp(e,n,o=1){n==null&&(n=e,e=0);let r=a=>a<n;o<0&&(r=a=>n<a);const i=[];for(let a=e;r(a);a+=o)i.push(a);return i}function WP(e,n){const o={};for(const r of n)e[r]!==void 0&&(o[r]=e[r]);return o}function XP(e,n){let o=n;return typeof n=="string"&&(o=r=>r[n]),Object.entries(e).reduce((r,[i,a])=>(r[i]=o(a,i),r),{})}function Sl(e,n){return e.reduce((o,r,i)=>(o[r]=n[i],o),{})}let ZP=IP,JP=je.uniqueId;var QP={run:eT,undo:nT};function eT(e){(e.graph().acyclicer==="greedy"?ZP(e,o(e)):tT(e)).forEach(r=>{let i=e.edge(r);e.removeEdge(r),i.forwardName=r.name,i.reversed=!0,e.setEdge(r.w,r.v,i,JP("rev"))});function o(r){return i=>r.edge(i).weight}}function tT(e){let n=[],o={},r={};function i(a){Object.hasOwn(r,a)||(r[a]=!0,o[a]=!0,e.outEdges(a).forEach(l=>{Object.hasOwn(o,l.w)?n.push(l):i(l.w)}),delete o[a])}return e.nodes().forEach(i),n}function nT(e){e.edges().forEach(n=>{let o=e.edge(n);if(o.reversed){e.removeEdge(n);let r=o.forwardName;delete o.reversed,delete o.forwardName,e.setEdge(n.w,n.v,o,r)}})}let oT=je;var rT={run:iT,undo:lT};function iT(e){e.graph().dummyChains=[],e.edges().forEach(n=>aT(e,n))}function aT(e,n){let o=n.v,r=e.node(o).rank,i=n.w,a=e.node(i).rank,l=n.name,s=e.edge(n),c=s.labelRank;if(a===r+1)return;e.removeEdge(n);let d,f,u;for(u=0,++r;r<a;++u,++r)s.points=[],f={width:0,height:0,edgeLabel:s,edgeObj:n,rank:r},d=oT.addDummyNode(e,"edge",f,"_d"),r===c&&(f.width=s.width,f.height=s.height,f.dummy="edge-label",f.labelpos=s.labelpos),e.setEdge(o,d,{weight:s.weight},l),u===0&&e.graph().dummyChains.push(d),o=d;e.setEdge(o,i,{weight:s.weight},l)}function lT(e){e.graph().dummyChains.forEach(n=>{let o=e.node(n),r=o.edgeLabel,i;for(e.setEdge(o.edgeObj,r);o.dummy;)i=e.successors(n)[0],e.removeNode(n),r.points.push({x:o.x,y:o.y}),o.dummy==="edge-label"&&(r.x=o.x,r.y=o.y,r.width=o.width,r.height=o.height),n=i,o=e.node(n)})}const{applyWithChunking:sT}=je;var gi={longestPath:cT,slack:dT};function cT(e){var n={};function o(r){var i=e.node(r);if(Object.hasOwn(n,r))return i.rank;n[r]=!0;let a=e.outEdges(r).map(s=>s==null?Number.POSITIVE_INFINITY:o(s.w)-e.edge(s).minlen);var l=sT(Math.min,a);return l===Number.POSITIVE_INFINITY&&(l=0),i.rank=l}e.sources().forEach(o)}function dT(e,n){return e.node(n.w).rank-e.node(n.v).rank-e.edge(n).minlen}var uT=wt.Graph,hi=gi.slack,up=fT;function fT(e){var n=new uT({directed:!1}),o=e.nodes()[0],r=e.nodeCount();n.setNode(o,{});for(var i,a;pT(n,e)<r;)i=mT(n,e),a=n.hasNode(i.v)?hi(e,i):-hi(e,i),gT(n,e,a);return n}function pT(e,n){function o(r){n.nodeEdges(r).forEach(i=>{var a=i.v,l=r===a?i.w:a;!e.hasNode(l)&&!hi(n,i)&&(e.setNode(l,{}),e.setEdge(r,l,{}),o(l))})}return e.nodes().forEach(o),e.nodeCount()}function mT(e,n){return n.edges().reduce((r,i)=>{let a=Number.POSITIVE_INFINITY;return e.hasNode(i.v)!==e.hasNode(i.w)&&(a=hi(n,i)),a<r[0]?[a,i]:r},[Number.POSITIVE_INFINITY,null])[1]}function gT(e,n,o){e.nodes().forEach(r=>n.node(r).rank+=o)}var hT=up,fp=gi.slack,yT=gi.longestPath,_T=wt.alg.preorder,bT=wt.alg.postorder,wT=je.simplify,ET=En;En.initLowLimValues=Al,En.initCutValues=xl,En.calcCutValue=pp,En.leaveEdge=gp,En.enterEdge=hp,En.exchangeEdges=yp;function En(e){e=wT(e),yT(e);var n=hT(e);Al(n),xl(n,e);for(var o,r;o=gp(n);)r=hp(n,e,o),yp(n,e,o,r)}function xl(e,n){var o=bT(e,e.nodes());o=o.slice(0,o.length-1),o.forEach(r=>kT(e,n,r))}function kT(e,n,o){var r=e.node(o),i=r.parent;e.edge(o,i).cutvalue=pp(e,n,o)}function pp(e,n,o){var r=e.node(o),i=r.parent,a=!0,l=n.edge(o,i),s=0;return l||(a=!1,l=n.edge(i,o)),s=l.weight,n.nodeEdges(o).forEach(c=>{var d=c.v===o,f=d?c.w:c.v;if(f!==i){var u=d===a,p=n.edge(c).weight;if(s+=u?p:-p,NT(e,o,f)){var m=e.edge(o,f).cutvalue;s+=u?-m:m}}}),s}function Al(e,n){arguments.length<2&&(n=e.nodes()[0]),mp(e,{},1,n)}function mp(e,n,o,r,i){var a=o,l=e.node(r);return n[r]=!0,e.neighbors(r).forEach(s=>{Object.hasOwn(n,s)||(o=mp(e,n,o,s,r))}),l.low=a,l.lim=o++,i?l.parent=i:delete l.parent,o}function gp(e){return e.edges().find(n=>e.edge(n).cutvalue<0)}function hp(e,n,o){var r=o.v,i=o.w;n.hasEdge(r,i)||(r=o.w,i=o.v);var a=e.node(r),l=e.node(i),s=a,c=!1;a.lim>l.lim&&(s=l,c=!0);var d=n.edges().filter(f=>c===_p(e,e.node(f.v),s)&&c!==_p(e,e.node(f.w),s));return d.reduce((f,u)=>fp(n,u)<fp(n,f)?u:f)}function yp(e,n,o,r){var i=o.v,a=o.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),Al(e),xl(e,n),CT(e,n)}function CT(e,n){var o=e.nodes().find(i=>!n.node(i).parent),r=_T(e,o);r=r.slice(1),r.forEach(i=>{var a=e.node(i).parent,l=n.edge(i,a),s=!1;l||(l=n.edge(a,i),s=!0),n.node(i).rank=n.node(a).rank+(s?l.minlen:-l.minlen)})}function NT(e,n,o){return e.hasEdge(n,o)}function _p(e,n,o){return o.low<=n.lim&&n.lim<=o.lim}var vT=gi,bp=vT.longestPath,ST=up,xT=ET,AT=IT;function IT(e){var n=e.graph().ranker;if(n instanceof Function)return n(e);switch(e.graph().ranker){case"network-simplex":wp(e);break;case"tight-tree":TT(e);break;case"longest-path":PT(e);break;case"none":break;default:wp(e)}}var PT=bp;function TT(e){bp(e),ST(e)}function wp(e){xT(e)}var OT=$T;function $T(e){let n=VT(e);e.graph().dummyChains.forEach(o=>{let r=e.node(o),i=r.edgeObj,a=BT(e,n,i.v,i.w),l=a.path,s=a.lca,c=0,d=l[c],f=!0;for(;o!==i.w;){if(r=e.node(o),f){for(;(d=l[c])!==s&&e.node(d).maxRank<r.rank;)c++;d===s&&(f=!1)}if(!f){for(;c<l.length-1&&e.node(d=l[c+1]).minRank<=r.rank;)c++;d=l[c]}e.setParent(o,d),o=e.successors(o)[0]}})}function BT(e,n,o,r){let i=[],a=[],l=Math.min(n[o].low,n[r].low),s=Math.max(n[o].lim,n[r].lim),c,d;c=o;do c=e.parent(c),i.push(c);while(c&&(n[c].low>l||s>n[c].lim));for(d=c,c=r;(c=e.parent(c))!==d;)a.push(c);return{path:i.concat(a.reverse()),lca:d}}function VT(e){let n={},o=0;function r(i){let a=o;e.children(i).forEach(r),n[i]={low:a,lim:o++}}return e.children().forEach(r),n}let yi=je;var RT={run:MT,cleanup:FT};function MT(e){let n=yi.addDummyNode(e,"root",{},"_root"),o=DT(e),r=Object.values(o),i=yi.applyWithChunking(Math.max,r)-1,a=2*i+1;e.graph().nestingRoot=n,e.edges().forEach(s=>e.edge(s).minlen*=a);let l=LT(e)+1;e.children().forEach(s=>Ep(e,n,a,l,i,o,s)),e.graph().nodeRankFactor=a}function Ep(e,n,o,r,i,a,l){let s=e.children(l);if(!s.length){l!==n&&e.setEdge(n,l,{weight:0,minlen:o});return}let c=yi.addBorderNode(e,"_bt"),d=yi.addBorderNode(e,"_bb"),f=e.node(l);e.setParent(c,l),f.borderTop=c,e.setParent(d,l),f.borderBottom=d,s.forEach(u=>{Ep(e,n,o,r,i,a,u);let p=e.node(u),m=p.borderTop?p.borderTop:u,h=p.borderBottom?p.borderBottom:u,y=p.borderTop?r:2*r,g=m!==h?1:i-a[l]+1;e.setEdge(c,m,{weight:y,minlen:g,nestingEdge:!0}),e.setEdge(h,d,{weight:y,minlen:g,nestingEdge:!0})}),e.parent(l)||e.setEdge(n,c,{weight:0,minlen:i+a[l]})}function DT(e){var n={};function o(r,i){var a=e.children(r);a&&a.length&&a.forEach(l=>o(l,i+1)),n[r]=i}return e.children().forEach(r=>o(r,1)),n}function LT(e){return e.edges().reduce((n,o)=>n+e.edge(o).weight,0)}function FT(e){var n=e.graph();e.removeNode(n.nestingRoot),delete n.nestingRoot,e.edges().forEach(o=>{var r=e.edge(o);r.nestingEdge&&e.removeEdge(o)})}let UT=je;var KT=jT;function jT(e){function n(o){let r=e.children(o),i=e.node(o);if(r.length&&r.forEach(n),Object.hasOwn(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(let a=i.minRank,l=i.maxRank+1;a<l;++a)kp(e,"borderLeft","_bl",o,i,a),kp(e,"borderRight","_br",o,i,a)}}e.children().forEach(n)}function kp(e,n,o,r,i,a){let l={width:0,height:0,rank:a,borderType:n},s=i[n][a-1],c=UT.addDummyNode(e,"border",l,o);i[n][a]=c,e.setParent(c,r),s&&e.setEdge(s,c,{weight:1})}var qT={adjust:GT,undo:zT};function GT(e){let n=e.graph().rankdir.toLowerCase();(n==="lr"||n==="rl")&&Cp(e)}function zT(e){let n=e.graph().rankdir.toLowerCase();(n==="bt"||n==="rl")&&HT(e),(n==="lr"||n==="rl")&&(YT(e),Cp(e))}function Cp(e){e.nodes().forEach(n=>Np(e.node(n))),e.edges().forEach(n=>Np(e.edge(n)))}function Np(e){let n=e.width;e.width=e.height,e.height=n}function HT(e){e.nodes().forEach(n=>Il(e.node(n))),e.edges().forEach(n=>{let o=e.edge(n);o.points.forEach(Il),Object.hasOwn(o,"y")&&Il(o)})}function Il(e){e.y=-e.y}function YT(e){e.nodes().forEach(n=>Pl(e.node(n))),e.edges().forEach(n=>{let o=e.edge(n);o.points.forEach(Pl),Object.hasOwn(o,"x")&&Pl(o)})}function Pl(e){let n=e.x;e.x=e.y,e.y=n}let vp=je;var WT=XT;function XT(e){let n={},o=e.nodes().filter(c=>!e.children(c).length),r=o.map(c=>e.node(c).rank),i=vp.applyWithChunking(Math.max,r),a=vp.range(i+1).map(()=>[]);function l(c){if(n[c])return;n[c]=!0;let d=e.node(c);a[d.rank].push(c),e.successors(c).forEach(l)}return o.sort((c,d)=>e.node(c).rank-e.node(d).rank).forEach(l),a}let ZT=je.zipObject;var JT=QT;function QT(e,n){let o=0;for(let r=1;r<n.length;++r)o+=eO(e,n[r-1],n[r]);return o}function eO(e,n,o){let r=ZT(o,o.map((d,f)=>f)),i=n.flatMap(d=>e.outEdges(d).map(f=>({pos:r[f.w],weight:e.edge(f).weight})).sort((f,u)=>f.pos-u.pos)),a=1;for(;a<o.length;)a<<=1;let l=2*a-1;a-=1;let s=new Array(l).fill(0),c=0;return i.forEach(d=>{let f=d.pos+a;s[f]+=d.weight;let u=0;for(;f>0;)f%2&&(u+=s[f+1]),f=f-1>>1,s[f]+=d.weight;c+=d.weight*u}),c}var tO=nO;function nO(e,n=[]){return n.map(o=>{let r=e.inEdges(o);if(r.length){let i=r.reduce((a,l)=>{let s=e.edge(l),c=e.node(l.v);return{sum:a.sum+s.weight*c.order,weight:a.weight+s.weight}},{sum:0,weight:0});return{v:o,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:o}})}let oO=je;var rO=iO;function iO(e,n){let o={};e.forEach((i,a)=>{let l=o[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};i.barycenter!==void 0&&(l.barycenter=i.barycenter,l.weight=i.weight)}),n.edges().forEach(i=>{let a=o[i.v],l=o[i.w];a!==void 0&&l!==void 0&&(l.indegree++,a.out.push(o[i.w]))});let r=Object.values(o).filter(i=>!i.indegree);return aO(r)}function aO(e){let n=[];function o(i){return a=>{a.merged||(a.barycenter===void 0||i.barycenter===void 0||a.barycenter>=i.barycenter)&&lO(i,a)}}function r(i){return a=>{a.in.push(i),--a.indegree===0&&e.push(a)}}for(;e.length;){let i=e.pop();n.push(i),i.in.reverse().forEach(o(i)),i.out.forEach(r(i))}return n.filter(i=>!i.merged).map(i=>oO.pick(i,["vs","i","barycenter","weight"]))}function lO(e,n){let o=0,r=0;e.weight&&(o+=e.barycenter*e.weight,r+=e.weight),n.weight&&(o+=n.barycenter*n.weight,r+=n.weight),e.vs=n.vs.concat(e.vs),e.barycenter=o/r,e.weight=r,e.i=Math.min(n.i,e.i),n.merged=!0}let sO=je;var cO=dO;function dO(e,n){let o=sO.partition(e,f=>Object.hasOwn(f,"barycenter")),r=o.lhs,i=o.rhs.sort((f,u)=>u.i-f.i),a=[],l=0,s=0,c=0;r.sort(uO(!!n)),c=Sp(a,i,c),r.forEach(f=>{c+=f.vs.length,a.push(f.vs),l+=f.barycenter*f.weight,s+=f.weight,c=Sp(a,i,c)});let d={vs:a.flat(!0)};return s&&(d.barycenter=l/s,d.weight=s),d}function Sp(e,n,o){let r;for(;n.length&&(r=n[n.length-1]).i<=o;)n.pop(),e.push(r.vs),o++;return o}function uO(e){return(n,o)=>n.barycenter<o.barycenter?-1:n.barycenter>o.barycenter?1:e?o.i-n.i:n.i-o.i}let fO=tO,pO=rO,mO=cO;var gO=xp;function xp(e,n,o,r){let i=e.children(n),a=e.node(n),l=a?a.borderLeft:void 0,s=a?a.borderRight:void 0,c={};l&&(i=i.filter(p=>p!==l&&p!==s));let d=fO(e,i);d.forEach(p=>{if(e.children(p.v).length){let m=xp(e,p.v,o,r);c[p.v]=m,Object.hasOwn(m,"barycenter")&&yO(p,m)}});let f=pO(d,o);hO(f,c);let u=mO(f,r);if(l&&(u.vs=[l,u.vs,s].flat(!0),e.predecessors(l).length)){let p=e.node(e.predecessors(l)[0]),m=e.node(e.predecessors(s)[0]);Object.hasOwn(u,"barycenter")||(u.barycenter=0,u.weight=0),u.barycenter=(u.barycenter*u.weight+p.order+m.order)/(u.weight+2),u.weight+=2}return u}function hO(e,n){e.forEach(o=>{o.vs=o.vs.flatMap(r=>n[r]?n[r].vs:r)})}function yO(e,n){e.barycenter!==void 0?(e.barycenter=(e.barycenter*e.weight+n.barycenter*n.weight)/(e.weight+n.weight),e.weight+=n.weight):(e.barycenter=n.barycenter,e.weight=n.weight)}let _O=wt.Graph,bO=je;var wO=EO;function EO(e,n,o){let r=kO(e),i=new _O({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(a=>e.node(a));return e.nodes().forEach(a=>{let l=e.node(a),s=e.parent(a);(l.rank===n||l.minRank<=n&&n<=l.maxRank)&&(i.setNode(a),i.setParent(a,s||r),e[o](a).forEach(c=>{let d=c.v===a?c.w:c.v,f=i.edge(d,a),u=f!==void 0?f.weight:0;i.setEdge(d,a,{weight:e.edge(c).weight+u})}),Object.hasOwn(l,"minRank")&&i.setNode(a,{borderLeft:l.borderLeft[n],borderRight:l.borderRight[n]}))}),i}function kO(e){for(var n;e.hasNode(n=bO.uniqueId("_root")););return n}var CO=NO;function NO(e,n,o){let r={},i;o.forEach(a=>{let l=e.parent(a),s,c;for(;l;){if(s=e.parent(l),s?(c=r[s],r[s]=l):(c=i,i=l),c&&c!==l){n.setEdge(c,l);return}l=s}})}let vO=WT,SO=JT,xO=gO,AO=wO,IO=CO,PO=wt.Graph,_i=je;var TO=Ap;function Ap(e,n){if(n&&typeof n.customOrder=="function"){n.customOrder(e,Ap);return}let o=_i.maxRank(e),r=Ip(e,_i.range(1,o+1),"inEdges"),i=Ip(e,_i.range(o-1,-1,-1),"outEdges"),a=vO(e);if(Pp(e,a),n&&n.disableOptimalOrderHeuristic)return;let l=Number.POSITIVE_INFINITY,s;for(let c=0,d=0;d<4;++c,++d){OO(c%2?r:i,c%4>=2),a=_i.buildLayerMatrix(e);let f=SO(e,a);f<l&&(d=0,s=Object.assign({},a),l=f)}Pp(e,s)}function Ip(e,n,o){return n.map(function(r){return AO(e,r,o)})}function OO(e,n){let o=new PO;e.forEach(function(r){let i=r.graph().root,a=xO(r,i,o,n);a.vs.forEach((l,s)=>r.node(l).order=s),IO(r,o,a.vs)})}function Pp(e,n){Object.values(n).forEach(o=>o.forEach((r,i)=>e.node(r).order=i))}let $O=wt.Graph,Kt=je;var BO={positionX:GO};function VO(e,n){let o={};function r(i,a){let l=0,s=0,c=i.length,d=a[a.length-1];return a.forEach((f,u)=>{let p=MO(e,f),m=p?e.node(p).order:c;(p||f===d)&&(a.slice(s,u+1).forEach(h=>{e.predecessors(h).forEach(y=>{let g=e.node(y),_=g.order;(_<l||m<_)&&!(g.dummy&&e.node(h).dummy)&&Tp(o,y,h)})}),s=u+1,l=m)}),a}return n.length&&n.reduce(r),o}function RO(e,n){let o={};function r(a,l,s,c,d){let f;Kt.range(l,s).forEach(u=>{f=a[u],e.node(f).dummy&&e.predecessors(f).forEach(p=>{let m=e.node(p);m.dummy&&(m.order<c||m.order>d)&&Tp(o,p,f)})})}function i(a,l){let s=-1,c,d=0;return l.forEach((f,u)=>{if(e.node(f).dummy==="border"){let p=e.predecessors(f);p.length&&(c=e.node(p[0]).order,r(l,d,u,s,c),d=u,s=c)}r(l,d,l.length,c,a.length)}),l}return n.length&&n.reduce(i),o}function MO(e,n){if(e.node(n).dummy)return e.predecessors(n).find(o=>e.node(o).dummy)}function Tp(e,n,o){if(n>o){let i=n;n=o,o=i}let r=e[n];r||(e[n]=r={}),r[o]=!0}function DO(e,n,o){if(n>o){let r=n;n=o,o=r}return!!e[n]&&Object.hasOwn(e[n],o)}function LO(e,n,o,r){let i={},a={},l={};return n.forEach(s=>{s.forEach((c,d)=>{i[c]=c,a[c]=c,l[c]=d})}),n.forEach(s=>{let c=-1;s.forEach(d=>{let f=r(d);if(f.length){f=f.sort((p,m)=>l[p]-l[m]);let u=(f.length-1)/2;for(let p=Math.floor(u),m=Math.ceil(u);p<=m;++p){let h=f[p];a[d]===d&&c<l[h]&&!DO(o,d,h)&&(a[h]=d,a[d]=i[d]=i[h],c=l[h])}}})}),{root:i,align:a}}function FO(e,n,o,r,i){let a={},l=UO(e,n,o,i),s=i?"borderLeft":"borderRight";function c(u,p){let m=l.nodes(),h=m.pop(),y={};for(;h;)y[h]?u(h):(y[h]=!0,m.push(h),m=m.concat(p(h))),h=m.pop()}function d(u){a[u]=l.inEdges(u).reduce((p,m)=>Math.max(p,a[m.v]+l.edge(m)),0)}function f(u){let p=l.outEdges(u).reduce((h,y)=>Math.min(h,a[y.w]-l.edge(y)),Number.POSITIVE_INFINITY),m=e.node(u);p!==Number.POSITIVE_INFINITY&&m.borderType!==s&&(a[u]=Math.max(a[u],p))}return c(d,l.predecessors.bind(l)),c(f,l.successors.bind(l)),Object.keys(r).forEach(u=>a[u]=a[o[u]]),a}function UO(e,n,o,r){let i=new $O,a=e.graph(),l=zO(a.nodesep,a.edgesep,r);return n.forEach(s=>{let c;s.forEach(d=>{let f=o[d];if(i.setNode(f),c){var u=o[c],p=i.edge(u,f);i.setEdge(u,f,Math.max(l(e,d,c),p||0))}c=d})}),i}function KO(e,n){return Object.values(n).reduce((o,r)=>{let i=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;Object.entries(r).forEach(([s,c])=>{let d=HO(e,s)/2;i=Math.max(c+d,i),a=Math.min(c-d,a)});const l=i-a;return l<o[0]&&(o=[l,r]),o},[Number.POSITIVE_INFINITY,null])[1]}function jO(e,n){let o=Object.values(n),r=Kt.applyWithChunking(Math.min,o),i=Kt.applyWithChunking(Math.max,o);["u","d"].forEach(a=>{["l","r"].forEach(l=>{let s=a+l,c=e[s];if(c===n)return;let d=Object.values(c),f=r-Kt.applyWithChunking(Math.min,d);l!=="l"&&(f=i-Kt.applyWithChunking(Math.max,d)),f&&(e[s]=Kt.mapValues(c,u=>u+f))})})}function qO(e,n){return Kt.mapValues(e.ul,(o,r)=>{if(n)return e[n.toLowerCase()][r];{let i=Object.values(e).map(a=>a[r]).sort((a,l)=>a-l);return(i[1]+i[2])/2}})}function GO(e){let n=Kt.buildLayerMatrix(e),o=Object.assign(VO(e,n),RO(e,n)),r={},i;["u","d"].forEach(l=>{i=l==="u"?n:Object.values(n).reverse(),["l","r"].forEach(s=>{s==="r"&&(i=i.map(u=>Object.values(u).reverse()));let c=(l==="u"?e.predecessors:e.successors).bind(e),d=LO(e,i,o,c),f=FO(e,i,d.root,d.align,s==="r");s==="r"&&(f=Kt.mapValues(f,u=>-u)),r[l+s]=f})});let a=KO(e,r);return jO(r,a),qO(r,e.graph().align)}function zO(e,n,o){return(r,i,a)=>{let l=r.node(i),s=r.node(a),c=0,d;if(c+=l.width/2,Object.hasOwn(l,"labelpos"))switch(l.labelpos.toLowerCase()){case"l":d=-l.width/2;break;case"r":d=l.width/2;break}if(d&&(c+=o?d:-d),d=0,c+=(l.dummy?n:e)/2,c+=(s.dummy?n:e)/2,c+=s.width/2,Object.hasOwn(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":d=s.width/2;break;case"r":d=-s.width/2;break}return d&&(c+=o?d:-d),d=0,c}}function HO(e,n){return e.node(n).width}let Op=je,YO=BO.positionX;var WO=XO;function XO(e){e=Op.asNonCompoundGraph(e),ZO(e),Object.entries(YO(e)).forEach(([n,o])=>e.node(n).x=o)}function ZO(e){let n=Op.buildLayerMatrix(e),o=e.graph().ranksep,r=0;n.forEach(i=>{const a=i.reduce((l,s)=>{const c=e.node(s).height;return l>c?l:c},0);i.forEach(l=>e.node(l).y=r+a/2),r+=a+o})}let $p=QP,Bp=rT,JO=AT,QO=je.normalizeRanks,e$=OT,t$=je.removeEmptyRanks,Vp=RT,n$=KT,Rp=qT,o$=TO,r$=WO,pt=je,i$=wt.Graph;var a$=l$;function l$(e,n){let o=n&&n.debugTiming?pt.time:pt.notime;o("layout",()=>{let r=o(" buildLayoutGraph",()=>y$(e));o(" runLayout",()=>s$(r,o,n)),o(" updateInputGraph",()=>c$(e,r))})}function s$(e,n,o){n(" makeSpaceForEdgeLabels",()=>_$(e)),n(" removeSelfEdges",()=>x$(e)),n(" acyclic",()=>$p.run(e)),n(" nestingGraph.run",()=>Vp.run(e)),n(" rank",()=>JO(pt.asNonCompoundGraph(e))),n(" injectEdgeLabelProxies",()=>b$(e)),n(" removeEmptyRanks",()=>t$(e)),n(" nestingGraph.cleanup",()=>Vp.cleanup(e)),n(" normalizeRanks",()=>QO(e)),n(" assignRankMinMax",()=>w$(e)),n(" removeEdgeLabelProxies",()=>E$(e)),n(" normalize.run",()=>Bp.run(e)),n(" parentDummyChains",()=>e$(e)),n(" addBorderSegments",()=>n$(e)),n(" order",()=>o$(e,o)),n(" insertSelfEdges",()=>A$(e)),n(" adjustCoordinateSystem",()=>Rp.adjust(e)),n(" position",()=>r$(e)),n(" positionSelfEdges",()=>I$(e)),n(" removeBorderNodes",()=>S$(e)),n(" normalize.undo",()=>Bp.undo(e)),n(" fixupEdgeLabelCoords",()=>N$(e)),n(" undoCoordinateSystem",()=>Rp.undo(e)),n(" translateGraph",()=>k$(e)),n(" assignNodeIntersects",()=>C$(e)),n(" reversePoints",()=>v$(e)),n(" acyclic.undo",()=>$p.undo(e))}function c$(e,n){e.nodes().forEach(o=>{let r=e.node(o),i=n.node(o);r&&(r.x=i.x,r.y=i.y,r.rank=i.rank,n.children(o).length&&(r.width=i.width,r.height=i.height))}),e.edges().forEach(o=>{let r=e.edge(o),i=n.edge(o);r.points=i.points,Object.hasOwn(i,"x")&&(r.x=i.x,r.y=i.y)}),e.graph().width=n.graph().width,e.graph().height=n.graph().height}let d$=["nodesep","edgesep","ranksep","marginx","marginy"],u$={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},f$=["acyclicer","ranker","rankdir","align"],p$=["width","height","rank"],Mp={width:0,height:0},m$=["minlen","weight","width","height","labeloffset"],g$={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},h$=["labelpos"];function y$(e){let n=new i$({multigraph:!0,compound:!0}),o=Ol(e.graph());return n.setGraph(Object.assign({},u$,Tl(o,d$),pt.pick(o,f$))),e.nodes().forEach(r=>{let i=Ol(e.node(r));const a=Tl(i,p$);Object.keys(Mp).forEach(l=>{a[l]===void 0&&(a[l]=Mp[l])}),n.setNode(r,a),n.setParent(r,e.parent(r))}),e.edges().forEach(r=>{let i=Ol(e.edge(r));n.setEdge(r,Object.assign({},g$,Tl(i,m$),pt.pick(i,h$)))}),n}function _$(e){let n=e.graph();n.ranksep/=2,e.edges().forEach(o=>{let r=e.edge(o);r.minlen*=2,r.labelpos.toLowerCase()!=="c"&&(n.rankdir==="TB"||n.rankdir==="BT"?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function b$(e){e.edges().forEach(n=>{let o=e.edge(n);if(o.width&&o.height){let r=e.node(n.v),a={rank:(e.node(n.w).rank-r.rank)/2+r.rank,e:n};pt.addDummyNode(e,"edge-proxy",a,"_ep")}})}function w$(e){let n=0;e.nodes().forEach(o=>{let r=e.node(o);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,n=Math.max(n,r.maxRank))}),e.graph().maxRank=n}function E$(e){e.nodes().forEach(n=>{let o=e.node(n);o.dummy==="edge-proxy"&&(e.edge(o.e).labelRank=o.rank,e.removeNode(n))})}function k$(e){let n=Number.POSITIVE_INFINITY,o=0,r=Number.POSITIVE_INFINITY,i=0,a=e.graph(),l=a.marginx||0,s=a.marginy||0;function c(d){let f=d.x,u=d.y,p=d.width,m=d.height;n=Math.min(n,f-p/2),o=Math.max(o,f+p/2),r=Math.min(r,u-m/2),i=Math.max(i,u+m/2)}e.nodes().forEach(d=>c(e.node(d))),e.edges().forEach(d=>{let f=e.edge(d);Object.hasOwn(f,"x")&&c(f)}),n-=l,r-=s,e.nodes().forEach(d=>{let f=e.node(d);f.x-=n,f.y-=r}),e.edges().forEach(d=>{let f=e.edge(d);f.points.forEach(u=>{u.x-=n,u.y-=r}),Object.hasOwn(f,"x")&&(f.x-=n),Object.hasOwn(f,"y")&&(f.y-=r)}),a.width=o-n+l,a.height=i-r+s}function C$(e){e.edges().forEach(n=>{let o=e.edge(n),r=e.node(n.v),i=e.node(n.w),a,l;o.points?(a=o.points[0],l=o.points[o.points.length-1]):(o.points=[],a=i,l=r),o.points.unshift(pt.intersectRect(r,a)),o.points.push(pt.intersectRect(i,l))})}function N$(e){e.edges().forEach(n=>{let o=e.edge(n);if(Object.hasOwn(o,"x"))switch((o.labelpos==="l"||o.labelpos==="r")&&(o.width-=o.labeloffset),o.labelpos){case"l":o.x-=o.width/2+o.labeloffset;break;case"r":o.x+=o.width/2+o.labeloffset;break}})}function v$(e){e.edges().forEach(n=>{let o=e.edge(n);o.reversed&&o.points.reverse()})}function S$(e){e.nodes().forEach(n=>{if(e.children(n).length){let o=e.node(n),r=e.node(o.borderTop),i=e.node(o.borderBottom),a=e.node(o.borderLeft[o.borderLeft.length-1]),l=e.node(o.borderRight[o.borderRight.length-1]);o.width=Math.abs(l.x-a.x),o.height=Math.abs(i.y-r.y),o.x=a.x+o.width/2,o.y=r.y+o.height/2}}),e.nodes().forEach(n=>{e.node(n).dummy==="border"&&e.removeNode(n)})}function x$(e){e.edges().forEach(n=>{if(n.v===n.w){var o=e.node(n.v);o.selfEdges||(o.selfEdges=[]),o.selfEdges.push({e:n,label:e.edge(n)}),e.removeEdge(n)}})}function A$(e){var n=pt.buildLayerMatrix(e);n.forEach(o=>{var r=0;o.forEach((i,a)=>{var l=e.node(i);l.order=a+r,(l.selfEdges||[]).forEach(s=>{pt.addDummyNode(e,"selfedge",{width:s.label.width,height:s.label.height,rank:l.rank,order:a+ ++r,e:s.e,label:s.label},"_se")}),delete l.selfEdges})})}function I$(e){e.nodes().forEach(n=>{var o=e.node(n);if(o.dummy==="selfedge"){var r=e.node(o.e.v),i=r.x+r.width/2,a=r.y,l=o.x-i,s=r.height/2;e.setEdge(o.e,o.label),e.removeNode(n),o.label.points=[{x:i+2*l/3,y:a-s},{x:i+5*l/6,y:a-s},{x:i+l,y:a},{x:i+5*l/6,y:a+s},{x:i+2*l/3,y:a+s}],o.label.x=o.x,o.label.y=o.y}})}function Tl(e,n){return pt.mapValues(pt.pick(e,n),Number)}function Ol(e){var n={};return e&&Object.entries(e).forEach(([o,r])=>{typeof o=="string"&&(o=o.toLowerCase()),n[o]=r}),n}let P$=je,T$=wt.Graph;var O$={debugOrdering:$$};function $$(e){let n=P$.buildLayerMatrix(e),o=new T$({compound:!0,multigraph:!0}).setGraph({});return e.nodes().forEach(r=>{o.setNode(r,{label:r}),o.setParent(r,"layer"+e.node(r).rank)}),e.edges().forEach(r=>o.setEdge(r.v,r.w,{},r.name)),n.forEach((r,i)=>{let a="layer"+i;o.setNode(a,{rank:"same"}),r.reduce((l,s)=>(o.setEdge(l,s,{style:"invis"}),s))}),o}var B$="1.1.5",V$={graphlib:wt,layout:a$,debug:O$,util:{time:je.time,notime:je.notime},version:B$};const Dp=$I(V$);function R$(){const e=(...o)=>{console.warn("TOASTER_PROVIDER is not provided",...o)},n=t.inject(dc,e);return o=>n(o)}function bi(e,n,o){const r=n?zt(e,o,n):void 0;return`${e.name}${r?`.${r.name}`:""}`}function Ko(e,n){const o=n(e.source),r=n(e.target);return[bi(o,e.sourceField,"output"),bi(r,e.targetField,"input")]}function $l(e,n,o,r,i){const a=i(e),l=i(o);return[bi(a,n,"output"),bi(l,r,"input")]}function M$(e){t.provide(qf,e)}function Lp(){return t.inject(qf,void 0)}function D$(){const e=Lp();if(!e)throw new Error("Confirm modal not provided");return e}function Fp(e){const n=e.match(/^(input|output)s@(.*)$/);if(n)return{io:n[1],field:n[2]}}function L$(){const e={x1:Number.POSITIVE_INFINITY,y1:Number.POSITIVE_INFINITY,x2:Number.NEGATIVE_INFINITY,y2:Number.NEGATIVE_INFINITY};return[r=>{e.x1=Math.min(e.x1,r.x),e.y1=Math.min(e.y1,r.y),e.x2=Math.max(e.x2,r.x+r.width),e.y2=Math.max(e.y2,r.y+r.height)},()=>{const r={...e};return r.x1>r.x2&&(r.x1=r.x2=0),r.y1>r.y2&&(r.y1=r.y2=0),r}]}const F$={default:Uw,hover:jw,selected:Kw};let Up,Bl;function wi(e){const n=e.id===Up?"selected":e.id===Bl?"hover":"default",o=F$[n],{markerEnd:r}=e,i=typeof r=="object"?{...r,color:o}:{type:r,color:o};return{...e,style:{...e.style,stroke:o},markerEnd:i,zIndex:n==="default"?void 0:1}}const[U$,K$]=Je.createInjectionState(function(e){const{phase:n,flowId:o,layoutOptions:r,readonly:i}=e,{viewport:a,padding:l=Do.padding,gaps:s=Do.gaps}=r,{nodes:c=Do.gaps.nodes,edges:d=Do.gaps.edges,ranks:f=Do.gaps.ranks}=s,u=Ie(o),p=lt(),m=Lp(),h=R$(),{i18n:{t:y}}=xe(),{findNode:g,fitView:_,deleteKeyCode:w,onNodeClick:b,onNodeDragStop:v,onEdgeClick:N,onConnect:E,onNodesChange:T,onEdgesChange:P,onEdgeUpdate:D,onEdgeMouseEnter:K,onEdgeMouseLeave:j,setEdges:A}=u;w.value=["Delete","Backspace"];const{state:W,commit:I,moveNode:U,selectNode:M,removeNode:ee,getNodeById:H,connectEdge:G,disconnectEdge:V,getInEdgesByNodeId:B,commit:Z,undo:re}=p;function Y(q,Q){const $=H(q.source),k=H(q.target);return!!($&&k&&$.phase===Q&&k.phase===Q)}const ie=t.computed(()=>W.value.nodes.filter(q=>q.phase===n).map(q=>({id:q.id,type:"flow",position:q.position,data:q,deletable:!Ld(q)}))),ae=t.computed(()=>W.value.edges.filter(q=>Y(q,n)).map(q=>{const Q=H(q.source),$=H(q.target);if(Q){if(!$)throw new Error(`Missing target node "${q.target}" for edge "${q.id}" in phase "${n}"`)}else throw new Error(`Missing source node "${q.source}" for edge "${q.id}" in phase "${n}"`);return wi({id:q.id,source:q.source,target:q.target,sourceHandle:q.sourceField?`outputs@${q.sourceField}`:"output",targetHandle:q.targetField?`inputs@${q.targetField}`:"input",markerEnd:Zr.ArrowClosed,data:q,updatable:!i})})),ge=t.computed(()=>({padding:l/Math.max(t.toValue(a==null?void 0:a.width)??0,t.toValue(a==null?void 0:a.height)??0)}));b(({node:q})=>{console.debug("[useFlow] onNodeClick",t.toRaw(q))}),N(({edge:q})=>{console.debug("[useFlow] onEdgeClick",t.toRaw(q))});async function me({source:q,sourceHandle:Q,target:$,targetHandle:k}){if(console.debug("[useFlow] onConnect",{source:q,sourceHandle:Q,target:$,targetHandle:k}),!Q||!k)return;const C=Fp(Q),x=Fp(k);if((C==null?void 0:C.io)==="input"||(x==null?void 0:x.io)==="output")return;const S=B($);let O=!1,F=!1;const J=[],R=[],X=(x==null?void 0:x.io)==="input"?S.filter(le=>!le.targetField):S.filter(le=>!!le.targetField);X.length>0&&(O=!0,X.forEach(le=>{R.push(Ko(le,H)),V(le.id,!1)}));const L=(x==null?void 0:x.io)==="input"?S.filter(le=>le.targetField===x.field):S.filter(le=>!le.targetField);if(L.length>0){if(L.some(oe=>oe.source===q&&oe.target===$&&oe.targetField===(x==null?void 0:x.field)&&oe.sourceField===(C==null?void 0:C.field)))return;F=!0,L.forEach(oe=>{R.push(Ko(oe,H)),V(oe.id,!1)})}const ue=G({source:q,sourceField:C==null?void 0:C.field,target:$,targetField:x==null?void 0:x.field},!1);if(J.push($l(q,C==null?void 0:C.field,$,x==null?void 0:x.field,H)),Z(),ue){if(O||F){if(!m)throw new Error("Expected confirm modal to be provided here when reachable");await m(y(O?"plugins.free-form.datakit.flow_editor.confirm.message.switch":"plugins.free-form.datakit.flow_editor.confirm.message.override"),J,R)||re()}}else re(),h({message:y("plugins.free-form.datakit.flow_editor.error.invalid_connection"),appearance:"danger"})}E(me),T(q=>{q.filter(Q=>Q.type==="select").sort((Q,$)=>Q.selected===$.selected?0:Q.selected?1:-1).forEach(Q=>{M(Q.selected?Q.id:void 0)}),q.forEach(Q=>{Q.type==="remove"&&ee(Q.id,!0)})}),v(({node:q})=>{q&&U(q.id,q.position)}),P(q=>{q.filter($=>$.type==="select").sort(($,k)=>$.selected===k.selected?0:$.selected?1:-1).forEach($=>{Up=$.selected?$.id:void 0,A(k=>k.map(C=>C.id!==$.id||!C.markerEnd?C:wi({...C,zIndex:$.selected?1:void 0})))}),q.forEach($=>{$.type==="remove"&&V($.id,!0)})}),K(({edge:q})=>{Bl=q.id,A(Q=>Q.map($=>$.id!==q.id?$:wi($)))}),j(({edge:q})=>{Bl=void 0,A(Q=>Q.map($=>$.id!==q.id?$:wi($)))}),D(({edge:q,connection:Q})=>{V(q.id,!1),me(Q)});function te(){let q,Q;const $=[],k=oe=>{switch(oe.data.name){case"request":{if(n!=="request")throw new Error(`Unexpected request node in ${n} phase`);if(q)throw new Error("Duplicated request node in request phase");return q=oe,!0}case"service_request":{if(n!=="request")throw new Error(`Unexpected service_request node in ${n} phase`);if(Q)throw new Error("Duplicated service_request node in request phase");return Q=oe,!0}case"service_response":{if(n!=="response")throw new Error(`Unexpected service_response node in ${n} phase`);if(Q)throw new Error("Duplicated service_response node in response phase");return Q=oe,!0}case"response":{if(n!=="response")throw new Error(`Unexpected response node in ${n} phase`);if(q)throw new Error("Duplicated response node in response phase");return q=oe,!0}default:return $.push(oe),!1}};let C;for(const oe of ie.value)if(!k(oe)&&$.length>0){C||(C=new Dp.graphlib.Graph({multigraph:!0}),C.setGraph({rankdir:n==="request"?"LR":"RL",nodesep:c,edgesep:d,ranksep:f}));const fe=g(oe.id);if(!fe)throw new Error(`Node ${oe.id} is missing from the graph in ${n} phase`);C.setNode(oe.id,{width:fe.dimensions.width,height:fe.dimensions.height})}if(!q||!Q)throw new Error(`One or more implicit nodes are missing from ${n} phase`);const x=g(q.id),S=g(Q.id);if(!x||!S)throw new Error(`One or more implicit nodes are missing from the graph in ${n} phase`);if($.length>0){if(!C)throw new Error("dagreGraph should be defined here if reachable");const oe=new Set([q.id,Q.id]);for(const fe of ae.value)!oe.has(fe.source)&&!oe.has(fe.target)&&C.setEdge(fe.source,fe.target,{points:[]});Dp.layout(C)}const[O,F]=L$(),J=oe=>({x:oe.x-oe.width/2,y:oe.y-oe.height/2,width:oe.width,height:oe.height});if($.length>0){if(!C)throw new Error("dagreGraph should be defined here if reachable");for(const oe of $){const fe=C.node(oe.id),pe=J(fe);O(pe),U(oe.data.id,{x:pe.x,y:pe.y},!1)}}const R=F(),X=R.x2-R.x1,L=R.y2-R.y1,ue=Math.max(0,Math.min(t.toValue(a==null?void 0:a.width)??Number.POSITIVE_INFINITY,PI)-X-2*c-x.dimensions.width-S.dimensions.width-2*l),le=R.y1+L/2;U(q.data.id,{x:R.x1-c-ue/2-x.dimensions.width,y:le-x.dimensions.height/2},!1),U(Q.data.id,{x:R.x2+c+ue/2,y:le-S.dimensions.height/2},!1),I()}function ne(q){_({...ge.value,...q})}return{vueFlowStore:u,editorStore:p,readonly:i,nodes:ie,edges:ae,autoLayout:te,fitViewParams:ge,fitView:ne}}),Ei=we(t.defineComponent({__name:"HandleTwig",props:{color:{},position:{default:()=>ye.Left},size:{default:()=>Number.parseFloat(Hw)},type:{}},setup(e){t.useCssVars(o=>({"753622c4":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.position===t.unref(ye).Left?"left":"right"]]),style:t.normalizeStyle(n.value)},null,6))}}),[["__scopeId","data-v-eb2bc3f2"]]),Kp=t.defineComponent({__name:"NodeBadge",props:{type:{},size:{}},setup(e){const n=t.computed(()=>{var i;if(!Rt(e.type))return((i=vr[e.type])==null?void 0:i.icon)??void 0}),o=t.computed(()=>RC(e.type)),r=t.computed(()=>{switch(e.type){case"call":return"warning";case"jq":return"decorative";case"exit":return"danger";case"property":return"success";case"static":return"info";default:return"neutral"}});return(i,a)=>{const l=t.resolveComponent("KBadge");return t.openBlock(),t.createBlock(l,{appearance:r.value,size:i.size},{icon:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(n.value)))]),default:t.withCtx(()=>[t.createTextVNode(" "+t.toDisplayString(o.value),1)]),_:1},8,["appearance","size"])}}}),j$={class:"body"},q$={class:"info-line"},G$={class:"name-and-error"},z$={class:"name"},H$={class:"input-handles"},Y$={class:"handle"},W$={class:"handle-label-wrapper"},X$={class:"handle-label-wrapper"},Z$={class:"handle-label text"},J$={class:"output-handles"},Q$={class:"handle"},eB={class:"handle-label-wrapper"},tB={class:"handle-label-wrapper"},nB={class:"handle-label"},jp=we(t.defineComponent({__name:"FlowNode",props:{data:{},error:{type:Boolean}},setup(e){const{t:n}=Le.createI18n("en-us",Ge),o=K$(),{getInEdgesByNodeId:r,getOutEdgesByNodeId:i,toggleExpanded:a}=lt(),l=t.computed(()=>Pa(e.data.type)),s=t.computed(()=>r(e.data.id).every(v=>v.targetField===void 0)),c=t.computed(()=>i(e.data.id).every(v=>v.sourceField===void 0)),d=t.computed(()=>e.data.expanded.input??!1),f=t.computed(()=>e.data.expanded.output??!1),u=t.computed(()=>{var v,N;if(e.data.type==="property"){const E=(v=e.data.config)==null?void 0:v.property;return wl(E)}return(N=l.value.io)==null?void 0:N.input}),p=t.computed(()=>{var v,N;if(e.data.type==="property"){const E=(v=e.data.config)==null?void 0:v.property;return bl(E)}return(N=l.value.io)==null?void 0:N.output}),m=t.computed(()=>Ld(e.data)),h=t.computed(()=>e.data.phase==="response"),y=t.computed(()=>e.data.phase==="request"?ye.Left:ye.Right),g=t.computed(()=>e.data.phase==="request"?ye.Right:ye.Left),_=t.computed(()=>m.value?n(`plugins.free-form.datakit.flow_editor.node_types.${e.data.type}.name`):e.data.name),w=t.computed(()=>m.value?Dw:Lw);function b(v){o!=null&&o.readonly||v==="input"&&!s.value||v==="output"&&!c.value||a(e.data.id,v)}return t.watch(s,v=>{v||a(e.data.id,"input",!0,!1)},{immediate:!0}),t.watch(c,v=>{v||a(e.data.id,"output",!0,!1)},{immediate:!0}),(v,N)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["flow-node",{reversed:h.value,implicit:m.value}])},[t.createElementVNode("div",j$,[t.createElementVNode("div",q$,[t.createElementVNode("div",G$,[v.error?(t.openBlock(),t.createBlock(t.unref(Ce.WarningIcon),{key:0,class:"error-icon",color:t.unref(Ic),size:16},null,8,["color"])):t.createCommentVNode("",!0),t.createElementVNode("div",z$,t.toDisplayString(_.value),1)]),m.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(Kp,{key:0,size:"small",type:v.data.type},null,8,["type"]))]),t.renderSlot(v.$slots,"default",{},void 0,!0)]),t.createElementVNode("div",{class:t.normalizeClass(["handles",{reversed:h.value}])},[t.createElementVNode("div",H$,[u.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createElementVNode("div",Y$,[t.createVNode(t.unref(Jt),{id:"input",position:y.value,type:"target"},null,8,["position"]),t.createElementVNode("div",W$,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label",{"has-fields":v.data.fields.input.length>0,collapsible:s.value}])},[N[2]||(N[2]=t.createElementVNode("div",{class:"text"}," inputs ",-1)),v.data.fields.input.length>0?(t.openBlock(),t.createElementBlock("div",{key:0,class:"icon",onClick:N[0]||(N[0]=t.withModifiers(E=>b("input"),["stop"]))},[d.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ce.UnfoldMoreIcon),{key:0,size:t.unref(mo)},null,8,["size"])),d.value?(t.openBlock(),t.createBlock(t.unref(Ce.UnfoldLessIcon),{key:1,color:s.value?void 0:t.unref(Pc),size:t.unref(mo)},null,8,["color","size"])):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],2),d.value?(t.openBlock(),t.createBlock(Ei,{key:0,color:w.value,position:y.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)])]),d.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(v.data.fields.input,(E,T)=>(t.openBlock(),t.createElementBlock("div",{key:`inputs-${E.id}`,class:"handle indented"},[t.createVNode(t.unref(Jt),{id:`inputs@${E.id}`,position:y.value,type:"target"},null,8,["id","position"]),t.createElementVNode("div",X$,[t.createElementVNode("div",Z$,t.toDisplayString(E.name),1),t.createVNode(Ei,{color:w.value,position:y.value,type:T<v.data.fields.input.length-1?"trident":"corner"},null,8,["color","position","type"])])]))),128)):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)]),t.createElementVNode("div",J$,[p.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createElementVNode("div",Q$,[t.createElementVNode("div",eB,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label text",{"has-fields":v.data.fields.output.length>0,collapsible:c.value}])},[N[3]||(N[3]=t.createElementVNode("div",{class:"text"}," outputs ",-1)),v.data.fields.output.length>0?(t.openBlock(),t.createElementBlock("div",{key:0,class:"icon",onClick:N[1]||(N[1]=t.withModifiers(E=>b("output"),["stop"]))},[f.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ce.UnfoldMoreIcon),{key:0,size:t.unref(mo)},null,8,["size"])),f.value?(t.openBlock(),t.createBlock(t.unref(Ce.UnfoldLessIcon),{key:1,color:c.value?void 0:t.unref(Pc),size:t.unref(mo)},null,8,["color","size"])):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],2),f.value?(t.openBlock(),t.createBlock(Ei,{key:0,color:w.value,position:g.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(Jt),{id:"output",position:g.value,type:"source"},null,8,["position"])]),f.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(v.data.fields.output,(E,T)=>(t.openBlock(),t.createElementBlock("div",{key:`outputs-${E.id}`,class:"handle indented"},[t.createElementVNode("div",tB,[t.createElementVNode("div",nB,t.toDisplayString(E.name),1),t.createVNode(Ei,{color:w.value,position:g.value,type:T<v.data.fields.output.length-1?"trident":"corner"},null,8,["color","position","type"])]),t.createVNode(t.unref(Jt),{id:`outputs@${E.id}`,position:g.value,type:"source"},null,8,["id","position"])]))),128)):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)])],2)],2))}}),[["__scopeId","data-v-53d68cac"]]),qp=we(t.defineComponent({__name:"FlowCanvas",props:{flowId:{},phase:{},readonly:{type:Boolean}},emits:["initialized"],setup(e,{expose:n,emit:o}){const r=o,i=t.useTemplateRef("flowCanvas"),a=Je.useElementBounding(i),{vueFlowStore:l,editorStore:s,nodes:c,edges:d,autoLayout:f,fitViewParams:u,fitView:p}=U$({phase:e.phase,flowId:e.flowId,layoutOptions:{viewport:{width:a.width,height:a.height}},readonly:e.readonly}),{addNode:m,selectNode:h,propertiesPanelOpen:y,newCreatedNodeId:g,invalidConfigNodeIds:_}=s,{project:w,vueFlowRef:b,addSelectedNodes:v,getNodes:N}=l;async function E(K){h(K),await t.nextTick();const j=N.value.find(A=>A.id===K);v(j?[j]:[])}function T(){e.readonly||(y.value=!0)}function P(K){var V,B;if(e.readonly)return;const j=(V=K.dataTransfer)==null?void 0:V.getData(jf);if(!j)return;K.preventDefault();const A=JSON.parse(j);if(A.action!=="create-node")return;const{top:W=0,left:I=0}=((B=b.value)==null?void 0:B.getBoundingClientRect())||{},U=w({x:K.clientX-I,y:K.clientY-W}),{type:M,anchor:ee}=A.data,H={type:M,phase:e.phase,position:{x:U.x-ee.offsetX,y:U.y-ee.offsetY}},G=m(H);E(G),G&&(g.value=G,y.value=!0)}const D=()=>{f(),t.nextTick(()=>p())};return n({autoLayout:f,fitView:p}),(K,j)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowCanvas",ref:i,class:"dk-flow-canvas"},[t.createVNode(t.unref(Ff),{id:K.flowId,class:t.normalizeClass(["flow",{readonly:K.readonly}]),edges:t.unref(d),"elements-selectable":!K.readonly,"max-zoom":t.unref(TI),"min-zoom":t.unref(OI),"multi-selection-key-code":null,nodes:t.unref(c),"nodes-connectable":!K.readonly,"nodes-draggable":!K.readonly,"pan-on-drag":K.readonly?!1:void 0,"pan-on-scroll":K.readonly?!1:void 0,"zoom-on-double-click":K.readonly?!1:void 0,"zoom-on-pinch":K.readonly?!1:void 0,"zoom-on-scroll":K.readonly?!1:void 0,onDragover:j[0]||(j[0]=t.withModifiers(()=>{},["prevent"])),onDrop:j[1]||(j[1]=A=>P(A)),onNodeClick:T,onNodesInitialized:j[2]||(j[2]=A=>r("initialized"))},{"node-flow":t.withCtx(A=>[t.createVNode(jp,{data:A.data,error:t.unref(_).has(A.data.id)},null,8,["data","error"])]),default:t.withCtx(()=>[t.createVNode(t.unref(JA)),K.readonly?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(NI),{key:0,"fit-view-params":t.unref(u),position:"bottom-left","show-interactive":!1},{default:t.withCtx(()=>[t.createElementVNode("button",{class:"vue-flow__controls-button vue-flow__controls-interactive custom",onClick:D},[t.createVNode(t.unref(Ce.SparklesIcon),{size:18})])]),_:1},8,["fit-view-params"]))]),_:1},8,["id","class","edges","elements-selectable","max-zoom","min-zoom","nodes","nodes-connectable","nodes-draggable","pan-on-drag","pan-on-scroll","zoom-on-double-click","zoom-on-pinch","zoom-on-scroll"])],512))}}),[["__scopeId","data-v-7a524f21"]]),Gp=we(t.defineComponent({__name:"FlowPanels",props:{readonly:{type:Boolean},resizable:{type:Boolean}},setup(e,{expose:n}){const o=t.ref([!1,!1]),{state:r,markAsLayoutCompleted:i}=lt(),a=t.useId(),l=`${a}-request`,s=`${a}-response`,c=Ie(l),d=Ie(s);function f(V,B){const{onPaneClick:Z,onNodesChange:re,onEdgesChange:Y,getSelectedNodes:ie,getSelectedEdges:ae}=V,{removeSelectedElements:ge}=B;function me(te){if(!te){ge();return}te.some(ne=>ne.type==="select")&&ie.value.length+ae.value.length>0&&ge()}re(me),Y(me),Z(()=>me())}f(c,d),f(d,c);const u=t.useTemplateRef("flowPanels"),p=t.useTemplateRef("requestLabel"),m=t.useTemplateRef("requestCanvasContainer"),h=t.useTemplateRef("requestFlow"),y=t.useTemplateRef("resizeHandle"),g=t.useTemplateRef("responseLabel"),_=t.useTemplateRef("responseCanvasContainer"),w=t.useTemplateRef("responseFlow"),b=Je.useElementBounding(u),v=Je.useElementBounding(p),N=Je.useElementBounding(m),E=Je.useElementBounding(y),T=Je.useElementBounding(g),P=Je.useElementBounding(_),D=t.computed(()=>Math.max(30,b.height.value*.03)),K=t.computed(()=>N.height.value<D.value),j=t.computed(()=>P.height.value<D.value),A=t.ref("50%"),W=t.ref("50%"),I=()=>{e.resizable&&(K.value?(A.value="50%",W.value="50%"):(A.value="0",W.value="100%"))},U=()=>{e.resizable&&(j.value?(A.value="50%",W.value="50%"):(A.value="100%",W.value="0"))},M=t.computed(()=>b.height.value-v.height.value-E.height.value-T.height.value),{isDragging:ee}=Je.useDraggable(y,{onMove(V){if(!e.resizable)return;const B=Math.max(0,V.y-N.top.value),Z=Math.min(1,Math.max(0,B/M.value));A.value=`${Z*100}%`,W.value=`${(1-Z)*100}%`},onEnd(){e.resizable&&(N.height.value<D.value?(A.value="0",W.value="100%"):P.height.value<D.value&&(A.value="100%",W.value="0"))}}),H=()=>{t.nextTick(()=>{var V,B;(V=h.value)==null||V.fitView(),(B=w.value)==null||B.fitView()})},G=t.watch(o,([V,B])=>{var Z,re;V&&B&&(r.value.needLayout&&((Z=h.value)==null||Z.autoLayout(),(re=w.value)==null||re.autoLayout(),i()),H(),G.stop())},{deep:!0});return n({fitView:H}),(V,B)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowPanels",ref:u,class:"flow-panels"},[t.createElementVNode("div",{ref_key:"requestLabel",ref:p,class:t.normalizeClass(["label request",{resizable:V.resizable}]),onClick:I},[V.resizable?(t.openBlock(),t.createBlock(t.unref(Ce.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:K.value}])},null,8,["class"])):t.createCommentVNode("",!0),B[2]||(B[2]=t.createElementVNode("div",{class:"label-content"}," Request ",-1))],2),t.createElementVNode("div",{ref_key:"requestCanvasContainer",ref:m,class:t.normalizeClass(["canvas",{dragging:t.unref(ee)}]),style:t.normalizeStyle({flexBasis:A.value})},[t.createVNode(qp,{ref_key:"requestFlow",ref:h,"flow-id":l,phase:"request",readonly:V.readonly,onInitialized:B[0]||(B[0]=Z=>o.value[0]=!0)},null,8,["readonly"])],6),t.createElementVNode("div",{ref_key:"resizeHandle",ref:y,class:t.normalizeClass(["resize-handle",{resizable:V.resizable}])},null,2),t.createElementVNode("div",{ref_key:"responseLabel",ref:g,class:t.normalizeClass(["label response",{dragging:t.unref(ee),resizable:V.resizable}]),onClick:U},[V.resizable?(t.openBlock(),t.createBlock(t.unref(Ce.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:j.value}])},null,8,["class"])):t.createCommentVNode("",!0),B[3]||(B[3]=t.createElementVNode("div",{class:"label-content"}," Response ",-1))],2),t.createElementVNode("div",{ref_key:"responseCanvasContainer",ref:_,class:t.normalizeClass(["canvas response",{dragging:t.unref(ee)}]),style:t.normalizeStyle({flexBasis:W.value})},[t.createVNode(qp,{ref_key:"responseFlow",ref:w,"flow-id":s,phase:"response",readonly:V.readonly,onInitialized:B[1]||(B[1]=Z=>o.value[1]=!0)},null,8,["readonly"])],6)],512))}}),[["__scopeId","data-v-9e1d5742"]]),oB={class:"dk-confirm-modal-body"},rB={class:"dk-confirm-modal-connections"},iB=we(t.defineComponent({__name:"ConflictConnectionConfirmModal",props:{title:{},message:{},addedConnections:{},removedConnections:{}},emits:["cancel","confirm"],setup(e,{expose:n,emit:o}){const{i18n:{t:r}}=xe(),i=o,a=t.ref(!1),l=t.ref(e.message),s=t.ref(e.addedConnections??[]),c=t.ref(e.removedConnections??[]);let d=null;function f(){a.value=!1,i("cancel"),d==null||d(!1)}function u(){a.value=!1,i("confirm"),d==null||d(!0)}async function p(m,h,y){return l.value=m,s.value=h??[],c.value=y??[],a.value=!0,await new Promise(g=>{d=g})}return n({open:p}),(m,h)=>{const y=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(y,{"action-button-text":t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.proceed"),"close-on-backdrop-click":"","max-width":"660px",title:m.title??t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.title"),visible:a.value,"z-index":9999,onCancel:f,onProceed:u},{default:t.withCtx(()=>[t.createElementVNode("div",oB,[t.createElementVNode("p",null,t.toDisplayString(l.value),1),t.createElementVNode("p",null,t.toDisplayString(t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.message.confirm")),1),t.createElementVNode("div",rB,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value??[],([g,_])=>(t.openBlock(),t.createElementBlock("div",{key:`${g}-${_}`},[t.createVNode(t.unref(Ce.AddIcon),{color:t.unref(Fw)},null,8,["color"]),t.createElementVNode("span",null,t.toDisplayString(g),1),h[0]||(h[0]=t.createTextVNode(" → ",-1)),t.createElementVNode("span",null,t.toDisplayString(_),1)]))),128)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.value??[],([g,_])=>(t.openBlock(),t.createElementBlock("div",{key:`${g}-${_}`},[t.createVNode(t.unref(Ce.RemoveIcon),{color:t.unref(Ic)},null,8,["color"]),t.createElementVNode("span",null,t.toDisplayString(g),1),h[1]||(h[1]=t.createTextVNode(" → ",-1)),t.createElementVNode("span",null,t.toDisplayString(_),1)]))),128))])])]),_:1},8,["action-button-text","title","visible"])}}}),[["__scopeId","data-v-c4d58082"]]),aB={class:"dk-editor-nav"},lB={class:"top"},sB={class:"bottom"},cB=we(t.defineComponent({__name:"EditorNav",emits:["back"],setup(e,{emit:n}){const{t:o}=Le.createI18n("en-us",Ge),r=n,i=[{label:o("plugins.free-form.datakit.flow_editor.return_to_config"),icon:Ce.ArrowLeftIcon,onClick:()=>r("back")}],{sidePanelExpanded:a}=$a(),l=t.computed(()=>a.value?o("plugins.free-form.datakit.flow_editor.collapse_panel"):o("plugins.free-form.datakit.flow_editor.expand_panel")),s=t.ref(!1);function c(){a.value=!a.value}return(d,f)=>(t.openBlock(),t.createElementBlock("nav",aB,[t.createElementVNode("div",lB,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(i,({label:u,to:p,icon:m,onClick:h})=>t.createVNode(t.unref($e.KTooltip),{key:u,"kpop-attributes":{offset:"10px"},label:u,placement:"right"},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.unref($e.KButton),{key:u,appearance:"none",class:"nav-item",icon:"",to:p,onClick:h},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(m),{decorative:"",size:t.unref(ua)},null,8,["size"]))]),_:2},1032,["to","onClick"]))]),_:2},1032,["label"])),64))]),t.createElementVNode("div",sB,[t.createElementVNode("div",{class:t.normalizeClass(["side-panel-toggle",{expanded:t.unref(a)}]),onTransitionend:f[0]||(f[0]=t.withModifiers(u=>s.value=!1,["self"])),onTransitionstart:f[1]||(f[1]=t.withModifiers(u=>s.value=!0,["self"]))},[t.createVNode(t.unref($e.KTooltip),{label:s.value?void 0:l.value,placement:t.unref(a)?"left":"right"},{default:t.withCtx(()=>[t.createVNode(t.unref($e.KButton),{appearance:"none",class:"nav-item nav-item-toggle",icon:"",size:"large",onClick:c},{default:t.withCtx(()=>[t.unref(a)?(t.openBlock(),t.createBlock(t.unref(Ce.ChevronDoubleLeftIcon),{key:0,decorative:"",size:t.unref(ua)},null,8,["size"])):(t.openBlock(),t.createBlock(t.unref(Ce.ChevronDoubleRightIcon),{key:1,decorative:"",size:t.unref(ua)},null,8,["size"]))]),_:1})]),_:1},8,["label","placement"])],34)])]))}}),[["__scopeId","data-v-4498cfce"]]),dB={class:"dk-editor-main"},uB={class:"header"},fB={class:"actions"},pB={ref:"canvasContainer",class:"body"},mB=we(t.defineComponent({__name:"EditorMain",setup(e){const{t:n}=Le.createI18n("en-us",Ge),{modalOpen:o}=lt();function r(){o.value=!1}return(i,a)=>(t.openBlock(),t.createElementBlock("div",dB,[t.createElementVNode("header",uB,[t.createElementVNode("div",fB,[t.createVNode(t.unref($e.KButton),{appearance:"tertiary",target:"_blank",to:"https://developer.konghq.com/plugins/datakit/"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.view_docs"))+" ",1),t.createVNode(t.unref(Ce.ExternalLinkIcon))]),_:1}),t.createVNode(t.unref($e.KButton),{onClick:r},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.done")),1)]),_:1})])]),t.createElementVNode("div",pB,[t.createVNode(Gp,{resizable:""})],512)]))}}),[["__scopeId","data-v-8f04d495"]]),gB={class:"icon"},hB={class:"content"},yB={class:"title"},_B={class:"description"},bB=we(t.defineComponent({__name:"NodePanelItem",props:{type:{}},setup(e){const{summary:n,icon:o}=vr[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",gB,[t.createVNode(t.unref(o),{size:16})]),t.createElementVNode("div",hB,[t.createElementVNode("div",yB,t.toDisplayString(r.type),1),t.createElementVNode("div",_B,t.toDisplayString(t.unref(n)),1)])],2))}}),[["__scopeId","data-v-e75cecee"]]),wB={class:"dk-node-panel"},EB={class:"title"},kB={class:"node-list"},CB={"aria-hidden":"true",class:"preview",inert:""},NB=we(t.defineComponent({__name:"NodePanel",setup(e){const{t:n}=Le.createI18n("en-us",Ge),{createNode:o}=lt(),r=`dk-drag-preview-${t.useId()}`,i=t.shallowRef(),a=t.computed(()=>i.value?[{id:"preview",type:"flow",data:i.value,position:{x:0,y:0}}]:[]),l=async(s,c)=>{var P,D;const d=s.currentTarget,{left:f,top:u,width:p,height:m}=d.getBoundingClientRect(),h=s.clientX-f,y=s.clientY-u;i.value=o({type:c}),await t.nextTick();const g=document.querySelector(`#${r}`)||d,_=g.cloneNode(!0),{offsetWidth:w,offsetHeight:b}=g;Object.assign(_.style,{position:"absolute",top:"-9999px",left:"-9999px",width:`${w}px`,height:`${b}px`,boxSizing:"border-box"}),document.body.appendChild(_);const v=h/p,N=y/m,E={ratioX:v,ratioY:N,offsetX:w*v,offsetY:b*N},T={action:"create-node",data:{type:c,anchor:E}};(P=s.dataTransfer)==null||P.setData(jf,JSON.stringify(T)),(D=s.dataTransfer)==null||D.setDragImage(_,E.offsetX,E.offsetY),requestAnimationFrame(()=>{_.remove(),i.value=void 0})};return(s,c)=>{const d=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",wB,[t.createElementVNode("h3",EB,[t.createVNode(d,{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",kB,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Object.keys(t.unref(vr)),f=>(t.openBlock(),t.createBlock(bB,{key:f,draggable:"true",type:f,onDragstart:u=>l(u,f)},null,8,["type","onDragstart"]))),128))]),t.createElementVNode("div",CB,[t.createVNode(t.unref(Ff),{nodes:a.value},{"node-flow":t.withCtx(f=>[t.createVNode(jp,{id:r,data:f.data},null,8,["data"])]),_:1},8,["nodes"])])])}}}),[["__scopeId","data-v-8e8421d3"]]),vB=t.defineComponent({__name:"HttpMethodField",props:{name:{}},setup(e){return(n,o)=>(t.openBlock(),t.createBlock(kt,{items:t.unref(ea)([...t.unref(II)]),name:n.name},null,8,["items","name"]))}}),SB=we(t.defineComponent({__name:"InputsRecordField",props:{name:{},items:{}},emits:["change:inputs"],setup(e){const{getSchema:n}=De(),{i18n:o}=xe(),r=t.computed(()=>{const i=n("inputs");return i?i.fields.map(a=>Object.keys(a)[0]):[]});return(i,a)=>(t.openBlock(),t.createBlock(tt,{"as-child":"",name:i.name,"reset-label-path":"isolate"},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.value,l=>(t.openBlock(),t.createBlock(kt,{key:l,class:"dk-inputs-field-indent",clearable:"",items:i.items,name:l,placeholder:t.unref(o).t("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s=>i.$emit("change:inputs",l,s?s.value:null)},null,8,["items","name","placeholder","onChange"]))),128))]),_:1},8,["name"]))}}),[["__scopeId","data-v-a849b44b"]]),xB=["data-testid"],AB={class:"dk-inputs-map-field-entry-body"},IB={class:"dk-inputs-map-field-entry-content"},PB={class:"dk-inputs-map-field-indent"},TB=we(t.defineComponent({__name:"InputsMapField",props:{items:{},fieldNameValidator:{},name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{}},emits:["change:inputs","add:field","remove:field","rename:field","change"],setup(e,{emit:n}){const o=e,r=n,{entries:i,addEntry:a,removeEntry:l,field:s}=sa(o,r),{i18n:{t:c}}=xe(),d=t.useTemplateRef("root"),f=t.ref(null),u=t.ref({});let p;async function m(N,E="key"){var T;d.value&&(await t.nextTick(),(T=d.value.querySelector(`[data-${E}-input="${N}"]`))==null||T.focus())}function h(){const{id:N}=a(),E=i.value.findIndex(({key:T})=>!T);m(E===-1?i.value.length-1:E),f.value=N}function y(N){l(N.id),N.id===f.value&&(f.value=null),N.key.trim()!==""&&r("remove:field",N.key)}function g(N){p=N.key}function _(N){if(w(N)){N.key=p,delete u.value[N.id];return}if(N.id===f.value){if(N.key.trim()==="")return;r("add:field",N.key,N.value),f.value=null}else r("rename:field",p,N.key);p=N.key}function w(N){delete u.value[N.id];const E=o.fieldNameValidator("input",p,N.key);if(E)return u.value[N.id]=E,E}function b(N){w(N)}function v(N,E){N.id!==f.value&&r("change:inputs",N.key,E)}return(N,E)=>{const T=t.resolveComponent("KAlert"),P=t.resolveComponent("KLabel"),D=t.resolveComponent("KInput"),K=t.resolveComponent("KSelect"),j=t.resolveComponent("KButton");return t.unref(s).error?(t.openBlock(),t.createBlock(T,{key:0,appearance:"danger",message:t.unref(s).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:d,class:"dk-inputs-map-field"},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),(A,W)=>(t.openBlock(),t.createElementBlock("div",{key:A.id,class:"dk-inputs-map-field-entry dk-inputs-map-field-indent","data-testid":`ff-kv-container-${t.unref(s).path.value}.${W}`},[t.createVNode(P,{for:`ff-kv-entry-key-${t.unref(s).path.value}.${W}`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input_name.label")),1)]),_:2},1032,["for"]),t.createElementVNode("div",AB,[t.createElementVNode("div",IB,[t.createVNode(D,{id:`ff-kv-entry-key-${t.unref(s).path.value}.${W}`,modelValue:A.key,"onUpdate:modelValue":[I=>A.key=I,I=>w(A)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":W,"data-testid":`ff-key-${t.unref(s).path.value}.${W}`,error:!!u.value[A.id],"error-message":u.value[A.id],placeholder:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input_name.placeholder"),onBlur:I=>b(A),onChange:I=>_(A),onFocus:I=>g(A)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","placeholder","onBlur","onChange","onFocus"]),t.createVNode(K,{modelValue:A.value,"onUpdate:modelValue":I=>A.value=I,class:"ff-kv-field-entry-value",clearable:"","data-testid":`ff-value-${t.unref(s).path.value}.${W}`,items:N.items,placeholder:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:I=>v(A,(I==null?void 0:I.value)??null)},null,8,["modelValue","onUpdate:modelValue","data-testid","items","placeholder","onChange"])]),t.createVNode(j,{appearance:"none","data-testid":`ff-kv-remove-btn-${t.unref(s).path.value}.${W}`,icon:"",onClick:I=>y(A)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.CloseIcon))]),_:2},1032,["data-testid","onClick"])])],8,xB))),128)),t.createElementVNode("div",PB,[t.createVNode(j,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(s).path.value}`,disabled:!!f.value,onClick:h},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.add_button")),1)]),_:1},8,["data-testid","disabled"])])],512))}}}),[["__scopeId","data-v-685121cd"]]),Xn=t.defineComponent({__name:"InputsField",props:{items:{},fieldNames:{},fieldNameValidator:{}},emits:["change:input","change:inputs","add:field","remove:field","rename:field"],setup(e,{emit:n}){const o=n,{getSchema:r}=De(),{i18n:i}=xe(),a=t.computed(()=>r("inputs")),l=t.computed(()=>a.value?a.value.type==="record"?SB:TB:null);function s(p){o("change:input",p?p.value:null)}function c(p,m){o("add:field",p,m)}function d(p,m){o("change:inputs",p,m)}function f(p){o("remove:field",p)}function u(p,m){o("rename:field",p,m)}return(p,m)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.unref(r)("input")?(t.openBlock(),t.createBlock(kt,{key:0,clearable:"","enable-filtering":"",items:p.items,label:"Inputs",name:"input",placeholder:t.unref(i).t("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s},null,8,["items","placeholder"])):t.createCommentVNode("",!0),l.value?(t.openBlock(),t.createBlock(t.unref(l),{key:1,"field-name-validator":p.fieldNameValidator,items:p.items,"key-order":p.fieldNames,name:"inputs","onAdd:field":c,"onChange:inputs":d,"onRemove:field":f,"onRename:field":u},null,8,["field-name-validator","items","key-order"])):t.createCommentVNode("",!0)],64))}}),OB={fields:[{input:{description:"filter input(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"call node inputs",fields:[{body:{description:"HTTP request body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP request headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{query:{description:"HTTP request query",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}}],type:"record"},$B={fields:[{input:{description:"filter input(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"call node inputs",fields:[{body:{description:"HTTP request body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP request headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}}],type:"record"};function BB(e){const n=Number(e);return!isNaN(n)&&isFinite(n)}function Zn(...e){return function(o){for(const r of e){const i=r(o);if(i)return i}}}function Jn(e){const{i18n:{t:n}}=xe(),o=()=>e?typeof e=="string"?e:n("plugins.free-form.datakit.flow_editor.node_properties.errors.not_empty",e):"Field is required";return function(i){if(i==null||typeof i=="string"&&i.trim()==="")return o()}}function zp(e,n){const{i18n:{t:o}}=xe();return function(i){if(i!=null)switch(e){case"identifier":{const a=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.invalid_identifier_format",n):"Invalid identifier format";return/^[A-Za-z_][A-Za-z0-9_-]*$/.test(i)?void 0:a()}case"url":{const a=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.invalid_url_format"):"Invalid URL format";try{new URL(i);return}catch{return a()}}default:return}}}function VB(e=0,n=1/0,o){const{i18n:{t:r}}=xe();return function(a){if(a!=null&&typeof a=="string"&&(a.length<e||a.length>n))return o?typeof o=="string"?o:r("plugins.free-form.datakit.flow_editor.node_properties.errors.string_len_range",{fieldName:o.fieldName,minLength:e,maxLength:n}):`Value must be between ${e} and ${n} characters`}}function Hp(e){const{i18n:{t:n}}=xe();return function(r){if(!BB(r))return e?typeof e=="string"?e:n("plugins.free-form.datakit.flow_editor.node_properties.errors.not_number",e):"Value must be a number"}}function Yp(e,n){const{i18n:{t:o}}=xe();return function(i){if(i==null)return;const a=Hp(n)(i);if(a)return a;const l=Number(i);switch(e){case"float":{const s=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.not_float",n):"Invalid float format";return Number.isFinite(l)?void 0:s()}case"integer":{const s=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.not_integer",n):"Invalid integer format";return Number.isInteger(l)?void 0:s()}default:return}}}function Wp(e=-1/0,n=1/0,o){const{i18n:{t:r}}=xe();return function(a){if(a==null)return;const l=Hp(o)(a);if(l)return l;const s=Number(a);if(s<e||s>n)return o?typeof o=="string"?o:r("plugins.free-form.datakit.flow_editor.node_properties.errors.number_range",{fieldName:o.fieldName,min:e,max:n}):`Value must be between ${e} and ${n}`}}function RB(e,n){const{state:o}=lt(),{i18n:{t:r}}=xe();return function(a){if(o.value.nodes.some(l=>l.name===a&&l.id!==e))return n?typeof n=="string"?n:r("plugins.free-form.datakit.flow_editor.node_properties.errors.not_unique",n):"Name must be unique."}}function MB(e,n,o){const{i18n:{t:r}}=xe();return function(a){if(!n)return;if(o?n.fields[e].some(s=>s.name===a&&s.id!==o):n.fields[e].some(s=>s.name===a)){const s=r(e==="input"?"plugins.free-form.datakit.flow_editor.node_properties.input_name.label":"plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name");return r("plugins.free-form.datakit.flow_editor.node_properties.errors.not_unique",{fieldName:s})}}}function DB(){const{i18n:{t:e}}=xe();return function(o){if(Ia(o))return e("plugins.free-form.datakit.flow_editor.node_properties.errors.reserved_node_name",{nodeName:o})}}function Xp(e){const{i18n:{t:n}}=xe(),o={fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.name")};return Zn(Jn(o),zp("identifier",o),DB(),RB(e,o))}function LB(e){const{i18n:{t:n}}=xe(),{getNodeById:o}=lt();return function(i,a,l){const s={fieldName:n(i==="input"?"plugins.free-form.datakit.flow_editor.node_properties.input_name.label":"plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name")};return Zn(Jn(s),MB(i,o(e),l))(a)}}function FB(e){const n=t.ref({}),o=t.computed(()=>Object.values(n.value).every(l=>!l)),r={};Object.keys(e).forEach(l=>{const s=e[l],c=u=>{const p=typeof u=="function"?u():u,m=s(p);return n.value[l]=m,m},d=()=>{n.value[l]=void 0},f=u=>(d(),c(u));r[l]={handleChange:f,handleBlur:f,validate:f,isValid:t.computed(()=>n.value[l]===void 0),error:t.computed(()=>n.value[l])}});function i(){n.value={}}function a(l){var s;for(const c of Object.keys(e)){const d=l[c],f=typeof d=="function"?d():d;(s=r[c])==null||s.validate(f)}return n.value}return{isValid:o,errorMap:n,fields:r,clearErrors:i,validate:a}}function ki(e){const{validationConfig:n,getValidationData:o,skipValidationOnMount:r,toggleNodeValid:i}=e,a=t.computed(()=>typeof n=="function"?n():n),l=t.computed(()=>FB(a.value)),s=t.computed(()=>l.value.fields),c=t.computed(()=>l.value.isValid.value);function d(){const u=o(),p=l.value.validate(u),m={};for(const h in a.value)m[h]=p[h];return m}function f(u,p){return{onBlur:()=>{const m=o(),h=s.value[u];h&&h.handleBlur(m[u])},onUpdate:()=>{const m=o(),h=s.value[u];h&&h.handleChange(m[u]),p==null||p()},error:t.computed(()=>{const m=s.value[u];return m?!m.isValid.value:!1}),errorMessage:t.computed(()=>{const m=s.value[u];return m?m.error.value??"":""})}}return t.onMounted(()=>{r!=null&&r.value||d()}),t.onBeforeUnmount(async()=>{try{const u=d(),p=Object.values(u).filter(Boolean).length>0;i(!p)}catch{}}),t.watch(()=>c.value,i,{immediate:!0}),{fields:s.value,isValid:c,validateAll:d,createFieldHandler:f}}function kn(e,n){const{state:o,renameNode:r,getNodeById:i,addField:a,renameField:l,removeField:s,replaceConfig:c,disconnectEdge:d,connectEdge:f,newCreatedNodeId:u,invalidConfigNodeIds:p,undo:m,commit:h}=lt(),{i18n:{t:y}}=xe(),g=D$();let _=!1;t.watch(o,async()=>{_=!0,await t.nextTick(),_=!1},{immediate:!0,deep:!0}),console.log("state",o.value),window.store=lt();const w=t.computed(()=>{const B=i(e);if(!B)throw new Error("Node not existed");return B}),b=t.computed(()=>{const Z=o.value.edges.filter(re=>re.target===e).reduce((re,Y)=>{var te,ne;const ie=i(Y.source),ae=(te=zt(ie,"output",Y.sourceField))==null?void 0:te.id,ge=(ne=zt(w.value,"input",Y.targetField))==null?void 0:ne.name,me=ie.id+(ae?`.${ae}`:"");return ge?re.inputs={...re.inputs,[ge]:me}:re.input=me,re},{});return w.value.fields.input.forEach(re=>{Z.inputs||(Z.inputs={}),Z.inputs[re.name]||(Z.inputs[re.name]=null)}),{...w.value.config,...Z,name:w.value.name}}),v=B=>{r(e,B??"",!0,`${e}:rename`)},N=(B,Z=!0)=>{if(_)return;if(!n)throw new Error("getFormInnerData is not defined");const re=ic(n(),["name","input","inputs"]),Y=B?`update:${e}:${B}`:void 0;c(e,re,Z,Y)},E=(B,Z)=>{const re=Fn(w.value,B,Z);if(!re)throw new Error(`Field with name "${Z}" not found in node "${w.value.name}"`);return re},T=(B,Z,re)=>{const Y=!!re;a(e,B,Z,!Y),Y&&A(Z,re)},P=(B,Z,re)=>{if(_)return;const Y=E(B,Z).id;l(e,Y,re)},D=(B,Z)=>{const re=E(B,Z).id;s(e,re)},K=t.computed(()=>o.value.edges.filter(B=>B.target===e&&!B.targetField)[0]),j=t.computed(()=>o.value.edges.filter(B=>B.target===e&&B.targetField)),A=async(B,Z)=>{if(_)return;const re=Z==null,Y=E("input",B).id;if(re){const Q=j.value.find($=>$.targetField===Y);Q&&d(Q.id);return}const{nodeId:ie,fieldId:ae}=Fd(Z),ge=E("input",B).id,me=[];K.value&&(me.push(Ko(K.value,i)),d(K.value.id,!1));const te=j.value.find(Q=>Q.targetField===Y);te&&(me.push(Ko(te,i)),d(te.id,!1)),f({source:ie,sourceField:ae,target:e,targetField:ge},!1);const ne=$l(ie,ae,e,ge,i);h(),!(me[0]&&ne&&me[0][1]===ne[1])&&me.length>0&&(await g(y("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[ne],me)||m())},W=async B=>{if(_)return;if(B==null){K.value&&d(K.value.id);return}const re=[];for(const ge of j.value)re.push(Ko(ge,i)),d(ge.id,!1);const{nodeId:Y,fieldId:ie}=Fd(B);f({source:Y,sourceField:ie,target:e,targetField:void 0},!1);const ae=$l(Y,ie,e,void 0,i);h(),re.length>0&&(await g(y("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[ae],re)||m())},I=B=>{const Z=[...o.value.edges,{source:B,target:e}];return Oa(Ar(Z))},U=t.computed(()=>{var Z,re;const B=[];for(const Y of o.value.nodes)if((Z=Pa(Y.type).io)!=null&&Z.output&&Y.fields.output&&Y.id!==e&&!(Y.type==="property"&&!bl((re=Y.config)==null?void 0:re.property))&&!I(Y.id)){B.push({value:Y.id,label:Y.name});for(const ae of Y.fields.output)B.push({value:`${Y.id}.${ae.id}`,label:`${Y.name}.${ae.name}`})}return B}),M=t.computed(()=>w.value.fields.input.map(B=>B.name)||[]),ee=t.computed(()=>u.value===e);function H(B){p.value.delete(e),B||p.value.add(e)}const G=LB(e);function V(B,Z,re){const Y=i(e);if(!Y)throw new Error("Node not found when validating field name");const ie=Fn(Y,B,Z);return G(B,re,ie==null?void 0:ie.id)}return{formData:b,inputOptions:U,inputEdge:K,inputsEdges:j,inputsFieldNames:M,skipValidationOnMount:ee,currentNode:w,setName:v,setConfig:N,addField:T,renameFieldByName:P,removeFieldByName:D,setInputs:A,setInput:W,nameValidator:Xp(e),fieldNameValidator:V,toggleNodeValid:H}}function Cn(e){const{getSchema:n}=De();return t.computed(()=>{if(Rt(e))switch(e){case"response":return $B;case"service_request":return OB}try{const l=n().fields[0].config.fields[0].nodes.elements.subschema_definitions[e];if(!l)throw new Error(`Subschema "${e}" not found in the schema.`);return l}catch(o){throw new Error(`Failed to get subschema "${e}": ${o.message}`)}})}const jo=t.defineComponent({__name:"NameField",props:{name:{},validate:{type:Function}},emits:["update"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=xe(),a=t.ref(o.name),l=t.computed(()=>{const f=o.validate(a.value.trim());return f===void 0?"":f});let s=a.value.trim();function c(){if(l.value){a.value=s;return}r("update",a.value.trim())}function d(){s=a.value.trim()}return t.watch(()=>o.name,f=>{f!==a.value&&(a.value=f)}),(f,u)=>{const p=t.resolveComponent("KInput");return t.openBlock(),t.createBlock(p,{"model-value":a.value,"onUpdate:modelValue":u[0]||(u[0]=m=>a.value=m),"data-1p-ignore":"",error:!!l.value,"error-message":l.value,label:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.name"),required:"",onChange:c,onFocus:d},null,8,["model-value","error","error-message","label"])}}}),UB=t.defineComponent({__name:"NodeFormCall",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=xe(),o=t.useTemplateRef("form"),r=Cn("call"),{formData:i,setName:a,setConfig:l,inputOptions:s,setInputs:c,setInput:d,inputsFieldNames:f,nameValidator:u,skipValidationOnMount:p,toggleNodeValid:m,fieldNameValidator:h}=kn(e.nodeId,()=>o.value.getInnerData()),{createFieldHandler:y}=ki({validationConfig:{url:Zn(Jn({fieldName:"URL"}),zp("url",{fieldName:"URL"})),timeout:Zn(Yp("integer",{fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.timeout.label")}),Wp(0,2147483646,{fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.timeout.label")}))},getValidationData:()=>({url:i.value.url,timeout:i.value.timeout}),skipValidationOnMount:p,toggleNodeValid:m}),g=y("url",()=>l("url")),_=y("timeout",()=>l("timeout"));return(w,b)=>{const v=t.resolveComponent("KLabel");return t.openBlock(),t.createBlock(ft,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(jo,{name:t.unref(i).name,validate:t.unref(u),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(v,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.Configuration")),1)]),_:1}),t.createVNode(On,{error:t.unref(g).error.value,"error-message":t.unref(g).errorMessage.value,name:"url",onBlur:t.unref(g).onBlur,"onUpdate:modelValue":t.unref(g).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(vB,{name:"method","onUpdate:modelValue":b[0]||(b[0]=N=>t.unref(l)())}),t.createVNode($n,{error:t.unref(_).error.value,"error-message":t.unref(_).errorMessage.value,label:t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.timeout.label"),name:"timeout",onBlur:t.unref(_).onBlur,"onUpdate:modelValue":t.unref(_).onUpdate},null,8,["error","error-message","label","onBlur","onUpdate:modelValue"]),t.createVNode(On,{name:"ssl_server_name","onUpdate:modelValue":b[1]||(b[1]=N=>t.unref(l)("ssl_server_name"))}),t.createVNode(Xn,{"field-name-validator":t.unref(h),"field-names":t.unref(f),items:t.unref(s),"onChange:input":t.unref(d),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),KB=t.defineComponent({__name:"NodeFormServiceRequest",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=Cn("service_request"),{formData:r,inputOptions:i,setInputs:a,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=kn(e.nodeId,()=>n.value.getInnerData());return(d,f)=>(t.openBlock(),t.createBlock(ft,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(Xn,{"field-name-validator":t.unref(c),"field-names":t.unref(s),items:t.unref(i),"onChange:input":t.unref(l),"onChange:inputs":t.unref(a)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),jB=t.defineComponent({__name:"NodeFormResponse",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=Cn("response"),{formData:r,inputOptions:i,setInputs:a,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=kn(e.nodeId,()=>n.value.getInnerData());return(d,f)=>(t.openBlock(),t.createBlock(ft,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(Xn,{"field-name-validator":t.unref(c),"field-names":t.unref(s),items:t.unref(i),"onChange:input":t.unref(l),"onChange:inputs":t.unref(a)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),qB=t.defineComponent({__name:"NodeFormJq",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=xe(),o=t.useTemplateRef("form"),r=Cn("jq"),{formData:i,setName:a,setConfig:l,inputOptions:s,setInputs:c,setInput:d,addField:f,removeFieldByName:u,renameFieldByName:p,inputsFieldNames:m,nameValidator:h,skipValidationOnMount:y,toggleNodeValid:g,fieldNameValidator:_}=kn(e.nodeId,()=>o.value.getInnerData());function w(P,D){f("input",P,D)}function b(P){u("input",P)}function v(P,D){p("input",P,D)}const N=n("plugins.free-form.datakit.flow_editor.node_properties.jq.label"),{createFieldHandler:E}=ki({validationConfig:{jq:Zn(Jn({fieldName:N}),VB(1,10240,{fieldName:N}))},getValidationData:()=>({jq:i.value.jq}),skipValidationOnMount:y,toggleNodeValid:g}),T=E("jq",()=>l("jq"));return(P,D)=>{const K=t.resolveComponent("KLabel");return t.openBlock(),t.createBlock(ft,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(jo,{name:t.unref(i).name,validate:t.unref(h),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(K,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.Configuration")),1)]),_:1}),t.createVNode(On,{error:t.unref(T).error.value,help:t.unref(T).errorMessage.value,label:t.unref(N),multiline:"",name:"jq",resizable:"",rows:"2",onBlur:t.unref(T).onBlur,"onUpdate:modelValue":t.unref(T).onUpdate},null,8,["error","help","label","onBlur","onUpdate:modelValue"]),t.createVNode(Xn,{"field-name-validator":t.unref(_),"field-names":t.unref(m),items:t.unref(s),"onAdd:field":w,"onChange:input":t.unref(d),"onChange:inputs":t.unref(c),"onRemove:field":b,"onRename:field":v},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),GB=we(t.defineComponent({__name:"OutputValueField",props:{fieldNameValidator:{},name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{}},emits:["change:value","add:field","rename:field","remove:field","change"],setup(e,{emit:n}){const o=e,r=n,i=t.ref({}),{entries:a,addEntry:l,removeEntry:s,field:c}=sa(o,r,!1),{i18n:d}=xe(),f=t.useTemplateRef("root"),u=t.ref(null);let p;async function m(N,E="key"){var T;f.value&&(await t.nextTick(),(T=f.value.querySelector(`[data-${E}-input="${N}"]`))==null||T.focus())}function h(){const N=l(),E=a.value.findIndex(({key:T})=>!T);m(E===-1?a.value.length-1:E),u.value=N}function y(N){var E;N.id===((E=u.value)==null?void 0:E.id)&&(u.value=null),s(N.id),N.key.trim()!==""&&r("remove:field",N.key)}function g(N){p=N.key}function _(N){var E;if(b(N)){N.key=p,delete i.value[N.id];return}if(N.id===((E=u.value)==null?void 0:E.id)){if(N.key.trim()==="")return;u.value=null,r("add:field",N.key,N.value)}else r("rename:field",p,N.key);p=N.key}function w(N,E){var P;if(E.id===((P=u.value)==null?void 0:P.id))return;const T=N.target.value.trim();r("change:value",E.key,T)}function b(N){delete i.value[N.id];const E=o.fieldNameValidator("output",p,N.key);if(E)return i.value[N.id]=E,E}function v(N){b(N)}return t.watchEffect(()=>{u.value&&!a.value.some(N=>N.id===u.value.id)&&a.value.push(u.value)}),(N,E)=>{const T=t.resolveComponent("KAlert"),P=t.resolveComponent("KLabel"),D=t.resolveComponent("KButton"),K=t.resolveComponent("KInput"),j=t.resolveComponent("KCard");return t.unref(c).error?(t.openBlock(),t.createBlock(T,{key:0,appearance:"danger",message:t.unref(c).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:f,class:"dk-output-value-field"},[t.createVNode(P,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.label")),1)]),_:1}),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(a),(A,W)=>(t.openBlock(),t.createBlock(j,{key:A.id,class:"dk-output-value-field-entry","data-testid":`ff-kv-container-${t.unref(c).path.value}.${W}`},{actions:t.withCtx(()=>[t.createVNode(D,{appearance:"none","data-testid":`ff-kv-remove-btn-${t.unref(c).path.value}.${W}`,icon:"",onClick:I=>y(A)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.CloseIcon))]),_:2},1032,["data-testid","onClick"])]),default:t.withCtx(()=>[t.createVNode(K,{id:`ff-kv-entry-key-${t.unref(c).path.value}.${W}`,modelValue:A.key,"onUpdate:modelValue":[I=>A.key=I,I=>b(A)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":W,"data-testid":`ff-key-${t.unref(c).path.value}.${W}`,error:!!i.value[A.id],"error-message":i.value[A.id],label:t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name"),required:"",onBlur:I=>v(A),onChange:I=>_(A),onFocus:I=>g(A)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","label","onBlur","onChange","onFocus"]),t.createVNode(K,{modelValue:A.value,"onUpdate:modelValue":I=>A.value=I,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${t.unref(c).path.value}.${W}`,label:t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value"),onChange:I=>w(I,A)},null,8,["modelValue","onUpdate:modelValue","data-testid","label","onChange"])]),_:2},1032,["data-testid"]))),128)),t.createVNode(D,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(c).path.value}`,disabled:!!u.value,onClick:h},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.add_button")),1)]),_:1},8,["data-testid","disabled"])],512))}}}),[["__scopeId","data-v-9f3f9fea"]]);function zB(e){const n={};for(const[o,r]of Object.entries(e))typeof r=="object"&&r!==null?n[o]=JSON.stringify(r):n[o]=String(r);return n}function Ci(e){const n={};for(const[o,r]of Object.entries(e))if(r!=null){n[o]=r;try{r==="null"?n[o]=null:(r==="true"||r==="false"||/^-?\d+(\.\d+)?$/.test(r)||r.startsWith("{")&&r.endsWith("}")||r.startsWith("[")&&r.endsWith("]"))&&(n[o]=JSON.parse(r))}catch{}}return n}function HB(e,n,o){const r={};for(const i of Object.keys(e))i===n?r[o]=e[n]:r[i]=e[i];return r}const YB=t.defineComponent({__name:"NodeFormStatic",props:{nodeId:{}},setup(e){const{renameNode:n,getOutEdgesByNodeId:o,addField:r,renameField:i,removeField:a,replaceConfig:l,getNodeById:s}=lt(),{fieldNameValidator:c}=kn(e.nodeId),d=Cn("static"),f=Xp(e.nodeId),u=t.computed(()=>s(e.nodeId)),p=t.computed(()=>{var b;return((b=u.value)==null?void 0:b.fields.output.map(v=>v.name))||[]});function m(b){if(!u.value)throw new Error("No current node");n(u.value.id,b??"")}const h=t.computed(()=>{var D;if(!u.value)return{};const b=((D=u.value.config)==null?void 0:D.values)??{},v={},N=o(u.value.id).map(K=>K.sourceField).filter(Boolean).map(K=>zt(u.value,"output",K)).map(K=>K==null?void 0:K.name).filter(Boolean),E=u.value.fields.output.map(K=>K.name),T=Object.keys(b);return new Set([...T,...N,...E]).forEach(K=>{if(K in b){v[K]=b[K];return}v[K]=""}),{name:u.value.name,values:zB(v)}});function y(b,v){if(!u.value)throw new Error("No selected node");const N=v!==void 0;if(r(e.nodeId,"output",b,!N),N){const E={values:Ci({...h.value.values,[b]:v})};l(e.nodeId,E)}}function g(b,v){if(!u.value)throw new Error("No selected node");const N=Fn(u.value,"output",b);if(!N)throw new Error("No field found to rename");const E={values:Ci(HB(h.value.values??{},b,v))};l(e.nodeId,E,!1),i(e.nodeId,N.id,v)}function _(b){var E;if(!u.value)throw new Error("No selected node");const v=Fn(u.value,"output",b);if(!v)throw new Error("No field found to delete");a((E=u.value)==null?void 0:E.id,v.id,!0,!1);const N={values:Ci({...h.value.values})};delete N.values[b],l(e.nodeId,N)}function w(b,v){if(!u.value)throw new Error("No selected node");const N={...h.value.values};N[b]=v;const E={values:Ci(N)};l(e.nodeId,E)}return(b,v)=>(t.openBlock(),t.createBlock(ft,{ref:"form",data:h.value,schema:t.unref(d)},{default:t.withCtx(()=>{var N;return[t.createVNode(jo,{name:((N=u.value)==null?void 0:N.name)??"",validate:t.unref(f),onUpdate:m},null,8,["name","validate"]),t.createVNode(GB,{"field-name-validator":t.unref(c),"key-order":p.value,name:"values","onAdd:field":y,"onChange:value":w,"onRemove:field":_,"onRename:field":g},null,8,["field-name-validator","key-order"])]}),_:1},8,["data","schema"]))}}),WB={class:"dk-kong-property-item"},XB={class:"property-type"},ZB={class:"property-badges"},JB=we(t.defineComponent({__name:"PropertiesField",props:{validators:{}},emits:["update:model-value","update:property-key"],setup(e,{emit:n}){const{i18n:{t:o}}=xe(),r=e,i=n,{formData:a}=De(),l=t.ref(Lo(a.property)),s=t.computed(()=>Fo(a.property)),c=t.ref(_l(a.property)),d=t.computed(()=>a.property??""),f=t.computed(()=>Object.entries(bn).map(([m])=>{var g;const h=Fo(m)?(g=a.property)==null?void 0:g.startsWith(m.replace(Wn,"")):a.property===m;return{label:h&&c.value?m.replace(Wn,c.value):m,value:m,selected:h}}));function u(m){const h=pi.find(y=>{var g;return(g=a.property)==null?void 0:g.startsWith(y)});h&&(a.property=h+m,r.validators.key.handleChange(a.property),i("update:property-key",a.property))}function p(m){l.value!==Lo(m==null?void 0:m.value)&&(a.property=(m==null?void 0:m.value)||null,l.value=Lo(a.property),r.validators.property.handleBlur(()=>a.property),i("update:model-value",a.property))}return t.watch(()=>a.property,m=>{c.value=_l(m),l.value=Lo(m)}),(m,h)=>{const y=t.resolveComponent("KBadge"),g=t.resolveComponent("KSelect"),_=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(g,{key:d.value,"enable-filtering":"",error:!m.validators.property.isValid.value,help:m.validators.property.error.value,items:f.value,label:"Property","label-attributes":{maxWidth:"300px",placement:"top",info:"The property name to get/set"},required:"",onBlur:h[0]||(h[0]=w=>m.validators.property.handleBlur(()=>t.unref(a).property)),onChange:p},{"item-template":t.withCtx(({item:w})=>[t.createElementVNode("div",WB,[t.createElementVNode("div",null,[t.createElementVNode("div",null,t.toDisplayString(w.label),1),t.createElementVNode("div",XB,t.toDisplayString(t.unref(bn)[w.value].dataType),1)]),t.createElementVNode("div",ZB,[t.unref(bn)[w.value].readable?(t.openBlock(),t.createBlock(y,{key:0,appearance:"info"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.get")),1)]),_:1})):t.createCommentVNode("",!0),t.unref(bn)[w.value].writable?(t.openBlock(),t.createBlock(y,{key:1,appearance:"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.set")),1)]),_:1})):t.createCommentVNode("",!0)])])]),_:1},8,["error","help","items"])),s.value?(t.openBlock(),t.createBlock(_,{key:0,"model-value":c.value,"onUpdate:modelValue":[h[1]||(h[1]=w=>c.value=w),u],error:!m.validators.key.isValid.value,"error-message":m.validators.key.error.value,label:"key",required:"",onBlur:h[2]||(h[2]=w=>m.validators.key.handleBlur(()=>t.unref(a).property))},null,8,["model-value","error","error-message"])):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-0ab1be87"]]),QB=t.defineComponent({__name:"NodeFormProperty",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),{selectedNode:o,disconnectInEdges:r,disconnectOutEdges:i}=lt(),a=Cn("property"),{formData:l,setName:s,setConfig:c,inputOptions:d,setInputs:f,setInput:u,inputsFieldNames:p,nameValidator:m,toggleNodeValid:h,skipValidationOnMount:y,fieldNameValidator:g}=kn(e.nodeId,()=>n.value.getInnerData()),_=t.computed(()=>wl(l.value.property));function w(v){var E;const N=(E=o.value)==null?void 0:E.id;if(!N)throw new Error("Expected selectedNode to be defined");bl(v)||i(N,!1),wl(v)||r(N,!1),c()}const{fields:b}=ki({validationConfig:()=>({property:Jn({fieldName:"Property"}),key:Fo(l.value.property)?Jn({fieldName:"Key"}):()=>{}}),getValidationData:()=>({property:l.value.property,key:_l(l.value.property)}),skipValidationOnMount:y,toggleNodeValid:h});return(v,N)=>(t.openBlock(),t.createBlock(ft,{ref:"form",data:t.unref(l),schema:t.unref(a)},{default:t.withCtx(()=>[t.createVNode(jo,{name:t.unref(l).name,validate:t.unref(m),onUpdate:t.unref(s)},null,8,["name","validate","onUpdate"]),t.createVNode(kt,{name:"content_type","onUpdate:modelValue":t.unref(c)},null,8,["onUpdate:modelValue"]),t.createVNode(JB,{validators:t.unref(b),"onUpdate:modelValue":w,"onUpdate:propertyKey":N[0]||(N[0]=E=>t.unref(c)("property-key"))},null,8,["validators"]),_.value?(t.openBlock(),t.createBlock(Xn,{key:0,"field-name-validator":t.unref(g),"field-names":t.unref(p),items:t.unref(d),"onChange:input":t.unref(u),"onChange:inputs":t.unref(f)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])):t.createCommentVNode("",!0)]),_:1},8,["data","schema"]))}}),eV=t.defineComponent({__name:"NodeFormExit",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=Cn("exit"),{formData:r,setName:i,setConfig:a,inputOptions:l,setInputs:s,setInput:c,inputsFieldNames:d,nameValidator:f,toggleNodeValid:u,skipValidationOnMount:p,fieldNameValidator:m}=kn(e.nodeId,()=>n.value.getInnerData()),{createFieldHandler:h}=ki({validationConfig:{status:Zn(Yp("integer",{fieldName:"Status"}),Wp(200,255,{fieldName:"Status"}))},getValidationData:()=>({status:r.value.status}),skipValidationOnMount:p,toggleNodeValid:u}),y=h("status",()=>a("status"));return(g,_)=>(t.openBlock(),t.createBlock(ft,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(jo,{name:t.unref(r).name,validate:t.unref(f),onUpdate:t.unref(i)},null,8,["name","validate","onUpdate"]),t.createVNode($n,{error:t.unref(y).error.value,"error-message":t.unref(y).errorMessage.value,name:"status",onBlur:t.unref(y).onBlur,"onUpdate:modelValue":t.unref(y).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(la,{name:"warn_headers_sent","onUpdate:modelValue":_[0]||(_[0]=w=>t.unref(a)())}),t.createVNode(Xn,{"field-name-validator":t.unref(m),"field-names":t.unref(d),items:t.unref(l),"onChange:input":t.unref(c),"onChange:inputs":t.unref(s)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),tV=["innerHTML"],nV=we(t.defineComponent({__name:"NodePropertiesPanel",props:{maxWidth:{default:()=>xI},offsetTop:{default:()=>AI},visible:{type:Boolean},nodeId:{}},emits:["close"],setup(e){const{getNodeById:n}=lt(),o=t.computed(()=>e.nodeId&&n(e.nodeId)),r=t.computed(()=>{var i;switch((i=o.value)==null?void 0:i.type){case"call":return UB;case"service_request":return KB;case"response":return jB;case"jq":return qB;case"static":return YB;case"property":return QB;case"exit":return eV;default:return null}});return(i,a)=>(t.openBlock(),t.createBlock(t.unref($e.KSlideout),{class:"dk-node-properties-panel","close-on-blur":!1,"has-overlay":!1,"max-width":i.maxWidth,"offset-top":i.offsetTop,visible:i.visible,onClose:a[0]||(a[0]=l=>i.$emit("close"))},t.createSlots({default:t.withCtx(()=>[o.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"dk-node-properties-panel-desc",innerHTML:t.unref(Nt)(o.value.type)},null,8,tV)):t.createCommentVNode("",!0),r.value?(t.openBlock(),t.createBlock(t.unref(r),{key:i.nodeId,class:"dk-node-properties-panel-form","node-id":i.nodeId},null,8,["node-id"])):t.createCommentVNode("",!0)]),_:2},[o.value?{name:"title",fn:t.withCtx(()=>[t.createVNode(Kp,{type:o.value.type},null,8,["type"])]),key:"0"}:void 0]),1032,["max-width","offset-top","visible"]))}}),[["__scopeId","data-v-1bb64727"]]),oV={class:"dk-editor-content"},rV={class:"header"},iV={class:"title"},aV={class:"body"},lV={class:"node-selection-panel"},sV={class:"main"},cV=we(t.defineComponent({__name:"EditorContent",setup(e){const{t:n}=Le.createI18n("en-us",Ge),{sidePanelExpanded:o}=$a(),{propertiesPanelOpen:r,selectedNode:i,newCreatedNodeId:a}=lt();function l(){r.value=!1,a.value=null}return t.watch(i,s=>{s||l(),(!s||s.id!==a.value)&&(a.value=null)}),(s,c)=>{var d;return t.openBlock(),t.createElementBlock("div",oV,[t.createElementVNode("aside",{class:t.normalizeClass(["side-panel",{expanded:t.unref(o)}])},[t.createElementVNode("header",rV,[t.createElementVNode("h2",iV,t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.name")),1)]),t.createElementVNode("div",aV,[t.createElementVNode("div",lV,[t.createVNode(NB)])])],2),t.createElementVNode("div",sV,[t.createVNode(mB)]),t.createVNode(nV,{"node-id":(d=t.unref(i))==null?void 0:d.id,visible:t.unref(r),onClose:l},null,8,["node-id","visible"])])}}}),[["__scopeId","data-v-0e99b201"]]),dV={key:0,class:"dk-editor-modal"},uV=we(t.defineComponent({__name:"EditorModal",props:{open:{type:Boolean},openModifiers:{}},emits:["update:open"],setup(e){t.useCssVars(l=>({be550f98:t.unref(SI),"2eb355b0":t.unref(vI)}));const n=t.useModel(e,"open"),o=t.ref(!1),r=t.useTemplateRef("confirm-modal");M$(async(...l)=>{o.value=!0;const s=await r.value.open(...l);return o.value=!1,s});const i=Je.useScrollLock(document);t.watch(n,l=>{i.value=!!l},{immediate:!0});function a(){n.value=!1}return(l,s)=>n.value?(t.openBlock(),t.createElementBlock("div",dV,[t.createVNode(cB,{class:"nav",onBack:a}),t.createVNode(cV,{ref:"content",class:"content",tabindex:"0"},null,512),t.createVNode(iB,{ref:"confirm-modal"},null,512)])):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-2aca1995"]]),fV={class:"dk-flow-editor"},pV={class:"flow-panels-container"},mV={class:"overlay"},gV={class:"field"},hV=we(t.defineComponent({__name:"FlowEditor",props:{config:{},uiData:{},isEditing:{type:Boolean}},emits:["change","error"],setup(e,{emit:n}){var s,c;const{t:o}=Le.createI18n("en-us",Ge),r=n,i=t.useTemplateRef("flowPanels");function a(d,f){r("change",{...e.config,nodes:d},{...e.uiData,nodes:f})}const{modalOpen:l}=zC(((s=e.config)==null?void 0:s.nodes)??[],((c=e.uiData)==null?void 0:c.nodes)??[],{onChange:a,isEditing:e.isEditing});return t.watch(l,()=>{var d;l.value||(d=i.value)==null||d.fitView()}),(d,f)=>{const u=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",fV,[t.createElementVNode("div",pV,[t.createVNode(Gp,{ref_key:"flowPanels",ref:i,readonly:""},null,512),t.createElementVNode("div",mV,[t.createVNode(u,{appearance:"secondary",class:"button-open-editor",onClick:f[0]||(f[0]=p=>l.value=!0)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.cta"))+" ",1),t.createVNode(t.unref(Ce.ExpandIcon))]),_:1})])]),t.createVNode(uV,{open:t.unref(l),"onUpdate:open":f[1]||(f[1]=p=>t.isRef(l)?l.value=p:null)},null,8,["open"]),t.createElementVNode("div",gV,[t.createVNode(la,{name:"config.debug"})])])}}}),[["__scopeId","data-v-0ff36ac6"]]),yV=["innerHTML"],_V=t.defineComponent({__name:"DatakitForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function}},setup(e){const{t:n}=Le.createI18n("en-us",Ge),o=e,r=t.inject(cc.DATAKIT_ENABLE_FLOW_EDITOR,!1),{editorMode:i}=$a(),a=t.computed(()=>r?i.value:"code"),l={flow:Ce.DesignIcon,code:Ce.CodeblockIcon},s=[{label:n("plugins.free-form.datakit.flow_editor.mode"),value:"flow"},{label:n("plugins.free-form.datakit.code_editor.mode"),value:"code"}],c=t.computed(()=>{switch(i.value){case"code":return n("plugins.free-form.datakit.description_code");case"flow":return n("plugins.free-form.datakit.description_flow");default:return""}}),d=t.ref({...o.model.config}),f=t.ref();function u(y){for(const g in y.config)g!=="nodes"&&(d.value[g]=y.config[g])}function p(y){var g;o.onFormChange({config:y}),(g=o.onValidityChange)==null||g.call(o,{model:"config",valid:!0}),d.value=y}function m(y,g){p(y),f.value=g}function h(y){var g;(g=o.onValidityChange)==null||g.call(o,{model:"config",valid:!1,error:y})}return(y,g)=>(t.openBlock(),t.createBlock(fE,t.mergeProps(o,{class:"dk-form"}),t.createSlots({default:t.withCtx(_=>[t.createVNode(ft,t.mergeProps(_,{data:{config:d.value},tag:"div",onChange:u}),{default:t.withCtx(()=>[a.value==="flow"?(t.openBlock(),t.createBlock(hV,{key:0,config:d.value,"is-editing":y.isEditing,"ui-data":f.value,onChange:m},null,8,["config","is-editing","ui-data"])):a.value==="code"?(t.openBlock(),t.createBlock(VC,{key:1,class:"code-editor",config:d.value,editing:y.isEditing,onChange:p,onError:h},null,8,["config","editing"])):t.createCommentVNode("",!0)]),_:2},1040,["data"])]),"plugin-config-description":t.withCtx(()=>[t.createElementVNode("span",{innerHTML:c.value},null,8,yV)]),_:2},[t.unref(r)?{name:"plugin-config-extra",fn:t.withCtx(()=>[t.createVNode(t.unref($e.KSegmentedControl),{modelValue:t.unref(i),"onUpdate:modelValue":g[0]||(g[0]=_=>t.isRef(i)?i.value=_:null),options:s},{"option-label":t.withCtx(({option:_})=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(l[_.value]))),t.createTextVNode(" "+t.toDisplayString(_.label),1)]),_:1},8,["modelValue"])]),key:"0"}:void 0]),1040))}}),Zp=e=>{if(!(!e||typeof e!="object"))for(const[n,o]of Object.entries(e))typeof o=="string"&&(e[n]=o.split(/\s*,\s*/).filter(Boolean))},Jp=e=>{if(!(!e||typeof e!="object"))for(const[n,o]of Object.entries(e))Array.isArray(o)&&(e[n]=o.join(", "))},bV=t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{},onChange:{type:Function}},emits:["change"],setup(e,{emit:n}){const o=n,{i18n:{t:r}}=Ve.useI18n(),l={prepareFormData:c=>{var f,u;const d=An(c);return(u=(f=d.config)==null?void 0:f.tools)!=null&&u.length&&d.config.tools.forEach(p=>{Jp(p.headers),Jp(p.query)}),d},hasValue:c=>!!(c!=null&&c.config)},s=c=>{var f,u;const d=An(c);(u=(f=d.config)==null?void 0:f.tools)!=null&&u.length&&d.config.tools.forEach(p=>{Zp(p.headers),Zp(p.query)}),o("change",d)};return(c,d)=>(t.openBlock(),t.createBlock(ft,{config:l,data:c.data,schema:c.schema,tag:"div",onChange:s},{default:t.withCtx(()=>[t.createVNode(tt,{"as-child":"",name:"config","reset-label-path":"reset"},{tools:t.withCtx(({name:f})=>[t.createVNode(hr,{appearance:"tabs","item-label":(u,p)=>t.unref(r)("plugins.free-form.ai-mcp.tool_item_label",{index:p+1}),name:f,"sticky-tabs":""},null,8,["item-label","name"])]),_:1}),t.createVNode(yr)]),_:1},8,["data","schema"]))}}),wV=t.defineComponent({__name:"AIMcpForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const n=e,o=t.useSlots();return t.provide(ve.AUTOFILL_SLOT,o==null?void 0:o[ve.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(_r,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(bV,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),EV=t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{}},emits:["change"],setup(e,{emit:n}){const o=n,r=t.computed(()=>{const l=e.schema.fields.find(d=>Object.keys(d)[0]==="config").config.fields,s=[],c=[];for(const d of l){const f=Object.keys(d)[0];d[f].required?s.push(f):c.push(f)}return{required:s,nonRequired:c}}),i={hasValue:l=>!!(l!=null&&l.config)};function a(l){o("change",l)}return(l,s)=>(t.openBlock(),t.createBlock(ft,{config:i,data:l.data,schema:l.schema,tag:"div",onChange:a},{default:t.withCtx(()=>[t.createVNode(tt,{"as-child":"",name:"config",omit:r.value.nonRequired,"reset-label-path":"reset"},null,8,["omit"]),t.createVNode(yr,null,{default:t.withCtx(()=>[t.createVNode(tt,{"as-child":"",name:"config",omit:r.value.required,"reset-label-path":"reset"},null,8,["omit"])]),_:1})]),_:1},8,["data","schema"]))}}),Qp=Object.freeze(Object.defineProperty({__proto__:null,AIMcpForm:wV,DatakitForm:_V,JwtSignerForm:t.defineComponent({__name:"JwtSigner",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const n=e,o=t.useSlots();return t.provide(ve.AUTOFILL_SLOT,o==null?void 0:o[ve.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(_r,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(EV,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),RequestCalloutForm:uw,ServiceProtectionForm:lE},Symbol.toStringTag,{value:"Module"})),kV={class:"kong-ui-entities-plugin-form"},CV={key:1,class:"entity-form"},NV={class:"plugin-config-empty-state"},vV=we(t.defineComponent({__name:"PluginEntityForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},entityMap:{type:Object,default:()=>({})},record:{type:Object,default:()=>({})},schema:{type:Object,default:()=>({})},rawSchema:{type:Object,default:()=>({})},editing:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},enableRedisPartial:{type:Boolean,default:!1}},emits:["loading","model-updated","showNewPartialModal","globalAction","validity-change"],setup(e,{emit:n}){var ge,me;const o=Object.keys(ve.sharedForms),r=Object.keys(Qp);if(new Set([...o,...r]).size!==o.length+r.length)throw new Error("Duplicate form component names found in `sharedForms` and `freeForm`");const i=n,a=e,{axiosInstance:l}=se.useAxios((ge=a.config)==null?void 0:ge.axiosRequestConfig),{parseSchema:s}=Ve.useSchemas({entityId:((me=a.entityMap.focusedEntity)==null?void 0:me.id)||void 0,credential:a.credential,enableRedisPartial:a.enableRedisPartial,experimentalRenders:a.config.app==="konnect"?a.config.experimentalRenders:void 0}),{convertToDotNotation:c,unFlattenObject:d,dismissField:f,isObjectEmpty:u,unsetNullForeignKey:p}=Ve.usePluginHelpers(),m=Ve.useExperimentalFreeForms(),{objectsAreEqual:h}=se.useHelpers(),{i18n:{t:y}}=xe(),g=te=>a.config.app==="konnect"?te.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"?te.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:""):te,_=(te,ne)=>{let q=`${a.config.apiBaseUrl}${Re.form[a.config.app].entityGetOne}`;return q=g(q),q=q.replace(/{entity}/gi,te),q=q.replace(/{id}/gi,ne),q},w=te=>{let ne=`${a.config.apiBaseUrl}${Re.form[a.config.app].entityGetAll}`;return ne=g(ne),ne=ne.replace(/{entity}/gi,te),ne},b=(te,ne)=>{const q=_(te,ne);return l.get(q)},v=(te,ne)=>{const q=w(te);return a.config.app==="konnect"?l.get(q).then(Q=>{const{data:{data:$}}=Q;if(delete ne.size,delete ne.offset,$.length&&Object.keys(ne).length===1){const k=Object.keys(ne)[0],C=$.filter(x=>x[k]?!!x[k].toLowerCase().includes(ne[k].toLowerCase()):!1);Q.data.data=C}return Q}):l.get(q,{params:ne})},N=(te,ne,q)=>{const Q=w(te);if(a.config.app==="konnect"){const{size:$,offset:k,...C}=ne;if(te==="consumer_groups")return l.get(Q,{params:{size:1e3},signal:q}).then(S=>{const{data:{data:O}}=S;if(O.length&&Object.keys(C).length===1){const F=Object.keys(C)[0],J=O.filter(R=>R[F]?!!R[F].toLowerCase().includes(C[F].toLowerCase()):!1);S.data.data=J}return S});const x={size:$,offset:k};for(const S of Object.keys(C))x.filter={[S]:{contains:C[S]}};return l.get(Q,{params:x,signal:q})}return l.get(Q,{params:ne,signal:q})},E=(te,ne=50)=>{const q=w(te);return l.get(q,{params:{size:ne}})};t.provide(ve.FORMS_API_KEY,{getOne:b,getAll:v,getAllV2:N,peek:E}),t.provide(ve.FORMS_CONFIG,a.config);const T=t.ref(""),P=t.ref(""),D=t.ref(null),K=t.ref({}),j=t.reactive({}),A=t.reactive({}),W=t.computed(()=>{var te;return(te=D.value)==null?void 0:te.options}),I=t.ref(!1),U=t.ref(),M=(te,ne)=>{I.value=te??"",U.value=ne},ee=te=>{var ne;(ne=U.value)==null||ne.call(U,te),I.value=!1},H=()=>{var C,x;const te={...a.schema},ne=A,q=j,Q=Object.keys(ne),$={};if(!u(K.value))for(let S=0;S<((x=(C=K.value)==null?void 0:C.fields)==null?void 0:x.length);S++)te[K.value.fields[S].model]=K.value.fields[S];ve.customFields.forEach(S=>{te[S]&&(te[S].fields.forEach(O=>{O.fields&&O.fields.forEach(F=>{te[F.model]=F}),O.model&&(te[O.model]=O)}),delete te[S])}),Q.forEach(S=>{var oe;if(!te[S]){S==="partials"&&($[S]=ne[S]);return}const O=te[S];let F=ne[S];const J=q[S],R=Array.isArray(F)?"array":typeof F,X=O?O.valueType:null,L=O?O.valueArrayType:null,ue=O?O.transform:null;if(F==null&&J==null&&!O.submitWhenNull)return;if(O){if(X&&R!==X)switch(X){case"array":R==="string"&&F.length&&(F=F.split(",").map(fe=>{if(fe=fe.trim(),L==="string")return String(fe);if(L==="number")return Number(fe);if(L==="boolean"){if(typeof fe=="string")return fe.toLowerCase()==="true"||fe==="1";if(typeof fe=="number")return fe===1}return fe})),(!F||!F.length)&&(F=O.submitWhenNull?null:[]);break;case"number":F=Number(F);break;case"boolean":R==="string"&&(F=F.toLowerCase()==="true"||F==="1"),R==="number"&&(F=F===1);break;case"string":F=F==null?"":String(F);break}else X==="array"&&(!F||!F.length?F=O.submitWhenNull?null:[]:((oe=O.inputAttributes)==null?void 0:oe.type)==="number"&&(F=F.map(fe=>Number(fe))));if(O.type==="array"&&O.nestedFields){const fe=pe=>{Object.keys(pe).forEach(ke=>{pe[ke]&&typeof pe[ke]=="object"&&!Array.isArray(pe[ke])&&pe[ke]!==null?fe(pe[ke]):(pe[ke]===void 0||pe[ke]===null||typeof pe[ke]=="number"&&isNaN(pe[ke])||typeof pe[ke]=="string"&&pe[ke].trim().length===0)&&delete pe[ke]})};F&&typeof F=="object"&&fe(F)}O.type==="object-advanced"&&O.fields&&F!==null&&(Object.entries(F).length===0?F=null:Object.keys(F).forEach(fe=>{Array.isArray(F[fe])||(F[fe]=F[fe].split(","))}))}let le=c(S);if(O.fieldNameHasDashes){const[fe,...pe]=le.split(".").reverse();le=[fe.replace(/_/g,"-"),...pe].reverse().join(".")}if(X==="object-expand"){let fe;[le,fe]=le.split(".");let pe={};$[le]&&(pe=$[le]),pe[fe]=F,F=pe}J!==void 0&&F===""&&F!==J?$[le]=X==="object"?{}:null:O.type==="checklist"&&F===""?$[le]=[]:F!==""&&($[le]=F),$[le]=ue?ue(F):$[le],p(le,$)});const k=d($);return P.value&&Object.assign(k,re.value),k},G=(te,ne={})=>{f(A,ne,te,a.editing),i("model-updated",{model:A,originalModel:j,data:H()})},V=(te,ne)=>{var $;const q={[ne]:te};typeof(($=a.schema[ne])==null?void 0:$.modelTransformer)=="function"&&(q[ne]=a.schema[ne].modelTransformer(te));const Q=Object.assign({},A,q);Object.assign(A,Q),i("model-updated",{model:A,originalModel:j,data:H()})},B=te=>{i("validity-change",te)},Z=(te,ne)=>{Object.keys(te).forEach(q=>{var x,S;let Q=ne?`${ne}-${q}`:q,$=a.schema[Q];if(!$){const O=ne?`${ne}-${q.replace(/-/g,"_")}`:q.replace(/-/g,"_");(x=a.schema[O])!=null&&x.fieldNameHasDashes&&(Q=O,$=a.schema[Q]),ne&&((S=a.schema[ne])==null?void 0:S.keyFromObject)===q&&(Q=ne,$=a.schema[Q])}const k=te[q],C=typeof k;if($&&$.type==="object-advanced"&&!k){A[Q]={},j[Q]={};return}if(Array.isArray(k)){A[Q]=JSON.parse(JSON.stringify(k)),j[Q]=JSON.parse(JSON.stringify(k));return}if(C==="object"&&k&&!k.length)return Z(k,Q);if(C==="object"&&k&&k.length&&$.type==="input"){A[Q]=k.join(", "),j[Q]=k.join(", ");return}A[Q]=k,j[Q]=k}),i("model-updated",{model:A,originalModel:j,data:H()})},re=t.shallowRef(a.record),Y=te=>{re.value=te,i("model-updated",{model:{...A,...te},originalModel:j,data:H()})},ie=t.ref(!0),ae=()=>{var te;if(a.record&&a.schema&&(Z({enabled:a.record.enabled??!0,...a.record.instance_name&&{instance_name:a.record.instance_name||""},...a.record.protocols&&{protocols:a.record.protocols},...a.record.tags&&{tags:a.record.tags}}),a.credential?((a.record.consumer_id||a.record.consumer)&&Z({consumer_id:a.record.consumer_id||a.record.consumer}),Z(a.record)):a.record.config&&((a.record.consumer_id||a.record.consumer||a.record.service_id||a.record.service||a.record.route_id||a.record.route||a.record.consumer_group_id||a.record.consumer_group)&&Z({service_id:a.record.service_id||a.record.service,route_id:a.record.route_id||a.record.route,consumer_id:a.record.consumer_id||a.record.consumer,consumer_group_id:a.record.consumer_group_id||a.record.consumer_group}),a.record.partials&&G("redis",{partials:a.record.partials}),P.value?Y(a.record):Z(a.record.config,"config"))),Object.keys(a.entityMap).length&&!a.entityMap.global&&a.schema){const ne={};for(const q in a.entityMap){const Q=a.entityMap[q].id,$=a.entityMap[q].idField,k=$==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify($).replace("_","-"));Object.prototype.hasOwnProperty.call(A,k)&&(ne[k]=Q)}Z(ne)}if((te=a.entityMap.consumer)!=null&&te.id&&a.schema&&a.credential){const ne={};Object.prototype.hasOwnProperty.call(A,"consumer")&&(ne.consumer=a.entityMap.consumer.id),Z(ne)}ie.value=!1};return t.watch(ie,te=>{i("loading",te)}),t.watch(()=>a.schema,(te,ne)=>{var Q,$;if(h(te||{},ne||{}))return;const q=s(te);Object.assign(A,q.model),K.value={fields:($=(Q=K.value)==null?void 0:Q.fields)==null?void 0:$.map(k=>({...k,disabled:k.disabled||!1}))},Object.assign(j,JSON.parse(JSON.stringify(q.model))),P.value=sc(q.model.name,m),T.value=ve.getSharedFormName(q.model.name),ae()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var te,ne;D.value=s(a.schema),Object.assign(A,((te=D.value)==null?void 0:te.model)||{}),K.value=((ne=D.value)==null?void 0:ne.schema)||{},ae()}),(te,ne)=>{var Q;const q=t.resolveComponent("KSkeleton");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",kV,[ie.value?(t.openBlock(),t.createBlock(q,{key:0,type:"form"})):A.id&&e.editing||!e.editing?(t.openBlock(),t.createElementBlock("div",CV,[P.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(Qp[P.value]),{key:0,"form-model":A,"form-options":W.value,"form-schema":K.value,"is-editing":e.editing,model:e.record,"on-form-change":Y,"on-model-updated":V,"on-validity-change":B,schema:e.rawSchema,onGlobalAction:ne[0]||(ne[0]=($,k)=>te.$emit("globalAction",$,k))},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(ve.AUTOFILL_SLOT_NAME),fn:t.withCtx($=>[$.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Jo.VaultSecretPickerProvider),t.mergeProps({key:0},$,{onOpen:M}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["form-model","form-options","form-schema","is-editing","model","schema"])):T.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(ve.sharedForms)[T.value]),{key:1,"enable-redis-partial":e.enableRedisPartial,"form-model":A,"form-options":W.value,"form-schema":K.value,"is-editing":e.editing,"on-model-updated":V,"on-partial-toggled":G,"show-new-partial-modal":$=>te.$emit("showNewPartialModal",$)},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(ve.AUTOFILL_SLOT_NAME),fn:t.withCtx($=>[$.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Jo.VaultSecretPickerProvider),t.mergeProps({key:0},$,{onOpen:M}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["enable-redis-partial","form-model","form-options","form-schema","is-editing","show-new-partial-modal"])):(t.openBlock(),t.createBlock(t.unref(ve.VueFormGenerator),{key:2,"enable-redis-partial":e.enableRedisPartial,"is-editing":e.editing,model:A,options:W.value,schema:K.value,onModelUpdated:V,onPartialToggled:G,onRefreshModel:H,onShowNewPartialModal:ne[1]||(ne[1]=$=>te.$emit("showNewPartialModal",$))},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",NV,t.toDisplayString(t.unref(y)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[(Q=t.unref(Pt)[A.name])!=null&&Q.fieldRules&&(a.config.isNewOtelSchema||A.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(m0,{rules:t.unref(Pt)[A.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,e.enableVaultSecretPicker?{name:t.unref(ve.AUTOFILL_SLOT_NAME),fn:t.withCtx($=>[$.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Jo.VaultSecretPickerProvider),t.mergeProps({key:0},$,{onOpen:M}),null,16)):t.createCommentVNode("",!0)]),key:"1"}:void 0]),1032,["enable-redis-partial","is-editing","model","options","schema"]))])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(Jo.VaultSecretPicker),{config:a.config,setup:I.value,onCancel:ne[2]||(ne[2]=()=>I.value=!1),onProceed:ee},null,8,["config","setup"])],64)}}}),[["__scopeId","data-v-5728fdd6"]]),SV={key:1},xV=t.defineComponent({__name:"PluginFormActionsWrapper",props:{teleportTarget:{type:String,default:""}},setup(e){return(n,o)=>e.teleportTarget?(t.openBlock(),t.createBlock(t.Teleport,{key:0,to:e.teleportTarget},[t.renderSlot(n.$slots,"default")],8,["to"])):(t.openBlock(),t.createElementBlock("div",SV,[t.renderSlot(n.$slots,"default")]))}}),AV={class:"kong-ui-entities-plugin-form-container"},IV={key:0},PV={class:"plugin-form-actions"},TV=we(t.defineComponent({__name:"PluginForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},pluginType:{type:String,required:!0},pluginId:{type:String,default:""},hideScopeSelection:{type:Boolean,default:!1},disableScopeSelection:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},developer:{type:Boolean,default:!1},isWizardStep:{type:Boolean,default:!1},actionsTeleportTarget:{type:String,default:""},noCardWrapper:{type:Boolean,default:!1},hideViewConfigAction:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},schema:{type:Object,default:null},enableRedisPartial:{type:Boolean,default:!1},scopedEntitiesPermissions:{type:Object,default:null}},emits:["cancel","error:fetch-schema","error","loading","update","model-updated","showNewPartialModal","globalAction"],setup(e,{emit:n}){var J;const o=n,r=e,i=Qn.useRouter(),{i18n:{t:a}}=Ve.useI18n(),{customSchemas:l,typedefs:s}=Ve.useSchemas({app:r.config.app,credential:r.credential,experimentalRenders:r.config.app==="konnect"?r.config.experimentalRenders:void 0}),{formatPluginFieldLabel:c}=Ve.usePluginHelpers(),{getMessageFromError:d}=se.useErrors(),{capitalize:f}=se.useStringHelpers(),{objectsAreEqual:u}=se.useHelpers(),{axiosInstance:p}=se.useAxios((J=r.config)==null?void 0:J.axiosRequestConfig),m=t.ref(!1),h=t.computed(()=>!!r.pluginId),y=t.computed(()=>r.pluginId?se.EntityBaseFormType.Edit:se.EntityBaseFormType.Create),g=t.ref(void 0),_=t.ref(void 0),w=t.computed(()=>!!(r.credential&&r.config.entityId)),b=t.ref(void 0),v=t.ref({}),N=t.ref(),E=t.ref();t.provide(Tc,{redisType:N,redisPath:E,isEditing:h.value});const T=t.ref(!1),P=t.reactive({enabled:!0,protocols:[],tags:[]}),D=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,clientErrorMessage:"",serverErrorMessage:""}),K=t.ref([{title:a("view_configuration.json"),hash:"#json"},{title:a("view_configuration.yaml"),hash:"#yaml"}]);r.config.app==="konnect"&&K.value.splice(1,0,{title:a("view_configuration.terraform"),hash:"#terraform"});const j=t.ref(""),A=t.computed(()=>{if(w.value){let R=Re.form[r.config.app].credential[y.value];return R=R.replace(/{resourceEndpoint}/gi,M.value),R}return r.config.entityType&&r.config.entityId?Re.form[r.config.app].edit.forEntity.replace(/{entityType}/gi,r.config.entityType).replace(/{entityId}/gi,r.config.entityId):Re.form[r.config.app].edit.all}),W=()=>{m.value=!m.value},I=t.computed(()=>{var oe,fe,pe,ke,Ae,de,ce,rt;const R=r.config.entityType==="consumers"&&r.config.entityId||((fe=(oe=b.value)==null?void 0:oe.consumer)==null?void 0:fe.id),X=r.config.entityType==="consumer_groups"&&r.config.entityId||((ke=(pe=b.value)==null?void 0:pe.consumer_group)==null?void 0:ke.id),L=r.config.entityType==="services"&&r.config.entityId||((de=(Ae=b.value)==null?void 0:Ae.service)==null?void 0:de.id),ue=r.config.entityType==="routes"&&r.config.entityId||((rt=(ce=b.value)==null?void 0:ce.route)==null?void 0:rt.id);if(!(R||X||L||ue))return{global:{entity:z.PluginScope.GLOBAL,entityEndpoint:"plugins"}};const le={};return L&&(le.service={entity:z.PluginScope.SERVICE,entityEndpoint:"services",id:L,idField:Qt.SERVICE}),ue&&(le.route={entity:z.PluginScope.ROUTE,entityEndpoint:"routes",id:ue,idField:Qt.ROUTE}),R&&(le.consumer={entity:z.PluginScope.CONSUMER,entityEndpoint:"consumers",id:R,idField:Qt.CONSUMER}),X&&(le.consumer_group={entity:z.PluginScope.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:X,idField:Qt.CONSUMER_GROUP}),r.config.entityType&&(le.focusedEntity={entity:z.PluginScope[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()],entityEndpoint:r.config.entityType,id:r.config.entityId,idField:Qt[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()]}),le}),U=t.reactive({name:{default:r.pluginType,type:"input",inputType:"hidden",styleClasses:"d-none hidden-field",pinned:!0},enabled:{type:"switch",model:"enabled",label:a("plugins.form.fields.enabled.label"),textOn:a("plugins.form.fields.enabled.on_text"),textOff:a("plugins.form.fields.enabled.off_text"),styleClasses:"field-switch hide-label",default:!0,pinned:!0},selectionGroup:{type:r.hideScopeSelection&&(r.hideScopeSelection||y.value===se.EntityBaseFormType.Create&&r.config.entityId)?"foreign":"selectionGroup",disabled:r.disableScopeSelection,inputType:"hidden",styleClasses:"hide-label",fields:[{label:a("plugins.form.scoping.global.label"),description:a("plugins.form.scoping.global.help")}],pinned:!0},protocols:{id:"protocols",default:[],help:a("plugins.form.fields.protocols.help"),label:a("plugins.form.fields.protocols.label"),required:!0,styleClasses:"plugin-protocols-select",type:"multiselect",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}]},instance_name:{default:"",type:"input",label:a("plugins.form.fields.instance_name.label"),inputType:"text",help:a("plugins.form.fields.instance_name.help")},tags:s.tags}),M=t.computed(()=>{var L;const R=r.developer?"developers":"consumers",X=((L=vn[r.pluginType])==null?void 0:L.endpoint)||"/plugins";return`${R}/${r.config.entityId}${r.developer?"/credentials":""}${X}`}),ee=R=>{const X=Array.from(new Set(R.map(L=>typeof L)));return X.length>1?"string":X[0]},H=(R,X,L,ue)=>{var pe,ke;let le=X&&X.fields||[];const oe=l[r.pluginType],fe=(ke=(pe=vn[r.pluginType])==null?void 0:pe.schema)==null?void 0:ke.fields;return Array.isArray(le)&&(le=le.reduce((Ae,de)=>{const ce=Object.keys(de)[0];return ce.match(/-/g)?Ae[ce.replace(/-/g,"_")]={...de[ce],fieldNameHasDashes:!0}:Ae[ce]=de[ce],Ae},{})),Object.keys(le).sort().forEach(Ae=>{var qo,Go,zo,Ho,Yo,Wo,Xo;const de=le[Ae];de.type==="set"&&(de.type="array");const ce=R?`${R}-${Ae}`:`${Ae}`;if((qo=oe==null?void 0:oe.fieldsToDelete)!=null&&qo.includes(ce)){lc(L,ce);return}if(Object.prototype.hasOwnProperty.call(de,"overwrite")||de.hidden)return;if(de.type==="table")return H(ce,de.schema,L);if(de.fields)return ue&&de.type==="record"?(L[ce]={type:"object",model:Ae,schema:{fields:Object.values(H(ce,de,{},!0))}},L):H(ce,de,L);if(L[ce]={id:ce,model:Ae},L[ce].type=de.type==="boolean"?"checkbox":"input",L[ce].required=de.required,L[ce].referenceable=de.referenceable,ce.startsWith("config-"))if(!ue&&de.type==="array"&&(j.value=ce),ue&&j.value&&ce.startsWith(j.value)){const Ne=ce.slice(j.value.length+1);L[ce].label=Ne.split("-").map(c).join(".")}else L[ce].label=c(ce);if((R==="config"||R.startsWith("config-"))&&(Go=le[Ae])!=null&&Go.description&&(L[ce].help=Zo.marked.parse(le[Ae].description,{mangle:!1,headerIds:!1})),de.type==="map"){if(L[ce].type="object-advanced",L[ce].values=de.values,de.values.type==="array"){const{type:Ne}=de.values.elements||{};L[ce].schema={fields:[{schema:{fields:[{...Pe,model:ce,valueArrayType:Ne==="integer"?"number":Ne||"string",inputAttributes:{...Pe.inputAttributes,type:Ne==="integer"?"number":"text",inputMode:Ne==="integer"?"numeric":"text"}}]}}]}}else de.values.fields&&(L[ce].schema={fields:[{type:"object",model:"object",schema:{fields:de.values.fields.map(Ne=>{const it=Object.keys(Ne)[0];return{model:it,type:"input",label:f(it),placeholder:it,inputType:Ne[it].type}})}}]});return L}if(de.enum&&de.type==="array"&&(L[ce].type="checklist",L[ce].values=de.enum,L[ce].multi=!0,L[ce].multiSelect=!0),de.one_of&&de.type!=="array"&&(L[ce].type="select",L[ce].values=de.one_of,L[ce].selectOptions={noneSelectedText:a("plugins.form.no_selection")}),de.elements&&de.type==="array"){const Ne=de.elements;if(L[ce].referenceable=Ne.referenceable,L[ce].elements=Ne,["string","integer","number"].includes(Ne.type)&&!Ne.one_of){const{id:it,help:Me,label:Ee,hint:Se,values:Te,referenceable:jt,model:ct}=L[ce],{inputAttributes:Ni,...vR}=JSON.parse(JSON.stringify(Pe));Ni.type=Ne.type==="string"?"text":"number",L[ce]={id:it,help:Me,label:Ee,hint:Se,values:Te,referenceable:jt,model:ct,inputAttributes:Ni,...vR}}}if(de.hint&&(L[ce].hint=de.hint),oe&&!oe.overwriteDefault&&Object.keys(oe).forEach(Ne=>{if(Ne===ce){const{help:it,label:Me,hint:Ee,values:Se,referenceable:Te,elements:jt}=L[ce],{help:ct,...Ni}=oe[Ne];L[ce]={help:it,label:Me,hint:Ee,values:Se,referenceable:Te,elements:jt,...Ni},typeof ct=="string"&&(L[ce].help=Zo.marked.parse(ct,{mangle:!1,headerIds:!1}))}}),de.type==="array"&&((zo=de.elements)==null?void 0:zo.type)==="record"&&Array.isArray(de.elements.fields)){let Ne={};for(const Me of de.elements.fields)Ne={...Ne,...Me};const it=(Wo=(Yo=(Ho=L[ce])==null?void 0:Ho.items)==null?void 0:Yo.schema)==null?void 0:Wo.fields;if(Array.isArray(it))for(const Me of L[ce].items.schema.fields){const Ee=(Xo=Ne[Me.model])==null?void 0:Xo.description;Me.help===void 0&&typeof Ee=="string"&&(Me.help=Zo.marked.parse(Ee,{mangle:!1,headerIds:!1}))}if(it||(L[ce].type="array",L[ce].newElementButtonLabelClasses="kong-form-new-element-button-label",L[ce].fieldClasses="array-card-container-wrapper",L[ce].itemContainerComponent="FieldArrayCardContainer",L[ce].items={type:"object",schema:{fields:Object.values(H(ce,de.elements,{},!0))}},L[ce].items.schema.fields.forEach(Me=>{var Ee,Se;for(const Te of de.elements.fields){const jt=Object.keys(Te)[0],ct=((Se=(Ee=Me.id)==null?void 0:Ee.split)==null?void 0:Se.call(Ee,"-"))??[];if(ct[ct.length-1]===jt){Me.model=jt,Me.label=c(jt);break}}}),de.elements.type==="record"&&(L[ce].nestedFields=!0)),!L[ce].nestedFields)L[ce].items.default=()=>de.elements.fields.reduce((Me,Ee)=>{const Se=Object.keys(Ee)[0];return Me[Se]=Ee[Se].default,Me},{});else{const Me=(Ee,Se)=>{if(Ee.type==="object"){Ee.model&&(Se[Ee.model]={});for(const Te of Ee.schema.fields)Me(Te,Ee.model?Se[Ee.model]:Se)}else Ee.model&&(Se[Ee.model]=Ee.default)};L[ce].items.default=()=>{const Ee={};return Me(L[ce].items,Ee),Ee}}}if(w.value&&fe){for(let Ne=0;Ne<fe.length;Ne++)if(fe[Ne][ce]){L[ce]={...L[ce],...fe[Ne][ce]};break}}if(de.required&&de.type!=="boolean"&&(L[ce].required=!0,L[ce].selectOptions={hideNoneSelectedText:!0}),de.required&&de.type==="boolean"&&(L[ce].default=de.default??!1),de.default!=null&&typeof de.default!="object"&&de.default!=="function"&&(L[ce].default=de.default),L[ce].type==="input"){["string","number"].includes(typeof L[ce].default)&&r.config.app==="konnect"&&(L[ce].placeholder=`Default: ${L[ce].default===""?"<empty string>":L[ce].default}`);const{type:Ne}=de.elements||{};Ne&&(L[ce].valueArrayType=Ne==="integer"?"number":Ne),L[ce].inputType=de.type==="array"||de.type==="string"?de.encrypted?"password":"text":de.type}let rt="string";de.enum?rt=ee(de.enum):de.type==="boolean"?rt="boolean":de.type==="number"||de.type==="integer"?(rt="number",L[ce].inputType="number"):de.type==="array"?(rt="array",L[ce].default=de.default,de.len_min>0&&(L[ce].submitWhenNull=!0)):de.type==="foreign"?rt="object":de.default&&Array.isArray(de.default)?(rt="array",L[ce].valueArrayType=ee(de.default)):de.default&&(rt=typeof de.default),L[ce].valueType=rt,de.fieldNameHasDashes&&(L[ce].fieldNameHasDashes=!0)}),L},G=()=>{var ce,rt,qo,Go,zo,Ho,Yo,Wo,Xo,Ne,it,Me;const R=((ce=Pt[r.pluginType])==null?void 0:ce.scope.includes(z.PluginScope.SERVICE))??!0,X=((rt=Pt[r.pluginType])==null?void 0:rt.scope.includes(z.PluginScope.ROUTE))??!0,L=((qo=Pt[r.pluginType])==null?void 0:qo.scope.includes(z.PluginScope.CONSUMER))??!0,ue=r.config.disableConsumerGroupScope?!1:((Go=Pt[r.pluginType])==null?void 0:Go.scope.includes(z.PluginScope.CONSUMER_GROUP))??!0,le=r.config.entityType==="consumers"&&!!r.config.entityId||!!((Ho=(zo=b.value)==null?void 0:zo.consumer)!=null&&Ho.id),oe=r.config.entityType==="consumer_groups"&&!!r.config.entityId||!!((Wo=(Yo=b.value)==null?void 0:Yo.consumer_group)!=null&&Wo.id),fe=r.config.entityType==="services"&&!!r.config.entityId||!!((Ne=(Xo=b.value)==null?void 0:Xo.service)!=null&&Ne.id),pe=r.config.entityType==="routes"&&!!r.config.entityId||!!((Me=(it=b.value)==null?void 0:it.route)!=null&&Me.id),ke=[],Ae=(Ee,Se,Te)=>Ee?a("plugins.form.disable_source_scope_change",{scope:Te}):Se?a("plugins.form.disable_data_retrieving",{scope:Te}):"",de=Ee=>{var Se,Te;return((Te=(Se=r.scopedEntitiesPermissions)==null?void 0:Se[Ee])==null?void 0:Te.canRetrieve)===!1};if(R){const Ee=de("service"),Se="services",Te=fe&&r.disableScopeSelection;ke.push({id:"service-id",model:"service-id",label:a("plugins.form.scoping.gateway_service.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggestV2",labelField:"name",entity:Se,inputValues:{fields:["name","id"]},help:a("plugins.form.scoping.gateway_service.help"),disabled:Te||Ee,disabledTooltip:Ae(Te,Ee,Se)})}if(X){const Ee=de("route"),Se="routes",Te=pe&&r.disableScopeSelection;ke.push({id:"route-id",model:"route-id",label:a("plugins.form.scoping.route.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggestV2",entity:Se,labelField:"name",inputValues:{fields:["name","id"],primaryField:"id"},help:a("plugins.form.scoping.route.help"),disabled:Te||Ee,disabledTooltip:Ae(Te,Ee,Se)})}if(L){const Ee=de("consumer"),Se="consumers",Te=le&&r.disableScopeSelection;ke.push({model:"consumer-id",label:a("plugins.form.scoping.consumer.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggestV2",entity:Se,labelField:"username",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:a("plugins.form.scoping.consumer.help"),disabled:Te||Ee,disabledTooltip:Ae(Te,Ee,Se)})}if(ue){const Ee=de("consumer_group"),Se="consumer_groups",Te=oe&&r.disableScopeSelection;ke.push({model:"consumer_group-id",label:a("plugins.form.scoping.consumer_group.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggestV2",entity:Se,entityDataKey:"consumer_group",labelField:"name",inputValues:{fields:["name","id"],primaryField:"name"},help:a("plugins.form.scoping.consumer_group.help"),disabled:Te||Ee,disabledTooltip:Ae(Te,Ee,Se)})}if(ke.length){const Ee=[...R?["service"]:[],...X?["route"]:[],...L?["consumer"]:[],...ue?["consumer_group"]:[]],Te=Ee.splice(Ee.length-2,2).map(ct=>a(ct==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ct}.plural`)).join(`${Ee.length>0?",":""} and/or `),jt=["Specific",[...Ee.length>0?[Ee.map(ct=>a(ct==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ct}.plural`)).join(", ")]:[],Te].join(", ")].join(" ");U.selectionGroup.fields.push({label:a("plugins.form.scoping.label"),description:jt,fields:[]}),U.selectionGroup.fields[1].fields=ke}l[r.pluginType]&&l[r.pluginType].overwriteDefault&&Object.hasOwnProperty.call(l[r.pluginType],"formSchema")&&Object.assign(U,l[r.pluginType].formSchema)},V=t.computed(()=>!u(D.fields,P,!0)),B=t.computed(()=>!O.value&&!T.value&&(y.value===se.EntityBaseFormType.Create||V.value)),Z=t.ref(!1),re=t.ref(),Y=R=>{r.credential&&R.password&&(R.password=""),D.fields.id=(R==null?void 0:R.id)||void 0,re.value=R==null?void 0:R.ordering,Object.assign(P,D.fields),b.value=R,Z.value=!0},ie=t.ref({}),ae=R=>{var X;D.fields=R.model,D.fields.id=((X=b.value)==null?void 0:X.id)||void 0,Object.assign(P,R.originalModel),ie.value=R.data,r.isWizardStep&&o("model-updated",{model:D.fields,data:R.data,resourceEndpoint:M.value})},ge=t.ref(new Map),me=t.computed(()=>[D.clientErrorMessage,D.serverErrorMessage].filter(Boolean).join("; ")),te=R=>{R.valid?ge.value.delete(R.model):ge.value.set(R.model,R.error),D.clientErrorMessage=[...ge.value.entries()].map(([X,L])=>`${X}: ${typeof L=="string"?L:d(L)}`).join("; "),D.clientErrorMessage&&(D.serverErrorMessage="")};t.watch([I,Z],(R,X)=>{const L=R[0]!==X[0],ue=R[1],le=X[1];if(!w.value&&y.value===se.EntityBaseFormType.Edit&&(L||ue&&ue!==le)){const oe=H("config",v.value,U);$.value&&(oe._isCustomPlugin=!0),N.value&&(oe._supported_redis_partial_type=N.value),_.value=oe}},{deep:!0});const ne=()=>{r.config.cancelRoute?i.push(r.config.cancelRoute):o("cancel")},q=t.computed(()=>{let R=`${r.config.apiBaseUrl}${Re.form[r.config.app].validate}`;return r.config.app==="konnect"?R=R.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(R=R.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),R=R.replace(/{id}/gi,r.pluginId),R}),Q=t.computed(()=>{const R=r.config.entityType&&r.config.entityId&&!r.developer,X=w.value?Re.form[r.config.app].credential[y.value]:Re.form[r.config.app][y.value][R?"forEntity":"all"];let L=`${r.config.apiBaseUrl}${X}`;return r.config.app==="konnect"?L=L.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(L=L.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),L=L.replace(/{resourceEndpoint}/gi,M.value),L=L.replace(/{id}/gi,r.pluginId),L=L.replace(/{entityType}/gi,r.config.entityType||""),L=L.replace(/{entityId}/gi,r.config.entityId||""),L}),$=t.computed(()=>!Object.keys(Pt).includes(r.pluginType)),k=t.computed(()=>{const R=ie.value;if(w.value){for(const X in z.PluginScope){const L=z.PluginScope[X];R[L]&&!R[L].id&&(R[L]={id:r.config.entityId})}delete R.created_at}return ie.value.partials&&E.value&&lc(R,E.value),R}),C=async()=>{if(!D.clientErrorMessage&&!r.isWizardStep)try{D.isReadonly=!0;let R;const X=JSON.parse(JSON.stringify(k.value)),L=l[r.pluginType];typeof(L==null?void 0:L.shamefullyTransformPayload)=="function"&&L.shamefullyTransformPayload({originalModel:P,model:D.fields,payload:X,schema:_.value}),!w.value&&!$.value&&await p.post(q.value,X),y.value==="create"?R=await p.post(Q.value,X):y.value==="edit"&&(R=r.config.app==="konnect"||N.value&&X.partials?await p.put(Q.value,Object.assign({ordering:re.value},X)):await p.patch(Q.value,X)),Object.assign(P,D.fields),o("update",R==null?void 0:R.data)}catch(R){D.serverErrorMessage=d(R),o("error",R)}finally{D.isReadonly=!1}},x=t.computed(()=>{var ue;const R=w.value?(ue=vn[r.pluginType])==null?void 0:ue.schemaEndpoint:r.pluginType,X=w.value?Re.form[r.config.app].credentialSchema:Re.form[r.config.app].pluginSchema;let L=`${r.config.apiBaseUrl}${X}`;return r.config.app==="konnect"?L=L.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(L=L.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),L=L.replace(/{plugin}/gi,R),L}),S=t.ref(""),O=t.ref(!1),F=t.ref("");return t.onBeforeMount(async()=>{var R,X,L,ue;O.value=!0;try{if(w.value&&r.config.app==="konnect"){const le=(R=vn[r.pluginType])==null?void 0:R.schemaEndpoint,oe=hm[le];S.value=le,_.value=H("",oe,{}),O.value=!1}else{const le=r.schema??(await p.get(x.value)).data;if(g.value=le,le)if(w.value)_.value=H("",le,{}),O.value=!1;else{const oe=le.fields.find(pe=>pe.config);v.value=oe?oe.config:le,le.supported_partials&&(N.value=Object.keys(le.supported_partials).find(pe=>[er.REDIS_CE,er.REDIS_EE].includes(pe)),E.value=(X=le.supported_partials[N.value])==null?void 0:X[0]),G();const fe=(L=le.fields.find(pe=>pe.protocols))==null?void 0:L.protocols;if(fe){const{default:pe=[],elements:ke={}}=fe;U.protocols.default=pe,U.protocols.placeholder=r.config.app==="konnect"?a("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:pe.join(", ")}):a("plugins.form.fields.protocols.placeholder"),(ue=ke.one_of)!=null&&ue.length&&(U.protocols.values=ke.one_of.map(Ae=>({label:Ae,value:Ae})))}if(Z.value||y.value===se.EntityBaseFormType.Create){const pe=H("config",v.value,U);N.value&&(pe._supported_redis_partial_type=N.value),$.value&&(pe._isCustomPlugin=!0),_.value=pe}}}}catch(le){console.error(le),F.value=d(le),o("error:fetch-schema",le)}finally{O.value=!1}}),(R,X)=>{const L=t.resolveComponent("KSkeleton"),ue=t.resolveComponent("KEmptyState"),le=t.resolveComponent("KButton"),oe=t.resolveComponent("KTabs"),fe=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",AV,[O.value?(t.openBlock(),t.createBlock(L,{key:0,type:"form"})):F.value?(t.openBlock(),t.createBlock(ue,{key:1,"action-button-visible":!1,"data-testid":"plugin-form-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(t.unref(a)("errors.load_schema")),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(se.EntityBaseForm),{key:2,"can-submit":B.value,config:e.config,"edit-id":e.pluginId,"entity-type":t.unref(se.SupportedEntityType).Plugin,"error-message":me.value,"fetch-url":A.value,"form-fields":k.value,"is-readonly":D.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:ne,"onFetch:error":X[4]||(X[4]=pe=>R.$emit("error",pe)),"onFetch:success":Y,onLoading:X[5]||(X[5]=pe=>R.$emit("loading",pe))},{"form-actions":t.withCtx(()=>[e.isWizardStep?(t.openBlock(),t.createElementBlock("div",IV)):(t.openBlock(),t.createBlock(xV,{key:1,"teleport-target":e.actionsTeleportTarget},{default:t.withCtx(()=>[t.createElementVNode("div",PV,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(le,{key:0,appearance:"tertiary","data-testid":`plugin-${h.value?"edit":"create"}-form-view-configuration`,onClick:X[3]||(X[3]=pe=>W())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),t.createVNode(le,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${h.value?"edit":"create"}-form-cancel`,disabled:D.isReadonly,onClick:ne},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),t.createVNode(le,{appearance:"primary","data-testid":`plugin-${h.value?"edit":"create"}-form-submit`,disabled:!B.value||D.isReadonly,type:"submit",onClick:C},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.save")),1)]),_:1},8,["data-testid","disabled"])])]),_:1},8,["teleport-target"]))]),default:t.withCtx(()=>[t.createElementVNode("form",{hidden:"",onSubmit:C},null,32),t.createVNode(vV,{config:e.config,credential:w.value,editing:y.value===t.unref(se.EntityBaseFormType).Edit,"enable-redis-partial":e.enableRedisPartial,"enable-vault-secret-picker":r.enableVaultSecretPicker,"entity-map":I.value,"raw-schema":g.value,record:b.value,schema:_.value,onGlobalAction:X[0]||(X[0]=(pe,ke)=>R.$emit("globalAction",pe,ke)),onLoading:X[1]||(X[1]=pe=>T.value=pe),onModelUpdated:ae,onShowNewPartialModal:X[2]||(X[2]=pe=>R.$emit("showNewPartialModal",pe)),onValidityChange:te},null,8,["config","credential","editing","enable-redis-partial","enable-vault-secret-picker","entity-map","raw-schema","record","schema"])]),_:1},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly","wrapper-component"])),t.createVNode(fe,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:t.unref(a)("view_configuration.title"),visible:m.value,onClose:W},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("view_configuration.message")),1),t.createVNode(oe,{"data-testid":"form-view-configuration-slideout-tabs",tabs:K.value},{json:t.withCtx(()=>[t.createVNode(t.unref(se.JsonCodeBlock),{config:e.config,"entity-record":k.value,"fetcher-url":Q.value,"request-method":r.pluginId?"put":"post"},null,8,["config","entity-record","fetcher-url","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref(se.YamlCodeBlock),{"entity-record":k.value},null,8,["entity-record"])]),terraform:t.withCtx(()=>[t.createVNode(t.unref(se.TerraformCodeBlock),{"credential-type":S.value,"entity-record":k.value,"entity-type":t.unref(se.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])])}}}),[["__scopeId","data-v-d12d60bc"]]),OV={class:"kong-ui-entities-plugins-list"},$V={class:"button-row"},BV={class:"empty-state-icon-gateway"},VV={class:"name-cell-wrapper"},RV={class:"info-wrapper"},MV={key:0,class:"info-name"},DV={key:1,class:"info-name"},LV={key:2,class:"info-type"},FV={key:1},UV=we(t.defineComponent({__name:"PluginList",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.createRoute||!e.getViewRoute||!e.getEditRoute||!e.getConfigureDynamicOrderingRoute||e.app==="kongManager"&&!e.isExactMatch&&!e.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canToggle:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},canRetrieveScopedEntity:{type:Function,required:!1,default:async()=>!0},canConfigureDynamicOrdering:{type:Function,required:!1,default:async()=>!0},title:{type:String,default:""},titleTag:{type:String,default:"h2"},useActionOutside:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success","toggle-enabled"],setup(e,{emit:n}){var x,S;const o=Ve.usePluginMetaData(),r=n,i=e,{i18n:{t:a}}=Ve.useI18n(),l=Qn.useRouter(),{axiosInstance:s}=se.useAxios((x=i.config)==null?void 0:x.axiosRequestConfig),{hasRecords:c,handleStateChange:d}=se.useTableState(()=>b.value),f=t.computed(()=>c.value&&i.config.app==="konnect"),u=t.computed(()=>!!i.config.entityId),p=t.computed(()=>{var O;return((O=i.config)==null?void 0:O.entityType)==="consumers"}),m=t.computed(()=>{var O;return((O=i.config)==null?void 0:O.entityType)==="consumer_groups"}),h=i.config.app==="konnect"||se.useGatewayFeatureSupported({gatewayInfo:i.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),y=t.computed(()=>i.config.app!=="kongManager"||!!i.config.disableSorting),g={name:{label:a("plugins.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1}};(S=i.config)!=null&&S.entityId||(g.appliedTo={label:a("plugins.list.table_headers.applied_to"),sortable:!1}),g.enabled={label:a("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},h&&(g.ordering={label:a("plugins.list.table_headers.ordering"),sortable:!0}),g.tags={label:a("plugins.list.table_headers.tags"),sortable:!1};const _=g,w=t.computed(()=>{var F,J,R,X;let O=i.config.entityType?`${i.config.apiBaseUrl}${Re.list[i.config.app].forEntity}`:`${i.config.apiBaseUrl}${Re.list[i.config.app].all}`;return i.config.app==="konnect"?O=O.replace(/{controlPlaneId}/gi,((F=i.config)==null?void 0:F.controlPlaneId)||""):i.config.app==="kongManager"&&(O=O.replace(/\/{workspace}/gi,(J=i.config)!=null&&J.workspace?`/${i.config.workspace}`:"")),O.replace(/{entityType}/gi,((R=i.config)==null?void 0:R.entityType)||"").replace(/{entityId}/gi,((X=i.config)==null?void 0:X.entityId)||"")}),b=t.ref(""),v=t.computed(()=>i.config.app==="konnect"||i.config.isExactMatch?{isExactMatch:!0,fields:{name:g.name,id:{label:a("plugins.list.table_headers.id"),sortable:!0}},placeholder:a(`search.placeholder.${i.config.isExactMatch?"exact":i.config.app}`)}:{isExactMatch:!1,fields:{enabled:{...g.enabled,label:a("search.filter.field.enabled")},name:g.name,instance_name:{label:a("plugins.list.table_headers.instance_name"),searchable:!0}},schema:i.config.filterSchema}),{fetcher:N,fetcherState:E,fetcherCacheKey:T}=se.useFetcher(t.computed(()=>({...i.config,cacheIdentifier:i.cacheIdentifier})),w),P=()=>{b.value=""},D=()=>{T.value++},K=t.ref(null),j=O=>{var J,R,X,L;const F=[];return((J=O.route)!=null&&J.id||O.route_id)&&F.push({type:"route",badgeText:a("plugins.list.table_headers.applied_to_badges.route")}),((R=O.service)!=null&&R.id||O.service_id)&&F.push({type:"service",badgeText:a("plugins.list.table_headers.applied_to_badges.service")}),((X=O.consumer)!=null&&X.id||O.consumer_id)&&F.push({type:"consumer",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer")}),((L=O.consumer_group)!=null&&L.id||O.consumer_group_id)&&F.push({type:"consumer_group",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer_group")}),F.length?F:[{type:null,badgeText:a("plugins.list.table_headers.applied_to_badges.global")}]},A=async(O,F)=>{var J;return O===null?!1:await((J=i.canRetrieveScopedEntity)==null?void 0:J.call(i,O,F.id))},W=(O,F)=>{var R,X,L,ue,le;let J=null;switch(O){case"route":J=(R=F.route)==null?void 0:R.id;break;case"service":J=(X=F.service)==null?void 0:X.id;break;case"consumer":J=(L=F.consumer)==null?void 0:L.id;break;case"consumer_group":J=(ue=F.consumer_group)==null?void 0:ue.id;break}J&&((le=i.config)!=null&&le.getScopedEntityViewRoute)&&l.push(i.config.getScopedEntityViewRoute(O,J))},I=t.ref(!1),U=t.ref(null),M=t.computed(()=>{const O={action:"disable",id:"",name:""};if(U.value){const{enabled:F,id:J,name:R}=U.value;O.action=F?"disable":"enable",O.id=J,O.name=o.getDisplayName(R)||J}return O}),ee=O=>{I.value=!0,U.value=O},H=()=>{I.value=!1,U.value=null},G=async()=>{var R,X,L,ue,le,oe,fe,pe;if(!await((R=i.canEdit)==null?void 0:R.call(i,U.value))||!U.value)return;let F=`${i.config.apiBaseUrl}${(le=Re.item[i.config.app])==null?void 0:le[(X=i.config)!=null&&X.entityType?"forEntity":"all"].replace(/{entityType}/gi,((L=i.config)==null?void 0:L.entityType)||"").replace(/{entityId}/gi,((ue=i.config)==null?void 0:ue.entityId)||"")}`.replace(/{id}/gi,U.value.id||"");i.config.app==="konnect"?F=F.replace(/{controlPlaneId}/gi,((oe=i.config)==null?void 0:oe.controlPlaneId)||""):i.config.app==="kongManager"&&(F=F.replace(/\/{workspace}/gi,(fe=i.config)!=null&&fe.workspace?`/${i.config.workspace}`:""));const J=!U.value.enabled;try{const{data:ke}=((pe=i.config)==null?void 0:pe.app)==="konnect"?await s.put(F,{...U.value,enabled:J},{timeout:12e4}):await s.patch(F,{...U.value,enabled:J},{timeout:12e4});r("toggle-enabled",J,ke),U.value.enabled=J}catch(ke){r("error",ke)}},V=async(O,F)=>{const J=O.id;if(!await F(J)){r("copy:error",{entity:O,field:"id",message:a("errors.copy")});return}r("copy:success",{entity:O,field:"id",message:a("copy.success",{val:J})})},B=async(O,F)=>{const J=JSON.stringify(O);if(!await F(J)){r("copy:error",{entity:O,message:a("errors.copy")});return}r("copy:success",{entity:O,message:a("copy.success_brief")})},Z=async O=>{var J;await((J=i.canRetrieve)==null?void 0:J.call(i,O))&&l.push(i.config.getViewRoute(O))},re=O=>({label:a("actions.view"),to:i.config.getViewRoute(O)}),Y=O=>({label:a("actions.edit"),to:i.config.getEditRoute(O)}),ie=O=>({label:a("actions.configure_dynamic_ordering"),to:i.config.getConfigureDynamicOrderingRoute(O)}),ae=t.ref(void 0),ge=t.ref(!1),me=t.ref(!1),te=t.ref(""),ne=se.useDeleteUrlBuilder(i.config,w.value),q=O=>{ae.value=O,ge.value=!0},Q=()=>{ge.value=!1},$=async()=>{var O,F,J;if((O=ae.value)!=null&&O.id){me.value=!0;try{await s.delete(ne(ae.value.id)),me.value=!1,ge.value=!1,T.value++,r("delete:success",ae.value)}catch(R){te.value=((J=(F=R.response)==null?void 0:F.data)==null?void 0:J.message)||R.message||a("errors.delete"),r("error",R)}finally{me.value=!1}}},k=()=>{l.push(i.config.createRoute)};t.watch(E,O=>{var F,J,R;if(O.status===se.FetcherStatus.Error){K.value={title:a("errors.general")},(R=(J=(F=O.error)==null?void 0:F.response)==null?void 0:J.data)!=null&&R.message&&(K.value.message=O.error.response.data.message),r("error",O.error);return}K.value=null});const C=t.ref({ctaPath:i.config.createRoute,ctaText:void 0,message:`${a("plugins.list.empty_state.description")}${i.config.additionMessageForEmptyState?` ${i.config.additionMessageForEmptyState}`:""}`,title:a("plugins.title")});return t.onBeforeMount(async()=>{await i.canCreate()&&(C.value.title=a("plugins.list.empty_state.title"),C.value.ctaText=a("actions.create"))}),(O,F)=>{const J=t.resolveComponent("KButton"),R=t.resolveComponent("KBadge"),X=t.resolveComponent("KTruncate"),L=t.resolveComponent("KInputSwitch"),ue=t.resolveComponent("KDropdownItem"),le=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",OV,[t.createVNode(t.unref(se.EntityBaseTable),{"cache-identifier":e.cacheIdentifier,"disable-sorting":y.value,"empty-state-options":C.value,"enable-entity-actions":"","error-message":K.value,fetcher:t.unref(N),"fetcher-cache-key":t.unref(T),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:b.value,"table-headers":t.unref(_),title:e.title,"title-tag":e.titleTag,onClearSearchInput:P,"onClick:row":F[4]||(F[4]=oe=>Z(oe)),onSort:D,onState:t.unref(d)},t.createSlots({"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref(se.EntityFilter),{modelValue:b.value,"onUpdate:modelValue":F[0]||(F[0]=oe=>b.value=oe),config:v.value},null,8,["modelValue","config"])]),"toolbar-button":t.withCtx(()=>[(t.openBlock(),t.createBlock(t.Teleport,{disabled:!e.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[t.createElementVNode("div",$V,[!u.value&&f.value?(t.openBlock(),t.createBlock(J,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:F[1]||(F[1]=oe=>O.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.BookIcon),{decorative:""})]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref(se.PermissionsWrapper),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.createVNode(J,{appearance:"primary","data-testid":"toolbar-add-plugin",size:e.useActionOutside?"medium":"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.toolbar_actions.new_plugin")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:t.withCtx(({row:oe})=>[t.createElementVNode("div",VV,[t.createVNode(t.unref(to.PluginIcon),{class:"plugin-icon",name:oe.name,size:24},null,8,["name"]),t.createElementVNode("div",RV,[oe.instance_name?(t.openBlock(),t.createElementBlock("span",MV,t.toDisplayString(oe.instance_name),1)):(t.openBlock(),t.createElementBlock("span",DV,t.toDisplayString(t.unref(o).getDisplayName(oe.name)),1)),oe.instance_name?(t.openBlock(),t.createElementBlock("span",LV,t.toDisplayString(t.unref(o).getDisplayName(oe.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:oe})=>[j(oe).length>0?(t.openBlock(),t.createBlock(X,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(j(oe),fe=>(t.openBlock(),t.createBlock(t.unref(se.PermissionsWrapper),{key:fe.badgeText,"auth-function":()=>A(fe.type,oe),"force-show":""},{default:t.withCtx(({isAllowed:pe})=>[t.createVNode(R,{class:t.normalizeClass(pe||"disabled"),onClick:t.withModifiers(ke=>pe&&fe.type&&W(fe.type,oe),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(fe.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",FV,"-"))]),enabled:t.withCtx(({row:oe})=>[t.createVNode(t.unref(se.PermissionsWrapper),{"auth-function":async()=>!!(await e.canEdit(oe)&&await e.canToggle(oe)),"force-show":""},{default:t.withCtx(({isAllowed:fe})=>{var pe,ke;return[t.createElementVNode("div",{onClick:F[3]||(F[3]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(L,{disabled:!fe,"disabled-tooltip-text":!fe&&((ke=(pe=e.config).getToggleDisabledTooltip)==null?void 0:ke.call(pe,oe))||void 0,"model-value":oe.enabled,onClick:t.withModifiers(Ae=>fe&&ee(oe),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:oe})=>[t.createVNode(R,{appearance:t.unref(oc)(oe)?"info":"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(oc)(oe)?t.unref(a)("plugins.list.table_headers.ordering_badge.static"):t.unref(a)("plugins.list.table_headers.ordering_badge.dynamic")),1)]),_:2},1032,["appearance"])]),tags:t.withCtx(({rowValue:oe})=>[t.createVNode(t.unref(se.TableTags),{tags:oe},null,8,["tags"])]),actions:t.withCtx(({row:oe})=>[t.createVNode(le,null,{default:t.withCtx(({copyToClipboard:fe})=>[t.createVNode(ue,{"data-testid":"action-entity-copy-id",onClick:pe=>V(oe,fe)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(le,null,{default:t.withCtx(({copyToClipboard:fe})=>[t.createVNode(ue,{"data-testid":"action-entity-copy-json",onClick:pe=>B(oe,fe)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(t.unref(se.PermissionsWrapper),{"auth-function":()=>e.canRetrieve(oe)},{default:t.withCtx(()=>[t.createVNode(ue,{"data-testid":"action-entity-view","has-divider":"",item:re(oe)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(se.PermissionsWrapper),{"auth-function":()=>e.canEdit(oe)},{default:t.withCtx(()=>[t.createVNode(ue,{"data-testid":"action-entity-edit",item:Y(oe)},null,8,["item"])]),_:2},1032,["auth-function"]),!p.value&&!m.value&&t.unref(h)?(t.openBlock(),t.createBlock(t.unref(se.PermissionsWrapper),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(oe)},{default:t.withCtx(()=>[ie(oe)?(t.openBlock(),t.createBlock(ue,{key:0,"data-testid":"action-entity-config-dyn-order",item:ie(oe)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(se.PermissionsWrapper),{"auth-function":()=>e.canDelete(oe)},{default:t.withCtx(()=>[t.createVNode(ue,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:fe=>q(oe)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!b.value&&e.config.app==="konnect"?{name:"empty-state",fn:t.withCtx(()=>{var oe;return[t.createVNode(t.unref(se.EntityEmptyState),{"action-button-text":t.unref(a)("plugins.list.empty_state_v2.create_cta"),appearance:"secondary","can-create":()=>e.canCreate(),"data-testid":e.config.entityId?"nested-plugins-entity-empty-state":"plugins-entity-empty-state",description:t.unref(a)("plugins.list.empty_state_v2.description"),"learn-more":e.config.app==="konnect",title:t.unref(a)("plugins.list.empty_state_v2.title"),"onClick:create":k,"onClick:learnMore":F[2]||(F[2]=fe=>O.$emit("click:learn-more"))},t.createSlots({image:t.withCtx(()=>[t.createElementVNode("div",BV,[t.createVNode(t.unref(Ce.PlugIcon),{color:t.unref(qw),size:t.unref(zw)},null,8,["color","size"])])]),_:2},[(oe=e.config)!=null&&oe.isControlPlaneGroup?{name:"message",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["action-button-text","can-create","data-testid","description","learn-more","title"])]}),key:"0"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","title","title-tag","onState"]),t.createVNode(t.unref(se.EntityToggleModal),{action:M.value.action,"entity-id":M.value.id,"entity-name":M.value.name,"entity-type":t.unref(a)("glossary.plugin"),"on-confirm":G,visible:I.value,onCancel:H,onProceed:H},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(se.EntityDeleteModal),{"action-pending":me.value,description:t.unref(a)("delete.description"),"entity-name":ae.value&&(ae.value.instance_name||ae.value.name||ae.value.id),"entity-type":t.unref(se.EntityTypes).Plugin,error:te.value,title:t.unref(a)("delete.title"),visible:ge.value,onCancel:Q,onProceed:$},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-3f031caf"]]),KV={class:"plugin-select-card-wrapper"},jV=["data-testid"],qV={class:"plugin-card-header"},GV={class:"plugin-card-title"},zV={key:0,class:"plugin-card-actions"},HV=["data-testid","title"],YV={key:0,class:"plugin-card-text"},WV={key:0},XV=["title"],Vl=we(t.defineComponent({__name:"PluginSelectCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},plugin:{type:Object,required:!0},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","custom-plugin-delete"],setup(e,{emit:n}){const o=n,r=e,i=Qn.useRouter(),{i18n:{t:a}}=Ve.useI18n(),l=t.computed(()=>r.config.app==="konnect"?r.config.controlPlaneId:""),s=t.computed(()=>!!(!r.plugin.available||r.plugin.disabledMessage)),c=t.computed(()=>!!(m.value&&!p.value&&r.navigateOnClick&&l.value&&(r.canDeleteCustomPlugin||r.canEditCustomPlugin))),d=()=>{i.push(r.config.getCreateRoute(r.plugin.id))},f=()=>{r.navigateOnClick?d():u()},u=()=>{o("plugin-clicked",r.plugin)},p=t.computed(()=>r.plugin.id==="custom-plugin-create"),m=t.computed(()=>r.config.app==="konnect"&&r.plugin.group===z.PluginGroup.CUSTOM_PLUGINS),h=()=>{r.config.app==="konnect"&&o("custom-plugin-delete")},y=(_,w)=>{const b=r.config;r.config.app==="konnect"&&typeof b.getCustomEditRoute=="function"&&b.getCustomEditRoute&&i.push(b.getCustomEditRoute(_,w))},g=()=>{if(!s.value&&r.config.app==="konnect"){const _=r.config;p.value&&_.createCustomRoute?i.push(_.createCustomRoute):m.value&&d()}};return(_,w)=>{const b=t.resolveComponent("KButton"),v=t.resolveComponent("KDropdownItem"),N=t.resolveComponent("KDropdownMenu"),E=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",KV,[t.createVNode(E,{text:e.plugin.disabledMessage},{default:t.withCtx(()=>[t.createElementVNode("a",{class:t.normalizeClass(["plugin-select-card",{disabled:s.value}]),"data-testid":`${e.plugin.id}-card`,role:"button",onClick:w[1]||(w[1]=T=>s.value||m.value?void 0:f())},[t.createElementVNode("div",qV,[t.createElementVNode("div",GV,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!m.value})},t.toDisplayString(e.plugin.name),3)]),c.value?(t.openBlock(),t.createElementBlock("div",zV,[t.createVNode(N,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{default:t.withCtx(()=>[t.createVNode(b,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.MoreIcon),{size:t.unref(Gw)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(v,{key:0,"data-testid":"edit-plugin-schema",onClick:w[0]||(w[0]=t.withModifiers(T=>y(e.plugin.name,e.plugin.customPluginType),["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.edit")),1)]),_:1})):t.createCommentVNode("",!0),e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(v,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:t.withModifiers(h,["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:1})):t.createCommentVNode("",!0)]),_:1})])):t.createCommentVNode("",!0)]),t.createElementVNode("div",{class:t.normalizeClass(["plugin-card-body",{"custom-plugin":m.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:t.unref(a)("plugins.select.unavailable_tooltip"),onClick:g},[t.createVNode(t.unref(to.PluginIcon),{alt:e.plugin.name,class:"plugin-card-icon",name:e.plugin.id,size:55},null,8,["alt","name"]),e.plugin.description||m.value&&!p.value?(t.openBlock(),t.createElementBlock("div",YV,[m.value&&!p.value?(t.openBlock(),t.createElementBlock("p",WV,t.toDisplayString(t.unref(a)("plugins.select.custom_badge_text")),1)):t.createCommentVNode("",!0),e.plugin.description?(t.openBlock(),t.createElementBlock("p",{key:1,class:"plugin-card-text",title:e.plugin.description},t.toDisplayString(e.plugin.description),9,XV)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,HV),t.createElementVNode("div",{class:"plugin-card-footer",onClick:g},t.toDisplayString(p.value?t.unref(a)("actions.create_custom"):e.plugin.exists?t.unref(a)("actions.enabled"):t.unref(a)("actions.enable")),1)],10,jV)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-65d53934"]]),ZV=we(t.defineComponent({__name:"DeleteCustomPluginSchemaModal",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app))},plugin:{type:Object,required:!0}},emits:["closed","proceed"],setup(e,{emit:n}){var h;const o=e,r=n,{i18nT:i,i18n:{t:a}}=Ve.useI18n(),{getMessageFromError:l}=se.useErrors(),{axiosInstance:s}=se.useAxios((h=o.config)==null?void 0:h.axiosRequestConfig),c=t.computed(()=>{var y;return u.value?a("delete.plugin_schema_in_use_title"):a("delete.title",{name:((y=o.plugin)==null?void 0:y.name)||a("delete.custom_plugin")})}),d=t.ref(!1),f=t.ref(""),u=t.ref(!1),p=t.computed(()=>{if(o.config.app==="konnect"){const y=o.plugin.customPluginType==="streaming"?Re.select[o.config.app].streamingCustomPluginItem:Re.select[o.config.app].schemaCustomPluginItem;let g=`${o.config.apiBaseUrl}${y}`;return g=g.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),g=g.replace(/{pluginId}/gi,o.plugin.id),g}return null}),m=async()=>{var y,g,_,w;if(d.value=!0,f.value="",!(!((y=o.plugin)!=null&&y.name)||((g=o.config)==null?void 0:g.app)!=="konnect"))try{p.value&&await s.delete(p.value),r("proceed")}catch(b){const{response:v}=b;(v==null?void 0:v.status)===400&&((w=(_=v.data)==null?void 0:_.message)!=null&&w.includes("plugin schema is currently in use"))?u.value=!0:f.value=l(b)}finally{d.value=!1}};return(y,g)=>{const _=t.resolveComponent("KButton"),w=t.resolveComponent("KModal");return!u.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(se.EntityDeleteModal),{key:0,"action-pending":d.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",description:t.unref(a)("delete.description_custom"),"entity-name":e.plugin.name,"entity-type":t.unref(se.EntityTypes).Plugin,error:f.value,"need-confirm":"",title:c.value,visible:"",onCancel:g[0]||(g[0]=b=>y.$emit("closed")),onProceed:m},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(w,{key:1,"action-button-disabled":d.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",title:c.value,visible:"",onCancel:g[2]||(g[2]=b=>y.$emit("closed"))},{default:t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(t.unref(i),{keypath:"delete.plugin_schema_in_use_message",tag:"p"},{name:t.withCtx(()=>[t.createElementVNode("strong",null,t.toDisplayString(e.plugin.name),1)]),_:1})])]),"footer-actions":t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(_,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:g[1]||(g[1]=b=>y.$emit("closed"))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.cancel")),1)]),_:1})])]),_:1},8,["action-button-disabled","title"])):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-9e0dee7f"]]),JV={class:"custom-plugins-grid"},QV={class:"empty-state-title"},eR={class:"empty-state-description"},Rl=310,tR=we(t.defineComponent({__name:"PluginCustomGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canCreateCustomPlugin:{type:Boolean,default:!1},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","revalidate","delete:success"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=Ve.useI18n(),{getTallestPluginCardHeight:a,getToggleVisibility:l}=Ve.usePluginHelpers(),s=t.ref(!0),c=N=>{r("plugin-clicked",N)},d=t.computed(()=>{if(o.config.app==="kongManager")return[];const N=JSON.parse(JSON.stringify(o.pluginList))[z.PluginGroup.CUSTOM_PLUGINS]||[];return o.canCreateCustomPlugin&&o.navigateOnClick&&o.config.createCustomRoute?[{id:"custom-plugin-create",name:i("plugins.select.tabs.custom.create.name"),available:!0,group:z.PluginGroup.CUSTOM_PLUGINS,description:i("plugins.select.tabs.custom.create.description")}].concat(N):N}),f=t.ref(!1),u=t.ref(null),p=N=>{f.value=!0,u.value={id:N.id,name:N.name,customPluginType:N.customPluginType}},m=N=>{var E;N&&(r("revalidate"),r("delete:success",((E=u.value)==null?void 0:E.name)||"")),f.value=!1,u.value=null},h=t.ref(Rl),y=t.ref(null),g=t.ref(null),_=t.computed(()=>s.value?{overflowY:"hidden",maxHeight:`${h.value}px`}:{}),w=t.ref(!1),b=()=>{h.value=Math.max(a(g.value),Rl),v()},v=()=>{var N,E;(N=g.value)!=null&&N.length&&(w.value=l(y.value,(E=g.value)==null?void 0:E.length))};return t.onMounted(async()=>{await t.nextTick(),h.value=Math.max(a(g.value),Rl),v(),window==null||window.addEventListener("resize",b)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",b)}),(N,E)=>{const T=t.resolveComponent("KEmptyState"),P=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",JV,[d.value.length?(t.openBlock(),t.createBlock(P,{key:1,modelValue:s.value,"onUpdate:modelValue":E[0]||(E[0]=D=>s.value=D),class:"custom-plugins-collapse","data-testid":`${t.unref(z.PluginGroup).CUSTOM_PLUGINS}-collapse`,title:t.unref(z.PluginGroup).CUSTOM_PLUGINS,"trigger-label":s.value?t.unref(i)("plugins.select.view_more"):t.unref(i)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:y,class:"plugin-card-container",style:t.normalizeStyle(_.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.value,(D,K)=>(t.openBlock(),t.createBlock(Vl,{key:`plugin-card-${K}`,ref_for:!0,ref_key:"pluginCardRef",ref:g,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:D,onCustomPluginDelete:j=>p(D),onPluginClicked:c},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))],4)]),_:2},[w.value?void 0:{name:"trigger",fn:t.withCtx(()=>[E[2]||(E[2]=t.createTextVNode("   ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(T,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",QV,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",eR,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),f.value&&u.value?(t.openBlock(),t.createBlock(ZV,{key:2,config:e.config,plugin:u.value,onClosed:m,onProceed:E[1]||(E[1]=D=>m(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-f4b90f47"]]),Ml=310,em=we(t.defineComponent({__name:"PluginSelectGroup",props:t.mergeModels({config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},name:{type:String,required:!0},plugins:{type:Array,required:!0},navigateOnClick:{type:Boolean,default:!0}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:t.mergeModels(["plugin-clicked"],["update:modelValue"]),setup(e,{emit:n}){const o=t.useModel(e,"modelValue"),r=e,i=n,{i18n:{t:a}}=Ve.useI18n(),{getTallestPluginCardHeight:l,getToggleVisibility:s}=Ve.usePluginHelpers(),c=t.ref(Ml),d=t.ref(null),f=t.ref(null),u=t.computed(()=>o.value?{overflowY:"hidden",maxHeight:`${c.value}px`}:{}),p=t.ref(!1),m=()=>{c.value=Math.max(l(f.value),Ml),h()},h=()=>{var y,g;(y=f.value)!=null&&y.length&&(p.value=s(d.value,(g=f.value)==null?void 0:g.length))};return t.onMounted(async()=>{await t.nextTick(),c.value=Math.max(l(f.value),Ml),h(),window==null||window.addEventListener("resize",m)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",m)}),(y,g)=>{const _=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(_,{modelValue:o.value,"onUpdate:modelValue":g[0]||(g[0]=w=>o.value=w),class:"plugins-collapse","data-testid":`${r.name}-collapse`,title:r.name,"trigger-label":o.value?t.unref(a)("plugins.select.view_more"):t.unref(a)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:d,class:"plugin-card-container",style:t.normalizeStyle(u.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.plugins,w=>(t.openBlock(),t.createBlock(Vl,{key:`plugin-card-${w.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:f,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:w,onPluginClicked:b=>i("plugin-clicked",w)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))],4)]),_:2},[p.value?void 0:{name:"trigger",fn:t.withCtx(()=>[g[1]||(g[1]=t.createTextVNode("   ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])}}}),[["__scopeId","data-v-a1074120"]]),nR={class:"plugin-select-grid"},oR={class:"empty-state-title"},rR={class:"empty-state-description"},Dl=t.defineComponent({__name:"PluginSelectGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0},highlightedPlugins:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""},hideHighlightedPlugins:{type:Boolean,default:!1}},emits:["plugin-clicked"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=Ve.useI18n(),a=t.ref(!1),l=t.ref(Kl),s=d=>{r("plugin-clicked",d)},c=t.computed(()=>{const d=JSON.parse(JSON.stringify(o.pluginList));return o.config.app==="konnect"&&delete d[z.PluginGroup.CUSTOM_PLUGINS],d});return(d,f)=>{const u=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",nR,[Object.keys(c.value).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(u,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",oR,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",rR,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!o.hideHighlightedPlugins&&o.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(em,{key:1,modelValue:a.value,"onUpdate:modelValue":f[0]||(f[0]=p=>a.value=p),config:e.config,name:o.highlightedPluginsTitle||t.unref(i)("plugins.select.highlighted_plugins.title"),"navigate-on-click":e.navigateOnClick,plugins:o.highlightedPlugins,onPluginClicked:f[1]||(f[1]=p=>s(p))},null,8,["modelValue","config","name","navigate-on-click","plugins"])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Ul),p=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[c.value[p]?(t.openBlock(),t.createElementBlock("div",{key:p},[t.createVNode(em,{modelValue:l.value[p],"onUpdate:modelValue":m=>l.value[p]=m,config:e.config,name:p,"navigate-on-click":e.navigateOnClick,plugins:c.value[p]||[],onPluginClicked:f[2]||(f[2]=m=>s(m))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins"])])):t.createCommentVNode("",!0)],64))),256))])}}}),iR={class:"kong-ui-entities-plugin-select-form"},aR={class:"plugins-filter-input-container"},lR={key:0},sR={key:3,"aria-live":"polite",class:"plugins-results-container"},cR={"data-testid":"kong-tab"},dR={class:"tab-description"},uR={"data-testid":"custom-tab"},fR={class:"tab-description"},pR=we(t.defineComponent({__name:"PluginSelect",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},customPluginSupport:{type:String,default:"none"},canCreateCustomPlugin:{type:Function,required:!1,default:async()=>!0},canDeleteCustomPlugin:{type:Function,required:!1,default:async()=>!0},canEditCustomPlugin:{type:Function,required:!1,default:async()=>!0},navigateOnClick:{type:Boolean,default:!0},availableOnServer:{type:Boolean,default:!0},ignoredPlugins:{type:Array,default:()=>[]},disabledPlugins:{type:Object,default:()=>({})},highlightedPluginIds:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""}},emits:["loading","plugin-clicked","delete-custom:success"],setup(e,{emit:n}){var G;const o=e,r=n,i=Qn.useRoute(),a=Qn.useRouter(),{i18n:{t:l}}=Ve.useI18n(),{pluginMetaData:s}=Ve.usePluginMetaData(),{getMessageFromError:c}=se.useErrors(),{sortAlpha:d,objectsAreEqual:f}=se.useHelpers(),u=t.ref(""),p=t.ref(!0),m=t.ref(!1),h=t.ref(""),y=t.ref([]),g=t.ref([]),_=t.ref({}),w=t.ref([]),{axiosInstance:b}=se.useAxios((G=o.config)==null?void 0:G.axiosRequestConfig),v=t.computed(()=>_.value?Object.entries(_.value).filter(([V])=>V!==z.PluginGroup.CUSTOM_PLUGINS).reduce((V,[,B])=>{for(const Z of B)V[Z.id]=Z;return V},{}):{}),N=t.computed(()=>{var Z;if(!_.value)return{};const V=u.value.toLowerCase(),B=JSON.parse(JSON.stringify(_.value));for(const re in _.value){const Y=((Z=_.value[re])==null?void 0:Z.filter(ie=>ie.name.toLowerCase().includes(V)||ie.id.toLowerCase().includes(V)||ie.group.toLowerCase().includes(V)))||[];Y.length?B[re]=Y:delete B[re]}return B}),E=t.computed(()=>o.highlightedPluginIds.reduce((V,B)=>{const Z=v.value[B];return Z&&V.push(Z),V},[])),T=t.computed(()=>Object.keys(N.value).length>0),P=t.computed(()=>Object.keys(_.value).length>0&&!T.value),D=t.computed(()=>o.config.app==="konnect"?[{hash:"#kong",title:l("plugins.select.tabs.kong.title")},{hash:"#custom",title:l("plugins.select.tabs.custom.title"),disabled:["none","disabled"].includes(o.customPluginSupport)}]:[]),K=t.computed(()=>{var B;let V=D.value.length&&((i==null?void 0:i.hash)||((B=D.value[0])==null?void 0:B.hash))||"";return V==="#custom"&&["none","disabled"].includes(o.customPluginSupport)&&(V="#kong"),V}),j=()=>[...new Set([...Object.keys({...o.availableOnServer?{}:s}),...y.value])].filter(V=>!o.ignoredPlugins.includes(V)).filter(V=>o.config.entityType&&(o.config.entityType==="services"&&s[V]&&!s[V].scope.includes(z.PluginScope.SERVICE)||o.config.entityType==="routes"&&s[V]&&!s[V].scope.includes(z.PluginScope.ROUTE)||o.config.entityType==="consumer_groups"&&s[V]&&!s[V].scope.includes(z.PluginScope.CONSUMER_GROUP)||o.config.entityType==="consumers"&&s[V]&&!s[V].scope.includes(z.PluginScope.CONSUMER))?!1:V).reduce((V,B)=>{var ae;const Z=s[B]&&s[B].name||B,re={...s[B],id:B,name:Z,available:y.value.includes(B),disabledMessage:"",group:((ae=s[B])==null?void 0:ae.group)||z.PluginGroup.CUSTOM_PLUGINS};re.group===z.PluginGroup.CUSTOM_PLUGINS&&(re.customPluginType=g.value.find(ge=>ge.name===B)?"streaming":"schema"),o.disabledPlugins&&(re.disabledMessage=o.disabledPlugins[B]);const Y=re.group||l("plugins.select.misc_plugins");let ie=V[Y];return ie||(ie=[]),ie.push(re),ie.sort(d("name")),V[Y]=ie,V},{}),A=t.computed(()=>{var B;let V=`${o.config.apiBaseUrl}${Re.select[o.config.app].availablePlugins}`;return o.config.app==="konnect"?V=V.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(V=((B=o.config.gatewayInfo)==null?void 0:B.edition)==="community"?`${o.config.apiBaseUrl}${Re.select[o.config.app].availablePluginsForOss}`:V.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),V}),W=t.computed(()=>{if(o.config.app==="konnect"&&o.customPluginSupport==="streaming"){let V=`${o.config.apiBaseUrl}${Re.select[o.config.app].streamingCustomPlugins}`;return V=V.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),V}return null}),I=t.computed(()=>{if(o.config.entityType&&o.config.entityId){let V=`${o.config.apiBaseUrl}${Re.list[o.config.app].forEntity}`;return o.config.app==="konnect"?V=V.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(V=V.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),V.replace(/{entityType}/gi,o.config.entityType||"").replace(/{entityId}/gi,o.config.entityId||"")}return""}),U=V=>{a.replace({hash:V,query:i.query})};t.watch(()=>o.disabledPlugins,(V,B)=>{!f(V,B)&&!p.value&&(_.value=j())}),t.watch(()=>o.ignoredPlugins,(V,B)=>{!f(V,B)&&!p.value&&(_.value=j())}),t.watch(p,V=>{r("loading",V)});const M=t.ref(!1),ee=t.ref(!1),H=t.ref(!1);return t.onBeforeMount(async()=>{M.value=await o.canCreateCustomPlugin(),ee.value=await o.canEditCustomPlugin(),H.value=await o.canDeleteCustomPlugin()}),t.onMounted(async()=>{try{const{data:V}=await b.get(A.value);if(o.config.app==="konnect"){const{names:B}=V;if(y.value=B||[],W.value){const{data:Z}=await b.get(W.value);g.value=Z.data||[]}}else if(o.config.app==="kongManager"){const{plugins:{available_on_server:B}}=V;y.value=B?Object.keys(B):[]}}catch(V){m.value=!0,h.value=c(V)}if(I.value)try{const{data:{data:V}}=await b.get(I.value);if(V!=null&&V.length){const B=V.reduce((Z,re)=>(re.name&&Z.push(re.name),Z),[]);w.value=w.value.concat(B)}}catch{}m.value||(_.value=j()),p.value=!1}),(V,B)=>{const Z=t.resolveComponent("KInput"),re=t.resolveComponent("KSkeletonBox"),Y=t.resolveComponent("KSkeleton"),ie=t.resolveComponent("KEmptyState"),ae=t.resolveComponent("KTooltip"),ge=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",iR,[t.createElementVNode("div",aR,[t.createVNode(Z,{modelValue:u.value,"onUpdate:modelValue":B[0]||(B[0]=me=>u.value=me),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:t.unref(l)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),p.value?(t.openBlock(),t.createElementBlock("section",lR,[t.createVNode(re,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(Y,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):m.value?(t.openBlock(),t.createBlock(ie,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(h.value),1)]),_:1})):P.value&&u.value?(t.openBlock(),t.createBlock(ie,{key:2,"action-button-visible":!1,"data-testid":"plugins-empty-state","icon-variant":"search"},{default:t.withCtx(()=>[t.createElementVNode("h5",null,t.toDisplayString(t.unref(l)("search.no_results",{filter:u.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",sR,[D.value.length&&e.customPluginSupport!=="none"?(t.openBlock(),t.createBlock(ge,{key:0,modelValue:K.value,"onUpdate:modelValue":B[5]||(B[5]=me=>K.value=me),"data-testid":"plugins-tabs",tabs:D.value,onChange:U},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",cR,[t.createElementVNode("p",dR,t.toDisplayString(t.unref(l)("plugins.select.tabs.kong.description")),1),t.createVNode(Dl,{config:e.config,"hide-highlighted-plugins":u.value.length>0,"highlighted-plugins":E.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":N.value,onPluginClicked:B[1]||(B[1]=me=>V.$emit("plugin-clicked",me))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])])]),custom:t.withCtx(()=>[t.createElementVNode("div",uR,[t.createElementVNode("p",fR,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.description")),1),t.createVNode(tR,{"can-create-custom-plugin":M.value,"can-delete-custom-plugin":H.value,"can-edit-custom-plugin":ee.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":N.value,"onDelete:success":B[2]||(B[2]=me=>V.$emit("delete-custom:success",me)),onPluginClicked:B[3]||(B[3]=me=>V.$emit("plugin-clicked",me)),onRevalidate:B[4]||(B[4]=()=>_.value=j())},null,8,["can-create-custom-plugin","can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin-list"])])]),_:2},[e.customPluginSupport==="disabled"?{name:"custom-anchor",fn:t.withCtx(()=>[t.createVNode(ae,{"max-width":"300",text:t.unref(l)("plugins.select.tabs.custom.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.title")),1)]),_:1},8,["text"])]),key:"0"}:void 0]),1032,["modelValue","tabs"])):(t.openBlock(),t.createBlock(Dl,{key:1,config:e.config,"hide-highlighted-plugins":u.value.length>0,"highlighted-plugins":E.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":N.value,onPluginClicked:B[6]||(B[6]=me=>V.$emit("plugin-clicked",me))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"]))]))])}}}),[["__scopeId","data-v-c18b2b5c"]]),mR={class:"kong-ui-entity-plugin-config-card"},gR={class:"name-cell-wrapper"},hR={class:"info-name"},yR={key:0},_R={key:0},bR={key:0},wR={key:0},ER={key:0},Ll="config",kR=we(t.defineComponent({__name:"PluginConfigCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string"||!e.entityId||!e.pluginType)},configCardDoc:{type:String,default:"",required:!1},showIdAsLink:{type:Boolean,default:!1},hideTitle:{type:Boolean,default:!1},scopedEntityType:{type:String,required:!1,default:""},scopedEntityId:{type:String,required:!1,default:""},expandPartial:{type:Boolean,default:!0}},emits:["loading","fetch:error","error:fetch-schema","fetch:success","navigation-click"],setup(e,{emit:n}){var w;const o=n,r=e,{i18n:{t:i}}=Ve.useI18n(),a=Ve.usePluginMetaData(),{setFieldType:l}=Ve.usePluginHelpers(),{getPropValue:s}=se.useHelpers(),c=t.computed(()=>{var b;return(b=Re.item[r.config.app])==null?void 0:b[r.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,r.scopedEntityType).replace(/{entityId}/gi,r.scopedEntityId).concat(r.expandPartial?"?expand_partials=true":"")}),d=t.computed(()=>{var N,E;const b={},v=((N=y.value)==null?void 0:N.fields)||[];for(let T=0;T<v.length;T++){const P=y.value.fields[T],D=(E=Object.keys(P))==null?void 0:E[0];l(b,D,P[D])}return{...b,instance_name:{section:se.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:i("plugins.fields.consumer"),section:se.ConfigurationSchemaSection.Basic,order:6},route:{label:i("plugins.fields.route"),section:se.ConfigurationSchemaSection.Basic,order:6},service:{label:i("plugins.fields.service"),section:se.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:i("plugins.fields.consumer_group"),section:se.ConfigurationSchemaSection.Basic,order:6},protocols:{type:se.ConfigurationSchemaType.BadgeTag,section:se.ConfigurationSchemaSection.Basic,order:7}}}),f=t.computed(()=>{var v,N,E;if(!((v=y.value)!=null&&v.fields))return[];const b=(N=y.value.fields)==null?void 0:N.find(T=>{var D;return((D=Object.keys(T))==null?void 0:D[0])===Ll});return((E=b==null?void 0:b[Ll])==null?void 0:E.fields)||[]}),u=t.computed(()=>{var v,N;const b={};if(!f.value)return b;for(let E=0;E<((v=f.value)==null?void 0:v.length);E++){const T=f.value[E],P=(N=Object.keys(T))==null?void 0:N[0],D=T[P];D.required&&(b[P]={order:1}),l(b,P,D)}return b}),{getMessageFromError:p}=se.useErrors(),{axiosInstance:m}=se.useAxios((w=r.config)==null?void 0:w.axiosRequestConfig),h=t.computed(()=>{var v,N;let b=`${r.config.apiBaseUrl}${Re.form[r.config.app].pluginSchema}`;return r.config.app==="konnect"?b=b.replace(/{controlPlaneId}/gi,((v=r.config)==null?void 0:v.controlPlaneId)||""):r.config.app==="kongManager"&&(b=b.replace(/\/{workspace}/gi,(N=r.config)!=null&&N.workspace?`/${r.config.workspace}`:"")),b=b.replace(/{plugin}/gi,r.config.pluginType),b}),y=t.ref({});se.useSchemaProvider(y);const g=t.ref(!1),_=t.ref("");return t.onBeforeMount(async()=>{g.value=!0;try{const{data:b}=await m.get(h.value);y.value=b}catch(b){_.value=p(b),o("error:fetch-schema",b)}finally{g.value=!1}}),(b,v)=>{const N=t.resolveComponent("KSkeleton"),E=t.resolveComponent("KEmptyState"),T=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",mR,[g.value?(t.openBlock(),t.createBlock(N,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):_.value?(t.openBlock(),t.createBlock(E,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(_.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(se.EntityBaseConfigCard),{key:2,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":d.value,"entity-type":t.unref(se.SupportedEntityType).Plugin,"fetch-url":c.value,"hide-title":e.hideTitle,"plugin-config-key":Ll,"plugin-config-schema":u.value,"onFetch:error":v[0]||(v[0]=P=>b.$emit("fetch:error",P)),"onFetch:success":v[1]||(v[1]=P=>b.$emit("fetch:success",P)),onLoading:v[2]||(v[2]=P=>b.$emit("loading",P))},{name:t.withCtx(P=>[t.createElementVNode("div",gR,[t.createVNode(t.unref(to.PluginIcon),{class:"plugin-icon",name:t.unref(s)("rowValue",P),size:24},null,8,["name"]),t.createElementVNode("span",hR,t.toDisplayString(t.unref(a).getDisplayName(t.unref(s)("rowValue",P))),1)])]),consumer:t.withCtx(P=>[t.unref(s)("rowValue",P)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(se.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",P).id,value:t.unref(s)("rowValue",P).id,type:t.unref(se.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",t.unref(s)("rowValue",P).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(T,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",P).label}),"data-testid":"consumer-copy-uuid",text:t.unref(s)("rowValue",P).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",yR,"–"))]),route:t.withCtx(P=>[t.unref(s)("rowValue",P)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(se.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",P).id,value:t.unref(s)("rowValue",P).id,type:t.unref(se.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",t.unref(s)("rowValue",P).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(T,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",P).label}),"data-testid":"route-copy-uuid",text:t.unref(s)("rowValue",P).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",_R,"–"))]),service:t.withCtx(P=>[t.unref(s)("rowValue",P)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(se.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",P).id,value:t.unref(s)("rowValue",P).id,type:t.unref(se.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",t.unref(s)("rowValue",P).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(T,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",P).label}),"data-testid":"service-copy-uuid",text:t.unref(s)("rowValue",P).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",bR,"–"))]),consumer_group:t.withCtx(P=>[t.unref(s)("rowValue",P)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(se.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",P).id,value:t.unref(s)("rowValue",P).id,type:t.unref(se.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",t.unref(s)("rowValue",P).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(T,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",P).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(s)("rowValue",P).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",wR,"–"))]),partials:t.withCtx(P=>{var D,K,j,A,W,I,U,M,ee;return[t.unref(s)("rowValue",P)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(se.InternalLinkItem),{key:1,item:{key:(K=(D=t.unref(s)("rowValue",P))==null?void 0:D[0])==null?void 0:K.id,value:((A=(j=t.unref(s)("rowValue",P))==null?void 0:j[0])==null?void 0:A.id)+((I=(W=t.unref(s)("rowValue",P))==null?void 0:W[0])!=null&&I.name?"/"+((M=(U=t.unref(s)("rowValue",P))==null?void 0:U[0])==null?void 0:M.name):""),type:t.unref(se.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>{var H,G;return b.$emit("navigation-click",(G=(H=t.unref(s)("rowValue",P))==null?void 0:H[0])==null?void 0:G.id,"partial")}},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(T,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",P).label}),"data-testid":"partial-copy-uuid",text:(ee=t.unref(s)("rowValue",P))==null?void 0:ee[0].id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",ER,"–"))]}),_:1},8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-53806ec8"]]),{usePluginMetaData:CR,useProvideExperimentalFreeForms:NR}=Ve;Object.defineProperty(_e,"PluginGroup",{enumerable:!0,get:()=>z.PluginGroup}),Object.defineProperty(_e,"PluginScope",{enumerable:!0,get:()=>z.PluginScope}),Object.defineProperty(_e,"PluginIcon",{enumerable:!0,get:()=>to.PluginIcon}),Object.defineProperty(_e,"getPluginIconURL",{enumerable:!0,get:()=>to.getPluginIconURL}),_e.EXPERIMENTAL_FREE_FORM_PROVIDER=Qi,_e.EntityTypeIdField=Qt,_e.FEATURE_FLAGS=cc,_e.PLUGIN_GROUPS_COLLAPSE_STATUS=Kl,_e.PluginConfigCard=kR,_e.PluginForm=TV,_e.PluginGroupArray=Ul,_e.PluginList=UV,_e.PluginPartialType=er,_e.PluginSelect=pR,_e.PluginSelectCard=Vl,_e.PluginSelectGrid=Dl,_e.TOASTER_PROVIDER=dc,_e.pluginEndpoints=Re,_e.usePluginMetaData=CR,_e.useProvideExperimentalFreeForms=NR,Object.defineProperty(_e,Symbol.toStringTag,{value:"Module"})});