@eventcatalogtest/studio
Version:
A drag and drop UI for distributed systems that keeps your diagrams where they belong – in your repo
1 lines • 1.71 MB
JavaScript
exports.id=2038,exports.ids=[2038],exports.modules={2257:(a,b,c)=>{"use strict";function d(a,b,c){a.prototype=b.prototype=c,c.constructor=a}function e(a,b){var c=Object.create(a.prototype);for(var d in b)c[d]=b[d];return c}c.d(b,{A:()=>d,X:()=>e})},3395:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(87992).A)("cuboid",[["path",{d:"m21.12 6.4-6.05-4.06a2 2 0 0 0-2.17-.05L2.95 8.41a2 2 0 0 0-.95 1.7v5.82a2 2 0 0 0 .88 1.66l6.05 4.07a2 2 0 0 0 2.17.05l9.95-6.12a2 2 0 0 0 .95-1.7V8.06a2 2 0 0 0-.88-1.66Z",key:"1u2ovd"}],["path",{d:"M10 22v-8L2.25 9.15",key:"11pn4q"}],["path",{d:"m10 14 11.77-6.87",key:"1kt1wh"}]])},4410:(a,b,c)=>{"use strict";c.d(b,{VS:()=>bz,tE:()=>aP,h7:()=>av,of:()=>bI,PN:()=>bL,Gc:()=>bt,Ln:()=>bq,_0:()=>U,VH:()=>ae});var d,e=c(16112),f=c(26961);function g(a){if("string"==typeof a||"number"==typeof a)return""+a;let b="";if(Array.isArray(a))for(let c=0,d;c<a.length;c++)""!==(d=g(a[c]))&&(b+=(b&&" ")+d);else for(let c in a)a[c]&&(b+=(b&&" ")+c);return b}var h=c(34128),i=c(48809);let j=a=>{let b,c=new Set,d=(a,d)=>{let e="function"==typeof a?a(b):a;if(!Object.is(e,b)){let a=b;b=(null!=d?d:"object"!=typeof e||null===e)?e:Object.assign({},b,e),c.forEach(c=>c(b,a))}},e=()=>b,f={setState:d,getState:e,getInitialState:()=>g,subscribe:a=>(c.add(a),()=>c.delete(a)),destroy:()=>{console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),c.clear()}},g=b=a(d,e,f);return f},{useDebugValue:k}=f,{useSyncExternalStoreWithSelector:l}=i,m=a=>a;function n(a,b=m,c){let d=l(a.subscribe,a.getState,a.getServerState||a.getInitialState,b,c);return k(d),d}let o=(a,b)=>{let c=(a=>a?j(a):j)(a),d=(a,d=b)=>n(c,a,d);return Object.assign(d,c),d};function p(a,b){if(Object.is(a,b))return!0;if("object"!=typeof a||null===a||"object"!=typeof b||null===b)return!1;if(a instanceof Map&&b instanceof Map){if(a.size!==b.size)return!1;for(let[c,d]of a)if(!Object.is(d,b.get(c)))return!1;return!0}if(a instanceof Set&&b instanceof Set){if(a.size!==b.size)return!1;for(let c of a)if(!b.has(c))return!1;return!0}let c=Object.keys(a);if(c.length!==Object.keys(b).length)return!1;for(let d of c)if(!Object.prototype.hasOwnProperty.call(b,d)||!Object.is(a[d],b[d]))return!1;return!0}c(83716);let q=(0,f.createContext)(null),r=q.Provider,s=h.xc.error001();function t(a,b){let c=(0,f.useContext)(q);if(null===c)throw Error(s);return n(c,a,b)}function u(){let a=(0,f.useContext)(q);if(null===a)throw Error(s);return(0,f.useMemo)(()=>({getState:a.getState,setState:a.setState,subscribe:a.subscribe}),[a])}let v={display:"none"},w={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},x="react-flow__node-desc",y="react-flow__edge-desc",z=a=>a.ariaLiveMessage,A=a=>a.ariaLabelConfig;function B({rfId:a}){let b=t(z);return(0,e.jsx)("div",{id:`react-flow__aria-live-${a}`,"aria-live":"assertive","aria-atomic":"true",style:w,children:b})}function C({rfId:a,disableKeyboardA11y:b}){let c=t(A);return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{id:`${x}-${a}`,style:v,children:b?c["node.a11yDescription.default"]:c["node.a11yDescription.keyboardDisabled"]}),(0,e.jsx)("div",{id:`${y}-${a}`,style:v,children:c["edge.a11yDescription.default"]}),!b&&(0,e.jsx)(B,{rfId:a})]})}let D=(0,f.forwardRef)(({position:a="top-left",children:b,className:c,style:d,...f},h)=>{let i=`${a}`.split("-");return(0,e.jsx)("div",{className:g(["react-flow__panel",c,...i]),style:d,ref:h,...f,children:b})});function E({proOptions:a,position:b="bottom-right"}){return a?.hideAttribution?null:(0,e.jsx)(D,{position:b,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:(0,e.jsx)("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}D.displayName="Panel";let F=a=>{let b=[],c=[];for(let[,c]of a.nodeLookup)c.selected&&b.push(c.internals.userNode);for(let[,b]of a.edgeLookup)b.selected&&c.push(b);return{selectedNodes:b,selectedEdges:c}},G=a=>a.id;function H(a,b){return p(a.selectedNodes.map(G),b.selectedNodes.map(G))&&p(a.selectedEdges.map(G),b.selectedEdges.map(G))}function I({onSelectionChange:a}){u();let{selectedNodes:b,selectedEdges:c}=t(F,H);return null}let J=a=>!!a.onSelectionChangeHandlers;function K({onSelectionChange:a}){let b=t(J);return a||b?(0,e.jsx)(I,{onSelectionChange:a}):null}let L=[0,0],M={x:0,y:0,zoom:1},N=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","paneClickDistance","ariaLabelConfig","rfId"],O=a=>({setNodes:a.setNodes,setEdges:a.setEdges,setMinZoom:a.setMinZoom,setMaxZoom:a.setMaxZoom,setTranslateExtent:a.setTranslateExtent,setNodeExtent:a.setNodeExtent,reset:a.reset,setDefaultNodesAndEdges:a.setDefaultNodesAndEdges,setPaneClickDistance:a.setPaneClickDistance}),P={translateExtent:h.ZO,nodeOrigin:L,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1",paneClickDistance:0};function Q(a){let{setNodes:b,setEdges:c,setMinZoom:d,setMaxZoom:e,setTranslateExtent:g,setNodeExtent:i,reset:j,setDefaultNodesAndEdges:k,setPaneClickDistance:l}=t(O,p),m=u(),n=(0,f.useRef)(P);return(0,f.useEffect)(()=>{for(let f of N){let j=a[f];j!==n.current[f]&&void 0!==a[f]&&("nodes"===f?b(j):"edges"===f?c(j):"minZoom"===f?d(j):"maxZoom"===f?e(j):"translateExtent"===f?g(j):"nodeExtent"===f?i(j):"paneClickDistance"===f?l(j):"ariaLabelConfig"===f?m.setState({ariaLabelConfig:(0,h.Q6)(j)}):"fitView"===f?m.setState({fitViewQueued:j}):"fitViewOptions"===f?m.setState({fitViewOptions:j}):m.setState({[f]:j}))}n.current=a},N.map(b=>a[b])),null}let R="undefined"!=typeof document?document:null;function S(a=null,b={target:R,actInsideInputWithModifier:!0}){let[c,d]=(0,f.useState)(!1);(0,f.useRef)(!1),(0,f.useRef)(new Set([]));let[e,g]=(0,f.useMemo)(()=>{if(null!==a){let b=(Array.isArray(a)?a:[a]).filter(a=>"string"==typeof a).map(a=>a.replace("+","\n").replace("\n\n","\n+").split("\n")),c=b.reduce((a,b)=>a.concat(...b),[]);return[b,c]}return[[],[]]},[a]);return c}function T(a,b){let c=[],d=new Map,e=[];for(let b of a)if("add"===b.type){e.push(b);continue}else if("remove"===b.type||"replace"===b.type)d.set(b.id,[b]);else{let a=d.get(b.id);a?a.push(b):d.set(b.id,[b])}for(let a of b){let b=d.get(a.id);if(!b){c.push(a);continue}if("remove"===b[0].type)continue;if("replace"===b[0].type){c.push({...b[0].item});continue}let e={...a};for(let a of b){var f=a,g=e;switch(f.type){case"select":g.selected=f.selected;break;case"position":void 0!==f.position&&(g.position=f.position),void 0!==f.dragging&&(g.dragging=f.dragging);break;case"dimensions":void 0!==f.dimensions&&(g.measured??={},g.measured.width=f.dimensions.width,g.measured.height=f.dimensions.height,f.setAttributes&&((!0===f.setAttributes||"width"===f.setAttributes)&&(g.width=f.dimensions.width),(!0===f.setAttributes||"height"===f.setAttributes)&&(g.height=f.dimensions.height))),"boolean"==typeof f.resizing&&(g.resizing=f.resizing)}}c.push(e)}return e.length&&e.forEach(a=>{void 0!==a.index?c.splice(a.index,0,{...a.item}):c.push({...a.item})}),c}function U(a,b){return T(a,b)}function V(a,b){return{id:a,type:"select",selected:b}}function W(a,b=new Set,c=!1){let d=[];for(let[e,f]of a){let a=b.has(e);(void 0!==f.selected||a)&&f.selected!==a&&(c&&(f.selected=a),d.push(V(f.id,a)))}return d}function X({items:a=[],lookup:b}){let c=[],d=new Map(a.map(a=>[a.id,a]));for(let[d,e]of a.entries()){let a=b.get(e.id),f=a?.internals?.userNode??a;void 0!==f&&f!==e&&c.push({id:e.id,item:e,type:"replace"}),void 0===f&&c.push({item:e,type:"add",index:d})}for(let[a]of b)void 0===d.get(a)&&c.push({id:a,type:"remove"});return c}function Y(a){return{id:a.id,type:"remove"}}let Z=a=>(0,h.oB)(a);function $(a){return(0,f.forwardRef)(a)}let _=f.useEffect;function aa(a){let[b,c]=(0,f.useState)(BigInt(0)),[d]=(0,f.useState)(()=>{var a;let b;return a=()=>c(a=>a+BigInt(1)),b=[],{get:()=>b,reset:()=>{b=[]},push:c=>{b.push(c),a()}}});return _(()=>{let b=d.get();b.length&&(a(b),d.reset())},[b]),d}let ab=(0,f.createContext)(null);function ac({children:a}){let b=u(),c=aa((0,f.useCallback)(a=>{let{nodes:c=[],setNodes:d,hasDefaultNodes:e,onNodesChange:f,nodeLookup:g,fitViewQueued:h}=b.getState(),i=c;for(let b of a)i="function"==typeof b?b(i):b;let j=X({items:i,lookup:g});e&&d(i),j.length>0?f?.(j):h&&window.requestAnimationFrame(()=>{let{fitViewQueued:a,nodes:c,setNodes:d}=b.getState();a&&d(c)})},[])),d=aa((0,f.useCallback)(a=>{let{edges:c=[],setEdges:d,hasDefaultEdges:e,onEdgesChange:f,edgeLookup:g}=b.getState(),h=c;for(let b of a)h="function"==typeof b?b(h):b;e?d(h):f&&f(X({items:h,lookup:g}))},[])),g=(0,f.useMemo)(()=>({nodeQueue:c,edgeQueue:d}),[]);return(0,e.jsx)(ab.Provider,{value:g,children:a})}let ad=a=>!!a.panZoom;function ae(){let a=(()=>{let a=u();return(0,f.useMemo)(()=>({zoomIn:b=>{let{panZoom:c}=a.getState();return c?c.scaleBy(1.2,{duration:b?.duration}):Promise.resolve(!1)},zoomOut:b=>{let{panZoom:c}=a.getState();return c?c.scaleBy(1/1.2,{duration:b?.duration}):Promise.resolve(!1)},zoomTo:(b,c)=>{let{panZoom:d}=a.getState();return d?d.scaleTo(b,{duration:c?.duration}):Promise.resolve(!1)},getZoom:()=>a.getState().transform[2],setViewport:async(b,c)=>{let{transform:[d,e,f],panZoom:g}=a.getState();return g?(await g.setViewport({x:b.x??d,y:b.y??e,zoom:b.zoom??f},c),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{let[b,c,d]=a.getState().transform;return{x:b,y:c,zoom:d}},setCenter:async(b,c,d)=>a.getState().setCenter(b,c,d),fitBounds:async(b,c)=>{let{width:d,height:e,minZoom:f,maxZoom:g,panZoom:i}=a.getState(),j=(0,h.R4)(b,d,e,f,g,c?.padding??.1);return i?(await i.setViewport(j,{duration:c?.duration,ease:c?.ease,interpolate:c?.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(b,c={})=>{let{transform:d,snapGrid:e,snapToGrid:f,domNode:g}=a.getState();if(!g)return b;let{x:i,y:j}=g.getBoundingClientRect(),k={x:b.x-i,y:b.y-j},l=c.snapGrid??e,m=c.snapToGrid??f;return(0,h.Ff)(k,d,m,l)},flowToScreenPosition:b=>{let{transform:c,domNode:d}=a.getState();if(!d)return b;let{x:e,y:f}=d.getBoundingClientRect(),g=(0,h.zj)(b,c);return{x:g.x+e,y:g.y+f}}}),[])})(),b=u(),c=function(){let a=(0,f.useContext)(ab);if(!a)throw Error("useBatchContext must be used within a BatchProvider");return a}(),d=t(ad),e=(0,f.useMemo)(()=>{let a=a=>b.getState().nodeLookup.get(a),d=a=>{c.nodeQueue.push(a)},e=a=>{c.edgeQueue.push(a)},f=a=>{let{nodeLookup:c,nodeOrigin:d}=b.getState(),e=Z(a)?a:c.get(a.id),f=e.parentId?(0,h.us)(e.position,e.measured,e.parentId,c,d):e.position,g={...e,position:f,width:e.measured?.width??e.width,height:e.measured?.height??e.height};return(0,h.kM)(g)},g=(a,b,c={replace:!1})=>{d(d=>d.map(d=>{if(d.id===a){let a="function"==typeof b?b(d):b;return c.replace&&Z(a)?a:{...d,...a}}return d}))},i=(a,b,c={replace:!1})=>{e(d=>d.map(d=>{if(d.id===a){let a="function"==typeof b?b(d):b;return c.replace&&(0,h.b$)(a)?a:{...d,...a}}return d}))};return{getNodes:()=>b.getState().nodes.map(a=>({...a})),getNode:b=>a(b)?.internals.userNode,getInternalNode:a,getEdges:()=>{let{edges:a=[]}=b.getState();return a.map(a=>({...a}))},getEdge:a=>b.getState().edgeLookup.get(a),setNodes:d,setEdges:e,addNodes:a=>{let b=Array.isArray(a)?a:[a];c.nodeQueue.push(a=>[...a,...b])},addEdges:a=>{let b=Array.isArray(a)?a:[a];c.edgeQueue.push(a=>[...a,...b])},toObject:()=>{let{nodes:a=[],edges:c=[],transform:d}=b.getState(),[e,f,g]=d;return{nodes:a.map(a=>({...a})),edges:c.map(a=>({...a})),viewport:{x:e,y:f,zoom:g}}},deleteElements:async({nodes:a=[],edges:c=[]})=>{let{nodes:d,edges:e,onNodesDelete:f,onEdgesDelete:g,triggerNodeChanges:i,triggerEdgeChanges:j,onDelete:k,onBeforeDelete:l}=b.getState(),{nodes:m,edges:n}=await (0,h.Tq)({nodesToRemove:a,edgesToRemove:c,nodes:d,edges:e,onBeforeDelete:l}),o=n.length>0,p=m.length>0;if(o){let a=n.map(Y);g?.(n),j(a)}if(p){let a=m.map(Y);f?.(m),i(a)}return(p||o)&&k?.({nodes:m,edges:n}),{deletedNodes:m,deletedEdges:n}},getIntersectingNodes:(a,c=!0,d)=>{let e=(0,h.mW)(a),g=e?a:f(a),i=void 0!==d;return g?(d||b.getState().nodes).filter(d=>{let f=b.getState().nodeLookup.get(d.id);if(f&&!e&&(d.id===a.id||!f.internals.positionAbsolute))return!1;let j=(0,h.kM)(i?d:f),k=(0,h.X6)(j,g);return c&&k>0||k>=j.width*j.height||k>=g.width*g.height}):[]},isNodeIntersecting:(a,b,c=!0)=>{let d=(0,h.mW)(a)?a:f(a);if(!d)return!1;let e=(0,h.X6)(d,b);return c&&e>0||e>=d.width*d.height},updateNode:g,updateNodeData:(a,b,c={replace:!1})=>{g(a,a=>{let d="function"==typeof b?b(a):b;return c.replace?{...a,data:d}:{...a,data:{...a.data,...d}}},c)},updateEdge:i,updateEdgeData:(a,b,c={replace:!1})=>{i(a,a=>{let d="function"==typeof b?b(a):b;return c.replace?{...a,data:d}:{...a,data:{...a.data,...d}}},c)},getNodesBounds:a=>{let{nodeLookup:c,nodeOrigin:d}=b.getState();return(0,h.Jo)(a,{nodeLookup:c,nodeOrigin:d})},getHandleConnections:({type:a,id:c,nodeId:d})=>Array.from(b.getState().connectionLookup.get(`${d}-${a}${c?`-${c}`:""}`)?.values()??[]),getNodeConnections:({type:a,handleId:c,nodeId:d})=>Array.from(b.getState().connectionLookup.get(`${d}${a?c?`-${a}-${c}`:`-${a}`:""}`)?.values()??[]),fitView:async a=>{let d=b.getState().fitViewResolver??(0,h.YN)();return b.setState({fitViewQueued:!0,fitViewOptions:a,fitViewResolver:d}),c.nodeQueue.push(a=>[...a]),d.promise}}},[]);return(0,f.useMemo)(()=>({...e,...a,viewportInitialized:d}),[d])}let af=void 0,ag={position:"absolute",width:"100%",height:"100%",top:0,left:0},ah=a=>({userSelectionActive:a.userSelectionActive,lib:a.lib});function ai({onPaneContextMenu:a,zoomOnScroll:b=!0,zoomOnPinch:c=!0,panOnScroll:d=!1,panOnScrollSpeed:g=.5,panOnScrollMode:i=h.ny.Free,zoomOnDoubleClick:j=!0,panOnDrag:k=!0,defaultViewport:l,translateExtent:m,minZoom:n,maxZoom:o,zoomActivationKeyCode:q,preventScrolling:r=!0,children:s,noWheelClassName:v,noPanClassName:w,onViewportChange:x,isControlledViewport:y,paneClickDistance:z}){let A=u(),B=(0,f.useRef)(null),{userSelectionActive:C,lib:D}=t(ah,p);return S(q),(0,f.useRef)(),u(),(0,f.useCallback)(a=>{x?.({x:a[0],y:a[1],zoom:a[2]}),y||A.setState({transform:a})},[x,y]),(0,e.jsx)("div",{className:"react-flow__renderer",ref:B,style:ag,children:s})}let aj=a=>({userSelectionActive:a.userSelectionActive,userSelectionRect:a.userSelectionRect});function ak(){let{userSelectionActive:a,userSelectionRect:b}=t(aj,p);return a&&b?(0,e.jsx)("div",{className:"react-flow__selection react-flow__container",style:{width:b.width,height:b.height,transform:`translate(${b.x}px, ${b.y}px)`}}):null}let al=(a,b)=>c=>{c.target===b.current&&a?.(c)},am=a=>({userSelectionActive:a.userSelectionActive,elementsSelectable:a.elementsSelectable,connectionInProgress:a.connection.inProgress,dragging:a.paneDragging});function an({isSelecting:a,selectionKeyPressed:b,selectionMode:c=h.Qc.Full,panOnDrag:d,selectionOnDrag:i,onSelectionStart:j,onSelectionEnd:k,onPaneClick:l,onPaneContextMenu:m,onPaneScroll:n,onPaneMouseEnter:o,onPaneMouseMove:q,onPaneMouseLeave:r,children:s}){let v=u(),{userSelectionActive:w,elementsSelectable:x,dragging:y,connectionInProgress:z}=t(am,p),A=x&&(a||w),B=(0,f.useRef)(null),C=(0,f.useRef)(),D=(0,f.useRef)(new Set),E=(0,f.useRef)(new Set),F=(0,f.useRef)(!1),G=(0,f.useRef)(!1),H=a=>{if(F.current||z){F.current=!1;return}l?.(a),v.getState().resetSelectedElements(),v.setState({nodesSelectionActive:!1})},I=!0===d||Array.isArray(d)&&d.includes(0);return(0,e.jsxs)("div",{className:g(["react-flow__pane",{draggable:I,dragging:y,selection:a}]),onClick:A?void 0:al(H,B),onContextMenu:al(a=>{if(Array.isArray(d)&&d?.includes(2))return void a.preventDefault();m?.(a)},B),onWheel:al(n?a=>n(a):void 0,B),onPointerEnter:A?void 0:o,onPointerDown:A?b=>{let{resetSelectedElements:c,domNode:d}=v.getState();if(C.current=d?.getBoundingClientRect(),!x||!a||0!==b.button||b.target!==B.current||!C.current)return;b.target?.setPointerCapture?.(b.pointerId),G.current=!0,F.current=!1;let{x:e,y:f}=(0,h.q1)(b.nativeEvent,C.current);c(),v.setState({userSelectionRect:{width:0,height:0,startX:e,startY:f,x:e,y:f}}),j?.(b)}:q,onPointerMove:A?a=>{let{userSelectionRect:b,transform:d,nodeLookup:e,edgeLookup:f,connectionLookup:g,triggerNodeChanges:i,triggerEdgeChanges:j,defaultEdgeOptions:k}=v.getState();if(!C.current||!b)return;F.current=!0;let{x:l,y:m}=(0,h.q1)(a.nativeEvent,C.current),{startX:n,startY:o}=b,p={startX:n,startY:o,x:l<n?l:n,y:m<o?m:o,width:Math.abs(l-n),height:Math.abs(m-o)},q=D.current,r=E.current;D.current=new Set((0,h.U$)(e,p,d,c===h.Qc.Partial,!0).map(a=>a.id)),E.current=new Set;let s=k?.selectable??!0;for(let a of D.current){let b=g.get(a);if(b)for(let{edgeId:a}of b.values()){let b=f.get(a);b&&(b.selectable??s)&&E.current.add(a)}}(0,h._s)(q,D.current)||i(W(e,D.current,!0)),(0,h._s)(r,E.current)||j(W(f,E.current)),v.setState({userSelectionRect:p,userSelectionActive:!0,nodesSelectionActive:!1})}:q,onPointerUp:A?a=>{if(0!==a.button||!G.current)return;a.target?.releasePointerCapture?.(a.pointerId);let{userSelectionRect:c}=v.getState();!w&&c&&a.target===B.current&&H?.(a),v.setState({userSelectionActive:!1,userSelectionRect:null,nodesSelectionActive:D.current.size>0}),k?.(a),(b||i)&&(F.current=!1),G.current=!1}:void 0,onPointerLeave:r,ref:B,style:ag,children:[s,(0,e.jsx)(ak,{})]})}function ao({id:a,store:b,unselect:c=!1,nodeRef:d}){let{addSelectedNodes:e,unselectNodesAndEdges:f,multiSelectionActive:g,nodeLookup:i,onError:j}=b.getState(),k=i.get(a);if(!k)return void j?.("012",h.xc.error012(a));b.setState({nodesSelectionActive:!1}),k.selected?(c||k.selected&&g)&&(f({nodes:[k],edges:[]}),requestAnimationFrame(()=>d?.current?.blur())):e([a])}function ap({nodeRef:a,disabled:b=!1,noDragClassName:c,handleSelector:d,nodeId:e,isSelectable:g,nodeClickDistance:h}){u();let[i,j]=(0,f.useState)(!1);return(0,f.useRef)(),i}function aq(){let a=u();return(0,f.useCallback)(b=>{let{nodeExtent:c,snapToGrid:d,snapGrid:e,nodesDraggable:f,onError:g,updateNodePositions:i,nodeLookup:j,nodeOrigin:k}=a.getState(),l=new Map,m=a=>a.selected&&(a.draggable||f&&void 0===a.draggable),n=d?e[0]:5,o=d?e[1]:5,p=b.direction.x*n*b.factor,q=b.direction.y*o*b.factor;for(let[,a]of j){if(!m(a))continue;let b={x:a.internals.positionAbsolute.x+p,y:a.internals.positionAbsolute.y+q};d&&(b=(0,h.s_)(b,e));let{position:f,positionAbsolute:i}=(0,h.aE)({nodeId:a.id,nextPosition:b,nodeLookup:j,nodeExtent:c,nodeOrigin:k,onError:g});a.position=f,a.internals.positionAbsolute=i,l.set(a.id,a)}i(l)},[])}let ar=(0,f.createContext)(null),as=ar.Provider;ar.Consumer;let at=()=>(0,f.useContext)(ar),au=a=>({connectOnClick:a.connectOnClick,noPanClassName:a.noPanClassName,rfId:a.rfId}),av=(0,f.memo)($(function({type:a="source",position:b=h.yX.Top,isValidConnection:c,isConnectable:d=!0,isConnectableStart:f=!0,isConnectableEnd:i=!0,id:j,onConnect:k,children:l,className:m,onMouseDown:n,onTouchStart:o,...q},r){let s=j||null,v="target"===a,w=u(),x=at(),{connectOnClick:y,noPanClassName:z,rfId:A}=t(au,p),{connectingFrom:B,connectingTo:C,clickConnecting:D,isPossibleEndHandle:E,connectionInProcess:F,clickConnectionInProcess:G,valid:H}=t(b=>{let{connectionClickStartHandle:c,connectionMode:d,connection:e}=b,{fromHandle:f,toHandle:g,isValid:i}=e,j=g?.nodeId===x&&g?.id===s&&g?.type===a;return{connectingFrom:f?.nodeId===x&&f?.id===s&&f?.type===a,connectingTo:j,clickConnecting:c?.nodeId===x&&c?.id===s&&c?.type===a,isPossibleEndHandle:d===h.WZ.Strict?f?.type!==a:x!==f?.nodeId||s!==f?.id,connectionInProcess:!!f,clickConnectionInProcess:!!c,valid:j&&i}},p);x||w.getState().onError?.("010",h.xc.error010());let I=a=>{let{defaultEdgeOptions:b,onConnect:c,hasDefaultEdges:d}=w.getState(),e={...b,...a};if(d){let{edges:a,setEdges:b}=w.getState();b((0,h.rN)(e,a))}c?.(e),k?.(e)},J=a=>{if(!x)return;let b=(0,h.Er)(a.nativeEvent);if(f&&(b&&0===a.button||!b)){let b=w.getState();h.aQ.onPointerDown(a.nativeEvent,{autoPanOnConnect:b.autoPanOnConnect,connectionMode:b.connectionMode,connectionRadius:b.connectionRadius,domNode:b.domNode,nodeLookup:b.nodeLookup,lib:b.lib,isTarget:v,handleId:s,nodeId:x,flowId:b.rfId,panBy:b.panBy,cancelConnection:b.cancelConnection,onConnectStart:b.onConnectStart,onConnectEnd:b.onConnectEnd,updateConnection:b.updateConnection,onConnect:I,isValidConnection:c||b.isValidConnection,getTransform:()=>w.getState().transform,getFromHandle:()=>w.getState().connection.fromHandle,autoPanSpeed:b.autoPanSpeed,dragThreshold:b.connectionDragThreshold})}b?n?.(a):o?.(a)};return(0,e.jsx)("div",{"data-handleid":s,"data-nodeid":x,"data-handlepos":b,"data-id":`${A}-${x}-${s}-${a}`,className:g(["react-flow__handle",`react-flow__handle-${b}`,"nodrag",z,m,{source:!v,target:v,connectable:d,connectablestart:f,connectableend:i,clickconnecting:D,connectingfrom:B,connectingto:C,valid:H,connectionindicator:d&&(!F||E)&&(F||G?i:f)}]),onMouseDown:J,onTouchStart:J,onClick:y?b=>{let{onClickConnectStart:d,onClickConnectEnd:e,connectionClickStartHandle:g,connectionMode:i,isValidConnection:j,lib:k,rfId:l,nodeLookup:m,connection:n}=w.getState();if(!x||!g&&!f)return;if(!g){d?.(b.nativeEvent,{nodeId:x,handleId:s,handleType:a}),w.setState({connectionClickStartHandle:{nodeId:x,type:a,id:s}});return}let o=(0,h.oj)(b.target),p=c||j,{connection:q,isValid:r}=h.aQ.isValid(b.nativeEvent,{handle:{nodeId:x,id:s,type:a},connectionMode:i,fromNodeId:g.nodeId,fromHandleId:g.id||null,fromType:g.type,isValidConnection:p,flowId:l,doc:o,lib:k,nodeLookup:m});r&&q&&I(q);let t=structuredClone(n);delete t.inProgress,t.toPosition=t.toHandle?t.toHandle.position:null,e?.(b,t),w.setState({connectionClickStartHandle:null})}:void 0,ref:r,...q,children:l})})),aw={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},ax={input:function({data:a,isConnectable:b,sourcePosition:c=h.yX.Bottom}){return(0,e.jsxs)(e.Fragment,{children:[a?.label,(0,e.jsx)(av,{type:"source",position:c,isConnectable:b})]})},default:function({data:a,isConnectable:b,targetPosition:c=h.yX.Top,sourcePosition:d=h.yX.Bottom}){return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(av,{type:"target",position:c,isConnectable:b}),a?.label,(0,e.jsx)(av,{type:"source",position:d,isConnectable:b})]})},output:function({data:a,isConnectable:b,targetPosition:c=h.yX.Top}){return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(av,{type:"target",position:c,isConnectable:b}),a?.label]})},group:function(){return null}},ay=a=>{let{width:b,height:c,x:d,y:e}=(0,h.aZ)(a.nodeLookup,{filter:a=>!!a.selected});return{width:(0,h.kf)(b)?b:null,height:(0,h.kf)(c)?c:null,userSelectionActive:a.userSelectionActive,transformString:`translate(${a.transform[0]}px,${a.transform[1]}px) scale(${a.transform[2]}) translate(${d}px,${e}px)`}};function az({onSelectionContextMenu:a,noPanClassName:b,disableKeyboardA11y:c}){let d=u(),{width:h,height:i,transformString:j,userSelectionActive:k}=t(ay,p),l=aq(),m=(0,f.useRef)(null);if(ap({nodeRef:m}),k||!h||!i)return null;let n=a?b=>{a(b,d.getState().nodes.filter(a=>a.selected))}:void 0;return(0,e.jsx)("div",{className:g(["react-flow__nodesselection","react-flow__container",b]),style:{transform:j},children:(0,e.jsx)("div",{ref:m,className:"react-flow__nodesselection-rect",onContextMenu:n,tabIndex:c?void 0:-1,onKeyDown:c?void 0:a=>{Object.prototype.hasOwnProperty.call(aw,a.key)&&(a.preventDefault(),l({direction:aw[a.key],factor:a.shiftKey?4:1}))},style:{width:h,height:i}})})}let aA=void 0,aB=a=>({nodesSelectionActive:a.nodesSelectionActive,userSelectionActive:a.userSelectionActive});function aC({children:a,onPaneClick:b,onPaneMouseEnter:c,onPaneMouseMove:d,onPaneMouseLeave:f,onPaneContextMenu:g,onPaneScroll:h,paneClickDistance:i,deleteKeyCode:j,selectionKeyCode:k,selectionOnDrag:l,selectionMode:m,onSelectionStart:n,onSelectionEnd:o,multiSelectionKeyCode:p,panActivationKeyCode:q,zoomActivationKeyCode:r,elementsSelectable:s,zoomOnScroll:v,zoomOnPinch:w,panOnScroll:x,panOnScrollSpeed:y,panOnScrollMode:z,zoomOnDoubleClick:A,panOnDrag:B,defaultViewport:C,translateExtent:D,minZoom:E,maxZoom:F,preventScrolling:G,onSelectionContextMenu:H,noWheelClassName:I,noPanClassName:J,disableKeyboardA11y:K,onViewportChange:L,isControlledViewport:M}){let{nodesSelectionActive:N,userSelectionActive:O}=t(aB),P=S(k,{target:aA}),Q=S(q,{target:aA}),R=Q||B,T=Q||x,U=l&&!0!==R,V=P||O||U;return!function({deleteKeyCode:a,multiSelectionKeyCode:b}){u();let{deleteElements:c}=ae();S(a,{actInsideInputWithModifier:!1}),S(b,{target:af})}({deleteKeyCode:j,multiSelectionKeyCode:p}),(0,e.jsx)(ai,{onPaneContextMenu:g,elementsSelectable:s,zoomOnScroll:v,zoomOnPinch:w,panOnScroll:T,panOnScrollSpeed:y,panOnScrollMode:z,zoomOnDoubleClick:A,panOnDrag:!P&&R,defaultViewport:C,translateExtent:D,minZoom:E,maxZoom:F,zoomActivationKeyCode:r,preventScrolling:G,noWheelClassName:I,noPanClassName:J,onViewportChange:L,isControlledViewport:M,paneClickDistance:i,children:(0,e.jsxs)(an,{onSelectionStart:n,onSelectionEnd:o,onPaneClick:b,onPaneMouseEnter:c,onPaneMouseMove:d,onPaneMouseLeave:f,onPaneContextMenu:g,onPaneScroll:h,panOnDrag:R,isSelecting:!!V,selectionMode:m,selectionKeyPressed:P,selectionOnDrag:U,children:[a,N&&(0,e.jsx)(az,{onSelectionContextMenu:H,noPanClassName:J,disableKeyboardA11y:K})]})})}aC.displayName="FlowRenderer";let aD=(0,f.memo)(aC),aE=a=>a.updateNodeInternals;function aF({id:a,onClick:b,onMouseEnter:c,onMouseMove:d,onMouseLeave:i,onContextMenu:j,onDoubleClick:k,nodesDraggable:l,elementsSelectable:m,nodesConnectable:n,nodesFocusable:o,resizeObserver:q,noDragClassName:r,noPanClassName:s,disableKeyboardA11y:v,rfId:w,nodeTypes:y,nodeClickDistance:z,onError:A}){let{node:B,internals:C,isParent:D}=t(b=>{let c=b.nodeLookup.get(a),d=b.parentLookup.has(a);return{node:c,internals:c.internals,isParent:d}},p),E=B.type||"default",F=y?.[E]||ax[E];void 0===F&&(A?.("003",h.xc.error003(E)),E="default",F=y?.default||ax.default);let G=!!(B.draggable||l&&void 0===B.draggable),H=!!(B.selectable||m&&void 0===B.selectable),I=!!(B.connectable||n&&void 0===B.connectable),J=!!(B.focusable||o&&void 0===B.focusable),K=u(),L=(0,h.QE)(B),M=function({node:a,nodeType:b,hasDimensions:c,resizeObserver:d}){u();let e=(0,f.useRef)(null);return(0,f.useRef)(null),(0,f.useRef)(a.sourcePosition),(0,f.useRef)(a.targetPosition),(0,f.useRef)(b),c&&a.internals.handleBounds,e}({node:B,nodeType:E,hasDimensions:L,resizeObserver:q}),N=ap({nodeRef:M,disabled:B.hidden||!G,noDragClassName:r,handleSelector:B.dragHandle,nodeId:a,isSelectable:H,nodeClickDistance:z}),O=aq();if(B.hidden)return null;let P=(0,h.uD)(B),Q=void 0===B.internals.handleBounds?{width:B.width??B.initialWidth??B.style?.width,height:B.height??B.initialHeight??B.style?.height}:{width:B.width??B.style?.width,height:B.height??B.style?.height},R=H||G||b||c||d||i,S=c?a=>c(a,{...C.userNode}):void 0,T=d?a=>d(a,{...C.userNode}):void 0,U=i?a=>i(a,{...C.userNode}):void 0,V=j?a=>j(a,{...C.userNode}):void 0,W=k?a=>k(a,{...C.userNode}):void 0;return(0,e.jsx)("div",{className:g(["react-flow__node",`react-flow__node-${E}`,{[s]:G},B.className,{selected:B.selected,selectable:H,parent:D,draggable:G,dragging:N}]),ref:M,style:{zIndex:C.z,transform:`translate(${C.positionAbsolute.x}px,${C.positionAbsolute.y}px)`,pointerEvents:R?"all":"none",visibility:L?"visible":"hidden",...B.style,...Q},"data-id":a,"data-testid":`rf__node-${a}`,onMouseEnter:S,onMouseMove:T,onMouseLeave:U,onContextMenu:V,onClick:c=>{let{selectNodesOnDrag:d,nodeDragThreshold:e}=K.getState();H&&(!d||!G||e>0)&&ao({id:a,store:K,nodeRef:M}),b&&b(c,{...C.userNode})},onDoubleClick:W,onKeyDown:J?b=>{if(!(0,h.v5)(b.nativeEvent)&&!v){if(h.tn.includes(b.key)&&H)ao({id:a,store:K,unselect:"Escape"===b.key,nodeRef:M});else if(G&&B.selected&&Object.prototype.hasOwnProperty.call(aw,b.key)){b.preventDefault();let{ariaLabelConfig:a}=K.getState();K.setState({ariaLiveMessage:a["node.a11yDescription.ariaLiveMessage"]({direction:b.key.replace("Arrow","").toLowerCase(),x:~~C.positionAbsolute.x,y:~~C.positionAbsolute.y})}),O({direction:aw[b.key],factor:b.shiftKey?4:1})}}}:void 0,tabIndex:J?0:void 0,onFocus:J?()=>{if(v||!M.current?.matches(":focus-visible"))return;let{transform:b,width:c,height:d,autoPanOnNodeFocus:e,setCenter:f}=K.getState();e&&((0,h.U$)(new Map([[a,B]]),{x:0,y:0,width:c,height:d},b,!0).length>0||f(B.position.x+P.width/2,B.position.y+P.height/2,{zoom:b[2]}))}:void 0,role:B.ariaRole??(J?"group":void 0),"aria-roledescription":"node","aria-describedby":v?void 0:`${x}-${w}`,"aria-label":B.ariaLabel,...B.domAttributes,children:(0,e.jsx)(as,{value:a,children:(0,e.jsx)(F,{id:a,data:B.data,type:E,positionAbsoluteX:C.positionAbsolute.x,positionAbsoluteY:C.positionAbsolute.y,selected:B.selected??!1,selectable:H,draggable:G,deletable:B.deletable??!0,isConnectable:I,sourcePosition:B.sourcePosition,targetPosition:B.targetPosition,dragging:N,dragHandle:B.dragHandle,zIndex:C.z,parentId:B.parentId,...P})})})}let aG=a=>({nodesDraggable:a.nodesDraggable,nodesConnectable:a.nodesConnectable,nodesFocusable:a.nodesFocusable,elementsSelectable:a.elementsSelectable,onError:a.onError});function aH(a){var b;let{nodesDraggable:c,nodesConnectable:d,nodesFocusable:g,elementsSelectable:i,onError:j}=t(aG,p),k=(b=a.onlyRenderVisibleElements,t((0,f.useCallback)(a=>b?(0,h.U$)(a.nodeLookup,{x:0,y:0,width:a.width,height:a.height},a.transform,!0).map(a=>a.id):Array.from(a.nodeLookup.keys()),[b]),p)),l=function(){let a=t(aE),[b]=(0,f.useState)(()=>"undefined"==typeof ResizeObserver?null:new ResizeObserver(b=>{let c=new Map;b.forEach(a=>{let b=a.target.getAttribute("data-id");c.set(b,{id:b,nodeElement:a.target,force:!0})}),a(c)}));return b}();return(0,e.jsx)("div",{className:"react-flow__nodes",style:ag,children:k.map(b=>(0,e.jsx)(aF,{id:b,nodeTypes:a.nodeTypes,nodeExtent:a.nodeExtent,onClick:a.onNodeClick,onMouseEnter:a.onNodeMouseEnter,onMouseMove:a.onNodeMouseMove,onMouseLeave:a.onNodeMouseLeave,onContextMenu:a.onNodeContextMenu,onDoubleClick:a.onNodeDoubleClick,noDragClassName:a.noDragClassName,noPanClassName:a.noPanClassName,rfId:a.rfId,disableKeyboardA11y:a.disableKeyboardA11y,resizeObserver:l,nodesDraggable:c,nodesConnectable:d,nodesFocusable:g,elementsSelectable:i,nodeClickDistance:a.nodeClickDistance,onError:j},b))})}aH.displayName="NodeRenderer";let aI=(0,f.memo)(aH),aJ={[h.TG.Arrow]:({color:a="none",strokeWidth:b=1})=>(0,e.jsx)("polyline",{style:{stroke:a,strokeWidth:b},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),[h.TG.ArrowClosed]:({color:a="none",strokeWidth:b=1})=>(0,e.jsx)("polyline",{style:{stroke:a,fill:a,strokeWidth:b},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},aK=({id:a,type:b,color:c,width:d=12.5,height:g=12.5,markerUnits:i="strokeWidth",strokeWidth:j,orient:k="auto-start-reverse"})=>{let l=function(a){let b=u();return(0,f.useMemo)(()=>Object.prototype.hasOwnProperty.call(aJ,a)?aJ[a]:(b.getState().onError?.("009",h.xc.error009(a)),null),[a])}(b);return l?(0,e.jsx)("marker",{className:"react-flow__arrowhead",id:a,markerWidth:`${d}`,markerHeight:`${g}`,viewBox:"-10 -10 20 20",markerUnits:i,orient:k,refX:"0",refY:"0",children:(0,e.jsx)(l,{color:c,strokeWidth:j})}):null},aL=({defaultColor:a,rfId:b})=>{let c=t(a=>a.edges),d=t(a=>a.defaultEdgeOptions),g=(0,f.useMemo)(()=>(0,h.Hm)(c,{id:b,defaultColor:a,defaultMarkerStart:d?.markerStart,defaultMarkerEnd:d?.markerEnd}),[c,d,b,a]);return g.length?(0,e.jsx)("svg",{className:"react-flow__marker","aria-hidden":"true",children:(0,e.jsx)("defs",{children:g.map(a=>(0,e.jsx)(aK,{id:a.id,type:a.type,color:a.color,width:a.width,height:a.height,markerUnits:a.markerUnits,strokeWidth:a.strokeWidth,orient:a.orient},a.id))})}):null};aL.displayName="MarkerDefinitions";var aM=(0,f.memo)(aL);function aN({x:a,y:b,label:c,labelStyle:d,labelShowBg:h=!0,labelBgStyle:i,labelBgPadding:j=[2,4],labelBgBorderRadius:k=2,children:l,className:m,...n}){let[o,p]=(0,f.useState)({x:1,y:0,width:0,height:0}),q=g(["react-flow__edge-textwrapper",m]),r=(0,f.useRef)(null);return c?(0,e.jsxs)("g",{transform:`translate(${a-o.width/2} ${b-o.height/2})`,className:q,visibility:o.width?"visible":"hidden",...n,children:[h&&(0,e.jsx)("rect",{width:o.width+2*j[0],x:-j[0],y:-j[1],height:o.height+2*j[1],className:"react-flow__edge-textbg",style:i,rx:k,ry:k}),(0,e.jsx)("text",{className:"react-flow__edge-text",y:o.height/2,dy:"0.3em",ref:r,style:d,children:c}),l]}):null}aN.displayName="EdgeText";let aO=(0,f.memo)(aN);function aP({path:a,labelX:b,labelY:c,label:d,labelStyle:f,labelShowBg:i,labelBgStyle:j,labelBgPadding:k,labelBgBorderRadius:l,interactionWidth:m=20,...n}){return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("path",{...n,d:a,fill:"none",className:g(["react-flow__edge-path",n.className])}),m&&(0,e.jsx)("path",{d:a,fill:"none",strokeOpacity:0,strokeWidth:m,className:"react-flow__edge-interaction"}),d&&(0,h.kf)(b)&&(0,h.kf)(c)?(0,e.jsx)(aO,{x:b,y:c,label:d,labelStyle:f,labelShowBg:i,labelBgStyle:j,labelBgPadding:k,labelBgBorderRadius:l}):null]})}function aQ({pos:a,x1:b,y1:c,x2:d,y2:e}){return a===h.yX.Left||a===h.yX.Right?[.5*(b+d),c]:[b,.5*(c+e)]}function aR({sourceX:a,sourceY:b,sourcePosition:c=h.yX.Bottom,targetX:d,targetY:e,targetPosition:f=h.yX.Top}){let[g,i]=aQ({pos:c,x1:a,y1:b,x2:d,y2:e}),[j,k]=aQ({pos:f,x1:d,y1:e,x2:a,y2:b}),[l,m,n,o]=(0,h.e_)({sourceX:a,sourceY:b,targetX:d,targetY:e,sourceControlX:g,sourceControlY:i,targetControlX:j,targetControlY:k});return[`M${a},${b} C${g},${i} ${j},${k} ${d},${e}`,l,m,n,o]}function aS(a){return(0,f.memo)(({id:b,sourceX:c,sourceY:d,targetX:f,targetY:g,sourcePosition:h,targetPosition:i,label:j,labelStyle:k,labelShowBg:l,labelBgStyle:m,labelBgPadding:n,labelBgBorderRadius:o,style:p,markerEnd:q,markerStart:r,interactionWidth:s})=>{let[t,u,v]=aR({sourceX:c,sourceY:d,sourcePosition:h,targetX:f,targetY:g,targetPosition:i}),w=a.isInternal?void 0:b;return(0,e.jsx)(aP,{id:w,path:t,labelX:u,labelY:v,label:j,labelStyle:k,labelShowBg:l,labelBgStyle:m,labelBgPadding:n,labelBgBorderRadius:o,style:p,markerEnd:q,markerStart:r,interactionWidth:s})})}let aT=aS({isInternal:!1}),aU=aS({isInternal:!0});function aV(a){return(0,f.memo)(({id:b,sourceX:c,sourceY:d,targetX:f,targetY:g,label:i,labelStyle:j,labelShowBg:k,labelBgStyle:l,labelBgPadding:m,labelBgBorderRadius:n,style:o,sourcePosition:p=h.yX.Bottom,targetPosition:q=h.yX.Top,markerEnd:r,markerStart:s,pathOptions:t,interactionWidth:u})=>{let[v,w,x]=(0,h.oN)({sourceX:c,sourceY:d,sourcePosition:p,targetX:f,targetY:g,targetPosition:q,borderRadius:t?.borderRadius,offset:t?.offset,stepPosition:t?.stepPosition}),y=a.isInternal?void 0:b;return(0,e.jsx)(aP,{id:y,path:v,labelX:w,labelY:x,label:i,labelStyle:j,labelShowBg:k,labelBgStyle:l,labelBgPadding:m,labelBgBorderRadius:n,style:o,markerEnd:r,markerStart:s,interactionWidth:u})})}aT.displayName="SimpleBezierEdge",aU.displayName="SimpleBezierEdgeInternal";let aW=aV({isInternal:!1}),aX=aV({isInternal:!0});function aY(a){return(0,f.memo)(({id:b,...c})=>{let d=a.isInternal?void 0:b;return(0,e.jsx)(aW,{...c,id:d,pathOptions:(0,f.useMemo)(()=>({borderRadius:0,offset:c.pathOptions?.offset}),[c.pathOptions?.offset])})})}aW.displayName="SmoothStepEdge",aX.displayName="SmoothStepEdgeInternal";let aZ=aY({isInternal:!1}),a$=aY({isInternal:!0});function a_(a){return(0,f.memo)(({id:b,sourceX:c,sourceY:d,targetX:f,targetY:g,label:i,labelStyle:j,labelShowBg:k,labelBgStyle:l,labelBgPadding:m,labelBgBorderRadius:n,style:o,markerEnd:p,markerStart:q,interactionWidth:r})=>{let[s,t,u]=(0,h.ah)({sourceX:c,sourceY:d,targetX:f,targetY:g}),v=a.isInternal?void 0:b;return(0,e.jsx)(aP,{id:v,path:s,labelX:t,labelY:u,label:i,labelStyle:j,labelShowBg:k,labelBgStyle:l,labelBgPadding:m,labelBgBorderRadius:n,style:o,markerEnd:p,markerStart:q,interactionWidth:r})})}aZ.displayName="StepEdge",a$.displayName="StepEdgeInternal";let a0=a_({isInternal:!1}),a1=a_({isInternal:!0});function a2(a){return(0,f.memo)(({id:b,sourceX:c,sourceY:d,targetX:f,targetY:g,sourcePosition:i=h.yX.Bottom,targetPosition:j=h.yX.Top,label:k,labelStyle:l,labelShowBg:m,labelBgStyle:n,labelBgPadding:o,labelBgBorderRadius:p,style:q,markerEnd:r,markerStart:s,pathOptions:t,interactionWidth:u})=>{let[v,w,x]=(0,h.Fp)({sourceX:c,sourceY:d,sourcePosition:i,targetX:f,targetY:g,targetPosition:j,curvature:t?.curvature}),y=a.isInternal?void 0:b;return(0,e.jsx)(aP,{id:y,path:v,labelX:w,labelY:x,label:k,labelStyle:l,labelShowBg:m,labelBgStyle:n,labelBgPadding:o,labelBgBorderRadius:p,style:q,markerEnd:r,markerStart:s,interactionWidth:u})})}a0.displayName="StraightEdge",a1.displayName="StraightEdgeInternal";let a3=a2({isInternal:!1}),a4=a2({isInternal:!0});a3.displayName="BezierEdge",a4.displayName="BezierEdgeInternal";let a5={default:a4,straight:a1,step:a$,smoothstep:aX,simplebezier:aU},a6={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},a7="react-flow__edgeupdater";function a8({position:a,centerX:b,centerY:c,radius:d=10,onMouseDown:f,onMouseEnter:i,onMouseOut:j,type:k}){return(0,e.jsx)("circle",{onMouseDown:f,onMouseEnter:i,onMouseOut:j,className:g([a7,`${a7}-${k}`]),cx:a===h.yX.Left?b-d:a===h.yX.Right?b+d:b,cy:a===h.yX.Top?c-d:a===h.yX.Bottom?c+d:c,r:d,stroke:"transparent",fill:"transparent"})}function a9({isReconnectable:a,reconnectRadius:b,edge:c,sourceX:d,sourceY:f,targetX:g,targetY:i,sourcePosition:j,targetPosition:k,onReconnect:l,onReconnectStart:m,onReconnectEnd:n,setReconnecting:o,setUpdateHover:p}){let q=u(),r=(a,b)=>{if(0!==a.button)return;let{autoPanOnConnect:d,domNode:e,isValidConnection:f,connectionMode:g,connectionRadius:i,lib:j,onConnectStart:k,onConnectEnd:p,cancelConnection:r,nodeLookup:s,rfId:t,panBy:u,updateConnection:v}=q.getState(),w="target"===b.type;h.aQ.onPointerDown(a.nativeEvent,{autoPanOnConnect:d,connectionMode:g,connectionRadius:i,domNode:e,handleId:b.id,nodeId:b.nodeId,nodeLookup:s,isTarget:w,edgeUpdaterType:b.type,lib:j,flowId:t,cancelConnection:r,panBy:u,isValidConnection:f,onConnect:a=>l?.(c,a),onConnectStart:(d,e)=>{o(!0),m?.(a,c,b.type),k?.(d,e)},onConnectEnd:p,onReconnectEnd:(a,d)=>{o(!1),n?.(a,c,b.type,d)},updateConnection:v,getTransform:()=>q.getState().transform,getFromHandle:()=>q.getState().connection.fromHandle,dragThreshold:q.getState().connectionDragThreshold})},s=()=>p(!0),t=()=>p(!1);return(0,e.jsxs)(e.Fragment,{children:[(!0===a||"source"===a)&&(0,e.jsx)(a8,{position:j,centerX:d,centerY:f,radius:b,onMouseDown:a=>r(a,{nodeId:c.target,id:c.targetHandle??null,type:"target"}),onMouseEnter:s,onMouseOut:t,type:"source"}),(!0===a||"target"===a)&&(0,e.jsx)(a8,{position:k,centerX:g,centerY:i,radius:b,onMouseDown:a=>r(a,{nodeId:c.source,id:c.sourceHandle??null,type:"source"}),onMouseEnter:s,onMouseOut:t,type:"target"})]})}function ba({id:a,edgesFocusable:b,edgesReconnectable:c,elementsSelectable:d,onClick:i,onDoubleClick:j,onContextMenu:k,onMouseEnter:l,onMouseMove:m,onMouseLeave:n,reconnectRadius:o,onReconnect:q,onReconnectStart:r,onReconnectEnd:s,rfId:v,edgeTypes:w,noPanClassName:x,onError:z,disableKeyboardA11y:A}){let B=t(b=>b.edgeLookup.get(a)),C=t(a=>a.defaultEdgeOptions),D=(B=C?{...C,...B}:B).type||"default",E=w?.[D]||a5[D];void 0===E&&(z?.("011",h.xc.error011(D)),D="default",E=w?.default||a5.default);let F=!!(B.focusable||b&&void 0===B.focusable),G=void 0!==q&&(B.reconnectable||c&&void 0===B.reconnectable),H=!!(B.selectable||d&&void 0===B.selectable),I=(0,f.useRef)(null),[J,K]=(0,f.useState)(!1),[L,M]=(0,f.useState)(!1),N=u(),{zIndex:O,sourceX:P,sourceY:Q,targetX:R,targetY:S,sourcePosition:T,targetPosition:U}=t((0,f.useCallback)(b=>{let c=b.nodeLookup.get(B.source),d=b.nodeLookup.get(B.target);if(!c||!d)return{zIndex:B.zIndex,...a6};let e=(0,h.b5)({id:a,sourceNode:c,targetNode:d,sourceHandle:B.sourceHandle||null,targetHandle:B.targetHandle||null,connectionMode:b.connectionMode,onError:z});return{zIndex:(0,h.qX)({selected:B.selected,zIndex:B.zIndex,sourceNode:c,targetNode:d,elevateOnSelect:b.elevateEdgesOnSelect}),...e||a6}},[B.source,B.target,B.sourceHandle,B.targetHandle,B.selected,B.zIndex]),p),V=(0,f.useMemo)(()=>B.markerStart?`url('#${(0,h.aW)(B.markerStart,v)}')`:void 0,[B.markerStart,v]),W=(0,f.useMemo)(()=>B.markerEnd?`url('#${(0,h.aW)(B.markerEnd,v)}')`:void 0,[B.markerEnd,v]);if(B.hidden||null===P||null===Q||null===R||null===S)return null;let X=j?a=>{j(a,{...B})}:void 0,Y=k?a=>{k(a,{...B})}:void 0,Z=l?a=>{l(a,{...B})}:void 0,$=m?a=>{m(a,{...B})}:void 0,_=n?a=>{n(a,{...B})}:void 0;return(0,e.jsx)("svg",{style:{zIndex:O},children:(0,e.jsxs)("g",{className:g(["react-flow__edge",`react-flow__edge-${D}`,B.className,x,{selected:B.selected,animated:B.animated,inactive:!H&&!i,updating:J,selectable:H}]),onClick:b=>{let{addSelectedEdges:c,unselectNodesAndEdges:d,multiSelectionActive:e}=N.getState();H&&(N.setState({nodesSelectionActive:!1}),B.selected&&e?(d({nodes:[],edges:[B]}),I.current?.blur()):c([a])),i&&i(b,B)},onDoubleClick:X,onContextMenu:Y,onMouseEnter:Z,onMouseMove:$,onMouseLeave:_,onKeyDown:F?b=>{if(!A&&h.tn.includes(b.key)&&H){let{unselectNodesAndEdges:c,addSelectedEdges:d}=N.getState();"Escape"===b.key?(I.current?.blur(),c({edges:[B]})):d([a])}}:void 0,tabIndex:F?0:void 0,role:B.ariaRole??(F?"group":"img"),"aria-roledescription":"edge","data-id":a,"data-testid":`rf__edge-${a}`,"aria-label":null===B.ariaLabel?void 0:B.ariaLabel||`Edge from ${B.source} to ${B.target}`,"aria-describedby":F?`${y}-${v}`:void 0,ref:I,...B.domAttributes,children:[!L&&(0,e.jsx)(E,{id:a,source:B.source,target:B.target,type:B.type,selected:B.selected,animated:B.animated,selectable:H,deletable:B.deletable??!0,label:B.label,labelStyle:B.labelStyle,labelShowBg:B.labelShowBg,labelBgStyle:B.labelBgStyle,labelBgPadding:B.labelBgPadding,labelBgBorderRadius:B.labelBgBorderRadius,sourceX:P,sourceY:Q,targetX:R,targetY:S,sourcePosition:T,targetPosition:U,data:B.data,style:B.style,sourceHandleId:B.sourceHandle,targetHandleId:B.targetHandle,markerStart:V,markerEnd:W,pathOptions:"pathOptions"in B?B.pathOptions:void 0,interactionWidth:B.interactionWidth}),G&&(0,e.jsx)(a9,{edge:B,isReconnectable:G,reconnectRadius:o,onReconnect:q,onReconnectStart:r,onReconnectEnd:s,sourceX:P,sourceY:Q,targetX:R,targetY:S,sourcePosition:T,targetPosition:U,setUpdateHover:K,setReconnecting:M})]})})}let bb=a=>({edgesFocusable:a.edgesFocusable,edgesReconnectable:a.edgesReconnectable,elementsSelectable:a.elementsSelectable,connectionMode:a.connectionMode,onError:a.onError});function bc({defaultMarkerColor:a,onlyRenderVisibleElements:b,rfId:c,edgeTypes:d,noPanClassName:g,onReconnect:i,onEdgeContextMenu:j,onEdgeMouseEnter:k,onEdgeMouseMove:l,onEdgeMouseLeave:m,onEdgeClick:n,reconnectRadius:o,onEdgeDoubleClick:q,onReconnectStart:r,onReconnectEnd:s,disableKeyboardA11y:u}){let{edgesFocusable:v,edgesReconnectable:w,elementsSelectable:x,onError:y}=t(bb,p),z=t((0,f.useCallback)(a=>{if(!b)return a.edges.map(a=>a.id);let c=[];if(a.width&&a.height)for(let b of a.edges){let d=a.nodeLookup.get(b.source),e=a.nodeLookup.get(b.target);d&&e&&(0,h.uj)({sourceNode:d,targetNode:e,width:a.width,height:a.height,transform:a.transform})&&c.push(b.id)}return c},[b]),p);return(0,e.jsxs)("div",{className:"react-flow__edges",children:[(0,e.jsx)(aM,{defaultColor:a,rfId:c}),z.map(a=>(0,e.jsx)(ba,{id:a,edgesFocusable:v,edgesReconnectable:w,elementsSelectable:x,noPanClassName:g,onReconnect:i,onContextMenu:j,onMouseEnter:k,onMouseMove:l,onMouseLeave:m,onClick:n,reconnectRadius:o,onDoubleClick:q,onReconnectStart:r,onReconnectEnd:s,rfId:c,onError:y,edgeTypes:d,disableKeyboardA11y:u},a))]})}bc.displayName="EdgeRenderer";let bd=(0,f.memo)(bc),be=a=>`translate(${a.transform[0]}px,${a.transform[1]}px) scale(${a.transform[2]})`;function bf({children:a}){let b=t(be);return(0,e.jsx)("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:b},children:a})}let bg=a=>a.panZoom?.syncViewport;function bh(a){return a.connection.inProgress?{...a.connection,to:(0,h.Ff)(a.connection.to,a.transform)}:{...a.connection}}let bi=a=>({nodesConnectable:a.nodesConnectable,isValid:a.connection.isValid,inProgress:a.connection.inProgress,width:a.width,height:a.height});function bj({containerStyle:a,style:b,type:c,component:d}){let{nodesConnectable:f,width:i,height:j,isValid:k,inProgress:l}=t(bi,p);return i&&f&&l?(0,e.jsx)("svg",{style:a,width:i,height:j,className:"react-flow__connectionline react-flow__container",children:(0,e.jsx)("g",{className:g(["react-flow__connection",(0,h.HF)(k)]),children:(0,e.jsx)(bk,{style:b,type:c,CustomComponent:d,isValid:k})})}):null}let bk=({style:a,type:b=h.Do.Bezier,CustomComponent:c,isValid:d})=>{let{inProgress:f,from:g,fromNode:i,fromHandle:j,fromPosition:k,to:l,toNode:m,toHandle:n,toPosition:o}=function(a){return t(bh,p)}();if(!f)return;if(c)return(0,e.jsx)(c,{connectionLineType:b,connectionLineStyle:a,fromNode:i,fromHandle:j,fromX:g.x,fromY:g.y,toX:l.x,toY:l.y,fromPosition:k,toPosition:o,connectionStatus:(0,h.HF)(d),toNode:m,toHandle:n});let q="",r={sourceX:g.x,sourceY:g.y,sourcePosition:k,targetX:l.x,targetY:l.y,targetPosition:o};switch(b){case h.Do.Bezier:[q]=(0,h.Fp)(r);break;case h.Do.SimpleBezier:[q]=aR(r);break;case h.Do.Step:[q]=(0,h.oN)({...r,borderRadius:0});break;case h.Do.SmoothStep:[q]=(0,h.oN)(r);break;default:[q]=(0,h.ah)(r)}return(0,e.jsx)("path",{d:q,fill:"none",className:"react-flow__connection-path",style:a})};bk.displayName="ConnectionLine";let bl={};function bm(a=bl){(0,f.useRef)(a),u()}function bn({nodeTypes:a,edgeTypes:b,onInit:c,onNodeClick:d,onEdgeClick:g,onNodeDoubleClick:h,onEdgeDoubleClick:i,onNodeMouseEnter:j,onNodeMouseMove:k,onNodeMouseLeave:l,onNodeContextMenu:m,onSelectionContextMenu:n,onSelectionStart:o,onSelectionEnd:p,connectionLineType:q,connectionLineStyle:r,connectionLineComponent:s,connectionLineContainerStyle:v,selectionKeyCode:w,selectionOnDrag:x,selectionMode:y,multiSelectionKeyCode:z,panActivationKeyCode:A,zoomActivationKeyCode:B,deleteKeyCode:C,onlyRenderVisibleElements:D,elementsSelectable:E,defaultViewport:F,translateExtent:G,minZoom:H,maxZoom:I,preventScrolling:J,defaultMarkerColor:K,zoomOnScroll:L,zoomOnPinch:M,panOnScroll:N,panOnScrollSpeed:O,panOnScrollMode:P,zoomOnDoubleClick:Q,panOnDrag:R,onPaneClick:S,onPaneMouseEnter:T,onPaneMouseMove:U,onPaneMouseLeave:V,onPaneScroll:W,onPaneContextMenu:X,paneClickDistance:Y,nodeClickDistance:Z,onEdgeContextMenu:$,onEdgeMouseEnter:_,onEdgeMouseMove:aa,onEdgeMouseLeave:ab,reconnectRadius:ac,onReconnect:ad,onReconnectStart:af,onReconnectEnd:ag,noDragClassName:ah,noWheelClassName:ai,noPanClassName:aj,disableKeyboardA11y:ak,nodeExtent:al,rfId:am,viewport:an,onViewportChange:ao}){return bm(a),bm(b),u(),(0,f.useRef)(!1),ae(),(0,f.useRef)(!1),t(bg),u(),(0,e.jsx)(aD,{onPaneClick:S,onPaneMouseEnter:T,onPaneMouseMove:U,onPaneMouseLeave:V,onPaneContextMenu:X,onPaneScroll:W,paneClickDistance:Y,deleteKeyCode:C,selectionKeyCode:w,selectionOnDrag:x,selectionMode:y,onSelectionStart:o,onSelectionEnd:p,multiSelectionKeyCode:z,panActivationKeyCode:A,zoomActivationKeyCode:B,elementsSelectable:E,zoomOnScroll:L,zoomOnPinch:M,zoomOnDoubleClick:Q,panOnScroll:N,panOnScrollSpeed:O,panOnScrollMode:P,panOnDrag:R,defaultViewport:F,translateExtent:G,minZoom:H,maxZoom:I,onSelectionContextMenu:n,preventScrolling:J,noDragClassName:ah,noWheelClassName:ai,noPanClassName:aj,disableKeyboardA11y:ak,onViewportChange:ao,isControlledViewport:!!an,children:(0,e.jsxs)(bf,{children:[(0,e.jsx)(bd,{edgeTypes:b,onEdgeClick:g,onEdgeDoubleClick:i,onReconnect:ad,onReconnectStart:af,onReconnectEnd:ag,onlyRenderVisibleElements:D,onEdgeContextMenu:$,onEdgeMouseEnter:_,onEdgeMouseMove:aa,onEdgeMouseLeave:ab,reconnectRadius:ac,defaultMarkerColor:K,noPanClassName:aj,disableKeyboardA11y:ak,rfId:am}),(0,e.jsx)(bj,{style:r,type:q,component:s,containerStyle:v}),(0,e.jsx)("div",{className:"react-flow__edgelabel-renderer"}),(0,e.jsx)(aI,{nodeTypes:a,onNodeClick:d,onNodeDoubleClick:h,onNodeMouseEnter:j,onNodeMouseMove:k,onNodeMouseLeave:l,onNodeContextMenu:m,nodeClickDistance:Z,onlyRenderVisibleElements:D,noPanClassName:aj,noDragClassName:ah,disableKeyboardA11y:ak,nodeExtent:al,rfId:am}),(0,e.jsx)("div",{className:"react-flow__viewport-portal"})]})})}bn.displayName="GraphView";let bo=(0,f.memo)(bn),bp=({nodes:a,edges:b,defaultNodes:c,defaultEdges:d,width:e,height:f,fitView:g,fitViewOptions:i,minZoom:j=.5,maxZoom:k=2,nodeOrigin:l,nodeExtent:m}={})=>{let n=new Map,o=new Map,p=new Map,q=new Map,r=d??b??[],s=c??a??[],t=l??[0,0],u=m??h.ZO;(0,h.qn)(p,q,r);let v=(0,h.bi)(s,n,o,{nodeOrigin:t,nodeExtent:u,elevateNodesOnSelect:!1}),w=[0,0,1];if(g&&e&&f){let a=(0,h.aZ)(n,{filter:a=>!!((a.width||a.initialWidth)&&(a.height||a.initialHeight))}),{x:b,y:c,zoom:d}=(0,h.R4)(a,e,f,j,k,i?.padding??.1);w=[b,c,d]}return{rfId:"1",width:0,height:0,transform:w,nodes:s,nodesInitialized:v,nodeLookup:n,parentLookup:o,edges:r,edgeLookup:q,connectionLookup:p,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:void 0!==c,hasDefaultEdges:void 0!==d,panZoom:null,minZoom:j,maxZoom:k,translateExtent:h.ZO,nodeExtent:u,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:h.WZ.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:t,nodeDragThreshold:1,connectionDragThreshold:1,snapG