@memoarchitect/architect 0.7.2 → 0.8.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/assets/{AiWorkspace-Bu9TlIWg.js → AiWorkspace-Dp5oBDww.js} +1 -1
- package/dist/assets/{AnalysisWorkspace-CodmoI-v.js → AnalysisWorkspace-CNHTkSRD.js} +1 -1
- package/dist/assets/{ComplianceWizard-CTihkUi-.js → ComplianceWizard-CAJDtLdv.js} +1 -1
- package/dist/assets/DSMView-Bv9j1Vk_.js +5 -0
- package/dist/assets/Dashboard-BnOwnA1R.js +1 -0
- package/dist/assets/DhfDashboard-CQpiYHtW.js +1 -0
- package/dist/assets/DhfWorkbench-DHxWuiiL.js +69 -0
- package/dist/assets/DiagramCanvas-DtLlTvJf.js +4 -0
- package/dist/assets/{DiagramEditor-UJDHcAUF.js → DiagramEditor-DP_PiI7K.js} +2 -2
- package/dist/assets/DiagramToolbarControls-XMGLx08e.js +1 -0
- package/dist/assets/{ElementDetailView-10U0rr33.js → ElementDetailView-BQsWfbPD.js} +1 -1
- package/dist/assets/ExplorerTreeRow-CmGPHRI8.js +3 -0
- package/dist/assets/{ImportView-D8svP04Q.js → ImportView-YFBlvgF_.js} +1 -1
- package/dist/assets/{LayerGrid-DEe0Ryz-.js → LayerGrid-KXyuibWY.js} +1 -1
- package/dist/assets/{LayerTable-CN_b2rDr.js → LayerTable-CGsFJsKs.js} +1 -1
- package/dist/assets/{MaxGraphCanvas-bo8oPBct.js → MaxGraphCanvas-BNn0Jxr6.js} +1 -1
- package/dist/assets/{ModelDiff-xe95oVua.js → ModelDiff-CJCXuz_h.js} +1 -1
- package/dist/assets/{OntologyDecompositionDiagram-BL9R8bdB.js → OntologyDecompositionDiagram-5JWUI_PB.js} +1 -1
- package/dist/assets/{OntologyViewer-CtqNkkCn.js → OntologyViewer-DxIWCcJM.js} +2 -2
- package/dist/assets/{RelationshipOverlay-DL0N8Vmk.js → RelationshipOverlay-B3AN-bM-.js} +1 -1
- package/dist/assets/{RelationshipsSection-BoJ0aUXe.js → RelationshipsSection-DggeGBKP.js} +1 -1
- package/dist/assets/{ReviewDashboard-DeTge2oC.js → ReviewDashboard-Qyj8RRFp.js} +1 -1
- package/dist/assets/{ScenarioEditor-FAEYTHgP.js → ScenarioEditor-BIAh6tLX.js} +1 -1
- package/dist/assets/{StatisticsDashboard-BAZRqIPN.js → StatisticsDashboard-CtI1hlfO.js} +1 -1
- package/dist/assets/{SysmlCodeEditor-BBfup_Ni.js → SysmlCodeEditor-i0BHj3of.js} +117 -117
- package/dist/assets/{TabularView-I4LjHhoH.js → TabularView-DXxpRshk.js} +1 -1
- package/dist/assets/TraceabilityMatrix-qEKmDy8z.js +3 -0
- package/dist/assets/UiScreensWorkspace-BHhs5tcY.js +1 -0
- package/dist/assets/{WorkflowWizard-VwpEHt3R.js → WorkflowWizard-BjtGPRsS.js} +1 -1
- package/dist/assets/index-Cdkjp-H4.css +1 -0
- package/dist/assets/index-a2rpMs5Y.js +4067 -0
- package/dist/assets/{index.es-ClbJxlAQ.js → index.es-BwDQ0kmQ.js} +1 -1
- package/dist/assets/{jspdf.es.min-DZ68BGxk.js → jspdf.es.min-KfOikWO5.js} +3 -3
- package/dist/assets/{layout-providers-Dr743WlP.js → layout-providers-BSDYNZu0.js} +1 -1
- package/dist/assets/notation-scene-CxT28i2i.js +1 -0
- package/dist/assets/{reactflow-s7jmJtXx.js → reactflow-C9OlmOYw.js} +1 -1
- package/dist/assets/xlsx-CkFp8p6R.js +105 -0
- package/dist/index.html +3 -3
- package/dist-standalone/index.html +5504 -0
- package/lib/__tests__/standalone-distribution.test.d.ts +2 -0
- package/lib/__tests__/standalone-distribution.test.d.ts.map +1 -0
- package/lib/__tests__/standalone-distribution.test.js +51 -0
- package/lib/__tests__/standalone-distribution.test.js.map +1 -0
- package/lib/__tests__/supervised-child-args.test.js +21 -1
- package/lib/__tests__/supervised-child-args.test.js.map +1 -1
- package/lib/bin/memo-architect.js +15 -6
- package/lib/bin/memo-architect.js.map +1 -1
- package/lib/commands/build.d.ts.map +1 -1
- package/lib/commands/build.js +15 -18
- package/lib/commands/build.js.map +1 -1
- package/lib/commands/dev.d.ts +14 -0
- package/lib/commands/dev.d.ts.map +1 -1
- package/lib/commands/dev.js +40 -1
- package/lib/commands/dev.js.map +1 -1
- package/lib/feature-grants.d.ts.map +1 -1
- package/lib/feature-grants.js +3 -1
- package/lib/feature-grants.js.map +1 -1
- package/package.json +10 -6
- package/dist/assets/DSMView-BiC845df.js +0 -1
- package/dist/assets/Dashboard-CgnNLhKq.js +0 -1
- package/dist/assets/DhfDashboard-w-dJoJHU.js +0 -1
- package/dist/assets/DhfWorkbench-o6B_MT-0.js +0 -69
- package/dist/assets/DiagramCanvas-CqGqDbgT.js +0 -3
- package/dist/assets/DiagramToolbarControls-B2gZFJlg.js +0 -1
- package/dist/assets/ExplorerTreeRow-DqhF_qoO.js +0 -3
- package/dist/assets/TraceabilityMatrix-DbrvjqLN.js +0 -3
- package/dist/assets/UiScreensWorkspace-DDD_PyJs.js +0 -1
- package/dist/assets/editor.worker-DyuDvpVp.js +0 -26
- package/dist/assets/element-options-B7AgTB8R.js +0 -3
- package/dist/assets/index-BWMNo4wW.css +0 -1
- package/dist/assets/index-Bij8Q4Kg.js +0 -45
- package/dist/assets/notation-scene-DT8LpWVK.js +0 -1
|
@@ -51,4 +51,4 @@ Error generating stack: `+d.message+`
|
|
|
51
51
|
`,`
|
|
52
52
|
+`).split(`
|
|
53
53
|
`)),v=m.reduce((g,y)=>g.concat(...y),[]);return[m,v]}return[[],[]]},[n]);return q.useEffect(()=>{const p=(o==null?void 0:o.target)??Sh,m=(o==null?void 0:o.actInsideInputWithModifier)??!0;if(n!==null){const v=x=>{var N,E;if(u.current=x.ctrlKey||x.metaKey||x.shiftKey||x.altKey,(!u.current||u.current&&!m)&&Pp(x))return!1;const k=Eh(x.code,h);if(c.current.add(x[k]),_h(f,c.current,!1)){const L=((E=(N=x.composedPath)==null?void 0:N.call(x))==null?void 0:E[0])||x.target,_=(L==null?void 0:L.nodeName)==="BUTTON"||(L==null?void 0:L.nodeName)==="A";o.preventDefault!==!1&&(u.current||!_)&&x.preventDefault(),s(!0)}},g=x=>{const S=Eh(x.code,h);_h(f,c.current,!0)?(s(!1),c.current.clear()):c.current.delete(x[S]),x.key==="Meta"&&c.current.clear(),u.current=!1},y=()=>{c.current.clear(),s(!1)};return p==null||p.addEventListener("keydown",v),p==null||p.addEventListener("keyup",g),window.addEventListener("blur",y),window.addEventListener("contextmenu",y),()=>{p==null||p.removeEventListener("keydown",v),p==null||p.removeEventListener("keyup",g),window.removeEventListener("blur",y),window.removeEventListener("contextmenu",y)}}},[n,s]),i}function _h(n,o,i){return n.filter(s=>i||s.length===o.size).some(s=>s.every(u=>o.has(u)))}function Eh(n,o){return o.includes(n)?"code":"key"}const Ex=()=>{const n=De();return q.useMemo(()=>({zoomIn:o=>{const{panZoom:i}=n.getState();return i?i.scaleBy(1.2,{duration:o==null?void 0:o.duration}):Promise.resolve(!1)},zoomOut:o=>{const{panZoom:i}=n.getState();return i?i.scaleBy(1/1.2,{duration:o==null?void 0:o.duration}):Promise.resolve(!1)},zoomTo:(o,i)=>{const{panZoom:s}=n.getState();return s?s.scaleTo(o,{duration:i==null?void 0:i.duration}):Promise.resolve(!1)},getZoom:()=>n.getState().transform[2],setViewport:async(o,i)=>{const{transform:[s,u,c],panZoom:f}=n.getState();return f?(await f.setViewport({x:o.x??s,y:o.y??u,zoom:o.zoom??c},i),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[o,i,s]=n.getState().transform;return{x:o,y:i,zoom:s}},setCenter:async(o,i,s)=>n.getState().setCenter(o,i,s),fitBounds:async(o,i)=>{const{width:s,height:u,minZoom:c,maxZoom:f,panZoom:h}=n.getState(),p=Ga(o,s,u,c,f,(i==null?void 0:i.padding)??.1);return h?(await h.setViewport(p,{duration:i==null?void 0:i.duration,ease:i==null?void 0:i.ease,interpolate:i==null?void 0:i.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(o,i={})=>{const{transform:s,snapGrid:u,snapToGrid:c,domNode:f}=n.getState();if(!f)return o;const{x:h,y:p}=f.getBoundingClientRect(),m={x:o.x-h,y:o.y-p},v=i.snapGrid??u,g=i.snapToGrid??c;return hi(m,s,g,v)},flowToScreenPosition:o=>{const{transform:i,domNode:s}=n.getState();if(!s)return o;const{x:u,y:c}=s.getBoundingClientRect(),f=ts(o,i);return{x:f.x+u,y:f.y+c}}}),[])};function Zp(n,o){const i=[],s=new Map,u=[];for(const c of n)if(c.type==="add"){u.push(c);continue}else if(c.type==="remove"||c.type==="replace")s.set(c.id,[c]);else{const f=s.get(c.id);f?f.push(c):s.set(c.id,[c])}for(const c of o){const f=s.get(c.id);if(!f){i.push(c);continue}if(f[0].type==="remove")continue;if(f[0].type==="replace"){i.push({...f[0].item});continue}const h={...c};for(const p of f)kx(p,h);i.push(h)}return u.length&&u.forEach(c=>{c.index!==void 0?i.splice(c.index,0,{...c.item}):i.push({...c.item})}),i}function kx(n,o){switch(n.type){case"select":{o.selected=n.selected;break}case"position":{typeof n.position<"u"&&(o.position=n.position),typeof n.dragging<"u"&&(o.dragging=n.dragging);break}case"dimensions":{typeof n.dimensions<"u"&&(o.measured={...n.dimensions},n.setAttributes&&((n.setAttributes===!0||n.setAttributes==="width")&&(o.width=n.dimensions.width),(n.setAttributes===!0||n.setAttributes==="height")&&(o.height=n.dimensions.height))),typeof n.resizing=="boolean"&&(o.resizing=n.resizing);break}}}function qp(n,o){return Zp(n,o)}function bp(n,o){return Zp(n,o)}function ir(n,o){return{id:n,type:"select",selected:o}}function Yr(n,o=new Set,i=!1){const s=[];for(const[u,c]of n){const f=o.has(u);!(c.selected===void 0&&!f)&&c.selected!==f&&(i&&(c.selected=f),s.push(ir(c.id,f)))}return s}function kh({items:n=[],lookup:o}){var u;const i=[],s=new Map(n.map(c=>[c.id,c]));for(const[c,f]of n.entries()){const h=o.get(f.id),p=((u=h==null?void 0:h.internals)==null?void 0:u.userNode)??h;p!==void 0&&p!==f&&i.push({id:f.id,item:f,type:"replace"}),p===void 0&&i.push({item:f,type:"add",index:c})}for(const[c]of o)s.get(c)===void 0&&i.push({id:c,type:"remove"});return i}function Nh(n){return{id:n.id,type:"remove"}}const Ch=n=>Yw(n),Nx=n=>xp(n);function Jp(n){return q.forwardRef(n)}const Cx=typeof window<"u"?q.useLayoutEffect:q.useEffect;function Mh(n){const[o,i]=q.useState(BigInt(0)),[s]=q.useState(()=>Mx(()=>i(u=>u+BigInt(1))));return Cx(()=>{const u=s.get();u.length&&(n(u),s.reset())},[o]),s}function Mx(n){let o=[];return{get:()=>o,reset:()=>{o=[]},push:i=>{o.push(i),n()}}}const eg=q.createContext(null);function Px({children:n}){const o=De(),i=q.useCallback(h=>{const{nodes:p=[],setNodes:m,hasDefaultNodes:v,onNodesChange:g,nodeLookup:y,fitViewQueued:x,onNodesChangeMiddlewareMap:S}=o.getState();let k=p;for(const E of h)k=typeof E=="function"?E(k):E;let N=kh({items:k,lookup:y});for(const E of S.values())N=E(N);v&&m(k),N.length>0?g==null||g(N):x&&window.requestAnimationFrame(()=>{const{fitViewQueued:E,nodes:L,setNodes:_}=o.getState();E&&_(L)})},[]),s=Mh(i),u=q.useCallback(h=>{const{edges:p=[],setEdges:m,hasDefaultEdges:v,onEdgesChange:g,edgeLookup:y}=o.getState();let x=p;for(const S of h)x=typeof S=="function"?S(x):S;v?m(x):g&&g(kh({items:x,lookup:y}))},[]),c=Mh(u),f=q.useMemo(()=>({nodeQueue:s,edgeQueue:c}),[]);return K.jsx(eg.Provider,{value:f,children:n})}function zx(){const n=q.useContext(eg);if(!n)throw new Error("useBatchContext must be used within a BatchProvider");return n}const Ix=n=>!!n.panZoom;function nc(){const n=Ex(),o=De(),i=zx(),s=Ce(Ix),u=q.useMemo(()=>{const c=g=>o.getState().nodeLookup.get(g),f=g=>{i.nodeQueue.push(g)},h=g=>{i.edgeQueue.push(g)},p=g=>{var E,L;const{nodeLookup:y,nodeOrigin:x}=o.getState(),S=Ch(g)?g:y.get(g.id),k=S.parentId?Cp(S.position,S.measured,S.parentId,y,x):S.position,N={...S,position:k,width:((E=S.measured)==null?void 0:E.width)??S.width,height:((L=S.measured)==null?void 0:L.height)??S.height};return Jr(N)},m=(g,y,x={replace:!1})=>{f(S=>S.map(k=>{if(k.id===g){const N=typeof y=="function"?y(k):y;return x.replace&&Ch(N)?N:{...k,...N}}return k}))},v=(g,y,x={replace:!1})=>{h(S=>S.map(k=>{if(k.id===g){const N=typeof y=="function"?y(k):y;return x.replace&&Nx(N)?N:{...k,...N}}return k}))};return{getNodes:()=>o.getState().nodes.map(g=>({...g})),getNode:g=>{var y;return(y=c(g))==null?void 0:y.internals.userNode},getInternalNode:c,getEdges:()=>{const{edges:g=[]}=o.getState();return g.map(y=>({...y}))},getEdge:g=>o.getState().edgeLookup.get(g),setNodes:f,setEdges:h,addNodes:g=>{const y=Array.isArray(g)?g:[g];i.nodeQueue.push(x=>[...x,...y])},addEdges:g=>{const y=Array.isArray(g)?g:[g];i.edgeQueue.push(x=>[...x,...y])},toObject:()=>{const{nodes:g=[],edges:y=[],transform:x}=o.getState(),[S,k,N]=x;return{nodes:g.map(E=>({...E})),edges:y.map(E=>({...E})),viewport:{x:S,y:k,zoom:N}}},deleteElements:async({nodes:g=[],edges:y=[]})=>{const{nodes:x,edges:S,onNodesDelete:k,onEdgesDelete:N,triggerNodeChanges:E,triggerEdgeChanges:L,onDelete:_,onBeforeDelete:C}=o.getState(),{nodes:F,edges:D}=await qw({nodesToRemove:g,edgesToRemove:y,nodes:x,edges:S,onBeforeDelete:C}),O=D.length>0,Y=F.length>0;if(O){const Q=D.map(Nh);N==null||N(D),L(Q)}if(Y){const Q=F.map(Nh);k==null||k(F),E(Q)}return(Y||O)&&(_==null||_({nodes:F,edges:D})),{deletedNodes:F,deletedEdges:D}},getIntersectingNodes:(g,y=!0,x)=>{const S=bd(g),k=S?g:p(g),N=x!==void 0;return k?(x||o.getState().nodes).filter(E=>{const L=o.getState().nodeLookup.get(E.id);if(L&&!S&&(E.id===g.id||!L.internals.positionAbsolute))return!1;const _=Jr(N?E:L),C=ii(_,k);return y&&C>0||C>=_.width*_.height||C>=k.width*k.height}):[]},isNodeIntersecting:(g,y,x=!0)=>{const k=bd(g)?g:p(g);if(!k)return!1;const N=ii(k,y);return x&&N>0||N>=y.width*y.height||N>=k.width*k.height},updateNode:m,updateNodeData:(g,y,x={replace:!1})=>{m(g,S=>{const k=typeof y=="function"?y(S):y;return x.replace?{...S,data:k}:{...S,data:{...S.data,...k}}},x)},updateEdge:v,updateEdgeData:(g,y,x={replace:!1})=>{v(g,S=>{const k=typeof y=="function"?y(S):y;return x.replace?{...S,data:k}:{...S,data:{...S.data,...k}}},x)},getNodesBounds:g=>{const{nodeLookup:y,nodeOrigin:x}=o.getState();return Qw(g,{nodeLookup:y,nodeOrigin:x})},getHandleConnections:({type:g,id:y,nodeId:x})=>{var S;return Array.from(((S=o.getState().connectionLookup.get(`${x}-${g}${y?`-${y}`:""}`))==null?void 0:S.values())??[])},getNodeConnections:({type:g,handleId:y,nodeId:x})=>{var S;return Array.from(((S=o.getState().connectionLookup.get(`${x}${g?y?`-${g}-${y}`:`-${g}`:""}`))==null?void 0:S.values())??[])},fitView:async g=>{const y=o.getState().fitViewResolver??t1();return o.setState({fitViewQueued:!0,fitViewOptions:g,fitViewResolver:y}),i.nodeQueue.push(x=>[...x]),y.promise}}},[]);return q.useMemo(()=>({...u,...n,viewportInitialized:s}),[s])}const Ph=n=>n.selected,Tx=typeof window<"u"?window:void 0;function Lx({deleteKeyCode:n,multiSelectionKeyCode:o}){const i=De(),{deleteElements:s}=nc(),u=si(n,{actInsideInputWithModifier:!1}),c=si(o,{target:Tx});q.useEffect(()=>{if(u){const{edges:f,nodes:h}=i.getState();s({nodes:h.filter(Ph),edges:f.filter(Ph)}),i.setState({nodesSelectionActive:!1})}},[u]),q.useEffect(()=>{i.setState({multiSelectionActive:c})},[c])}function Ax(n){const o=De();q.useEffect(()=>{const i=()=>{var u,c,f,h;if(!n.current||!(((c=(u=n.current).checkVisibility)==null?void 0:c.call(u))??!0))return!1;const s=Za(n.current);(s.height===0||s.width===0)&&((h=(f=o.getState()).onError)==null||h.call(f,"004",Kt.error004())),o.setState({width:s.width||500,height:s.height||500})};if(n.current){i(),window.addEventListener("resize",i);const s=new ResizeObserver(()=>i());return s.observe(n.current),()=>{window.removeEventListener("resize",i),s&&n.current&&s.unobserve(n.current)}}},[])}const gs={position:"absolute",width:"100%",height:"100%",top:0,left:0},Dx=n=>({userSelectionActive:n.userSelectionActive,lib:n.lib,connectionInProgress:n.connection.inProgress});function Rx({onPaneContextMenu:n,zoomOnScroll:o=!0,zoomOnPinch:i=!0,panOnScroll:s=!1,panOnScrollSpeed:u=.5,panOnScrollMode:c=ur.Free,zoomOnDoubleClick:f=!0,panOnDrag:h=!0,defaultViewport:p,translateExtent:m,minZoom:v,maxZoom:g,zoomActivationKeyCode:y,preventScrolling:x=!0,children:S,noWheelClassName:k,noPanClassName:N,onViewportChange:E,isControlledViewport:L,paneClickDistance:_,selectionOnDrag:C}){const F=De(),D=q.useRef(null),{userSelectionActive:O,lib:Y,connectionInProgress:Q}=Ce(Dx,$e),ne=si(y),j=q.useRef();Ax(D);const U=q.useCallback(b=>{E==null||E({x:b[0],y:b[1],zoom:b[2]}),L||F.setState({transform:b})},[E,L]);return q.useEffect(()=>{if(D.current){j.current=O1({domNode:D.current,minZoom:v,maxZoom:g,translateExtent:m,viewport:p,onDraggingChange:R=>F.setState(W=>W.paneDragging===R?W:{paneDragging:R}),onPanZoomStart:(R,W)=>{const{onViewportChangeStart:P,onMoveStart:I}=F.getState();I==null||I(R,W),P==null||P(W)},onPanZoom:(R,W)=>{const{onViewportChange:P,onMove:I}=F.getState();I==null||I(R,W),P==null||P(W)},onPanZoomEnd:(R,W)=>{const{onViewportChangeEnd:P,onMoveEnd:I}=F.getState();I==null||I(R,W),P==null||P(W)}});const{x:b,y:z,zoom:B}=j.current.getViewport();return F.setState({panZoom:j.current,transform:[b,z,B],domNode:D.current.closest(".react-flow")}),()=>{var R;(R=j.current)==null||R.destroy()}}},[]),q.useEffect(()=>{var b;(b=j.current)==null||b.update({onPaneContextMenu:n,zoomOnScroll:o,zoomOnPinch:i,panOnScroll:s,panOnScrollSpeed:u,panOnScrollMode:c,zoomOnDoubleClick:f,panOnDrag:h,zoomActivationKeyPressed:ne,preventScrolling:x,noPanClassName:N,userSelectionActive:O,noWheelClassName:k,lib:Y,onTransformChange:U,connectionInProgress:Q,selectionOnDrag:C,paneClickDistance:_})},[n,o,i,s,u,c,f,h,ne,x,N,O,k,Y,U,Q,C,_]),K.jsx("div",{className:"react-flow__renderer",ref:D,style:gs,children:S})}const $x=n=>({userSelectionActive:n.userSelectionActive,userSelectionRect:n.userSelectionRect});function Fx(){const{userSelectionActive:n,userSelectionRect:o}=Ce($x,$e);return n&&o?K.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:o.width,height:o.height,transform:`translate(${o.x}px, ${o.y}px)`}}):null}const ka=(n,o)=>i=>{i.target===o.current&&(n==null||n(i))},Ox=n=>({userSelectionActive:n.userSelectionActive,elementsSelectable:n.elementsSelectable,connectionInProgress:n.connection.inProgress,dragging:n.paneDragging});function Hx({isSelecting:n,selectionKeyPressed:o,selectionMode:i=oi.Full,panOnDrag:s,paneClickDistance:u,selectionOnDrag:c,onSelectionStart:f,onSelectionEnd:h,onPaneClick:p,onPaneContextMenu:m,onPaneScroll:v,onPaneMouseEnter:g,onPaneMouseMove:y,onPaneMouseLeave:x,children:S}){const k=De(),{userSelectionActive:N,elementsSelectable:E,dragging:L,connectionInProgress:_}=Ce(Ox,$e),C=E&&(n||N),F=q.useRef(null),D=q.useRef(),O=q.useRef(new Set),Y=q.useRef(new Set),Q=q.useRef(!1),ne=P=>{if(Q.current||_){Q.current=!1;return}p==null||p(P),k.getState().resetSelectedElements(),k.setState({nodesSelectionActive:!1})},j=P=>{if(Array.isArray(s)&&(s!=null&&s.includes(2))){P.preventDefault();return}m==null||m(P)},U=v?P=>v(P):void 0,b=P=>{Q.current&&(P.stopPropagation(),Q.current=!1)},z=P=>{var he,fe;const{domNode:I}=k.getState();if(D.current=I==null?void 0:I.getBoundingClientRect(),!D.current)return;const $=P.target===F.current;if(!$&&!!P.target.closest(".nokey")||!n||!(c&&$||o)||P.button!==0||!P.isPrimary)return;(fe=(he=P.target)==null?void 0:he.setPointerCapture)==null||fe.call(he,P.pointerId),Q.current=!1;const{x:le,y:ie}=Ot(P.nativeEvent,D.current);k.setState({userSelectionRect:{width:0,height:0,startX:le,startY:ie,x:le,y:ie}}),$||(P.stopPropagation(),P.preventDefault())},B=P=>{const{userSelectionRect:I,transform:$,nodeLookup:Z,edgeLookup:G,connectionLookup:le,triggerNodeChanges:ie,triggerEdgeChanges:he,defaultEdgeOptions:fe,resetSelectedElements:pe}=k.getState();if(!D.current||!I)return;const{x:oe,y:me}=Ot(P.nativeEvent,D.current),{startX:Ee,startY:Se}=I;if(!Q.current){const Ne=o?0:u;if(Math.hypot(oe-Ee,me-Se)<=Ne)return;pe(),f==null||f(P)}Q.current=!0;const xe={startX:Ee,startY:Se,x:oe<Ee?oe:Ee,y:me<Se?me:Se,width:Math.abs(oe-Ee),height:Math.abs(me-Se)},ge=O.current,ke=Y.current;O.current=new Set(Ka(Z,xe,$,i===oi.Partial,!0).map(Ne=>Ne.id)),Y.current=new Set;const Ie=(fe==null?void 0:fe.selectable)??!0;for(const Ne of O.current){const Be=le.get(Ne);if(Be)for(const{edgeId:Pt}of Be.values()){const ft=G.get(Pt);ft&&(ft.selectable??Ie)&&Y.current.add(Pt)}}if(!Jd(ge,O.current)){const Ne=Yr(Z,O.current,!0);ie(Ne)}if(!Jd(ke,Y.current)){const Ne=Yr(G,Y.current);he(Ne)}k.setState({userSelectionRect:xe,userSelectionActive:!0,nodesSelectionActive:!1})},R=P=>{var I,$;P.button===0&&(($=(I=P.target)==null?void 0:I.releasePointerCapture)==null||$.call(I,P.pointerId),!N&&P.target===F.current&&k.getState().userSelectionRect&&(ne==null||ne(P)),k.setState({userSelectionActive:!1,userSelectionRect:null}),Q.current&&(h==null||h(P),k.setState({nodesSelectionActive:O.current.size>0})))},W=s===!0||Array.isArray(s)&&s.includes(0);return K.jsxs("div",{className:We(["react-flow__pane",{draggable:W,dragging:L,selection:n}]),onClick:C?void 0:ka(ne,F),onContextMenu:ka(j,F),onWheel:ka(U,F),onPointerEnter:C?void 0:g,onPointerMove:C?B:y,onPointerUp:C?R:void 0,onPointerDownCapture:C?z:void 0,onClickCapture:C?b:void 0,onPointerLeave:x,ref:F,style:gs,children:[S,K.jsx(Fx,{})]})}function Ha({id:n,store:o,unselect:i=!1,nodeRef:s}){const{addSelectedNodes:u,unselectNodesAndEdges:c,multiSelectionActive:f,nodeLookup:h,onError:p}=o.getState(),m=h.get(n);if(!m){p==null||p("012",Kt.error012(n));return}o.setState({nodesSelectionActive:!1}),m.selected?(i||m.selected&&f)&&(c({nodes:[m],edges:[]}),requestAnimationFrame(()=>{var v;return(v=s==null?void 0:s.current)==null?void 0:v.blur()})):u([n])}function tg({nodeRef:n,disabled:o=!1,noDragClassName:i,handleSelector:s,nodeId:u,isSelectable:c,nodeClickDistance:f}){const h=De(),[p,m]=q.useState(!1),v=q.useRef();return q.useEffect(()=>{v.current=k1({getStoreItems:()=>h.getState(),onNodeMouseDown:g=>{Ha({id:g,store:h,nodeRef:n})},onDragStart:()=>{m(!0)},onDragStop:()=>{m(!1)}})},[]),q.useEffect(()=>{if(!(o||!n.current||!v.current))return v.current.update({noDragClassName:i,handleSelector:s,domNode:n.current,isSelectable:c,nodeId:u,nodeClickDistance:f}),()=>{var g;(g=v.current)==null||g.destroy()}},[i,s,o,c,n,u,f]),p}const Vx=n=>o=>o.selected&&(o.draggable||n&&typeof o.draggable>"u");function ng(){const n=De();return q.useCallback(i=>{const{nodeExtent:s,snapToGrid:u,snapGrid:c,nodesDraggable:f,onError:h,updateNodePositions:p,nodeLookup:m,nodeOrigin:v}=n.getState(),g=new Map,y=Vx(f),x=u?c[0]:5,S=u?c[1]:5,k=i.direction.x*x*i.factor,N=i.direction.y*S*i.factor;for(const[,E]of m){if(!y(E))continue;let L={x:E.internals.positionAbsolute.x+k,y:E.internals.positionAbsolute.y+N};u&&(L=di(L,c));const{position:_,positionAbsolute:C}=Sp({nodeId:E.id,nextPosition:L,nodeLookup:m,nodeExtent:s,nodeOrigin:v,onError:h});E.position=_,E.internals.positionAbsolute=C,g.set(E.id,E)}p(g)},[])}const rc=q.createContext(null),jx=rc.Provider;rc.Consumer;const rg=()=>q.useContext(rc),Bx=n=>({connectOnClick:n.connectOnClick,noPanClassName:n.noPanClassName,rfId:n.rfId}),Ux=(n,o,i)=>s=>{const{connectionClickStartHandle:u,connectionMode:c,connection:f}=s,{fromHandle:h,toHandle:p,isValid:m}=f,v=(p==null?void 0:p.nodeId)===n&&(p==null?void 0:p.id)===o&&(p==null?void 0:p.type)===i;return{connectingFrom:(h==null?void 0:h.nodeId)===n&&(h==null?void 0:h.id)===o&&(h==null?void 0:h.type)===i,connectingTo:v,clickConnecting:(u==null?void 0:u.nodeId)===n&&(u==null?void 0:u.id)===o&&(u==null?void 0:u.type)===i,isPossibleEndHandle:c===qr.Strict?(h==null?void 0:h.type)!==i:n!==(h==null?void 0:h.nodeId)||o!==(h==null?void 0:h.id),connectionInProcess:!!h,clickConnectionInProcess:!!u,valid:v&&m}};function Wx({type:n="source",position:o=ye.Top,isValidConnection:i,isConnectable:s=!0,isConnectableStart:u=!0,isConnectableEnd:c=!0,id:f,onConnect:h,children:p,className:m,onMouseDown:v,onTouchStart:g,...y},x){var B,R;const S=f||null,k=n==="target",N=De(),E=rg(),{connectOnClick:L,noPanClassName:_,rfId:C}=Ce(Bx,$e),{connectingFrom:F,connectingTo:D,clickConnecting:O,isPossibleEndHandle:Y,connectionInProcess:Q,clickConnectionInProcess:ne,valid:j}=Ce(Ux(E,S,n),$e);E||(R=(B=N.getState()).onError)==null||R.call(B,"010",Kt.error010());const U=W=>{const{defaultEdgeOptions:P,onConnect:I,hasDefaultEdges:$}=N.getState(),Z={...P,...W};if($){const{edges:G,setEdges:le}=N.getState();le(u1(Z,G))}I==null||I(Z),h==null||h(Z)},b=W=>{if(!E)return;const P=zp(W.nativeEvent);if(u&&(P&&W.button===0||!P)){const I=N.getState();Oa.onPointerDown(W.nativeEvent,{handleDomNode:W.currentTarget,autoPanOnConnect:I.autoPanOnConnect,connectionMode:I.connectionMode,connectionRadius:I.connectionRadius,domNode:I.domNode,nodeLookup:I.nodeLookup,lib:I.lib,isTarget:k,handleId:S,nodeId:E,flowId:I.rfId,panBy:I.panBy,cancelConnection:I.cancelConnection,onConnectStart:I.onConnectStart,onConnectEnd:(...$)=>{var Z,G;return(G=(Z=N.getState()).onConnectEnd)==null?void 0:G.call(Z,...$)},updateConnection:I.updateConnection,onConnect:U,isValidConnection:i||((...$)=>{var Z,G;return((G=(Z=N.getState()).isValidConnection)==null?void 0:G.call(Z,...$))??!0}),getTransform:()=>N.getState().transform,getFromHandle:()=>N.getState().connection.fromHandle,autoPanSpeed:I.autoPanSpeed,dragThreshold:I.connectionDragThreshold})}P?v==null||v(W):g==null||g(W)},z=W=>{const{onClickConnectStart:P,onClickConnectEnd:I,connectionClickStartHandle:$,connectionMode:Z,isValidConnection:G,lib:le,rfId:ie,nodeLookup:he,connection:fe}=N.getState();if(!E||!$&&!u)return;if(!$){P==null||P(W.nativeEvent,{nodeId:E,handleId:S,handleType:n}),N.setState({connectionClickStartHandle:{nodeId:E,type:n,id:S}});return}const pe=Mp(W.target),oe=i||G,{connection:me,isValid:Ee}=Oa.isValid(W.nativeEvent,{handle:{nodeId:E,id:S,type:n},connectionMode:Z,fromNodeId:$.nodeId,fromHandleId:$.id||null,fromType:$.type,isValidConnection:oe,flowId:ie,doc:pe,lib:le,nodeLookup:he});Ee&&me&&U(me);const Se=structuredClone(fe);delete Se.inProgress,Se.toPosition=Se.toHandle?Se.toHandle.position:null,I==null||I(W,Se),N.setState({connectionClickStartHandle:null})};return K.jsx("div",{"data-handleid":S,"data-nodeid":E,"data-handlepos":o,"data-id":`${C}-${E}-${S}-${n}`,className:We(["react-flow__handle",`react-flow__handle-${o}`,"nodrag",_,m,{source:!k,target:k,connectable:s,connectablestart:u,connectableend:c,clickconnecting:O,connectingfrom:F,connectingto:D,valid:j,connectionindicator:s&&(!Q||Y)&&(Q||ne?c:u)}]),onMouseDown:b,onTouchStart:b,onClick:L?z:void 0,ref:x,...y,children:p})}const ns=q.memo(Jp(Wx));function Xx({data:n,isConnectable:o,sourcePosition:i=ye.Bottom}){return K.jsxs(K.Fragment,{children:[n==null?void 0:n.label,K.jsx(ns,{type:"source",position:i,isConnectable:o})]})}function Yx({data:n,isConnectable:o,targetPosition:i=ye.Top,sourcePosition:s=ye.Bottom}){return K.jsxs(K.Fragment,{children:[K.jsx(ns,{type:"target",position:i,isConnectable:o}),n==null?void 0:n.label,K.jsx(ns,{type:"source",position:s,isConnectable:o})]})}function Qx(){return null}function Kx({data:n,isConnectable:o,targetPosition:i=ye.Top}){return K.jsxs(K.Fragment,{children:[K.jsx(ns,{type:"target",position:i,isConnectable:o}),n==null?void 0:n.label]})}const rs={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},zh={input:Xx,default:Yx,output:Kx,group:Qx};function Gx(n){var o,i,s,u;return n.internals.handleBounds===void 0?{width:n.width??n.initialWidth??((o=n.style)==null?void 0:o.width),height:n.height??n.initialHeight??((i=n.style)==null?void 0:i.height)}:{width:n.width??((s=n.style)==null?void 0:s.width),height:n.height??((u=n.style)==null?void 0:u.height)}}const Zx=n=>{const{width:o,height:i,x:s,y:u}=fi(n.nodeLookup,{filter:c=>!!c.selected});return{width:Ft(o)?o:null,height:Ft(i)?i:null,userSelectionActive:n.userSelectionActive,transformString:`translate(${n.transform[0]}px,${n.transform[1]}px) scale(${n.transform[2]}) translate(${s}px,${u}px)`}};function qx({onSelectionContextMenu:n,noPanClassName:o,disableKeyboardA11y:i}){const s=De(),{width:u,height:c,transformString:f,userSelectionActive:h}=Ce(Zx,$e),p=ng(),m=q.useRef(null);q.useEffect(()=>{var x;i||(x=m.current)==null||x.focus({preventScroll:!0})},[i]);const v=!h&&u!==null&&c!==null;if(tg({nodeRef:m,disabled:!v}),!v)return null;const g=n?x=>{const S=s.getState().nodes.filter(k=>k.selected);n(x,S)}:void 0,y=x=>{Object.prototype.hasOwnProperty.call(rs,x.key)&&(x.preventDefault(),p({direction:rs[x.key],factor:x.shiftKey?4:1}))};return K.jsx("div",{className:We(["react-flow__nodesselection","react-flow__container",o]),style:{transform:f},children:K.jsx("div",{ref:m,className:"react-flow__nodesselection-rect",onContextMenu:g,tabIndex:i?void 0:-1,onKeyDown:i?void 0:y,style:{width:u,height:c}})})}const Ih=typeof window<"u"?window:void 0,bx=n=>({nodesSelectionActive:n.nodesSelectionActive,userSelectionActive:n.userSelectionActive});function og({children:n,onPaneClick:o,onPaneMouseEnter:i,onPaneMouseMove:s,onPaneMouseLeave:u,onPaneContextMenu:c,onPaneScroll:f,paneClickDistance:h,deleteKeyCode:p,selectionKeyCode:m,selectionOnDrag:v,selectionMode:g,onSelectionStart:y,onSelectionEnd:x,multiSelectionKeyCode:S,panActivationKeyCode:k,zoomActivationKeyCode:N,elementsSelectable:E,zoomOnScroll:L,zoomOnPinch:_,panOnScroll:C,panOnScrollSpeed:F,panOnScrollMode:D,zoomOnDoubleClick:O,panOnDrag:Y,defaultViewport:Q,translateExtent:ne,minZoom:j,maxZoom:U,preventScrolling:b,onSelectionContextMenu:z,noWheelClassName:B,noPanClassName:R,disableKeyboardA11y:W,onViewportChange:P,isControlledViewport:I}){const{nodesSelectionActive:$,userSelectionActive:Z}=Ce(bx,$e),G=si(m,{target:Ih}),le=si(k,{target:Ih}),ie=le||Y,he=le||C,fe=v&&ie!==!0,pe=G||Z||fe;return Lx({deleteKeyCode:p,multiSelectionKeyCode:S}),K.jsx(Rx,{onPaneContextMenu:c,elementsSelectable:E,zoomOnScroll:L,zoomOnPinch:_,panOnScroll:he,panOnScrollSpeed:F,panOnScrollMode:D,zoomOnDoubleClick:O,panOnDrag:!G&&ie,defaultViewport:Q,translateExtent:ne,minZoom:j,maxZoom:U,zoomActivationKeyCode:N,preventScrolling:b,noWheelClassName:B,noPanClassName:R,onViewportChange:P,isControlledViewport:I,paneClickDistance:h,selectionOnDrag:fe,children:K.jsxs(Hx,{onSelectionStart:y,onSelectionEnd:x,onPaneClick:o,onPaneMouseEnter:i,onPaneMouseMove:s,onPaneMouseLeave:u,onPaneContextMenu:c,onPaneScroll:f,panOnDrag:ie,isSelecting:!!pe,selectionMode:g,selectionKeyPressed:G,paneClickDistance:h,selectionOnDrag:fe,children:[n,$&&K.jsx(qx,{onSelectionContextMenu:z,noPanClassName:R,disableKeyboardA11y:W})]})})}og.displayName="FlowRenderer";const Jx=q.memo(og),eS=n=>o=>n?Ka(o.nodeLookup,{x:0,y:0,width:o.width,height:o.height},o.transform,!0).map(i=>i.id):Array.from(o.nodeLookup.keys());function tS(n){return Ce(q.useCallback(eS(n),[n]),$e)}const nS=n=>n.updateNodeInternals;function rS(){const n=Ce(nS),[o]=q.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(i=>{const s=new Map;i.forEach(u=>{const c=u.target.getAttribute("data-id");s.set(c,{id:c,nodeElement:u.target,force:!0})}),n(s)}));return q.useEffect(()=>()=>{o==null||o.disconnect()},[o]),o}function oS({node:n,nodeType:o,hasDimensions:i,resizeObserver:s}){const u=De(),c=q.useRef(null),f=q.useRef(null),h=q.useRef(n.sourcePosition),p=q.useRef(n.targetPosition),m=q.useRef(o),v=i&&!!n.internals.handleBounds;return q.useEffect(()=>{c.current&&!n.hidden&&(!v||f.current!==c.current)&&(f.current&&(s==null||s.unobserve(f.current)),s==null||s.observe(c.current),f.current=c.current)},[v,n.hidden]),q.useEffect(()=>()=>{f.current&&(s==null||s.unobserve(f.current),f.current=null)},[]),q.useEffect(()=>{if(c.current){const g=m.current!==o,y=h.current!==n.sourcePosition,x=p.current!==n.targetPosition;(g||y||x)&&(m.current=o,h.current=n.sourcePosition,p.current=n.targetPosition,u.getState().updateNodeInternals(new Map([[n.id,{id:n.id,nodeElement:c.current,force:!0}]])))}},[n.id,o,n.sourcePosition,n.targetPosition]),c}function iS({id:n,onClick:o,onMouseEnter:i,onMouseMove:s,onMouseLeave:u,onContextMenu:c,onDoubleClick:f,nodesDraggable:h,elementsSelectable:p,nodesConnectable:m,nodesFocusable:v,resizeObserver:g,noDragClassName:y,noPanClassName:x,disableKeyboardA11y:S,rfId:k,nodeTypes:N,nodeClickDistance:E,onError:L}){const{node:_,internals:C,isParent:F}=Ce(oe=>{const me=oe.nodeLookup.get(n),Ee=oe.parentLookup.has(n);return{node:me,internals:me.internals,isParent:Ee}},$e);let D=_.type||"default",O=(N==null?void 0:N[D])||zh[D];O===void 0&&(L==null||L("003",Kt.error003(D)),D="default",O=(N==null?void 0:N.default)||zh.default);const Y=!!(_.draggable||h&&typeof _.draggable>"u"),Q=!!(_.selectable||p&&typeof _.selectable>"u"),ne=!!(_.connectable||m&&typeof _.connectable>"u"),j=!!(_.focusable||v&&typeof _.focusable>"u"),U=De(),b=Np(_),z=oS({node:_,nodeType:D,hasDimensions:b,resizeObserver:g}),B=tg({nodeRef:z,disabled:_.hidden||!Y,noDragClassName:y,handleSelector:_.dragHandle,nodeId:n,isSelectable:Q,nodeClickDistance:E}),R=ng();if(_.hidden)return null;const W=dn(_),P=Gx(_),I=Q||Y||o||i||s||u,$=i?oe=>i(oe,{...C.userNode}):void 0,Z=s?oe=>s(oe,{...C.userNode}):void 0,G=u?oe=>u(oe,{...C.userNode}):void 0,le=c?oe=>c(oe,{...C.userNode}):void 0,ie=f?oe=>f(oe,{...C.userNode}):void 0,he=oe=>{const{selectNodesOnDrag:me,nodeDragThreshold:Ee}=U.getState();Q&&(!me||!Y||Ee>0)&&Ha({id:n,store:U,nodeRef:z}),o&&o(oe,{...C.userNode})},fe=oe=>{if(!(Pp(oe.nativeEvent)||S)){if(mp.includes(oe.key)&&Q){const me=oe.key==="Escape";Ha({id:n,store:U,unselect:me,nodeRef:z})}else if(Y&&_.selected&&Object.prototype.hasOwnProperty.call(rs,oe.key)){oe.preventDefault();const{ariaLabelConfig:me}=U.getState();U.setState({ariaLiveMessage:me["node.a11yDescription.ariaLiveMessage"]({direction:oe.key.replace("Arrow","").toLowerCase(),x:~~C.positionAbsolute.x,y:~~C.positionAbsolute.y})}),R({direction:rs[oe.key],factor:oe.shiftKey?4:1})}}},pe=()=>{var ke;if(S||!((ke=z.current)!=null&&ke.matches(":focus-visible")))return;const{transform:oe,width:me,height:Ee,autoPanOnNodeFocus:Se,setCenter:xe}=U.getState();if(!Se)return;Ka(new Map([[n,_]]),{x:0,y:0,width:me,height:Ee},oe,!0).length>0||xe(_.position.x+W.width/2,_.position.y+W.height/2,{zoom:oe[2]})};return K.jsx("div",{className:We(["react-flow__node",`react-flow__node-${D}`,{[x]:Y},_.className,{selected:_.selected,selectable:Q,parent:F,draggable:Y,dragging:B}]),ref:z,style:{zIndex:C.z,transform:`translate(${C.positionAbsolute.x}px,${C.positionAbsolute.y}px)`,pointerEvents:I?"all":"none",visibility:b?"visible":"hidden",..._.style,...P},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:$,onMouseMove:Z,onMouseLeave:G,onContextMenu:le,onClick:he,onDoubleClick:ie,onKeyDown:j?fe:void 0,tabIndex:j?0:void 0,onFocus:j?pe:void 0,role:_.ariaRole??(j?"group":void 0),"aria-roledescription":"node","aria-describedby":S?void 0:`${Qp}-${k}`,"aria-label":_.ariaLabel,..._.domAttributes,children:K.jsx(jx,{value:n,children:K.jsx(O,{id:n,data:_.data,type:D,positionAbsoluteX:C.positionAbsolute.x,positionAbsoluteY:C.positionAbsolute.y,selected:_.selected??!1,selectable:Q,draggable:Y,deletable:_.deletable??!0,isConnectable:ne,sourcePosition:_.sourcePosition,targetPosition:_.targetPosition,dragging:B,dragHandle:_.dragHandle,zIndex:C.z,parentId:_.parentId,...W})})})}var lS=q.memo(iS);const sS=n=>({nodesDraggable:n.nodesDraggable,nodesConnectable:n.nodesConnectable,nodesFocusable:n.nodesFocusable,elementsSelectable:n.elementsSelectable,onError:n.onError});function ig(n){const{nodesDraggable:o,nodesConnectable:i,nodesFocusable:s,elementsSelectable:u,onError:c}=Ce(sS,$e),f=tS(n.onlyRenderVisibleElements),h=rS();return K.jsx("div",{className:"react-flow__nodes",style:gs,children:f.map(p=>K.jsx(lS,{id:p,nodeTypes:n.nodeTypes,nodeExtent:n.nodeExtent,onClick:n.onNodeClick,onMouseEnter:n.onNodeMouseEnter,onMouseMove:n.onNodeMouseMove,onMouseLeave:n.onNodeMouseLeave,onContextMenu:n.onNodeContextMenu,onDoubleClick:n.onNodeDoubleClick,noDragClassName:n.noDragClassName,noPanClassName:n.noPanClassName,rfId:n.rfId,disableKeyboardA11y:n.disableKeyboardA11y,resizeObserver:h,nodesDraggable:o,nodesConnectable:i,nodesFocusable:s,elementsSelectable:u,nodeClickDistance:n.nodeClickDistance,onError:c},p))})}ig.displayName="NodeRenderer";const uS=q.memo(ig);function aS(n){return Ce(q.useCallback(i=>{if(!n)return i.edges.map(u=>u.id);const s=[];if(i.width&&i.height)for(const u of i.edges){const c=i.nodeLookup.get(u.source),f=i.nodeLookup.get(u.target);c&&f&&i1({sourceNode:c,targetNode:f,width:i.width,height:i.height,transform:i.transform})&&s.push(u.id)}return s},[n]),$e)}const cS=({color:n="none",strokeWidth:o=1})=>{const i={strokeWidth:o,...n&&{stroke:n}};return K.jsx("polyline",{className:"arrow",style:i,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},fS=({color:n="none",strokeWidth:o=1})=>{const i={strokeWidth:o,...n&&{stroke:n,fill:n}};return K.jsx("polyline",{className:"arrowclosed",style:i,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},Th={[Jl.Arrow]:cS,[Jl.ArrowClosed]:fS};function dS(n){const o=De();return q.useMemo(()=>{var u,c;return Object.prototype.hasOwnProperty.call(Th,n)?Th[n]:((c=(u=o.getState()).onError)==null||c.call(u,"009",Kt.error009(n)),null)},[n])}const hS=({id:n,type:o,color:i,width:s=12.5,height:u=12.5,markerUnits:c="strokeWidth",strokeWidth:f,orient:h="auto-start-reverse"})=>{const p=dS(o);return p?K.jsx("marker",{className:"react-flow__arrowhead",id:n,markerWidth:`${s}`,markerHeight:`${u}`,viewBox:"-10 -10 20 20",markerUnits:c,orient:h,refX:"0",refY:"0",children:K.jsx(p,{color:i,strokeWidth:f})}):null},lg=({defaultColor:n,rfId:o})=>{const i=Ce(c=>c.edges),s=Ce(c=>c.defaultEdgeOptions),u=q.useMemo(()=>h1(i,{id:o,defaultColor:n,defaultMarkerStart:s==null?void 0:s.markerStart,defaultMarkerEnd:s==null?void 0:s.markerEnd}),[i,s,o,n]);return u.length?K.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:K.jsx("defs",{children:u.map(c=>K.jsx(hS,{id:c.id,type:c.type,color:c.color,width:c.width,height:c.height,markerUnits:c.markerUnits,strokeWidth:c.strokeWidth,orient:c.orient},c.id))})}):null};lg.displayName="MarkerDefinitions";var pS=q.memo(lg);function sg({x:n,y:o,label:i,labelStyle:s,labelShowBg:u=!0,labelBgStyle:c,labelBgPadding:f=[2,4],labelBgBorderRadius:h=2,children:p,className:m,...v}){const[g,y]=q.useState({x:1,y:0,width:0,height:0}),x=We(["react-flow__edge-textwrapper",m]),S=q.useRef(null);return q.useEffect(()=>{if(S.current){const k=S.current.getBBox();y({x:k.x,y:k.y,width:k.width,height:k.height})}},[i]),i?K.jsxs("g",{transform:`translate(${n-g.width/2} ${o-g.height/2})`,className:x,visibility:g.width?"visible":"hidden",...v,children:[u&&K.jsx("rect",{width:g.width+2*f[0],x:-f[0],y:-f[1],height:g.height+2*f[1],className:"react-flow__edge-textbg",style:c,rx:h,ry:h}),K.jsx("text",{className:"react-flow__edge-text",y:g.height/2,dy:"0.3em",ref:S,style:s,children:i}),p]}):null}sg.displayName="EdgeText";const gS=q.memo(sg);function ms({path:n,labelX:o,labelY:i,label:s,labelStyle:u,labelShowBg:c,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,interactionWidth:m=20,...v}){return K.jsxs(K.Fragment,{children:[K.jsx("path",{...v,d:n,fill:"none",className:We(["react-flow__edge-path",v.className])}),m?K.jsx("path",{d:n,fill:"none",strokeOpacity:0,strokeWidth:m,className:"react-flow__edge-interaction"}):null,s&&Ft(o)&&Ft(i)?K.jsx(gS,{x:o,y:i,label:s,labelStyle:u,labelShowBg:c,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p}):null]})}function Lh({pos:n,x1:o,y1:i,x2:s,y2:u}){return n===ye.Left||n===ye.Right?[.5*(o+s),i]:[o,.5*(i+u)]}function ug({sourceX:n,sourceY:o,sourcePosition:i=ye.Bottom,targetX:s,targetY:u,targetPosition:c=ye.Top}){const[f,h]=Lh({pos:i,x1:n,y1:o,x2:s,y2:u}),[p,m]=Lh({pos:c,x1:s,y1:u,x2:n,y2:o}),[v,g,y,x]=Ip({sourceX:n,sourceY:o,targetX:s,targetY:u,sourceControlX:f,sourceControlY:h,targetControlX:p,targetControlY:m});return[`M${n},${o} C${f},${h} ${p},${m} ${s},${u}`,v,g,y,x]}function ag(n){return q.memo(({id:o,sourceX:i,sourceY:s,targetX:u,targetY:c,sourcePosition:f,targetPosition:h,label:p,labelStyle:m,labelShowBg:v,labelBgStyle:g,labelBgPadding:y,labelBgBorderRadius:x,style:S,markerEnd:k,markerStart:N,interactionWidth:E})=>{const[L,_,C]=ug({sourceX:i,sourceY:s,sourcePosition:f,targetX:u,targetY:c,targetPosition:h}),F=n.isInternal?void 0:o;return K.jsx(ms,{id:F,path:L,labelX:_,labelY:C,label:p,labelStyle:m,labelShowBg:v,labelBgStyle:g,labelBgPadding:y,labelBgBorderRadius:x,style:S,markerEnd:k,markerStart:N,interactionWidth:E})})}const mS=ag({isInternal:!1}),cg=ag({isInternal:!0});mS.displayName="SimpleBezierEdge";cg.displayName="SimpleBezierEdgeInternal";function fg(n){return q.memo(({id:o,sourceX:i,sourceY:s,targetX:u,targetY:c,label:f,labelStyle:h,labelShowBg:p,labelBgStyle:m,labelBgPadding:v,labelBgBorderRadius:g,style:y,sourcePosition:x=ye.Bottom,targetPosition:S=ye.Top,markerEnd:k,markerStart:N,pathOptions:E,interactionWidth:L})=>{const[_,C,F]=Ra({sourceX:i,sourceY:s,sourcePosition:x,targetX:u,targetY:c,targetPosition:S,borderRadius:E==null?void 0:E.borderRadius,offset:E==null?void 0:E.offset,stepPosition:E==null?void 0:E.stepPosition}),D=n.isInternal?void 0:o;return K.jsx(ms,{id:D,path:_,labelX:C,labelY:F,label:f,labelStyle:h,labelShowBg:p,labelBgStyle:m,labelBgPadding:v,labelBgBorderRadius:g,style:y,markerEnd:k,markerStart:N,interactionWidth:L})})}const dg=fg({isInternal:!1}),hg=fg({isInternal:!0});dg.displayName="SmoothStepEdge";hg.displayName="SmoothStepEdgeInternal";function pg(n){return q.memo(({id:o,...i})=>{var u;const s=n.isInternal?void 0:o;return K.jsx(dg,{...i,id:s,pathOptions:q.useMemo(()=>{var c;return{borderRadius:0,offset:(c=i.pathOptions)==null?void 0:c.offset}},[(u=i.pathOptions)==null?void 0:u.offset])})})}const yS=pg({isInternal:!1}),gg=pg({isInternal:!0});yS.displayName="StepEdge";gg.displayName="StepEdgeInternal";function mg(n){return q.memo(({id:o,sourceX:i,sourceY:s,targetX:u,targetY:c,label:f,labelStyle:h,labelShowBg:p,labelBgStyle:m,labelBgPadding:v,labelBgBorderRadius:g,style:y,markerEnd:x,markerStart:S,interactionWidth:k})=>{const[N,E,L]=Ap({sourceX:i,sourceY:s,targetX:u,targetY:c}),_=n.isInternal?void 0:o;return K.jsx(ms,{id:_,path:N,labelX:E,labelY:L,label:f,labelStyle:h,labelShowBg:p,labelBgStyle:m,labelBgPadding:v,labelBgBorderRadius:g,style:y,markerEnd:x,markerStart:S,interactionWidth:k})})}const vS=mg({isInternal:!1}),yg=mg({isInternal:!0});vS.displayName="StraightEdge";yg.displayName="StraightEdgeInternal";function vg(n){return q.memo(({id:o,sourceX:i,sourceY:s,targetX:u,targetY:c,sourcePosition:f=ye.Bottom,targetPosition:h=ye.Top,label:p,labelStyle:m,labelShowBg:v,labelBgStyle:g,labelBgPadding:y,labelBgBorderRadius:x,style:S,markerEnd:k,markerStart:N,pathOptions:E,interactionWidth:L})=>{const[_,C,F]=Tp({sourceX:i,sourceY:s,sourcePosition:f,targetX:u,targetY:c,targetPosition:h,curvature:E==null?void 0:E.curvature}),D=n.isInternal?void 0:o;return K.jsx(ms,{id:D,path:_,labelX:C,labelY:F,label:p,labelStyle:m,labelShowBg:v,labelBgStyle:g,labelBgPadding:y,labelBgBorderRadius:x,style:S,markerEnd:k,markerStart:N,interactionWidth:L})})}const wS=vg({isInternal:!1}),wg=vg({isInternal:!0});wS.displayName="BezierEdge";wg.displayName="BezierEdgeInternal";const Ah={default:wg,straight:yg,step:gg,smoothstep:hg,simplebezier:cg},Dh={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},xS=(n,o,i)=>i===ye.Left?n-o:i===ye.Right?n+o:n,SS=(n,o,i)=>i===ye.Top?n-o:i===ye.Bottom?n+o:n,Rh="react-flow__edgeupdater";function $h({position:n,centerX:o,centerY:i,radius:s=10,onMouseDown:u,onMouseEnter:c,onMouseOut:f,type:h}){return K.jsx("circle",{onMouseDown:u,onMouseEnter:c,onMouseOut:f,className:We([Rh,`${Rh}-${h}`]),cx:xS(o,s,n),cy:SS(i,s,n),r:s,stroke:"transparent",fill:"transparent"})}function _S({isReconnectable:n,reconnectRadius:o,edge:i,sourceX:s,sourceY:u,targetX:c,targetY:f,sourcePosition:h,targetPosition:p,onReconnect:m,onReconnectStart:v,onReconnectEnd:g,setReconnecting:y,setUpdateHover:x}){const S=De(),k=(C,F)=>{if(C.button!==0)return;const{autoPanOnConnect:D,domNode:O,connectionMode:Y,connectionRadius:Q,lib:ne,onConnectStart:j,cancelConnection:U,nodeLookup:b,rfId:z,panBy:B,updateConnection:R}=S.getState(),W=F.type==="target",P=(Z,G)=>{y(!1),g==null||g(Z,i,F.type,G)},I=Z=>m==null?void 0:m(i,Z),$=(Z,G)=>{y(!0),v==null||v(C,i,F.type),j==null||j(Z,G)};Oa.onPointerDown(C.nativeEvent,{autoPanOnConnect:D,connectionMode:Y,connectionRadius:Q,domNode:O,handleId:F.id,nodeId:F.nodeId,nodeLookup:b,isTarget:W,edgeUpdaterType:F.type,lib:ne,flowId:z,cancelConnection:U,panBy:B,isValidConnection:(...Z)=>{var G,le;return((le=(G=S.getState()).isValidConnection)==null?void 0:le.call(G,...Z))??!0},onConnect:I,onConnectStart:$,onConnectEnd:(...Z)=>{var G,le;return(le=(G=S.getState()).onConnectEnd)==null?void 0:le.call(G,...Z)},onReconnectEnd:P,updateConnection:R,getTransform:()=>S.getState().transform,getFromHandle:()=>S.getState().connection.fromHandle,dragThreshold:S.getState().connectionDragThreshold,handleDomNode:C.currentTarget})},N=C=>k(C,{nodeId:i.target,id:i.targetHandle??null,type:"target"}),E=C=>k(C,{nodeId:i.source,id:i.sourceHandle??null,type:"source"}),L=()=>x(!0),_=()=>x(!1);return K.jsxs(K.Fragment,{children:[(n===!0||n==="source")&&K.jsx($h,{position:h,centerX:s,centerY:u,radius:o,onMouseDown:N,onMouseEnter:L,onMouseOut:_,type:"source"}),(n===!0||n==="target")&&K.jsx($h,{position:p,centerX:c,centerY:f,radius:o,onMouseDown:E,onMouseEnter:L,onMouseOut:_,type:"target"})]})}function ES({id:n,edgesFocusable:o,edgesReconnectable:i,elementsSelectable:s,onClick:u,onDoubleClick:c,onContextMenu:f,onMouseEnter:h,onMouseMove:p,onMouseLeave:m,reconnectRadius:v,onReconnect:g,onReconnectStart:y,onReconnectEnd:x,rfId:S,edgeTypes:k,noPanClassName:N,onError:E,disableKeyboardA11y:L}){let _=Ce(xe=>xe.edgeLookup.get(n));const C=Ce(xe=>xe.defaultEdgeOptions);_=C?{...C,..._}:_;let F=_.type||"default",D=(k==null?void 0:k[F])||Ah[F];D===void 0&&(E==null||E("011",Kt.error011(F)),F="default",D=(k==null?void 0:k.default)||Ah.default);const O=!!(_.focusable||o&&typeof _.focusable>"u"),Y=typeof g<"u"&&(_.reconnectable||i&&typeof _.reconnectable>"u"),Q=!!(_.selectable||s&&typeof _.selectable>"u"),ne=q.useRef(null),[j,U]=q.useState(!1),[b,z]=q.useState(!1),B=De(),{zIndex:R,sourceX:W,sourceY:P,targetX:I,targetY:$,sourcePosition:Z,targetPosition:G}=Ce(q.useCallback(xe=>{const ge=xe.nodeLookup.get(_.source),ke=xe.nodeLookup.get(_.target);if(!ge||!ke)return{zIndex:_.zIndex,...Dh};const Ie=d1({id:n,sourceNode:ge,targetNode:ke,sourceHandle:_.sourceHandle||null,targetHandle:_.targetHandle||null,connectionMode:xe.connectionMode,onError:E});return{zIndex:o1({selected:_.selected,zIndex:_.zIndex,sourceNode:ge,targetNode:ke,elevateOnSelect:xe.elevateEdgesOnSelect,zIndexMode:xe.zIndexMode}),...Ie||Dh}},[_.source,_.target,_.sourceHandle,_.targetHandle,_.selected,_.zIndex]),$e),le=q.useMemo(()=>_.markerStart?`url('#${$a(_.markerStart,S)}')`:void 0,[_.markerStart,S]),ie=q.useMemo(()=>_.markerEnd?`url('#${$a(_.markerEnd,S)}')`:void 0,[_.markerEnd,S]);if(_.hidden||W===null||P===null||I===null||$===null)return null;const he=xe=>{var Ne;const{addSelectedEdges:ge,unselectNodesAndEdges:ke,multiSelectionActive:Ie}=B.getState();Q&&(B.setState({nodesSelectionActive:!1}),_.selected&&Ie?(ke({nodes:[],edges:[_]}),(Ne=ne.current)==null||Ne.blur()):ge([n])),u&&u(xe,_)},fe=c?xe=>{c(xe,{..._})}:void 0,pe=f?xe=>{f(xe,{..._})}:void 0,oe=h?xe=>{h(xe,{..._})}:void 0,me=p?xe=>{p(xe,{..._})}:void 0,Ee=m?xe=>{m(xe,{..._})}:void 0,Se=xe=>{var ge;if(!L&&mp.includes(xe.key)&&Q){const{unselectNodesAndEdges:ke,addSelectedEdges:Ie}=B.getState();xe.key==="Escape"?((ge=ne.current)==null||ge.blur(),ke({edges:[_]})):Ie([n])}};return K.jsx("svg",{style:{zIndex:R},children:K.jsxs("g",{className:We(["react-flow__edge",`react-flow__edge-${F}`,_.className,N,{selected:_.selected,animated:_.animated,inactive:!Q&&!u,updating:j,selectable:Q}]),onClick:he,onDoubleClick:fe,onContextMenu:pe,onMouseEnter:oe,onMouseMove:me,onMouseLeave:Ee,onKeyDown:O?Se:void 0,tabIndex:O?0:void 0,role:_.ariaRole??(O?"group":"img"),"aria-roledescription":"edge","data-id":n,"data-testid":`rf__edge-${n}`,"aria-label":_.ariaLabel===null?void 0:_.ariaLabel||`Edge from ${_.source} to ${_.target}`,"aria-describedby":O?`${Kp}-${S}`:void 0,ref:ne,..._.domAttributes,children:[!b&&K.jsx(D,{id:n,source:_.source,target:_.target,type:_.type,selected:_.selected,animated:_.animated,selectable:Q,deletable:_.deletable??!0,label:_.label,labelStyle:_.labelStyle,labelShowBg:_.labelShowBg,labelBgStyle:_.labelBgStyle,labelBgPadding:_.labelBgPadding,labelBgBorderRadius:_.labelBgBorderRadius,sourceX:W,sourceY:P,targetX:I,targetY:$,sourcePosition:Z,targetPosition:G,data:_.data,style:_.style,sourceHandleId:_.sourceHandle,targetHandleId:_.targetHandle,markerStart:le,markerEnd:ie,pathOptions:"pathOptions"in _?_.pathOptions:void 0,interactionWidth:_.interactionWidth}),Y&&K.jsx(_S,{edge:_,isReconnectable:Y,reconnectRadius:v,onReconnect:g,onReconnectStart:y,onReconnectEnd:x,sourceX:W,sourceY:P,targetX:I,targetY:$,sourcePosition:Z,targetPosition:G,setUpdateHover:U,setReconnecting:z})]})})}var kS=q.memo(ES);const NS=n=>({edgesFocusable:n.edgesFocusable,edgesReconnectable:n.edgesReconnectable,elementsSelectable:n.elementsSelectable,connectionMode:n.connectionMode,onError:n.onError});function xg({defaultMarkerColor:n,onlyRenderVisibleElements:o,rfId:i,edgeTypes:s,noPanClassName:u,onReconnect:c,onEdgeContextMenu:f,onEdgeMouseEnter:h,onEdgeMouseMove:p,onEdgeMouseLeave:m,onEdgeClick:v,reconnectRadius:g,onEdgeDoubleClick:y,onReconnectStart:x,onReconnectEnd:S,disableKeyboardA11y:k}){const{edgesFocusable:N,edgesReconnectable:E,elementsSelectable:L,onError:_}=Ce(NS,$e),C=aS(o);return K.jsxs("div",{className:"react-flow__edges",children:[K.jsx(pS,{defaultColor:n,rfId:i}),C.map(F=>K.jsx(kS,{id:F,edgesFocusable:N,edgesReconnectable:E,elementsSelectable:L,noPanClassName:u,onReconnect:c,onContextMenu:f,onMouseEnter:h,onMouseMove:p,onMouseLeave:m,onClick:v,reconnectRadius:g,onDoubleClick:y,onReconnectStart:x,onReconnectEnd:S,rfId:i,onError:_,edgeTypes:s,disableKeyboardA11y:k},F))]})}xg.displayName="EdgeRenderer";const CS=q.memo(xg),MS=n=>`translate(${n.transform[0]}px,${n.transform[1]}px) scale(${n.transform[2]})`;function PS({children:n}){const o=Ce(MS);return K.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:o},children:n})}function zS(n){const o=nc(),i=q.useRef(!1);q.useEffect(()=>{!i.current&&o.viewportInitialized&&n&&(setTimeout(()=>n(o),1),i.current=!0)},[n,o.viewportInitialized])}const IS=n=>{var o;return(o=n.panZoom)==null?void 0:o.syncViewport};function TS(n){const o=Ce(IS),i=De();return q.useEffect(()=>{n&&(o==null||o(n),i.setState({transform:[n.x,n.y,n.zoom]}))},[n,o]),null}function LS(n){return n.connection.inProgress?{...n.connection,to:hi(n.connection.to,n.transform)}:{...n.connection}}function AS(n){return LS}function DS(n){const o=AS();return Ce(o,$e)}const RS=n=>({nodesConnectable:n.nodesConnectable,isValid:n.connection.isValid,inProgress:n.connection.inProgress,width:n.width,height:n.height});function $S({containerStyle:n,style:o,type:i,component:s}){const{nodesConnectable:u,width:c,height:f,isValid:h,inProgress:p}=Ce(RS,$e);return!(c&&u&&p)?null:K.jsx("svg",{style:n,width:c,height:f,className:"react-flow__connectionline react-flow__container",children:K.jsx("g",{className:We(["react-flow__connection",wp(h)]),children:K.jsx(Sg,{style:o,type:i,CustomComponent:s,isValid:h})})})}const Sg=({style:n,type:o=Fn.Bezier,CustomComponent:i,isValid:s})=>{const{inProgress:u,from:c,fromNode:f,fromHandle:h,fromPosition:p,to:m,toNode:v,toHandle:g,toPosition:y,pointer:x}=DS();if(!u)return;if(i)return K.jsx(i,{connectionLineType:o,connectionLineStyle:n,fromNode:f,fromHandle:h,fromX:c.x,fromY:c.y,toX:m.x,toY:m.y,fromPosition:p,toPosition:y,connectionStatus:wp(s),toNode:v,toHandle:g,pointer:x});let S="";const k={sourceX:c.x,sourceY:c.y,sourcePosition:p,targetX:m.x,targetY:m.y,targetPosition:y};switch(o){case Fn.Bezier:[S]=Tp(k);break;case Fn.SimpleBezier:[S]=ug(k);break;case Fn.Step:[S]=Ra({...k,borderRadius:0});break;case Fn.SmoothStep:[S]=Ra(k);break;default:[S]=Ap(k)}return K.jsx("path",{d:S,fill:"none",className:"react-flow__connection-path",style:n})};Sg.displayName="ConnectionLine";const FS={};function Fh(n=FS){q.useRef(n),De(),q.useEffect(()=>{},[n])}function OS(){De(),q.useRef(!1),q.useEffect(()=>{},[])}function _g({nodeTypes:n,edgeTypes:o,onInit:i,onNodeClick:s,onEdgeClick:u,onNodeDoubleClick:c,onEdgeDoubleClick:f,onNodeMouseEnter:h,onNodeMouseMove:p,onNodeMouseLeave:m,onNodeContextMenu:v,onSelectionContextMenu:g,onSelectionStart:y,onSelectionEnd:x,connectionLineType:S,connectionLineStyle:k,connectionLineComponent:N,connectionLineContainerStyle:E,selectionKeyCode:L,selectionOnDrag:_,selectionMode:C,multiSelectionKeyCode:F,panActivationKeyCode:D,zoomActivationKeyCode:O,deleteKeyCode:Y,onlyRenderVisibleElements:Q,elementsSelectable:ne,defaultViewport:j,translateExtent:U,minZoom:b,maxZoom:z,preventScrolling:B,defaultMarkerColor:R,zoomOnScroll:W,zoomOnPinch:P,panOnScroll:I,panOnScrollSpeed:$,panOnScrollMode:Z,zoomOnDoubleClick:G,panOnDrag:le,onPaneClick:ie,onPaneMouseEnter:he,onPaneMouseMove:fe,onPaneMouseLeave:pe,onPaneScroll:oe,onPaneContextMenu:me,paneClickDistance:Ee,nodeClickDistance:Se,onEdgeContextMenu:xe,onEdgeMouseEnter:ge,onEdgeMouseMove:ke,onEdgeMouseLeave:Ie,reconnectRadius:Ne,onReconnect:Be,onReconnectStart:Pt,onReconnectEnd:ft,noDragClassName:dt,noWheelClassName:xt,noPanClassName:Zt,disableKeyboardA11y:hn,nodeExtent:pr,rfId:Hn,viewport:qt,onViewportChange:bt}){return Fh(n),Fh(o),OS(),zS(i),TS(qt),K.jsx(Jx,{onPaneClick:ie,onPaneMouseEnter:he,onPaneMouseMove:fe,onPaneMouseLeave:pe,onPaneContextMenu:me,onPaneScroll:oe,paneClickDistance:Ee,deleteKeyCode:Y,selectionKeyCode:L,selectionOnDrag:_,selectionMode:C,onSelectionStart:y,onSelectionEnd:x,multiSelectionKeyCode:F,panActivationKeyCode:D,zoomActivationKeyCode:O,elementsSelectable:ne,zoomOnScroll:W,zoomOnPinch:P,zoomOnDoubleClick:G,panOnScroll:I,panOnScrollSpeed:$,panOnScrollMode:Z,panOnDrag:le,defaultViewport:j,translateExtent:U,minZoom:b,maxZoom:z,onSelectionContextMenu:g,preventScrolling:B,noDragClassName:dt,noWheelClassName:xt,noPanClassName:Zt,disableKeyboardA11y:hn,onViewportChange:bt,isControlledViewport:!!qt,children:K.jsxs(PS,{children:[K.jsx(CS,{edgeTypes:o,onEdgeClick:u,onEdgeDoubleClick:f,onReconnect:Be,onReconnectStart:Pt,onReconnectEnd:ft,onlyRenderVisibleElements:Q,onEdgeContextMenu:xe,onEdgeMouseEnter:ge,onEdgeMouseMove:ke,onEdgeMouseLeave:Ie,reconnectRadius:Ne,defaultMarkerColor:R,noPanClassName:Zt,disableKeyboardA11y:hn,rfId:Hn}),K.jsx($S,{style:k,type:S,component:N,containerStyle:E}),K.jsx("div",{className:"react-flow__edgelabel-renderer"}),K.jsx(uS,{nodeTypes:n,onNodeClick:s,onNodeDoubleClick:c,onNodeMouseEnter:h,onNodeMouseMove:p,onNodeMouseLeave:m,onNodeContextMenu:v,nodeClickDistance:Se,onlyRenderVisibleElements:Q,noPanClassName:Zt,noDragClassName:dt,disableKeyboardA11y:hn,nodeExtent:pr,rfId:Hn}),K.jsx("div",{className:"react-flow__viewport-portal"})]})})}_g.displayName="GraphView";const HS=q.memo(_g),Oh=({nodes:n,edges:o,defaultNodes:i,defaultEdges:s,width:u,height:c,fitView:f,fitViewOptions:h,minZoom:p=.5,maxZoom:m=2,nodeOrigin:v,nodeExtent:g,zIndexMode:y="basic"}={})=>{const x=new Map,S=new Map,k=new Map,N=new Map,E=s??o??[],L=i??n??[],_=v??[0,0],C=g??ri;$p(k,N,E);const F=Fa(L,x,S,{nodeOrigin:_,nodeExtent:C,zIndexMode:y});let D=[0,0,1];if(f&&u&&c){const O=fi(x,{filter:j=>!!((j.width||j.initialWidth)&&(j.height||j.initialHeight))}),{x:Y,y:Q,zoom:ne}=Ga(O,u,c,p,m,(h==null?void 0:h.padding)??.1);D=[Y,Q,ne]}return{rfId:"1",width:u??0,height:c??0,transform:D,nodes:L,nodesInitialized:F,nodeLookup:x,parentLookup:S,edges:E,edgeLookup:N,connectionLookup:k,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:i!==void 0,hasDefaultEdges:s!==void 0,panZoom:null,minZoom:p,maxZoom:m,translateExtent:ri,nodeExtent:C,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:qr.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:_,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:f??!1,fitViewOptions:h,fitViewResolver:null,connection:{...vp},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:bw,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:yp,zIndexMode:y,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},VS=({nodes:n,edges:o,defaultNodes:i,defaultEdges:s,width:u,height:c,fitView:f,fitViewOptions:h,minZoom:p,maxZoom:m,nodeOrigin:v,nodeExtent:g,zIndexMode:y})=>ox((x,S)=>{async function k(){const{nodeLookup:N,panZoom:E,fitViewOptions:L,fitViewResolver:_,width:C,height:F,minZoom:D,maxZoom:O}=S();E&&(await Zw({nodes:N,width:C,height:F,panZoom:E,minZoom:D,maxZoom:O},L),_==null||_.resolve(!0),x({fitViewResolver:null}))}return{...Oh({nodes:n,edges:o,width:u,height:c,fitView:f,fitViewOptions:h,minZoom:p,maxZoom:m,nodeOrigin:v,nodeExtent:g,defaultNodes:i,defaultEdges:s,zIndexMode:y}),setNodes:N=>{const{nodeLookup:E,parentLookup:L,nodeOrigin:_,elevateNodesOnSelect:C,fitViewQueued:F,zIndexMode:D}=S(),O=Fa(N,E,L,{nodeOrigin:_,nodeExtent:g,elevateNodesOnSelect:C,checkEquality:!0,zIndexMode:D});F&&O?(k(),x({nodes:N,nodesInitialized:O,fitViewQueued:!1,fitViewOptions:void 0})):x({nodes:N,nodesInitialized:O})},setEdges:N=>{const{connectionLookup:E,edgeLookup:L}=S();$p(E,L,N),x({edges:N})},setDefaultNodesAndEdges:(N,E)=>{if(N){const{setNodes:L}=S();L(N),x({hasDefaultNodes:!0})}if(E){const{setEdges:L}=S();L(E),x({hasDefaultEdges:!0})}},updateNodeInternals:N=>{const{triggerNodeChanges:E,nodeLookup:L,parentLookup:_,domNode:C,nodeOrigin:F,nodeExtent:D,debug:O,fitViewQueued:Y,zIndexMode:Q}=S(),{changes:ne,updatedInternals:j}=x1(N,L,_,C,F,D,Q);j&&(m1(L,_,{nodeOrigin:F,nodeExtent:D,zIndexMode:Q}),Y?(k(),x({fitViewQueued:!1,fitViewOptions:void 0})):x({}),(ne==null?void 0:ne.length)>0&&(O&&console.log("React Flow: trigger node changes",ne),E==null||E(ne)))},updateNodePositions:(N,E=!1)=>{const L=[];let _=[];const{nodeLookup:C,triggerNodeChanges:F,connection:D,updateConnection:O,onNodesChangeMiddlewareMap:Y}=S();for(const[Q,ne]of N){const j=C.get(Q),U=!!(j!=null&&j.expandParent&&(j!=null&&j.parentId)&&(ne!=null&&ne.position)),b={id:Q,type:"position",position:U?{x:Math.max(0,ne.position.x),y:Math.max(0,ne.position.y)}:ne.position,dragging:E};if(j&&D.inProgress&&D.fromNode.id===j.id){const z=dr(j,D.fromHandle,ye.Left,!0);O({...D,from:z})}U&&j.parentId&&L.push({id:Q,parentId:j.parentId,rect:{...ne.internals.positionAbsolute,width:ne.measured.width??0,height:ne.measured.height??0}}),_.push(b)}if(L.length>0){const{parentLookup:Q,nodeOrigin:ne}=S(),j=tc(L,C,Q,ne);_.push(...j)}for(const Q of Y.values())_=Q(_);F(_)},triggerNodeChanges:N=>{const{onNodesChange:E,setNodes:L,nodes:_,hasDefaultNodes:C,debug:F}=S();if(N!=null&&N.length){if(C){const D=qp(N,_);L(D)}F&&console.log("React Flow: trigger node changes",N),E==null||E(N)}},triggerEdgeChanges:N=>{const{onEdgesChange:E,setEdges:L,edges:_,hasDefaultEdges:C,debug:F}=S();if(N!=null&&N.length){if(C){const D=bp(N,_);L(D)}F&&console.log("React Flow: trigger edge changes",N),E==null||E(N)}},addSelectedNodes:N=>{const{multiSelectionActive:E,edgeLookup:L,nodeLookup:_,triggerNodeChanges:C,triggerEdgeChanges:F}=S();if(E){const D=N.map(O=>ir(O,!0));C(D);return}C(Yr(_,new Set([...N]),!0)),F(Yr(L))},addSelectedEdges:N=>{const{multiSelectionActive:E,edgeLookup:L,nodeLookup:_,triggerNodeChanges:C,triggerEdgeChanges:F}=S();if(E){const D=N.map(O=>ir(O,!0));F(D);return}F(Yr(L,new Set([...N]))),C(Yr(_,new Set,!0))},unselectNodesAndEdges:({nodes:N,edges:E}={})=>{const{edges:L,nodes:_,nodeLookup:C,triggerNodeChanges:F,triggerEdgeChanges:D}=S(),O=N||_,Y=E||L,Q=[];for(const j of O){if(!j.selected)continue;const U=C.get(j.id);U&&(U.selected=!1),Q.push(ir(j.id,!1))}const ne=[];for(const j of Y)j.selected&&ne.push(ir(j.id,!1));F(Q),D(ne)},setMinZoom:N=>{const{panZoom:E,maxZoom:L}=S();E==null||E.setScaleExtent([N,L]),x({minZoom:N})},setMaxZoom:N=>{const{panZoom:E,minZoom:L}=S();E==null||E.setScaleExtent([L,N]),x({maxZoom:N})},setTranslateExtent:N=>{var E;(E=S().panZoom)==null||E.setTranslateExtent(N),x({translateExtent:N})},resetSelectedElements:()=>{const{edges:N,nodes:E,triggerNodeChanges:L,triggerEdgeChanges:_,elementsSelectable:C}=S();if(!C)return;const F=E.reduce((O,Y)=>Y.selected?[...O,ir(Y.id,!1)]:O,[]),D=N.reduce((O,Y)=>Y.selected?[...O,ir(Y.id,!1)]:O,[]);L(F),_(D)},setNodeExtent:N=>{const{nodes:E,nodeLookup:L,parentLookup:_,nodeOrigin:C,elevateNodesOnSelect:F,nodeExtent:D,zIndexMode:O}=S();N[0][0]===D[0][0]&&N[0][1]===D[0][1]&&N[1][0]===D[1][0]&&N[1][1]===D[1][1]||(Fa(E,L,_,{nodeOrigin:C,nodeExtent:N,elevateNodesOnSelect:F,checkEquality:!1,zIndexMode:O}),x({nodeExtent:N}))},panBy:N=>{const{transform:E,width:L,height:_,panZoom:C,translateExtent:F}=S();return S1({delta:N,panZoom:C,transform:E,translateExtent:F,width:L,height:_})},setCenter:async(N,E,L)=>{const{width:_,height:C,maxZoom:F,panZoom:D}=S();if(!D)return Promise.resolve(!1);const O=typeof(L==null?void 0:L.zoom)<"u"?L.zoom:F;return await D.setViewport({x:_/2-N*O,y:C/2-E*O,zoom:O},{duration:L==null?void 0:L.duration,ease:L==null?void 0:L.ease,interpolate:L==null?void 0:L.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{x({connection:{...vp}})},updateConnection:N=>{x({connection:N})},reset:()=>x({...Oh()})}},Object.is);function jS({initialNodes:n,initialEdges:o,defaultNodes:i,defaultEdges:s,initialWidth:u,initialHeight:c,initialMinZoom:f,initialMaxZoom:h,initialFitViewOptions:p,fitView:m,nodeOrigin:v,nodeExtent:g,zIndexMode:y,children:x}){const[S]=q.useState(()=>VS({nodes:n,edges:o,defaultNodes:i,defaultEdges:s,width:u,height:c,fitView:m,minZoom:f,maxZoom:h,fitViewOptions:p,nodeOrigin:v,nodeExtent:g,zIndexMode:y}));return K.jsx(ix,{value:S,children:K.jsx(Px,{children:x})})}function BS({children:n,nodes:o,edges:i,defaultNodes:s,defaultEdges:u,width:c,height:f,fitView:h,fitViewOptions:p,minZoom:m,maxZoom:v,nodeOrigin:g,nodeExtent:y,zIndexMode:x}){return q.useContext(hs)?K.jsx(K.Fragment,{children:n}):K.jsx(jS,{initialNodes:o,initialEdges:i,defaultNodes:s,defaultEdges:u,initialWidth:c,initialHeight:f,fitView:h,initialFitViewOptions:p,initialMinZoom:m,initialMaxZoom:v,nodeOrigin:g,nodeExtent:y,zIndexMode:x,children:n})}const US={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function WS({nodes:n,edges:o,defaultNodes:i,defaultEdges:s,className:u,nodeTypes:c,edgeTypes:f,onNodeClick:h,onEdgeClick:p,onInit:m,onMove:v,onMoveStart:g,onMoveEnd:y,onConnect:x,onConnectStart:S,onConnectEnd:k,onClickConnectStart:N,onClickConnectEnd:E,onNodeMouseEnter:L,onNodeMouseMove:_,onNodeMouseLeave:C,onNodeContextMenu:F,onNodeDoubleClick:D,onNodeDragStart:O,onNodeDrag:Y,onNodeDragStop:Q,onNodesDelete:ne,onEdgesDelete:j,onDelete:U,onSelectionChange:b,onSelectionDragStart:z,onSelectionDrag:B,onSelectionDragStop:R,onSelectionContextMenu:W,onSelectionStart:P,onSelectionEnd:I,onBeforeDelete:$,connectionMode:Z,connectionLineType:G=Fn.Bezier,connectionLineStyle:le,connectionLineComponent:ie,connectionLineContainerStyle:he,deleteKeyCode:fe="Backspace",selectionKeyCode:pe="Shift",selectionOnDrag:oe=!1,selectionMode:me=oi.Full,panActivationKeyCode:Ee="Space",multiSelectionKeyCode:Se=li()?"Meta":"Control",zoomActivationKeyCode:xe=li()?"Meta":"Control",snapToGrid:ge,snapGrid:ke,onlyRenderVisibleElements:Ie=!1,selectNodesOnDrag:Ne,nodesDraggable:Be,autoPanOnNodeFocus:Pt,nodesConnectable:ft,nodesFocusable:dt,nodeOrigin:xt=Gp,edgesFocusable:Zt,edgesReconnectable:hn,elementsSelectable:pr=!0,defaultViewport:Hn=vx,minZoom:qt=.5,maxZoom:bt=2,translateExtent:Vn=ri,preventScrolling:pi=!0,nodeExtent:Jt,defaultMarkerColor:jn="#b1b1b7",zoomOnScroll:ys=!0,zoomOnPinch:gi=!0,panOnScroll:mi=!1,panOnScrollSpeed:vs=.5,panOnScrollMode:to=ur.Free,zoomOnDoubleClick:no=!0,panOnDrag:ro=!0,onPaneClick:oo,onPaneMouseEnter:io,onPaneMouseMove:pn,onPaneMouseLeave:gn,onPaneScroll:yi,onPaneContextMenu:vi,paneClickDistance:wi=1,nodeClickDistance:xi=0,children:Si,onReconnect:lo,onReconnectStart:_i,onReconnectEnd:Bn,onEdgeContextMenu:so,onEdgeDoubleClick:Un,onEdgeMouseEnter:ws,onEdgeMouseMove:Wn,onEdgeMouseLeave:gr,reconnectRadius:mr=10,onNodesChange:uo,onEdgesChange:xs,noDragClassName:Ss="nodrag",noWheelClassName:_s="nowheel",noPanClassName:Vt="nopan",fitView:ao,fitViewOptions:co,connectOnClick:Es,attributionPosition:Ei,proOptions:ki,defaultEdgeOptions:Ni,elevateNodesOnSelect:Ci=!0,elevateEdgesOnSelect:ks=!1,disableKeyboardA11y:Mi=!1,autoPanOnConnect:Fe,autoPanOnNodeDrag:Ns,autoPanSpeed:fo,connectionRadius:Pi,isValidConnection:yr,onError:Cs,style:zi,id:Xn,nodeDragThreshold:St,connectionDragThreshold:Ms,viewport:ht,onViewportChange:Ps,width:zs,height:Is,colorMode:vr="light",debug:wr,onScroll:jt,ariaLabelConfig:xr,zIndexMode:Ii="basic",...Ts},ho){const Sr=Xn||"1",po=_x(vr),Yn=q.useCallback(Ti=>{Ti.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),jt==null||jt(Ti)},[jt]);return K.jsx("div",{"data-testid":"rf__wrapper",...Ts,onScroll:Yn,style:{...zi,...US},ref:ho,className:We(["react-flow",u,po]),id:Xn,role:"application",children:K.jsxs(BS,{nodes:n,edges:o,width:zs,height:Is,fitView:ao,fitViewOptions:co,minZoom:qt,maxZoom:bt,nodeOrigin:xt,nodeExtent:Jt,zIndexMode:Ii,children:[K.jsx(HS,{onInit:m,onNodeClick:h,onEdgeClick:p,onNodeMouseEnter:L,onNodeMouseMove:_,onNodeMouseLeave:C,onNodeContextMenu:F,onNodeDoubleClick:D,nodeTypes:c,edgeTypes:f,connectionLineType:G,connectionLineStyle:le,connectionLineComponent:ie,connectionLineContainerStyle:he,selectionKeyCode:pe,selectionOnDrag:oe,selectionMode:me,deleteKeyCode:fe,multiSelectionKeyCode:Se,panActivationKeyCode:Ee,zoomActivationKeyCode:xe,onlyRenderVisibleElements:Ie,defaultViewport:Hn,translateExtent:Vn,minZoom:qt,maxZoom:bt,preventScrolling:pi,zoomOnScroll:ys,zoomOnPinch:gi,zoomOnDoubleClick:no,panOnScroll:mi,panOnScrollSpeed:vs,panOnScrollMode:to,panOnDrag:ro,onPaneClick:oo,onPaneMouseEnter:io,onPaneMouseMove:pn,onPaneMouseLeave:gn,onPaneScroll:yi,onPaneContextMenu:vi,paneClickDistance:wi,nodeClickDistance:xi,onSelectionContextMenu:W,onSelectionStart:P,onSelectionEnd:I,onReconnect:lo,onReconnectStart:_i,onReconnectEnd:Bn,onEdgeContextMenu:so,onEdgeDoubleClick:Un,onEdgeMouseEnter:ws,onEdgeMouseMove:Wn,onEdgeMouseLeave:gr,reconnectRadius:mr,defaultMarkerColor:jn,noDragClassName:Ss,noWheelClassName:_s,noPanClassName:Vt,rfId:Sr,disableKeyboardA11y:Mi,nodeExtent:Jt,viewport:ht,onViewportChange:Ps}),K.jsx(Sx,{nodes:n,edges:o,defaultNodes:i,defaultEdges:s,onConnect:x,onConnectStart:S,onConnectEnd:k,onClickConnectStart:N,onClickConnectEnd:E,nodesDraggable:Be,autoPanOnNodeFocus:Pt,nodesConnectable:ft,nodesFocusable:dt,edgesFocusable:Zt,edgesReconnectable:hn,elementsSelectable:pr,elevateNodesOnSelect:Ci,elevateEdgesOnSelect:ks,minZoom:qt,maxZoom:bt,nodeExtent:Jt,onNodesChange:uo,onEdgesChange:xs,snapToGrid:ge,snapGrid:ke,connectionMode:Z,translateExtent:Vn,connectOnClick:Es,defaultEdgeOptions:Ni,fitView:ao,fitViewOptions:co,onNodesDelete:ne,onEdgesDelete:j,onDelete:U,onNodeDragStart:O,onNodeDrag:Y,onNodeDragStop:Q,onSelectionDrag:B,onSelectionDragStart:z,onSelectionDragStop:R,onMove:v,onMoveStart:g,onMoveEnd:y,noPanClassName:Vt,nodeOrigin:xt,rfId:Sr,autoPanOnConnect:Fe,autoPanOnNodeDrag:Ns,autoPanSpeed:fo,onError:Cs,connectionRadius:Pi,isValidConnection:yr,selectNodesOnDrag:Ne,nodeDragThreshold:St,connectionDragThreshold:Ms,onBeforeDelete:$,debug:wr,ariaLabelConfig:xr,zIndexMode:Ii}),K.jsx(yx,{onSelectionChange:b}),Si,K.jsx(dx,{proOptions:ki,position:Ei}),K.jsx(fx,{rfId:Sr,disableKeyboardA11y:Mi})]})})}var v_=Jp(WS);const XS=n=>{var o;return(o=n.domNode)==null?void 0:o.querySelector(".react-flow__edgelabel-renderer")};function w_({children:n}){const o=Ce(XS);return o?dm.createPortal(n,o):null}function x_(){const n=De();return q.useCallback(o=>{const{domNode:i,updateNodeInternals:s}=n.getState(),u=Array.isArray(o)?o:[o],c=new Map;u.forEach(f=>{const h=i==null?void 0:i.querySelector(`.react-flow__node[data-id="${f}"]`);h&&c.set(f,{id:f,nodeElement:h,force:!0})}),requestAnimationFrame(()=>s(c,{triggerFitView:!1}))},[])}function S_(n){const[o,i]=q.useState(n),s=q.useCallback(u=>i(c=>qp(u,c)),[]);return[o,i,s]}function __(n){const[o,i]=q.useState(n),s=q.useCallback(u=>i(c=>bp(u,c)),[]);return[o,i,s]}function YS({dimensions:n,lineWidth:o,variant:i,className:s}){return K.jsx("path",{strokeWidth:o,d:`M${n[0]/2} 0 V${n[1]} M0 ${n[1]/2} H${n[0]}`,className:We(["react-flow__background-pattern",i,s])})}function QS({radius:n,className:o}){return K.jsx("circle",{cx:n,cy:n,r:n,className:We(["react-flow__background-pattern","dots",o])})}var On;(function(n){n.Lines="lines",n.Dots="dots",n.Cross="cross"})(On||(On={}));const KS={[On.Dots]:1,[On.Lines]:1,[On.Cross]:6},GS=n=>({transform:n.transform,patternId:`pattern-${n.rfId}`});function Eg({id:n,variant:o=On.Dots,gap:i=20,size:s,lineWidth:u=1,offset:c=0,color:f,bgColor:h,style:p,className:m,patternClassName:v}){const g=q.useRef(null),{transform:y,patternId:x}=Ce(GS,$e),S=s||KS[o],k=o===On.Dots,N=o===On.Cross,E=Array.isArray(i)?i:[i,i],L=[E[0]*y[2]||1,E[1]*y[2]||1],_=S*y[2],C=Array.isArray(c)?c:[c,c],F=N?[_,_]:L,D=[C[0]*y[2]||1+F[0]/2,C[1]*y[2]||1+F[1]/2],O=`${x}${n||""}`;return K.jsxs("svg",{className:We(["react-flow__background",m]),style:{...p,...gs,"--xy-background-color-props":h,"--xy-background-pattern-color-props":f},ref:g,"data-testid":"rf__background",children:[K.jsx("pattern",{id:O,x:y[0]%L[0],y:y[1]%L[1],width:L[0],height:L[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${D[0]},-${D[1]})`,children:k?K.jsx(QS,{radius:_/2,className:v}):K.jsx(YS,{dimensions:F,lineWidth:u,variant:o,className:v})}),K.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${O})`})]})}Eg.displayName="Background";const E_=q.memo(Eg);function ZS(){return K.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:K.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function qS(){return K.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:K.jsx("path",{d:"M0 0h32v4.2H0z"})})}function bS(){return K.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:K.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function JS(){return K.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:K.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function e_(){return K.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:K.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function Vl({children:n,className:o,...i}){return K.jsx("button",{type:"button",className:We(["react-flow__controls-button",o]),...i,children:n})}const t_=n=>({isInteractive:n.nodesDraggable||n.nodesConnectable||n.elementsSelectable,minZoomReached:n.transform[2]<=n.minZoom,maxZoomReached:n.transform[2]>=n.maxZoom,ariaLabelConfig:n.ariaLabelConfig});function kg({style:n,showZoom:o=!0,showFitView:i=!0,showInteractive:s=!0,fitViewOptions:u,onZoomIn:c,onZoomOut:f,onFitView:h,onInteractiveChange:p,className:m,children:v,position:g="bottom-left",orientation:y="vertical","aria-label":x}){const S=De(),{isInteractive:k,minZoomReached:N,maxZoomReached:E,ariaLabelConfig:L}=Ce(t_,$e),{zoomIn:_,zoomOut:C,fitView:F}=nc(),D=()=>{_(),c==null||c()},O=()=>{C(),f==null||f()},Y=()=>{F(u),h==null||h()},Q=()=>{S.setState({nodesDraggable:!k,nodesConnectable:!k,elementsSelectable:!k}),p==null||p(!k)},ne=y==="horizontal"?"horizontal":"vertical";return K.jsxs(ps,{className:We(["react-flow__controls",ne,m]),position:g,style:n,"data-testid":"rf__controls","aria-label":x??L["controls.ariaLabel"],children:[o&&K.jsxs(K.Fragment,{children:[K.jsx(Vl,{onClick:D,className:"react-flow__controls-zoomin",title:L["controls.zoomIn.ariaLabel"],"aria-label":L["controls.zoomIn.ariaLabel"],disabled:E,children:K.jsx(ZS,{})}),K.jsx(Vl,{onClick:O,className:"react-flow__controls-zoomout",title:L["controls.zoomOut.ariaLabel"],"aria-label":L["controls.zoomOut.ariaLabel"],disabled:N,children:K.jsx(qS,{})})]}),i&&K.jsx(Vl,{className:"react-flow__controls-fitview",onClick:Y,title:L["controls.fitView.ariaLabel"],"aria-label":L["controls.fitView.ariaLabel"],children:K.jsx(bS,{})}),s&&K.jsx(Vl,{className:"react-flow__controls-interactive",onClick:Q,title:L["controls.interactive.ariaLabel"],"aria-label":L["controls.interactive.ariaLabel"],children:k?K.jsx(e_,{}):K.jsx(JS,{})}),v]})}kg.displayName="Controls";const k_=q.memo(kg);function n_({id:n,x:o,y:i,width:s,height:u,style:c,color:f,strokeColor:h,strokeWidth:p,className:m,borderRadius:v,shapeRendering:g,selected:y,onClick:x}){const{background:S,backgroundColor:k}=c||{},N=f||S||k;return K.jsx("rect",{className:We(["react-flow__minimap-node",{selected:y},m]),x:o,y:i,rx:v,ry:v,width:s,height:u,style:{fill:N,stroke:h,strokeWidth:p},shapeRendering:g,onClick:x?E=>x(E,n):void 0})}const r_=q.memo(n_),o_=n=>n.nodes.map(o=>o.id),Na=n=>n instanceof Function?n:()=>n;function i_({nodeStrokeColor:n,nodeColor:o,nodeClassName:i="",nodeBorderRadius:s=5,nodeStrokeWidth:u,nodeComponent:c=r_,onClick:f}){const h=Ce(o_,$e),p=Na(o),m=Na(n),v=Na(i),g=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return K.jsx(K.Fragment,{children:h.map(y=>K.jsx(s_,{id:y,nodeColorFunc:p,nodeStrokeColorFunc:m,nodeClassNameFunc:v,nodeBorderRadius:s,nodeStrokeWidth:u,NodeComponent:c,onClick:f,shapeRendering:g},y))})}function l_({id:n,nodeColorFunc:o,nodeStrokeColorFunc:i,nodeClassNameFunc:s,nodeBorderRadius:u,nodeStrokeWidth:c,shapeRendering:f,NodeComponent:h,onClick:p}){const{node:m,x:v,y:g,width:y,height:x}=Ce(S=>{const k=S.nodeLookup.get(n);if(!k)return{node:void 0,x:0,y:0,width:0,height:0};const N=k.internals.userNode,{x:E,y:L}=k.internals.positionAbsolute,{width:_,height:C}=dn(N);return{node:N,x:E,y:L,width:_,height:C}},$e);return!m||m.hidden||!Np(m)?null:K.jsx(h,{x:v,y:g,width:y,height:x,style:m.style,selected:!!m.selected,className:s(m),color:o(m),borderRadius:u,strokeColor:i(m),strokeWidth:c,shapeRendering:f,onClick:p,id:m.id})}const s_=q.memo(l_);var u_=q.memo(i_);const a_=200,c_=150,f_=n=>!n.hidden,d_=n=>{const o={x:-n.transform[0]/n.transform[2],y:-n.transform[1]/n.transform[2],width:n.width/n.transform[2],height:n.height/n.transform[2]};return{viewBB:o,boundingRect:n.nodeLookup.size>0?kp(fi(n.nodeLookup,{filter:f_}),o):o,rfId:n.rfId,panZoom:n.panZoom,translateExtent:n.translateExtent,flowWidth:n.width,flowHeight:n.height,ariaLabelConfig:n.ariaLabelConfig}},h_="react-flow__minimap-desc";function Ng({style:n,className:o,nodeStrokeColor:i,nodeColor:s,nodeClassName:u="",nodeBorderRadius:c=5,nodeStrokeWidth:f,nodeComponent:h,bgColor:p,maskColor:m,maskStrokeColor:v,maskStrokeWidth:g,position:y="bottom-right",onClick:x,onNodeClick:S,pannable:k=!1,zoomable:N=!1,ariaLabel:E,inversePan:L,zoomStep:_=1,offsetScale:C=5}){const F=De(),D=q.useRef(null),{boundingRect:O,viewBB:Y,rfId:Q,panZoom:ne,translateExtent:j,flowWidth:U,flowHeight:b,ariaLabelConfig:z}=Ce(d_,$e),B=(n==null?void 0:n.width)??a_,R=(n==null?void 0:n.height)??c_,W=O.width/B,P=O.height/R,I=Math.max(W,P),$=I*B,Z=I*R,G=C*I,le=O.x-($-O.width)/2-G,ie=O.y-(Z-O.height)/2-G,he=$+G*2,fe=Z+G*2,pe=`${h_}-${Q}`,oe=q.useRef(0),me=q.useRef();oe.current=I,q.useEffect(()=>{if(D.current&&ne)return me.current=I1({domNode:D.current,panZoom:ne,getTransform:()=>F.getState().transform,getViewScale:()=>oe.current}),()=>{var ge;(ge=me.current)==null||ge.destroy()}},[ne]),q.useEffect(()=>{var ge;(ge=me.current)==null||ge.update({translateExtent:j,width:U,height:b,inversePan:L,pannable:k,zoomStep:_,zoomable:N})},[k,N,L,_,j,U,b]);const Ee=x?ge=>{var Ne;const[ke,Ie]=((Ne=me.current)==null?void 0:Ne.pointer(ge))||[0,0];x(ge,{x:ke,y:Ie})}:void 0,Se=S?q.useCallback((ge,ke)=>{const Ie=F.getState().nodeLookup.get(ke).internals.userNode;S(ge,Ie)},[]):void 0,xe=E??z["minimap.ariaLabel"];return K.jsx(ps,{position:y,style:{...n,"--xy-minimap-background-color-props":typeof p=="string"?p:void 0,"--xy-minimap-mask-background-color-props":typeof m=="string"?m:void 0,"--xy-minimap-mask-stroke-color-props":typeof v=="string"?v:void 0,"--xy-minimap-mask-stroke-width-props":typeof g=="number"?g*I:void 0,"--xy-minimap-node-background-color-props":typeof s=="string"?s:void 0,"--xy-minimap-node-stroke-color-props":typeof i=="string"?i:void 0,"--xy-minimap-node-stroke-width-props":typeof f=="number"?f:void 0},className:We(["react-flow__minimap",o]),"data-testid":"rf__minimap",children:K.jsxs("svg",{width:B,height:R,viewBox:`${le} ${ie} ${he} ${fe}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":pe,ref:D,onClick:Ee,children:[xe&&K.jsx("title",{id:pe,children:xe}),K.jsx(u_,{onClick:Se,nodeColor:s,nodeStrokeColor:i,nodeBorderRadius:c,nodeClassName:u,nodeStrokeWidth:f,nodeComponent:h}),K.jsx("path",{className:"react-flow__minimap-mask",d:`M${le-G},${ie-G}h${he+G*2}v${fe+G*2}h${-he-G*2}z
|
|
54
|
-
M${Y.x},${Y.y}h${Y.width}v${Y.height}h${-Y.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}Ng.displayName="MiniMap";const N_=q.memo(Ng),p_=n=>o=>n?`${Math.max(1/o.transform[2],1)}`:void 0,g_={[hr.Line]:"right",[hr.Handle]:"bottom-right"};function m_({nodeId:n,position:o,variant:i=hr.Handle,className:s,style:u=void 0,children:c,color:f,minWidth:h=10,minHeight:p=10,maxWidth:m=Number.MAX_VALUE,maxHeight:v=Number.MAX_VALUE,keepAspectRatio:g=!1,resizeDirection:y,autoScale:x=!0,shouldResize:S,onResizeStart:k,onResize:N,onResizeEnd:E}){const L=rg(),_=typeof n=="string"?n:L,C=De(),F=q.useRef(null),D=i===hr.Handle,O=Ce(q.useCallback(p_(D&&x),[D,x]),$e),Y=q.useRef(null),Q=o??g_[i];q.useEffect(()=>{if(!(!F.current||!_))return Y.current||(Y.current=Y1({domNode:F.current,nodeId:_,getStoreItems:()=>{const{nodeLookup:j,transform:U,snapGrid:b,snapToGrid:z,nodeOrigin:B,domNode:R}=C.getState();return{nodeLookup:j,transform:U,snapGrid:b,snapToGrid:z,nodeOrigin:B,paneDomNode:R}},onChange:(j,U)=>{const{triggerNodeChanges:b,nodeLookup:z,parentLookup:B,nodeOrigin:R}=C.getState(),W=[],P={x:j.x,y:j.y},I=z.get(_);if(I&&I.expandParent&&I.parentId){const $=I.origin??R,Z=j.width??I.measured.width??0,G=j.height??I.measured.height??0,le={id:I.id,parentId:I.parentId,rect:{width:Z,height:G,...Cp({x:j.x??I.position.x,y:j.y??I.position.y},{width:Z,height:G},I.parentId,z,$)}},ie=tc([le],z,B,R);W.push(...ie),P.x=j.x?Math.max($[0]*Z,j.x):void 0,P.y=j.y?Math.max($[1]*G,j.y):void 0}if(P.x!==void 0&&P.y!==void 0){const $={id:_,type:"position",position:{...P}};W.push($)}if(j.width!==void 0&&j.height!==void 0){const Z={id:_,type:"dimensions",resizing:!0,setAttributes:y?y==="horizontal"?"width":"height":!0,dimensions:{width:j.width,height:j.height}};W.push(Z)}for(const $ of U){const Z={...$,type:"position"};W.push(Z)}b(W)},onEnd:({width:j,height:U})=>{const b={id:_,type:"dimensions",resizing:!1,dimensions:{width:j,height:U}};C.getState().triggerNodeChanges([b])}})),Y.current.update({controlPosition:Q,boundaries:{minWidth:h,minHeight:p,maxWidth:m,maxHeight:v},keepAspectRatio:g,resizeDirection:y,onResizeStart:k,onResize:N,onResizeEnd:E,shouldResize:S}),()=>{var j;(j=Y.current)==null||j.destroy()}},[Q,h,p,m,v,g,k,N,E,S]);const ne=Q.split("-");return K.jsx("div",{className:We(["react-flow__resize-control","nodrag",...ne,i,s]),ref:F,style:{...u,scale:O,...f&&{[D?"backgroundColor":"borderColor"]:f}},children:c})}const Hh=q.memo(m_);function C_({nodeId:n,isVisible:o=!0,handleClassName:i,handleStyle:s,lineClassName:u,lineStyle:c,color:f,minWidth:h=10,minHeight:p=10,maxWidth:m=Number.MAX_VALUE,maxHeight:v=Number.MAX_VALUE,keepAspectRatio:g=!1,autoScale:y=!0,shouldResize:x,onResizeStart:S,onResize:k,onResizeEnd:N}){return o?K.jsxs(K.Fragment,{children:[V1.map(E=>K.jsx(Hh,{className:u,style:c,nodeId:n,position:E,variant:hr.Line,color:f,minWidth:h,minHeight:p,maxWidth:m,maxHeight:v,onResizeStart:S,keepAspectRatio:g,autoScale:y,shouldResize:x,onResize:k,onResizeEnd:N},E)),H1.map(E=>K.jsx(Hh,{className:i,style:s,nodeId:n,position:E,color:f,minWidth:h,minHeight:p,maxWidth:m,maxHeight:v,onResizeStart:S,keepAspectRatio:g,autoScale:y,shouldResize:x,onResize:k,onResizeEnd:N},E))]}):null}export{ms as B,qr as C,w_ as E,ns as H,N_ as M,C_ as N,ye as P,jS as R,dm as a,
|
|
54
|
+
M${Y.x},${Y.y}h${Y.width}v${Y.height}h${-Y.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}Ng.displayName="MiniMap";const N_=q.memo(Ng),p_=n=>o=>n?`${Math.max(1/o.transform[2],1)}`:void 0,g_={[hr.Line]:"right",[hr.Handle]:"bottom-right"};function m_({nodeId:n,position:o,variant:i=hr.Handle,className:s,style:u=void 0,children:c,color:f,minWidth:h=10,minHeight:p=10,maxWidth:m=Number.MAX_VALUE,maxHeight:v=Number.MAX_VALUE,keepAspectRatio:g=!1,resizeDirection:y,autoScale:x=!0,shouldResize:S,onResizeStart:k,onResize:N,onResizeEnd:E}){const L=rg(),_=typeof n=="string"?n:L,C=De(),F=q.useRef(null),D=i===hr.Handle,O=Ce(q.useCallback(p_(D&&x),[D,x]),$e),Y=q.useRef(null),Q=o??g_[i];q.useEffect(()=>{if(!(!F.current||!_))return Y.current||(Y.current=Y1({domNode:F.current,nodeId:_,getStoreItems:()=>{const{nodeLookup:j,transform:U,snapGrid:b,snapToGrid:z,nodeOrigin:B,domNode:R}=C.getState();return{nodeLookup:j,transform:U,snapGrid:b,snapToGrid:z,nodeOrigin:B,paneDomNode:R}},onChange:(j,U)=>{const{triggerNodeChanges:b,nodeLookup:z,parentLookup:B,nodeOrigin:R}=C.getState(),W=[],P={x:j.x,y:j.y},I=z.get(_);if(I&&I.expandParent&&I.parentId){const $=I.origin??R,Z=j.width??I.measured.width??0,G=j.height??I.measured.height??0,le={id:I.id,parentId:I.parentId,rect:{width:Z,height:G,...Cp({x:j.x??I.position.x,y:j.y??I.position.y},{width:Z,height:G},I.parentId,z,$)}},ie=tc([le],z,B,R);W.push(...ie),P.x=j.x?Math.max($[0]*Z,j.x):void 0,P.y=j.y?Math.max($[1]*G,j.y):void 0}if(P.x!==void 0&&P.y!==void 0){const $={id:_,type:"position",position:{...P}};W.push($)}if(j.width!==void 0&&j.height!==void 0){const Z={id:_,type:"dimensions",resizing:!0,setAttributes:y?y==="horizontal"?"width":"height":!0,dimensions:{width:j.width,height:j.height}};W.push(Z)}for(const $ of U){const Z={...$,type:"position"};W.push(Z)}b(W)},onEnd:({width:j,height:U})=>{const b={id:_,type:"dimensions",resizing:!1,dimensions:{width:j,height:U}};C.getState().triggerNodeChanges([b])}})),Y.current.update({controlPosition:Q,boundaries:{minWidth:h,minHeight:p,maxWidth:m,maxHeight:v},keepAspectRatio:g,resizeDirection:y,onResizeStart:k,onResize:N,onResizeEnd:E,shouldResize:S}),()=>{var j;(j=Y.current)==null||j.destroy()}},[Q,h,p,m,v,g,k,N,E,S]);const ne=Q.split("-");return K.jsx("div",{className:We(["react-flow__resize-control","nodrag",...ne,i,s]),ref:F,style:{...u,scale:O,...f&&{[D?"backgroundColor":"borderColor"]:f}},children:c})}const Hh=q.memo(m_);function C_({nodeId:n,isVisible:o=!0,handleClassName:i,handleStyle:s,lineClassName:u,lineStyle:c,color:f,minWidth:h=10,minHeight:p=10,maxWidth:m=Number.MAX_VALUE,maxHeight:v=Number.MAX_VALUE,keepAspectRatio:g=!1,autoScale:y=!0,shouldResize:x,onResizeStart:S,onResize:k,onResizeEnd:N}){return o?K.jsxs(K.Fragment,{children:[V1.map(E=>K.jsx(Hh,{className:u,style:c,nodeId:n,position:E,variant:hr.Line,color:f,minWidth:h,minHeight:p,maxWidth:m,maxHeight:v,onResizeStart:S,keepAspectRatio:g,autoScale:y,shouldResize:x,onResize:k,onResizeEnd:N},E)),H1.map(E=>K.jsx(Hh,{className:i,style:s,nodeId:n,position:E,color:f,minWidth:h,minHeight:p,maxWidth:m,maxHeight:v,onResizeStart:S,keepAspectRatio:g,autoScale:y,shouldResize:x,onResize:k,onResizeEnd:N},E))]}):null}export{ms as B,qr as C,w_ as E,ns as H,N_ as M,C_ as N,ye as P,jS as R,dm as a,De as b,nc as c,x_ as d,S_ as e,__ as f,Qw as g,u1 as h,qp as i,K as j,v_ as k,E_ as l,k_ as m,Vl as n,fm as r,Ce as u};
|