@wrongstack/webui 0.280.1 → 0.281.0

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.
Files changed (68) hide show
  1. package/dist/assets/AnalyticsDashboard-uYxJjohK.js +1 -0
  2. package/dist/assets/AutoPhaseView-DG8bm0_l.js +1 -0
  3. package/dist/assets/CodeEditor-DLzmCqWF.js +1 -0
  4. package/dist/assets/DebugDashboard-D6-znhBO.js +1 -0
  5. package/dist/assets/DesignGalleryView-CtA0fPrm.js +1 -0
  6. package/dist/assets/MailboxDetailView-2_R4qJn-.js +1 -0
  7. package/dist/assets/OfficeMapPanel-BNZNbZik.js +4 -0
  8. package/dist/assets/ProcessMonitor-DgEXCx7y.js +1 -0
  9. package/dist/assets/QueuePanel-DL8SvR30.js +1 -0
  10. package/dist/assets/RefreshDebugView-pmMPOier.js +1 -0
  11. package/dist/assets/SddBoardView-CFhQv9Pv.js +2 -0
  12. package/dist/assets/SddFlowGraph-WW0qCx0t.js +1 -0
  13. package/dist/assets/SddWizard-Cnksg4-y.js +1 -0
  14. package/dist/assets/SessionsDashboard-VwXvmSxS.js +1 -0
  15. package/dist/assets/SkillDetailView-C1qcnlPI.js +2 -0
  16. package/dist/assets/SpecsView-BY7LKawq.js +1 -0
  17. package/dist/assets/TerminalPanel-Dq0Xdhdv.js +1 -0
  18. package/dist/assets/activity-DT93tsyC.js +5 -0
  19. package/dist/assets/chat-DCAGDU3F.js +1 -0
  20. package/dist/assets/chat-store-YPRVJGbn.js +5 -0
  21. package/dist/assets/commandPalette-DUootORZ.js +1 -0
  22. package/dist/assets/common-D7usadq4.js +1 -0
  23. package/dist/assets/i18n-BJCOtLro.js +2 -0
  24. package/dist/assets/index-CMiinLaB.css +1 -0
  25. package/dist/assets/index-DJpDzI2b.js +145 -0
  26. package/dist/assets/markdown-D0X23O-i.js +44 -0
  27. package/dist/assets/monaco-Br_kD0ds.css +1 -0
  28. package/dist/assets/monaco-DqY9Mr3N.js +1211 -0
  29. package/dist/assets/session-store-Do0MGnXu.js +1 -0
  30. package/dist/assets/settings-CGhOOFpI.js +1 -0
  31. package/dist/assets/setup-B8S3Rhsj.js +1 -0
  32. package/dist/assets/setup-BPkWK-DE.js +1 -0
  33. package/dist/assets/setup-BqoJ89VQ.js +1 -0
  34. package/dist/assets/setup-C4wNoopG.js +1 -0
  35. package/dist/assets/setup-CGWbN6bj.js +1 -0
  36. package/dist/assets/setup-Dr2UDb8s.js +1 -0
  37. package/dist/assets/setup-Iyk4ncan.js +1 -0
  38. package/dist/assets/toasts-BL_8kH4B.js +1 -0
  39. package/dist/assets/ui-store-D3gGpJWY.js +1 -0
  40. package/dist/assets/utils-sFCTikqz.js +1 -0
  41. package/dist/assets/vendor-Bhf0nZ3B.js +70 -0
  42. package/dist/assets/vendor-CcOzUMQS.css +1 -0
  43. package/dist/assets/ws-client-D9IQ9580.js +1 -0
  44. package/dist/assets/xterm-B9RXJkIu.js +36 -0
  45. package/dist/assets/xterm-BrP-ENHg.css +1 -0
  46. package/dist/assets/xyflow-Bp8EMwkC.js +7 -0
  47. package/dist/assets/xyflow-DtxX27Jz.css +1 -0
  48. package/dist/index.css +247 -0
  49. package/dist/index.css.map +1 -1
  50. package/dist/index.html +20 -4
  51. package/dist/index.js +31866 -30427
  52. package/dist/index.js.map +1 -1
  53. package/dist/server/entry.js +119 -44
  54. package/dist/server/entry.js.map +1 -1
  55. package/dist/server/index.js +119 -44
  56. package/dist/server/index.js.map +1 -1
  57. package/dist/types.d.ts +7 -1
  58. package/package.json +6 -13
  59. package/dist/assets/index-BMDGZBnY.css +0 -2
  60. package/dist/assets/index-Ci_SxQGe.js +0 -157
  61. package/dist/assets/setup-B5TfeR6q.js +0 -1
  62. package/dist/assets/setup-BBwNpiE3.js +0 -1
  63. package/dist/assets/setup-BT2iTMm4.js +0 -1
  64. package/dist/assets/setup-CVMjqrZh.js +0 -1
  65. package/dist/assets/setup-DOXm3hFc.js +0 -1
  66. package/dist/assets/setup-Dhb_xOpk.js +0 -1
  67. package/dist/assets/vendor-B_dTeUDT.js +0 -1364
  68. package/dist/assets/vendor-C3aCZA5Q.css +0 -1
@@ -0,0 +1 @@
1
+ .xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}
@@ -0,0 +1,7 @@
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{m as t,p as n}from"./markdown-D0X23O-i.js";import{a as r,c as i,d as a,f as o,fi as s,i as c,l,n as u,o as d,p as f,r as p,s as m,u as h}from"./vendor-Bhf0nZ3B.js";var g=e(t()),_=n(),v={error001:(e=`react`)=>`Seems like you have not used ${e===`svelte`?`SvelteFlowProvider`:`ReactFlowProvider`} as an ancestor. Help: https://${e}flow.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 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.`,error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},y=[[-1/0,-1/0],[1/0,1/0]],b=[`Enter`,` `,`Escape`],x={"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`},S;(function(e){e.Strict=`strict`,e.Loose=`loose`})(S||={});var C;(function(e){e.Free=`free`,e.Vertical=`vertical`,e.Horizontal=`horizontal`})(C||={});var w;(function(e){e.Partial=`partial`,e.Full=`full`})(w||={});var T={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null},E;(function(e){e.Bezier=`default`,e.Straight=`straight`,e.Step=`step`,e.SmoothStep=`smoothstep`,e.SimpleBezier=`simplebezier`})(E||={});var D;(function(e){e.Arrow=`arrow`,e.ArrowClosed=`arrowclosed`})(D||={});var O;(function(e){e.Left=`left`,e.Top=`top`,e.Right=`right`,e.Bottom=`bottom`})(O||={});var k={[O.Left]:O.Right,[O.Right]:O.Left,[O.Top]:O.Bottom,[O.Bottom]:O.Top};function A(e){return e===null?null:e?`valid`:`invalid`}var j=e=>`id`in e&&`source`in e&&`target`in e,M=e=>`id`in e&&`position`in e&&!(`source`in e)&&!(`target`in e),N=e=>`id`in e&&`internals`in e&&!(`source`in e)&&!(`target`in e),P=(e,t=[0,0])=>{let{width:n,height:r}=_e(e),i=e.origin??t,a=n*i[0],o=r*i[1];return{x:e.position.x-a,y:e.position.y-o}},F=(e,t={nodeOrigin:[0,0]})=>e.length===0?{x:0,y:0,width:0,height:0}:te(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):N(n)?n:t.nodeLookup.get(n.id)),q(e,i?re(i,t.nodeOrigin):{x:0,y:0,x2:0,y2:0})},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})),I=(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=q(n,re(e)),r=!0)}),r?te(n):{x:0,y:0,width:0,height:0}},L=(e,t,[n,r,i]=[0,0,1],a=!1,o=!1)=>{let s=(t.x-n)/i,c=(t.y-r)/i,l=t.width/i,u=t.height/i,d=[];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??0,f=e.height??t.height??t.initialHeight??0,{x:p,y:m}=t.internals.positionAbsolute,h=ae(s,c,l,u,p,m,i,f),g=i*f,_=a&&h>0;(!t.internals.handleBounds||_||h>=g||t.dragging)&&d.push(t)}return d},R=(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 z(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 B({nodes:e,width:t,height:n,panZoom:r,minZoom:i,maxZoom:a},o){if(e.size===0)return!0;let s=me(I(z(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}),!0}function V({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`,v.error005());else{let e=s.measured.width,t=s.measured.height;e&&t&&(d=[[c,l],[c+e,l+t]])}else s&&ge(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=ge(d)?W(t,d,o.measured):t;return(o.measured.width===void 0||o.measured.height===void 0)&&a?.(`015`,v.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 H({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=R(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 U=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),W=(e={x:0,y:0},t,n)=>({x:U(e.x,t[0][0],t[1][0]-(n?.width??0)),y:U(e.y,t[0][1],t[1][1]-(n?.height??0))});function G(e,t,n){let{width:r,height:i}=_e(n),{x:a,y:o}=n.internals.positionAbsolute;return W(e,[[a,o],[a+r,o+i]],t)}var K=(e,t,n)=>e<t?U(Math.abs(e-t),1,t)/t:e>n?-U(Math.abs(e-n),1,t)/t:0,ee=(e,t,n=15,r=40)=>[K(e.x,r,t.width-r)*n,K(e.y,r,t.height-r)*n],q=(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)}),J=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),te=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),ne=(e,t=[0,0])=>{let{x:n,y:r}=N(e)?e.internals.positionAbsolute:P(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}},re=(e,t=[0,0])=>{let{x:n,y:r}=N(e)?e.internals.positionAbsolute:P(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)}},ie=(e,t)=>te(q(J(e),J(t))),ae=(e,t,n,r,i,a,o,s)=>{let c=Math.max(0,Math.min(e+n,i+o)-Math.max(e,i)),l=Math.max(0,Math.min(t+r,a+s)-Math.max(t,a));return Math.ceil(c*l)},oe=(e,t)=>ae(e.x,e.y,e.width,e.height,t.x,t.y,t.width,t.height),se=e=>Y(e.width)&&Y(e.height)&&Y(e.x)&&Y(e.y),Y=e=>!isNaN(e)&&isFinite(e),ce=(e,t)=>(e,t)=>{},le=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),ue=({x:e,y:t},[n,r,i],a=!1,o=[1,1])=>{let s={x:(e-n)/i,y:(t-r)/i};return a?le(s,o):s},X=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r});function de(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(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function fe(e,t,n){if(typeof e==`string`||typeof e==`number`){let r=de(e,n),i=de(e,t);return{top:r,right:i,bottom:r,left:i,x:i*2,y:r*2}}if(typeof e==`object`){let r=de(e.top??e.y??0,n),i=de(e.bottom??e.y??0,n),a=de(e.left??e.x??0,t),o=de(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 pe(e,t,n,r,i,a){let{x:o,y:s}=X(e,[t,n,r]),{x:c,y:l}=X({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 me=(e,t,n,r,i,a)=>{let o=fe(a,t,n),s=(t-o.x)/e.width,c=(n-o.y)/e.height,l=U(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=pe(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}},he=()=>typeof navigator<`u`&&navigator?.userAgent?.indexOf(`Mac`)>=0;function ge(e){return e!=null&&e!==`parent`}function _e(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function ve(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function ye(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 be(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function xe(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function Se(e){return{...x,...e||{}}}function Ce(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:i}){let{x:a,y:o}=Z(e),s=ue({x:a-(i?.left??0),y:o-(i?.top??0)},r),{x:c,y:l}=n?le(s,t):s;return{xSnapped:c,ySnapped:l,...s}}var we=e=>({width:e.offsetWidth,height:e.offsetHeight}),Te=e=>e?.getRootNode?.()||window?.document,Ee=[`INPUT`,`SELECT`,`TEXTAREA`];function De(e){let t=e.composedPath?.()?.[0]||e.target;return t?.nodeType===1?Ee.includes(t.nodeName)||t.hasAttribute(`contenteditable`)||!!t.closest(`.nokey`):!1}var Oe=e=>`clientX`in e,Z=(e,t)=>{let n=Oe(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)}},ke=(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,...we(t)}})};function Ae({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 je(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function Me({pos:e,x1:t,y1:n,x2:r,y2:i,c:a}){switch(e){case O.Left:return[t-je(t-r,a),n];case O.Right:return[t+je(r-t,a),n];case O.Top:return[t,n-je(n-i,a)];case O.Bottom:return[t,n+je(i-n,a)]}}function Ne({sourceX:e,sourceY:t,sourcePosition:n=O.Bottom,targetX:r,targetY:i,targetPosition:a=O.Top,curvature:o=.25}){let[s,c]=Me({pos:n,x1:e,y1:t,x2:r,y2:i,c:o}),[l,u]=Me({pos:a,x1:r,y1:i,x2:e,y2:t,c:o}),[d,f,p,m]=Ae({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 Pe({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 Fe({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 Ie({sourceNode:e,targetNode:t,width:n,height:r,transform:i}){let a=q(re(e),re(t));return a.x===a.x2&&(a.x2+=1),a.y===a.y2&&(a.y2+=1),oe({x:-i[0]/i[2],y:-i[1]/i[2],width:n/i[2],height:r/i[2]},te(a))>0}var Le=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||``}-${n}${r||``}`,Re=(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)),ze=(e,t,n={})=>{if(!e.source||!e.target)return n.onError?.(`006`,v.error006()),t;let r=n.getEdgeId||Le,i;return i=j(e)?{...e}:{...e,id:r(e)},Re(i,t)?t:(i.sourceHandle===null&&delete i.sourceHandle,i.targetHandle===null&&delete i.targetHandle,t.concat(i))};function Be({sourceX:e,sourceY:t,targetX:n,targetY:r}){let[i,a,o,s]=Pe({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,a,o,s]}var Ve={[O.Left]:{x:-1,y:0},[O.Right]:{x:1,y:0},[O.Top]:{x:0,y:-1},[O.Bottom]:{x:0,y:1}},He=({source:e,sourcePosition:t=O.Bottom,target:n})=>t===O.Left||t===O.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},Ue=(e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2);function We({source:e,sourcePosition:t=O.Bottom,target:n,targetPosition:r=O.Top,center:i,offset:a,stepPosition:o}){let s=Ve[t],c=Ve[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=He({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]=Pe({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 Ge(e,t,n,r){let i=Math.min(Ue(e,t)/2,Ue(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 Ke({sourceX:e,sourceY:t,sourcePosition:n=O.Bottom,targetX:r,targetY:i,targetPosition:a=O.Top,borderRadius:o=5,centerX:s,centerY:c,offset:l=20,stepPosition:u=.5}){let[d,f,p,m,h]=We({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+=Ge(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 qe(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function Je(e){let{sourceNode:t,targetNode:n}=e;if(!qe(t)||!qe(n))return null;let r=t.internals.handleBounds||Ye(t.handles),i=n.internals.handleBounds||Ye(n.handles),a=Ze(r?.source??[],e.sourceHandle),o=Ze(e.connectionMode===S.Strict?i?.target??[]:(i?.target??[]).concat(i?.source??[]),e.targetHandle);if(!a||!o)return e.onError?.(`008`,v.error008(a?`target`:`source`,{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;let s=a?.position||O.Bottom,c=o?.position||O.Top,l=Xe(t,a,s),u=Xe(n,o,c);return{sourceX:l.x,sourceY:l.y,targetX:u.x,targetY:u.y,sourcePosition:s,targetPosition:c}}function Ye(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 Xe(e,t,n=O.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??_e(e);if(r)return{x:i+o/2,y:a+s/2};switch(t?.position??n){case O.Top:return{x:i+o/2,y:a};case O.Right:return{x:i+o,y:a+s/2};case O.Bottom:return{x:i+o/2,y:a+s};case O.Left:return{x:i,y:a+s/2}}}function Ze(e,t){return e&&(t?e.find(e=>e.id===t):e[0])||null}function Qe(e,t){return e?typeof e==`string`?e:`${t?`${t}__`:``}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join(`&`)}`:``}function $e(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=Qe(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 et=1e3,tt=10,nt={nodeOrigin:[0,0],nodeExtent:y,elevateNodesOnSelect:!0,zIndexMode:`basic`,defaults:{}},rt={...nt,checkEquality:!0};function it(e,t){let n={...e};for(let e in t)t[e]!==void 0&&(n[e]=t[e]);return n}function at(e,t,n){let r=it(nt,n);for(let n of e.values())if(n.parentId)ut(n,e,t,r);else{let e=W(P(n,r.nodeOrigin),ge(n.extent)?n.extent:r.nodeExtent,_e(n));n.internals.positionAbsolute=e}}function ot(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 st(e){return e===`manual`}function ct(e,t,n,r={}){let i=it(rt,r),a={i:0},o=new Map(t),s=i?.elevateNodesOnSelect&&!st(i.zIndexMode)?et: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=W(P(u,i.nodeOrigin),ge(u.extent)?u.extent:i.nodeExtent,_e(u));e={...i.defaults,...u,measured:{width:u.measured?.width,height:u.measured?.height},internals:{positionAbsolute:n,handleBounds:ot(u,e),z:dt(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&&ut(e,t,n,r,a),l||=u.selected??!1}return{nodesInitialized:c,hasSelectedNodes:l}}function lt(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 ut(e,t,n,r,i){let{elevateNodesOnSelect:a,nodeOrigin:o,nodeExtent:s,zIndexMode:c}=it(nt,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}lt(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*tt),i&&u.internals.rootParentIndex!==void 0&&(i.i=u.internals.rootParentIndex);let{x:d,y:f,z:p}=ft(e,u,o,s,a&&!st(c)?et: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 dt(e,t,n){let r=Y(e.zIndex)?e.zIndex:0;return st(n)?r:r+(e.selected?t:0)}function ft(e,t,n,r,i,a){let{x:o,y:s}=t.internals.positionAbsolute,c=_e(e),l=P(e,n),u=ge(e.extent)?W(l,e.extent,c):l,d=W({x:o+u.x,y:s+u.y},r,c);e.extent===`parent`&&(d=G(d,c,t));let f=dt(e,i,a),p=t.internals.z??0;return{x:d.x,y:d.y,z:p>=f?p+1:f}}function pt(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=ie(a.get(n.parentId)?.expandedRect??ne(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=_e(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 mt(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=we(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=ge(e.extent)?e.extent:a,{positionAbsolute:h}=e.internals;e.parentId&&e.extent===`parent`?h=G(h,s,t.get(e.parentId)):m&&(h=W(h,m,s));let g={...e,measured:s,internals:{...e.internals,positionAbsolute:h,handleBounds:{source:ke(`source`,r.nodeElement,p,d,e.id),target:ke(`target`,r.nodeElement,p,d,e.id)}}};t.set(e.id,g),e.parentId&&ut(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:ne(g,i)}))}}if(f.length>0){let e=pt(f,t,n,i);l.push(...e)}return{changes:l,updatedInternals:c}}async function ht({delta:e,panZoom:t,transform:n,translateExtent:r,width:i,height:a}){if(!t||!e.x&&!e.y)return!1;let o=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[i,a]],r);return!!o&&(o.x!==n[0]||o.y!==n[1]||o.k!==n[2])}function gt(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 _t(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}`;gt(`source`,s,`${i}-${o}--${n}-${a}`,e,n,a),gt(`target`,s,c,e,i,o),t.set(r.id,r)}}function vt(e,t){if(!e.parentId)return!1;let n=t.get(e.parentId);return n?n.selected?!0:vt(n,t):!1}function yt(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 bt(e,t,n,r){let i=new Map;for(let[a,o]of e)if((o.selected||o.id===r)&&(!o.parentId||!vt(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 xt({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 St({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=le(a,t);return{x:o.x-a.x,y:o.y-a.y}}function Ct({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:i}){let o={x:null,y:null},s=0,c=new Map,l=!1,u={x:0,y:0},d=null,f=!1,p=null,m=!1,g=!1,_=null;function v({noDragClassName:v,handleSelector:y,domNode:b,isSelectable:x,nodeId:S,nodeClickDistance:C=0}){p=a(b);function w({x:e,y:n}){let{nodeLookup:i,nodeExtent:a,snapGrid:s,snapToGrid:l,nodeOrigin:u,onNodeDrag:d,onSelectionDrag:f,onError:p,updateNodePositions:m}=t();o={x:e,y:n};let h=!1,v=c.size>1,y=v&&a?J(I(c)):null,b=v&&l?St({dragItems:c,snapGrid:s,x:e,y:n}):null;for(let[t,r]of c){if(!i.has(t))continue;let o={x:e-r.distance.x,y:n-r.distance.y};l&&(o=b?{x:Math.round(o.x+b.x),y:Math.round(o.y+b.y)}:le(o,s));let c=null;if(v&&a&&!r.extent&&y){let{positionAbsolute:e}=r.internals,t=e.x-y.x+a[0][0],n=e.x+r.measured.width-y.x2+a[1][0],i=e.y-y.y+a[0][1],o=e.y+r.measured.height-y.y2+a[1][1];c=[[t,i],[n,o]]}let{position:d,positionAbsolute:f}=V({nodeId:t,nextPosition:o,nodeLookup:i,nodeExtent:c||a,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(c,!0),_&&(r||d||!S&&f))){let[e,t]=xt({nodeId:S,dragItems:c,nodeLookup:i});r?.(_,c,e,t),d?.(_,e,t),S||f?.(_,t)}}async function T(){if(!d)return;let{transform:e,panBy:n,autoPanSpeed:r,autoPanOnNodeDrag:i}=t();if(!i){l=!1,cancelAnimationFrame(s);return}let[a,c]=ee(u,d,r);(a!==0||c!==0)&&(o.x=(o.x??0)-a/e[2],o.y=(o.y??0)-c/e[2],await n({x:a,y:c})&&w(o)),s=requestAnimationFrame(T)}function E(r){let{nodeLookup:i,multiSelectionActive:a,nodesDraggable:s,transform:l,snapGrid:u,snapToGrid:p,selectNodesOnDrag:m,onNodeDragStart:h,onSelectionDragStart:g,unselectNodesAndEdges:_}=t();f=!0,(!m||!x)&&!a&&S&&(i.get(S)?.selected||_()),x&&m&&S&&e?.(S);let v=Ce(r.sourceEvent,{transform:l,snapGrid:u,snapToGrid:p,containerBounds:d});if(o=v,c=bt(i,s,v,S),c.size>0&&(n||h||!S&&g)){let[e,t]=xt({nodeId:S,dragItems:c,nodeLookup:i});n?.(r.sourceEvent,c,e,t),h?.(r.sourceEvent,e,t),S||g?.(r.sourceEvent,t)}}let D=h().clickDistance(C).on(`start`,e=>{let{domNode:n,nodeDragThreshold:r,transform:i,snapGrid:a,snapToGrid:s}=t();d=n?.getBoundingClientRect()||null,m=!1,g=!1,_=e.sourceEvent,r===0&&E(e),o=Ce(e.sourceEvent,{transform:i,snapGrid:a,snapToGrid:s,containerBounds:d}),u=Z(e.sourceEvent,d)}).on(`drag`,e=>{let{autoPanOnNodeDrag:n,transform:r,snapGrid:i,snapToGrid:a,nodeDragThreshold:s,nodeLookup:p}=t(),h=Ce(e.sourceEvent,{transform:r,snapGrid:i,snapToGrid:a,containerBounds:d});if(_=e.sourceEvent,(e.sourceEvent.type===`touchmove`&&e.sourceEvent.touches.length>1||S&&!p.has(S))&&(m=!0),!m){if(!l&&n&&f&&(l=!0,T()),!f){let t=Z(e.sourceEvent,d),n=t.x-u.x,r=t.y-u.y;Math.sqrt(n*n+r*r)>s&&E(e)}(o.x!==h.xSnapped||o.y!==h.ySnapped)&&c&&f&&(u=Z(e.sourceEvent,d),w(h))}}).on(`end`,e=>{if(!f||m){m&&c.size>0&&t().updateNodePositions(c,!1);return}if(l=!1,f=!1,cancelAnimationFrame(s),c.size>0){let{nodeLookup:n,updateNodePositions:r,onNodeDragStop:a,onSelectionDragStop:o}=t();if(g&&=(r(c,!1),!1),i||a||!S&&o){let[t,r]=xt({nodeId:S,dragItems:c,nodeLookup:n,dragging:!1});i?.(e.sourceEvent,c,t,r),a?.(e.sourceEvent,t,r),S||o?.(e.sourceEvent,r)}}}).filter(e=>{let t=e.target;return!e.button&&(!v||!yt(t,`.${v}`,b))&&(!y||yt(t,y,b))});p.call(D)}function y(){p?.on(`.drag`,null)}return{update:v,destroy:y}}function wt(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())oe(i,ne(e))>0&&r.push(e);return r}var Tt=250;function Et(e,t,n,r){let i=[],a=1/0,o=wt(e,n,t+Tt);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}=Xe(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 Dt(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,...Xe(o,c,c.position,!0)}:c}function Ot(e,t){return e||(t?.classList.contains(`target`)?`target`:t?.classList.contains(`source`)?`source`:null)}function kt(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}var At=()=>!0;function jt(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:_=At,onReconnectEnd:v,updateConnection:y,getTransform:b,getFromHandle:x,autoPanSpeed:S,dragThreshold:C=1,handleDomNode:w}){let T=Te(e.target),E=0,D,{x:A,y:j}=Z(e),M=Ot(a,w),N=s?.getBoundingClientRect(),P=!1;if(!N||!M)return;let F=Dt(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]=ee(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:Xe(U,H,O.Left,!0),fromHandle:H,fromPosition:H.position,fromNode:U,to:I,toHandle:null,toPosition:k[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-A,i=n-j;if(!(r*r+i*i>C*C))return;G()}if(!x()||!H){q(e);return}let a=b();I=Z(e,N),D=Et(ue(I,a,!1,[1,1]),n,c,H),L||=(V(),!0);let s=Mt(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=kt(!!D,s.isValid);let u=c.get(i),f=u?Xe(u,H,O.Left,!0):W.from,p={...W,from:f,isValid:z,to:s.toHandle&&z?X({x:s.toHandle.x,y:s.toHandle.y},a):I,toHandle:s.toHandle,toPosition:z&&s.toHandle?s.toHandle.position:k[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 Mt(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:i,fromType:a,doc:o,lib:s,flowId:c,isValidConnection:l=At,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=Ot(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===S.Strict?d&&e===`source`||!d&&e===`target`:t!==r||a!==i)&&l(c),_.toHandle=Dt(t,e,a,u,n,!0)}return _}var Nt={onPointerDown:jt,isValid:Mt};function Pt({domNode:e,panZoom:t,getTransform:n,getViewScale:i}){let s=a(e);function c({translateExtent:e,width:a,height:o,zoomStep:c=1,pannable:l=!0,zoomable:u=!0,inversePan:d=!1}){let f=e=>{if(e.sourceEvent.type!==`wheel`||!t)return;let r=n(),i=e.sourceEvent.ctrlKey&&he()?10:1,a=-e.sourceEvent.deltaY*(e.sourceEvent.deltaMode===1?.05:e.sourceEvent.deltaMode?1:.002)*c,o=r[2]*2**(a*i);t.scaleTo(o)},p=[0,0],m=r().on(`start`,e=>{(e.sourceEvent.type===`mousedown`||e.sourceEvent.type===`touchstart`)&&(p=[e.sourceEvent.clientX??e.sourceEvent.touches[0].clientX,e.sourceEvent.clientY??e.sourceEvent.touches[0].clientY])}).on(`zoom`,l?r=>{let s=n();if(r.sourceEvent.type!==`mousemove`&&r.sourceEvent.type!==`touchmove`||!t)return;let c=[r.sourceEvent.clientX??r.sourceEvent.touches[0].clientX,r.sourceEvent.clientY??r.sourceEvent.touches[0].clientY],l=[c[0]-p[0],c[1]-p[1]];p=c;let u=i()*Math.max(s[2],Math.log(s[2]))*(d?-1:1),f={x:s[0]-l[0]*u,y:s[1]-l[1]*u},m=[[0,0],[a,o]];t.setViewportConstrained({x:f.x,y:f.y,zoom:s[2]},m,e)}:null).on(`zoom.wheel`,u?f:null);s.call(m,{})}function l(){s.on(`zoom`,null)}return{update:c,destroy:l,pointer:o}}var Ft=e=>({x:e.x,y:e.y,zoom:e.k}),It=({x:e,y:t,zoom:n})=>d.translate(e,t).scale(n),Lt=(e,t)=>e.target.closest(`.${t}`),Rt=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),zt=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,Bt=(e,t=0,n=zt,r=()=>{})=>{let i=typeof t==`number`&&t>0;return i||r(),i?e.transition().duration(t).ease(n).on(`end`,r):e},Vt=e=>{let t=e.ctrlKey&&he()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function Ht({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:i,panOnScrollSpeed:a,zoomOnPinch:s,onPanZoomStart:c,onPanZoom:l,onPanZoomEnd:u}){return d=>{if(Lt(d,t))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();let f=n.property(`__zoom`).k||1;if(d.ctrlKey&&s){let e=o(d),t=f*2**Vt(d);r.scaleTo(n,t,e,d);return}let p=d.deltaMode===1?20:1,m=i===C.Vertical?0:d.deltaX*p,h=i===C.Horizontal?0:d.deltaY*p;!he()&&d.shiftKey&&i!==C.Vertical&&(m=d.deltaY*p,h=0),r.translateBy(n,-(m/f)*a,-(h/f)*a,{internal:!0});let g=Ft(n.property(`__zoom`));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(l?.(d,g),e.panScrollTimeout=setTimeout(()=>{u?.(d,g),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,c?.(d,g))}}function Ut({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,i){let a=r.type===`wheel`,o=!t&&a&&!r.ctrlKey,s=Lt(r,e);if(r.ctrlKey&&a&&s&&r.preventDefault(),o||s)return null;r.preventDefault(),n.call(this,r,i)}}function Wt({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;let i=Ft(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 Gt({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:i}){return a=>{e.usedRightMouseButton=!!(n&&Rt(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),i&&!a.sourceEvent?.internal&&i?.(a.sourceEvent,Ft(a.transform))}}function Kt({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:i,onPaneContextMenu:a}){return o=>{if(!o.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&Rt(t,e.mouseButton??0)&&!e.usedRightMouseButton&&o.sourceEvent&&a(o.sourceEvent),e.usedRightMouseButton=!1,r(!1),i)){let t=Ft(o.transform);e.prevViewport=t,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{i?.(o.sourceEvent,t)},n?150:0)}}}function qt({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`&&(Lt(d,`${l}-flow__node`)||Lt(d,`${l}-flow__edge`)))return!0;if(!r&&!f&&!i&&!a&&!n||o||u&&!m||Lt(d,s)&&m||Lt(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 Jt({domNode:e,minZoom:t,maxZoom:n,translateExtent:o,viewport:s,onPanZoom:c,onPanZoomStart:u,onPanZoomEnd:d,onDraggingChange:f}){let p={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},h=e.getBoundingClientRect(),g=r().scaleExtent([t,n]).translateExtent(o),_=a(e).call(g);C({x:s.x,y:s.y,zoom:U(s.zoom,t,n)},[[0,0],[h.width,h.height]],o);let v=_.on(`wheel.zoom`),y=_.on(`dblclick.zoom`);g.wheelDelta(Vt);async function b(e,t){return _?new Promise(n=>{g?.interpolate(t?.interpolate===`linear`?l:i).transform(Bt(_,t?.duration,t?.ease,()=>n(!0)),e)}):!1}function x({noWheelClassName:e,noPanClassName:t,onPaneContextMenu:n,userSelectionActive:r,panOnScroll:i,panOnDrag:a,panOnScrollMode:o,panOnScrollSpeed:s,preventScrolling:l,zoomOnPinch:m,zoomOnScroll:h,zoomOnDoubleClick:b,zoomActivationKeyPressed:x,lib:C,onTransformChange:w,connectionInProgress:T,paneClickDistance:E,selectionOnDrag:D}){r&&!p.isZoomingOrPanning&&S();let O=i&&!x&&!r;g.clickDistance(D?1/0:!Y(E)||E<0?0:E);let k=O?Ht({zoomPanValues:p,noWheelClassName:e,d3Selection:_,d3Zoom:g,panOnScrollMode:o,panOnScrollSpeed:s,zoomOnPinch:m,onPanZoomStart:u,onPanZoom:c,onPanZoomEnd:d}):Ut({noWheelClassName:e,preventScrolling:l,d3ZoomHandler:v});_.on(`wheel.zoom`,k,{passive:!1});let A=Wt({zoomPanValues:p,onDraggingChange:f,onPanZoomStart:u});g.on(`start`,A);let j=Gt({zoomPanValues:p,panOnDrag:a,onPaneContextMenu:!!n,onPanZoom:c,onTransformChange:w});g.on(`zoom`,j);let M=Kt({zoomPanValues:p,panOnDrag:a,panOnScroll:i,onPaneContextMenu:n,onPanZoomEnd:d,onDraggingChange:f});g.on(`end`,M);let N=qt({zoomActivationKeyPressed:x,panOnDrag:a,zoomOnScroll:h,panOnScroll:i,zoomOnDoubleClick:b,zoomOnPinch:m,userSelectionActive:r,noPanClassName:t,noWheelClassName:e,lib:C,connectionInProgress:T});g.filter(N),b?_.on(`dblclick.zoom`,y):_.on(`dblclick.zoom`,null)}function S(){g.on(`zoom`,null)}async function C(e,t,n){let r=It(e),i=g?.constrain()(r,t,n);return i&&await b(i),i}async function w(e,t){let n=It(e);return await b(n,t),n}function T(e){if(_){let t=It(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}}async function D(e,t){return _?new Promise(n=>{g?.interpolate(t?.interpolate===`linear`?l:i).scaleTo(Bt(_,t?.duration,t?.ease,()=>n(!0)),e)}):!1}async function O(e,t){return _?new Promise(n=>{g?.interpolate(t?.interpolate===`linear`?l:i).scaleBy(Bt(_,t?.duration,t?.ease,()=>n(!0)),e)}):!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 Yt;(function(e){e.Line=`line`,e.Handle=`handle`})(Yt||={});function Xt({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 Zt(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 Qt(e,t){return Math.max(0,t-e)}function $t(e,t){return Math.max(0,e-t)}function en(e,t,n){return Math.max(0,t-e,e-n)}function tn(e,t){return e?!t:t}function nn(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=en(E,h,g),j=en(D,_,v);if(o){let e=0,t=0;c&&w<0?e=Qt(y+w+O,o[0][0]):!c&&w>0&&(e=$t(y+E+O,o[1][0])),l&&T<0?t=Qt(b+T+k,o[0][1]):!l&&T>0&&(t=$t(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=$t(y+w,s[0][0]):!c&&w<0&&(e=Qt(y+E,s[1][0])),l&&T>0?t=$t(b+T,s[0][1]):!l&&T<0&&(t=Qt(b+D,s[1][1])),A=Math.max(A,e),j=Math.max(j,t)}if(i){if(u){let e=en(E/C,_,v)*C;if(A=Math.max(A,e),o){let e=0;e=!c&&!l||c&&!l&&f?$t(b+k+E/C,o[1][1])*C:Qt(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?Qt(b+E/C,s[1][1])*C:$t(b+(c?w:-w)/C,s[0][1])*C,A=Math.max(A,e)}}if(d){let e=en(D*C,h,g)/C;if(j=Math.max(j,e),o){let e=0;e=!c&&!l||l&&!c&&f?$t(y+D*C+O,o[1][0])/C:Qt(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?Qt(y+D*C,s[1][0])/C:$t(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=(tn(c,l)?-w:w)/C:w=(tn(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 rn={width:0,height:0,x:0,y:0},an={...rn,pointerX:0,pointerY:0,aspectRatio:1};function on(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 sn({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:i}){let o=a(e),s={controlDirection:Zt(`bottom-right`),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function c({controlPosition:e,boundaries:a,keepAspectRatio:c,resizeDirection:l,onResizeStart:u,onResize:d,onResizeEnd:f,shouldResize:p}){let m={...rn},g={...an};s={boundaries:a,resizeDirection:l,keepAspectRatio:c,controlDirection:Zt(e)};let _,v=null,y=[],b,x,S,C=!1,w=h().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}=Ce(e.sourceEvent,{transform:i,snapGrid:a,snapToGrid:o,containerBounds:v});m={width:_.measured.width??0,height:_.measured.height??0,x:_.position.x??0,y:_.position.y??0},g={...m,pointerX:l,pointerY:d,aspectRatio:m.width/m.height},b=void 0,x=ge(_.extent)?_.extent:void 0,_.parentId&&(_.extent===`parent`||_.expandParent)&&(b=r.get(_.parentId)),b&&_.extent===`parent`&&(x=[[0,0],[b.measured.width,b.measured.height]]),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=on(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,{...m})}).on(`drag`,e=>{let{transform:t,snapGrid:i,snapToGrid:a,nodeOrigin:o}=n(),c=Ce(e.sourceEvent,{transform:t,snapGrid:i,snapToGrid:a,containerBounds:v}),l=[];if(!_)return;let{x:u,y:f,width:h,height:w}=m,T={},E=_.origin??o,{width:D,height:O,x:k,y:A}=nn(g,s.controlDirection,c,s.boundaries,s.keepAspectRatio,E,x,S),j=D!==h,M=O!==w,N=k!==u&&j,P=A!==f&&M;if(!N&&!P&&!j&&!M)return;if((N||P||E[0]===1||E[1]===1)&&(T.x=N?k:m.x,T.y=P?A:m.y,m.x=T.x,m.y=T.y,y.length>0)){let e=k-u,t=A-f;for(let n of y)n.position={x:n.position.x-e+E[0]*(D-h),y:n.position.y-t+E[1]*(O-w)},l.push(n)}if((j||M)&&(T.width=j&&(!s.resizeDirection||s.resizeDirection===`horizontal`)?D:m.width,T.height=M&&(!s.resizeDirection||s.resizeDirection===`vertical`)?O:m.height,m.width=T.width,m.height=T.height),b&&_.expandParent){let e=E[0]*(T.width??0);T.x&&T.x<e&&(m.x=e,g.x-=T.x-e);let t=E[1]*(T.height??0);T.y&&T.y<t&&(m.y=t,g.y-=T.y-t)}let F=Xt({width:m.width,prevWidth:h,height:m.height,prevHeight:w,affectsX:s.controlDirection.affectsX,affectsY:s.controlDirection.affectsY}),I={...m,direction:F};p?.(e,I)!==!1&&(C=!0,d?.(e,I),r(T,l))}).on(`end`,e=>{C&&=(f?.(e,{...m}),i?.({...m}),!1)});o.call(w)}function l(){o.on(`.drag`,null)}return{update:c,destroy:l}}var cn=e(s()),ln=(0,g.createContext)(null),un=ln.Provider,dn=v.error001(`react`);function Q(e,t){let n=(0,g.useContext)(ln);if(n===null)throw Error(dn);return c(n,e,t)}function $(){let e=(0,g.useContext)(ln);if(e===null)throw Error(dn);return(0,g.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}var fn={display:`none`},pn={position:`absolute`,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0px, 0px, 0px, 0px)`,clipPath:`inset(100%)`},mn=`react-flow__node-desc`,hn=`react-flow__edge-desc`,gn=`react-flow__aria-live`,_n=e=>e.ariaLiveMessage,vn=e=>e.ariaLabelConfig;function yn({rfId:e}){let t=Q(_n);return(0,_.jsx)(`div`,{id:`${gn}-${e}`,"aria-live":`assertive`,"aria-atomic":`true`,style:pn,children:t})}function bn({rfId:e,disableKeyboardA11y:t}){let n=Q(vn);return(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(`div`,{id:`${mn}-${e}`,style:fn,children:t?n[`node.a11yDescription.default`]:n[`node.a11yDescription.keyboardDisabled`]}),(0,_.jsx)(`div`,{id:`${hn}-${e}`,style:fn,children:n[`edge.a11yDescription.default`]}),!t&&(0,_.jsx)(yn,{rfId:e})]})}var xn=(0,g.forwardRef)(({position:e=`top-left`,children:t,className:n,style:r,...i},a)=>(0,_.jsx)(`div`,{className:f([`react-flow__panel`,n,...`${e}`.split(`-`)]),style:r,ref:a,...i,children:t}));xn.displayName=`Panel`;var Sn=`https://reactflow.dev?utm_source=attribution`;function Cn({proOptions:e,position:t=`bottom-right`}){return e?.hideAttribution?null:(0,_.jsx)(xn,{position:t,className:`react-flow__attribution`,"data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${Sn}`,children:(0,_.jsx)(`a`,{href:Sn,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 u(e.selectedNodes.map(Tn),t.selectedNodes.map(Tn))&&u(e.selectedEdges.map(Tn),t.selectedEdges.map(Tn))}function Dn({onSelectionChange:e}){let t=$(),{selectedNodes:n,selectedEdges:r}=Q(wn,En);return(0,g.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,_.jsx)(Dn,{onSelectionChange:e}):null}var An=[0,0],jn={x:0,y:0,zoom:1},Mn=[...`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`],Nn=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}),Pn={translateExtent:y,nodeOrigin:An,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:`nopan`,rfId:`1`};function Fn(e){let{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:i,setTranslateExtent:a,setNodeExtent:o,reset:s,setDefaultNodesAndEdges:c}=Q(Nn,u),l=$();(0,g.useEffect)(()=>(c(e.defaultNodes,e.defaultEdges),()=>{d.current=Pn,s()}),[]);let d=(0,g.useRef)(Pn);return(0,g.useEffect)(()=>{for(let s of Mn){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`?l.setState({ariaLabelConfig:Se(c)}):s===`fitView`?l.setState({fitViewQueued:c}):s===`fitViewOptions`?l.setState({fitViewOptions:c}):l.setState({[s]:c}))}d.current=e},Mn.map(t=>e[t])),null}function In(){return typeof window>`u`||!window.matchMedia?null:window.matchMedia(`(prefers-color-scheme: dark)`)}function Ln(e){let[t,n]=(0,g.useState)(e===`system`?null:e);return(0,g.useEffect)(()=>{if(e!==`system`){n(e);return}let t=In(),r=()=>n(t?.matches?`dark`:`light`);return r(),t?.addEventListener(`change`,r),()=>{t?.removeEventListener(`change`,r)}},[e]),t===null?In()?.matches?`dark`:`light`:t}var Rn=typeof document<`u`?document:null;function zn(e=null,t={target:Rn,actInsideInputWithModifier:!0}){let[n,r]=(0,g.useState)(!1),i=(0,g.useRef)(!1),a=(0,g.useRef)(new Set([])),[o,s]=(0,g.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,g.useEffect)(()=>{let n=t?.target??Rn,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)&&De(e))return!1;let n=Vn(e.code,s);if(a.current.add(e[n]),Bn(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=Vn(e.code,s);Bn(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 Bn(e,t,n){return e.filter(e=>n||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function Vn(e,t){return t.includes(e)?`code`:`key`}var Hn=()=>{let e=$();return(0,g.useMemo)(()=>({zoomIn:async t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1.2,t):!1},zoomOut:async t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,t):!1},zoomTo:async(t,n)=>{let{panZoom:r}=e.getState();return r?r.scaleTo(t,n):!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),!0):!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=me(t,r,i,a,o,n?.padding??.1);return s?(await s.setViewport(c,{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),!0):!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 ue(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=X(t,n);return{x:o.x+i,y:o.y+a}}}),[])};function Un(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)Wn(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 Wn(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 Gn(e,t){return Un(e,t)}function Kn(e,t){return Un(e,t)}function qn(e,t){return{id:e,type:`select`,selected:t}}function Jn(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(qn(a.id,e)))}return r}function Yn({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 Xn(e){return{id:e.id,type:`remove`}}var Zn=ce(`React Flow`,`https://reactflow.dev/`);function Qn(e,t,n={}){return ze(e,t,{...n,onError:n.onError??Zn})}var $n=e=>M(e),er=e=>j(e);function tr(e){return(0,g.forwardRef)(e)}var nr=typeof window<`u`?g.useLayoutEffect:g.useEffect;function rr(e){let[t,n]=(0,g.useState)(BigInt(0)),[r]=(0,g.useState)(()=>ir(()=>n(e=>e+BigInt(1))));return nr(()=>{let t=r.get();t.length&&(e(t),r.reset())},[t]),r}function ir(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}var ar=(0,g.createContext)(null);function or({children:e}){let t=$(),n=rr((0,g.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=Yn({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=rr((0,g.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(Yn({items:s,lookup:o}))},[])),i=(0,g.useMemo)(()=>({nodeQueue:n,edgeQueue:r}),[]);return(0,_.jsx)(ar.Provider,{value:i,children:e})}function sr(){let e=(0,g.useContext)(ar);if(!e)throw Error(`useBatchContext must be used within a BatchProvider`);return e}var cr=e=>!!e.panZoom;function lr(){let e=Hn(),t=$(),n=sr(),r=Q(cr),i=(0,g.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=$n(e)?e:n.get(e.id),a=i.parentId?ye(i.position,i.measured,i.parentId,n,r):i.position;return ne({...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&&$n(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&&er(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 H({nodesToRemove:e,edgesToRemove:n,nodes:r,edges:i,onBeforeDelete:u}),p=f.length>0,m=d.length>0;if(p){let e=f.map(Xn);o?.(f),c(e)}if(m){let e=d.map(Xn);a?.(d),s(e)}return(m||p)&&l?.({nodes:d,edges:f}),{deletedNodes:d,deletedEdges:f}},getIntersectingNodes:(e,n=!0,r)=>{let i=se(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=ne(s?r:a),l=oe(c,o);return n&&l>0||l>=c.width*c.height||l>=o.width*o.height}):[]},isNodeIntersecting:(e,t,n=!0)=>{let r=se(e)?e:a(e);if(!r)return!1;let i=oe(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 F(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??xe();return t.setState({fitViewQueued:!0,fitViewOptions:e,fitViewResolver:r}),n.nodeQueue.push(e=>[...e]),r.promise}}},[]);return(0,g.useMemo)(()=>({...i,...e,viewportInitialized:r}),[r])}var ur=e=>e.selected,dr=typeof window<`u`?window:void 0;function fr({deleteKeyCode:e,multiSelectionKeyCode:t}){let n=$(),{deleteElements:r}=lr(),i=zn(e,{actInsideInputWithModifier:!1}),a=zn(t,{target:dr});(0,g.useEffect)(()=>{if(i){let{edges:e,nodes:t}=n.getState();r({nodes:t.filter(ur),edges:e.filter(ur)}),n.setState({nodesSelectionActive:!1})}},[i]),(0,g.useEffect)(()=>{n.setState({multiSelectionActive:a})},[a])}function pr(e){let t=$();(0,g.useEffect)(()=>{let n=()=>{if(!e.current||!(e.current.checkVisibility?.()??!0))return!1;let n=we(e.current);(n.height===0||n.width===0)&&t.getState().onError?.(`004`,v.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 mr={position:`absolute`,width:`100%`,height:`100%`,top:0,left:0},hr=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function gr({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:r=!1,panOnScrollSpeed:i=.5,panOnScrollMode:a=C.Free,zoomOnDoubleClick:o=!0,panOnDrag:s=!0,defaultViewport:c,translateExtent:l,minZoom:d,maxZoom:f,zoomActivationKeyCode:p,preventScrolling:m=!0,children:h,noWheelClassName:v,noPanClassName:y,onViewportChange:b,isControlledViewport:x,paneClickDistance:S,selectionOnDrag:w}){let T=$(),E=(0,g.useRef)(null),{userSelectionActive:D,lib:O,connectionInProgress:k}=Q(hr,u),A=zn(p),j=(0,g.useRef)();pr(E);let M=(0,g.useCallback)(e=>{b?.({x:e[0],y:e[1],zoom:e[2]}),x||T.setState({transform:e})},[b,x]);return(0,g.useEffect)(()=>{if(E.current){j.current=Jt({domNode:E.current,minZoom:d,maxZoom:f,translateExtent:l,viewport:c,onDraggingChange:e=>T.setState(t=>t.paneDragging===e?t:{paneDragging:e}),onPanZoomStart:(e,t)=>{let{onViewportChangeStart:n,onMoveStart:r}=T.getState();r?.(e,t),n?.(t)},onPanZoom:(e,t)=>{let{onViewportChange:n,onMove:r}=T.getState();r?.(e,t),n?.(t)},onPanZoomEnd:(e,t)=>{let{onViewportChangeEnd:n,onMoveEnd:r}=T.getState();r?.(e,t),n?.(t)}});let{x:e,y:t,zoom:n}=j.current.getViewport();return T.setState({panZoom:j.current,transform:[e,t,n],domNode:E.current.closest(`.react-flow`)}),()=>{j.current?.destroy()}}},[]),(0,g.useEffect)(()=>{j.current?.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:r,panOnScrollSpeed:i,panOnScrollMode:a,zoomOnDoubleClick:o,panOnDrag:s,zoomActivationKeyPressed:A,preventScrolling:m,noPanClassName:y,userSelectionActive:D,noWheelClassName:v,lib:O,onTransformChange:M,connectionInProgress:k,selectionOnDrag:w,paneClickDistance:S})},[e,t,n,r,i,a,o,s,A,m,y,D,v,O,M,k,w,S]),(0,_.jsx)(`div`,{className:`react-flow__renderer`,ref:E,style:mr,children:h})}var _r=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function vr(){let{userSelectionActive:e,userSelectionRect:t}=Q(_r,u);return e&&t?(0,_.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 yr=(e,t)=>n=>{n.target===t.current&&e?.(n)},br=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function xr({isSelecting:e,selectionKeyPressed:t,selectionMode:n=w.Full,panOnDrag:r,autoPanOnSelection:i,paneClickDistance:a,selectionOnDrag:o,onSelectionStart:s,onSelectionEnd:c,onPaneClick:l,onPaneContextMenu:d,onPaneScroll:p,onPaneMouseEnter:m,onPaneMouseMove:h,onPaneMouseLeave:v,children:y}){let b=(0,g.useRef)(0),x=$(),{userSelectionActive:S,elementsSelectable:C,dragging:T,panBy:E,autoPanSpeed:D}=Q(br,u),O=C&&(e||S),k=(0,g.useRef)(null),A=(0,g.useRef)(),j=(0,g.useRef)(new Set),M=(0,g.useRef)(new Set),N=(0,g.useRef)(!1),P=(0,g.useRef)(!1),F=(0,g.useRef)({x:0,y:0}),I=(0,g.useRef)(!1),R=e=>{if(P.current||N.current||x.getState().connection.inProgress){P.current=!1,N.current=!1;return}l?.(e),x.getState().resetSelectedElements(),x.setState({nodesSelectionActive:!1})},z=e=>{if(Array.isArray(r)&&r?.includes(2)){e.preventDefault();return}d?.(e)},B=p?e=>p(e):void 0,V=e=>{P.current&&=(e.stopPropagation(),!1)},H=n=>{let{domNode:r,transform:i}=x.getState();if(A.current=r?.getBoundingClientRect(),!A.current)return;let a=n.target===k.current;if(!a&&n.target.closest(`.nokey`)||!e||!(o&&a||t)||n.button!==0||!n.isPrimary)return;n.target?.setPointerCapture?.(n.pointerId),P.current=!1;let{x:s,y:c}=Z(n.nativeEvent,A.current),l=ue({x:s,y:c},i);x.setState({userSelectionRect:{width:0,height:0,startX:l.x,startY:l.y,x:s,y:c}}),a||(n.stopPropagation(),n.preventDefault())};function U(e,t){let{userSelectionRect:r}=x.getState();if(!r)return;let{transform:i,nodeLookup:a,edgeLookup:o,connectionLookup:s,triggerNodeChanges:c,triggerEdgeChanges:l,defaultEdgeOptions:u}=x.getState(),d={x:r.startX,y:r.startY},{x:f,y:p}=X(d,i),m={startX:d.x,startY:d.y,x:e<f?e:f,y:t<p?t:p,width:Math.abs(e-f),height:Math.abs(t-p)},h=j.current,g=M.current;j.current=new Set(L(a,m,i,n===w.Partial,!0).map(e=>e.id)),M.current=new Set;let _=u?.selectable??!0;for(let e of j.current){let t=s.get(e);if(t)for(let{edgeId:e}of t.values()){let t=o.get(e);t&&(t.selectable??_)&&M.current.add(e)}}be(h,j.current)||c(Jn(a,j.current,!0)),be(g,M.current)||l(Jn(o,M.current)),x.setState({userSelectionRect:m,userSelectionActive:!0,nodesSelectionActive:!1})}function W(){if(!i||!A.current)return;let[e,t]=ee(F.current,A.current,D);E({x:e,y:t}).then(e=>{if(!P.current||!e){b.current=requestAnimationFrame(W);return}let{x:t,y:n}=F.current;U(t,n),b.current=requestAnimationFrame(W)})}let G=()=>{cancelAnimationFrame(b.current),b.current=0,I.current=!1};return(0,g.useEffect)(()=>()=>G(),[]),(0,_.jsxs)(`div`,{className:f([`react-flow__pane`,{draggable:r===!0||Array.isArray(r)&&r.includes(0),dragging:T,selection:e}]),onClick:O?void 0:yr(R,k),onContextMenu:yr(z,k),onWheel:yr(B,k),onPointerEnter:O?void 0:m,onPointerMove:O?e=>{let{userSelectionRect:n,transform:r,resetSelectedElements:i}=x.getState();if(!A.current||!n)return;let{x:o,y:c}=Z(e.nativeEvent,A.current);F.current={x:o,y:c};let l=X({x:n.startX,y:n.startY},r);if(!P.current){let n=t?0:a;if(Math.hypot(o-l.x,c-l.y)<=n)return;i(),s?.(e)}P.current=!0,I.current||=(W(),!0),U(o,c)}:h,onPointerUp:e=>{if(!O){e.target===k.current&&x.getState().connection.inProgress&&(N.current=!0);return}e.button===0&&(e.target?.releasePointerCapture?.(e.pointerId),!S&&e.target===k.current&&x.getState().userSelectionRect&&R?.(e),x.setState({userSelectionActive:!1,userSelectionRect:null}),P.current&&(c?.(e),x.setState({nodesSelectionActive:j.current.size>0})),G())},onPointerCancel:O?e=>{e.target?.releasePointerCapture?.(e.pointerId),G()}:void 0,onPointerDownCapture:O?H:void 0,onClickCapture:O?V:void 0,onPointerLeave:v,ref:k,style:mr,children:[y,(0,_.jsx)(vr,{})]})}function Sr({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`,v.error012(e));return}t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&o)&&(a({nodes:[l],edges:[]}),requestAnimationFrame(()=>r?.current?.blur())):i([e])}function Cr({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:a,nodeClickDistance:o}){let s=$(),[c,l]=(0,g.useState)(!1),u=(0,g.useRef)();return(0,g.useEffect)(()=>{u.current=Ct({getStoreItems:()=>s.getState(),onNodeMouseDown:t=>{Sr({id:t,store:s,nodeRef:e})},onDragStart:()=>{l(!0)},onDragStop:()=>{l(!1)}})},[]),(0,g.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 wr=e=>t=>t.selected&&(t.draggable||e&&t.draggable===void 0);function Tr(){let e=$();return(0,g.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=wr(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=le(t,i));let{position:a,positionAbsolute:s}=V({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 Er=(0,g.createContext)(null),Dr=Er.Provider;Er.Consumer;var Or=()=>(0,g.useContext)(Er),kr=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),Ar=(0,g.createContext)(null);function jr({children:e}){let t=Q(kr,u);return(0,_.jsx)(Ar.Provider,{value:t,children:e})}function Mr(){let e=(0,g.useContext)(Ar);if(!e)throw Error(`useHandleConfig must be used within a HandleConfigProvider`);return e}var Nr={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},Pr=(e,t,n)=>r=>{let{connectionClickStartHandle:i,connectionMode:a,connection:o}=r,{fromHandle:s,toHandle:c,isValid:l}=o;if(!s&&!i)return Nr;let 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===S.Strict?s?.type!==n:e!==s?.nodeId||t!==s?.id,connectionInProcess:!!s,clickConnectionInProcess:!!i,valid:u&&l}};function Fr({type:e=`source`,position:t=O.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:a=!0,id:o,onConnect:s,children:c,className:l,onMouseDown:d,onTouchStart:p,...m},h){let g=o||null,y=e===`target`,b=$(),x=Or(),{connectOnClick:S,noPanClassName:C,rfId:w}=Mr(),{connectingFrom:T,connectingTo:E,clickConnecting:D,isPossibleEndHandle:k,connectionInProcess:A,clickConnectionInProcess:j,valid:M}=Q(Pr(x,g,e),u);x||b.getState().onError?.(`010`,v.error010());let N=e=>{let{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:r}=b.getState(),i={...t,...e};if(r){let{edges:e,setEdges:t,onError:n}=b.getState();t(Qn(i,e,{onError:n}))}n?.(i),s?.(i)},P=e=>{if(!x)return;let t=Oe(e.nativeEvent);if(i&&(t&&e.button===0||!t)){let t=b.getState();Nt.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:y,handleId:g,nodeId:x,flowId:t.rfId,panBy:t.panBy,cancelConnection:t.cancelConnection,onConnectStart:t.onConnectStart,onConnectEnd:(...e)=>b.getState().onConnectEnd?.(...e),updateConnection:t.updateConnection,onConnect:N,isValidConnection:n||((...e)=>b.getState().isValidConnection?.(...e)??!0),getTransform:()=>b.getState().transform,getFromHandle:()=>b.getState().connection.fromHandle,autoPanSpeed:t.autoPanSpeed,dragThreshold:t.connectionDragThreshold})}t?d?.(e):p?.(e)};return(0,_.jsx)(`div`,{"data-handleid":g,"data-nodeid":x,"data-handlepos":t,"data-id":`${w}-${x}-${g}-${e}`,className:f([`react-flow__handle`,`react-flow__handle-${t}`,`nodrag`,C,l,{source:!y,target:y,connectable:r,connectablestart:i,connectableend:a,clickconnecting:D,connectingfrom:T,connectingto:E,valid:M,connectionindicator:r&&(!A||k)&&(A||j?a:i)}]),onMouseDown:P,onTouchStart:P,onClick:S?t=>{let{onClickConnectStart:r,onClickConnectEnd:a,connectionClickStartHandle:o,connectionMode:s,isValidConnection:c,lib:l,rfId:u,nodeLookup:d,connection:f}=b.getState();if(!x||!o&&!i)return;if(!o){r?.(t.nativeEvent,{nodeId:x,handleId:g,handleType:e}),b.setState({connectionClickStartHandle:{nodeId:x,type:e,id:g}});return}let p=Te(t.target),m=n||c,{connection:h,isValid:_}=Nt.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 v=structuredClone(f);delete v.inProgress,v.toPosition=v.toHandle?v.toHandle.position:null,a?.(t,v),b.setState({connectionClickStartHandle:null})}:void 0,ref:h,...m,children:c})}var Ir=(0,g.memo)(tr(Fr));function Lr({data:e,isConnectable:t,sourcePosition:n=O.Bottom}){return(0,_.jsxs)(_.Fragment,{children:[e?.label,(0,_.jsx)(Ir,{type:`source`,position:n,isConnectable:t})]})}function Rr({data:e,isConnectable:t,targetPosition:n=O.Top,sourcePosition:r=O.Bottom}){return(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(Ir,{type:`target`,position:n,isConnectable:t}),e?.label,(0,_.jsx)(Ir,{type:`source`,position:r,isConnectable:t})]})}function zr(){return null}function Br({data:e,isConnectable:t,targetPosition:n=O.Top}){return(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(Ir,{type:`target`,position:n,isConnectable:t}),e?.label]})}var Vr={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Hr={input:Lr,default:Rr,output:Br,group:zr};function Ur(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 Wr=e=>{let{width:t,height:n,x:r,y:i}=I(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 Gr({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){let r=$(),{width:i,height:a,transformString:o,userSelectionActive:s}=Q(Wr,u),c=Tr(),l=(0,g.useRef)(null);(0,g.useEffect)(()=>{n||l.current?.focus({preventScroll:!0})},[n]);let d=!s&&i!==null&&a!==null;if(Cr({nodeRef:l,disabled:!d}),!d)return null;let p=e?t=>{e(t,r.getState().nodes.filter(e=>e.selected))}:void 0;return(0,_.jsx)(`div`,{className:f([`react-flow__nodesselection`,`react-flow__container`,t]),style:{transform:o},children:(0,_.jsx)(`div`,{ref:l,className:`react-flow__nodesselection-rect`,onContextMenu:p,tabIndex:n?void 0:-1,onKeyDown:n?void 0:e=>{Object.prototype.hasOwnProperty.call(Vr,e.key)&&(e.preventDefault(),c({direction:Vr[e.key],factor:e.shiftKey?4:1}))},style:{width:i,height:a}})})}var Kr=typeof window<`u`?window:void 0,qr=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function Jr({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:a,onPaneScroll:o,paneClickDistance:s,deleteKeyCode:c,selectionKeyCode:l,selectionOnDrag:d,selectionMode:f,onSelectionStart:p,onSelectionEnd:m,multiSelectionKeyCode:h,panActivationKeyCode:g,zoomActivationKeyCode:v,elementsSelectable:y,zoomOnScroll:b,zoomOnPinch:x,panOnScroll:S,panOnScrollSpeed:C,panOnScrollMode:w,zoomOnDoubleClick:T,panOnDrag:E,autoPanOnSelection:D,defaultViewport:O,translateExtent:k,minZoom:A,maxZoom:j,preventScrolling:M,onSelectionContextMenu:N,noWheelClassName:P,noPanClassName:F,disableKeyboardA11y:I,onViewportChange:L,isControlledViewport:R}){let{nodesSelectionActive:z,userSelectionActive:B}=Q(qr,u),V=zn(l,{target:Kr}),H=zn(g,{target:Kr}),U=H||E,W=H||S,G=d&&U!==!0,K=V||B||G;return fr({deleteKeyCode:c,multiSelectionKeyCode:h}),(0,_.jsx)(gr,{onPaneContextMenu:a,elementsSelectable:y,zoomOnScroll:b,zoomOnPinch:x,panOnScroll:W,panOnScrollSpeed:C,panOnScrollMode:w,zoomOnDoubleClick:T,panOnDrag:!V&&U,defaultViewport:O,translateExtent:k,minZoom:A,maxZoom:j,zoomActivationKeyCode:v,preventScrolling:M,noWheelClassName:P,noPanClassName:F,onViewportChange:L,isControlledViewport:R,paneClickDistance:s,selectionOnDrag:G,children:(0,_.jsxs)(xr,{onSelectionStart:p,onSelectionEnd:m,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:a,onPaneScroll:o,panOnDrag:U,autoPanOnSelection:D,isSelecting:!!K,selectionMode:f,selectionKeyPressed:V,paneClickDistance:s,selectionOnDrag:G,children:[e,z&&(0,_.jsx)(Gr,{onSelectionContextMenu:N,noPanClassName:F,disableKeyboardA11y:I})]})})}Jr.displayName=`FlowRenderer`;var Yr=(0,g.memo)(Jr),Xr=e=>t=>e?L(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 Zr(e){return Q((0,g.useCallback)(Xr(e),[e]),u)}var Qr=e=>e.updateNodeInternals;function $r(){let e=Q(Qr),[t]=(0,g.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,g.useEffect)(()=>()=>{t?.disconnect()},[t]),t}function ei({node:e,nodeType:t,hasDimensions:n,resizeObserver:r}){let i=$(),a=(0,g.useRef)(null),o=(0,g.useRef)(null),s=(0,g.useRef)(e.sourcePosition),c=(0,g.useRef)(e.targetPosition),l=(0,g.useRef)(t),u=n&&!!e.internals.handleBounds;return(0,g.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,g.useEffect)(()=>()=>{o.current&&=(r?.unobserve(o.current),null)},[]),(0,g.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 ti({id:e,onClick:t,onMouseEnter:n,onMouseMove:r,onMouseLeave:i,onContextMenu:a,onDoubleClick:o,nodesDraggable:s,elementsSelectable:c,nodesConnectable:l,nodesFocusable:d,resizeObserver:p,noDragClassName:m,noPanClassName:h,disableKeyboardA11y:g,rfId:y,nodeTypes:x,nodeClickDistance:S,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}},u),D=w.type||`default`,O=x?.[D]||Hr[D];O===void 0&&(C?.(`003`,v.error003(D)),D=`default`,O=x?.default||Hr.default);let k=!!(w.draggable||s&&w.draggable===void 0),A=!!(w.selectable||c&&w.selectable===void 0),j=!!(w.connectable||l&&w.connectable===void 0),M=!!(w.focusable||d&&w.focusable===void 0),N=$(),P=ve(w),F=ei({node:w,nodeType:D,hasDimensions:P,resizeObserver:p}),I=Cr({nodeRef:F,disabled:w.hidden||!k,noDragClassName:m,handleSelector:w.dragHandle,nodeId:e,isSelectable:A,nodeClickDistance:S}),R=Tr();if(w.hidden)return null;let z=_e(w),B=Ur(w),V=A||k||t||n||r||i,H=n?e=>n(e,{...T.userNode}):void 0,U=r?e=>r(e,{...T.userNode}):void 0,W=i?e=>i(e,{...T.userNode}):void 0,G=a?e=>a(e,{...T.userNode}):void 0,K=o?e=>o(e,{...T.userNode}):void 0,ee=n=>{let{selectNodesOnDrag:r,nodeDragThreshold:i}=N.getState();A&&(!r||!k||i>0)&&Sr({id:e,store:N,nodeRef:F}),t&&t(n,{...T.userNode})},q=t=>{if(!(De(t.nativeEvent)||g)){if(b.includes(t.key)&&A)Sr({id:e,store:N,unselect:t.key===`Escape`,nodeRef:F});else if(k&&w.selected&&Object.prototype.hasOwnProperty.call(Vr,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})}),R({direction:Vr[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&&(L(new Map([[e,w]]),{x:0,y:0,width:n,height:r},t,!0).length>0||a(w.position.x+z.width/2,w.position.y+z.height/2,{zoom:t[2]}))};return(0,_.jsx)(`div`,{className:f([`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:ee,onDoubleClick:K,onKeyDown:M?q: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:`${mn}-${y}`,"aria-label":w.ariaLabel,...w.domAttributes,children:(0,_.jsx)(Dr,{value:e,children:(0,_.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,...z})})})}var ni=(0,g.memo)(ti),ri=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function ii(e){let{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,onError:a}=Q(ri,u),o=Zr(e.onlyRenderVisibleElements),s=$r();return(0,_.jsx)(`div`,{className:`react-flow__nodes`,style:mr,children:o.map(o=>(0,_.jsx)(ni,{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:s,nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,nodeClickDistance:e.nodeClickDistance,onError:a},o))})}ii.displayName=`NodeRenderer`;var ai=(0,g.memo)(ii);function oi(e){return Q((0,g.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&&Ie({sourceNode:r,targetNode:i,width:t.width,height:t.height,transform:t.transform})&&n.push(e.id)}return n},[e]),u)}var si=({color:e=`none`,strokeWidth:t=1})=>(0,_.jsx)(`polyline`,{className:`arrow`,style:{strokeWidth:t,...e&&{stroke:e}},strokeLinecap:`round`,fill:`none`,strokeLinejoin:`round`,points:`-5,-4 0,0 -5,4`}),ci=({color:e=`none`,strokeWidth:t=1})=>(0,_.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`}),li={[D.Arrow]:si,[D.ArrowClosed]:ci};function ui(e){let t=$();return(0,g.useMemo)(()=>Object.prototype.hasOwnProperty.call(li,e)?li[e]:(t.getState().onError?.(`009`,v.error009(e)),null),[e])}var di=({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=ui(t);return c?(0,_.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,_.jsx)(c,{color:n,strokeWidth:o})}):null},fi=({defaultColor:e,rfId:t})=>{let n=Q(e=>e.edges),r=Q(e=>e.defaultEdgeOptions),i=(0,g.useMemo)(()=>$e(n,{id:t,defaultColor:e,defaultMarkerStart:r?.markerStart,defaultMarkerEnd:r?.markerEnd}),[n,r,t,e]);return i.length?(0,_.jsx)(`svg`,{className:`react-flow__marker`,"aria-hidden":`true`,children:(0,_.jsx)(`defs`,{children:i.map(e=>(0,_.jsx)(di,{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};fi.displayName=`MarkerDefinitions`;var pi=(0,g.memo)(fi);function mi({x:e,y:t,label:n,labelStyle:r,labelShowBg:i=!0,labelBgStyle:a,labelBgPadding:o=[2,4],labelBgBorderRadius:s=2,children:c,className:l,...u}){let[d,p]=(0,g.useState)({x:1,y:0,width:0,height:0}),m=f([`react-flow__edge-textwrapper`,l]),h=(0,g.useRef)(null);return(0,g.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,_.jsxs)(`g`,{transform:`translate(${e-d.width/2} ${t-d.height/2})`,className:m,visibility:d.width?`visible`:`hidden`,...u,children:[i&&(0,_.jsx)(`rect`,{width:d.width+2*o[0],x:-o[0],y:-o[1],height:d.height+2*o[1],className:`react-flow__edge-textbg`,style:a,rx:s,ry:s}),(0,_.jsx)(`text`,{className:`react-flow__edge-text`,y:d.height/2,dy:`0.3em`,ref:h,style:r,children:n}),c]}):null}mi.displayName=`EdgeText`;var hi=(0,g.memo)(mi);function gi({path:e,labelX:t,labelY:n,label:r,labelStyle:i,labelShowBg:a,labelBgStyle:o,labelBgPadding:s,labelBgBorderRadius:c,interactionWidth:l=20,...u}){return(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(`path`,{...u,d:e,fill:`none`,className:f([`react-flow__edge-path`,u.className])}),l?(0,_.jsx)(`path`,{d:e,fill:`none`,strokeOpacity:0,strokeWidth:l,className:`react-flow__edge-interaction`}):null,r&&Y(t)&&Y(n)?(0,_.jsx)(hi,{x:t,y:n,label:r,labelStyle:i,labelShowBg:a,labelBgStyle:o,labelBgPadding:s,labelBgBorderRadius:c}):null]})}function _i({pos:e,x1:t,y1:n,x2:r,y2:i}){return e===O.Left||e===O.Right?[.5*(t+r),n]:[t,.5*(n+i)]}function vi({sourceX:e,sourceY:t,sourcePosition:n=O.Bottom,targetX:r,targetY:i,targetPosition:a=O.Top}){let[o,s]=_i({pos:n,x1:e,y1:t,x2:r,y2:i}),[c,l]=_i({pos:a,x1:r,y1:i,x2:e,y2:t}),[u,d,f,p]=Ae({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 yi(e){return(0,g.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:v})=>{let[y,b,x]=vi({sourceX:n,sourceY:r,sourcePosition:o,targetX:i,targetY:a,targetPosition:s});return(0,_.jsx)(gi,{id:e.isInternal?void 0:t,path:y,labelX:b,labelY:x,label:c,labelStyle:l,labelShowBg:u,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:p,style:m,markerEnd:h,markerStart:g,interactionWidth:v})})}var bi=yi({isInternal:!1}),xi=yi({isInternal:!0});bi.displayName=`SimpleBezierEdge`,xi.displayName=`SimpleBezierEdgeInternal`;function Si(e){return(0,g.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=O.Bottom,targetPosition:m=O.Top,markerEnd:h,markerStart:g,pathOptions:v,interactionWidth:y})=>{let[b,x,S]=Ke({sourceX:n,sourceY:r,sourcePosition:p,targetX:i,targetY:a,targetPosition:m,borderRadius:v?.borderRadius,offset:v?.offset,stepPosition:v?.stepPosition});return(0,_.jsx)(gi,{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:y})})}var Ci=Si({isInternal:!1}),wi=Si({isInternal:!0});Ci.displayName=`SmoothStepEdge`,wi.displayName=`SmoothStepEdgeInternal`;function Ti(e){return(0,g.memo)(({id:t,...n})=>{let r=e.isInternal?void 0:t;return(0,_.jsx)(Ci,{...n,id:r,pathOptions:(0,g.useMemo)(()=>({borderRadius:0,offset:n.pathOptions?.offset}),[n.pathOptions?.offset])})})}var Ei=Ti({isInternal:!1}),Di=Ti({isInternal:!0});Ei.displayName=`StepEdge`,Di.displayName=`StepEdgeInternal`;function Oi(e){return(0,g.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,y]=Be({sourceX:n,sourceY:r,targetX:i,targetY:a});return(0,_.jsx)(gi,{id:e.isInternal?void 0:t,path:g,labelX:v,labelY:y,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,markerEnd:p,markerStart:m,interactionWidth:h})})}var ki=Oi({isInternal:!1}),Ai=Oi({isInternal:!0});ki.displayName=`StraightEdge`,Ai.displayName=`StraightEdgeInternal`;function ji(e){return(0,g.memo)(({id:t,sourceX:n,sourceY:r,targetX:i,targetY:a,sourcePosition:o=O.Bottom,targetPosition:s=O.Top,label:c,labelStyle:l,labelShowBg:u,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:p,style:m,markerEnd:h,markerStart:g,pathOptions:v,interactionWidth:y})=>{let[b,x,S]=Ne({sourceX:n,sourceY:r,sourcePosition:o,targetX:i,targetY:a,targetPosition:s,curvature:v?.curvature});return(0,_.jsx)(gi,{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:y})})}var Mi=ji({isInternal:!1}),Ni=ji({isInternal:!0});Mi.displayName=`BezierEdge`,Ni.displayName=`BezierEdgeInternal`;var Pi={default:Ni,straight:Ai,step:Di,smoothstep:wi,simplebezier:xi},Fi={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},Ii=(e,t,n)=>n===O.Left?e-t:n===O.Right?e+t:e,Li=(e,t,n)=>n===O.Top?e-t:n===O.Bottom?e+t:e,Ri=`react-flow__edgeupdater`;function zi({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:a,onMouseOut:o,type:s}){return(0,_.jsx)(`circle`,{onMouseDown:i,onMouseEnter:a,onMouseOut:o,className:f([Ri,`${Ri}-${s}`]),cx:Ii(t,r,e),cy:Li(n,r,e),r,stroke:`transparent`,fill:`transparent`})}function Bi({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`;Nt.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`}),v=e=>h(e,{nodeId:n.source,id:n.sourceHandle??null,type:`source`}),y=()=>p(!0),b=()=>p(!1);return(0,_.jsxs)(_.Fragment,{children:[(e===!0||e===`source`)&&(0,_.jsx)(zi,{position:s,centerX:r,centerY:i,radius:t,onMouseDown:g,onMouseEnter:y,onMouseOut:b,type:`source`}),(e===!0||e===`target`)&&(0,_.jsx)(zi,{position:c,centerX:a,centerY:o,radius:t,onMouseDown:v,onMouseEnter:y,onMouseOut:b,type:`target`})]})}function Vi({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:r,onClick:i,onDoubleClick:a,onContextMenu:o,onMouseEnter:s,onMouseMove:c,onMouseLeave:l,reconnectRadius:d,onReconnect:p,onReconnectStart:m,onReconnectEnd:h,rfId:y,edgeTypes:x,noPanClassName:S,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=x?.[D]||Pi[D];O===void 0&&(C?.(`011`,v.error011(D)),D=`default`,O=x?.default||Pi.default);let k=!!(T.focusable||t&&T.focusable===void 0),A=p!==void 0&&(T.reconnectable||n&&T.reconnectable===void 0),j=!!(T.selectable||r&&T.selectable===void 0),M=(0,g.useRef)(null),[N,P]=(0,g.useState)(!1),[F,I]=(0,g.useState)(!1),L=$(),{zIndex:R=T.zIndex,sourceX:z,sourceY:B,targetX:V,targetY:H,sourcePosition:U,targetPosition:W}=Q((0,g.useCallback)(t=>{let n=t.nodeLookup.get(T.source),r=t.nodeLookup.get(T.target);if(!n||!r)return Fi;let i=Je({id:e,sourceNode:n,targetNode:r,sourceHandle:T.sourceHandle||null,targetHandle:T.targetHandle||null,connectionMode:t.connectionMode,onError:C}),a=Fe({selected:T.selected,zIndex:T.zIndex,sourceNode:n,targetNode:r,elevateOnSelect:t.elevateEdgesOnSelect,zIndexMode:t.zIndexMode});return{...i||Fi,zIndex:a}},[T.source,T.target,T.sourceHandle,T.targetHandle,T.selected,T.zIndex]),u),G=(0,g.useMemo)(()=>T.markerStart?`url('#${Qe(T.markerStart,y)}')`:void 0,[T.markerStart,y]),K=(0,g.useMemo)(()=>T.markerEnd?`url('#${Qe(T.markerEnd,y)}')`:void 0,[T.markerEnd,y]);if(T.hidden||z===null||B===null||V===null||H===null)return null;let ee=t=>{let{addSelectedEdges:n,unselectNodesAndEdges:r,multiSelectionActive:a}=L.getState();j&&(L.setState({nodesSelectionActive:!1}),T.selected&&a?(r({nodes:[],edges:[T]}),M.current?.blur()):n([e])),i&&i(t,T)},q=a?e=>{a(e,{...T})}:void 0,J=o?e=>{o(e,{...T})}:void 0,te=s?e=>{s(e,{...T})}:void 0,ne=c?e=>{c(e,{...T})}:void 0,re=l?e=>{l(e,{...T})}:void 0;return(0,_.jsx)(`svg`,{style:{zIndex:R},children:(0,_.jsxs)(`g`,{className:f([`react-flow__edge`,`react-flow__edge-${D}`,T.className,S,{selected:T.selected,animated:T.animated,inactive:!j&&!i,updating:N,selectable:j}]),onClick:ee,onDoubleClick:q,onContextMenu:J,onMouseEnter:te,onMouseMove:ne,onMouseLeave:re,onKeyDown:k?t=>{if(!w&&b.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?`${hn}-${y}`:void 0,ref:M,...T.domAttributes,children:[!F&&(0,_.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,_.jsx)(Bi,{edge:T,isReconnectable:A,reconnectRadius:d,onReconnect:p,onReconnectStart:m,onReconnectEnd:h,sourceX:z,sourceY:B,targetX:V,targetY:H,sourcePosition:U,targetPosition:W,setUpdateHover:P,setReconnecting:I})]})})}var Hi=(0,g.memo)(Vi),Ui=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function Wi({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:r,noPanClassName:i,onReconnect:a,onEdgeContextMenu:o,onEdgeMouseEnter:s,onEdgeMouseMove:c,onEdgeMouseLeave:l,onEdgeClick:d,reconnectRadius:f,onEdgeDoubleClick:p,onReconnectStart:m,onReconnectEnd:h,disableKeyboardA11y:g}){let{edgesFocusable:v,edgesReconnectable:y,elementsSelectable:b,onError:x}=Q(Ui,u),S=oi(t);return(0,_.jsxs)(`div`,{className:`react-flow__edges`,children:[(0,_.jsx)(pi,{defaultColor:e,rfId:n}),S.map(e=>(0,_.jsx)(Hi,{id:e,edgesFocusable:v,edgesReconnectable:y,elementsSelectable:b,noPanClassName:i,onReconnect:a,onContextMenu:o,onMouseEnter:s,onMouseMove:c,onMouseLeave:l,onClick:d,reconnectRadius:f,onDoubleClick:p,onReconnectStart:m,onReconnectEnd:h,rfId:n,onError:x,edgeTypes:r,disableKeyboardA11y:g},e))]})}Wi.displayName=`EdgeRenderer`;var Gi=(0,g.memo)(Wi),Ki=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function qi({children:e}){return(0,_.jsx)(`div`,{className:`react-flow__viewport xyflow__viewport react-flow__container`,style:{transform:Q(Ki)},children:e})}function Ji(e){let t=lr(),n=(0,g.useRef)(!1);(0,g.useEffect)(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}var Yi=e=>e.panZoom?.syncViewport;function Xi(e){let t=Q(Yi),n=$();return(0,g.useEffect)(()=>{e&&(t?.(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function Zi(e){return e.connection.inProgress?{...e.connection,to:ue(e.connection.to,e.transform)}:{...e.connection}}function Qi(e){return e?t=>e(Zi(t)):Zi}function $i(e){return Q(Qi(e),u)}var ea=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function ta({containerStyle:e,style:t,type:n,component:r}){let{nodesConnectable:i,width:a,height:o,isValid:s,inProgress:c}=Q(ea,u);return a&&i&&c?(0,_.jsx)(`svg`,{style:e,width:a,height:o,className:`react-flow__connectionline react-flow__container`,children:(0,_.jsx)(`g`,{className:f([`react-flow__connection`,A(s)]),children:(0,_.jsx)(na,{style:t,type:n,CustomComponent:r,isValid:s})})}):null}var na=({style:e,type:t=E.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}=$i();if(!i)return;if(n)return(0,_.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:A(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 E.Bezier:[m]=Ne(h);break;case E.SimpleBezier:[m]=vi(h);break;case E.Step:[m]=Ke({...h,borderRadius:0});break;case E.SmoothStep:[m]=Ke(h);break;default:[m]=Be(h)}return(0,_.jsx)(`path`,{d:m,fill:`none`,className:`react-flow__connection-path`,style:e})};na.displayName=`ConnectionLine`;var ra={};function ia(e=ra){(0,g.useRef)(e),$(),(0,g.useEffect)(()=>{},[e])}function aa(){$(),(0,g.useRef)(!1),(0,g.useEffect)(()=>{},[])}function oa({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:v,selectionKeyCode:y,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,autoPanOnSelection:V,onPaneClick:H,onPaneMouseEnter:U,onPaneMouseMove:W,onPaneMouseLeave:G,onPaneScroll:K,onPaneContextMenu:ee,paneClickDistance:q,nodeClickDistance:J,onEdgeContextMenu:te,onEdgeMouseEnter:ne,onEdgeMouseMove:re,onEdgeMouseLeave:ie,reconnectRadius:ae,onReconnect:oe,onReconnectStart:se,onReconnectEnd:Y,noDragClassName:ce,noWheelClassName:le,noPanClassName:ue,disableKeyboardA11y:X,nodeExtent:de,rfId:fe,viewport:pe,onViewportChange:me}){return ia(e),ia(t),aa(),Ji(n),Xi(pe),(0,_.jsx)(Yr,{onPaneClick:H,onPaneMouseEnter:U,onPaneMouseMove:W,onPaneMouseLeave:G,onPaneContextMenu:ee,onPaneScroll:K,paneClickDistance:q,deleteKeyCode:T,selectionKeyCode:y,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,autoPanOnSelection:V,defaultViewport:O,translateExtent:k,minZoom:A,maxZoom:j,onSelectionContextMenu:d,preventScrolling:M,noDragClassName:ce,noWheelClassName:le,noPanClassName:ue,disableKeyboardA11y:X,onViewportChange:me,isControlledViewport:!!pe,children:(0,_.jsxs)(qi,{children:[(0,_.jsx)(Gi,{edgeTypes:t,onEdgeClick:i,onEdgeDoubleClick:o,onReconnect:oe,onReconnectStart:se,onReconnectEnd:Y,onlyRenderVisibleElements:E,onEdgeContextMenu:te,onEdgeMouseEnter:ne,onEdgeMouseMove:re,onEdgeMouseLeave:ie,reconnectRadius:ae,defaultMarkerColor:N,noPanClassName:ue,disableKeyboardA11y:X,rfId:fe}),(0,_.jsx)(ta,{style:h,type:m,component:g,containerStyle:v}),(0,_.jsx)(`div`,{className:`react-flow__edgelabel-renderer`}),(0,_.jsx)(ai,{nodeTypes:e,onNodeClick:r,onNodeDoubleClick:a,onNodeMouseEnter:s,onNodeMouseMove:c,onNodeMouseLeave:l,onNodeContextMenu:u,nodeClickDistance:J,onlyRenderVisibleElements:E,noPanClassName:ue,noDragClassName:ce,disableKeyboardA11y:X,nodeExtent:de,rfId:fe}),(0,_.jsx)(`div`,{className:`react-flow__viewport-portal`})]})})}oa.displayName=`GraphView`;var sa=(0,g.memo)(oa),ca=ce(`React Flow`,`https://reactflow.dev/`),la=({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??[],b=u??[0,0],C=d??y;_t(h,g,_);let{nodesInitialized:w}=ct(v,p,m,{nodeOrigin:b,nodeExtent:C,zIndexMode:f}),E=[0,0,1];if(o&&i&&a){let{x:e,y:t,zoom:n}=me(I(p,{filter:e=>!!((e.width||e.initialWidth)&&(e.height||e.initialHeight))}),i,a,c,l,s?.padding??.1);E=[e,t,n]}return{rfId:`1`,width:i??0,height:a??0,transform:E,nodes:v,nodesInitialized:w,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:y,nodeExtent:C,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:S.Strict,domNode:null,paneDragging:!1,noPanClassName:`nopan`,nodeOrigin:b,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:{...T},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:``,autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:ca,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:`react`,debug:!1,ariaLabelConfig:x,zIndexMode:f,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},ua=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:i,height:a,fitView:o,fitViewOptions:s,minZoom:c,maxZoom:l,nodeOrigin:u,nodeExtent:d,zIndexMode:f})=>p((p,m)=>{async function h(){let{nodeLookup:e,panZoom:t,fitViewOptions:n,fitViewResolver:r,width:i,height:a,minZoom:o,maxZoom:s}=m();t&&(await B({nodes:e,width:i,height:a,panZoom:t,minZoom:o,maxZoom:s},n),r?.resolve(!0),p({fitViewResolver:null}))}return{...la({nodes:e,edges:t,width:i,height:a,fitView:o,fitViewOptions:s,minZoom:c,maxZoom:l,nodeOrigin:u,nodeExtent:d,defaultNodes:n,defaultEdges:r,zIndexMode:f}),setNodes:e=>{let{nodeLookup:t,parentLookup:n,nodeOrigin:r,elevateNodesOnSelect:i,fitViewQueued:a,zIndexMode:o,nodesSelectionActive:s}=m(),{nodesInitialized:c,hasSelectedNodes:l}=ct(e,t,n,{nodeOrigin:r,nodeExtent:d,elevateNodesOnSelect:i,checkEquality:!0,zIndexMode:o}),u=s&&l;a&&c?(h(),p({nodes:e,nodesInitialized:c,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:u})):p({nodes:e,nodesInitialized:c,nodesSelectionActive:u})},setEdges:e=>{let{connectionLookup:t,edgeLookup:n}=m();_t(t,n,e),p({edges:e})},setDefaultNodesAndEdges:(e,t)=>{if(e){let{setNodes:t}=m();t(e),p({hasDefaultNodes:!0})}if(t){let{setEdges:e}=m();e(t),p({hasDefaultEdges:!0})}},updateNodeInternals:e=>{let{triggerNodeChanges:t,nodeLookup:n,parentLookup:r,domNode:i,nodeOrigin:a,nodeExtent:o,debug:s,fitViewQueued:c,zIndexMode:l}=m(),{changes:u,updatedInternals:d}=mt(e,n,r,i,a,o,l);d&&(at(n,r,{nodeOrigin:a,nodeExtent:o,zIndexMode:l}),c?(h(),p({fitViewQueued:!1,fitViewOptions:void 0})):p({}),u?.length>0&&(s&&console.log(`React Flow: trigger node changes`,u),t?.(u)))},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=Xe(e,o.fromHandle,O.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=pt(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(Gn(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(Kn(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=>qn(e,!0)));return}i(Jn(r,new Set([...e]),!0)),a(Jn(n))},addSelectedEdges:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:r,triggerNodeChanges:i,triggerEdgeChanges:a}=m();if(t){a(e.map(e=>qn(e,!0)));return}a(Jn(n,new Set([...e]))),i(Jn(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(qn(e.id,!1))}let u=[];for(let e of c)e.selected&&u.push(qn(e.id,!1));a(l),o(u)},setMinZoom:e=>{let{panZoom:t,maxZoom:n}=m();t?.setScaleExtent([e,n]),p({minZoom:e})},setMaxZoom:e=>{let{panZoom:t,minZoom:n}=m();t?.setScaleExtent([n,e]),p({maxZoom:e})},setTranslateExtent:e=>{m().panZoom?.setTranslateExtent(e),p({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,qn(t.id,!1)]:e,[]),o=e.reduce((e,t)=>t.selected?[...e,qn(t.id,!1)]:e,[]);n(a),r(o)},setNodeExtent:e=>{let{nodes:t,nodeLookup:n,parentLookup:r,nodeOrigin:i,elevateNodesOnSelect:a,nodeExtent:o,zIndexMode:s}=m();e[0][0]===o[0][0]&&e[0][1]===o[0][1]&&e[1][0]===o[1][0]&&e[1][1]===o[1][1]||(ct(t,n,r,{nodeOrigin:i,nodeExtent:e,elevateNodesOnSelect:a,checkEquality:!1,zIndexMode:s}),p({nodeExtent:e}))},panBy:e=>{let{transform:t,width:n,height:r,panZoom:i,translateExtent:a}=m();return ht({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!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}),!0},cancelConnection:()=>{p({connection:{...T}})},updateConnection:e=>{p({connection:e})},reset:()=>p({...la()})}},Object.is);function da({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,g.useState)(()=>ua({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,_.jsx)(un,{value:m,children:(0,_.jsx)(or,{children:(0,_.jsx)(jr,{children:p})})})}function fa({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,g.useContext)(ln)?(0,_.jsx)(_.Fragment,{children:e}):(0,_.jsx)(da,{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 pa={width:`100%`,height:`100%`,overflow:`hidden`,position:`relative`,zIndex:0};function ma({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:a,edgeTypes:o,onNodeClick:s,onEdgeClick:c,onInit:l,onMove:u,onMoveStart:d,onMoveEnd:p,onConnect:m,onConnectStart:h,onConnectEnd:v,onClickConnectStart:b,onClickConnectEnd:x,onNodeMouseEnter:S,onNodeMouseMove:T,onNodeMouseLeave:D,onNodeContextMenu:O,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=E.Bezier,connectionLineStyle:K,connectionLineComponent:ee,connectionLineContainerStyle:q,deleteKeyCode:J=`Backspace`,selectionKeyCode:te=`Shift`,selectionOnDrag:ne=!1,selectionMode:re=w.Full,panActivationKeyCode:ie=`Space`,multiSelectionKeyCode:ae=he()?`Meta`:`Control`,zoomActivationKeyCode:oe=he()?`Meta`:`Control`,snapToGrid:se,snapGrid:Y,onlyRenderVisibleElements:ce=!1,selectNodesOnDrag:le,nodesDraggable:ue,autoPanOnNodeFocus:X,nodesConnectable:de,nodesFocusable:fe,nodeOrigin:pe=An,edgesFocusable:me,edgesReconnectable:ge,elementsSelectable:_e=!0,defaultViewport:ve=jn,minZoom:ye=.5,maxZoom:be=2,translateExtent:xe=y,preventScrolling:Se=!0,nodeExtent:Ce,defaultMarkerColor:we=`#b1b1b7`,zoomOnScroll:Te=!0,zoomOnPinch:Ee=!0,panOnScroll:De=!1,panOnScrollSpeed:Oe=.5,panOnScrollMode:Z=C.Free,zoomOnDoubleClick:ke=!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,autoPanOnSelection:dt=!0,autoPanSpeed:ft,connectionRadius:pt,isValidConnection:mt,onError:ht,style:gt,id:_t,nodeDragThreshold:vt,connectionDragThreshold:yt,viewport:bt,onViewportChange:xt,width:St,height:Ct,colorMode:wt=`light`,debug:Tt,onScroll:Et,ariaLabelConfig:Dt,zIndexMode:Ot=`basic`,...kt},At){let jt=_t||`1`,Mt=Ln(wt),Nt=(0,g.useCallback)(e=>{e.currentTarget.scrollTo({top:0,left:0,behavior:`instant`}),Et?.(e)},[Et]);return(0,_.jsx)(`div`,{"data-testid":`rf__wrapper`,...kt,onScroll:Nt,style:{...gt,...pa},ref:At,className:f([`react-flow`,i,Mt]),id:_t,role:`application`,children:(0,_.jsxs)(fa,{nodes:e,edges:t,width:St,height:Ct,fitView:et,fitViewOptions:tt,minZoom:ye,maxZoom:be,nodeOrigin:pe,nodeExtent:Ce,zIndexMode:Ot,children:[(0,_.jsx)(Fn,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:m,onConnectStart:h,onConnectEnd:v,onClickConnectStart:b,onClickConnectEnd:x,nodesDraggable:ue,autoPanOnNodeFocus:X,nodesConnectable:de,nodesFocusable:fe,edgesFocusable:me,edgesReconnectable:ge,elementsSelectable:_e,elevateNodesOnSelect:ot,elevateEdgesOnSelect:st,minZoom:ye,maxZoom:be,nodeExtent:Ce,onNodesChange:Ye,onEdgesChange:Xe,snapToGrid:se,snapGrid:Y,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:u,onMoveStart:d,onMoveEnd:p,noPanClassName:$e,nodeOrigin:pe,rfId:jt,autoPanOnConnect:lt,autoPanOnNodeDrag:ut,autoPanSpeed:ft,onError:ht,connectionRadius:pt,isValidConnection:mt,selectNodesOnDrag:le,nodeDragThreshold:vt,connectionDragThreshold:yt,onBeforeDelete:U,debug:Tt,ariaLabelConfig:Dt,zIndexMode:Ot}),(0,_.jsx)(sa,{onInit:l,onNodeClick:s,onEdgeClick:c,onNodeMouseEnter:S,onNodeMouseMove:T,onNodeMouseLeave:D,onNodeContextMenu:O,onNodeDoubleClick:k,nodeTypes:a,edgeTypes:o,connectionLineType:G,connectionLineStyle:K,connectionLineComponent:ee,connectionLineContainerStyle:q,selectionKeyCode:te,selectionOnDrag:ne,selectionMode:re,deleteKeyCode:J,multiSelectionKeyCode:ae,panActivationKeyCode:ie,zoomActivationKeyCode:oe,onlyRenderVisibleElements:ce,defaultViewport:ve,translateExtent:xe,minZoom:ye,maxZoom:be,preventScrolling:Se,zoomOnScroll:Te,zoomOnPinch:Ee,zoomOnDoubleClick:ke,panOnScroll:De,panOnScrollSpeed:Oe,panOnScrollMode:Z,panOnDrag:Ae,autoPanOnSelection:dt,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:jt,disableKeyboardA11y:ct,nodeExtent:Ce,viewport:bt,onViewportChange:xt}),(0,_.jsx)(kn,{onSelectionChange:I}),ze,(0,_.jsx)(Cn,{proOptions:it,position:rt}),(0,_.jsx)(bn,{rfId:jt,disableKeyboardA11y:ct})]})})}var ha=tr(ma),ga=e=>e.domNode?.querySelector(`.react-flow__edgelabel-renderer`);function _a({children:e}){let t=Q(ga);return t?(0,cn.createPortal)(e,t):null}function va(e){let[t,n]=(0,g.useState)(e);return[t,n,(0,g.useCallback)(e=>n(t=>Gn(e,t)),[])]}function ya(e){let[t,n]=(0,g.useState)(e);return[t,n,(0,g.useCallback)(e=>n(t=>Kn(e,t)),[])]}v.error014();function ba({dimensions:e,lineWidth:t,variant:n,className:r}){return(0,_.jsx)(`path`,{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:f([`react-flow__background-pattern`,n,r])})}function xa({radius:e,className:t}){return(0,_.jsx)(`circle`,{cx:e,cy:e,r:e,className:f([`react-flow__background-pattern`,`dots`,t])})}var Sa;(function(e){e.Lines=`lines`,e.Dots=`dots`,e.Cross=`cross`})(Sa||={});var Ca={[Sa.Dots]:1,[Sa.Lines]:1,[Sa.Cross]:6},wa=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function Ta({id:e,variant:t=Sa.Dots,gap:n=20,size:r,lineWidth:i=1,offset:a=0,color:o,bgColor:s,style:c,className:l,patternClassName:d}){let p=(0,g.useRef)(null),{transform:m,patternId:h}=Q(wa,u),v=r||Ca[t],y=t===Sa.Dots,b=t===Sa.Cross,x=Array.isArray(n)?n:[n,n],S=[x[0]*m[2]||1,x[1]*m[2]||1],C=v*m[2],w=Array.isArray(a)?a:[a,a],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,_.jsxs)(`svg`,{className:f([`react-flow__background`,l]),style:{...c,...mr,"--xy-background-color-props":s,"--xy-background-pattern-color-props":o},ref:p,"data-testid":`rf__background`,children:[(0,_.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:y?(0,_.jsx)(xa,{radius:C/2,className:d}):(0,_.jsx)(ba,{dimensions:T,lineWidth:i,variant:t,className:d})}),(0,_.jsx)(`rect`,{x:`0`,y:`0`,width:`100%`,height:`100%`,fill:`url(#${D})`})]})}Ta.displayName=`Background`;var Ea=(0,g.memo)(Ta);function Da(){return(0,_.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 32`,children:(0,_.jsx)(`path`,{d:`M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z`})})}function Oa(){return(0,_.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 5`,children:(0,_.jsx)(`path`,{d:`M0 0h32v4.2H0z`})})}function ka(){return(0,_.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 30`,children:(0,_.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 Aa(){return(0,_.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 25 32`,children:(0,_.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 ja(){return(0,_.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 25 32`,children:(0,_.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 Ma({children:e,className:t,...n}){return(0,_.jsx)(`button`,{type:`button`,className:f([`react-flow__controls-button`,t]),...n,children:e})}var Na=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function Pa({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:i,onZoomIn:a,onZoomOut:o,onFitView:s,onInteractiveChange:c,className:l,children:d,position:p=`bottom-left`,orientation:m=`vertical`,"aria-label":h}){let g=$(),{isInteractive:v,minZoomReached:y,maxZoomReached:b,ariaLabelConfig:x}=Q(Na,u),{zoomIn:S,zoomOut:C,fitView:w}=lr();return(0,_.jsxs)(xn,{className:f([`react-flow__controls`,m===`horizontal`?`horizontal`:`vertical`,l]),position:p,style:e,"data-testid":`rf__controls`,"aria-label":h??x[`controls.ariaLabel`],children:[t&&(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(Ma,{onClick:()=>{S(),a?.()},className:`react-flow__controls-zoomin`,title:x[`controls.zoomIn.ariaLabel`],"aria-label":x[`controls.zoomIn.ariaLabel`],disabled:b,children:(0,_.jsx)(Da,{})}),(0,_.jsx)(Ma,{onClick:()=>{C(),o?.()},className:`react-flow__controls-zoomout`,title:x[`controls.zoomOut.ariaLabel`],"aria-label":x[`controls.zoomOut.ariaLabel`],disabled:y,children:(0,_.jsx)(Oa,{})})]}),n&&(0,_.jsx)(Ma,{className:`react-flow__controls-fitview`,onClick:()=>{w(i),s?.()},title:x[`controls.fitView.ariaLabel`],"aria-label":x[`controls.fitView.ariaLabel`],children:(0,_.jsx)(ka,{})}),r&&(0,_.jsx)(Ma,{className:`react-flow__controls-interactive`,onClick:()=>{g.setState({nodesDraggable:!v,nodesConnectable:!v,elementsSelectable:!v}),c?.(!v)},title:x[`controls.interactive.ariaLabel`],"aria-label":x[`controls.interactive.ariaLabel`],children:v?(0,_.jsx)(ja,{}):(0,_.jsx)(Aa,{})}),d]})}Pa.displayName=`Controls`;var Fa=(0,g.memo)(Pa);function Ia({id:e,x:t,y:n,width:r,height:i,style:a,color:o,strokeColor:s,strokeWidth:c,className:l,borderRadius:u,shapeRendering:d,selected:p,onClick:m}){let{background:h,backgroundColor:g}=a||{},v=o||h||g;return(0,_.jsx)(`rect`,{className:f([`react-flow__minimap-node`,{selected:p},l]),x:t,y:n,rx:u,ry:u,width:r,height:i,style:{fill:v,stroke:s,strokeWidth:c},shapeRendering:d,onClick:m?t=>m(t,e):void 0})}var La=(0,g.memo)(Ia),Ra=e=>e.nodes.map(e=>e.id),za=e=>e instanceof Function?e:()=>e;function Ba({nodeStrokeColor:e,nodeColor:t,nodeClassName:n=``,nodeBorderRadius:r=5,nodeStrokeWidth:i,nodeComponent:a=La,onClick:o}){let s=Q(Ra,u),c=za(t),l=za(e),d=za(n),f=typeof window>`u`||window.chrome?`crispEdges`:`geometricPrecision`;return(0,_.jsx)(_.Fragment,{children:s.map(e=>(0,_.jsx)(Ha,{id:e,nodeColorFunc:c,nodeStrokeColorFunc:l,nodeClassNameFunc:d,nodeBorderRadius:r,nodeStrokeWidth:i,NodeComponent:a,onClick:o,shapeRendering:f},e))})}function Va({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:r,nodeBorderRadius:i,nodeStrokeWidth:a,shapeRendering:o,NodeComponent:s,onClick:c}){let{node:l,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}=_e(r);return{node:r,x:i,y:a,width:o,height:s}},u);return!l||l.hidden||!ve(l)?null:(0,_.jsx)(s,{x:d,y:f,width:p,height:m,style:l.style,selected:!!l.selected,className:r(l),color:t(l),borderRadius:i,strokeColor:n(l),strokeWidth:a,shapeRendering:o,onClick:c,id:l.id})}var Ha=(0,g.memo)(Va),Ua=(0,g.memo)(Ba),Wa=200,Ga=150,Ka=e=>!e.hidden,qa=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?ie(I(e.nodeLookup,{filter:Ka}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},Ja=`react-flow__minimap-desc`;function Ya({style:e,className:t,nodeStrokeColor:n,nodeColor:r,nodeClassName:i=``,nodeBorderRadius:a=5,nodeStrokeWidth:o,nodeComponent:s,bgColor:c,maskColor:l,maskStrokeColor:d,maskStrokeWidth:p,position:m=`bottom-right`,onClick:h,onNodeClick:v,pannable:y=!1,zoomable:b=!1,ariaLabel:x,inversePan:S,zoomStep:C=1,offsetScale:w=5}){let T=$(),E=(0,g.useRef)(null),{boundingRect:D,viewBB:O,rfId:k,panZoom:A,translateExtent:j,flowWidth:M,flowHeight:N,ariaLabelConfig:P}=Q(qa,u),F=e?.width??Wa,I=e?.height??Ga,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,ee=`${Ja}-${k}`,q=(0,g.useRef)(0),J=(0,g.useRef)();q.current=z,(0,g.useEffect)(()=>{if(E.current&&A)return J.current=Pt({domNode:E.current,panZoom:A,getTransform:()=>T.getState().transform,getViewScale:()=>q.current}),()=>{J.current?.destroy()}},[A]),(0,g.useEffect)(()=>{J.current?.update({translateExtent:j,width:M,height:N,inversePan:S,pannable:y,zoomStep:C,zoomable:b})},[y,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=v?(0,g.useCallback)((e,t)=>{let n=T.getState().nodeLookup.get(t).internals.userNode;v(e,n)},[]):void 0,re=x??P[`minimap.ariaLabel`];return(0,_.jsx)(xn,{position:m,style:{...e,"--xy-minimap-background-color-props":typeof c==`string`?c:void 0,"--xy-minimap-mask-background-color-props":typeof l==`string`?l:void 0,"--xy-minimap-mask-stroke-color-props":typeof d==`string`?d:void 0,"--xy-minimap-mask-stroke-width-props":typeof p==`number`?p*z:void 0,"--xy-minimap-node-background-color-props":typeof r==`string`?r:void 0,"--xy-minimap-node-stroke-color-props":typeof n==`string`?n:void 0,"--xy-minimap-node-stroke-width-props":typeof o==`number`?o:void 0},className:f([`react-flow__minimap`,t]),"data-testid":`rf__minimap`,children:(0,_.jsxs)(`svg`,{width:F,height:I,viewBox:`${U} ${W} ${G} ${K}`,className:`react-flow__minimap-svg`,role:`img`,"aria-labelledby":ee,ref:E,onClick:te,children:[re&&(0,_.jsx)(`title`,{id:ee,children:re}),(0,_.jsx)(Ua,{onClick:ne,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:a,nodeClassName:i,nodeStrokeWidth:o,nodeComponent:s}),(0,_.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`})]})})}Ya.displayName=`MiniMap`;var Xa=(0,g.memo)(Ya),Za=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,Qa={[Yt.Line]:`right`,[Yt.Handle]:`bottom-right`};function $a({nodeId:e,position:t,variant:n=Yt.Handle,className:r,style:i=void 0,children:a,color:o,minWidth:s=10,minHeight:c=10,maxWidth:l=Number.MAX_VALUE,maxHeight:d=Number.MAX_VALUE,keepAspectRatio:p=!1,resizeDirection:m,autoScale:h=!0,shouldResize:v,onResizeStart:y,onResize:b,onResizeEnd:x}){let S=Or(),C=typeof e==`string`?e:S,w=$(),T=(0,g.useRef)(null),E=n===Yt.Handle,D=Q((0,g.useCallback)(Za(E&&h),[E,h]),u),O=(0,g.useRef)(null),k=t??Qa[n];return(0,g.useEffect)(()=>{if(!(!T.current||!C))return O.current||=sn({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=pt([{id:c.id,parentId:c.parentId,rect:{width:n,height:l,...ye({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:s,minHeight:c,maxWidth:l,maxHeight:d},keepAspectRatio:p,resizeDirection:m,onResizeStart:y,onResize:b,onResizeEnd:x,shouldResize:v}),()=>{O.current?.destroy()}},[k,s,c,l,d,p,y,b,x,v]),(0,_.jsx)(`div`,{className:f([`react-flow__resize-control`,`nodrag`,...k.split(`-`),n,r]),ref:T,style:{...i,scale:D,...o&&{[E?`backgroundColor`:`borderColor`]:o}},children:a})}(0,g.memo)($a);export{Ir as a,da as c,ya as d,va as f,Ne as h,_a as i,Qn as l,O as m,Sa as n,Xa as o,lr as p,Fa as r,xn as s,Ea as t,ha as u};
@@ -0,0 +1 @@
1
+ .react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}
package/dist/index.css CHANGED
@@ -1,3 +1,250 @@
1
+ /* src/components/ChatView/thinking-bubble.css */
2
+ .thinking-bubble {
3
+ --thinking-color: hsl(var(--primary));
4
+ --thinking-glow: hsl(var(--primary) / 0.36);
5
+ }
6
+ .thinking-orb {
7
+ position: relative;
8
+ display: grid;
9
+ width: 2rem;
10
+ height: 2rem;
11
+ place-items: center;
12
+ color: var(--thinking-color);
13
+ border-radius: 9999px;
14
+ background:
15
+ radial-gradient(
16
+ circle at 35% 30%,
17
+ hsl(var(--primary) / 0.24),
18
+ transparent 42%),
19
+ hsl(var(--primary) / 0.08);
20
+ box-shadow:
21
+ 0 0 0 2px hsl(var(--background)),
22
+ 0 0 0 3px hsl(var(--primary) / 0.18),
23
+ 0 0 22px -6px var(--thinking-glow);
24
+ overflow: hidden;
25
+ }
26
+ .thinking-orb::before {
27
+ content: "";
28
+ position: absolute;
29
+ inset: -45%;
30
+ background:
31
+ conic-gradient(
32
+ from 90deg,
33
+ transparent 0 22%,
34
+ var(--thinking-glow) 34%,
35
+ transparent 48% 100%);
36
+ animation: thinkingOrbit 2.4s linear infinite;
37
+ }
38
+ .thinking-orb::after {
39
+ content: "";
40
+ position: absolute;
41
+ inset: 3px;
42
+ border-radius: inherit;
43
+ background: hsl(var(--background) / 0.82);
44
+ }
45
+ .thinking-orb__icon {
46
+ position: relative;
47
+ z-index: 2;
48
+ animation: thinkingBrain 1.8s ease-in-out infinite;
49
+ filter: drop-shadow(0 0 6px var(--thinking-glow));
50
+ }
51
+ .thinking-orb__ring {
52
+ position: absolute;
53
+ inset: -2px;
54
+ z-index: 1;
55
+ border-radius: inherit;
56
+ border: 1px solid hsl(var(--primary) / 0.32);
57
+ animation: thinkingRipple 2.2s ease-out infinite;
58
+ }
59
+ .thinking-orb__ring--delay {
60
+ animation-delay: 1.1s;
61
+ }
62
+ .thinking-orb__spark {
63
+ position: absolute;
64
+ z-index: 3;
65
+ width: 0.3rem;
66
+ height: 0.3rem;
67
+ border-radius: 9999px;
68
+ background: currentColor;
69
+ box-shadow: 0 0 10px 1px currentColor;
70
+ opacity: 0.78;
71
+ }
72
+ .thinking-orb__spark--one {
73
+ animation: thinkingSparkOne 2.8s ease-in-out infinite;
74
+ }
75
+ .thinking-orb__spark--two {
76
+ animation: thinkingSparkTwo 3.2s ease-in-out infinite;
77
+ }
78
+ .thinking-label {
79
+ display: inline-flex;
80
+ align-items: center;
81
+ gap: 0.35rem;
82
+ letter-spacing: 0.02em;
83
+ }
84
+ .thinking-dots {
85
+ display: inline-flex;
86
+ gap: 0.18rem;
87
+ align-items: center;
88
+ }
89
+ .thinking-dots span {
90
+ width: 0.22rem;
91
+ height: 0.22rem;
92
+ border-radius: 9999px;
93
+ background: currentColor;
94
+ animation: thinkingDot 1.15s ease-in-out infinite;
95
+ }
96
+ .thinking-dots span:nth-child(2) {
97
+ animation-delay: 0.16s;
98
+ }
99
+ .thinking-dots span:nth-child(3) {
100
+ animation-delay: 0.32s;
101
+ }
102
+ .thinking-panel {
103
+ position: relative;
104
+ overflow: hidden;
105
+ border-color: hsl(var(--primary) / 0.22);
106
+ background:
107
+ linear-gradient(
108
+ 115deg,
109
+ hsl(var(--primary) / 0.08),
110
+ transparent 38%,
111
+ hsl(var(--primary) / 0.05)),
112
+ hsl(var(--card) / 0.48);
113
+ box-shadow: inset 0 0 0 1px hsl(var(--primary) / 0.06);
114
+ }
115
+ .thinking-panel::before {
116
+ content: "";
117
+ position: absolute;
118
+ inset: 0;
119
+ transform: translateX(-120%);
120
+ background:
121
+ linear-gradient(
122
+ 90deg,
123
+ transparent,
124
+ hsl(var(--primary) / 0.16),
125
+ transparent);
126
+ animation: thinkingScan 2.6s ease-in-out infinite;
127
+ pointer-events: none;
128
+ }
129
+ .thinking-wave {
130
+ position: relative;
131
+ z-index: 1;
132
+ display: flex;
133
+ align-items: end;
134
+ gap: 0.18rem;
135
+ height: 0.6rem;
136
+ margin-bottom: 0.25rem;
137
+ color: var(--thinking-color);
138
+ }
139
+ .thinking-wave span {
140
+ width: 0.18rem;
141
+ min-height: 0.14rem;
142
+ border-radius: 9999px;
143
+ background: currentColor;
144
+ opacity: 0.65;
145
+ animation: thinkingWave 0.9s ease-in-out infinite;
146
+ }
147
+ .thinking-wave span:nth-child(2) {
148
+ animation-delay: 0.08s;
149
+ }
150
+ .thinking-wave span:nth-child(3) {
151
+ animation-delay: 0.16s;
152
+ }
153
+ .thinking-wave span:nth-child(4) {
154
+ animation-delay: 0.24s;
155
+ }
156
+ .thinking-wave span:nth-child(5) {
157
+ animation-delay: 0.32s;
158
+ }
159
+ .thinking-text {
160
+ position: relative;
161
+ z-index: 1;
162
+ }
163
+ @keyframes thinkingOrbit {
164
+ to {
165
+ transform: rotate(1turn);
166
+ }
167
+ }
168
+ @keyframes thinkingBrain {
169
+ 0%, 100% {
170
+ transform: scale(1);
171
+ opacity: 0.86;
172
+ }
173
+ 45% {
174
+ transform: scale(1.12);
175
+ opacity: 1;
176
+ }
177
+ }
178
+ @keyframes thinkingRipple {
179
+ 0% {
180
+ transform: scale(0.82);
181
+ opacity: 0.65;
182
+ }
183
+ 70%, 100% {
184
+ transform: scale(1.45);
185
+ opacity: 0;
186
+ }
187
+ }
188
+ @keyframes thinkingSparkOne {
189
+ 0%, 100% {
190
+ transform: translate(-0.65rem, -0.55rem) scale(0.75);
191
+ opacity: 0.35;
192
+ }
193
+ 45% {
194
+ transform: translate(0.72rem, -0.2rem) scale(1);
195
+ opacity: 0.95;
196
+ }
197
+ }
198
+ @keyframes thinkingSparkTwo {
199
+ 0%, 100% {
200
+ transform: translate(0.55rem, 0.58rem) scale(0.7);
201
+ opacity: 0.28;
202
+ }
203
+ 55% {
204
+ transform: translate(-0.72rem, 0.12rem) scale(1.05);
205
+ opacity: 0.9;
206
+ }
207
+ }
208
+ @keyframes thinkingDot {
209
+ 0%, 80%, 100% {
210
+ transform: translateY(0);
211
+ opacity: 0.35;
212
+ }
213
+ 40% {
214
+ transform: translateY(-0.18rem);
215
+ opacity: 1;
216
+ }
217
+ }
218
+ @keyframes thinkingScan {
219
+ 0% {
220
+ transform: translateX(-120%);
221
+ }
222
+ 48%, 100% {
223
+ transform: translateX(120%);
224
+ }
225
+ }
226
+ @keyframes thinkingWave {
227
+ 0%, 100% {
228
+ height: 0.14rem;
229
+ opacity: 0.38;
230
+ }
231
+ 45% {
232
+ height: 0.58rem;
233
+ opacity: 0.92;
234
+ }
235
+ }
236
+ @media (prefers-reduced-motion: reduce) {
237
+ .thinking-orb::before,
238
+ .thinking-orb__icon,
239
+ .thinking-orb__ring,
240
+ .thinking-orb__spark,
241
+ .thinking-dots span,
242
+ .thinking-panel::before,
243
+ .thinking-wave span {
244
+ animation: none;
245
+ }
246
+ }
247
+
1
248
  /* src/syntax-highlight.css */
2
249
  .hljs {
3
250
  color: hsl(var(--foreground));
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/syntax-highlight.css"],"sourcesContent":["/* ===========================================================================\n Syntax Highlighting Theme — WrongStack\n Uses CSS custom properties to adapt to light/dark mode automatically.\n Color palette: warm graphite base, signal-amber accents.\n =========================================================================== */\n\n.hljs {\n color: hsl(var(--foreground));\n background: transparent;\n}\n\n/* ── Comments ── */\n.hljs-comment,\n.hljs-quote {\n color: hsl(var(--muted-foreground) / 0.6);\n font-style: italic;\n}\n\n/* ── Keywords (reddish-warm) ── */\n.hljs-keyword,\n.hljs-selector-tag,\n.hljs-type,\n.hljs-literal {\n color: #d65a9a;\n}\n.dark .hljs-keyword,\n.dark .hljs-selector-tag,\n.dark .hljs-type,\n.dark .hljs-literal {\n color: #f28dbc;\n}\n\n/* ── Strings (green) ── */\n.hljs-string,\n.hljs-attr,\n.hljs-template-tag,\n.hljs-template-variable {\n color: #3b8c5a;\n}\n.dark .hljs-string,\n.dark .hljs-attr {\n color: #64d488;\n}\n\n/* ── Numbers (amber) ── */\n.hljs-number,\n.hljs-symbol,\n.hljs-bullet {\n color: hsl(var(--primary));\n}\n\n/* ── Functions (blue-teal) ── */\n.hljs-function .hljs-keyword,\n.hljs-title.function_,\n.hljs-title.class_,\n.hljs-title.class_.inherited__ {\n color: #3178c6;\n}\n.dark .hljs-function .hljs-keyword,\n.dark .hljs-title.function_,\n.dark .hljs-title.class_,\n.dark .hljs-title.class_.inherited__ {\n color: #6cb6ff;\n}\n\n/* ── Variables and parameters (foreground) ── */\n.hljs-variable,\n.hljs-params {\n color: hsl(var(--foreground));\n}\n\n/* ── Tags (JSX/HTML) — warm rose ── */\n.hljs-tag,\n.hljs-name {\n color: #c93a5e;\n}\n.dark .hljs-tag,\n.dark .hljs-name {\n color: #f47a95;\n}\n\n/* ── Attributes / properties ── */\n.hljs-attribute,\n.hljs-property {\n color: #d4893a;\n}\n.dark .hljs-attribute,\n.dark .hljs-property {\n color: #ffb055;\n}\n\n/* ── Regex (teal) ── */\n.hljs-regexp {\n color: #17998e;\n}\n.dark .hljs-regexp {\n color: #49d3c5;\n}\n\n/* ── Punctuation / operators — muted ── */\n.hljs-punctuation,\n.hljs-operator {\n color: hsl(var(--muted-foreground) / 0.8);\n}\n\n/* ── Meta / doctype — muted ── */\n.hljs-meta,\n.hljs-doctag,\n.hljs-section {\n color: hsl(var(--muted-foreground));\n}\n\n/* ── Additions / deletions (diff) ── */\n.hljs-addition {\n color: #3b8c5a;\n background: hsl(150 58% 36% / 0.1);\n}\n.hljs-deletion {\n color: #d63c3c;\n background: hsl(0 72% 48% / 0.1);\n}\n\n/* ── Emphasis ── */\n.hljs-emphasis {\n font-style: italic;\n}\n.hljs-strong {\n font-weight: 600;\n}\n\n/* ── Links ── */\n.hljs-link {\n text-decoration: underline;\n color: hsl(var(--primary));\n}\n"],"mappings":";AAMA,CAAC;AACC,SAAO,IAAI,IAAI;AACf,cAAY;AACd;AAGA,CAAC;AACD,CAAC;AACC,SAAO,IAAI,IAAI,oBAAoB,EAAE;AACrC,cAAY;AACd;AAGA,CAAC;AACD,CAAC;AACD,CAAC;AACD,CAAC;AACC,SAAO;AACT;AACA,CAAC,KAAK,CANL;AAOD,CADC,KACK,CANL;AAOD,CAFC,KAEK,CANL;AAOD,CAHC,KAGK,CANL;AAOC,SAAO;AACT;AAGA,CAAC;AACD,CAAC;AACD,CAAC;AACD,CAAC;AACC,SAAO;AACT;AACA,CAdC,KAcK,CANL;AAOD,CAfC,KAeK,CANL;AAOC,SAAO;AACT;AAGA,CAAC;AACD,CAAC;AACD,CAAC;AACC,SAAO,IAAI,IAAI;AACjB;AAGA,CAAC,cAAc,CAjCd;AAkCD,CAAC,UAAU,CAAC;AACZ,CADC,UACU,CAAC;AACZ,CAFC,UAEU,CADC,MACM,CAAC;AACjB,SAAO;AACT;AACA,CAjCC,KAiCK,CANL,cAMoB,CAvCpB;AAwCD,CAlCC,KAkCK,CANL,UAMgB,CANL;AAOZ,CAnCC,KAmCK,CAPL,UAOgB,CANL;AAOZ,CApCC,KAoCK,CARL,UAQgB,CAPL,MAOY,CANL;AAOjB,SAAO;AACT;AAGA,CAAC;AACD,CAAC;AACC,SAAO,IAAI,IAAI;AACjB;AAGA,CAAC;AACD,CAAC;AACC,SAAO;AACT;AACA,CAnDC,KAmDK,CAJL;AAKD,CApDC,KAoDK,CAJL;AAKC,SAAO;AACT;AAGA,CAAC;AACD,CAAC;AACC,SAAO;AACT;AACA,CA7DC,KA6DK,CAJL;AAKD,CA9DC,KA8DK,CAJL;AAKC,SAAO;AACT;AAGA,CAAC;AACC,SAAO;AACT;AACA,CAtEC,KAsEK,CAHL;AAIC,SAAO;AACT;AAGA,CAAC;AACD,CAAC;AACC,SAAO,IAAI,IAAI,oBAAoB,EAAE;AACvC;AAGA,CAAC;AACD,CAAC;AACD,CAAC;AACC,SAAO,IAAI,IAAI;AACjB;AAGA,CAAC;AACC,SAAO;AACP,cAAY,IAAI,IAAI,IAAI,IAAI,EAAE;AAChC;AACA,CAAC;AACC,SAAO;AACP,cAAY,IAAI,EAAE,IAAI,IAAI,EAAE;AAC9B;AAGA,CAAC;AACC,cAAY;AACd;AACA,CAAC;AACC,eAAa;AACf;AAGA,CAAC;AACC,mBAAiB;AACjB,SAAO,IAAI,IAAI;AACjB;","names":[]}
1
+ {"version":3,"sources":["../src/components/ChatView/thinking-bubble.css","../src/syntax-highlight.css"],"sourcesContent":["/* Layered reasoning animation for the live thinking bubble. */\n.thinking-bubble {\n --thinking-color: hsl(var(--primary));\n --thinking-glow: hsl(var(--primary) / 0.36);\n}\n\n.thinking-orb {\n position: relative;\n display: grid;\n width: 2rem;\n height: 2rem;\n place-items: center;\n color: var(--thinking-color);\n border-radius: 9999px;\n background:\n radial-gradient(circle at 35% 30%, hsl(var(--primary) / 0.24), transparent 42%),\n hsl(var(--primary) / 0.08);\n box-shadow:\n 0 0 0 2px hsl(var(--background)),\n 0 0 0 3px hsl(var(--primary) / 0.18),\n 0 0 22px -6px var(--thinking-glow);\n overflow: hidden;\n}\n\n.thinking-orb::before {\n content: \"\";\n position: absolute;\n inset: -45%;\n background: conic-gradient(\n from 90deg,\n transparent 0 22%,\n var(--thinking-glow) 34%,\n transparent 48% 100%\n );\n animation: thinkingOrbit 2.4s linear infinite;\n}\n\n.thinking-orb::after {\n content: \"\";\n position: absolute;\n inset: 3px;\n border-radius: inherit;\n background: hsl(var(--background) / 0.82);\n}\n\n.thinking-orb__icon {\n position: relative;\n z-index: 2;\n animation: thinkingBrain 1.8s ease-in-out infinite;\n filter: drop-shadow(0 0 6px var(--thinking-glow));\n}\n\n.thinking-orb__ring {\n position: absolute;\n inset: -2px;\n z-index: 1;\n border-radius: inherit;\n border: 1px solid hsl(var(--primary) / 0.32);\n animation: thinkingRipple 2.2s ease-out infinite;\n}\n\n.thinking-orb__ring--delay {\n animation-delay: 1.1s;\n}\n\n.thinking-orb__spark {\n position: absolute;\n z-index: 3;\n width: 0.3rem;\n height: 0.3rem;\n border-radius: 9999px;\n background: currentColor;\n box-shadow: 0 0 10px 1px currentColor;\n opacity: 0.78;\n}\n\n.thinking-orb__spark--one {\n animation: thinkingSparkOne 2.8s ease-in-out infinite;\n}\n\n.thinking-orb__spark--two {\n animation: thinkingSparkTwo 3.2s ease-in-out infinite;\n}\n\n.thinking-label {\n display: inline-flex;\n align-items: center;\n gap: 0.35rem;\n letter-spacing: 0.02em;\n}\n\n.thinking-dots {\n display: inline-flex;\n gap: 0.18rem;\n align-items: center;\n}\n\n.thinking-dots span {\n width: 0.22rem;\n height: 0.22rem;\n border-radius: 9999px;\n background: currentColor;\n animation: thinkingDot 1.15s ease-in-out infinite;\n}\n\n.thinking-dots span:nth-child(2) {\n animation-delay: 0.16s;\n}\n\n.thinking-dots span:nth-child(3) {\n animation-delay: 0.32s;\n}\n\n.thinking-panel {\n position: relative;\n overflow: hidden;\n border-color: hsl(var(--primary) / 0.22);\n background:\n linear-gradient(115deg, hsl(var(--primary) / 0.08), transparent 38%, hsl(var(--primary) / 0.05)),\n hsl(var(--card) / 0.48);\n box-shadow: inset 0 0 0 1px hsl(var(--primary) / 0.06);\n}\n\n.thinking-panel::before {\n content: \"\";\n position: absolute;\n inset: 0;\n transform: translateX(-120%);\n background: linear-gradient(90deg, transparent, hsl(var(--primary) / 0.16), transparent);\n animation: thinkingScan 2.6s ease-in-out infinite;\n pointer-events: none;\n}\n\n.thinking-wave {\n position: relative;\n z-index: 1;\n display: flex;\n align-items: end;\n gap: 0.18rem;\n height: 0.6rem;\n margin-bottom: 0.25rem;\n color: var(--thinking-color);\n}\n\n.thinking-wave span {\n width: 0.18rem;\n min-height: 0.14rem;\n border-radius: 9999px;\n background: currentColor;\n opacity: 0.65;\n animation: thinkingWave 0.9s ease-in-out infinite;\n}\n\n.thinking-wave span:nth-child(2) {\n animation-delay: 0.08s;\n}\n\n.thinking-wave span:nth-child(3) {\n animation-delay: 0.16s;\n}\n\n.thinking-wave span:nth-child(4) {\n animation-delay: 0.24s;\n}\n\n.thinking-wave span:nth-child(5) {\n animation-delay: 0.32s;\n}\n\n.thinking-text {\n position: relative;\n z-index: 1;\n}\n\n@keyframes thinkingOrbit {\n to {\n transform: rotate(1turn);\n }\n}\n\n@keyframes thinkingBrain {\n 0%,\n 100% {\n transform: scale(1);\n opacity: 0.86;\n }\n\n 45% {\n transform: scale(1.12);\n opacity: 1;\n }\n}\n\n@keyframes thinkingRipple {\n 0% {\n transform: scale(0.82);\n opacity: 0.65;\n }\n\n 70%,\n 100% {\n transform: scale(1.45);\n opacity: 0;\n }\n}\n\n@keyframes thinkingSparkOne {\n 0%,\n 100% {\n transform: translate(-0.65rem, -0.55rem) scale(0.75);\n opacity: 0.35;\n }\n\n 45% {\n transform: translate(0.72rem, -0.2rem) scale(1);\n opacity: 0.95;\n }\n}\n\n@keyframes thinkingSparkTwo {\n 0%,\n 100% {\n transform: translate(0.55rem, 0.58rem) scale(0.7);\n opacity: 0.28;\n }\n\n 55% {\n transform: translate(-0.72rem, 0.12rem) scale(1.05);\n opacity: 0.9;\n }\n}\n\n@keyframes thinkingDot {\n 0%,\n 80%,\n 100% {\n transform: translateY(0);\n opacity: 0.35;\n }\n\n 40% {\n transform: translateY(-0.18rem);\n opacity: 1;\n }\n}\n\n@keyframes thinkingScan {\n 0% {\n transform: translateX(-120%);\n }\n\n 48%,\n 100% {\n transform: translateX(120%);\n }\n}\n\n@keyframes thinkingWave {\n 0%,\n 100% {\n height: 0.14rem;\n opacity: 0.38;\n }\n\n 45% {\n height: 0.58rem;\n opacity: 0.92;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .thinking-orb::before,\n .thinking-orb__icon,\n .thinking-orb__ring,\n .thinking-orb__spark,\n .thinking-dots span,\n .thinking-panel::before,\n .thinking-wave span {\n animation: none;\n }\n}\n","/* ===========================================================================\n Syntax Highlighting Theme — WrongStack\n Uses CSS custom properties to adapt to light/dark mode automatically.\n Color palette: warm graphite base, signal-amber accents.\n =========================================================================== */\n\n.hljs {\n color: hsl(var(--foreground));\n background: transparent;\n}\n\n/* ── Comments ── */\n.hljs-comment,\n.hljs-quote {\n color: hsl(var(--muted-foreground) / 0.6);\n font-style: italic;\n}\n\n/* ── Keywords (reddish-warm) ── */\n.hljs-keyword,\n.hljs-selector-tag,\n.hljs-type,\n.hljs-literal {\n color: #d65a9a;\n}\n.dark .hljs-keyword,\n.dark .hljs-selector-tag,\n.dark .hljs-type,\n.dark .hljs-literal {\n color: #f28dbc;\n}\n\n/* ── Strings (green) ── */\n.hljs-string,\n.hljs-attr,\n.hljs-template-tag,\n.hljs-template-variable {\n color: #3b8c5a;\n}\n.dark .hljs-string,\n.dark .hljs-attr {\n color: #64d488;\n}\n\n/* ── Numbers (amber) ── */\n.hljs-number,\n.hljs-symbol,\n.hljs-bullet {\n color: hsl(var(--primary));\n}\n\n/* ── Functions (blue-teal) ── */\n.hljs-function .hljs-keyword,\n.hljs-title.function_,\n.hljs-title.class_,\n.hljs-title.class_.inherited__ {\n color: #3178c6;\n}\n.dark .hljs-function .hljs-keyword,\n.dark .hljs-title.function_,\n.dark .hljs-title.class_,\n.dark .hljs-title.class_.inherited__ {\n color: #6cb6ff;\n}\n\n/* ── Variables and parameters (foreground) ── */\n.hljs-variable,\n.hljs-params {\n color: hsl(var(--foreground));\n}\n\n/* ── Tags (JSX/HTML) — warm rose ── */\n.hljs-tag,\n.hljs-name {\n color: #c93a5e;\n}\n.dark .hljs-tag,\n.dark .hljs-name {\n color: #f47a95;\n}\n\n/* ── Attributes / properties ── */\n.hljs-attribute,\n.hljs-property {\n color: #d4893a;\n}\n.dark .hljs-attribute,\n.dark .hljs-property {\n color: #ffb055;\n}\n\n/* ── Regex (teal) ── */\n.hljs-regexp {\n color: #17998e;\n}\n.dark .hljs-regexp {\n color: #49d3c5;\n}\n\n/* ── Punctuation / operators — muted ── */\n.hljs-punctuation,\n.hljs-operator {\n color: hsl(var(--muted-foreground) / 0.8);\n}\n\n/* ── Meta / doctype — muted ── */\n.hljs-meta,\n.hljs-doctag,\n.hljs-section {\n color: hsl(var(--muted-foreground));\n}\n\n/* ── Additions / deletions (diff) ── */\n.hljs-addition {\n color: #3b8c5a;\n background: hsl(150 58% 36% / 0.1);\n}\n.hljs-deletion {\n color: #d63c3c;\n background: hsl(0 72% 48% / 0.1);\n}\n\n/* ── Emphasis ── */\n.hljs-emphasis {\n font-style: italic;\n}\n.hljs-strong {\n font-weight: 600;\n}\n\n/* ── Links ── */\n.hljs-link {\n text-decoration: underline;\n color: hsl(var(--primary));\n}\n"],"mappings":";AACA,CAAC;AACC,oBAAkB,IAAI,IAAI;AAC1B,mBAAiB,IAAI,IAAI,WAAW,EAAE;AACxC;AAEA,CAAC;AACC,YAAU;AACV,WAAS;AACT,SAAO;AACP,UAAQ;AACR,eAAa;AACb,SAAO,IAAI;AACX,iBAAe;AACf;AAAA,IACE;AAAA,MAAgB,OAAO,GAAG,IAAI,GAAG;AAAA,MAAE,IAAI,IAAI,WAAW,EAAE,KAAK;AAAA,MAAE,YAAY,IAAI;AAAA,IAC/E,IAAI,IAAI,WAAW,EAAE;AACvB;AAAA,IACE,EAAE,EAAE,EAAE,IAAI,IAAI,IAAI,cAAc;AAAA,IAChC,EAAE,EAAE,EAAE,IAAI,IAAI,IAAI,WAAW,EAAE,KAAK;AAAA,IACpC,EAAE,EAAE,KAAK,KAAK,IAAI;AACpB,YAAU;AACZ;AAEA,CAlBC,YAkBY;AACX,WAAS;AACT,YAAU;AACV,SAAO;AACP;AAAA,IAAY;AAAA,MACV,KAAK,KAAK;AAAA,MACV,YAAY,EAAE,GAAG;AAAA,MACjB,IAAI,iBAAiB,GAAG;AAAA,MACxB,YAAY,IAAI;AAElB,aAAW,cAAc,KAAK,OAAO;AACvC;AAEA,CA/BC,YA+BY;AACX,WAAS;AACT,YAAU;AACV,SAAO;AACP,iBAAe;AACf,cAAY,IAAI,IAAI,cAAc,EAAE;AACtC;AAEA,CAAC;AACC,YAAU;AACV,WAAS;AACT,aAAW,cAAc,KAAK,YAAY;AAC1C,UAAQ,YAAY,EAAE,EAAE,IAAI,IAAI;AAClC;AAEA,CAAC;AACC,YAAU;AACV,SAAO;AACP,WAAS;AACT,iBAAe;AACf,UAAQ,IAAI,MAAM,IAAI,IAAI,WAAW,EAAE;AACvC,aAAW,eAAe,KAAK,SAAS;AAC1C;AAEA,CAAC;AACC,mBAAiB;AACnB;AAEA,CAAC;AACC,YAAU;AACV,WAAS;AACT,SAAO;AACP,UAAQ;AACR,iBAAe;AACf,cAAY;AACZ,cAAY,EAAE,EAAE,KAAK,IAAI;AACzB,WAAS;AACX;AAEA,CAAC;AACC,aAAW,iBAAiB,KAAK,YAAY;AAC/C;AAEA,CAAC;AACC,aAAW,iBAAiB,KAAK,YAAY;AAC/C;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,kBAAgB;AAClB;AAEA,CAAC;AACC,WAAS;AACT,OAAK;AACL,eAAa;AACf;AAEA,CANC,cAMc;AACb,SAAO;AACP,UAAQ;AACR,iBAAe;AACf,cAAY;AACZ,aAAW,YAAY,MAAM,YAAY;AAC3C;AAEA,CAdC,cAcc,IAAI;AACjB,mBAAiB;AACnB;AAEA,CAlBC,cAkBc,IAAI;AACjB,mBAAiB;AACnB;AAEA,CAAC;AACC,YAAU;AACV,YAAU;AACV,gBAAc,IAAI,IAAI,WAAW,EAAE;AACnC;AAAA,IACE;AAAA,MAAgB,MAAM;AAAA,MAAE,IAAI,IAAI,WAAW,EAAE,KAAK;AAAA,MAAE,YAAY,GAAG;AAAA,MAAE,IAAI,IAAI,WAAW,EAAE,MAAM;AAAA,IAChG,IAAI,IAAI,QAAQ,EAAE;AACpB,cAAY,MAAM,EAAE,EAAE,EAAE,IAAI,IAAI,IAAI,WAAW,EAAE;AACnD;AAEA,CAVC,cAUc;AACb,WAAS;AACT,YAAU;AACV,SAAO;AACP,aAAW,WAAW;AACtB;AAAA,IAAY;AAAA,MAAgB,KAAK;AAAA,MAAE,WAAW;AAAA,MAAE,IAAI,IAAI,WAAW,EAAE,KAAK;AAAA,MAAE;AAC5E,aAAW,aAAa,KAAK,YAAY;AACzC,kBAAgB;AAClB;AAEA,CAAC;AACC,YAAU;AACV,WAAS;AACT,WAAS;AACT,eAAa;AACb,OAAK;AACL,UAAQ;AACR,iBAAe;AACf,SAAO,IAAI;AACb;AAEA,CAXC,cAWc;AACb,SAAO;AACP,cAAY;AACZ,iBAAe;AACf,cAAY;AACZ,WAAS;AACT,aAAW,aAAa,KAAK,YAAY;AAC3C;AAEA,CApBC,cAoBc,IAAI;AACjB,mBAAiB;AACnB;AAEA,CAxBC,cAwBc,IAAI;AACjB,mBAAiB;AACnB;AAEA,CA5BC,cA4Bc,IAAI;AACjB,mBAAiB;AACnB;AAEA,CAhCC,cAgCc,IAAI;AACjB,mBAAiB;AACnB;AAEA,CAAC;AACC,YAAU;AACV,WAAS;AACX;AAEA,WA5Ia;AA6IX;AACE,eAAW,OAAO;AACpB;AACF;AAEA,WApIa;AAqIX;AAEE,eAAW,MAAM;AACjB,aAAS;AACX;AAEA;AACE,eAAW,MAAM;AACjB,aAAS;AACX;AACF;AAEA,WAvIa;AAwIX;AACE,eAAW,MAAM;AACjB,aAAS;AACX;AAEA;AAEE,eAAW,MAAM;AACjB,aAAS;AACX;AACF;AAEA,WAjIa;AAkIX;AAEE,eAAW,UAAU,QAAQ,EAAE,UAAU,MAAM;AAC/C,aAAS;AACX;AAEA;AACE,eAAW,UAAU,OAAO,EAAE,SAAS,MAAM;AAC7C,aAAS;AACX;AACF;AAEA,WA1Ia;AA2IX;AAEE,eAAW,UAAU,OAAO,EAAE,SAAS,MAAM;AAC7C,aAAS;AACX;AAEA;AACE,eAAW,UAAU,QAAQ,EAAE,SAAS,MAAM;AAC9C,aAAS;AACX;AACF;AAEA,WAlIa;AAmIX;AAGE,eAAW,WAAW;AACtB,aAAS;AACX;AAEA;AACE,eAAW,WAAW;AACtB,aAAS;AACX;AACF;AAEA,WArHa;AAsHX;AACE,eAAW,WAAW;AACxB;AAEA;AAEE,eAAW,WAAW;AACxB;AACF;AAEA,WA3Ga;AA4GX;AAEE,YAAQ;AACR,aAAS;AACX;AAEA;AACE,YAAQ;AACR,aAAS;AACX;AACF;AAEA,QAAO,wBAAyB;AAC9B,GAzQD,YAyQc;AAAA,EACb,CAnOD;AAAA,EAoOC,CA7ND;AAAA,EA8NC,CAjND;AAAA,EAkNC,CAxLD,cAwLgB;AAAA,EACf,CAnKD,cAmKgB;AAAA,EACf,CAhJD,cAgJgB;AACb,eAAW;AACb;AACF;;;AClRA,CAAC;AACC,SAAO,IAAI,IAAI;AACf,cAAY;AACd;AAGA,CAAC;AACD,CAAC;AACC,SAAO,IAAI,IAAI,oBAAoB,EAAE;AACrC,cAAY;AACd;AAGA,CAAC;AACD,CAAC;AACD,CAAC;AACD,CAAC;AACC,SAAO;AACT;AACA,CAAC,KAAK,CANL;AAOD,CADC,KACK,CANL;AAOD,CAFC,KAEK,CANL;AAOD,CAHC,KAGK,CANL;AAOC,SAAO;AACT;AAGA,CAAC;AACD,CAAC;AACD,CAAC;AACD,CAAC;AACC,SAAO;AACT;AACA,CAdC,KAcK,CANL;AAOD,CAfC,KAeK,CANL;AAOC,SAAO;AACT;AAGA,CAAC;AACD,CAAC;AACD,CAAC;AACC,SAAO,IAAI,IAAI;AACjB;AAGA,CAAC,cAAc,CAjCd;AAkCD,CAAC,UAAU,CAAC;AACZ,CADC,UACU,CAAC;AACZ,CAFC,UAEU,CADC,MACM,CAAC;AACjB,SAAO;AACT;AACA,CAjCC,KAiCK,CANL,cAMoB,CAvCpB;AAwCD,CAlCC,KAkCK,CANL,UAMgB,CANL;AAOZ,CAnCC,KAmCK,CAPL,UAOgB,CANL;AAOZ,CApCC,KAoCK,CARL,UAQgB,CAPL,MAOY,CANL;AAOjB,SAAO;AACT;AAGA,CAAC;AACD,CAAC;AACC,SAAO,IAAI,IAAI;AACjB;AAGA,CAAC;AACD,CAAC;AACC,SAAO;AACT;AACA,CAnDC,KAmDK,CAJL;AAKD,CApDC,KAoDK,CAJL;AAKC,SAAO;AACT;AAGA,CAAC;AACD,CAAC;AACC,SAAO;AACT;AACA,CA7DC,KA6DK,CAJL;AAKD,CA9DC,KA8DK,CAJL;AAKC,SAAO;AACT;AAGA,CAAC;AACC,SAAO;AACT;AACA,CAtEC,KAsEK,CAHL;AAIC,SAAO;AACT;AAGA,CAAC;AACD,CAAC;AACC,SAAO,IAAI,IAAI,oBAAoB,EAAE;AACvC;AAGA,CAAC;AACD,CAAC;AACD,CAAC;AACC,SAAO,IAAI,IAAI;AACjB;AAGA,CAAC;AACC,SAAO;AACP,cAAY,IAAI,IAAI,IAAI,IAAI,EAAE;AAChC;AACA,CAAC;AACC,SAAO;AACP,cAAY,IAAI,EAAE,IAAI,IAAI,EAAE;AAC9B;AAGA,CAAC;AACC,cAAY;AACd;AACA,CAAC;AACC,eAAa;AACf;AAGA,CAAC;AACC,mBAAiB;AACjB,SAAO,IAAI,IAAI;AACjB;","names":[]}