@winspan/claude-forge 3.6.39 → 3.6.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/convention/types.d.ts +15 -5
- package/dist/convention/types.d.ts.map +1 -1
- package/dist/daemon/engine-registry.d.ts.map +1 -1
- package/dist/daemon/engine-registry.js +6 -0
- package/dist/daemon/engine-registry.js.map +1 -1
- package/dist/daemon/handler-context.d.ts +5 -1
- package/dist/daemon/handler-context.d.ts.map +1 -1
- package/dist/daemon/handlers/post-tool-use-handler.d.ts.map +1 -1
- package/dist/daemon/handlers/post-tool-use-handler.js +59 -2
- package/dist/daemon/handlers/post-tool-use-handler.js.map +1 -1
- package/dist/daemon/handlers/pre-tool-use-handler.d.ts.map +1 -1
- package/dist/daemon/handlers/pre-tool-use-handler.js +25 -2
- package/dist/daemon/handlers/pre-tool-use-handler.js.map +1 -1
- package/dist/daemon/handlers/session-cleanup.d.ts +2 -0
- package/dist/daemon/handlers/session-cleanup.d.ts.map +1 -1
- package/dist/daemon/handlers/session-cleanup.js +20 -0
- package/dist/daemon/handlers/session-cleanup.js.map +1 -1
- package/dist/daemon/handlers/stop-handler.d.ts.map +1 -1
- package/dist/daemon/handlers/stop-handler.js +1 -0
- package/dist/daemon/handlers/stop-handler.js.map +1 -1
- package/dist/pipeline/completion-gate.d.ts +1 -0
- package/dist/pipeline/completion-gate.d.ts.map +1 -1
- package/dist/pipeline/completion-gate.js +43 -3
- package/dist/pipeline/completion-gate.js.map +1 -1
- package/dist/pipeline/completion-verifier.d.ts +75 -0
- package/dist/pipeline/completion-verifier.d.ts.map +1 -0
- package/dist/pipeline/completion-verifier.js +217 -0
- package/dist/pipeline/completion-verifier.js.map +1 -0
- package/dist/pipeline/diagnosis-service.d.ts +43 -0
- package/dist/pipeline/diagnosis-service.d.ts.map +1 -0
- package/dist/pipeline/diagnosis-service.js +136 -0
- package/dist/pipeline/diagnosis-service.js.map +1 -0
- package/dist/pipeline/execution-engine.d.ts +79 -0
- package/dist/pipeline/execution-engine.d.ts.map +1 -0
- package/dist/pipeline/execution-engine.js +227 -0
- package/dist/pipeline/execution-engine.js.map +1 -0
- package/dist/pipeline/node-type-sync.d.ts.map +1 -1
- package/dist/pipeline/node-type-sync.js +25 -22
- package/dist/pipeline/node-type-sync.js.map +1 -1
- package/dist/pipeline/plan-service.d.ts +58 -0
- package/dist/pipeline/plan-service.d.ts.map +1 -0
- package/dist/pipeline/plan-service.js +382 -0
- package/dist/pipeline/plan-service.js.map +1 -0
- package/dist/pipeline/strategy-selector.d.ts +41 -0
- package/dist/pipeline/strategy-selector.d.ts.map +1 -0
- package/dist/pipeline/strategy-selector.js +112 -0
- package/dist/pipeline/strategy-selector.js.map +1 -0
- package/dist/pipeline/template-evolver.d.ts +45 -0
- package/dist/pipeline/template-evolver.d.ts.map +1 -0
- package/dist/pipeline/template-evolver.js +223 -0
- package/dist/pipeline/template-evolver.js.map +1 -0
- package/dist/storage/repositories/node-attempt-repository.d.ts +29 -0
- package/dist/storage/repositories/node-attempt-repository.d.ts.map +1 -0
- package/dist/storage/repositories/node-attempt-repository.js +57 -0
- package/dist/storage/repositories/node-attempt-repository.js.map +1 -0
- package/dist/storage/repositories/pipeline-plan-repository.d.ts +75 -0
- package/dist/storage/repositories/pipeline-plan-repository.d.ts.map +1 -0
- package/dist/storage/repositories/pipeline-plan-repository.js +123 -0
- package/dist/storage/repositories/pipeline-plan-repository.js.map +1 -0
- package/dist/storage/repositories/template-evolution-repository.d.ts +39 -0
- package/dist/storage/repositories/template-evolution-repository.d.ts.map +1 -0
- package/dist/storage/repositories/template-evolution-repository.js +83 -0
- package/dist/storage/repositories/template-evolution-repository.js.map +1 -0
- package/dist/storage/sqlite.d.ts +8 -0
- package/dist/storage/sqlite.d.ts.map +1 -1
- package/dist/storage/sqlite.js +13 -0
- package/dist/storage/sqlite.js.map +1 -1
- package/dist/web/routes/evolution.d.ts +4 -0
- package/dist/web/routes/evolution.d.ts.map +1 -0
- package/dist/web/routes/evolution.js +61 -0
- package/dist/web/routes/evolution.js.map +1 -0
- package/dist/web/routes/plans.d.ts +5 -0
- package/dist/web/routes/plans.d.ts.map +1 -0
- package/dist/web/routes/plans.js +163 -0
- package/dist/web/routes/plans.js.map +1 -0
- package/dist/web/routes/templates.d.ts +4 -0
- package/dist/web/routes/templates.d.ts.map +1 -0
- package/dist/web/routes/templates.js +117 -0
- package/dist/web/routes/templates.js.map +1 -0
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +6 -0
- package/dist/web/server.js.map +1 -1
- package/dist/web-static/assets/Analytics-Bo74j97W.js +1 -0
- package/dist/web-static/assets/BatchProgress-BQ533tSf.js +1 -0
- package/dist/web-static/assets/{Breadcrumb-DbDeWYcH.js → Breadcrumb-DtfwnOx6.js} +1 -1
- package/dist/web-static/assets/{Config-yTRFpmlP.js → Config-DhfQsbT1.js} +1 -1
- package/dist/web-static/assets/{ConfirmDialog-CH1HyRaY.js → ConfirmDialog-CVzB7X5y.js} +1 -1
- package/dist/web-static/assets/{Conventions-DaqIk41m.js → Conventions-BobuQiOk.js} +1 -1
- package/dist/web-static/assets/Dashboard-Bj28rnDe.js +1 -0
- package/dist/web-static/assets/{ErrorState-HW0OjEYK.js → ErrorState-DXHA8lr8.js} +1 -1
- package/dist/web-static/assets/Events-C0y7WcDP.js +1 -0
- package/dist/web-static/assets/Evolution-DimZAXFS.js +1 -0
- package/dist/web-static/assets/Knowledge-Y1lX6vor.js +2 -0
- package/dist/web-static/assets/{NodeTypes-B5E6NYKn.js → NodeTypes-DyrDqhBp.js} +1 -1
- package/dist/web-static/assets/{Pagination-ooTI9JPa.js → Pagination-lp8b_3NR.js} +1 -1
- package/dist/web-static/assets/{PipelineDetail-DCnqD5lr.js → PipelineDetail-DGKz18zu.js} +3 -3
- package/dist/web-static/assets/{PipelineTemplates-CxGoLw6Q.js → PipelineTemplates-D4zvL6I1.js} +1 -1
- package/dist/web-static/assets/Pipelines-CR9oD3Xy.js +2 -0
- package/dist/web-static/assets/ProjectDetail-RfdtEvTT.js +1 -0
- package/dist/web-static/assets/Projects-RGIPdiJn.js +1 -0
- package/dist/web-static/assets/Quality-BdvL1VQn.js +3 -0
- package/dist/web-static/assets/{SessionDetail-DleCNmQH.js → SessionDetail-BNDIfmmq.js} +1 -1
- package/dist/web-static/assets/{Sessions-Dz6xFq_4.js → Sessions-CorfQV78.js} +2 -2
- package/dist/web-static/assets/{BatchProgress-CIrC9RcC.js → Skeleton-B7PVDJJ_.js} +1 -1
- package/dist/web-static/assets/Skills-BJt0OrKj.js +1 -0
- package/dist/web-static/assets/TemplateDetail-DOfBYdQ3.js +1 -0
- package/dist/web-static/assets/Templates-Cp3yC5tv.js +1 -0
- package/dist/web-static/assets/{client-B_-7qCOP.js → client-BhcjNvkG.js} +1 -1
- package/dist/web-static/assets/index-CqwJts5v.css +2 -0
- package/dist/web-static/assets/index-DdmJVOxm.js +2 -0
- package/dist/web-static/assets/{ui-B2gvOcFY.js → ui-CDL3BZ13.js} +1 -1
- package/dist/web-static/assets/useDebounce-DNfPs3Tv.js +1 -0
- package/dist/web-static/assets/vendor-DRGPi8ui.js +9 -0
- package/dist/web-static/assets/{vendor-charts-BXsEmmv5.js → vendor-charts-9eVsQvUV.js} +4 -4
- package/dist/web-static/assets/{vendor-editor-DYIoTHFO.js → vendor-editor-B1NX2ipj.js} +1 -1
- package/dist/web-static/assets/vendor-flow-srkes8If.js +7 -0
- package/dist/web-static/assets/{vendor-motion-BsfSkSjj.js → vendor-motion-CQmdgnI8.js} +2 -2
- package/dist/web-static/assets/{vendor-query-BF-uT_c5.js → vendor-query-DqPOMnuX.js} +1 -1
- package/dist/web-static/assets/{vendor-react-CXfI0Tes.js → vendor-react-DJI9oneq.js} +1 -1
- package/dist/web-static/index.html +11 -11
- package/package.json +2 -1
- package/dist/web-static/assets/Analytics-BTMAlQBr.js +0 -1
- package/dist/web-static/assets/Dashboard-BS61GjKa.js +0 -1
- package/dist/web-static/assets/Events-DAms_1fs.js +0 -1
- package/dist/web-static/assets/Knowledge-CZhuou1K.js +0 -2
- package/dist/web-static/assets/Pipelines-DEuVx4hF.js +0 -2
- package/dist/web-static/assets/ProjectDetail-Dn01H3zi.js +0 -1
- package/dist/web-static/assets/Projects-D5-BfuFU.js +0 -1
- package/dist/web-static/assets/Quality-wvfdPtGB.js +0 -3
- package/dist/web-static/assets/Skills-CpHL-tyW.js +0 -1
- package/dist/web-static/assets/index-CN_edVMt.js +0 -2
- package/dist/web-static/assets/index-DLMLziRH.css +0 -2
- package/dist/web-static/assets/useDebounce-Bo1fLB5L.js +0 -1
- package/dist/web-static/assets/vendor-BpBCrKSP.js +0 -9
- package/dist/web-static/assets/vendor-flow-D-_WxBha.js +0 -7
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{a as e,t}from"./rolldown-runtime-COnpUsM8.js";import{f as n,i as r,mr as i,n as a,r as o,t as s}from"./vendor-BpBCrKSP.js";import{C as c,a as l,b as u,i as d,n as f,o as p,r as m,t as h}from"./vendor-charts-BXsEmmv5.js";var g=t((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),_=t(((e,t)=>{t.exports=g()})),v=e(i()),y=_(),b={error001:()=>`[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001`,error002:()=>`It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.`,error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>`The React Flow parent container needs a width and a height to render the graph.`,error005:()=>`Only child nodes can use a parent extent.`,error006:()=>`Can't create edge. An edge needs a source and a target.`,error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${e===`source`?n:r}", edge id: ${t}.`,error010:()=>`Handle: No node id found. Make sure to only use a Handle inside a custom Node.`,error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e=`react`)=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>`useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.`,error015:()=>`It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.`},x=[[-1/0,-1/0],[1/0,1/0]],S=[`Enter`,` `,`Escape`],C={"node.a11yDescription.default":`Press enter or space to select a node. Press delete to remove it and escape to cancel.`,"node.a11yDescription.keyboardDisabled":`Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.`,"node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":`Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.`,"controls.ariaLabel":`Control Panel`,"controls.zoomIn.ariaLabel":`Zoom In`,"controls.zoomOut.ariaLabel":`Zoom Out`,"controls.fitView.ariaLabel":`Fit View`,"controls.interactive.ariaLabel":`Toggle Interactivity`,"minimap.ariaLabel":`Mini Map`,"handle.ariaLabel":`Handle`},w;(function(e){e.Strict=`strict`,e.Loose=`loose`})(w||={});var T;(function(e){e.Free=`free`,e.Vertical=`vertical`,e.Horizontal=`horizontal`})(T||={});var E;(function(e){e.Partial=`partial`,e.Full=`full`})(E||={});var D={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null},O;(function(e){e.Bezier=`default`,e.Straight=`straight`,e.Step=`step`,e.SmoothStep=`smoothstep`,e.SimpleBezier=`simplebezier`})(O||={});var k;(function(e){e.Arrow=`arrow`,e.ArrowClosed=`arrowclosed`})(k||={});var A;(function(e){e.Left=`left`,e.Top=`top`,e.Right=`right`,e.Bottom=`bottom`})(A||={});var j={[A.Left]:A.Right,[A.Right]:A.Left,[A.Top]:A.Bottom,[A.Bottom]:A.Top};function M(e){return e===null?null:e?`valid`:`invalid`}var N=e=>`id`in e&&`source`in e&&`target`in e,P=e=>`id`in e&&`position`in e&&!(`source`in e)&&!(`target`in e),F=e=>`id`in e&&`internals`in e&&!(`source`in e)&&!(`target`in e),I=(e,t=[0,0])=>{let{width:n,height:r}=X(e),i=e.origin??t,a=n*i[0],o=r*i[1];return{x:e.position.x-a,y:e.position.y-o}},L=(e,t={nodeOrigin:[0,0]})=>e.length===0?{x:0,y:0,width:0,height:0}:re(e.reduce((e,n)=>{let r=typeof n==`string`,i=!t.nodeLookup&&!r?n:void 0;return t.nodeLookup&&(i=r?t.nodeLookup.get(n):F(n)?n:t.nodeLookup.get(n.id)),te(e,i?ae(i,t.nodeOrigin):{x:0,y:0,x2:0,y2:0})},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})),R=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(e=>{(t.filter===void 0||t.filter(e))&&(n=te(n,ae(e)),r=!0)}),r?re(n):{x:0,y:0,width:0,height:0}},z=(e,t,[n,r,i]=[0,0,1],a=!1,o=!1)=>{let s={...de(t,[n,r,i]),width:t.width/i,height:t.height/i},c=[];for(let t of e.values()){let{measured:e,selectable:n=!0,hidden:r=!1}=t;if(o&&!n||r)continue;let i=e.width??t.width??t.initialWidth??null,l=e.height??t.height??t.initialHeight??null,u=se(s,ie(t)),d=(i??0)*(l??0),f=a&&u>0;(!t.internals.handleBounds||f||u>=d||t.dragging)&&c.push(t)}return c},B=(e,t)=>{let n=new Set;return e.forEach(e=>{n.add(e.id)}),t.filter(e=>n.has(e.source)||n.has(e.target))};function V(e,t){let n=new Map,r=t?.nodes?new Set(t.nodes.map(e=>e.id)):null;return e.forEach(e=>{e.measured.width&&e.measured.height&&(t?.includeHiddenNodes||!e.hidden)&&(!r||r.has(e.id))&&n.set(e.id,e)}),n}async function H({nodes:e,width:t,height:n,panZoom:r,minZoom:i,maxZoom:a},o){if(e.size===0)return Promise.resolve(!0);let s=ge(R(V(e,o)),t,n,o?.minZoom??i,o?.maxZoom??a,o?.padding??.1);return await r.setViewport(s,{duration:o?.duration,ease:o?.ease,interpolate:o?.interpolate}),Promise.resolve(!0)}function U({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:i,onError:a}){let o=n.get(e),s=o.parentId?n.get(o.parentId):void 0,{x:c,y:l}=s?s.internals.positionAbsolute:{x:0,y:0},u=o.origin??r,d=o.extent||i;if(o.extent===`parent`&&!o.expandParent)if(!s)a?.(`005`,b.error005());else{let e=s.measured.width,t=s.measured.height;e&&t&&(d=[[c,l],[c+e,l+t]])}else s&&ve(o.extent)&&(d=[[o.extent[0][0]+c,o.extent[0][1]+l],[o.extent[1][0]+c,o.extent[1][1]+l]]);let f=ve(d)?K(t,d,o.measured):t;return(o.measured.width===void 0||o.measured.height===void 0)&&a?.(`015`,b.error015()),{position:{x:f.x-c+(o.measured.width??0)*u[0],y:f.y-l+(o.measured.height??0)*u[1]},positionAbsolute:f}}async function W({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:i}){let a=new Set(e.map(e=>e.id)),o=[];for(let e of n){if(e.deletable===!1)continue;let t=a.has(e.id),n=!t&&e.parentId&&o.find(t=>t.id===e.parentId);(t||n)&&o.push(e)}let s=new Set(t.map(e=>e.id)),c=r.filter(e=>e.deletable!==!1),l=B(o,c);for(let e of c)s.has(e.id)&&!l.find(t=>t.id===e.id)&&l.push(e);if(!i)return{edges:l,nodes:o};let u=await i({nodes:o,edges:l});return typeof u==`boolean`?u?{edges:l,nodes:o}:{edges:[],nodes:[]}:u}var G=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),K=(e={x:0,y:0},t,n)=>({x:G(e.x,t[0][0],t[1][0]-(n?.width??0)),y:G(e.y,t[0][1],t[1][1]-(n?.height??0))});function q(e,t,n){let{width:r,height:i}=X(n),{x:a,y:o}=n.internals.positionAbsolute;return K(e,[[a,o],[a+r,o+i]],t)}var ee=(e,t,n)=>e<t?G(Math.abs(e-t),1,t)/t:e>n?-G(Math.abs(e-n),1,t)/t:0,J=(e,t,n=15,r=40)=>[ee(e.x,r,t.width-r)*n,ee(e.y,r,t.height-r)*n],te=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),ne=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),re=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),ie=(e,t=[0,0])=>{let{x:n,y:r}=F(e)?e.internals.positionAbsolute:I(e,t);return{x:n,y:r,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},ae=(e,t=[0,0])=>{let{x:n,y:r}=F(e)?e.internals.positionAbsolute:I(e,t);return{x:n,y:r,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:r+(e.measured?.height??e.height??e.initialHeight??0)}},oe=(e,t)=>re(te(ne(e),ne(t))),se=(e,t)=>{let n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},ce=e=>Y(e.width)&&Y(e.height)&&Y(e.x)&&Y(e.y),Y=e=>!isNaN(e)&&isFinite(e),le=(e,t)=>{},ue=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),de=({x:e,y:t},[n,r,i],a=!1,o=[1,1])=>{let s={x:(e-n)/i,y:(t-r)/i};return a?ue(s,o):s},fe=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r});function pe(e,t){if(typeof e==`number`)return Math.floor((t-t/(1+e))*.5);if(typeof e==`string`&&e.endsWith(`px`)){let t=parseFloat(e);if(!Number.isNaN(t))return Math.floor(t)}if(typeof e==`string`&&e.endsWith(`%`)){let n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function me(e,t,n){if(typeof e==`string`||typeof e==`number`){let r=pe(e,n),i=pe(e,t);return{top:r,right:i,bottom:r,left:i,x:i*2,y:r*2}}if(typeof e==`object`){let r=pe(e.top??e.y??0,n),i=pe(e.bottom??e.y??0,n),a=pe(e.left??e.x??0,t),o=pe(e.right??e.x??0,t);return{top:r,right:o,bottom:i,left:a,x:a+o,y:r+i}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function he(e,t,n,r,i,a){let{x:o,y:s}=fe(e,[t,n,r]),{x:c,y:l}=fe({x:e.x+e.width,y:e.y+e.height},[t,n,r]),u=i-c,d=a-l;return{left:Math.floor(o),top:Math.floor(s),right:Math.floor(u),bottom:Math.floor(d)}}var ge=(e,t,n,r,i,a)=>{let o=me(a,t,n),s=(t-o.x)/e.width,c=(n-o.y)/e.height,l=G(Math.min(s,c),r,i),u=e.x+e.width/2,d=e.y+e.height/2,f=t/2-u*l,p=n/2-d*l,m=he(e,f,p,l,t,n),h={left:Math.min(m.left-o.left,0),top:Math.min(m.top-o.top,0),right:Math.min(m.right-o.right,0),bottom:Math.min(m.bottom-o.bottom,0)};return{x:f-h.left+h.right,y:p-h.top+h.bottom,zoom:l}},_e=()=>typeof navigator<`u`&&navigator?.userAgent?.indexOf(`Mac`)>=0;function ve(e){return e!=null&&e!==`parent`}function X(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function ye(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function be(e,t={width:0,height:0},n,r,i){let a={...e},o=r.get(n);if(o){let e=o.origin||i;a.x+=o.internals.positionAbsolute.x-(t.width??0)*e[0],a.y+=o.internals.positionAbsolute.y-(t.height??0)*e[1]}return a}function xe(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function Se(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function Ce(e){return{...C,...e||{}}}function we(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:i}){let{x:a,y:o}=Z(e),s=de({x:a-(i?.left??0),y:o-(i?.top??0)},r),{x:c,y:l}=n?ue(s,t):s;return{xSnapped:c,ySnapped:l,...s}}var Te=e=>({width:e.offsetWidth,height:e.offsetHeight}),Ee=e=>e?.getRootNode?.()||window?.document,De=[`INPUT`,`SELECT`,`TEXTAREA`];function Oe(e){let t=e.composedPath?.()?.[0]||e.target;return t?.nodeType===1?De.includes(t.nodeName)||t.hasAttribute(`contenteditable`)||!!t.closest(`.nokey`):!1}var ke=e=>`clientX`in e,Z=(e,t)=>{let n=ke(e),r=n?e.clientX:e.touches?.[0].clientX,i=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:i-(t?.top??0)}},Ae=(e,t,n,r,i)=>{let a=t.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).map(t=>{let a=t.getBoundingClientRect();return{id:t.getAttribute(`data-handleid`),type:e,nodeId:i,position:t.getAttribute(`data-handlepos`),x:(a.left-n.left)/r,y:(a.top-n.top)/r,...Te(t)}})};function je({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:i,sourceControlY:a,targetControlX:o,targetControlY:s}){let c=e*.125+i*.375+o*.375+n*.125,l=t*.125+a*.375+s*.375+r*.125;return[c,l,Math.abs(c-e),Math.abs(l-t)]}function Me(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function Ne({pos:e,x1:t,y1:n,x2:r,y2:i,c:a}){switch(e){case A.Left:return[t-Me(t-r,a),n];case A.Right:return[t+Me(r-t,a),n];case A.Top:return[t,n-Me(n-i,a)];case A.Bottom:return[t,n+Me(i-n,a)]}}function Pe({sourceX:e,sourceY:t,sourcePosition:n=A.Bottom,targetX:r,targetY:i,targetPosition:a=A.Top,curvature:o=.25}){let[s,c]=Ne({pos:n,x1:e,y1:t,x2:r,y2:i,c:o}),[l,u]=Ne({pos:a,x1:r,y1:i,x2:e,y2:t,c:o}),[d,f,p,m]=je({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:s,sourceControlY:c,targetControlX:l,targetControlY:u});return[`M${e},${t} C${s},${c} ${l},${u} ${r},${i}`,d,f,p,m]}function Fe({sourceX:e,sourceY:t,targetX:n,targetY:r}){let i=Math.abs(n-e)/2,a=n<e?n+i:n-i,o=Math.abs(r-t)/2;return[a,r<t?r+o:r-o,i,o]}function Ie({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:i=!1,zIndexMode:a=`basic`}){return a===`manual`?r:(i&&n?r+1e3:r)+Math.max(e.parentId||i&&e.selected?e.internals.z:0,t.parentId||i&&t.selected?t.internals.z:0)}function Le({sourceNode:e,targetNode:t,width:n,height:r,transform:i}){let a=te(ae(e),ae(t));return a.x===a.x2&&(a.x2+=1),a.y===a.y2&&(a.y2+=1),se({x:-i[0]/i[2],y:-i[1]/i[2],width:n/i[2],height:r/i[2]},re(a))>0}var Re=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||``}-${n}${r||``}`,ze=(e,t)=>t.some(t=>t.source===e.source&&t.target===e.target&&(t.sourceHandle===e.sourceHandle||!t.sourceHandle&&!e.sourceHandle)&&(t.targetHandle===e.targetHandle||!t.targetHandle&&!e.targetHandle)),Be=(e,t,n={})=>{if(!e.source||!e.target)return b.error006(),t;let r=n.getEdgeId||Re,i;return i=N(e)?{...e}:{...e,id:r(e)},ze(i,t)?t:(i.sourceHandle===null&&delete i.sourceHandle,i.targetHandle===null&&delete i.targetHandle,t.concat(i))};function Ve({sourceX:e,sourceY:t,targetX:n,targetY:r}){let[i,a,o,s]=Fe({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,a,o,s]}var He={[A.Left]:{x:-1,y:0},[A.Right]:{x:1,y:0},[A.Top]:{x:0,y:-1},[A.Bottom]:{x:0,y:1}},Ue=({source:e,sourcePosition:t=A.Bottom,target:n})=>t===A.Left||t===A.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},We=(e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2);function Ge({source:e,sourcePosition:t=A.Bottom,target:n,targetPosition:r=A.Top,center:i,offset:a,stepPosition:o}){let s=He[t],c=He[r],l={x:e.x+s.x*a,y:e.y+s.y*a},u={x:n.x+c.x*a,y:n.y+c.y*a},d=Ue({source:l,sourcePosition:t,target:u}),f=d.x===0?`y`:`x`,p=d[f],m=[],h,g,_={x:0,y:0},v={x:0,y:0},[,,y,b]=Fe({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[f]*c[f]===-1){f===`x`?(h=i.x??l.x+(u.x-l.x)*o,g=i.y??(l.y+u.y)/2):(h=i.x??(l.x+u.x)/2,g=i.y??l.y+(u.y-l.y)*o);let e=[{x:h,y:l.y},{x:h,y:u.y}],t=[{x:l.x,y:g},{x:u.x,y:g}];m=s[f]===p?f===`x`?e:t:f===`x`?t:e}else{let i=[{x:l.x,y:u.y}],o=[{x:u.x,y:l.y}];if(m=f===`x`?s.x===p?o:i:s.y===p?i:o,t===r){let t=Math.abs(e[f]-n[f]);if(t<=a){let r=Math.min(a-1,a-t);s[f]===p?_[f]=(l[f]>e[f]?-1:1)*r:v[f]=(u[f]>n[f]?-1:1)*r}}if(t!==r){let e=f===`x`?`y`:`x`,t=s[f]===c[e],n=l[e]>u[e],r=l[e]<u[e];(s[f]===1&&(!t&&n||t&&r)||s[f]!==1&&(!t&&r||t&&n))&&(m=f===`x`?i:o)}let d={x:l.x+_.x,y:l.y+_.y},y={x:u.x+v.x,y:u.y+v.y};Math.max(Math.abs(d.x-m[0].x),Math.abs(y.x-m[0].x))>=Math.max(Math.abs(d.y-m[0].y),Math.abs(y.y-m[0].y))?(h=(d.x+y.x)/2,g=m[0].y):(h=m[0].x,g=(d.y+y.y)/2)}let x={x:l.x+_.x,y:l.y+_.y},S={x:u.x+v.x,y:u.y+v.y};return[[e,...x.x!==m[0].x||x.y!==m[0].y?[x]:[],...m,...S.x!==m[m.length-1].x||S.y!==m[m.length-1].y?[S]:[],n],h,g,y,b]}function Ke(e,t,n,r){let i=Math.min(We(e,t)/2,We(t,n)/2,r),{x:a,y:o}=t;if(e.x===a&&a===n.x||e.y===o&&o===n.y)return`L${a} ${o}`;if(e.y===o){let t=e.x<n.x?-1:1,r=e.y<n.y?1:-1;return`L ${a+i*t},${o}Q ${a},${o} ${a},${o+i*r}`}let s=e.x<n.x?1:-1;return`L ${a},${o+i*(e.y<n.y?-1:1)}Q ${a},${o} ${a+i*s},${o}`}function qe({sourceX:e,sourceY:t,sourcePosition:n=A.Bottom,targetX:r,targetY:i,targetPosition:a=A.Top,borderRadius:o=5,centerX:s,centerY:c,offset:l=20,stepPosition:u=.5}){let[d,f,p,m,h]=Ge({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:i},targetPosition:a,center:{x:s,y:c},offset:l,stepPosition:u}),g=`M${d[0].x} ${d[0].y}`;for(let e=1;e<d.length-1;e++)g+=Ke(d[e-1],d[e],d[e+1],o);return g+=`L${d[d.length-1].x} ${d[d.length-1].y}`,[g,f,p,m,h]}function Je(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function Ye(e){let{sourceNode:t,targetNode:n}=e;if(!Je(t)||!Je(n))return null;let r=t.internals.handleBounds||Xe(t.handles),i=n.internals.handleBounds||Xe(n.handles),a=Qe(r?.source??[],e.sourceHandle),o=Qe(e.connectionMode===w.Strict?i?.target??[]:(i?.target??[]).concat(i?.source??[]),e.targetHandle);if(!a||!o)return e.onError?.(`008`,b.error008(a?`target`:`source`,{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;let s=a?.position||A.Bottom,c=o?.position||A.Top,l=Ze(t,a,s),u=Ze(n,o,c);return{sourceX:l.x,sourceY:l.y,targetX:u.x,targetY:u.y,sourcePosition:s,targetPosition:c}}function Xe(e){if(!e)return null;let t=[],n=[];for(let r of e)r.width=r.width??1,r.height=r.height??1,r.type===`source`?t.push(r):r.type===`target`&&n.push(r);return{source:t,target:n}}function Ze(e,t,n=A.Left,r=!1){let i=(t?.x??0)+e.internals.positionAbsolute.x,a=(t?.y??0)+e.internals.positionAbsolute.y,{width:o,height:s}=t??X(e);if(r)return{x:i+o/2,y:a+s/2};switch(t?.position??n){case A.Top:return{x:i+o/2,y:a};case A.Right:return{x:i+o,y:a+s/2};case A.Bottom:return{x:i+o/2,y:a+s};case A.Left:return{x:i,y:a+s/2}}}function Qe(e,t){return e&&(t?e.find(e=>e.id===t):e[0])||null}function $e(e,t){return e?typeof e==`string`?e:`${t?`${t}__`:``}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join(`&`)}`:``}function et(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:i}){let a=new Set;return e.reduce((e,o)=>([o.markerStart||r,o.markerEnd||i].forEach(r=>{if(r&&typeof r==`object`){let i=$e(r,t);a.has(i)||(e.push({id:i,color:r.color||n,...r}),a.add(i))}}),e),[]).sort((e,t)=>e.id.localeCompare(t.id))}var tt=1e3,nt=10,rt={nodeOrigin:[0,0],nodeExtent:x,elevateNodesOnSelect:!0,zIndexMode:`basic`,defaults:{}},it={...rt,checkEquality:!0};function at(e,t){let n={...e};for(let e in t)t[e]!==void 0&&(n[e]=t[e]);return n}function ot(e,t,n){let r=at(rt,n);for(let n of e.values())if(n.parentId)dt(n,e,t,r);else{let e=K(I(n,r.nodeOrigin),ve(n.extent)?n.extent:r.nodeExtent,X(n));n.internals.positionAbsolute=e}}function st(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;let n=[],r=[];for(let t of e.handles){let i={id:t.id,width:t.width??1,height:t.height??1,nodeId:e.id,x:t.x,y:t.y,position:t.position,type:t.type};t.type===`source`?n.push(i):t.type===`target`&&r.push(i)}return{source:n,target:r}}function ct(e){return e===`manual`}function lt(e,t,n,r={}){let i=at(it,r),a={i:0},o=new Map(t),s=i?.elevateNodesOnSelect&&!ct(i.zIndexMode)?tt:0,c=e.length>0,l=!1;t.clear(),n.clear();for(let u of e){let e=o.get(u.id);if(i.checkEquality&&u===e?.internals.userNode)t.set(u.id,e);else{let n=K(I(u,i.nodeOrigin),ve(u.extent)?u.extent:i.nodeExtent,X(u));e={...i.defaults,...u,measured:{width:u.measured?.width,height:u.measured?.height},internals:{positionAbsolute:n,handleBounds:st(u,e),z:ft(u,s,i.zIndexMode),userNode:u}},t.set(u.id,e)}(e.measured===void 0||e.measured.width===void 0||e.measured.height===void 0)&&!e.hidden&&(c=!1),u.parentId&&dt(e,t,n,r,a),l||=u.selected??!1}return{nodesInitialized:c,hasSelectedNodes:l}}function ut(e,t){if(!e.parentId)return;let n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function dt(e,t,n,r,i){let{elevateNodesOnSelect:a,nodeOrigin:o,nodeExtent:s,zIndexMode:c}=at(rt,r),l=e.parentId,u=t.get(l);if(!u){console.warn(`Parent node ${l} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}ut(e,n),i&&!u.parentId&&u.internals.rootParentIndex===void 0&&c===`auto`&&(u.internals.rootParentIndex=++i.i,u.internals.z=u.internals.z+i.i*nt),i&&u.internals.rootParentIndex!==void 0&&(i.i=u.internals.rootParentIndex);let{x:d,y:f,z:p}=pt(e,u,o,s,a&&!ct(c)?tt:0,c),{positionAbsolute:m}=e.internals,h=d!==m.x||f!==m.y;(h||p!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:h?{x:d,y:f}:m,z:p}})}function ft(e,t,n){let r=Y(e.zIndex)?e.zIndex:0;return ct(n)?r:r+(e.selected?t:0)}function pt(e,t,n,r,i,a){let{x:o,y:s}=t.internals.positionAbsolute,c=X(e),l=I(e,n),u=ve(e.extent)?K(l,e.extent,c):l,d=K({x:o+u.x,y:s+u.y},r,c);e.extent===`parent`&&(d=q(d,c,t));let f=ft(e,i,a),p=t.internals.z??0;return{x:d.x,y:d.y,z:p>=f?p+1:f}}function mt(e,t,n,r=[0,0]){let i=[],a=new Map;for(let n of e){let e=t.get(n.parentId);if(!e)continue;let r=oe(a.get(n.parentId)?.expandedRect??ie(e),n.rect);a.set(n.parentId,{expandedRect:r,parent:e})}return a.size>0&&a.forEach(({expandedRect:t,parent:a},o)=>{let s=a.internals.positionAbsolute,c=X(a),l=a.origin??r,u=t.x<s.x?Math.round(Math.abs(s.x-t.x)):0,d=t.y<s.y?Math.round(Math.abs(s.y-t.y)):0,f=Math.max(c.width,Math.round(t.width)),p=Math.max(c.height,Math.round(t.height)),m=(f-c.width)*l[0],h=(p-c.height)*l[1];(u>0||d>0||m||h)&&(i.push({id:o,type:`position`,position:{x:a.position.x-u+m,y:a.position.y-d+h}}),n.get(o)?.forEach(t=>{e.some(e=>e.id===t.id)||i.push({id:t.id,type:`position`,position:{x:t.position.x+u,y:t.position.y+d}})})),(c.width<t.width||c.height<t.height||u||d)&&i.push({id:o,type:`dimensions`,setAttributes:!0,dimensions:{width:f+(u?l[0]*u-m:0),height:p+(d?l[1]*d-h:0)}})}),i}function ht(e,t,n,r,i,a,o){let s=r?.querySelector(`.xyflow__viewport`),c=!1;if(!s)return{changes:[],updatedInternals:c};let l=[],u=window.getComputedStyle(s),{m22:d}=new window.DOMMatrixReadOnly(u.transform),f=[];for(let r of e.values()){let e=t.get(r.id);if(!e)continue;if(e.hidden){t.set(e.id,{...e,internals:{...e.internals,handleBounds:void 0}}),c=!0;continue}let s=Te(r.nodeElement),u=e.measured.width!==s.width||e.measured.height!==s.height;if(s.width&&s.height&&(u||!e.internals.handleBounds||r.force)){let p=r.nodeElement.getBoundingClientRect(),m=ve(e.extent)?e.extent:a,{positionAbsolute:h}=e.internals;e.parentId&&e.extent===`parent`?h=q(h,s,t.get(e.parentId)):m&&(h=K(h,m,s));let g={...e,measured:s,internals:{...e.internals,positionAbsolute:h,handleBounds:{source:Ae(`source`,r.nodeElement,p,d,e.id),target:Ae(`target`,r.nodeElement,p,d,e.id)}}};t.set(e.id,g),e.parentId&&dt(g,t,n,{nodeOrigin:i,zIndexMode:o}),c=!0,u&&(l.push({id:e.id,type:`dimensions`,dimensions:s}),e.expandParent&&e.parentId&&f.push({id:e.id,parentId:e.parentId,rect:ie(g,i)}))}}if(f.length>0){let e=mt(f,t,n,i);l.push(...e)}return{changes:l,updatedInternals:c}}async function gt({delta:e,panZoom:t,transform:n,translateExtent:r,width:i,height:a}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);let o=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[i,a]],r),s=!!o&&(o.x!==n[0]||o.y!==n[1]||o.k!==n[2]);return Promise.resolve(s)}function _t(e,t,n,r,i,a){let o=i,s=r.get(o)||new Map;r.set(o,s.set(n,t)),o=`${i}-${e}`;let c=r.get(o)||new Map;if(r.set(o,c.set(n,t)),a){o=`${i}-${e}-${a}`;let s=r.get(o)||new Map;r.set(o,s.set(n,t))}}function vt(e,t,n){e.clear(),t.clear();for(let r of n){let{source:n,target:i,sourceHandle:a=null,targetHandle:o=null}=r,s={edgeId:r.id,source:n,target:i,sourceHandle:a,targetHandle:o},c=`${n}-${a}--${i}-${o}`;_t(`source`,s,`${i}-${o}--${n}-${a}`,e,n,a),_t(`target`,s,c,e,i,o),t.set(r.id,r)}}function yt(e,t){if(!e.parentId)return!1;let n=t.get(e.parentId);return n?n.selected?!0:yt(n,t):!1}function bt(e,t,n){let r=e;do{if(r?.matches?.(t))return!0;if(r===n)return!1;r=r?.parentElement}while(r);return!1}function xt(e,t,n,r){let i=new Map;for(let[a,o]of e)if((o.selected||o.id===r)&&(!o.parentId||!yt(o,e))&&(o.draggable||t&&o.draggable===void 0)){let t=e.get(a);t&&i.set(a,{id:a,position:t.position||{x:0,y:0},distance:{x:n.x-t.internals.positionAbsolute.x,y:n.y-t.internals.positionAbsolute.y},extent:t.extent,parentId:t.parentId,origin:t.origin,expandParent:t.expandParent,internals:{positionAbsolute:t.internals.positionAbsolute||{x:0,y:0}},measured:{width:t.measured.width??0,height:t.measured.height??0}})}return i}function St({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){let i=[];for(let[e,a]of t){let t=n.get(e)?.internals.userNode;t&&i.push({...t,position:a.position,dragging:r})}if(!e)return[i[0],i];let a=n.get(e)?.internals.userNode;return[a?{...a,position:t.get(e)?.position||a.position,dragging:r}:i[0],i]}function Ct({dragItems:e,snapGrid:t,x:n,y:r}){let i=e.values().next().value;if(!i)return null;let a={x:n-i.distance.x,y:r-i.distance.y},o=ue(a,t);return{x:o.x-a.x,y:o.y-a.y}}function wt({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:i}){let a={x:null,y:null},o=0,s=new Map,c=!1,l={x:0,y:0},u=null,f=!1,m=null,h=!1,g=!1,_=null;function v({noDragClassName:v,handleSelector:y,domNode:b,isSelectable:x,nodeId:S,nodeClickDistance:C=0}){m=p(b);function w({x:e,y:n}){let{nodeLookup:i,nodeExtent:o,snapGrid:c,snapToGrid:l,nodeOrigin:u,onNodeDrag:d,onSelectionDrag:f,onError:p,updateNodePositions:m}=t();a={x:e,y:n};let h=!1,v=s.size>1,y=v&&o?ne(R(s)):null,b=v&&l?Ct({dragItems:s,snapGrid:c,x:e,y:n}):null;for(let[t,r]of s){if(!i.has(t))continue;let a={x:e-r.distance.x,y:n-r.distance.y};l&&(a=b?{x:Math.round(a.x+b.x),y:Math.round(a.y+b.y)}:ue(a,c));let s=null;if(v&&o&&!r.extent&&y){let{positionAbsolute:e}=r.internals,t=e.x-y.x+o[0][0],n=e.x+r.measured.width-y.x2+o[1][0],i=e.y-y.y+o[0][1],a=e.y+r.measured.height-y.y2+o[1][1];s=[[t,i],[n,a]]}let{position:d,positionAbsolute:f}=U({nodeId:t,nextPosition:a,nodeLookup:i,nodeExtent:s||o,nodeOrigin:u,onError:p});h=h||r.position.x!==d.x||r.position.y!==d.y,r.position=d,r.internals.positionAbsolute=f}if(g||=h,h&&(m(s,!0),_&&(r||d||!S&&f))){let[e,t]=St({nodeId:S,dragItems:s,nodeLookup:i});r?.(_,s,e,t),d?.(_,e,t),S||f?.(_,t)}}async function T(){if(!u)return;let{transform:e,panBy:n,autoPanSpeed:r,autoPanOnNodeDrag:i}=t();if(!i){c=!1,cancelAnimationFrame(o);return}let[s,d]=J(l,u,r);(s!==0||d!==0)&&(a.x=(a.x??0)-s/e[2],a.y=(a.y??0)-d/e[2],await n({x:s,y:d})&&w(a)),o=requestAnimationFrame(T)}function E(r){let{nodeLookup:i,multiSelectionActive:o,nodesDraggable:c,transform:l,snapGrid:d,snapToGrid:p,selectNodesOnDrag:m,onNodeDragStart:h,onSelectionDragStart:g,unselectNodesAndEdges:_}=t();f=!0,(!m||!x)&&!o&&S&&(i.get(S)?.selected||_()),x&&m&&S&&e?.(S);let v=we(r.sourceEvent,{transform:l,snapGrid:d,snapToGrid:p,containerBounds:u});if(a=v,s=xt(i,c,v,S),s.size>0&&(n||h||!S&&g)){let[e,t]=St({nodeId:S,dragItems:s,nodeLookup:i});n?.(r.sourceEvent,s,e,t),h?.(r.sourceEvent,e,t),S||g?.(r.sourceEvent,t)}}let D=d().clickDistance(C).on(`start`,e=>{let{domNode:n,nodeDragThreshold:r,transform:i,snapGrid:o,snapToGrid:s}=t();u=n?.getBoundingClientRect()||null,h=!1,g=!1,_=e.sourceEvent,r===0&&E(e),a=we(e.sourceEvent,{transform:i,snapGrid:o,snapToGrid:s,containerBounds:u}),l=Z(e.sourceEvent,u)}).on(`drag`,e=>{let{autoPanOnNodeDrag:n,transform:r,snapGrid:i,snapToGrid:o,nodeDragThreshold:d,nodeLookup:p}=t(),m=we(e.sourceEvent,{transform:r,snapGrid:i,snapToGrid:o,containerBounds:u});if(_=e.sourceEvent,(e.sourceEvent.type===`touchmove`&&e.sourceEvent.touches.length>1||S&&!p.has(S))&&(h=!0),!h){if(!c&&n&&f&&(c=!0,T()),!f){let t=Z(e.sourceEvent,u),n=t.x-l.x,r=t.y-l.y;Math.sqrt(n*n+r*r)>d&&E(e)}(a.x!==m.xSnapped||a.y!==m.ySnapped)&&s&&f&&(l=Z(e.sourceEvent,u),w(m))}}).on(`end`,e=>{if(!(!f||h)&&(c=!1,f=!1,cancelAnimationFrame(o),s.size>0)){let{nodeLookup:n,updateNodePositions:r,onNodeDragStop:a,onSelectionDragStop:o}=t();if(g&&=(r(s,!1),!1),i||a||!S&&o){let[t,r]=St({nodeId:S,dragItems:s,nodeLookup:n,dragging:!1});i?.(e.sourceEvent,s,t,r),a?.(e.sourceEvent,t,r),S||o?.(e.sourceEvent,r)}}}).filter(e=>{let t=e.target;return!e.button&&(!v||!bt(t,`.${v}`,b))&&(!y||bt(t,y,b))});m.call(D)}function y(){m?.on(`.drag`,null)}return{update:v,destroy:y}}function Tt(e,t,n){let r=[],i={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(let e of t.values())se(i,ie(e))>0&&r.push(e);return r}var Et=250;function Dt(e,t,n,r){let i=[],a=1/0,o=Tt(e,n,t+Et);for(let n of o){let o=[...n.internals.handleBounds?.source??[],...n.internals.handleBounds?.target??[]];for(let s of o){if(r.nodeId===s.nodeId&&r.type===s.type&&r.id===s.id)continue;let{x:o,y:c}=Ze(n,s,s.position,!0),l=Math.sqrt((o-e.x)**2+(c-e.y)**2);l>t||(l<a?(i=[{...s,x:o,y:c}],a=l):l===a&&i.push({...s,x:o,y:c}))}}if(!i.length)return null;if(i.length>1){let e=r.type===`source`?`target`:`source`;return i.find(t=>t.type===e)??i[0]}return i[0]}function Ot(e,t,n,r,i,a=!1){let o=r.get(e);if(!o)return null;let s=i===`strict`?o.internals.handleBounds?.[t]:[...o.internals.handleBounds?.source??[],...o.internals.handleBounds?.target??[]],c=(n?s?.find(e=>e.id===n):s?.[0])??null;return c&&a?{...c,...Ze(o,c,c.position,!0)}:c}function kt(e,t){return e||(t?.classList.contains(`target`)?`target`:t?.classList.contains(`source`)?`source`:null)}function At(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}var jt=()=>!0;function Mt(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:i,edgeUpdaterType:a,isTarget:o,domNode:s,nodeLookup:c,lib:l,autoPanOnConnect:u,flowId:d,panBy:f,cancelConnection:p,onConnectStart:m,onConnect:h,onConnectEnd:g,isValidConnection:_=jt,onReconnectEnd:v,updateConnection:y,getTransform:b,getFromHandle:x,autoPanSpeed:S,dragThreshold:C=1,handleDomNode:w}){let T=Ee(e.target),E=0,D,{x:O,y:k}=Z(e),M=kt(a,w),N=s?.getBoundingClientRect(),P=!1;if(!N||!M)return;let F=Ot(i,M,r,c,t);if(!F)return;let I=Z(e,N),L=!1,R=null,z=!1,B=null;function V(){if(!u||!N)return;let[e,t]=J(I,N,S);f({x:e,y:t}),E=requestAnimationFrame(V)}let H={...F,nodeId:i,type:M,position:F.position},U=c.get(i),W={inProgress:!0,isValid:null,from:Ze(U,H,A.Left,!0),fromHandle:H,fromPosition:H.position,fromNode:U,to:I,toHandle:null,toPosition:j[H.position],toNode:null,pointer:I};function G(){P=!0,y(W),m?.(e,{nodeId:i,handleId:r,handleType:M})}C===0&&G();function K(e){if(!P){let{x:t,y:n}=Z(e),r=t-O,i=n-k;if(!(r*r+i*i>C*C))return;G()}if(!x()||!H){q(e);return}let a=b();I=Z(e,N),D=Dt(de(I,a,!1,[1,1]),n,c,H),L||=(V(),!0);let s=Nt(e,{handle:D,connectionMode:t,fromNodeId:i,fromHandleId:r,fromType:o?`target`:`source`,isValidConnection:_,doc:T,lib:l,flowId:d,nodeLookup:c});B=s.handleDomNode,R=s.connection,z=At(!!D,s.isValid);let u=c.get(i),f=u?Ze(u,H,A.Left,!0):W.from,p={...W,from:f,isValid:z,to:s.toHandle&&z?fe({x:s.toHandle.x,y:s.toHandle.y},a):I,toHandle:s.toHandle,toPosition:z&&s.toHandle?s.toHandle.position:j[H.position],toNode:s.toHandle?c.get(s.toHandle.nodeId):null,pointer:I};y(p),W=p}function q(e){if(!(`touches`in e&&e.touches.length>0)){if(P){(D||B)&&R&&z&&h?.(R);let{inProgress:t,...n}=W,r={...n,toPosition:W.toHandle?W.toPosition:null};g?.(e,r),a&&v?.(e,r)}p(),cancelAnimationFrame(E),L=!1,z=!1,R=null,B=null,T.removeEventListener(`mousemove`,K),T.removeEventListener(`mouseup`,q),T.removeEventListener(`touchmove`,K),T.removeEventListener(`touchend`,q)}}T.addEventListener(`mousemove`,K),T.addEventListener(`mouseup`,q),T.addEventListener(`touchmove`,K),T.addEventListener(`touchend`,q)}function Nt(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:i,fromType:a,doc:o,lib:s,flowId:c,isValidConnection:l=jt,nodeLookup:u}){let d=a===`target`,f=t?o.querySelector(`.${s}-flow__handle[data-id="${c}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:p,y:m}=Z(e),h=o.elementFromPoint(p,m),g=h?.classList.contains(`${s}-flow__handle`)?h:f,_={handleDomNode:g,isValid:!1,connection:null,toHandle:null};if(g){let e=kt(void 0,g),t=g.getAttribute(`data-nodeid`),a=g.getAttribute(`data-handleid`),o=g.classList.contains(`connectable`),s=g.classList.contains(`connectableend`);if(!t||!e)return _;let c={source:d?t:r,sourceHandle:d?a:i,target:d?r:t,targetHandle:d?i:a};_.connection=c,_.isValid=o&&s&&(n===w.Strict?d&&e===`source`||!d&&e===`target`:t!==r||a!==i)&&l(c),_.toHandle=Ot(t,e,a,u,n,!0)}return _}var Pt={onPointerDown:Mt,isValid:Nt};function Ft({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){let i=p(e);function a({translateExtent:e,width:a,height:o,zoomStep:s=1,pannable:c=!0,zoomable:l=!0,inversePan:u=!1}){let d=e=>{if(e.sourceEvent.type!==`wheel`||!t)return;let r=n(),i=e.sourceEvent.ctrlKey&&_e()?10:1,a=-e.sourceEvent.deltaY*(e.sourceEvent.deltaMode===1?.05:e.sourceEvent.deltaMode?1:.002)*s,o=r[2]*2**(a*i);t.scaleTo(o)},f=[0,0],p=h().on(`start`,e=>{(e.sourceEvent.type===`mousedown`||e.sourceEvent.type===`touchstart`)&&(f=[e.sourceEvent.clientX??e.sourceEvent.touches[0].clientX,e.sourceEvent.clientY??e.sourceEvent.touches[0].clientY])}).on(`zoom`,c?i=>{let s=n();if(i.sourceEvent.type!==`mousemove`&&i.sourceEvent.type!==`touchmove`||!t)return;let c=[i.sourceEvent.clientX??i.sourceEvent.touches[0].clientX,i.sourceEvent.clientY??i.sourceEvent.touches[0].clientY],l=[c[0]-f[0],c[1]-f[1]];f=c;let d=r()*Math.max(s[2],Math.log(s[2]))*(u?-1:1),p={x:s[0]-l[0]*d,y:s[1]-l[1]*d},m=[[0,0],[a,o]];t.setViewportConstrained({x:p.x,y:p.y,zoom:s[2]},m,e)}:null).on(`zoom.wheel`,l?d:null);i.call(p,{})}function o(){i.on(`zoom`,null)}return{update:a,destroy:o,pointer:l}}var It=e=>({x:e.x,y:e.y,zoom:e.k}),Lt=({x:e,y:t,zoom:n})=>f.translate(e,t).scale(n),Rt=(e,t)=>e.target.closest(`.${t}`),zt=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),Bt=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,Vt=(e,t=0,n=Bt,r=()=>{})=>{let i=typeof t==`number`&&t>0;return i||r(),i?e.transition().duration(t).ease(n).on(`end`,r):e},Ht=e=>{let t=e.ctrlKey&&_e()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function Ut({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:i,panOnScrollSpeed:a,zoomOnPinch:o,onPanZoomStart:s,onPanZoom:c,onPanZoomEnd:u}){return d=>{if(Rt(d,t))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();let f=n.property(`__zoom`).k||1;if(d.ctrlKey&&o){let e=l(d),t=f*2**Ht(d);r.scaleTo(n,t,e,d);return}let p=d.deltaMode===1?20:1,m=i===T.Vertical?0:d.deltaX*p,h=i===T.Horizontal?0:d.deltaY*p;!_e()&&d.shiftKey&&i!==T.Vertical&&(m=d.deltaY*p,h=0),r.translateBy(n,-(m/f)*a,-(h/f)*a,{internal:!0});let g=It(n.property(`__zoom`));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(c?.(d,g),e.panScrollTimeout=setTimeout(()=>{u?.(d,g),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,s?.(d,g))}}function Wt({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,i){let a=r.type===`wheel`,o=!t&&a&&!r.ctrlKey,s=Rt(r,e);if(r.ctrlKey&&a&&s&&r.preventDefault(),o||s)return null;r.preventDefault(),n.call(this,r,i)}}function Gt({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;let i=It(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=i,r.sourceEvent?.type===`mousedown`&&t(!0),n&&n?.(r.sourceEvent,i)}}function Kt({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:i}){return a=>{e.usedRightMouseButton=!!(n&&zt(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),i&&!a.sourceEvent?.internal&&i?.(a.sourceEvent,It(a.transform))}}function qt({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:i,onPaneContextMenu:a}){return o=>{if(!o.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&zt(t,e.mouseButton??0)&&!e.usedRightMouseButton&&o.sourceEvent&&a(o.sourceEvent),e.usedRightMouseButton=!1,r(!1),i)){let t=It(o.transform);e.prevViewport=t,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{i?.(o.sourceEvent,t)},n?150:0)}}}function Jt({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:r,panOnScroll:i,zoomOnDoubleClick:a,userSelectionActive:o,noWheelClassName:s,noPanClassName:c,lib:l,connectionInProgress:u}){return d=>{let f=e||t,p=n&&d.ctrlKey,m=d.type===`wheel`;if(d.button===1&&d.type===`mousedown`&&(Rt(d,`${l}-flow__node`)||Rt(d,`${l}-flow__edge`)))return!0;if(!r&&!f&&!i&&!a&&!n||o||u&&!m||Rt(d,s)&&m||Rt(d,c)&&(!m||i&&m&&!e)||!n&&d.ctrlKey&&m)return!1;if(!n&&d.type===`touchstart`&&d.touches?.length>1)return d.preventDefault(),!1;if(!f&&!i&&!p&&m||!r&&(d.type===`mousedown`||d.type===`touchstart`)||Array.isArray(r)&&!r.includes(d.button)&&d.type===`mousedown`)return!1;let h=Array.isArray(r)&&r.includes(d.button)||!d.button||d.button<=1;return(!d.ctrlKey||m)&&h}}function Yt({domNode:e,minZoom:t,maxZoom:r,translateExtent:i,viewport:a,onPanZoom:o,onPanZoomStart:s,onPanZoomEnd:c,onDraggingChange:l}){let d={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{x:0,y:0,zoom:0},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},f=e.getBoundingClientRect(),g=h().scaleExtent([t,r]).translateExtent(i),_=p(e).call(g);C({x:a.x,y:a.y,zoom:G(a.zoom,t,r)},[[0,0],[f.width,f.height]],i);let v=_.on(`wheel.zoom`),y=_.on(`dblclick.zoom`);g.wheelDelta(Ht);function b(e,t){return _?new Promise(r=>{g?.interpolate(t?.interpolate===`linear`?n:u).transform(Vt(_,t?.duration,t?.ease,()=>r(!0)),e)}):Promise.resolve(!1)}function x({noWheelClassName:e,noPanClassName:t,onPaneContextMenu:n,userSelectionActive:r,panOnScroll:i,panOnDrag:a,panOnScrollMode:u,panOnScrollSpeed:f,preventScrolling:p,zoomOnPinch:m,zoomOnScroll:h,zoomOnDoubleClick:b,zoomActivationKeyPressed:x,lib:C,onTransformChange:w,connectionInProgress:T,paneClickDistance:E,selectionOnDrag:D}){r&&!d.isZoomingOrPanning&&S();let O=i&&!x&&!r;g.clickDistance(D?1/0:!Y(E)||E<0?0:E);let k=O?Ut({zoomPanValues:d,noWheelClassName:e,d3Selection:_,d3Zoom:g,panOnScrollMode:u,panOnScrollSpeed:f,zoomOnPinch:m,onPanZoomStart:s,onPanZoom:o,onPanZoomEnd:c}):Wt({noWheelClassName:e,preventScrolling:p,d3ZoomHandler:v});if(_.on(`wheel.zoom`,k,{passive:!1}),!r){let e=Gt({zoomPanValues:d,onDraggingChange:l,onPanZoomStart:s});g.on(`start`,e);let t=Kt({zoomPanValues:d,panOnDrag:a,onPaneContextMenu:!!n,onPanZoom:o,onTransformChange:w});g.on(`zoom`,t);let r=qt({zoomPanValues:d,panOnDrag:a,panOnScroll:i,onPaneContextMenu:n,onPanZoomEnd:c,onDraggingChange:l});g.on(`end`,r)}let A=Jt({zoomActivationKeyPressed:x,panOnDrag:a,zoomOnScroll:h,panOnScroll:i,zoomOnDoubleClick:b,zoomOnPinch:m,userSelectionActive:r,noPanClassName:t,noWheelClassName:e,lib:C,connectionInProgress:T});g.filter(A),b?_.on(`dblclick.zoom`,y):_.on(`dblclick.zoom`,null)}function S(){g.on(`zoom`,null)}async function C(e,t,n){let r=Lt(e),i=g?.constrain()(r,t,n);return i&&await b(i),new Promise(e=>e(i))}async function w(e,t){let n=Lt(e);return await b(n,t),new Promise(e=>e(n))}function T(e){if(_){let t=Lt(e),n=_.property(`__zoom`);(n.k!==e.zoom||n.x!==e.x||n.y!==e.y)&&g?.transform(_,t,null,{sync:!0})}}function E(){let e=_?m(_.node()):{x:0,y:0,k:1};return{x:e.x,y:e.y,zoom:e.k}}function D(e,t){return _?new Promise(r=>{g?.interpolate(t?.interpolate===`linear`?n:u).scaleTo(Vt(_,t?.duration,t?.ease,()=>r(!0)),e)}):Promise.resolve(!1)}function O(e,t){return _?new Promise(r=>{g?.interpolate(t?.interpolate===`linear`?n:u).scaleBy(Vt(_,t?.duration,t?.ease,()=>r(!0)),e)}):Promise.resolve(!1)}function k(e){g?.scaleExtent(e)}function A(e){g?.translateExtent(e)}function j(e){let t=!Y(e)||e<0?0:e;g?.clickDistance(t)}return{update:x,destroy:S,setViewport:w,setViewportConstrained:C,getViewport:E,scaleTo:D,scaleBy:O,setScaleExtent:k,setTranslateExtent:A,syncViewport:T,setClickDistance:j}}var Xt;(function(e){e.Line=`line`,e.Handle=`handle`})(Xt||={});function Zt({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:i,affectsY:a}){let o=e-t,s=n-r,c=[o>0?1:o<0?-1:0,s>0?1:s<0?-1:0];return o&&i&&(c[0]*=-1),s&&a&&(c[1]*=-1),c}function Qt(e){return{isHorizontal:e.includes(`right`)||e.includes(`left`),isVertical:e.includes(`bottom`)||e.includes(`top`),affectsX:e.includes(`left`),affectsY:e.includes(`top`)}}function $t(e,t){return Math.max(0,t-e)}function en(e,t){return Math.max(0,e-t)}function tn(e,t,n){return Math.max(0,t-e,e-n)}function nn(e,t){return e?!t:t}function rn(e,t,n,r,i,a,o,s){let{affectsX:c,affectsY:l}=t,{isHorizontal:u,isVertical:d}=t,f=u&&d,{xSnapped:p,ySnapped:m}=n,{minWidth:h,maxWidth:g,minHeight:_,maxHeight:v}=r,{x:y,y:b,width:x,height:S,aspectRatio:C}=e,w=Math.floor(u?p-e.pointerX:0),T=Math.floor(d?m-e.pointerY:0),E=x+(c?-w:w),D=S+(l?-T:T),O=-a[0]*x,k=-a[1]*S,A=tn(E,h,g),j=tn(D,_,v);if(o){let e=0,t=0;c&&w<0?e=$t(y+w+O,o[0][0]):!c&&w>0&&(e=en(y+E+O,o[1][0])),l&&T<0?t=$t(b+T+k,o[0][1]):!l&&T>0&&(t=en(b+D+k,o[1][1])),A=Math.max(A,e),j=Math.max(j,t)}if(s){let e=0,t=0;c&&w>0?e=en(y+w,s[0][0]):!c&&w<0&&(e=$t(y+E,s[1][0])),l&&T>0?t=en(b+T,s[0][1]):!l&&T<0&&(t=$t(b+D,s[1][1])),A=Math.max(A,e),j=Math.max(j,t)}if(i){if(u){let e=tn(E/C,_,v)*C;if(A=Math.max(A,e),o){let e=0;e=!c&&!l||c&&!l&&f?en(b+k+E/C,o[1][1])*C:$t(b+k+(c?w:-w)/C,o[0][1])*C,A=Math.max(A,e)}if(s){let e=0;e=!c&&!l||c&&!l&&f?$t(b+E/C,s[1][1])*C:en(b+(c?w:-w)/C,s[0][1])*C,A=Math.max(A,e)}}if(d){let e=tn(D*C,h,g)/C;if(j=Math.max(j,e),o){let e=0;e=!c&&!l||l&&!c&&f?en(y+D*C+O,o[1][0])/C:$t(y+(l?T:-T)*C+O,o[0][0])/C,j=Math.max(j,e)}if(s){let e=0;e=!c&&!l||l&&!c&&f?$t(y+D*C,s[1][0])/C:en(y+(l?T:-T)*C,s[0][0])/C,j=Math.max(j,e)}}}T+=T<0?j:-j,w+=w<0?A:-A,i&&(f?E>D*C?T=(nn(c,l)?-w:w)/C:w=(nn(c,l)?-T:T)*C:u?(T=w/C,l=c):(w=T*C,c=l));let M=c?y+w:y,N=l?b+T:b;return{width:x+(c?-w:w),height:S+(l?-T:T),x:a[0]*w*(c?-1:1)+M,y:a[1]*T*(l?-1:1)+N}}var an={width:0,height:0,x:0,y:0},on={...an,pointerX:0,pointerY:0,aspectRatio:1};function sn(e){return[[0,0],[e.measured.width,e.measured.height]]}function cn(e,t,n){let r=t.position.x+e.position.x,i=t.position.y+e.position.y,a=e.measured.width??0,o=e.measured.height??0,s=n[0]*a,c=n[1]*o;return[[r-s,i-c],[r+a-s,i+o-c]]}function ln({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:i}){let a=p(e),o={controlDirection:Qt(`bottom-right`),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function s({controlPosition:e,boundaries:s,keepAspectRatio:c,resizeDirection:l,onResizeStart:u,onResize:f,onResizeEnd:p,shouldResize:m}){let h={...an},g={...on};o={boundaries:s,resizeDirection:l,keepAspectRatio:c,controlDirection:Qt(e)};let _,v=null,y=[],b,x,S,C=!1,w=d().on(`start`,e=>{let{nodeLookup:r,transform:i,snapGrid:a,snapToGrid:o,nodeOrigin:s,paneDomNode:c}=n();if(_=r.get(t),!_)return;v=c?.getBoundingClientRect()??null;let{xSnapped:l,ySnapped:d}=we(e.sourceEvent,{transform:i,snapGrid:a,snapToGrid:o,containerBounds:v});h={width:_.measured.width??0,height:_.measured.height??0,x:_.position.x??0,y:_.position.y??0},g={...h,pointerX:l,pointerY:d,aspectRatio:h.width/h.height},b=void 0,_.parentId&&(_.extent===`parent`||_.expandParent)&&(b=r.get(_.parentId),x=b&&_.extent===`parent`?sn(b):void 0),y=[],S=void 0;for(let[e,n]of r)if(n.parentId===t&&(y.push({id:e,position:{...n.position},extent:n.extent}),n.extent===`parent`||n.expandParent)){let e=cn(n,_,n.origin??s);S=S?[[Math.min(e[0][0],S[0][0]),Math.min(e[0][1],S[0][1])],[Math.max(e[1][0],S[1][0]),Math.max(e[1][1],S[1][1])]]:e}u?.(e,{...h})}).on(`drag`,e=>{let{transform:t,snapGrid:i,snapToGrid:a,nodeOrigin:s}=n(),c=we(e.sourceEvent,{transform:t,snapGrid:i,snapToGrid:a,containerBounds:v}),l=[];if(!_)return;let{x:u,y:d,width:p,height:w}=h,T={},E=_.origin??s,{width:D,height:O,x:k,y:A}=rn(g,o.controlDirection,c,o.boundaries,o.keepAspectRatio,E,x,S),j=D!==p,M=O!==w,N=k!==u&&j,P=A!==d&&M;if(!N&&!P&&!j&&!M)return;if((N||P||E[0]===1||E[1]===1)&&(T.x=N?k:h.x,T.y=P?A:h.y,h.x=T.x,h.y=T.y,y.length>0)){let e=k-u,t=A-d;for(let n of y)n.position={x:n.position.x-e+E[0]*(D-p),y:n.position.y-t+E[1]*(O-w)},l.push(n)}if((j||M)&&(T.width=j&&(!o.resizeDirection||o.resizeDirection===`horizontal`)?D:h.width,T.height=M&&(!o.resizeDirection||o.resizeDirection===`vertical`)?O:h.height,h.width=T.width,h.height=T.height),b&&_.expandParent){let e=E[0]*(T.width??0);T.x&&T.x<e&&(h.x=e,g.x-=T.x-e);let t=E[1]*(T.height??0);T.y&&T.y<t&&(h.y=t,g.y-=T.y-t)}let F=Zt({width:h.width,prevWidth:p,height:h.height,prevHeight:w,affectsX:o.controlDirection.affectsX,affectsY:o.controlDirection.affectsY}),I={...h,direction:F};m?.(e,I)!==!1&&(C=!0,f?.(e,I),r(T,l))}).on(`end`,e=>{C&&=(p?.(e,{...h}),i?.({...h}),!1)});a.call(w)}function c(){a.on(`.drag`,null)}return{update:s,destroy:c}}c();var un=(0,v.createContext)(null),dn=un.Provider,fn=b.error001();function Q(e,t){let n=(0,v.useContext)(un);if(n===null)throw Error(fn);return o(n,e,t)}function $(){let e=(0,v.useContext)(un);if(e===null)throw Error(fn);return(0,v.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}var pn={display:`none`},mn={position:`absolute`,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0px, 0px, 0px, 0px)`,clipPath:`inset(100%)`},hn=`react-flow__node-desc`,gn=`react-flow__edge-desc`,_n=`react-flow__aria-live`,vn=e=>e.ariaLiveMessage,yn=e=>e.ariaLabelConfig;function bn({rfId:e}){let t=Q(vn);return(0,y.jsx)(`div`,{id:`${_n}-${e}`,"aria-live":`assertive`,"aria-atomic":`true`,style:mn,children:t})}function xn({rfId:e,disableKeyboardA11y:t}){let n=Q(yn);return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(`div`,{id:`${hn}-${e}`,style:pn,children:t?n[`node.a11yDescription.default`]:n[`node.a11yDescription.keyboardDisabled`]}),(0,y.jsx)(`div`,{id:`${gn}-${e}`,style:pn,children:n[`edge.a11yDescription.default`]}),!t&&(0,y.jsx)(bn,{rfId:e})]})}var Sn=(0,v.forwardRef)(({position:e=`top-left`,children:t,className:n,style:i,...a},o)=>(0,y.jsx)(`div`,{className:r([`react-flow__panel`,n,...`${e}`.split(`-`)]),style:i,ref:o,...a,children:t}));Sn.displayName=`Panel`;function Cn({proOptions:e,position:t=`bottom-right`}){return e?.hideAttribution?null:(0,y.jsx)(Sn,{position:t,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,y.jsx)(`a`,{href:`https://reactflow.dev`,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`React Flow attribution`,children:`React Flow`})})}var wn=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}},Tn=e=>e.id;function En(e,t){return s(e.selectedNodes.map(Tn),t.selectedNodes.map(Tn))&&s(e.selectedEdges.map(Tn),t.selectedEdges.map(Tn))}function Dn({onSelectionChange:e}){let t=$(),{selectedNodes:n,selectedEdges:r}=Q(wn,En);return(0,v.useEffect)(()=>{let i={nodes:n,edges:r};e?.(i),t.getState().onSelectionChangeHandlers.forEach(e=>e(i))},[n,r,e]),null}var On=e=>!!e.onSelectionChangeHandlers;function kn({onSelectionChange:e}){let t=Q(On);return e||t?(0,y.jsx)(Dn,{onSelectionChange:e}):null}var An=typeof window<`u`?v.useLayoutEffect:v.useEffect,jn=[0,0],Mn={x:0,y:0,zoom:1},Nn=[...`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.ariaLabelConfig.zIndexMode`.split(`.`),`rfId`],Pn=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}),Fn={translateExtent:x,nodeOrigin:jn,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:`nopan`,rfId:`1`};function In(e){let{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:i,setTranslateExtent:a,setNodeExtent:o,reset:c,setDefaultNodesAndEdges:l}=Q(Pn,s),u=$();An(()=>(l(e.defaultNodes,e.defaultEdges),()=>{d.current=Fn,c()}),[]);let d=(0,v.useRef)(Fn);return An(()=>{for(let s of Nn){let c=e[s];c!==d.current[s]&&e[s]!==void 0&&(s===`nodes`?t(c):s===`edges`?n(c):s===`minZoom`?r(c):s===`maxZoom`?i(c):s===`translateExtent`?a(c):s===`nodeExtent`?o(c):s===`ariaLabelConfig`?u.setState({ariaLabelConfig:Ce(c)}):s===`fitView`?u.setState({fitViewQueued:c}):s===`fitViewOptions`?u.setState({fitViewOptions:c}):u.setState({[s]:c}))}d.current=e},Nn.map(t=>e[t])),null}function Ln(){return typeof window>`u`||!window.matchMedia?null:window.matchMedia(`(prefers-color-scheme: dark)`)}function Rn(e){let[t,n]=(0,v.useState)(e===`system`?null:e);return(0,v.useEffect)(()=>{if(e!==`system`){n(e);return}let t=Ln(),r=()=>n(t?.matches?`dark`:`light`);return r(),t?.addEventListener(`change`,r),()=>{t?.removeEventListener(`change`,r)}},[e]),t===null?Ln()?.matches?`dark`:`light`:t}var zn=typeof document<`u`?document:null;function Bn(e=null,t={target:zn,actInsideInputWithModifier:!0}){let[n,r]=(0,v.useState)(!1),i=(0,v.useRef)(!1),a=(0,v.useRef)(new Set([])),[o,s]=(0,v.useMemo)(()=>{if(e!==null){let t=(Array.isArray(e)?e:[e]).filter(e=>typeof e==`string`).map(e=>e.replace(`+`,`
|
|
2
|
-
`).replace(`
|
|
3
|
-
|
|
4
|
-
`,`
|
|
5
|
-
+`).split(`
|
|
6
|
-
`));return[t,t.reduce((e,t)=>e.concat(...t),[])]}return[[],[]]},[e]);return(0,v.useEffect)(()=>{let n=t?.target??zn,c=t?.actInsideInputWithModifier??!0;if(e!==null){let e=e=>{if(i.current=e.ctrlKey||e.metaKey||e.shiftKey||e.altKey,(!i.current||i.current&&!c)&&Oe(e))return!1;let n=Hn(e.code,s);if(a.current.add(e[n]),Vn(o,a.current,!1)){let n=e.composedPath?.()?.[0]||e.target,a=n?.nodeName===`BUTTON`||n?.nodeName===`A`;t.preventDefault!==!1&&(i.current||!a)&&e.preventDefault(),r(!0)}},l=e=>{let t=Hn(e.code,s);Vn(o,a.current,!0)?(r(!1),a.current.clear()):a.current.delete(e[t]),e.key===`Meta`&&a.current.clear(),i.current=!1},u=()=>{a.current.clear(),r(!1)};return n?.addEventListener(`keydown`,e),n?.addEventListener(`keyup`,l),window.addEventListener(`blur`,u),window.addEventListener(`contextmenu`,u),()=>{n?.removeEventListener(`keydown`,e),n?.removeEventListener(`keyup`,l),window.removeEventListener(`blur`,u),window.removeEventListener(`contextmenu`,u)}}},[e,r]),n}function Vn(e,t,n){return e.filter(e=>n||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function Hn(e,t){return t.includes(e)?`code`:`key`}var Un=()=>{let e=$();return(0,v.useMemo)(()=>({zoomIn:t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1.2,t):Promise.resolve(!1)},zoomOut:t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,t):Promise.resolve(!1)},zoomTo:(t,n)=>{let{panZoom:r}=e.getState();return r?r.scaleTo(t,n):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{let{transform:[r,i,a],panZoom:o}=e.getState();return o?(await o.setViewport({x:t.x??r,y:t.y??i,zoom:t.zoom??a},n),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{let[t,n,r]=e.getState().transform;return{x:t,y:n,zoom:r}},setCenter:async(t,n,r)=>e.getState().setCenter(t,n,r),fitBounds:async(t,n)=>{let{width:r,height:i,minZoom:a,maxZoom:o,panZoom:s}=e.getState(),c=ge(t,r,i,a,o,n?.padding??.1);return s?(await s.setViewport(c,{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(t,n={})=>{let{transform:r,snapGrid:i,snapToGrid:a,domNode:o}=e.getState();if(!o)return t;let{x:s,y:c}=o.getBoundingClientRect(),l={x:t.x-s,y:t.y-c},u=n.snapGrid??i;return de(l,r,n.snapToGrid??a,u)},flowToScreenPosition:t=>{let{transform:n,domNode:r}=e.getState();if(!r)return t;let{x:i,y:a}=r.getBoundingClientRect(),o=fe(t,n);return{x:o.x+i,y:o.y+a}}}),[])};function Wn(e,t){let n=[],r=new Map,i=[];for(let t of e)if(t.type===`add`){i.push(t);continue}else if(t.type===`remove`||t.type===`replace`)r.set(t.id,[t]);else{let e=r.get(t.id);e?e.push(t):r.set(t.id,[t])}for(let e of t){let t=r.get(e.id);if(!t){n.push(e);continue}if(t[0].type===`remove`)continue;if(t[0].type===`replace`){n.push({...t[0].item});continue}let i={...e};for(let e of t)Gn(e,i);n.push(i)}return i.length&&i.forEach(e=>{e.index===void 0?n.push({...e.item}):n.splice(e.index,0,{...e.item})}),n}function Gn(e,t){switch(e.type){case`select`:t.selected=e.selected;break;case`position`:e.position!==void 0&&(t.position=e.position),e.dragging!==void 0&&(t.dragging=e.dragging);break;case`dimensions`:e.dimensions!==void 0&&(t.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes===`width`)&&(t.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes===`height`)&&(t.height=e.dimensions.height))),typeof e.resizing==`boolean`&&(t.resizing=e.resizing);break}}function Kn(e,t){return Wn(e,t)}function qn(e,t){return Wn(e,t)}function Jn(e,t){return{id:e,type:`select`,selected:t}}function Yn(e,t=new Set,n=!1){let r=[];for(let[i,a]of e){let e=t.has(i);!(a.selected===void 0&&!e)&&a.selected!==e&&(n&&(a.selected=e),r.push(Jn(a.id,e)))}return r}function Xn({items:e=[],lookup:t}){let n=[],r=new Map(e.map(e=>[e.id,e]));for(let[r,i]of e.entries()){let e=t.get(i.id),a=e?.internals?.userNode??e;a!==void 0&&a!==i&&n.push({id:i.id,item:i,type:`replace`}),a===void 0&&n.push({item:i,type:`add`,index:r})}for(let[e]of t)r.get(e)===void 0&&n.push({id:e,type:`remove`});return n}function Zn(e){return{id:e.id,type:`remove`}}var Qn=e=>P(e),$n=e=>N(e);function er(e){return(0,v.forwardRef)(e)}function tr(e){let[t,n]=(0,v.useState)(BigInt(0)),[r]=(0,v.useState)(()=>nr(()=>n(e=>e+BigInt(1))));return An(()=>{let t=r.get();t.length&&(e(t),r.reset())},[t]),r}function nr(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}var rr=(0,v.createContext)(null);function ir({children:e}){let t=$(),n=tr((0,v.useCallback)(e=>{let{nodes:n=[],setNodes:r,hasDefaultNodes:i,onNodesChange:a,nodeLookup:o,fitViewQueued:s,onNodesChangeMiddlewareMap:c}=t.getState(),l=n;for(let t of e)l=typeof t==`function`?t(l):t;let u=Xn({items:l,lookup:o});for(let e of c.values())u=e(u);i&&r(l),u.length>0?a?.(u):s&&window.requestAnimationFrame(()=>{let{fitViewQueued:e,nodes:n,setNodes:r}=t.getState();e&&r(n)})},[])),r=tr((0,v.useCallback)(e=>{let{edges:n=[],setEdges:r,hasDefaultEdges:i,onEdgesChange:a,edgeLookup:o}=t.getState(),s=n;for(let t of e)s=typeof t==`function`?t(s):t;i?r(s):a&&a(Xn({items:s,lookup:o}))},[])),i=(0,v.useMemo)(()=>({nodeQueue:n,edgeQueue:r}),[]);return(0,y.jsx)(rr.Provider,{value:i,children:e})}function ar(){let e=(0,v.useContext)(rr);if(!e)throw Error(`useBatchContext must be used within a BatchProvider`);return e}var or=e=>!!e.panZoom;function sr(){let e=Un(),t=$(),n=ar(),r=Q(or),i=(0,v.useMemo)(()=>{let e=e=>t.getState().nodeLookup.get(e),r=e=>{n.nodeQueue.push(e)},i=e=>{n.edgeQueue.push(e)},a=e=>{let{nodeLookup:n,nodeOrigin:r}=t.getState(),i=Qn(e)?e:n.get(e.id),a=i.parentId?be(i.position,i.measured,i.parentId,n,r):i.position;return ie({...i,position:a,width:i.measured?.width??i.width,height:i.measured?.height??i.height})},o=(e,t,n={replace:!1})=>{r(r=>r.map(r=>{if(r.id===e){let e=typeof t==`function`?t(r):t;return n.replace&&Qn(e)?e:{...r,...e}}return r}))},s=(e,t,n={replace:!1})=>{i(r=>r.map(r=>{if(r.id===e){let e=typeof t==`function`?t(r):t;return n.replace&&$n(e)?e:{...r,...e}}return r}))};return{getNodes:()=>t.getState().nodes.map(e=>({...e})),getNode:t=>e(t)?.internals.userNode,getInternalNode:e,getEdges:()=>{let{edges:e=[]}=t.getState();return e.map(e=>({...e}))},getEdge:e=>t.getState().edgeLookup.get(e),setNodes:r,setEdges:i,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:r}=t.getState(),[i,a,o]=r;return{nodes:e.map(e=>({...e})),edges:n.map(e=>({...e})),viewport:{x:i,y:a,zoom:o}}},deleteElements:async({nodes:e=[],edges:n=[]})=>{let{nodes:r,edges:i,onNodesDelete:a,onEdgesDelete:o,triggerNodeChanges:s,triggerEdgeChanges:c,onDelete:l,onBeforeDelete:u}=t.getState(),{nodes:d,edges:f}=await W({nodesToRemove:e,edgesToRemove:n,nodes:r,edges:i,onBeforeDelete:u}),p=f.length>0,m=d.length>0;if(p){let e=f.map(Zn);o?.(f),c(e)}if(m){let e=d.map(Zn);a?.(d),s(e)}return(m||p)&&l?.({nodes:d,edges:f}),{deletedNodes:d,deletedEdges:f}},getIntersectingNodes:(e,n=!0,r)=>{let i=ce(e),o=i?e:a(e),s=r!==void 0;return o?(r||t.getState().nodes).filter(r=>{let a=t.getState().nodeLookup.get(r.id);if(a&&!i&&(r.id===e.id||!a.internals.positionAbsolute))return!1;let c=ie(s?r:a),l=se(c,o);return n&&l>0||l>=c.width*c.height||l>=o.width*o.height}):[]},isNodeIntersecting:(e,t,n=!0)=>{let r=ce(e)?e:a(e);if(!r)return!1;let i=se(r,t);return n&&i>0||i>=t.width*t.height||i>=r.width*r.height},updateNode:o,updateNodeData:(e,t,n={replace:!1})=>{o(e,e=>{let r=typeof t==`function`?t(e):t;return n.replace?{...e,data:r}:{...e,data:{...e.data,...r}}},n)},updateEdge:s,updateEdgeData:(e,t,n={replace:!1})=>{s(e,e=>{let r=typeof t==`function`?t(e):t;return n.replace?{...e,data:r}:{...e,data:{...e.data,...r}}},n)},getNodesBounds:e=>{let{nodeLookup:n,nodeOrigin:r}=t.getState();return L(e,{nodeLookup:n,nodeOrigin:r})},getHandleConnections:({type:e,id:n,nodeId:r})=>Array.from(t.getState().connectionLookup.get(`${r}-${e}${n?`-${n}`:``}`)?.values()??[]),getNodeConnections:({type:e,handleId:n,nodeId:r})=>Array.from(t.getState().connectionLookup.get(`${r}${e?n?`-${e}-${n}`:`-${e}`:``}`)?.values()??[]),fitView:async e=>{let r=t.getState().fitViewResolver??Se();return t.setState({fitViewQueued:!0,fitViewOptions:e,fitViewResolver:r}),n.nodeQueue.push(e=>[...e]),r.promise}}},[]);return(0,v.useMemo)(()=>({...i,...e,viewportInitialized:r}),[r])}var cr=e=>e.selected,lr=typeof window<`u`?window:void 0;function ur({deleteKeyCode:e,multiSelectionKeyCode:t}){let n=$(),{deleteElements:r}=sr(),i=Bn(e,{actInsideInputWithModifier:!1}),a=Bn(t,{target:lr});(0,v.useEffect)(()=>{if(i){let{edges:e,nodes:t}=n.getState();r({nodes:t.filter(cr),edges:e.filter(cr)}),n.setState({nodesSelectionActive:!1})}},[i]),(0,v.useEffect)(()=>{n.setState({multiSelectionActive:a})},[a])}function dr(e){let t=$();(0,v.useEffect)(()=>{let n=()=>{if(!e.current||!(e.current.checkVisibility?.()??!0))return!1;let n=Te(e.current);(n.height===0||n.width===0)&&t.getState().onError?.(`004`,b.error004()),t.setState({width:n.width||500,height:n.height||500})};if(e.current){n(),window.addEventListener(`resize`,n);let t=new ResizeObserver(()=>n());return t.observe(e.current),()=>{window.removeEventListener(`resize`,n),t&&e.current&&t.unobserve(e.current)}}},[])}var fr={position:`absolute`,width:`100%`,height:`100%`,top:0,left:0},pr=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function mr({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:r=!1,panOnScrollSpeed:i=.5,panOnScrollMode:a=T.Free,zoomOnDoubleClick:o=!0,panOnDrag:c=!0,defaultViewport:l,translateExtent:u,minZoom:d,maxZoom:f,zoomActivationKeyCode:p,preventScrolling:m=!0,children:h,noWheelClassName:g,noPanClassName:_,onViewportChange:b,isControlledViewport:x,paneClickDistance:S,selectionOnDrag:C}){let w=$(),E=(0,v.useRef)(null),{userSelectionActive:D,lib:O,connectionInProgress:k}=Q(pr,s),A=Bn(p),j=(0,v.useRef)();dr(E);let M=(0,v.useCallback)(e=>{b?.({x:e[0],y:e[1],zoom:e[2]}),x||w.setState({transform:e})},[b,x]);return(0,v.useEffect)(()=>{if(E.current){j.current=Yt({domNode:E.current,minZoom:d,maxZoom:f,translateExtent:u,viewport:l,onDraggingChange:e=>w.setState(t=>t.paneDragging===e?t:{paneDragging:e}),onPanZoomStart:(e,t)=>{let{onViewportChangeStart:n,onMoveStart:r}=w.getState();r?.(e,t),n?.(t)},onPanZoom:(e,t)=>{let{onViewportChange:n,onMove:r}=w.getState();r?.(e,t),n?.(t)},onPanZoomEnd:(e,t)=>{let{onViewportChangeEnd:n,onMoveEnd:r}=w.getState();r?.(e,t),n?.(t)}});let{x:e,y:t,zoom:n}=j.current.getViewport();return w.setState({panZoom:j.current,transform:[e,t,n],domNode:E.current.closest(`.react-flow`)}),()=>{j.current?.destroy()}}},[]),(0,v.useEffect)(()=>{j.current?.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:r,panOnScrollSpeed:i,panOnScrollMode:a,zoomOnDoubleClick:o,panOnDrag:c,zoomActivationKeyPressed:A,preventScrolling:m,noPanClassName:_,userSelectionActive:D,noWheelClassName:g,lib:O,onTransformChange:M,connectionInProgress:k,selectionOnDrag:C,paneClickDistance:S})},[e,t,n,r,i,a,o,c,A,m,_,D,g,O,M,k,C,S]),(0,y.jsx)(`div`,{className:`react-flow__renderer`,ref:E,style:fr,children:h})}var hr=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function gr(){let{userSelectionActive:e,userSelectionRect:t}=Q(hr,s);return e&&t?(0,y.jsx)(`div`,{className:`react-flow__selection react-flow__container`,style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}var _r=(e,t)=>n=>{n.target===t.current&&e?.(n)},vr=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function yr({isSelecting:e,selectionKeyPressed:t,selectionMode:n=E.Full,panOnDrag:i,paneClickDistance:a,selectionOnDrag:o,onSelectionStart:c,onSelectionEnd:l,onPaneClick:u,onPaneContextMenu:d,onPaneScroll:f,onPaneMouseEnter:p,onPaneMouseMove:m,onPaneMouseLeave:h,children:g}){let _=$(),{userSelectionActive:b,elementsSelectable:x,dragging:S,connectionInProgress:C}=Q(vr,s),w=x&&(e||b),T=(0,v.useRef)(null),D=(0,v.useRef)(),O=(0,v.useRef)(new Set),k=(0,v.useRef)(new Set),A=(0,v.useRef)(!1),j=e=>{if(A.current||C){A.current=!1;return}u?.(e),_.getState().resetSelectedElements(),_.setState({nodesSelectionActive:!1})},M=e=>{if(Array.isArray(i)&&i?.includes(2)){e.preventDefault();return}d?.(e)},N=f?e=>f(e):void 0;return(0,y.jsxs)(`div`,{className:r([`react-flow__pane`,{draggable:i===!0||Array.isArray(i)&&i.includes(0),dragging:S,selection:e}]),onClick:w?void 0:_r(j,T),onContextMenu:_r(M,T),onWheel:_r(N,T),onPointerEnter:w?void 0:p,onPointerMove:w?e=>{let{userSelectionRect:r,transform:i,nodeLookup:o,edgeLookup:s,connectionLookup:l,triggerNodeChanges:u,triggerEdgeChanges:d,defaultEdgeOptions:f,resetSelectedElements:p}=_.getState();if(!D.current||!r)return;let{x:m,y:h}=Z(e.nativeEvent,D.current),{startX:g,startY:v}=r;if(!A.current){let n=t?0:a;if(Math.hypot(m-g,h-v)<=n)return;p(),c?.(e)}A.current=!0;let y={startX:g,startY:v,x:m<g?m:g,y:h<v?h:v,width:Math.abs(m-g),height:Math.abs(h-v)},b=O.current,x=k.current;O.current=new Set(z(o,y,i,n===E.Partial,!0).map(e=>e.id)),k.current=new Set;let S=f?.selectable??!0;for(let e of O.current){let t=l.get(e);if(t)for(let{edgeId:e}of t.values()){let t=s.get(e);t&&(t.selectable??S)&&k.current.add(e)}}xe(b,O.current)||u(Yn(o,O.current,!0)),xe(x,k.current)||d(Yn(s,k.current)),_.setState({userSelectionRect:y,userSelectionActive:!0,nodesSelectionActive:!1})}:m,onPointerUp:w?e=>{e.button===0&&(e.target?.releasePointerCapture?.(e.pointerId),!b&&e.target===T.current&&_.getState().userSelectionRect&&j?.(e),_.setState({userSelectionActive:!1,userSelectionRect:null}),A.current&&(l?.(e),_.setState({nodesSelectionActive:O.current.size>0})))}:void 0,onPointerDownCapture:w?n=>{let{domNode:r}=_.getState();if(D.current=r?.getBoundingClientRect(),!D.current)return;let i=n.target===T.current;if(!i&&n.target.closest(`.nokey`)||!e||!(o&&i||t)||n.button!==0||!n.isPrimary)return;n.target?.setPointerCapture?.(n.pointerId),A.current=!1;let{x:a,y:s}=Z(n.nativeEvent,D.current);_.setState({userSelectionRect:{width:0,height:0,startX:a,startY:s,x:a,y:s}}),i||(n.stopPropagation(),n.preventDefault())}:void 0,onClickCapture:w?e=>{A.current&&=(e.stopPropagation(),!1)}:void 0,onPointerLeave:h,ref:T,style:fr,children:[g,(0,y.jsx)(gr,{})]})}function br({id:e,store:t,unselect:n=!1,nodeRef:r}){let{addSelectedNodes:i,unselectNodesAndEdges:a,multiSelectionActive:o,nodeLookup:s,onError:c}=t.getState(),l=s.get(e);if(!l){c?.(`012`,b.error012(e));return}t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&o)&&(a({nodes:[l],edges:[]}),requestAnimationFrame(()=>r?.current?.blur())):i([e])}function xr({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:a,nodeClickDistance:o}){let s=$(),[c,l]=(0,v.useState)(!1),u=(0,v.useRef)();return(0,v.useEffect)(()=>{u.current=wt({getStoreItems:()=>s.getState(),onNodeMouseDown:t=>{br({id:t,store:s,nodeRef:e})},onDragStart:()=>{l(!0)},onDragStop:()=>{l(!1)}})},[]),(0,v.useEffect)(()=>{if(!(t||!e.current||!u.current))return u.current.update({noDragClassName:n,handleSelector:r,domNode:e.current,isSelectable:a,nodeId:i,nodeClickDistance:o}),()=>{u.current?.destroy()}},[n,r,t,a,e,i,o]),c}var Sr=e=>t=>t.selected&&(t.draggable||e&&t.draggable===void 0);function Cr(){let e=$();return(0,v.useCallback)(t=>{let{nodeExtent:n,snapToGrid:r,snapGrid:i,nodesDraggable:a,onError:o,updateNodePositions:s,nodeLookup:c,nodeOrigin:l}=e.getState(),u=new Map,d=Sr(a),f=r?i[0]:5,p=r?i[1]:5,m=t.direction.x*f*t.factor,h=t.direction.y*p*t.factor;for(let[,e]of c){if(!d(e))continue;let t={x:e.internals.positionAbsolute.x+m,y:e.internals.positionAbsolute.y+h};r&&(t=ue(t,i));let{position:a,positionAbsolute:s}=U({nodeId:e.id,nextPosition:t,nodeLookup:c,nodeExtent:n,nodeOrigin:l,onError:o});e.position=a,e.internals.positionAbsolute=s,u.set(e.id,e)}s(u)},[])}var wr=(0,v.createContext)(null),Tr=wr.Provider;wr.Consumer;var Er=()=>(0,v.useContext)(wr),Dr=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),Or=(e,t,n)=>r=>{let{connectionClickStartHandle:i,connectionMode:a,connection:o}=r,{fromHandle:s,toHandle:c,isValid:l}=o,u=c?.nodeId===e&&c?.id===t&&c?.type===n;return{connectingFrom:s?.nodeId===e&&s?.id===t&&s?.type===n,connectingTo:u,clickConnecting:i?.nodeId===e&&i?.id===t&&i?.type===n,isPossibleEndHandle:a===w.Strict?s?.type!==n:e!==s?.nodeId||t!==s?.id,connectionInProcess:!!s,clickConnectionInProcess:!!i,valid:u&&l}};function kr({type:e=`source`,position:t=A.Top,isValidConnection:n,isConnectable:i=!0,isConnectableStart:a=!0,isConnectableEnd:o=!0,id:c,onConnect:l,children:u,className:d,onMouseDown:f,onTouchStart:p,...m},h){let g=c||null,_=e===`target`,v=$(),x=Er(),{connectOnClick:S,noPanClassName:C,rfId:w}=Q(Dr,s),{connectingFrom:T,connectingTo:E,clickConnecting:D,isPossibleEndHandle:O,connectionInProcess:k,clickConnectionInProcess:j,valid:M}=Q(Or(x,g,e),s);x||v.getState().onError?.(`010`,b.error010());let N=e=>{let{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:r}=v.getState(),i={...t,...e};if(r){let{edges:e,setEdges:t}=v.getState();t(Be(i,e))}n?.(i),l?.(i)},P=e=>{if(!x)return;let t=ke(e.nativeEvent);if(a&&(t&&e.button===0||!t)){let t=v.getState();Pt.onPointerDown(e.nativeEvent,{handleDomNode:e.currentTarget,autoPanOnConnect:t.autoPanOnConnect,connectionMode:t.connectionMode,connectionRadius:t.connectionRadius,domNode:t.domNode,nodeLookup:t.nodeLookup,lib:t.lib,isTarget:_,handleId:g,nodeId:x,flowId:t.rfId,panBy:t.panBy,cancelConnection:t.cancelConnection,onConnectStart:t.onConnectStart,onConnectEnd:(...e)=>v.getState().onConnectEnd?.(...e),updateConnection:t.updateConnection,onConnect:N,isValidConnection:n||((...e)=>v.getState().isValidConnection?.(...e)??!0),getTransform:()=>v.getState().transform,getFromHandle:()=>v.getState().connection.fromHandle,autoPanSpeed:t.autoPanSpeed,dragThreshold:t.connectionDragThreshold})}t?f?.(e):p?.(e)};return(0,y.jsx)(`div`,{"data-handleid":g,"data-nodeid":x,"data-handlepos":t,"data-id":`${w}-${x}-${g}-${e}`,className:r([`react-flow__handle`,`react-flow__handle-${t}`,`nodrag`,C,d,{source:!_,target:_,connectable:i,connectablestart:a,connectableend:o,clickconnecting:D,connectingfrom:T,connectingto:E,valid:M,connectionindicator:i&&(!k||O)&&(k||j?o:a)}]),onMouseDown:P,onTouchStart:P,onClick:S?t=>{let{onClickConnectStart:r,onClickConnectEnd:i,connectionClickStartHandle:o,connectionMode:s,isValidConnection:c,lib:l,rfId:u,nodeLookup:d,connection:f}=v.getState();if(!x||!o&&!a)return;if(!o){r?.(t.nativeEvent,{nodeId:x,handleId:g,handleType:e}),v.setState({connectionClickStartHandle:{nodeId:x,type:e,id:g}});return}let p=Ee(t.target),m=n||c,{connection:h,isValid:_}=Pt.isValid(t.nativeEvent,{handle:{nodeId:x,id:g,type:e},connectionMode:s,fromNodeId:o.nodeId,fromHandleId:o.id||null,fromType:o.type,isValidConnection:m,flowId:u,doc:p,lib:l,nodeLookup:d});_&&h&&N(h);let y=structuredClone(f);delete y.inProgress,y.toPosition=y.toHandle?y.toHandle.position:null,i?.(t,y),v.setState({connectionClickStartHandle:null})}:void 0,ref:h,...m,children:u})}var Ar=(0,v.memo)(er(kr));function jr({data:e,isConnectable:t,sourcePosition:n=A.Bottom}){return(0,y.jsxs)(y.Fragment,{children:[e?.label,(0,y.jsx)(Ar,{type:`source`,position:n,isConnectable:t})]})}function Mr({data:e,isConnectable:t,targetPosition:n=A.Top,sourcePosition:r=A.Bottom}){return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(Ar,{type:`target`,position:n,isConnectable:t}),e?.label,(0,y.jsx)(Ar,{type:`source`,position:r,isConnectable:t})]})}function Nr(){return null}function Pr({data:e,isConnectable:t,targetPosition:n=A.Top}){return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(Ar,{type:`target`,position:n,isConnectable:t}),e?.label]})}var Fr={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Ir={input:jr,default:Mr,output:Pr,group:Nr};function Lr(e){return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??e.style?.width,height:e.height??e.initialHeight??e.style?.height}:{width:e.width??e.style?.width,height:e.height??e.style?.height}}var Rr=e=>{let{width:t,height:n,x:r,y:i}=R(e.nodeLookup,{filter:e=>!!e.selected});return{width:Y(t)?t:null,height:Y(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${r}px,${i}px)`}};function zr({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){let i=$(),{width:a,height:o,transformString:c,userSelectionActive:l}=Q(Rr,s),u=Cr(),d=(0,v.useRef)(null);(0,v.useEffect)(()=>{n||d.current?.focus({preventScroll:!0})},[n]);let f=!l&&a!==null&&o!==null;if(xr({nodeRef:d,disabled:!f}),!f)return null;let p=e?t=>{e(t,i.getState().nodes.filter(e=>e.selected))}:void 0;return(0,y.jsx)(`div`,{className:r([`react-flow__nodesselection`,`react-flow__container`,t]),style:{transform:c},children:(0,y.jsx)(`div`,{ref:d,className:`react-flow__nodesselection-rect`,onContextMenu:p,tabIndex:n?void 0:-1,onKeyDown:n?void 0:e=>{Object.prototype.hasOwnProperty.call(Fr,e.key)&&(e.preventDefault(),u({direction:Fr[e.key],factor:e.shiftKey?4:1}))},style:{width:a,height:o}})})}var Br=typeof window<`u`?window:void 0,Vr=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function Hr({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:a,onPaneScroll:o,paneClickDistance:c,deleteKeyCode:l,selectionKeyCode:u,selectionOnDrag:d,selectionMode:f,onSelectionStart:p,onSelectionEnd:m,multiSelectionKeyCode:h,panActivationKeyCode:g,zoomActivationKeyCode:_,elementsSelectable:v,zoomOnScroll:b,zoomOnPinch:x,panOnScroll:S,panOnScrollSpeed:C,panOnScrollMode:w,zoomOnDoubleClick:T,panOnDrag:E,defaultViewport:D,translateExtent:O,minZoom:k,maxZoom:A,preventScrolling:j,onSelectionContextMenu:M,noWheelClassName:N,noPanClassName:P,disableKeyboardA11y:F,onViewportChange:I,isControlledViewport:L}){let{nodesSelectionActive:R,userSelectionActive:z}=Q(Vr,s),B=Bn(u,{target:Br}),V=Bn(g,{target:Br}),H=V||E,U=V||S,W=d&&H!==!0,G=B||z||W;return ur({deleteKeyCode:l,multiSelectionKeyCode:h}),(0,y.jsx)(mr,{onPaneContextMenu:a,elementsSelectable:v,zoomOnScroll:b,zoomOnPinch:x,panOnScroll:U,panOnScrollSpeed:C,panOnScrollMode:w,zoomOnDoubleClick:T,panOnDrag:!B&&H,defaultViewport:D,translateExtent:O,minZoom:k,maxZoom:A,zoomActivationKeyCode:_,preventScrolling:j,noWheelClassName:N,noPanClassName:P,onViewportChange:I,isControlledViewport:L,paneClickDistance:c,selectionOnDrag:W,children:(0,y.jsxs)(yr,{onSelectionStart:p,onSelectionEnd:m,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:a,onPaneScroll:o,panOnDrag:H,isSelecting:!!G,selectionMode:f,selectionKeyPressed:B,paneClickDistance:c,selectionOnDrag:W,children:[e,R&&(0,y.jsx)(zr,{onSelectionContextMenu:M,noPanClassName:P,disableKeyboardA11y:F})]})})}Hr.displayName=`FlowRenderer`;var Ur=(0,v.memo)(Hr),Wr=e=>t=>e?z(t.nodeLookup,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map(e=>e.id):Array.from(t.nodeLookup.keys());function Gr(e){return Q((0,v.useCallback)(Wr(e),[e]),s)}var Kr=e=>e.updateNodeInternals;function qr(){let e=Q(Kr),[t]=(0,v.useState)(()=>typeof ResizeObserver>`u`?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,v.useEffect)(()=>()=>{t?.disconnect()},[t]),t}function Jr({node:e,nodeType:t,hasDimensions:n,resizeObserver:r}){let i=$(),a=(0,v.useRef)(null),o=(0,v.useRef)(null),s=(0,v.useRef)(e.sourcePosition),c=(0,v.useRef)(e.targetPosition),l=(0,v.useRef)(t),u=n&&!!e.internals.handleBounds;return(0,v.useEffect)(()=>{a.current&&!e.hidden&&(!u||o.current!==a.current)&&(o.current&&r?.unobserve(o.current),r?.observe(a.current),o.current=a.current)},[u,e.hidden]),(0,v.useEffect)(()=>()=>{o.current&&=(r?.unobserve(o.current),null)},[]),(0,v.useEffect)(()=>{if(a.current){let n=l.current!==t,r=s.current!==e.sourcePosition,o=c.current!==e.targetPosition;(n||r||o)&&(l.current=t,s.current=e.sourcePosition,c.current=e.targetPosition,i.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:a.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),a}function Yr({id:e,onClick:t,onMouseEnter:n,onMouseMove:i,onMouseLeave:a,onContextMenu:o,onDoubleClick:c,nodesDraggable:l,elementsSelectable:u,nodesConnectable:d,nodesFocusable:f,resizeObserver:p,noDragClassName:m,noPanClassName:h,disableKeyboardA11y:g,rfId:_,nodeTypes:v,nodeClickDistance:x,onError:C}){let{node:w,internals:T,isParent:E}=Q(t=>{let n=t.nodeLookup.get(e),r=t.parentLookup.has(e);return{node:n,internals:n.internals,isParent:r}},s),D=w.type||`default`,O=v?.[D]||Ir[D];O===void 0&&(C?.(`003`,b.error003(D)),D=`default`,O=v?.default||Ir.default);let k=!!(w.draggable||l&&w.draggable===void 0),A=!!(w.selectable||u&&w.selectable===void 0),j=!!(w.connectable||d&&w.connectable===void 0),M=!!(w.focusable||f&&w.focusable===void 0),N=$(),P=ye(w),F=Jr({node:w,nodeType:D,hasDimensions:P,resizeObserver:p}),I=xr({nodeRef:F,disabled:w.hidden||!k,noDragClassName:m,handleSelector:w.dragHandle,nodeId:e,isSelectable:A,nodeClickDistance:x}),L=Cr();if(w.hidden)return null;let R=X(w),B=Lr(w),V=A||k||t||n||i||a,H=n?e=>n(e,{...T.userNode}):void 0,U=i?e=>i(e,{...T.userNode}):void 0,W=a?e=>a(e,{...T.userNode}):void 0,G=o?e=>o(e,{...T.userNode}):void 0,K=c?e=>c(e,{...T.userNode}):void 0,q=n=>{let{selectNodesOnDrag:r,nodeDragThreshold:i}=N.getState();A&&(!r||!k||i>0)&&br({id:e,store:N,nodeRef:F}),t&&t(n,{...T.userNode})},ee=t=>{if(!(Oe(t.nativeEvent)||g)){if(S.includes(t.key)&&A)br({id:e,store:N,unselect:t.key===`Escape`,nodeRef:F});else if(k&&w.selected&&Object.prototype.hasOwnProperty.call(Fr,t.key)){t.preventDefault();let{ariaLabelConfig:e}=N.getState();N.setState({ariaLiveMessage:e[`node.a11yDescription.ariaLiveMessage`]({direction:t.key.replace(`Arrow`,``).toLowerCase(),x:~~T.positionAbsolute.x,y:~~T.positionAbsolute.y})}),L({direction:Fr[t.key],factor:t.shiftKey?4:1})}}},J=()=>{if(g||!F.current?.matches(`:focus-visible`))return;let{transform:t,width:n,height:r,autoPanOnNodeFocus:i,setCenter:a}=N.getState();i&&(z(new Map([[e,w]]),{x:0,y:0,width:n,height:r},t,!0).length>0||a(w.position.x+R.width/2,w.position.y+R.height/2,{zoom:t[2]}))};return(0,y.jsx)(`div`,{className:r([`react-flow__node`,`react-flow__node-${D}`,{[h]:k},w.className,{selected:w.selected,selectable:A,parent:E,draggable:k,dragging:I}]),ref:F,style:{zIndex:T.z,transform:`translate(${T.positionAbsolute.x}px,${T.positionAbsolute.y}px)`,pointerEvents:V?`all`:`none`,visibility:P?`visible`:`hidden`,...w.style,...B},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:H,onMouseMove:U,onMouseLeave:W,onContextMenu:G,onClick:q,onDoubleClick:K,onKeyDown:M?ee:void 0,tabIndex:M?0:void 0,onFocus:M?J:void 0,role:w.ariaRole??(M?`group`:void 0),"aria-roledescription":`node`,"aria-describedby":g?void 0:`${hn}-${_}`,"aria-label":w.ariaLabel,...w.domAttributes,children:(0,y.jsx)(Tr,{value:e,children:(0,y.jsx)(O,{id:e,data:w.data,type:D,positionAbsoluteX:T.positionAbsolute.x,positionAbsoluteY:T.positionAbsolute.y,selected:w.selected??!1,selectable:A,draggable:k,deletable:w.deletable??!0,isConnectable:j,sourcePosition:w.sourcePosition,targetPosition:w.targetPosition,dragging:I,dragHandle:w.dragHandle,zIndex:T.z,parentId:w.parentId,...R})})})}var Xr=(0,v.memo)(Yr),Zr=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function Qr(e){let{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,onError:a}=Q(Zr,s),o=Gr(e.onlyRenderVisibleElements),c=qr();return(0,y.jsx)(`div`,{className:`react-flow__nodes`,style:fr,children:o.map(o=>(0,y.jsx)(Xr,{id:o,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:c,nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,nodeClickDistance:e.nodeClickDistance,onError:a},o))})}Qr.displayName=`NodeRenderer`;var $r=(0,v.memo)(Qr);function ei(e){return Q((0,v.useCallback)(t=>{if(!e)return t.edges.map(e=>e.id);let n=[];if(t.width&&t.height)for(let e of t.edges){let r=t.nodeLookup.get(e.source),i=t.nodeLookup.get(e.target);r&&i&&Le({sourceNode:r,targetNode:i,width:t.width,height:t.height,transform:t.transform})&&n.push(e.id)}return n},[e]),s)}var ti=({color:e=`none`,strokeWidth:t=1})=>(0,y.jsx)(`polyline`,{className:`arrow`,style:{strokeWidth:t,...e&&{stroke:e}},strokeLinecap:`round`,fill:`none`,strokeLinejoin:`round`,points:`-5,-4 0,0 -5,4`}),ni=({color:e=`none`,strokeWidth:t=1})=>(0,y.jsx)(`polyline`,{className:`arrowclosed`,style:{strokeWidth:t,...e&&{stroke:e,fill:e}},strokeLinecap:`round`,strokeLinejoin:`round`,points:`-5,-4 0,0 -5,4 -5,-4`}),ri={[k.Arrow]:ti,[k.ArrowClosed]:ni};function ii(e){let t=$();return(0,v.useMemo)(()=>Object.prototype.hasOwnProperty.call(ri,e)?ri[e]:(t.getState().onError?.(`009`,b.error009(e)),null),[e])}var ai=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:a=`strokeWidth`,strokeWidth:o,orient:s=`auto-start-reverse`})=>{let c=ii(t);return c?(0,y.jsx)(`marker`,{className:`react-flow__arrowhead`,id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:`-10 -10 20 20`,markerUnits:a,orient:s,refX:`0`,refY:`0`,children:(0,y.jsx)(c,{color:n,strokeWidth:o})}):null},oi=({defaultColor:e,rfId:t})=>{let n=Q(e=>e.edges),r=Q(e=>e.defaultEdgeOptions),i=(0,v.useMemo)(()=>et(n,{id:t,defaultColor:e,defaultMarkerStart:r?.markerStart,defaultMarkerEnd:r?.markerEnd}),[n,r,t,e]);return i.length?(0,y.jsx)(`svg`,{className:`react-flow__marker`,"aria-hidden":`true`,children:(0,y.jsx)(`defs`,{children:i.map(e=>(0,y.jsx)(ai,{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};oi.displayName=`MarkerDefinitions`;var si=(0,v.memo)(oi);function ci({x:e,y:t,label:n,labelStyle:i,labelShowBg:a=!0,labelBgStyle:o,labelBgPadding:s=[2,4],labelBgBorderRadius:c=2,children:l,className:u,...d}){let[f,p]=(0,v.useState)({x:1,y:0,width:0,height:0}),m=r([`react-flow__edge-textwrapper`,u]),h=(0,v.useRef)(null);return(0,v.useEffect)(()=>{if(h.current){let e=h.current.getBBox();p({x:e.x,y:e.y,width:e.width,height:e.height})}},[n]),n?(0,y.jsxs)(`g`,{transform:`translate(${e-f.width/2} ${t-f.height/2})`,className:m,visibility:f.width?`visible`:`hidden`,...d,children:[a&&(0,y.jsx)(`rect`,{width:f.width+2*s[0],x:-s[0],y:-s[1],height:f.height+2*s[1],className:`react-flow__edge-textbg`,style:o,rx:c,ry:c}),(0,y.jsx)(`text`,{className:`react-flow__edge-text`,y:f.height/2,dy:`0.3em`,ref:h,style:i,children:n}),l]}):null}ci.displayName=`EdgeText`;var li=(0,v.memo)(ci);function ui({path:e,labelX:t,labelY:n,label:i,labelStyle:a,labelShowBg:o,labelBgStyle:s,labelBgPadding:c,labelBgBorderRadius:l,interactionWidth:u=20,...d}){return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(`path`,{...d,d:e,fill:`none`,className:r([`react-flow__edge-path`,d.className])}),u?(0,y.jsx)(`path`,{d:e,fill:`none`,strokeOpacity:0,strokeWidth:u,className:`react-flow__edge-interaction`}):null,i&&Y(t)&&Y(n)?(0,y.jsx)(li,{x:t,y:n,label:i,labelStyle:a,labelShowBg:o,labelBgStyle:s,labelBgPadding:c,labelBgBorderRadius:l}):null]})}function di({pos:e,x1:t,y1:n,x2:r,y2:i}){return e===A.Left||e===A.Right?[.5*(t+r),n]:[t,.5*(n+i)]}function fi({sourceX:e,sourceY:t,sourcePosition:n=A.Bottom,targetX:r,targetY:i,targetPosition:a=A.Top}){let[o,s]=di({pos:n,x1:e,y1:t,x2:r,y2:i}),[c,l]=di({pos:a,x1:r,y1:i,x2:e,y2:t}),[u,d,f,p]=je({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:o,sourceControlY:s,targetControlX:c,targetControlY:l});return[`M${e},${t} C${o},${s} ${c},${l} ${r},${i}`,u,d,f,p]}function pi(e){return(0,v.memo)(({id:t,sourceX:n,sourceY:r,targetX:i,targetY:a,sourcePosition:o,targetPosition:s,label:c,labelStyle:l,labelShowBg:u,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:p,style:m,markerEnd:h,markerStart:g,interactionWidth:_})=>{let[v,b,x]=fi({sourceX:n,sourceY:r,sourcePosition:o,targetX:i,targetY:a,targetPosition:s});return(0,y.jsx)(ui,{id:e.isInternal?void 0:t,path:v,labelX:b,labelY:x,label:c,labelStyle:l,labelShowBg:u,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:p,style:m,markerEnd:h,markerStart:g,interactionWidth:_})})}var mi=pi({isInternal:!1}),hi=pi({isInternal:!0});mi.displayName=`SimpleBezierEdge`,hi.displayName=`SimpleBezierEdgeInternal`;function gi(e){return(0,v.memo)(({id:t,sourceX:n,sourceY:r,targetX:i,targetY:a,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,sourcePosition:p=A.Bottom,targetPosition:m=A.Top,markerEnd:h,markerStart:g,pathOptions:_,interactionWidth:v})=>{let[b,x,S]=qe({sourceX:n,sourceY:r,sourcePosition:p,targetX:i,targetY:a,targetPosition:m,borderRadius:_?.borderRadius,offset:_?.offset,stepPosition:_?.stepPosition});return(0,y.jsx)(ui,{id:e.isInternal?void 0:t,path:b,labelX:x,labelY:S,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:g,interactionWidth:v})})}var _i=gi({isInternal:!1}),vi=gi({isInternal:!0});_i.displayName=`SmoothStepEdge`,vi.displayName=`SmoothStepEdgeInternal`;function yi(e){return(0,v.memo)(({id:t,...n})=>{let r=e.isInternal?void 0:t;return(0,y.jsx)(_i,{...n,id:r,pathOptions:(0,v.useMemo)(()=>({borderRadius:0,offset:n.pathOptions?.offset}),[n.pathOptions?.offset])})})}var bi=yi({isInternal:!1}),xi=yi({isInternal:!0});bi.displayName=`StepEdge`,xi.displayName=`StepEdgeInternal`;function Si(e){return(0,v.memo)(({id:t,sourceX:n,sourceY:r,targetX:i,targetY:a,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,markerEnd:p,markerStart:m,interactionWidth:h})=>{let[g,_,v]=Ve({sourceX:n,sourceY:r,targetX:i,targetY:a});return(0,y.jsx)(ui,{id:e.isInternal?void 0:t,path:g,labelX:_,labelY:v,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,markerEnd:p,markerStart:m,interactionWidth:h})})}var Ci=Si({isInternal:!1}),wi=Si({isInternal:!0});Ci.displayName=`StraightEdge`,wi.displayName=`StraightEdgeInternal`;function Ti(e){return(0,v.memo)(({id:t,sourceX:n,sourceY:r,targetX:i,targetY:a,sourcePosition:o=A.Bottom,targetPosition:s=A.Top,label:c,labelStyle:l,labelShowBg:u,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:p,style:m,markerEnd:h,markerStart:g,pathOptions:_,interactionWidth:v})=>{let[b,x,S]=Pe({sourceX:n,sourceY:r,sourcePosition:o,targetX:i,targetY:a,targetPosition:s,curvature:_?.curvature});return(0,y.jsx)(ui,{id:e.isInternal?void 0:t,path:b,labelX:x,labelY:S,label:c,labelStyle:l,labelShowBg:u,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:p,style:m,markerEnd:h,markerStart:g,interactionWidth:v})})}var Ei=Ti({isInternal:!1}),Di=Ti({isInternal:!0});Ei.displayName=`BezierEdge`,Di.displayName=`BezierEdgeInternal`;var Oi={default:Di,straight:wi,step:xi,smoothstep:vi,simplebezier:hi},ki={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},Ai=(e,t,n)=>n===A.Left?e-t:n===A.Right?e+t:e,ji=(e,t,n)=>n===A.Top?e-t:n===A.Bottom?e+t:e,Mi=`react-flow__edgeupdater`;function Ni({position:e,centerX:t,centerY:n,radius:i=10,onMouseDown:a,onMouseEnter:o,onMouseOut:s,type:c}){return(0,y.jsx)(`circle`,{onMouseDown:a,onMouseEnter:o,onMouseOut:s,className:r([Mi,`${Mi}-${c}`]),cx:Ai(t,i,e),cy:ji(n,i,e),r:i,stroke:`transparent`,fill:`transparent`})}function Pi({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:r,sourceY:i,targetX:a,targetY:o,sourcePosition:s,targetPosition:c,onReconnect:l,onReconnectStart:u,onReconnectEnd:d,setReconnecting:f,setUpdateHover:p}){let m=$(),h=(e,t)=>{if(e.button!==0)return;let{autoPanOnConnect:r,domNode:i,connectionMode:a,connectionRadius:o,lib:s,onConnectStart:c,cancelConnection:p,nodeLookup:h,rfId:g,panBy:_,updateConnection:v}=m.getState(),y=t.type===`target`;Pt.onPointerDown(e.nativeEvent,{autoPanOnConnect:r,connectionMode:a,connectionRadius:o,domNode:i,handleId:t.id,nodeId:t.nodeId,nodeLookup:h,isTarget:y,edgeUpdaterType:t.type,lib:s,flowId:g,cancelConnection:p,panBy:_,isValidConnection:(...e)=>m.getState().isValidConnection?.(...e)??!0,onConnect:e=>l?.(n,e),onConnectStart:(r,i)=>{f(!0),u?.(e,n,t.type),c?.(r,i)},onConnectEnd:(...e)=>m.getState().onConnectEnd?.(...e),onReconnectEnd:(e,r)=>{f(!1),d?.(e,n,t.type,r)},updateConnection:v,getTransform:()=>m.getState().transform,getFromHandle:()=>m.getState().connection.fromHandle,dragThreshold:m.getState().connectionDragThreshold,handleDomNode:e.currentTarget})},g=e=>h(e,{nodeId:n.target,id:n.targetHandle??null,type:`target`}),_=e=>h(e,{nodeId:n.source,id:n.sourceHandle??null,type:`source`}),v=()=>p(!0),b=()=>p(!1);return(0,y.jsxs)(y.Fragment,{children:[(e===!0||e===`source`)&&(0,y.jsx)(Ni,{position:s,centerX:r,centerY:i,radius:t,onMouseDown:g,onMouseEnter:v,onMouseOut:b,type:`source`}),(e===!0||e===`target`)&&(0,y.jsx)(Ni,{position:c,centerX:a,centerY:o,radius:t,onMouseDown:_,onMouseEnter:v,onMouseOut:b,type:`target`})]})}function Fi({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:i,onClick:a,onDoubleClick:o,onContextMenu:c,onMouseEnter:l,onMouseMove:u,onMouseLeave:d,reconnectRadius:f,onReconnect:p,onReconnectStart:m,onReconnectEnd:h,rfId:g,edgeTypes:_,noPanClassName:x,onError:C,disableKeyboardA11y:w}){let T=Q(t=>t.edgeLookup.get(e)),E=Q(e=>e.defaultEdgeOptions);T=E?{...E,...T}:T;let D=T.type||`default`,O=_?.[D]||Oi[D];O===void 0&&(C?.(`011`,b.error011(D)),D=`default`,O=_?.default||Oi.default);let k=!!(T.focusable||t&&T.focusable===void 0),A=p!==void 0&&(T.reconnectable||n&&T.reconnectable===void 0),j=!!(T.selectable||i&&T.selectable===void 0),M=(0,v.useRef)(null),[N,P]=(0,v.useState)(!1),[F,I]=(0,v.useState)(!1),L=$(),{zIndex:R,sourceX:z,sourceY:B,targetX:V,targetY:H,sourcePosition:U,targetPosition:W}=Q((0,v.useCallback)(t=>{let n=t.nodeLookup.get(T.source),r=t.nodeLookup.get(T.target);if(!n||!r)return{zIndex:T.zIndex,...ki};let i=Ye({id:e,sourceNode:n,targetNode:r,sourceHandle:T.sourceHandle||null,targetHandle:T.targetHandle||null,connectionMode:t.connectionMode,onError:C});return{zIndex:Ie({selected:T.selected,zIndex:T.zIndex,sourceNode:n,targetNode:r,elevateOnSelect:t.elevateEdgesOnSelect,zIndexMode:t.zIndexMode}),...i||ki}},[T.source,T.target,T.sourceHandle,T.targetHandle,T.selected,T.zIndex]),s),G=(0,v.useMemo)(()=>T.markerStart?`url('#${$e(T.markerStart,g)}')`:void 0,[T.markerStart,g]),K=(0,v.useMemo)(()=>T.markerEnd?`url('#${$e(T.markerEnd,g)}')`:void 0,[T.markerEnd,g]);if(T.hidden||z===null||B===null||V===null||H===null)return null;let q=t=>{let{addSelectedEdges:n,unselectNodesAndEdges:r,multiSelectionActive:i}=L.getState();j&&(L.setState({nodesSelectionActive:!1}),T.selected&&i?(r({nodes:[],edges:[T]}),M.current?.blur()):n([e])),a&&a(t,T)},ee=o?e=>{o(e,{...T})}:void 0,J=c?e=>{c(e,{...T})}:void 0,te=l?e=>{l(e,{...T})}:void 0,ne=u?e=>{u(e,{...T})}:void 0,re=d?e=>{d(e,{...T})}:void 0;return(0,y.jsx)(`svg`,{style:{zIndex:R},children:(0,y.jsxs)(`g`,{className:r([`react-flow__edge`,`react-flow__edge-${D}`,T.className,x,{selected:T.selected,animated:T.animated,inactive:!j&&!a,updating:N,selectable:j}]),onClick:q,onDoubleClick:ee,onContextMenu:J,onMouseEnter:te,onMouseMove:ne,onMouseLeave:re,onKeyDown:k?t=>{if(!w&&S.includes(t.key)&&j){let{unselectNodesAndEdges:n,addSelectedEdges:r}=L.getState();t.key===`Escape`?(M.current?.blur(),n({edges:[T]})):r([e])}}:void 0,tabIndex:k?0:void 0,role:T.ariaRole??(k?`group`:`img`),"aria-roledescription":`edge`,"data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":T.ariaLabel===null?void 0:T.ariaLabel||`Edge from ${T.source} to ${T.target}`,"aria-describedby":k?`${gn}-${g}`:void 0,ref:M,...T.domAttributes,children:[!F&&(0,y.jsx)(O,{id:e,source:T.source,target:T.target,type:T.type,selected:T.selected,animated:T.animated,selectable:j,deletable:T.deletable??!0,label:T.label,labelStyle:T.labelStyle,labelShowBg:T.labelShowBg,labelBgStyle:T.labelBgStyle,labelBgPadding:T.labelBgPadding,labelBgBorderRadius:T.labelBgBorderRadius,sourceX:z,sourceY:B,targetX:V,targetY:H,sourcePosition:U,targetPosition:W,data:T.data,style:T.style,sourceHandleId:T.sourceHandle,targetHandleId:T.targetHandle,markerStart:G,markerEnd:K,pathOptions:`pathOptions`in T?T.pathOptions:void 0,interactionWidth:T.interactionWidth}),A&&(0,y.jsx)(Pi,{edge:T,isReconnectable:A,reconnectRadius:f,onReconnect:p,onReconnectStart:m,onReconnectEnd:h,sourceX:z,sourceY:B,targetX:V,targetY:H,sourcePosition:U,targetPosition:W,setUpdateHover:P,setReconnecting:I})]})})}var Ii=(0,v.memo)(Fi),Li=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function Ri({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:r,noPanClassName:i,onReconnect:a,onEdgeContextMenu:o,onEdgeMouseEnter:c,onEdgeMouseMove:l,onEdgeMouseLeave:u,onEdgeClick:d,reconnectRadius:f,onEdgeDoubleClick:p,onReconnectStart:m,onReconnectEnd:h,disableKeyboardA11y:g}){let{edgesFocusable:_,edgesReconnectable:v,elementsSelectable:b,onError:x}=Q(Li,s),S=ei(t);return(0,y.jsxs)(`div`,{className:`react-flow__edges`,children:[(0,y.jsx)(si,{defaultColor:e,rfId:n}),S.map(e=>(0,y.jsx)(Ii,{id:e,edgesFocusable:_,edgesReconnectable:v,elementsSelectable:b,noPanClassName:i,onReconnect:a,onContextMenu:o,onMouseEnter:c,onMouseMove:l,onMouseLeave:u,onClick:d,reconnectRadius:f,onDoubleClick:p,onReconnectStart:m,onReconnectEnd:h,rfId:n,onError:x,edgeTypes:r,disableKeyboardA11y:g},e))]})}Ri.displayName=`EdgeRenderer`;var zi=(0,v.memo)(Ri),Bi=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Vi({children:e}){return(0,y.jsx)(`div`,{className:`react-flow__viewport xyflow__viewport react-flow__container`,style:{transform:Q(Bi)},children:e})}function Hi(e){let t=sr(),n=(0,v.useRef)(!1);(0,v.useEffect)(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}var Ui=e=>e.panZoom?.syncViewport;function Wi(e){let t=Q(Ui),n=$();return(0,v.useEffect)(()=>{e&&(t?.(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function Gi(e){return e.connection.inProgress?{...e.connection,to:de(e.connection.to,e.transform)}:{...e.connection}}function Ki(e){return e?t=>e(Gi(t)):Gi}function qi(e){return Q(Ki(e),s)}var Ji=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function Yi({containerStyle:e,style:t,type:n,component:i}){let{nodesConnectable:a,width:o,height:c,isValid:l,inProgress:u}=Q(Ji,s);return o&&a&&u?(0,y.jsx)(`svg`,{style:e,width:o,height:c,className:`react-flow__connectionline react-flow__container`,children:(0,y.jsx)(`g`,{className:r([`react-flow__connection`,M(l)]),children:(0,y.jsx)(Xi,{style:t,type:n,CustomComponent:i,isValid:l})})}):null}var Xi=({style:e,type:t=O.Bezier,CustomComponent:n,isValid:r})=>{let{inProgress:i,from:a,fromNode:o,fromHandle:s,fromPosition:c,to:l,toNode:u,toHandle:d,toPosition:f,pointer:p}=qi();if(!i)return;if(n)return(0,y.jsx)(n,{connectionLineType:t,connectionLineStyle:e,fromNode:o,fromHandle:s,fromX:a.x,fromY:a.y,toX:l.x,toY:l.y,fromPosition:c,toPosition:f,connectionStatus:M(r),toNode:u,toHandle:d,pointer:p});let m=``,h={sourceX:a.x,sourceY:a.y,sourcePosition:c,targetX:l.x,targetY:l.y,targetPosition:f};switch(t){case O.Bezier:[m]=Pe(h);break;case O.SimpleBezier:[m]=fi(h);break;case O.Step:[m]=qe({...h,borderRadius:0});break;case O.SmoothStep:[m]=qe(h);break;default:[m]=Ve(h)}return(0,y.jsx)(`path`,{d:m,fill:`none`,className:`react-flow__connection-path`,style:e})};Xi.displayName=`ConnectionLine`;var Zi={};function Qi(e=Zi){(0,v.useRef)(e),$(),(0,v.useEffect)(()=>{},[e])}function $i(){$(),(0,v.useRef)(!1),(0,v.useEffect)(()=>{},[])}function ea({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:r,onEdgeClick:i,onNodeDoubleClick:a,onEdgeDoubleClick:o,onNodeMouseEnter:s,onNodeMouseMove:c,onNodeMouseLeave:l,onNodeContextMenu:u,onSelectionContextMenu:d,onSelectionStart:f,onSelectionEnd:p,connectionLineType:m,connectionLineStyle:h,connectionLineComponent:g,connectionLineContainerStyle:_,selectionKeyCode:v,selectionOnDrag:b,selectionMode:x,multiSelectionKeyCode:S,panActivationKeyCode:C,zoomActivationKeyCode:w,deleteKeyCode:T,onlyRenderVisibleElements:E,elementsSelectable:D,defaultViewport:O,translateExtent:k,minZoom:A,maxZoom:j,preventScrolling:M,defaultMarkerColor:N,zoomOnScroll:P,zoomOnPinch:F,panOnScroll:I,panOnScrollSpeed:L,panOnScrollMode:R,zoomOnDoubleClick:z,panOnDrag:B,onPaneClick:V,onPaneMouseEnter:H,onPaneMouseMove:U,onPaneMouseLeave:W,onPaneScroll:G,onPaneContextMenu:K,paneClickDistance:q,nodeClickDistance:ee,onEdgeContextMenu:J,onEdgeMouseEnter:te,onEdgeMouseMove:ne,onEdgeMouseLeave:re,reconnectRadius:ie,onReconnect:ae,onReconnectStart:oe,onReconnectEnd:se,noDragClassName:ce,noWheelClassName:Y,noPanClassName:le,disableKeyboardA11y:ue,nodeExtent:de,rfId:fe,viewport:pe,onViewportChange:me}){return Qi(e),Qi(t),$i(),Hi(n),Wi(pe),(0,y.jsx)(Ur,{onPaneClick:V,onPaneMouseEnter:H,onPaneMouseMove:U,onPaneMouseLeave:W,onPaneContextMenu:K,onPaneScroll:G,paneClickDistance:q,deleteKeyCode:T,selectionKeyCode:v,selectionOnDrag:b,selectionMode:x,onSelectionStart:f,onSelectionEnd:p,multiSelectionKeyCode:S,panActivationKeyCode:C,zoomActivationKeyCode:w,elementsSelectable:D,zoomOnScroll:P,zoomOnPinch:F,zoomOnDoubleClick:z,panOnScroll:I,panOnScrollSpeed:L,panOnScrollMode:R,panOnDrag:B,defaultViewport:O,translateExtent:k,minZoom:A,maxZoom:j,onSelectionContextMenu:d,preventScrolling:M,noDragClassName:ce,noWheelClassName:Y,noPanClassName:le,disableKeyboardA11y:ue,onViewportChange:me,isControlledViewport:!!pe,children:(0,y.jsxs)(Vi,{children:[(0,y.jsx)(zi,{edgeTypes:t,onEdgeClick:i,onEdgeDoubleClick:o,onReconnect:ae,onReconnectStart:oe,onReconnectEnd:se,onlyRenderVisibleElements:E,onEdgeContextMenu:J,onEdgeMouseEnter:te,onEdgeMouseMove:ne,onEdgeMouseLeave:re,reconnectRadius:ie,defaultMarkerColor:N,noPanClassName:le,disableKeyboardA11y:ue,rfId:fe}),(0,y.jsx)(Yi,{style:h,type:m,component:g,containerStyle:_}),(0,y.jsx)(`div`,{className:`react-flow__edgelabel-renderer`}),(0,y.jsx)($r,{nodeTypes:e,onNodeClick:r,onNodeDoubleClick:a,onNodeMouseEnter:s,onNodeMouseMove:c,onNodeMouseLeave:l,onNodeContextMenu:u,nodeClickDistance:ee,onlyRenderVisibleElements:E,noPanClassName:le,noDragClassName:ce,disableKeyboardA11y:ue,nodeExtent:de,rfId:fe}),(0,y.jsx)(`div`,{className:`react-flow__viewport-portal`})]})})}ea.displayName=`GraphView`;var ta=(0,v.memo)(ea),na=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:i,height:a,fitView:o,fitViewOptions:s,minZoom:c=.5,maxZoom:l=2,nodeOrigin:u,nodeExtent:d,zIndexMode:f=`basic`}={})=>{let p=new Map,m=new Map,h=new Map,g=new Map,_=r??t??[],v=n??e??[],y=u??[0,0],b=d??x;vt(h,g,_);let{nodesInitialized:S}=lt(v,p,m,{nodeOrigin:y,nodeExtent:b,zIndexMode:f}),T=[0,0,1];if(o&&i&&a){let{x:e,y:t,zoom:n}=ge(R(p,{filter:e=>!!((e.width||e.initialWidth)&&(e.height||e.initialHeight))}),i,a,c,l,s?.padding??.1);T=[e,t,n]}return{rfId:`1`,width:i??0,height:a??0,transform:T,nodes:v,nodesInitialized:S,nodeLookup:p,parentLookup:m,edges:_,edgeLookup:g,connectionLookup:h,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:n!==void 0,hasDefaultEdges:r!==void 0,panZoom:null,minZoom:c,maxZoom:l,translateExtent:x,nodeExtent:b,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:w.Strict,domNode:null,paneDragging:!1,noPanClassName:`nopan`,nodeOrigin:y,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:o??!1,fitViewOptions:s,fitViewResolver:null,connection:{...D},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:``,autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:le,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:`react`,debug:!1,ariaLabelConfig:C,zIndexMode:f,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},ra=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:i,height:o,fitView:s,fitViewOptions:c,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:f,zIndexMode:p})=>a((a,m)=>{async function h(){let{nodeLookup:e,panZoom:t,fitViewOptions:n,fitViewResolver:r,width:i,height:o,minZoom:s,maxZoom:c}=m();t&&(await H({nodes:e,width:i,height:o,panZoom:t,minZoom:s,maxZoom:c},n),r?.resolve(!0),a({fitViewResolver:null}))}return{...na({nodes:e,edges:t,width:i,height:o,fitView:s,fitViewOptions:c,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:f,defaultNodes:n,defaultEdges:r,zIndexMode:p}),setNodes:e=>{let{nodeLookup:t,parentLookup:n,nodeOrigin:r,elevateNodesOnSelect:i,fitViewQueued:o,zIndexMode:s,nodesSelectionActive:c}=m(),{nodesInitialized:l,hasSelectedNodes:u}=lt(e,t,n,{nodeOrigin:r,nodeExtent:f,elevateNodesOnSelect:i,checkEquality:!0,zIndexMode:s}),d=c&&u;o&&l?(h(),a({nodes:e,nodesInitialized:l,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:d})):a({nodes:e,nodesInitialized:l,nodesSelectionActive:d})},setEdges:e=>{let{connectionLookup:t,edgeLookup:n}=m();vt(t,n,e),a({edges:e})},setDefaultNodesAndEdges:(e,t)=>{if(e){let{setNodes:t}=m();t(e),a({hasDefaultNodes:!0})}if(t){let{setEdges:e}=m();e(t),a({hasDefaultEdges:!0})}},updateNodeInternals:e=>{let{triggerNodeChanges:t,nodeLookup:n,parentLookup:r,domNode:i,nodeOrigin:o,nodeExtent:s,debug:c,fitViewQueued:l,zIndexMode:u}=m(),{changes:d,updatedInternals:f}=ht(e,n,r,i,o,s,u);f&&(ot(n,r,{nodeOrigin:o,nodeExtent:s,zIndexMode:u}),l?(h(),a({fitViewQueued:!1,fitViewOptions:void 0})):a({}),d?.length>0&&(c&&console.log(`React Flow: trigger node changes`,d),t?.(d)))},updateNodePositions:(e,t=!1)=>{let n=[],r=[],{nodeLookup:i,triggerNodeChanges:a,connection:o,updateConnection:s,onNodesChangeMiddlewareMap:c}=m();for(let[a,c]of e){let e=i.get(a),l=!!(e?.expandParent&&e?.parentId&&c?.position),u={id:a,type:`position`,position:l?{x:Math.max(0,c.position.x),y:Math.max(0,c.position.y)}:c.position,dragging:t};if(e&&o.inProgress&&o.fromNode.id===e.id){let t=Ze(e,o.fromHandle,A.Left,!0);s({...o,from:t})}l&&e.parentId&&n.push({id:a,parentId:e.parentId,rect:{...c.internals.positionAbsolute,width:c.measured.width??0,height:c.measured.height??0}}),r.push(u)}if(n.length>0){let{parentLookup:e,nodeOrigin:t}=m(),a=mt(n,i,e,t);r.push(...a)}for(let e of c.values())r=e(r);a(r)},triggerNodeChanges:e=>{let{onNodesChange:t,setNodes:n,nodes:r,hasDefaultNodes:i,debug:a}=m();e?.length&&(i&&n(Kn(e,r)),a&&console.log(`React Flow: trigger node changes`,e),t?.(e))},triggerEdgeChanges:e=>{let{onEdgesChange:t,setEdges:n,edges:r,hasDefaultEdges:i,debug:a}=m();e?.length&&(i&&n(qn(e,r)),a&&console.log(`React Flow: trigger edge changes`,e),t?.(e))},addSelectedNodes:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:r,triggerNodeChanges:i,triggerEdgeChanges:a}=m();if(t){i(e.map(e=>Jn(e,!0)));return}i(Yn(r,new Set([...e]),!0)),a(Yn(n))},addSelectedEdges:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:r,triggerNodeChanges:i,triggerEdgeChanges:a}=m();if(t){a(e.map(e=>Jn(e,!0)));return}a(Yn(n,new Set([...e]))),i(Yn(r,new Set,!0))},unselectNodesAndEdges:({nodes:e,edges:t}={})=>{let{edges:n,nodes:r,nodeLookup:i,triggerNodeChanges:a,triggerEdgeChanges:o}=m(),s=e||r,c=t||n,l=[];for(let e of s){if(!e.selected)continue;let t=i.get(e.id);t&&(t.selected=!1),l.push(Jn(e.id,!1))}let u=[];for(let e of c)e.selected&&u.push(Jn(e.id,!1));a(l),o(u)},setMinZoom:e=>{let{panZoom:t,maxZoom:n}=m();t?.setScaleExtent([e,n]),a({minZoom:e})},setMaxZoom:e=>{let{panZoom:t,minZoom:n}=m();t?.setScaleExtent([n,e]),a({maxZoom:e})},setTranslateExtent:e=>{m().panZoom?.setTranslateExtent(e),a({translateExtent:e})},resetSelectedElements:()=>{let{edges:e,nodes:t,triggerNodeChanges:n,triggerEdgeChanges:r,elementsSelectable:i}=m();if(!i)return;let a=t.reduce((e,t)=>t.selected?[...e,Jn(t.id,!1)]:e,[]),o=e.reduce((e,t)=>t.selected?[...e,Jn(t.id,!1)]:e,[]);n(a),r(o)},setNodeExtent:e=>{let{nodes:t,nodeLookup:n,parentLookup:r,nodeOrigin:i,elevateNodesOnSelect:o,nodeExtent:s,zIndexMode:c}=m();e[0][0]===s[0][0]&&e[0][1]===s[0][1]&&e[1][0]===s[1][0]&&e[1][1]===s[1][1]||(lt(t,n,r,{nodeOrigin:i,nodeExtent:e,elevateNodesOnSelect:o,checkEquality:!1,zIndexMode:c}),a({nodeExtent:e}))},panBy:e=>{let{transform:t,width:n,height:r,panZoom:i,translateExtent:a}=m();return gt({delta:e,panZoom:i,transform:t,translateExtent:a,width:n,height:r})},setCenter:async(e,t,n)=>{let{width:r,height:i,maxZoom:a,panZoom:o}=m();if(!o)return Promise.resolve(!1);let s=n?.zoom===void 0?a:n.zoom;return await o.setViewport({x:r/2-e*s,y:i/2-t*s,zoom:s},{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{a({connection:{...D}})},updateConnection:e=>{a({connection:e})},reset:()=>a({...na()})}},Object.is);function ia({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:r,initialWidth:i,initialHeight:a,initialMinZoom:o,initialMaxZoom:s,initialFitViewOptions:c,fitView:l,nodeOrigin:u,nodeExtent:d,zIndexMode:f,children:p}){let[m]=(0,v.useState)(()=>ra({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:i,height:a,fitView:l,minZoom:o,maxZoom:s,fitViewOptions:c,nodeOrigin:u,nodeExtent:d,zIndexMode:f}));return(0,y.jsx)(dn,{value:m,children:(0,y.jsx)(ir,{children:p})})}function aa({children:e,nodes:t,edges:n,defaultNodes:r,defaultEdges:i,width:a,height:o,fitView:s,fitViewOptions:c,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:f,zIndexMode:p}){return(0,v.useContext)(un)?(0,y.jsx)(y.Fragment,{children:e}):(0,y.jsx)(ia,{initialNodes:t,initialEdges:n,defaultNodes:r,defaultEdges:i,initialWidth:a,initialHeight:o,fitView:s,initialFitViewOptions:c,initialMinZoom:l,initialMaxZoom:u,nodeOrigin:d,nodeExtent:f,zIndexMode:p,children:e})}var oa={width:`100%`,height:`100%`,overflow:`hidden`,position:`relative`,zIndex:0};function sa({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,className:a,nodeTypes:o,edgeTypes:s,onNodeClick:c,onEdgeClick:l,onInit:u,onMove:d,onMoveStart:f,onMoveEnd:p,onConnect:m,onConnectStart:h,onConnectEnd:g,onClickConnectStart:_,onClickConnectEnd:b,onNodeMouseEnter:S,onNodeMouseMove:C,onNodeMouseLeave:w,onNodeContextMenu:D,onNodeDoubleClick:k,onNodeDragStart:A,onNodeDrag:j,onNodeDragStop:M,onNodesDelete:N,onEdgesDelete:P,onDelete:F,onSelectionChange:I,onSelectionDragStart:L,onSelectionDrag:R,onSelectionDragStop:z,onSelectionContextMenu:B,onSelectionStart:V,onSelectionEnd:H,onBeforeDelete:U,connectionMode:W,connectionLineType:G=O.Bezier,connectionLineStyle:K,connectionLineComponent:q,connectionLineContainerStyle:ee,deleteKeyCode:J=`Backspace`,selectionKeyCode:te=`Shift`,selectionOnDrag:ne=!1,selectionMode:re=E.Full,panActivationKeyCode:ie=`Space`,multiSelectionKeyCode:ae=_e()?`Meta`:`Control`,zoomActivationKeyCode:oe=_e()?`Meta`:`Control`,snapToGrid:se,snapGrid:ce,onlyRenderVisibleElements:Y=!1,selectNodesOnDrag:le,nodesDraggable:ue,autoPanOnNodeFocus:de,nodesConnectable:fe,nodesFocusable:pe,nodeOrigin:me=jn,edgesFocusable:he,edgesReconnectable:ge,elementsSelectable:ve=!0,defaultViewport:X=Mn,minZoom:ye=.5,maxZoom:be=2,translateExtent:xe=x,preventScrolling:Se=!0,nodeExtent:Ce,defaultMarkerColor:we=`#b1b1b7`,zoomOnScroll:Te=!0,zoomOnPinch:Ee=!0,panOnScroll:De=!1,panOnScrollSpeed:Oe=.5,panOnScrollMode:ke=T.Free,zoomOnDoubleClick:Z=!0,panOnDrag:Ae=!0,onPaneClick:je,onPaneMouseEnter:Me,onPaneMouseMove:Ne,onPaneMouseLeave:Pe,onPaneScroll:Fe,onPaneContextMenu:Ie,paneClickDistance:Le=1,nodeClickDistance:Re=0,children:ze,onReconnect:Be,onReconnectStart:Ve,onReconnectEnd:He,onEdgeContextMenu:Ue,onEdgeDoubleClick:We,onEdgeMouseEnter:Ge,onEdgeMouseMove:Ke,onEdgeMouseLeave:qe,reconnectRadius:Je=10,onNodesChange:Ye,onEdgesChange:Xe,noDragClassName:Ze=`nodrag`,noWheelClassName:Qe=`nowheel`,noPanClassName:$e=`nopan`,fitView:et,fitViewOptions:tt,connectOnClick:nt,attributionPosition:rt,proOptions:it,defaultEdgeOptions:at,elevateNodesOnSelect:ot=!0,elevateEdgesOnSelect:st=!1,disableKeyboardA11y:ct=!1,autoPanOnConnect:lt,autoPanOnNodeDrag:ut,autoPanSpeed:dt,connectionRadius:ft,isValidConnection:pt,onError:mt,style:ht,id:gt,nodeDragThreshold:_t,connectionDragThreshold:vt,viewport:yt,onViewportChange:bt,width:xt,height:St,colorMode:Ct=`light`,debug:wt,onScroll:Tt,ariaLabelConfig:Et,zIndexMode:Dt=`basic`,...Ot},kt){let At=gt||`1`,jt=Rn(Ct),Mt=(0,v.useCallback)(e=>{e.currentTarget.scrollTo({top:0,left:0,behavior:`instant`}),Tt?.(e)},[Tt]);return(0,y.jsx)(`div`,{"data-testid":`rf__wrapper`,...Ot,onScroll:Mt,style:{...ht,...oa},ref:kt,className:r([`react-flow`,a,jt]),id:gt,role:`application`,children:(0,y.jsxs)(aa,{nodes:e,edges:t,width:xt,height:St,fitView:et,fitViewOptions:tt,minZoom:ye,maxZoom:be,nodeOrigin:me,nodeExtent:Ce,zIndexMode:Dt,children:[(0,y.jsx)(In,{nodes:e,edges:t,defaultNodes:n,defaultEdges:i,onConnect:m,onConnectStart:h,onConnectEnd:g,onClickConnectStart:_,onClickConnectEnd:b,nodesDraggable:ue,autoPanOnNodeFocus:de,nodesConnectable:fe,nodesFocusable:pe,edgesFocusable:he,edgesReconnectable:ge,elementsSelectable:ve,elevateNodesOnSelect:ot,elevateEdgesOnSelect:st,minZoom:ye,maxZoom:be,nodeExtent:Ce,onNodesChange:Ye,onEdgesChange:Xe,snapToGrid:se,snapGrid:ce,connectionMode:W,translateExtent:xe,connectOnClick:nt,defaultEdgeOptions:at,fitView:et,fitViewOptions:tt,onNodesDelete:N,onEdgesDelete:P,onDelete:F,onNodeDragStart:A,onNodeDrag:j,onNodeDragStop:M,onSelectionDrag:R,onSelectionDragStart:L,onSelectionDragStop:z,onMove:d,onMoveStart:f,onMoveEnd:p,noPanClassName:$e,nodeOrigin:me,rfId:At,autoPanOnConnect:lt,autoPanOnNodeDrag:ut,autoPanSpeed:dt,onError:mt,connectionRadius:ft,isValidConnection:pt,selectNodesOnDrag:le,nodeDragThreshold:_t,connectionDragThreshold:vt,onBeforeDelete:U,debug:wt,ariaLabelConfig:Et,zIndexMode:Dt}),(0,y.jsx)(ta,{onInit:u,onNodeClick:c,onEdgeClick:l,onNodeMouseEnter:S,onNodeMouseMove:C,onNodeMouseLeave:w,onNodeContextMenu:D,onNodeDoubleClick:k,nodeTypes:o,edgeTypes:s,connectionLineType:G,connectionLineStyle:K,connectionLineComponent:q,connectionLineContainerStyle:ee,selectionKeyCode:te,selectionOnDrag:ne,selectionMode:re,deleteKeyCode:J,multiSelectionKeyCode:ae,panActivationKeyCode:ie,zoomActivationKeyCode:oe,onlyRenderVisibleElements:Y,defaultViewport:X,translateExtent:xe,minZoom:ye,maxZoom:be,preventScrolling:Se,zoomOnScroll:Te,zoomOnPinch:Ee,zoomOnDoubleClick:Z,panOnScroll:De,panOnScrollSpeed:Oe,panOnScrollMode:ke,panOnDrag:Ae,onPaneClick:je,onPaneMouseEnter:Me,onPaneMouseMove:Ne,onPaneMouseLeave:Pe,onPaneScroll:Fe,onPaneContextMenu:Ie,paneClickDistance:Le,nodeClickDistance:Re,onSelectionContextMenu:B,onSelectionStart:V,onSelectionEnd:H,onReconnect:Be,onReconnectStart:Ve,onReconnectEnd:He,onEdgeContextMenu:Ue,onEdgeDoubleClick:We,onEdgeMouseEnter:Ge,onEdgeMouseMove:Ke,onEdgeMouseLeave:qe,reconnectRadius:Je,defaultMarkerColor:we,noDragClassName:Ze,noWheelClassName:Qe,noPanClassName:$e,rfId:At,disableKeyboardA11y:ct,nodeExtent:Ce,viewport:yt,onViewportChange:bt}),(0,y.jsx)(kn,{onSelectionChange:I}),ze,(0,y.jsx)(Cn,{proOptions:it,position:rt}),(0,y.jsx)(xn,{rfId:At,disableKeyboardA11y:ct})]})})}var ca=er(sa);function la(e){let[t,n]=(0,v.useState)(e);return[t,n,(0,v.useCallback)(e=>n(t=>Kn(e,t)),[])]}function ua(e){let[t,n]=(0,v.useState)(e);return[t,n,(0,v.useCallback)(e=>n(t=>qn(e,t)),[])]}b.error014();function da({dimensions:e,lineWidth:t,variant:n,className:i}){return(0,y.jsx)(`path`,{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:r([`react-flow__background-pattern`,n,i])})}function fa({radius:e,className:t}){return(0,y.jsx)(`circle`,{cx:e,cy:e,r:e,className:r([`react-flow__background-pattern`,`dots`,t])})}var pa;(function(e){e.Lines=`lines`,e.Dots=`dots`,e.Cross=`cross`})(pa||={});var ma={[pa.Dots]:1,[pa.Lines]:1,[pa.Cross]:6},ha=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function ga({id:e,variant:t=pa.Dots,gap:n=20,size:i,lineWidth:a=1,offset:o=0,color:c,bgColor:l,style:u,className:d,patternClassName:f}){let p=(0,v.useRef)(null),{transform:m,patternId:h}=Q(ha,s),g=i||ma[t],_=t===pa.Dots,b=t===pa.Cross,x=Array.isArray(n)?n:[n,n],S=[x[0]*m[2]||1,x[1]*m[2]||1],C=g*m[2],w=Array.isArray(o)?o:[o,o],T=b?[C,C]:S,E=[w[0]*m[2]||1+T[0]/2,w[1]*m[2]||1+T[1]/2],D=`${h}${e||``}`;return(0,y.jsxs)(`svg`,{className:r([`react-flow__background`,d]),style:{...u,...fr,"--xy-background-color-props":l,"--xy-background-pattern-color-props":c},ref:p,"data-testid":`rf__background`,children:[(0,y.jsx)(`pattern`,{id:D,x:m[0]%S[0],y:m[1]%S[1],width:S[0],height:S[1],patternUnits:`userSpaceOnUse`,patternTransform:`translate(-${E[0]},-${E[1]})`,children:_?(0,y.jsx)(fa,{radius:C/2,className:f}):(0,y.jsx)(da,{dimensions:T,lineWidth:a,variant:t,className:f})}),(0,y.jsx)(`rect`,{x:`0`,y:`0`,width:`100%`,height:`100%`,fill:`url(#${D})`})]})}ga.displayName=`Background`;var _a=(0,v.memo)(ga);function va(){return(0,y.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 32`,children:(0,y.jsx)(`path`,{d:`M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z`})})}function ya(){return(0,y.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 5`,children:(0,y.jsx)(`path`,{d:`M0 0h32v4.2H0z`})})}function ba(){return(0,y.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 30`,children:(0,y.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 xa(){return(0,y.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 25 32`,children:(0,y.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 Sa(){return(0,y.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 25 32`,children:(0,y.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 Ca({children:e,className:t,...n}){return(0,y.jsx)(`button`,{type:`button`,className:r([`react-flow__controls-button`,t]),...n,children:e})}var wa=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function Ta({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:i=!0,fitViewOptions:a,onZoomIn:o,onZoomOut:c,onFitView:l,onInteractiveChange:u,className:d,children:f,position:p=`bottom-left`,orientation:m=`vertical`,"aria-label":h}){let g=$(),{isInteractive:_,minZoomReached:v,maxZoomReached:b,ariaLabelConfig:x}=Q(wa,s),{zoomIn:S,zoomOut:C,fitView:w}=sr();return(0,y.jsxs)(Sn,{className:r([`react-flow__controls`,m===`horizontal`?`horizontal`:`vertical`,d]),position:p,style:e,"data-testid":`rf__controls`,"aria-label":h??x[`controls.ariaLabel`],children:[t&&(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(Ca,{onClick:()=>{S(),o?.()},className:`react-flow__controls-zoomin`,title:x[`controls.zoomIn.ariaLabel`],"aria-label":x[`controls.zoomIn.ariaLabel`],disabled:b,children:(0,y.jsx)(va,{})}),(0,y.jsx)(Ca,{onClick:()=>{C(),c?.()},className:`react-flow__controls-zoomout`,title:x[`controls.zoomOut.ariaLabel`],"aria-label":x[`controls.zoomOut.ariaLabel`],disabled:v,children:(0,y.jsx)(ya,{})})]}),n&&(0,y.jsx)(Ca,{className:`react-flow__controls-fitview`,onClick:()=>{w(a),l?.()},title:x[`controls.fitView.ariaLabel`],"aria-label":x[`controls.fitView.ariaLabel`],children:(0,y.jsx)(ba,{})}),i&&(0,y.jsx)(Ca,{className:`react-flow__controls-interactive`,onClick:()=>{g.setState({nodesDraggable:!_,nodesConnectable:!_,elementsSelectable:!_}),u?.(!_)},title:x[`controls.interactive.ariaLabel`],"aria-label":x[`controls.interactive.ariaLabel`],children:_?(0,y.jsx)(Sa,{}):(0,y.jsx)(xa,{})}),f]})}Ta.displayName=`Controls`;var Ea=(0,v.memo)(Ta);function Da({id:e,x:t,y:n,width:i,height:a,style:o,color:s,strokeColor:c,strokeWidth:l,className:u,borderRadius:d,shapeRendering:f,selected:p,onClick:m}){let{background:h,backgroundColor:g}=o||{},_=s||h||g;return(0,y.jsx)(`rect`,{className:r([`react-flow__minimap-node`,{selected:p},u]),x:t,y:n,rx:d,ry:d,width:i,height:a,style:{fill:_,stroke:c,strokeWidth:l},shapeRendering:f,onClick:m?t=>m(t,e):void 0})}var Oa=(0,v.memo)(Da),ka=e=>e.nodes.map(e=>e.id),Aa=e=>e instanceof Function?e:()=>e;function ja({nodeStrokeColor:e,nodeColor:t,nodeClassName:n=``,nodeBorderRadius:r=5,nodeStrokeWidth:i,nodeComponent:a=Oa,onClick:o}){let c=Q(ka,s),l=Aa(t),u=Aa(e),d=Aa(n),f=typeof window>`u`||window.chrome?`crispEdges`:`geometricPrecision`;return(0,y.jsx)(y.Fragment,{children:c.map(e=>(0,y.jsx)(Na,{id:e,nodeColorFunc:l,nodeStrokeColorFunc:u,nodeClassNameFunc:d,nodeBorderRadius:r,nodeStrokeWidth:i,NodeComponent:a,onClick:o,shapeRendering:f},e))})}function Ma({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:r,nodeBorderRadius:i,nodeStrokeWidth:a,shapeRendering:o,NodeComponent:c,onClick:l}){let{node:u,x:d,y:f,width:p,height:m}=Q(t=>{let n=t.nodeLookup.get(e);if(!n)return{node:void 0,x:0,y:0,width:0,height:0};let r=n.internals.userNode,{x:i,y:a}=n.internals.positionAbsolute,{width:o,height:s}=X(r);return{node:r,x:i,y:a,width:o,height:s}},s);return!u||u.hidden||!ye(u)?null:(0,y.jsx)(c,{x:d,y:f,width:p,height:m,style:u.style,selected:!!u.selected,className:r(u),color:t(u),borderRadius:i,strokeColor:n(u),strokeWidth:a,shapeRendering:o,onClick:l,id:u.id})}var Na=(0,v.memo)(Ma),Pa=(0,v.memo)(ja),Fa=200,Ia=150,La=e=>!e.hidden,Ra=e=>{let t={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:t,boundingRect:e.nodeLookup.size>0?oe(R(e.nodeLookup,{filter:La}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},za=`react-flow__minimap-desc`;function Ba({style:e,className:t,nodeStrokeColor:n,nodeColor:i,nodeClassName:a=``,nodeBorderRadius:o=5,nodeStrokeWidth:c,nodeComponent:l,bgColor:u,maskColor:d,maskStrokeColor:f,maskStrokeWidth:p,position:m=`bottom-right`,onClick:h,onNodeClick:g,pannable:_=!1,zoomable:b=!1,ariaLabel:x,inversePan:S,zoomStep:C=1,offsetScale:w=5}){let T=$(),E=(0,v.useRef)(null),{boundingRect:D,viewBB:O,rfId:k,panZoom:A,translateExtent:j,flowWidth:M,flowHeight:N,ariaLabelConfig:P}=Q(Ra,s),F=e?.width??Fa,I=e?.height??Ia,L=D.width/F,R=D.height/I,z=Math.max(L,R),B=z*F,V=z*I,H=w*z,U=D.x-(B-D.width)/2-H,W=D.y-(V-D.height)/2-H,G=B+H*2,K=V+H*2,q=`${za}-${k}`,ee=(0,v.useRef)(0),J=(0,v.useRef)();ee.current=z,(0,v.useEffect)(()=>{if(E.current&&A)return J.current=Ft({domNode:E.current,panZoom:A,getTransform:()=>T.getState().transform,getViewScale:()=>ee.current}),()=>{J.current?.destroy()}},[A]),(0,v.useEffect)(()=>{J.current?.update({translateExtent:j,width:M,height:N,inversePan:S,pannable:_,zoomStep:C,zoomable:b})},[_,b,S,C,j,M,N]);let te=h?e=>{let[t,n]=J.current?.pointer(e)||[0,0];h(e,{x:t,y:n})}:void 0,ne=g?(0,v.useCallback)((e,t)=>{let n=T.getState().nodeLookup.get(t).internals.userNode;g(e,n)},[]):void 0,re=x??P[`minimap.ariaLabel`];return(0,y.jsx)(Sn,{position:m,style:{...e,"--xy-minimap-background-color-props":typeof u==`string`?u:void 0,"--xy-minimap-mask-background-color-props":typeof d==`string`?d:void 0,"--xy-minimap-mask-stroke-color-props":typeof f==`string`?f:void 0,"--xy-minimap-mask-stroke-width-props":typeof p==`number`?p*z:void 0,"--xy-minimap-node-background-color-props":typeof i==`string`?i:void 0,"--xy-minimap-node-stroke-color-props":typeof n==`string`?n:void 0,"--xy-minimap-node-stroke-width-props":typeof c==`number`?c:void 0},className:r([`react-flow__minimap`,t]),"data-testid":`rf__minimap`,children:(0,y.jsxs)(`svg`,{width:F,height:I,viewBox:`${U} ${W} ${G} ${K}`,className:`react-flow__minimap-svg`,role:`img`,"aria-labelledby":q,ref:E,onClick:te,children:[re&&(0,y.jsx)(`title`,{id:q,children:re}),(0,y.jsx)(Pa,{onClick:ne,nodeColor:i,nodeStrokeColor:n,nodeBorderRadius:o,nodeClassName:a,nodeStrokeWidth:c,nodeComponent:l}),(0,y.jsx)(`path`,{className:`react-flow__minimap-mask`,d:`M${U-H},${W-H}h${G+H*2}v${K+H*2}h${-G-H*2}z
|
|
7
|
-
M${O.x},${O.y}h${O.width}v${O.height}h${-O.width}z`,fillRule:`evenodd`,pointerEvents:`none`})]})})}Ba.displayName=`MiniMap`;var Va=(0,v.memo)(Ba),Ha=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,Ua={[Xt.Line]:`right`,[Xt.Handle]:`bottom-right`};function Wa({nodeId:e,position:t,variant:n=Xt.Handle,className:i,style:a=void 0,children:o,color:c,minWidth:l=10,minHeight:u=10,maxWidth:d=Number.MAX_VALUE,maxHeight:f=Number.MAX_VALUE,keepAspectRatio:p=!1,resizeDirection:m,autoScale:h=!0,shouldResize:g,onResizeStart:_,onResize:b,onResizeEnd:x}){let S=Er(),C=typeof e==`string`?e:S,w=$(),T=(0,v.useRef)(null),E=n===Xt.Handle,D=Q((0,v.useCallback)(Ha(E&&h),[E,h]),s),O=(0,v.useRef)(null),k=t??Ua[n];return(0,v.useEffect)(()=>{if(!(!T.current||!C))return O.current||=ln({domNode:T.current,nodeId:C,getStoreItems:()=>{let{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:r,nodeOrigin:i,domNode:a}=w.getState();return{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:r,nodeOrigin:i,paneDomNode:a}},onChange:(e,t)=>{let{triggerNodeChanges:n,nodeLookup:r,parentLookup:i,nodeOrigin:a}=w.getState(),o=[],s={x:e.x,y:e.y},c=r.get(C);if(c&&c.expandParent&&c.parentId){let t=c.origin??a,n=e.width??c.measured.width??0,l=e.height??c.measured.height??0,u=mt([{id:c.id,parentId:c.parentId,rect:{width:n,height:l,...be({x:e.x??c.position.x,y:e.y??c.position.y},{width:n,height:l},c.parentId,r,t)}}],r,i,a);o.push(...u),s.x=e.x?Math.max(t[0]*n,e.x):void 0,s.y=e.y?Math.max(t[1]*l,e.y):void 0}if(s.x!==void 0&&s.y!==void 0){let e={id:C,type:`position`,position:{...s}};o.push(e)}if(e.width!==void 0&&e.height!==void 0){let t={id:C,type:`dimensions`,resizing:!0,setAttributes:m?m===`horizontal`?`width`:`height`:!0,dimensions:{width:e.width,height:e.height}};o.push(t)}for(let e of t){let t={...e,type:`position`};o.push(t)}n(o)},onEnd:({width:e,height:t})=>{let n={id:C,type:`dimensions`,resizing:!1,dimensions:{width:e,height:t}};w.getState().triggerNodeChanges([n])}}),O.current.update({controlPosition:k,boundaries:{minWidth:l,minHeight:u,maxWidth:d,maxHeight:f},keepAspectRatio:p,resizeDirection:m,onResizeStart:_,onResize:b,onResizeEnd:x,shouldResize:g}),()=>{O.current?.destroy()}},[k,l,u,d,f,p,_,b,x,g]),(0,y.jsx)(`div`,{className:r([`react-flow__resize-control`,`nodrag`,...k.split(`-`),n,i]),ref:T,style:{...a,scale:D,...c&&{[E?`backgroundColor`:`borderColor`]:c}},children:o})}(0,v.memo)(Wa);export{ua as a,_ as c,ca as i,Ea as n,la as o,Va as r,k as s,_a as t};
|