UNPKG

@eventcatalogtest/studio

Version:

A drag and drop UI for distributed systems that keeps your diagrams where they belong – in your repo

1 lines 77.8 kB
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8090],{80588:(e,t,n)=>{n.d(t,{Gc:()=>tv,Ln:()=>tp,PN:()=>tO,VH:()=>et,VS:()=>tC,_0:()=>Z,h7:()=>ex,of:()=>tj,tE:()=>eV});var o,l=n(69644),r=n(49568),i=n(15225),a=n(4782),s=n(9472),d=n(23896);n(96177);let c=(0,r.createContext)(null),u=c.Provider,g=a.xc.error001();function f(e,t){let n=(0,r.useContext)(c);if(null===n)throw Error(g);return(0,s.n)(n,e,t)}function p(){let e=(0,r.useContext)(c);if(null===e)throw Error(g);return(0,r.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}let h={display:"none"},m={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},v="react-flow__node-desc",y="react-flow__edge-desc",x=e=>e.ariaLiveMessage,b=e=>e.ariaLabelConfig;function S(e){let{rfId:t}=e,n=f(x);return(0,l.jsx)("div",{id:"".concat("react-flow__aria-live","-").concat(t),"aria-live":"assertive","aria-atomic":"true",style:m,children:n})}function w(e){let{rfId:t,disableKeyboardA11y:n}=e,o=f(b);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("div",{id:"".concat(v,"-").concat(t),style:h,children:n?o["node.a11yDescription.default"]:o["node.a11yDescription.keyboardDisabled"]}),(0,l.jsx)("div",{id:"".concat(y,"-").concat(t),style:h,children:o["edge.a11yDescription.default"]}),!n&&(0,l.jsx)(S,{rfId:t})]})}let C=(0,r.forwardRef)((e,t)=>{let{position:n="top-left",children:o,className:r,style:a,...s}=e,d="".concat(n).split("-");return(0,l.jsx)("div",{className:(0,i.A)(["react-flow__panel",r,...d]),style:a,ref:t,...s,children:o})});function E(e){let{proOptions:t,position:n="bottom-right"}=e;return(null==t?void 0:t.hideAttribution)?null:(0,l.jsx)(C,{position:n,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,l.jsx)("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}C.displayName="Panel";let N=e=>{let t=[],n=[];for(let[,n]of e.nodeLookup)n.selected&&t.push(n.internals.userNode);for(let[,t]of e.edgeLookup)t.selected&&n.push(t);return{selectedNodes:t,selectedEdges:n}},k=e=>e.id;function M(e,t){return(0,d.x)(e.selectedNodes.map(k),t.selectedNodes.map(k))&&(0,d.x)(e.selectedEdges.map(k),t.selectedEdges.map(k))}function P(e){let{onSelectionChange:t}=e,n=p(),{selectedNodes:o,selectedEdges:l}=f(N,M);return(0,r.useEffect)(()=>{let e={nodes:o,edges:l};null==t||t(e),n.getState().onSelectionChangeHandlers.forEach(t=>t(e))},[o,l,t]),null}let D=e=>!!e.onSelectionChangeHandlers;function R(e){let{onSelectionChange:t}=e,n=f(D);return t||n?(0,l.jsx)(P,{onSelectionChange:t}):null}let A=[0,0],j={x:0,y:0,zoom:1},_=["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"],I=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setPaneClickDistance:e.setPaneClickDistance}),O={translateExtent:a.ZO,nodeOrigin:A,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1",paneClickDistance:0};function L(e){let{setNodes:t,setEdges:n,setMinZoom:o,setMaxZoom:l,setTranslateExtent:i,setNodeExtent:s,reset:c,setDefaultNodesAndEdges:u,setPaneClickDistance:g}=f(I,d.x),h=p();(0,r.useEffect)(()=>(u(e.defaultNodes,e.defaultEdges),()=>{m.current=O,c()}),[]);let m=(0,r.useRef)(O);return(0,r.useEffect)(()=>{for(let r of _){let d=e[r];d!==m.current[r]&&void 0!==e[r]&&("nodes"===r?t(d):"edges"===r?n(d):"minZoom"===r?o(d):"maxZoom"===r?l(d):"translateExtent"===r?i(d):"nodeExtent"===r?s(d):"paneClickDistance"===r?g(d):"ariaLabelConfig"===r?h.setState({ariaLabelConfig:(0,a.Q6)(d)}):"fitView"===r?h.setState({fitViewQueued:d}):"fitViewOptions"===r?h.setState({fitViewOptions:d}):h.setState({[r]:d}))}m.current=e},_.map(t=>e[t])),null}function B(){return"undefined"!=typeof window&&window.matchMedia?window.matchMedia("(prefers-color-scheme: dark)"):null}let z="undefined"!=typeof document?document:null;function V(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{target:z,actInsideInputWithModifier:!0},[n,o]=(0,r.useState)(!1),l=(0,r.useRef)(!1),i=(0,r.useRef)(new Set([])),[s,d]=(0,r.useMemo)(()=>{if(null!==e){let t=(Array.isArray(e)?e:[e]).filter(e=>"string"==typeof e).map(e=>e.replace("+","\n").replace("\n\n","\n+").split("\n")),n=t.reduce((e,t)=>e.concat(...t),[]);return[t,n]}return[[],[]]},[e]);return(0,r.useEffect)(()=>{var n,r;let c=null!=(n=null==t?void 0:t.target)?n:z,u=null==(r=null==t?void 0:t.actInsideInputWithModifier)||r;if(null!==e){let e=e=>{if(l.current=e.ctrlKey||e.metaKey||e.shiftKey||e.altKey,(!l.current||l.current&&!u)&&(0,a.v5)(e))return!1;let n=F(e.code,d);if(i.current.add(e[n]),T(s,i.current,!1)){var r,c;let n=(null==(c=e.composedPath)||null==(r=c.call(e))?void 0:r[0])||e.target,i=(null==n?void 0:n.nodeName)==="BUTTON"||(null==n?void 0:n.nodeName)==="A";!1!==t.preventDefault&&(l.current||!i)&&e.preventDefault(),o(!0)}},n=e=>{let t=F(e.code,d);T(s,i.current,!0)?(o(!1),i.current.clear()):i.current.delete(e[t]),"Meta"===e.key&&i.current.clear(),l.current=!1},r=()=>{i.current.clear(),o(!1)};return null==c||c.addEventListener("keydown",e),null==c||c.addEventListener("keyup",n),window.addEventListener("blur",r),window.addEventListener("contextmenu",r),()=>{null==c||c.removeEventListener("keydown",e),null==c||c.removeEventListener("keyup",n),window.removeEventListener("blur",r),window.removeEventListener("contextmenu",r)}}},[e,o]),n}function T(e,t,n){return e.filter(e=>n||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function F(e,t){return t.includes(e)?"code":"key"}function H(e,t){let n=[],o=new Map,l=[];for(let t of e)if("add"===t.type){l.push(t);continue}else if("remove"===t.type||"replace"===t.type)o.set(t.id,[t]);else{let e=o.get(t.id);e?e.push(t):o.set(t.id,[t])}for(let e of t){let t=o.get(e.id);if(!t){n.push(e);continue}if("remove"===t[0].type)continue;if("replace"===t[0].type){n.push({...t[0].item});continue}let l={...e};for(let e of t)!function(e,t){switch(e.type){case"select":t.selected=e.selected;break;case"position":void 0!==e.position&&(t.position=e.position),void 0!==e.dragging&&(t.dragging=e.dragging);break;case"dimensions":void 0!==e.dimensions&&(null!=t.measured||(t.measured={}),t.measured.width=e.dimensions.width,t.measured.height=e.dimensions.height,e.setAttributes&&((!0===e.setAttributes||"width"===e.setAttributes)&&(t.width=e.dimensions.width),(!0===e.setAttributes||"height"===e.setAttributes)&&(t.height=e.dimensions.height)));"boolean"==typeof e.resizing&&(t.resizing=e.resizing)}}(e,l);n.push(l)}return l.length&&l.forEach(e=>{void 0!==e.index?n.splice(e.index,0,{...e.item}):n.push({...e.item})}),n}function Z(e,t){return H(e,t)}function X(e,t){return{id:e,type:"select",selected:t}}function W(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Set,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=[];for(let[l,r]of e){let e=t.has(l);(void 0!==r.selected||e)&&r.selected!==e&&(n&&(r.selected=e),o.push(X(r.id,e)))}return o}function K(e){let{items:t=[],lookup:n}=e,o=[],l=new Map(t.map(e=>[e.id,e]));for(let[e,l]of t.entries()){var r,i;let t=n.get(l.id),a=null!=(i=null==t||null==(r=t.internals)?void 0:r.userNode)?i:t;void 0!==a&&a!==l&&o.push({id:l.id,item:l,type:"replace"}),void 0===a&&o.push({item:l,type:"add",index:e})}for(let[e]of n)void 0===l.get(e)&&o.push({id:e,type:"remove"});return o}function Y(e){return{id:e.id,type:"remove"}}let Q=e=>(0,a.oB)(e);function U(e){return(0,r.forwardRef)(e)}let G="undefined"!=typeof window?r.useLayoutEffect:r.useEffect;function q(e){let[t,n]=(0,r.useState)(BigInt(0)),[o]=(0,r.useState)(()=>{var e;let t;return e=()=>n(e=>e+BigInt(1)),t=[],{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}});return G(()=>{let t=o.get();t.length&&(e(t),o.reset())},[t]),o}let $=(0,r.createContext)(null);function J(e){let{children:t}=e,n=p(),o=q((0,r.useCallback)(e=>{let{nodes:t=[],setNodes:o,hasDefaultNodes:l,onNodesChange:r,nodeLookup:i,fitViewQueued:a}=n.getState(),s=t;for(let t of e)s="function"==typeof t?t(s):t;let d=K({items:s,lookup:i});l&&o(s),d.length>0?null==r||r(d):a&&window.requestAnimationFrame(()=>{let{fitViewQueued:e,nodes:t,setNodes:o}=n.getState();e&&o(t)})},[])),i=q((0,r.useCallback)(e=>{let{edges:t=[],setEdges:o,hasDefaultEdges:l,onEdgesChange:r,edgeLookup:i}=n.getState(),a=t;for(let t of e)a="function"==typeof t?t(a):t;l?o(a):r&&r(K({items:a,lookup:i}))},[])),a=(0,r.useMemo)(()=>({nodeQueue:o,edgeQueue:i}),[]);return(0,l.jsx)($.Provider,{value:a,children:t})}let ee=e=>!!e.panZoom;function et(){let e=(()=>{let e=p();return(0,r.useMemo)(()=>({zoomIn:t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1.2,{duration:null==t?void 0:t.duration}):Promise.resolve(!1)},zoomOut:t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,{duration:null==t?void 0:t.duration}):Promise.resolve(!1)},zoomTo:(t,n)=>{let{panZoom:o}=e.getState();return o?o.scaleTo(t,{duration:null==n?void 0:n.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{var o,l,r;let{transform:[i,a,s],panZoom:d}=e.getState();return d?(await d.setViewport({x:null!=(o=t.x)?o:i,y:null!=(l=t.y)?l:a,zoom:null!=(r=t.zoom)?r:s},n),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{let[t,n,o]=e.getState().transform;return{x:t,y:n,zoom:o}},setCenter:async(t,n,o)=>e.getState().setCenter(t,n,o),fitBounds:async(t,n)=>{var o;let{width:l,height:r,minZoom:i,maxZoom:s,panZoom:d}=e.getState(),c=(0,a.R4)(t,l,r,i,s,null!=(o=null==n?void 0:n.padding)?o:.1);return d?(await d.setViewport(c,{duration:null==n?void 0:n.duration,ease:null==n?void 0:n.ease,interpolate:null==n?void 0:n.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:function(t){var n,o;let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{transform:r,snapGrid:i,snapToGrid:s,domNode:d}=e.getState();if(!d)return t;let{x:c,y:u}=d.getBoundingClientRect(),g={x:t.x-c,y:t.y-u},f=null!=(n=l.snapGrid)?n:i,p=null!=(o=l.snapToGrid)?o:s;return(0,a.Ff)(g,r,p,f)},flowToScreenPosition:t=>{let{transform:n,domNode:o}=e.getState();if(!o)return t;let{x:l,y:r}=o.getBoundingClientRect(),i=(0,a.zj)(t,n);return{x:i.x+l,y:i.y+r}}}),[])})(),t=p(),n=function(){let e=(0,r.useContext)($);if(!e)throw Error("useBatchContext must be used within a BatchProvider");return e}(),o=f(ee),l=(0,r.useMemo)(()=>{let e=e=>t.getState().nodeLookup.get(e),o=e=>{n.nodeQueue.push(e)},l=e=>{n.edgeQueue.push(e)},r=e=>{var n,o,l,r;let{nodeLookup:i,nodeOrigin:s}=t.getState(),d=Q(e)?e:i.get(e.id),c=d.parentId?(0,a.us)(d.position,d.measured,d.parentId,i,s):d.position,u={...d,position:c,width:null!=(l=null==(n=d.measured)?void 0:n.width)?l:d.width,height:null!=(r=null==(o=d.measured)?void 0:o.height)?r:d.height};return(0,a.kM)(u)},i=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{replace:!1};o(o=>o.map(o=>{if(o.id===e){let e="function"==typeof t?t(o):t;return n.replace&&Q(e)?e:{...o,...e}}return o}))},s=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{replace:!1};l(o=>o.map(o=>{if(o.id===e){let e="function"==typeof t?t(o):t;return n.replace&&(0,a.b$)(e)?e:{...o,...e}}return o}))};return{getNodes:()=>t.getState().nodes.map(e=>({...e})),getNode:t=>{var n;return null==(n=e(t))?void 0:n.internals.userNode},getInternalNode:e,getEdges:()=>{let{edges:e=[]}=t.getState();return e.map(e=>({...e}))},getEdge:e=>t.getState().edgeLookup.get(e),setNodes:o,setEdges:l,addNodes:e=>{let t=Array.isArray(e)?e:[e];n.nodeQueue.push(e=>[...e,...t])},addEdges:e=>{let t=Array.isArray(e)?e:[e];n.edgeQueue.push(e=>[...e,...t])},toObject:()=>{let{nodes:e=[],edges:n=[],transform:o}=t.getState(),[l,r,i]=o;return{nodes:e.map(e=>({...e})),edges:n.map(e=>({...e})),viewport:{x:l,y:r,zoom:i}}},deleteElements:async e=>{let{nodes:n=[],edges:o=[]}=e,{nodes:l,edges:r,onNodesDelete:i,onEdgesDelete:s,triggerNodeChanges:d,triggerEdgeChanges:c,onDelete:u,onBeforeDelete:g}=t.getState(),{nodes:f,edges:p}=await (0,a.Tq)({nodesToRemove:n,edgesToRemove:o,nodes:l,edges:r,onBeforeDelete:g}),h=p.length>0,m=f.length>0;if(h){let e=p.map(Y);null==s||s(p),c(e)}if(m){let e=f.map(Y);null==i||i(f),d(e)}return(m||h)&&(null==u||u({nodes:f,edges:p})),{deletedNodes:f,deletedEdges:p}},getIntersectingNodes:function(e){let n=!(arguments.length>1)||void 0===arguments[1]||arguments[1],o=arguments.length>2?arguments[2]:void 0,l=(0,a.mW)(e),i=l?e:r(e),s=void 0!==o;return i?(o||t.getState().nodes).filter(o=>{let r=t.getState().nodeLookup.get(o.id);if(r&&!l&&(o.id===e.id||!r.internals.positionAbsolute))return!1;let d=(0,a.kM)(s?o:r),c=(0,a.X6)(d,i);return n&&c>0||c>=d.width*d.height||c>=i.width*i.height}):[]},isNodeIntersecting:function(e,t){let n=!(arguments.length>2)||void 0===arguments[2]||arguments[2],o=(0,a.mW)(e)?e:r(e);if(!o)return!1;let l=(0,a.X6)(o,t);return n&&l>0||l>=o.width*o.height},updateNode:i,updateNodeData:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{replace:!1};i(e,e=>{let o="function"==typeof t?t(e):t;return n.replace?{...e,data:o}:{...e,data:{...e.data,...o}}},n)},updateEdge:s,updateEdgeData:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{replace:!1};s(e,e=>{let o="function"==typeof t?t(e):t;return n.replace?{...e,data:o}:{...e,data:{...e.data,...o}}},n)},getNodesBounds:e=>{let{nodeLookup:n,nodeOrigin:o}=t.getState();return(0,a.Jo)(e,{nodeLookup:n,nodeOrigin:o})},getHandleConnections:e=>{var n,o;let{type:l,id:r,nodeId:i}=e;return Array.from(null!=(o=null==(n=t.getState().connectionLookup.get("".concat(i,"-").concat(l).concat(r?"-".concat(r):"")))?void 0:n.values())?o:[])},getNodeConnections:e=>{var n,o;let{type:l,handleId:r,nodeId:i}=e;return Array.from(null!=(o=null==(n=t.getState().connectionLookup.get("".concat(i).concat(l?r?"-".concat(l,"-").concat(r):"-".concat(l):"")))?void 0:n.values())?o:[])},fitView:async e=>{var o;let l=null!=(o=t.getState().fitViewResolver)?o:(0,a.YN)();return t.setState({fitViewQueued:!0,fitViewOptions:e,fitViewResolver:l}),n.nodeQueue.push(e=>[...e]),l.promise}}},[]);return(0,r.useMemo)(()=>({...l,...e,viewportInitialized:o}),[o])}let en=e=>e.selected,eo="undefined"!=typeof window?window:void 0,el={position:"absolute",width:"100%",height:"100%",top:0,left:0},er=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib});function ei(e){let{onPaneContextMenu:t,zoomOnScroll:n=!0,zoomOnPinch:o=!0,panOnScroll:i=!1,panOnScrollSpeed:s=.5,panOnScrollMode:c=a.ny.Free,zoomOnDoubleClick:u=!0,panOnDrag:g=!0,defaultViewport:h,translateExtent:m,minZoom:v,maxZoom:y,zoomActivationKeyCode:x,preventScrolling:b=!0,children:S,noWheelClassName:w,noPanClassName:C,onViewportChange:E,isControlledViewport:N,paneClickDistance:k}=e,M=p(),P=(0,r.useRef)(null),{userSelectionActive:D,lib:R}=f(er,d.x),A=V(x),j=(0,r.useRef)(),_=p();(0,r.useEffect)(()=>{let e=()=>{if(!P.current)return!1;let e=(0,a.Eo)(P.current);if(0===e.height||0===e.width){var t,n;null==(t=(n=_.getState()).onError)||t.call(n,"004",a.xc.error004())}_.setState({width:e.width||500,height:e.height||500})};if(P.current){e(),window.addEventListener("resize",e);let t=new ResizeObserver(()=>e());return t.observe(P.current),()=>{window.removeEventListener("resize",e),t&&P.current&&t.unobserve(P.current)}}},[]);let I=(0,r.useCallback)(e=>{null==E||E({x:e[0],y:e[1],zoom:e[2]}),N||M.setState({transform:e})},[E,N]);return(0,r.useEffect)(()=>{if(P.current){j.current=(0,a.kO)({domNode:P.current,minZoom:v,maxZoom:y,translateExtent:m,viewport:h,paneClickDistance:k,onDraggingChange:e=>M.setState({paneDragging:e}),onPanZoomStart:(e,t)=>{let{onViewportChangeStart:n,onMoveStart:o}=M.getState();null==o||o(e,t),null==n||n(t)},onPanZoom:(e,t)=>{let{onViewportChange:n,onMove:o}=M.getState();null==o||o(e,t),null==n||n(t)},onPanZoomEnd:(e,t)=>{let{onViewportChangeEnd:n,onMoveEnd:o}=M.getState();null==o||o(e,t),null==n||n(t)}});let{x:e,y:t,zoom:n}=j.current.getViewport();return M.setState({panZoom:j.current,transform:[e,t,n],domNode:P.current.closest(".react-flow")}),()=>{var e;null==(e=j.current)||e.destroy()}}},[]),(0,r.useEffect)(()=>{var e;null==(e=j.current)||e.update({onPaneContextMenu:t,zoomOnScroll:n,zoomOnPinch:o,panOnScroll:i,panOnScrollSpeed:s,panOnScrollMode:c,zoomOnDoubleClick:u,panOnDrag:g,zoomActivationKeyPressed:A,preventScrolling:b,noPanClassName:C,userSelectionActive:D,noWheelClassName:w,lib:R,onTransformChange:I})},[t,n,o,i,s,c,u,g,A,b,C,D,w,R,I]),(0,l.jsx)("div",{className:"react-flow__renderer",ref:P,style:el,children:S})}let ea=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function es(){let{userSelectionActive:e,userSelectionRect:t}=f(ea,d.x);return e&&t?(0,l.jsx)("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:"translate(".concat(t.x,"px, ").concat(t.y,"px)")}}):null}let ed=(e,t)=>n=>{n.target===t.current&&(null==e||e(n))},ec=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function eu(e){let{isSelecting:t,selectionKeyPressed:n,selectionMode:o=a.Qc.Full,panOnDrag:s,selectionOnDrag:c,onSelectionStart:u,onSelectionEnd:g,onPaneClick:h,onPaneContextMenu:m,onPaneScroll:v,onPaneMouseEnter:y,onPaneMouseMove:x,onPaneMouseLeave:b,children:S}=e,w=p(),{userSelectionActive:C,elementsSelectable:E,dragging:N,connectionInProgress:k}=f(ec,d.x),M=E&&(t||C),P=(0,r.useRef)(null),D=(0,r.useRef)(),R=(0,r.useRef)(new Set),A=(0,r.useRef)(new Set),j=(0,r.useRef)(!1),_=(0,r.useRef)(!1),I=e=>{if(j.current||k){j.current=!1;return}null==h||h(e),w.getState().resetSelectedElements(),w.setState({nodesSelectionActive:!1})},O=!0===s||Array.isArray(s)&&s.includes(0);return(0,l.jsxs)("div",{className:(0,i.A)(["react-flow__pane",{draggable:O,dragging:N,selection:t}]),onClick:M?void 0:ed(I,P),onContextMenu:ed(e=>{if(Array.isArray(s)&&(null==s?void 0:s.includes(2)))return void e.preventDefault();null==m||m(e)},P),onWheel:ed(v?e=>v(e):void 0,P),onPointerEnter:M?void 0:y,onPointerDown:M?e=>{var n,o;let{resetSelectedElements:l,domNode:r}=w.getState();if(D.current=null==r?void 0:r.getBoundingClientRect(),!E||!t||0!==e.button||e.target!==P.current||!D.current)return;null==(o=e.target)||null==(n=o.setPointerCapture)||n.call(o,e.pointerId),_.current=!0,j.current=!1;let{x:i,y:s}=(0,a.q1)(e.nativeEvent,D.current);l(),w.setState({userSelectionRect:{width:0,height:0,startX:i,startY:s,x:i,y:s}}),null==u||u(e)}:x,onPointerMove:M?e=>{var t,n;let{userSelectionRect:l,transform:r,nodeLookup:i,edgeLookup:s,connectionLookup:d,triggerNodeChanges:c,triggerEdgeChanges:u,defaultEdgeOptions:g}=w.getState();if(!D.current||!l)return;j.current=!0;let{x:f,y:p}=(0,a.q1)(e.nativeEvent,D.current),{startX:h,startY:m}=l,v={startX:h,startY:m,x:f<h?f:h,y:p<m?p:m,width:Math.abs(f-h),height:Math.abs(p-m)},y=R.current,x=A.current;R.current=new Set((0,a.U$)(i,v,r,o===a.Qc.Partial,!0).map(e=>e.id)),A.current=new Set;let b=null==(t=null==g?void 0:g.selectable)||t;for(let e of R.current){let t=d.get(e);if(t)for(let{edgeId:e}of t.values()){let t=s.get(e);t&&(null!=(n=t.selectable)?n:b)&&A.current.add(e)}}(0,a._s)(y,R.current)||c(W(i,R.current,!0)),(0,a._s)(x,A.current)||u(W(s,A.current)),w.setState({userSelectionRect:v,userSelectionActive:!0,nodesSelectionActive:!1})}:x,onPointerUp:M?e=>{var t,o;if(0!==e.button||!_.current)return;null==(o=e.target)||null==(t=o.releasePointerCapture)||t.call(o,e.pointerId);let{userSelectionRect:l}=w.getState();!C&&l&&e.target===P.current&&(null==I||I(e)),w.setState({userSelectionActive:!1,userSelectionRect:null,nodesSelectionActive:R.current.size>0}),null==g||g(e),(n||c)&&(j.current=!1),_.current=!1}:void 0,onPointerLeave:b,ref:P,style:el,children:[S,(0,l.jsx)(es,{})]})}function eg(e){let{id:t,store:n,unselect:o=!1,nodeRef:l}=e,{addSelectedNodes:r,unselectNodesAndEdges:i,multiSelectionActive:s,nodeLookup:d,onError:c}=n.getState(),u=d.get(t);if(!u){null==c||c("012",a.xc.error012(t));return}n.setState({nodesSelectionActive:!1}),u.selected?(o||u.selected&&s)&&(i({nodes:[u],edges:[]}),requestAnimationFrame(()=>{var e;return null==l||null==(e=l.current)?void 0:e.blur()})):r([t])}function ef(e){let{nodeRef:t,disabled:n=!1,noDragClassName:o,handleSelector:l,nodeId:i,isSelectable:s,nodeClickDistance:d}=e,c=p(),[u,g]=(0,r.useState)(!1),f=(0,r.useRef)();return(0,r.useEffect)(()=>{f.current=(0,a.I$)({getStoreItems:()=>c.getState(),onNodeMouseDown:e=>{eg({id:e,store:c,nodeRef:t})},onDragStart:()=>{g(!0)},onDragStop:()=>{g(!1)}})},[]),(0,r.useEffect)(()=>{var e,r;if(n)null==(e=f.current)||e.destroy();else if(t.current)return null==(r=f.current)||r.update({noDragClassName:o,handleSelector:l,domNode:t.current,isSelectable:s,nodeId:i,nodeClickDistance:d}),()=>{var e;null==(e=f.current)||e.destroy()}},[o,l,n,s,t,i]),u}function ep(){let e=p();return(0,r.useCallback)(t=>{let{nodeExtent:n,snapToGrid:o,snapGrid:l,nodesDraggable:r,onError:i,updateNodePositions:s,nodeLookup:d,nodeOrigin:c}=e.getState(),u=new Map,g=e=>e.selected&&(e.draggable||r&&void 0===e.draggable),f=o?l[0]:5,p=o?l[1]:5,h=t.direction.x*f*t.factor,m=t.direction.y*p*t.factor;for(let[,e]of d){if(!g(e))continue;let t={x:e.internals.positionAbsolute.x+h,y:e.internals.positionAbsolute.y+m};o&&(t=(0,a.s_)(t,l));let{position:r,positionAbsolute:s}=(0,a.aE)({nodeId:e.id,nextPosition:t,nodeLookup:d,nodeExtent:n,nodeOrigin:c,onError:i});e.position=r,e.internals.positionAbsolute=s,u.set(e.id,e)}s(u)},[])}let eh=(0,r.createContext)(null),em=eh.Provider;eh.Consumer;let ev=()=>(0,r.useContext)(eh),ey=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),ex=(0,r.memo)(U(function(e,t){let{type:n="source",position:o=a.yX.Top,isValidConnection:r,isConnectable:s=!0,isConnectableStart:c=!0,isConnectableEnd:u=!0,id:g,onConnect:h,children:m,className:v,onMouseDown:y,onTouchStart:x,...b}=e,S=g||null,w="target"===n,C=p(),E=ev(),{connectOnClick:N,noPanClassName:k,rfId:M}=f(ey,d.x),{connectingFrom:P,connectingTo:D,clickConnecting:R,isPossibleEndHandle:A,connectionInProcess:j,clickConnectionInProcess:_,valid:I}=f(e=>{let{connectionClickStartHandle:t,connectionMode:o,connection:l}=e,{fromHandle:r,toHandle:i,isValid:s}=l,d=(null==i?void 0:i.nodeId)===E&&(null==i?void 0:i.id)===S&&(null==i?void 0:i.type)===n;return{connectingFrom:(null==r?void 0:r.nodeId)===E&&(null==r?void 0:r.id)===S&&(null==r?void 0:r.type)===n,connectingTo:d,clickConnecting:(null==t?void 0:t.nodeId)===E&&(null==t?void 0:t.id)===S&&(null==t?void 0:t.type)===n,isPossibleEndHandle:o===a.WZ.Strict?(null==r?void 0:r.type)!==n:E!==(null==r?void 0:r.nodeId)||S!==(null==r?void 0:r.id),connectionInProcess:!!r,clickConnectionInProcess:!!t,valid:d&&s}},d.x);if(!E){var O,L;null==(O=(L=C.getState()).onError)||O.call(L,"010",a.xc.error010())}let B=e=>{let{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:o}=C.getState(),l={...t,...e};if(o){let{edges:e,setEdges:t}=C.getState();t((0,a.rN)(l,e))}null==n||n(l),null==h||h(l)},z=e=>{if(!E)return;let t=(0,a.Er)(e.nativeEvent);if(c&&(t&&0===e.button||!t)){let t=C.getState();a.aQ.onPointerDown(e.nativeEvent,{autoPanOnConnect:t.autoPanOnConnect,connectionMode:t.connectionMode,connectionRadius:t.connectionRadius,domNode:t.domNode,nodeLookup:t.nodeLookup,lib:t.lib,isTarget:w,handleId:S,nodeId:E,flowId:t.rfId,panBy:t.panBy,cancelConnection:t.cancelConnection,onConnectStart:t.onConnectStart,onConnectEnd:t.onConnectEnd,updateConnection:t.updateConnection,onConnect:B,isValidConnection:r||t.isValidConnection,getTransform:()=>C.getState().transform,getFromHandle:()=>C.getState().connection.fromHandle,autoPanSpeed:t.autoPanSpeed,dragThreshold:t.connectionDragThreshold})}t?null==y||y(e):null==x||x(e)};return(0,l.jsx)("div",{"data-handleid":S,"data-nodeid":E,"data-handlepos":o,"data-id":"".concat(M,"-").concat(E,"-").concat(S,"-").concat(n),className:(0,i.A)(["react-flow__handle","react-flow__handle-".concat(o),"nodrag",k,v,{source:!w,target:w,connectable:s,connectablestart:c,connectableend:u,clickconnecting:R,connectingfrom:P,connectingto:D,valid:I,connectionindicator:s&&(!j||A)&&(j||_?u:c)}]),onMouseDown:z,onTouchStart:z,onClick:N?e=>{let{onClickConnectStart:t,onClickConnectEnd:o,connectionClickStartHandle:l,connectionMode:i,isValidConnection:s,lib:d,rfId:u,nodeLookup:g,connection:f}=C.getState();if(!E||!l&&!c)return;if(!l){null==t||t(e.nativeEvent,{nodeId:E,handleId:S,handleType:n}),C.setState({connectionClickStartHandle:{nodeId:E,type:n,id:S}});return}let p=(0,a.oj)(e.target),h=r||s,{connection:m,isValid:v}=a.aQ.isValid(e.nativeEvent,{handle:{nodeId:E,id:S,type:n},connectionMode:i,fromNodeId:l.nodeId,fromHandleId:l.id||null,fromType:l.type,isValidConnection:h,flowId:u,doc:p,lib:d,nodeLookup:g});v&&m&&B(m);let y=structuredClone(f);delete y.inProgress,y.toPosition=y.toHandle?y.toHandle.position:null,null==o||o(e,y),C.setState({connectionClickStartHandle:null})}:void 0,ref:t,...b,children:m})})),eb={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},eS={input:function(e){let{data:t,isConnectable:n,sourcePosition:o=a.yX.Bottom}=e;return(0,l.jsxs)(l.Fragment,{children:[null==t?void 0:t.label,(0,l.jsx)(ex,{type:"source",position:o,isConnectable:n})]})},default:function(e){let{data:t,isConnectable:n,targetPosition:o=a.yX.Top,sourcePosition:r=a.yX.Bottom}=e;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(ex,{type:"target",position:o,isConnectable:n}),null==t?void 0:t.label,(0,l.jsx)(ex,{type:"source",position:r,isConnectable:n})]})},output:function(e){let{data:t,isConnectable:n,targetPosition:o=a.yX.Top}=e;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(ex,{type:"target",position:o,isConnectable:n}),null==t?void 0:t.label]})},group:function(){return null}},ew=e=>{let{width:t,height:n,x:o,y:l}=(0,a.aZ)(e.nodeLookup,{filter:e=>!!e.selected});return{width:(0,a.kf)(t)?t:null,height:(0,a.kf)(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:"translate(".concat(e.transform[0],"px,").concat(e.transform[1],"px) scale(").concat(e.transform[2],") translate(").concat(o,"px,").concat(l,"px)")}};function eC(e){let{onSelectionContextMenu:t,noPanClassName:n,disableKeyboardA11y:o}=e,a=p(),{width:s,height:c,transformString:u,userSelectionActive:g}=f(ew,d.x),h=ep(),m=(0,r.useRef)(null);if((0,r.useEffect)(()=>{if(!o){var e;null==(e=m.current)||e.focus({preventScroll:!0})}},[o]),ef({nodeRef:m}),g||!s||!c)return null;let v=t?e=>{t(e,a.getState().nodes.filter(e=>e.selected))}:void 0;return(0,l.jsx)("div",{className:(0,i.A)(["react-flow__nodesselection","react-flow__container",n]),style:{transform:u},children:(0,l.jsx)("div",{ref:m,className:"react-flow__nodesselection-rect",onContextMenu:v,tabIndex:o?void 0:-1,onKeyDown:o?void 0:e=>{Object.prototype.hasOwnProperty.call(eb,e.key)&&(e.preventDefault(),h({direction:eb[e.key],factor:e.shiftKey?4:1}))},style:{width:s,height:c}})})}let eE="undefined"!=typeof window?window:void 0,eN=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function ek(e){let{children:t,onPaneClick:n,onPaneMouseEnter:o,onPaneMouseMove:i,onPaneMouseLeave:a,onPaneContextMenu:s,onPaneScroll:d,paneClickDistance:c,deleteKeyCode:u,selectionKeyCode:g,selectionOnDrag:h,selectionMode:m,onSelectionStart:v,onSelectionEnd:y,multiSelectionKeyCode:x,panActivationKeyCode:b,zoomActivationKeyCode:S,elementsSelectable:w,zoomOnScroll:C,zoomOnPinch:E,panOnScroll:N,panOnScrollSpeed:k,panOnScrollMode:M,zoomOnDoubleClick:P,panOnDrag:D,defaultViewport:R,translateExtent:A,minZoom:j,maxZoom:_,preventScrolling:I,onSelectionContextMenu:O,noWheelClassName:L,noPanClassName:B,disableKeyboardA11y:z,onViewportChange:T,isControlledViewport:F}=e,{nodesSelectionActive:H,userSelectionActive:Z}=f(eN),X=V(g,{target:eE}),W=V(b,{target:eE}),K=W||D,Y=W||N,Q=h&&!0!==K,U=X||Z||Q;return!function(e){let{deleteKeyCode:t,multiSelectionKeyCode:n}=e,o=p(),{deleteElements:l}=et(),i=V(t,{actInsideInputWithModifier:!1}),a=V(n,{target:eo});(0,r.useEffect)(()=>{if(i){let{edges:e,nodes:t}=o.getState();l({nodes:t.filter(en),edges:e.filter(en)}),o.setState({nodesSelectionActive:!1})}},[i]),(0,r.useEffect)(()=>{o.setState({multiSelectionActive:a})},[a])}({deleteKeyCode:u,multiSelectionKeyCode:x}),(0,l.jsx)(ei,{onPaneContextMenu:s,elementsSelectable:w,zoomOnScroll:C,zoomOnPinch:E,panOnScroll:Y,panOnScrollSpeed:k,panOnScrollMode:M,zoomOnDoubleClick:P,panOnDrag:!X&&K,defaultViewport:R,translateExtent:A,minZoom:j,maxZoom:_,zoomActivationKeyCode:S,preventScrolling:I,noWheelClassName:L,noPanClassName:B,onViewportChange:T,isControlledViewport:F,paneClickDistance:c,children:(0,l.jsxs)(eu,{onSelectionStart:v,onSelectionEnd:y,onPaneClick:n,onPaneMouseEnter:o,onPaneMouseMove:i,onPaneMouseLeave:a,onPaneContextMenu:s,onPaneScroll:d,panOnDrag:K,isSelecting:!!U,selectionMode:m,selectionKeyPressed:X,selectionOnDrag:Q,children:[t,H&&(0,l.jsx)(eC,{onSelectionContextMenu:O,noPanClassName:B,disableKeyboardA11y:z})]})})}ek.displayName="FlowRenderer";let eM=(0,r.memo)(ek),eP=e=>e.updateNodeInternals;function eD(e){var t,n,o,s,c,u,g,h,m,y,x,b,S;let{id:w,onClick:C,onMouseEnter:E,onMouseMove:N,onMouseLeave:k,onContextMenu:M,onDoubleClick:P,nodesDraggable:D,elementsSelectable:R,nodesConnectable:A,nodesFocusable:j,resizeObserver:_,noDragClassName:I,noPanClassName:O,disableKeyboardA11y:L,rfId:B,nodeTypes:z,nodeClickDistance:V,onError:T}=e,{node:F,internals:H,isParent:Z}=f(e=>{let t=e.nodeLookup.get(w),n=e.parentLookup.has(w);return{node:t,internals:t.internals,isParent:n}},d.x),X=F.type||"default",W=(null==z?void 0:z[X])||eS[X];void 0===W&&(null==T||T("003",a.xc.error003(X)),X="default",W=(null==z?void 0:z.default)||eS.default);let K=!!(F.draggable||D&&void 0===F.draggable),Y=!!(F.selectable||R&&void 0===F.selectable),Q=!!(F.connectable||A&&void 0===F.connectable),U=!!(F.focusable||j&&void 0===F.focusable),G=p(),q=(0,a.QE)(F),$=function(e){let{node:t,nodeType:n,hasDimensions:o,resizeObserver:l}=e,i=p(),a=(0,r.useRef)(null),s=(0,r.useRef)(null),d=(0,r.useRef)(t.sourcePosition),c=(0,r.useRef)(t.targetPosition),u=(0,r.useRef)(n),g=o&&!!t.internals.handleBounds;return(0,r.useEffect)(()=>{!a.current||t.hidden||g&&s.current===a.current||(s.current&&(null==l||l.unobserve(s.current)),null==l||l.observe(a.current),s.current=a.current)},[g,t.hidden]),(0,r.useEffect)(()=>()=>{s.current&&(null==l||l.unobserve(s.current),s.current=null)},[]),(0,r.useEffect)(()=>{if(a.current){let e=u.current!==n,o=d.current!==t.sourcePosition,l=c.current!==t.targetPosition;(e||o||l)&&(u.current=n,d.current=t.sourcePosition,c.current=t.targetPosition,i.getState().updateNodeInternals(new Map([[t.id,{id:t.id,nodeElement:a.current,force:!0}]])))}},[t.id,n,t.sourcePosition,t.targetPosition]),a}({node:F,nodeType:X,hasDimensions:q,resizeObserver:_}),J=ef({nodeRef:$,disabled:F.hidden||!K,noDragClassName:I,handleSelector:F.dragHandle,nodeId:w,isSelectable:Y,nodeClickDistance:V}),ee=ep();if(F.hidden)return null;let et=(0,a.uD)(F),en=void 0===F.internals.handleBounds?{width:null!=(m=null!=(h=F.width)?h:F.initialWidth)?m:null==(u=F.style)?void 0:u.width,height:null!=(x=null!=(y=F.height)?y:F.initialHeight)?x:null==(g=F.style)?void 0:g.height}:{width:null!=(b=F.width)?b:null==(s=F.style)?void 0:s.width,height:null!=(S=F.height)?S:null==(c=F.style)?void 0:c.height},eo=Y||K||C||E||N||k,el=E?e=>E(e,{...H.userNode}):void 0,er=N?e=>N(e,{...H.userNode}):void 0,ei=k?e=>k(e,{...H.userNode}):void 0,ea=M?e=>M(e,{...H.userNode}):void 0,es=P?e=>P(e,{...H.userNode}):void 0;return(0,l.jsx)("div",{className:(0,i.A)(["react-flow__node","react-flow__node-".concat(X),{[O]:K},F.className,{selected:F.selected,selectable:Y,parent:Z,draggable:K,dragging:J}]),ref:$,style:{zIndex:H.z,transform:"translate(".concat(H.positionAbsolute.x,"px,").concat(H.positionAbsolute.y,"px)"),pointerEvents:eo?"all":"none",visibility:q?"visible":"hidden",...F.style,...en},"data-id":w,"data-testid":"rf__node-".concat(w),onMouseEnter:el,onMouseMove:er,onMouseLeave:ei,onContextMenu:ea,onClick:e=>{let{selectNodesOnDrag:t,nodeDragThreshold:n}=G.getState();Y&&(!t||!K||n>0)&&eg({id:w,store:G,nodeRef:$}),C&&C(e,{...H.userNode})},onDoubleClick:es,onKeyDown:U?e=>{if(!(0,a.v5)(e.nativeEvent)&&!L){if(a.tn.includes(e.key)&&Y)eg({id:w,store:G,unselect:"Escape"===e.key,nodeRef:$});else if(K&&F.selected&&Object.prototype.hasOwnProperty.call(eb,e.key)){e.preventDefault();let{ariaLabelConfig:t}=G.getState();G.setState({ariaLiveMessage:t["node.a11yDescription.ariaLiveMessage"]({direction:e.key.replace("Arrow","").toLowerCase(),x:~~H.positionAbsolute.x,y:~~H.positionAbsolute.y})}),ee({direction:eb[e.key],factor:e.shiftKey?4:1})}}}:void 0,tabIndex:U?0:void 0,onFocus:U?()=>{var e;if(L||!(null==(e=$.current)?void 0:e.matches(":focus-visible")))return;let{transform:t,width:n,height:o,autoPanOnNodeFocus:l,setCenter:r}=G.getState();l&&((0,a.U$)(new Map([[w,F]]),{x:0,y:0,width:n,height:o},t,!0).length>0||r(F.position.x+et.width/2,F.position.y+et.height/2,{zoom:t[2]}))}:void 0,role:null!=(t=F.ariaRole)?t:U?"group":void 0,"aria-roledescription":"node","aria-describedby":L?void 0:"".concat(v,"-").concat(B),"aria-label":F.ariaLabel,...F.domAttributes,children:(0,l.jsx)(em,{value:w,children:(0,l.jsx)(W,{id:w,data:F.data,type:X,positionAbsoluteX:H.positionAbsolute.x,positionAbsoluteY:H.positionAbsolute.y,selected:null!=(n=F.selected)&&n,selectable:Y,draggable:K,deletable:null==(o=F.deletable)||o,isConnectable:Q,sourcePosition:F.sourcePosition,targetPosition:F.targetPosition,dragging:J,dragHandle:F.dragHandle,zIndex:H.z,parentId:F.parentId,...et})})})}let eR=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function eA(e){var t;let{nodesDraggable:n,nodesConnectable:o,nodesFocusable:i,elementsSelectable:s,onError:c}=f(eR,d.x),u=(t=e.onlyRenderVisibleElements,f((0,r.useCallback)(e=>t?(0,a.U$)(e.nodeLookup,{x:0,y:0,width:e.width,height:e.height},e.transform,!0).map(e=>e.id):Array.from(e.nodeLookup.keys()),[t]),d.x)),g=function(){let e=f(eP),[t]=(0,r.useState)(()=>"undefined"==typeof ResizeObserver?null:new ResizeObserver(t=>{let n=new Map;t.forEach(e=>{let t=e.target.getAttribute("data-id");n.set(t,{id:t,nodeElement:e.target,force:!0})}),e(n)}));return(0,r.useEffect)(()=>()=>{null==t||t.disconnect()},[t]),t}();return(0,l.jsx)("div",{className:"react-flow__nodes",style:el,children:u.map(t=>(0,l.jsx)(eD,{id:t,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:g,nodesDraggable:n,nodesConnectable:o,nodesFocusable:i,elementsSelectable:s,nodeClickDistance:e.nodeClickDistance,onError:c},t))})}eA.displayName="NodeRenderer";let ej=(0,r.memo)(eA),e_={[a.TG.Arrow]:e=>{let{color:t="none",strokeWidth:n=1}=e;return(0,l.jsx)("polyline",{style:{stroke:t,strokeWidth:n},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"})},[a.TG.ArrowClosed]:e=>{let{color:t="none",strokeWidth:n=1}=e;return(0,l.jsx)("polyline",{style:{stroke:t,fill:t,strokeWidth:n},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})}},eI=e=>{let{id:t,type:n,color:o,width:i=12.5,height:s=12.5,markerUnits:d="strokeWidth",strokeWidth:c,orient:u="auto-start-reverse"}=e,g=function(e){let t=p();return(0,r.useMemo)(()=>{if(!Object.prototype.hasOwnProperty.call(e_,e)){var n,o;return null==(n=(o=t.getState()).onError)||n.call(o,"009",a.xc.error009(e)),null}return e_[e]},[e])}(n);return g?(0,l.jsx)("marker",{className:"react-flow__arrowhead",id:t,markerWidth:"".concat(i),markerHeight:"".concat(s),viewBox:"-10 -10 20 20",markerUnits:d,orient:u,refX:"0",refY:"0",children:(0,l.jsx)(g,{color:o,strokeWidth:c})}):null},eO=e=>{let{defaultColor:t,rfId:n}=e,o=f(e=>e.edges),i=f(e=>e.defaultEdgeOptions),s=(0,r.useMemo)(()=>(0,a.Hm)(o,{id:n,defaultColor:t,defaultMarkerStart:null==i?void 0:i.markerStart,defaultMarkerEnd:null==i?void 0:i.markerEnd}),[o,i,n,t]);return s.length?(0,l.jsx)("svg",{className:"react-flow__marker","aria-hidden":"true",children:(0,l.jsx)("defs",{children:s.map(e=>(0,l.jsx)(eI,{id:e.id,type:e.type,color:e.color,width:e.width,height:e.height,markerUnits:e.markerUnits,strokeWidth:e.strokeWidth,orient:e.orient},e.id))})}):null};eO.displayName="MarkerDefinitions";var eL=(0,r.memo)(eO);function eB(e){let{x:t,y:n,label:o,labelStyle:a,labelShowBg:s=!0,labelBgStyle:d,labelBgPadding:c=[2,4],labelBgBorderRadius:u=2,children:g,className:f,...p}=e,[h,m]=(0,r.useState)({x:1,y:0,width:0,height:0}),v=(0,i.A)(["react-flow__edge-textwrapper",f]),y=(0,r.useRef)(null);return((0,r.useEffect)(()=>{if(y.current){let e=y.current.getBBox();m({x:e.x,y:e.y,width:e.width,height:e.height})}},[o]),o)?(0,l.jsxs)("g",{transform:"translate(".concat(t-h.width/2," ").concat(n-h.height/2,")"),className:v,visibility:h.width?"visible":"hidden",...p,children:[s&&(0,l.jsx)("rect",{width:h.width+2*c[0],x:-c[0],y:-c[1],height:h.height+2*c[1],className:"react-flow__edge-textbg",style:d,rx:u,ry:u}),(0,l.jsx)("text",{className:"react-flow__edge-text",y:h.height/2,dy:"0.3em",ref:y,style:a,children:o}),g]}):null}eB.displayName="EdgeText";let ez=(0,r.memo)(eB);function eV(e){let{path:t,labelX:n,labelY:o,label:r,labelStyle:s,labelShowBg:d,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:g,interactionWidth:f=20,...p}=e;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("path",{...p,d:t,fill:"none",className:(0,i.A)(["react-flow__edge-path",p.className])}),f&&(0,l.jsx)("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:f,className:"react-flow__edge-interaction"}),r&&(0,a.kf)(n)&&(0,a.kf)(o)?(0,l.jsx)(ez,{x:n,y:o,label:r,labelStyle:s,labelShowBg:d,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:g}):null]})}function eT(e){let{pos:t,x1:n,y1:o,x2:l,y2:r}=e;return t===a.yX.Left||t===a.yX.Right?[.5*(n+l),o]:[n,.5*(o+r)]}function eF(e){let{sourceX:t,sourceY:n,sourcePosition:o=a.yX.Bottom,targetX:l,targetY:r,targetPosition:i=a.yX.Top}=e,[s,d]=eT({pos:o,x1:t,y1:n,x2:l,y2:r}),[c,u]=eT({pos:i,x1:l,y1:r,x2:t,y2:n}),[g,f,p,h]=(0,a.e_)({sourceX:t,sourceY:n,targetX:l,targetY:r,sourceControlX:s,sourceControlY:d,targetControlX:c,targetControlY:u});return["M".concat(t,",").concat(n," C").concat(s,",").concat(d," ").concat(c,",").concat(u," ").concat(l,",").concat(r),g,f,p,h]}function eH(e){return(0,r.memo)(t=>{let{id:n,sourceX:o,sourceY:r,targetX:i,targetY:a,sourcePosition:s,targetPosition:d,label:c,labelStyle:u,labelShowBg:g,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:h,style:m,markerEnd:v,markerStart:y,interactionWidth:x}=t,[b,S,w]=eF({sourceX:o,sourceY:r,sourcePosition:s,targetX:i,targetY:a,targetPosition:d}),C=e.isInternal?void 0:n;return(0,l.jsx)(eV,{id:C,path:b,labelX:S,labelY:w,label:c,labelStyle:u,labelShowBg:g,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:h,style:m,markerEnd:v,markerStart:y,interactionWidth:x})})}let eZ=eH({isInternal:!1}),eX=eH({isInternal:!0});function eW(e){return(0,r.memo)(t=>{let{id:n,sourceX:o,sourceY:r,targetX:i,targetY:s,label:d,labelStyle:c,labelShowBg:u,labelBgStyle:g,labelBgPadding:f,labelBgBorderRadius:p,style:h,sourcePosition:m=a.yX.Bottom,targetPosition:v=a.yX.Top,markerEnd:y,markerStart:x,pathOptions:b,interactionWidth:S}=t,[w,C,E]=(0,a.oN)({sourceX:o,sourceY:r,sourcePosition:m,targetX:i,targetY:s,targetPosition:v,borderRadius:null==b?void 0:b.borderRadius,offset:null==b?void 0:b.offset,stepPosition:null==b?void 0:b.stepPosition}),N=e.isInternal?void 0:n;return(0,l.jsx)(eV,{id:N,path:w,labelX:C,labelY:E,label:d,labelStyle:c,labelShowBg:u,labelBgStyle:g,labelBgPadding:f,labelBgBorderRadius:p,style:h,markerEnd:y,markerStart:x,interactionWidth:S})})}eZ.displayName="SimpleBezierEdge",eX.displayName="SimpleBezierEdgeInternal";let eK=eW({isInternal:!1}),eY=eW({isInternal:!0});function eQ(e){return(0,r.memo)(t=>{var n;let{id:o,...i}=t,a=e.isInternal?void 0:o;return(0,l.jsx)(eK,{...i,id:a,pathOptions:(0,r.useMemo)(()=>{var e;return{borderRadius:0,offset:null==(e=i.pathOptions)?void 0:e.offset}},[null==(n=i.pathOptions)?void 0:n.offset])})})}eK.displayName="SmoothStepEdge",eY.displayName="SmoothStepEdgeInternal";let eU=eQ({isInternal:!1}),eG=eQ({isInternal:!0});function eq(e){return(0,r.memo)(t=>{let{id:n,sourceX:o,sourceY:r,targetX:i,targetY:s,label:d,labelStyle:c,labelShowBg:u,labelBgStyle:g,labelBgPadding:f,labelBgBorderRadius:p,style:h,markerEnd:m,markerStart:v,interactionWidth:y}=t,[x,b,S]=(0,a.ah)({sourceX:o,sourceY:r,targetX:i,targetY:s}),w=e.isInternal?void 0:n;return(0,l.jsx)(eV,{id:w,path:x,labelX:b,labelY:S,label:d,labelStyle:c,labelShowBg:u,labelBgStyle:g,labelBgPadding:f,labelBgBorderRadius:p,style:h,markerEnd:m,markerStart:v,interactionWidth:y})})}eU.displayName="StepEdge",eG.displayName="StepEdgeInternal";let e$=eq({isInternal:!1}),eJ=eq({isInternal:!0});function e0(e){return(0,r.memo)(t=>{let{id:n,sourceX:o,sourceY:r,targetX:i,targetY:s,sourcePosition:d=a.yX.Bottom,targetPosition:c=a.yX.Top,label:u,labelStyle:g,labelShowBg:f,labelBgStyle:p,labelBgPadding:h,labelBgBorderRadius:m,style:v,markerEnd:y,markerStart:x,pathOptions:b,interactionWidth:S}=t,[w,C,E]=(0,a.Fp)({sourceX:o,sourceY:r,sourcePosition:d,targetX:i,targetY:s,targetPosition:c,curvature:null==b?void 0:b.curvature}),N=e.isInternal?void 0:n;return(0,l.jsx)(eV,{id:N,path:w,labelX:C,labelY:E,label:u,labelStyle:g,labelShowBg:f,labelBgStyle:p,labelBgPadding:h,labelBgBorderRadius:m,style:v,markerEnd:y,markerStart:x,interactionWidth:S})})}e$.displayName="StraightEdge",eJ.displayName="StraightEdgeInternal";let e1=e0({isInternal:!1}),e2=e0({isInternal:!0});e1.displayName="BezierEdge",e2.displayName="BezierEdgeInternal";let e5={default:e2,straight:eJ,step:eG,smoothstep:eY,simplebezier:eX},e4={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},e8="react-flow__edgeupdater";function e6(e){let{position:t,centerX:n,centerY:o,radius:r=10,onMouseDown:s,onMouseEnter:d,onMouseOut:c,type:u}=e;return(0,l.jsx)("circle",{onMouseDown:s,onMouseEnter:d,onMouseOut:c,className:(0,i.A)([e8,"".concat(e8,"-").concat(u)]),cx:t===a.yX.Left?n-r:t===a.yX.Right?n+r:n,cy:t===a.yX.Top?o-r:t===a.yX.Bottom?o+r:o,r:r,stroke:"transparent",fill:"transparent"})}function e9(e){let{isReconnectable:t,reconnectRadius:n,edge:o,sourceX:r,sourceY:i,targetX:s,targetY:d,sourcePosition:c,targetPosition:u,onReconnect:g,onReconnectStart:f,onReconnectEnd:h,setReconnecting:m,setUpdateHover:v}=e,y=p(),x=(e,t)=>{if(0!==e.button)return;let{autoPanOnConnect:n,domNode:l,isValidConnection:r,connectionMode:i,connectionRadius:s,lib:d,onConnectStart:c,onConnectEnd:u,cancelConnection:p,nodeLookup:v,rfId:x,panBy:b,updateConnection:S}=y.getState(),w="target"===t.type;a.aQ.onPointerDown(e.nativeEvent,{autoPanOnConnect:n,connectionMode:i,connectionRadius:s,domNode:l,handleId:t.id,nodeId:t.nodeId,nodeLookup:v,isTarget:w,edgeUpdaterType:t.type,lib:d,flowId:x,cancelConnection:p,panBy:b,isValidConnection:r,onConnect:e=>null==g?void 0:g(o,e),onConnectStart:(n,l)=>{m(!0),null==f||f(e,o,t.type),null==c||c(n,l)},onConnectEnd:u,onReconnectEnd:(e,n)=>{m(!1),null==h||h(e,o,t.type,n)},updateConnection:S,getTransform:()=>y.getState().transform,getFromHandle:()=>y.getState().connection.fromHandle,dragThreshold:y.getState().connectionDragThreshold})},b=()=>v(!0),S=()=>v(!1);return(0,l.jsxs)(l.Fragment,{children:[(!0===t||"source"===t)&&(0,l.jsx)(e6,{position:c,centerX:r,centerY:i,radius:n,onMouseDown:e=>{var t;return x(e,{nodeId:o.target,id:null!=(t=o.targetHandle)?t:null,type:"target"})},onMouseEnter:b,onMouseOut:S,type:"source"}),(!0===t||"target"===t)&&(0,l.jsx)(e6,{position:u,centerX:s,centerY:d,radius:n,onMouseDown:e=>{var t;return x(e,{nodeId:o.source,id:null!=(t=o.sourceHandle)?t:null,type:"source"})},onMouseEnter:b,onMouseOut:S,type:"target"})]})}function e7(e){var t,n;let{id:o,edgesFocusable:s,edgesReconnectable:c,elementsSelectable:u,onClick:g,onDoubleClick:h,onContextMenu:m,onMouseEnter:v,onMouseMove:x,onMouseLeave:b,reconnectRadius:S,onReconnect:w,onReconnectStart:C,onReconnectEnd:E,rfId:N,edgeTypes:k,noPanClassName:M,onError:P,disableKeyboardA11y:D}=e,R=f(e=>e.edgeLookup.get(o)),A=f(e=>e.defaultEdgeOptions),j=(R=A?{...A,...R}:R).type||"default",_=(null==k?void 0:k[j])||e5[j];void 0===_&&(null==P||P("011",a.xc.error011(j)),j="default",_=(null==k?void 0:k.default)||e5.default);let I=!!(R.focusable||s&&void 0===R.focusable),O=void 0!==w&&(R.reconnectable||c&&void 0===R.reconnectable),L=!!(R.selectable||u&&void 0===R.selectable),B=(0,r.useRef)(null),[z,V]=(0,r.useState)(!1),[T,F]=(0,r.useState)(!1),H=p(),{zIndex:Z,sourceX:X,sourceY:W,targetX:K,targetY:Y,sourcePosition:Q,targetPosition:U}=f((0,r.useCallback)(e=>{let t=e.nodeLookup.get(R.source),n=e.nodeLookup.get(R.target);if(!t||!n)return{zIndex:R.zIndex,...e4};let l=(0,a.b5)({id:o,sourceNode:t,targetNode:n,sourceHandle:R.sourceHandle||null,targetHandle:R.targetHandle||null,connectionMode:e.connectionMode,onError:P});return{zIndex:(0,a.qX)({selected:R.selected,zIndex:R.zIndex,sourceNode:t,targetNode:n,elevateOnSelect:e.elevateEdgesOnSelect}),...l||e4}},[R.source,R.target,R.sourceHandle,R.targetHandle,R.selected,R.zIndex]),d.x),G=(0,r.useMemo)(()=>R.markerStart?"url('#".concat((0,a.aW)(R.markerStart,N),"')"):void 0,[R.markerStart,N]),q=(0,r.useMemo)(()=>R.markerEnd?"url('#".concat((0,a.aW)(R.markerEnd,N),"')"):void 0,[R.markerEnd,N]);if(R.hidden||null===X||null===W||null===K||null===Y)return null;let $=h?e=>{h(e,{...R})}:void 0,J=m?e=>{m(e,{...R})}:void 0,ee=v?e=>{v(e,{...R})}:void 0,et=x?e=>{x(e,{...R})}:void 0,en=b?e=>{b(e,{...R})}:void 0;return(0,l.jsx)("svg",{style:{zIndex:Z},children:(0,l.jsxs)("g",{className:(0,i.A)(["react-flow__edge","react-flow__edge-".concat(j),R.className,M,{selected:R.selected,animated:R.animated,inactive:!L&&!g,updating:z,selectable:L}]),onClick:e=>{let{addSelectedEdges:t,unselectNodesAndEdges:n,multiSelectionActive:l}=H.getState();if(L)if(H.setState({nodesSelectionActive:!1}),R.selected&&l){var r;n({nodes:[],edges:[R]}),null==(r=B.current)||r.blur()}else t([o]);g&&g(e,R)},onDoubleClick:$,onContextMenu:J,onMouseEnter:ee,onMouseMove:et,onMouseLeave:en,onKeyDown:I?e=>{if(!D&&a.tn.includes(e.key)&&L){let{unselectNodesAndEdges:n,addSelectedEdges:l}=H.getState();if("Escape"===e.key){var t;null==(t=B.current)||t.blur(),n({edges:[R]})}else l([o])}}:void 0,tabIndex:I?0:void 0,role:null!=(t=R.ariaRole)?t:I?"group":"img","aria-roledescription":"edge","data-id":o,"data-testid":"rf__edge-".concat(o),"aria-label":null===R.ariaLabel?void 0:R.ariaLabel||"Edge from ".concat(R.source," to ").concat(R.target),"aria-describedby":I?"".concat(y,"-").concat(N):void 0,ref:B,...R.domAttributes,children:[!T&&(0,l.jsx)(_,{id:o,source:R.source,target:R.target,type:R.type,selected:R.selected,animated:R.animated,selectable:L,deletable:null==(n=R.deletable)||n,label:R.label,labelStyle:R.labelStyle,labelShowBg:R.labelShowBg,labelBgStyle:R.labelBgStyle,labelBgPadding:R.labelBgPadding,labelBgBorderRadius:R.labelBgBorderRadius,sourceX:X,sourceY:W,targetX:K,targetY:Y,sourcePosition:Q,targetPosition:U,data:R.data,style:R.style,sourceHandleId:R.sourceHandle,targetHandleId:R.targetHandle,markerStart:G,markerEnd:q,pathOptions:"pathOptions"in R?R.pathOptions:void 0,interactionWidth:R.interactionWidth}),O&&(0,l.jsx)(e9,{edge:R,isReconnectable:O,reconnectRadius:S,onReconnect:w,onReconnectStart:C,onReconnectEnd:E,sourceX:X,sourceY:W,targetX:K,targetY:Y,sourcePosition:Q,targetPosition:U,setUpdateHover:V,setReconnecting:F})]})})}let e3=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function te(e){let{defaultMarkerColor:t,onlyRenderVisibleElements:n,rfId:o,edgeTypes:i,noPanClassName:s,onReconnect:c,onEdgeContextMenu:u,onEdgeMouseEnter:g,onEdgeMouseMove:p,onEdgeMouseLeave:h,onEdgeClick:m,reconnectRadius:v,onEdgeDoubleClick:y,onReconnectStart:x,onReconnectEnd:b,disableKeyboardA11y:S}=e,{edgesFocusable:w,edgesReconnectable:C,elementsSelectable:E,onError:N}=f(e3,d.x),k=f((0,r.useCallback)(e=>{if(!n)return e.edges.map(e=>e.id);let t=[];if(e.width&&e.height)for(let n of e.edges){let o=e.nodeLookup.get(n.source),l=e.nodeLookup.get(n.target);o&&l&&(0,a.uj)({sourceNode:o,targetNode:l,width:e.width,height:e.height,transform:e.transform})&&t.push(n.id)}return t},[n]),d.x);return(0,l.jsxs)("div",{className:"react-flow__edges",children:[(0,l.jsx)(eL,{defaultColor:t,rfId:o}),k.map(e=>(0,l.jsx)(e7,{id:e,edgesFocusable:w,edgesReconnectable:C,elementsSelectable:E,noPanClassName:s,onReconnect:c,onContextMenu:u,onMouseEnter:g,onMouseMove:p,onMouseLeave:h,onClick:m,reconnectRadius: