@notmrabhi/flowforge 0.1.4 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/GatewayBranchEdge-C-gffuVA.js +1 -0
- package/dist/GatewayBranchEdge-DHqcdxpD.js +1176 -0
- package/dist/SchemaBuilderDrawer-BAOGl8dt.js +3682 -0
- package/dist/SchemaBuilderDrawer-CP-Lqo0S.js +4 -0
- package/dist/canvas.cjs +1 -1
- package/dist/canvas.js +2 -2
- package/dist/defaultUi.cjs +1 -1
- package/dist/defaultUi.js +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +39 -38
- package/dist/{index-CpKKFxCT.js → index-9Ahm5dnn.js} +1 -1
- package/dist/{index-C9lDjGKB.js → index-CiAhn6cP.js} +1 -1
- package/dist/index-D6g2IXSf.js +7611 -0
- package/dist/index-ucLEoH8L.js +6 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +85 -84
- package/dist/templateSkeletons-BLzZ5u00.js +1 -0
- package/dist/templateSkeletons-Ce90PFaV.js +2799 -0
- package/package.json +1 -1
- package/dist/GatewayBranchEdge-C-AVfqfT.js +0 -1
- package/dist/GatewayBranchEdge-gncIBR-0.js +0 -854
- package/dist/SchemaBuilderDrawer-DFyGUCZM.js +0 -3235
- package/dist/SchemaBuilderDrawer-zci9aEUc.js +0 -4
- package/dist/index-CChSmn-Q.js +0 -6
- package/dist/index-CIbEqy9U.js +0 -7319
- package/dist/templateSkeletons-B3DkIUbY.js +0 -1
- package/dist/templateSkeletons-D60ixh5T.js +0 -2617
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const d=require("react"),ae=require("reactflow");require("reactflow/dist/style.css");const ee=require("./GatewayBranchEdge-C-AVfqfT.js"),D=require("@mui/material"),I=require("react-icons/md"),gn=require("react-icons/gr"),ht=require("react-icons/bi"),pn=require("./index-CChSmn-Q.js"),mn=require("./messages-O9Tw_XXR.js"),G=require("./canvasTokens-gKNYrPl4.js");var Mt=Object.defineProperty,bn=(e,t,n)=>t in e?Mt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,En=(e,t)=>{for(var n in t)Mt(e,n,{get:t[n],enumerable:!0})},yn=(e,t,n)=>bn(e,t+"",n),jt={};En(jt,{Graph:()=>B,alg:()=>Ue,json:()=>Ft,version:()=>kn});var wn=Object.defineProperty,Rt=(e,t)=>{for(var n in t)wn(e,n,{get:t[n],enumerable:!0})},B=class{constructor(e){this._isDirected=!0,this._isMultigraph=!1,this._isCompound=!1,this._nodes={},this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={},this._nodeCount=0,this._edgeCount=0,this._defaultNodeLabelFn=()=>{},this._defaultEdgeLabelFn=()=>{},e&&(this._isDirected="directed"in e?e.directed:!0,this._isMultigraph="multigraph"in e?e.multigraph:!1,this._isCompound="compound"in e?e.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children["\0"]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return typeof e!="function"?this._defaultNodeLabelFn=()=>e:this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){return this.nodes().filter(e=>Object.keys(this._in[e]).length===0)}sinks(){return this.nodes().filter(e=>Object.keys(this._out[e]).length===0)}setNodes(e,t){return e.forEach(n=>{t!==void 0?this.setNode(n,t):this.setNode(n)}),this}setNode(e,t){return e in this._nodes?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]="\0",this._children[e]={},this._children["\0"][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return e in this._nodes}removeNode(e){if(e in this._nodes){let t=n=>this.removeEdge(this._edgeObjs[n]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],this.children(e).forEach(n=>{this.setParent(n)}),delete this._children[e]),Object.keys(this._in[e]).forEach(t),delete this._in[e],delete this._preds[e],Object.keys(this._out[e]).forEach(t),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(t===void 0)t="\0";else{t+="";for(let n=t;n!==void 0;n=this.parent(n))if(n===e)throw new Error("Setting "+t+" as parent of "+e+" would create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this}parent(e){if(this._isCompound){let t=this._parent[e];if(t!=="\0")return t}}children(e="\0"){if(this._isCompound){let t=this._children[e];if(t)return Object.keys(t)}else{if(e==="\0")return this.nodes();if(this.hasNode(e))return[]}return[]}predecessors(e){let t=this._preds[e];if(t)return Object.keys(t)}successors(e){let t=this._sucs[e];if(t)return Object.keys(t)}neighbors(e){let t=this.predecessors(e);if(t){let n=new Set(t);for(let r of this.successors(e))n.add(r);return Array.from(n.values())}}isLeaf(e){let t;return this.isDirected()?t=this.successors(e):t=this.neighbors(e),t.length===0}filterNodes(e){let t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph()),Object.entries(this._nodes).forEach(([o,i])=>{e(o)&&t.setNode(o,i)}),Object.values(this._edgeObjs).forEach(o=>{t.hasNode(o.v)&&t.hasNode(o.w)&&t.setEdge(o,this.edge(o))});let n={},r=o=>{let i=this.parent(o);return!i||t.hasNode(i)?(n[o]=i??void 0,i??void 0):i in n?n[i]:r(i)};return this._isCompound&&t.nodes().forEach(o=>t.setParent(o,r(o))),t}setDefaultEdgeLabel(e){return typeof e!="function"?this._defaultEdgeLabelFn=()=>e:this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(e,t){return e.reduce((n,r)=>(t!==void 0?this.setEdge(n,r,t):this.setEdge(n,r),r)),this}setEdge(e,t,n,r){let o,i,s,a,c=!1;typeof e=="object"&&e!==null&&"v"in e?(o=e.v,i=e.w,s=e.name,arguments.length===2&&(a=t,c=!0)):(o=e,i=t,s=r,arguments.length>2&&(a=n,c=!0)),o=""+o,i=""+i,s!==void 0&&(s=""+s);let l=ue(this._isDirected,o,i,s);if(l in this._edgeLabels)return c&&(this._edgeLabels[l]=a),this;if(s!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(o),this.setNode(i),this._edgeLabels[l]=c?a:this._defaultEdgeLabelFn(o,i,s);let u=vn(this._isDirected,o,i,s);return o=u.v,i=u.w,Object.freeze(u),this._edgeObjs[l]=u,gt(this._preds[i],o),gt(this._sucs[o],i),this._in[i][l]=u,this._out[o][l]=u,this._edgeCount++,this}edge(e,t,n){let r=arguments.length===1?Ie(this._isDirected,e):ue(this._isDirected,e,t,n);return this._edgeLabels[r]}edgeAsObj(e,t,n){let r=arguments.length===1?this.edge(e):this.edge(e,t,n);return typeof r!="object"?{label:r}:r}hasEdge(e,t,n){return(arguments.length===1?Ie(this._isDirected,e):ue(this._isDirected,e,t,n))in this._edgeLabels}removeEdge(e,t,n){let r=arguments.length===1?Ie(this._isDirected,e):ue(this._isDirected,e,t,n),o=this._edgeObjs[r];if(o){let i=o.v,s=o.w;delete this._edgeLabels[r],delete this._edgeObjs[r],pt(this._preds[s],i),pt(this._sucs[i],s),delete this._in[s][r],delete this._out[i][r],this._edgeCount--}return this}inEdges(e,t){return this.isDirected()?this.filterEdges(this._in[e],e,t):this.nodeEdges(e,t)}outEdges(e,t){return this.isDirected()?this.filterEdges(this._out[e],e,t):this.nodeEdges(e,t)}nodeEdges(e,t){if(e in this._nodes)return this.filterEdges({...this._in[e],...this._out[e]},e,t)}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}filterEdges(e,t,n){if(!e)return;let r=Object.values(e);return n?r.filter(o=>o.v===t&&o.w===n||o.v===n&&o.w===t):r}};function gt(e,t){e[t]?e[t]++:e[t]=1}function pt(e,t){e[t]!==void 0&&!--e[t]&&delete e[t]}function ue(e,t,n,r){let o=""+t,i=""+n;if(!e&&o>i){let s=o;o=i,i=s}return o+""+i+""+(r===void 0?"\0":r)}function vn(e,t,n,r){let o=""+t,i=""+n;if(!e&&o>i){let a=o;o=i,i=a}let s={v:o,w:i};return r&&(s.name=r),s}function Ie(e,t){return ue(e,t.v,t.w,t.name)}var kn="4.0.1",Ft={};Rt(Ft,{read:()=>Nn,write:()=>xn});function xn(e){let t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:Tn(e),edges:_n(e)},n=e.graph();return n!==void 0&&(t.value=structuredClone(n)),t}function Tn(e){return e.nodes().map(t=>{let n=e.node(t),r=e.parent(t),o={v:t};return n!==void 0&&(o.value=n),r!==void 0&&(o.parent=r),o})}function _n(e){return e.edges().map(t=>{let n=e.edge(t),r={v:t.v,w:t.w};return t.name!==void 0&&(r.name=t.name),n!==void 0&&(r.value=n),r})}function Nn(e){let t=new B(e.options);return e.value!==void 0&&t.setGraph(e.value),e.nodes.forEach(n=>{t.setNode(n.v,n.value),n.parent&&t.setParent(n.v,n.parent)}),e.edges.forEach(n=>{t.setEdge({v:n.v,w:n.w,name:n.name},n.value)}),t}var Ue={};Rt(Ue,{CycleException:()=>ve,bellmanFord:()=>Lt,components:()=>On,dijkstra:()=>we,dijkstraAll:()=>jn,findCycles:()=>Rn,floydWarshall:()=>Ln,isAcyclic:()=>zn,postorder:()=>Pn,preorder:()=>Bn,prim:()=>Wn,shortestPaths:()=>Gn,tarjan:()=>zt,topsort:()=>Dt});var Sn=()=>1;function Lt(e,t,n,r){return Cn(e,String(t),n||Sn,r||function(o){return e.outEdges(o)})}function Cn(e,t,n,r){let o={},i,s=0,a=e.nodes(),c=function(f){let h=n(f);o[f.v].distance+h<o[f.w].distance&&(o[f.w]={distance:o[f.v].distance+h,predecessor:f.v},i=!0)},l=function(){a.forEach(function(f){r(f).forEach(function(h){let g=h.v===f?h.v:h.w,m=g===h.v?h.w:h.v;c({v:g,w:m})})})};a.forEach(function(f){let h=f===t?0:Number.POSITIVE_INFINITY;o[f]={distance:h,predecessor:""}});let u=a.length;for(let f=1;f<u&&(i=!1,s++,l(),!!i);f++);if(s===u-1&&(i=!1,l(),i))throw new Error("The graph contains a negative weight cycle");return o}function On(e){let t={},n=[],r;function o(i){i in t||(t[i]=!0,r.push(i),e.successors(i).forEach(o),e.predecessors(i).forEach(o))}return e.nodes().forEach(function(i){r=[],o(i),r.length&&n.push(r)}),n}var At=class{constructor(){this._arr=[],this._keyIndices={}}size(){return this._arr.length}keys(){return this._arr.map(e=>e.key)}has(e){return e in this._keyIndices}priority(e){let t=this._keyIndices[e];if(t!==void 0)return this._arr[t].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(e,t){let n=this._keyIndices,r=String(e);if(!(r in n)){let o=this._arr,i=o.length;return n[r]=i,o.push({key:r,priority:t}),this._decrease(i),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);let e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key}decrease(e,t){let n=this._keyIndices[e];if(n===void 0)throw new Error(`Key not found: ${e}`);let r=this._arr[n].priority;if(t>r)throw new Error(`New priority is greater than current priority. Key: ${e} Old: ${r} New: ${t}`);this._arr[n].priority=t,this._decrease(n)}_heapify(e){let t=this._arr,n=2*e,r=n+1,o=e;n<t.length&&(o=t[n].priority<t[o].priority?n:o,r<t.length&&(o=t[r].priority<t[o].priority?r:o),o!==e&&(this._swap(e,o),this._heapify(o)))}_decrease(e){let t=this._arr,n=t[e].priority,r;for(;e!==0&&(r=e>>1,!(t[r].priority<n));)this._swap(e,r),e=r}_swap(e,t){let n=this._arr,r=this._keyIndices,o=n[e],i=n[t];n[e]=i,n[t]=o,r[i.key]=e,r[o.key]=t}},In=()=>1;function we(e,t,n,r){let o=function(i){return e.outEdges(i)};return Mn(e,String(t),n||In,r||o)}function Mn(e,t,n,r){let o={},i=new At,s,a,c=function(l){let u=l.v!==s?l.v:l.w,f=o[u],h=n(l),g=a.distance+h;if(h<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+l+" Weight: "+h);g<f.distance&&(f.distance=g,f.predecessor=s,i.decrease(u,g))};for(e.nodes().forEach(function(l){let u=l===t?0:Number.POSITIVE_INFINITY;o[l]={distance:u,predecessor:""},i.add(l,u)});i.size()>0&&(s=i.removeMin(),a=o[s],a.distance!==Number.POSITIVE_INFINITY);)r(s).forEach(c);return o}function jn(e,t,n){return e.nodes().reduce(function(r,o){return r[o]=we(e,o,t,n),r},{})}function zt(e){let t=0,n=[],r={},o=[];function i(s){let a=r[s]={onStack:!0,lowlink:t,index:t++};if(n.push(s),e.successors(s).forEach(function(c){c in r?r[c].onStack&&(a.lowlink=Math.min(a.lowlink,r[c].index)):(i(c),a.lowlink=Math.min(a.lowlink,r[c].lowlink))}),a.lowlink===a.index){let c=[],l;do l=n.pop(),r[l].onStack=!1,c.push(l);while(s!==l);o.push(c)}}return e.nodes().forEach(function(s){s in r||i(s)}),o}function Rn(e){return zt(e).filter(function(t){return t.length>1||t.length===1&&e.hasEdge(t[0],t[0])})}var Fn=()=>1;function Ln(e,t,n){return An(e,t||Fn,n||function(r){return e.outEdges(r)})}function An(e,t,n){let r={},o=e.nodes();return o.forEach(function(i){r[i]={},r[i][i]={distance:0,predecessor:""},o.forEach(function(s){i!==s&&(r[i][s]={distance:Number.POSITIVE_INFINITY,predecessor:""})}),n(i).forEach(function(s){let a=s.v===i?s.w:s.v,c=t(s);r[i][a]={distance:c,predecessor:i}})}),o.forEach(function(i){let s=r[i];o.forEach(function(a){let c=r[a];o.forEach(function(l){let u=c[i],f=s[l],h=c[l],g=u.distance+f.distance;g<h.distance&&(h.distance=g,h.predecessor=f.predecessor)})})}),r}var ve=class extends Error{constructor(...e){super(...e)}};function Dt(e){let t={},n={},r=[];function o(i){if(i in n)throw new ve;i in t||(n[i]=!0,t[i]=!0,e.predecessors(i).forEach(o),delete n[i],r.push(i))}if(e.sinks().forEach(o),Object.keys(t).length!==e.nodeCount())throw new ve;return r}function zn(e){try{Dt(e)}catch(t){if(t instanceof ve)return!1;throw t}return!0}function Dn(e,t,n,r,o){Array.isArray(t)||(t=[t]);let i=a=>{var c;return(c=e.isDirected()?e.successors(a):e.neighbors(a))!=null?c:[]},s={};return t.forEach(function(a){if(!e.hasNode(a))throw new Error("Graph does not have node: "+a);o=Pt(e,a,n==="post",s,i,r,o)}),o}function Pt(e,t,n,r,o,i,s){return t in r||(r[t]=!0,n||(s=i(s,t)),o(t).forEach(function(a){s=Pt(e,a,n,r,o,i,s)}),n&&(s=i(s,t))),s}function Bt(e,t,n){return Dn(e,t,n,function(r,o){return r.push(o),r},[])}function Pn(e,t){return Bt(e,t,"post")}function Bn(e,t){return Bt(e,t,"pre")}function Wn(e,t){let n=new B,r={},o=new At,i;function s(c){let l=c.v===i?c.w:c.v,u=o.priority(l);if(u!==void 0){let f=t(c);f<u&&(r[l]=i,o.decrease(l,f))}}if(e.nodeCount()===0)return n;e.nodes().forEach(function(c){o.add(c,Number.POSITIVE_INFINITY),n.setNode(c)}),o.decrease(e.nodes()[0],0);let a=!1;for(;o.size()>0;){if(i=o.removeMin(),i in r)n.setEdge(i,r[i]);else{if(a)throw new Error("Input graph is not connected: "+e);a=!0}e.nodeEdges(i).forEach(s)}return n}function Gn(e,t,n,r){return $n(e,t,n,r??(o=>{let i=e.outEdges(o);return i??[]}))}function $n(e,t,n,r){if(n===void 0)return we(e,t,n,r);let o=!1,i=e.nodes();for(let s=0;s<i.length;s++){let a=r(i[s]);for(let c=0;c<a.length;c++){let l=a[c],u=l.v===i[s]?l.v:l.w,f=u===l.v?l.w:l.v;n({v:u,w:f})<0&&(o=!0)}if(o)return Lt(e,t,n,r)}return we(e,t,n,r)}function de(e,t,n,r){let o=r;for(;e.hasNode(o);)o=qe(r);return n.dummy=t,e.setNode(o,n),o}function Yn(e){let t=new B().setGraph(e.graph());return e.nodes().forEach(n=>t.setNode(n,e.node(n))),e.edges().forEach(n=>{let r=t.edge(n.v,n.w)||{weight:0,minlen:1},o=e.edge(n);t.setEdge(n.v,n.w,{weight:r.weight+o.weight,minlen:Math.max(r.minlen,o.minlen)})}),t}function Wt(e){let t=new B({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(n=>{e.children(n).length||t.setNode(n,e.node(n))}),e.edges().forEach(n=>{t.setEdge(n,e.edge(n))}),t}function mt(e,t){let n=e.x,r=e.y,o=t.x-n,i=t.y-r,s=e.width/2,a=e.height/2;if(!o&&!i)throw new Error("Not possible to find intersection inside of the rectangle");let c,l;return Math.abs(i)*s>Math.abs(o)*a?(i<0&&(a=-a),c=a*o/i,l=a):(o<0&&(s=-s),c=s,l=s*i/o),{x:n+c,y:r+l}}function ge(e){let t=fe($t(e)+1).map(()=>[]);return e.nodes().forEach(n=>{let r=e.node(n),o=r.rank;o!==void 0&&(t[o]||(t[o]=[]),t[o][r.order]=n)}),t}function Un(e){let t=e.nodes().map(r=>{let o=e.node(r).rank;return o===void 0?Number.MAX_VALUE:o}),n=$(Math.min,t);e.nodes().forEach(r=>{let o=e.node(r);Object.hasOwn(o,"rank")&&(o.rank-=n)})}function qn(e){let t=e.nodes().map(s=>e.node(s).rank).filter(s=>s!==void 0),n=$(Math.min,t),r=[];e.nodes().forEach(s=>{let a=e.node(s).rank-n;r[a]||(r[a]=[]),r[a].push(s)});let o=0,i=e.graph().nodeRankFactor;Array.from(r).forEach((s,a)=>{s===void 0&&a%i!==0?--o:s!==void 0&&o&&s.forEach(c=>e.node(c).rank+=o)})}function bt(e,t,n,r){let o={width:0,height:0};return arguments.length>=4&&(o.rank=n,o.order=r),de(e,"border",o,t)}function Kn(e,t=Gt){let n=[];for(let r=0;r<e.length;r+=t){let o=e.slice(r,r+t);n.push(o)}return n}var Gt=65535;function $(e,t){if(t.length>Gt){let n=Kn(t);return e(...n.map(r=>e(...r)))}else return e(...t)}function $t(e){let t=e.nodes().map(n=>{let r=e.node(n).rank;return r===void 0?Number.MIN_VALUE:r});return $(Math.max,t)}function Xn(e,t){let n={lhs:[],rhs:[]};return e.forEach(r=>{t(r)?n.lhs.push(r):n.rhs.push(r)}),n}function Yt(e,t){let n=Date.now();try{return t()}finally{console.log(e+" time: "+(Date.now()-n)+"ms")}}function Ut(e,t){return t()}var Vn=0;function qe(e){let t=++Vn;return e+(""+t)}function fe(e,t,n=1){t==null&&(t=e,e=0);let r=i=>i<t;n<0&&(r=i=>t<i);let o=[];for(let i=e;r(i);i+=n)o.push(i);return o}function ke(e,t){let n={};for(let r of t)e[r]!==void 0&&(n[r]=e[r]);return n}function xe(e,t){let n;return typeof t=="string"?n=r=>r[t]:n=t,Object.entries(e).reduce((r,[o,i])=>(r[o]=n(i,o),r),{})}function Hn(e,t){return e.reduce((n,r,o)=>(n[r]=t[o],n),{})}var Te="\0",Jn="3.0.0",Zn=class{constructor(){yn(this,"_sentinel");let e={};e._next=e._prev=e,this._sentinel=e}dequeue(){let e=this._sentinel,t=e._prev;if(t!==e)return Et(t),t}enqueue(e){let t=this._sentinel;e._prev&&e._next&&Et(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t}toString(){let e=[],t=this._sentinel,n=t._prev;for(;n!==t;)e.push(JSON.stringify(n,Qn)),n=n._prev;return"["+e.join(", ")+"]"}};function Et(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function Qn(e,t){if(e!=="_next"&&e!=="_prev")return t}var er=Zn,tr=()=>1;function nr(e,t){if(e.nodeCount()<=1)return[];let n=or(e,t||tr);return rr(n.graph,n.buckets,n.zeroIdx).flatMap(r=>e.outEdges(r.v,r.w)||[])}function rr(e,t,n){var r;let o=[],i=t[t.length-1],s=t[0],a;for(;e.nodeCount();){for(;a=s.dequeue();)Me(e,t,n,a);for(;a=i.dequeue();)Me(e,t,n,a);if(e.nodeCount()){for(let c=t.length-2;c>0;--c)if(a=(r=t[c])==null?void 0:r.dequeue(),a){o=o.concat(Me(e,t,n,a,!0)||[]);break}}}return o}function Me(e,t,n,r,o){let i=[],s=o?i:void 0;return(e.inEdges(r.v)||[]).forEach(a=>{let c=e.edge(a),l=e.node(a.v);o&&i.push({v:a.v,w:a.w}),l.out-=c,Pe(t,n,l)}),(e.outEdges(r.v)||[]).forEach(a=>{let c=e.edge(a),l=a.w,u=e.node(l);u.in-=c,Pe(t,n,u)}),e.removeNode(r.v),s}function or(e,t){let n=new B,r=0,o=0;e.nodes().forEach(a=>{n.setNode(a,{v:a,in:0,out:0})}),e.edges().forEach(a=>{let c=n.edge(a.v,a.w)||0,l=t(a),u=c+l;n.setEdge(a.v,a.w,u);let f=n.node(a.v),h=n.node(a.w);o=Math.max(o,f.out+=l),r=Math.max(r,h.in+=l)});let i=ir(o+r+3).map(()=>new er),s=r+1;return n.nodes().forEach(a=>{Pe(i,s,n.node(a))}),{graph:n,buckets:i,zeroIdx:s}}function Pe(e,t,n){var r,o,i;n.out?n.in?(i=e[n.out-n.in+t])==null||i.enqueue(n):(o=e[e.length-1])==null||o.enqueue(n):(r=e[0])==null||r.enqueue(n)}function ir(e){let t=[];for(let n=0;n<e;n++)t.push(n);return t}function sr(e){(e.graph().acyclicer==="greedy"?nr(e,t(e)):ar(e)).forEach(n=>{let r=e.edge(n);e.removeEdge(n),r.forwardName=n.name,r.reversed=!0,e.setEdge(n.w,n.v,r,qe("rev"))});function t(n){return r=>n.edge(r).weight}}function ar(e){let t=[],n={},r={};function o(i){Object.hasOwn(r,i)||(r[i]=!0,n[i]=!0,e.outEdges(i).forEach(s=>{Object.hasOwn(n,s.w)?t.push(s):o(s.w)}),delete n[i])}return e.nodes().forEach(o),t}function lr(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.reversed){e.removeEdge(t);let r=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,r)}})}function dr(e){e.graph().dummyChains=[],e.edges().forEach(t=>cr(e,t))}function cr(e,t){let n=t.v,r=e.node(n).rank,o=t.w,i=e.node(o).rank,s=t.name,a=e.edge(t),c=a.labelRank;if(i===r+1)return;e.removeEdge(t);let l,u,f;for(f=0,++r;r<i;++f,++r)a.points=[],u={width:0,height:0,edgeLabel:a,edgeObj:t,rank:r},l=de(e,"edge",u,"_d"),r===c&&(u.width=a.width,u.height=a.height,u.dummy="edge-label",u.labelpos=a.labelpos),e.setEdge(n,l,{weight:a.weight},s),f===0&&e.graph().dummyChains.push(l),n=l;e.setEdge(n,o,{weight:a.weight},s)}function ur(e){e.graph().dummyChains.forEach(t=>{let n=e.node(t),r=n.edgeLabel,o;for(e.setEdge(n.edgeObj,r);n.dummy;)o=e.successors(t)[0],e.removeNode(t),r.points.push({x:n.x,y:n.y}),n.dummy==="edge-label"&&(r.x=n.x,r.y=n.y,r.width=n.width,r.height=n.height),t=o,n=e.node(t)})}function Ke(e){let t={};function n(r){let o=e.node(r);if(Object.hasOwn(t,r))return o.rank;t[r]=!0;let i=e.outEdges(r),s=i?i.map(c=>c==null?Number.POSITIVE_INFINITY:n(c.w)-e.edge(c).minlen):[],a=$(Math.min,s);return a===Number.POSITIVE_INFINITY&&(a=0),o.rank=a}e.sources().forEach(n)}function le(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var qt=fr;function fr(e){let t=new B({directed:!1}),n=e.nodes();if(n.length===0)throw new Error("Graph must have at least one node");let r=n[0],o=e.nodeCount();t.setNode(r,{});let i,s;for(;hr(t,e)<o&&(i=gr(t,e),!!i);)s=t.hasNode(i.v)?le(e,i):-le(e,i),pr(t,e,s);return t}function hr(e,t){function n(r){let o=t.nodeEdges(r);o&&o.forEach(i=>{let s=i.v,a=r===s?i.w:s;!e.hasNode(a)&&!le(t,i)&&(e.setNode(a,{}),e.setEdge(r,a,{}),n(a))})}return e.nodes().forEach(n),e.nodeCount()}function gr(e,t){return t.edges().reduce((n,r)=>{let o=Number.POSITIVE_INFINITY;return e.hasNode(r.v)!==e.hasNode(r.w)&&(o=le(t,r)),o<n[0]?[o,r]:n},[Number.POSITIVE_INFINITY,null])[1]}function pr(e,t,n){e.nodes().forEach(r=>t.node(r).rank+=n)}var{preorder:mr,postorder:br}=Ue,Er=ne;ne.initLowLimValues=Ve;ne.initCutValues=Xe;ne.calcCutValue=Kt;ne.leaveEdge=Vt;ne.enterEdge=Ht;ne.exchangeEdges=Jt;function ne(e){e=Yn(e),Ke(e);let t=qt(e);Ve(t),Xe(t,e);let n,r;for(;n=Vt(t);)r=Ht(t,e,n),Jt(t,e,n,r)}function Xe(e,t){let n=br(e,e.nodes());n=n.slice(0,n.length-1),n.forEach(r=>yr(e,t,r))}function yr(e,t,n){let r=e.node(n).parent,o=e.edge(n,r);o.cutvalue=Kt(e,t,n)}function Kt(e,t,n){let r=e.node(n).parent,o=!0,i=t.edge(n,r),s=0;i||(o=!1,i=t.edge(r,n)),s=i.weight;let a=t.nodeEdges(n);return a&&a.forEach(c=>{let l=c.v===n,u=l?c.w:c.v;if(u!==r){let f=l===o,h=t.edge(c).weight;if(s+=f?h:-h,vr(e,n,u)){let g=e.edge(n,u).cutvalue;s+=f?-g:g}}}),s}function Ve(e,t){arguments.length<2&&(t=e.nodes()[0]),Xt(e,{},1,t)}function Xt(e,t,n,r,o){let i=n,s=e.node(r);t[r]=!0;let a=e.neighbors(r);return a&&a.forEach(c=>{Object.hasOwn(t,c)||(n=Xt(e,t,n,c,r))}),s.low=i,s.lim=n++,o?s.parent=o:delete s.parent,n}function Vt(e){return e.edges().find(t=>e.edge(t).cutvalue<0)}function Ht(e,t,n){let r=n.v,o=n.w;t.hasEdge(r,o)||(r=n.w,o=n.v);let i=e.node(r),s=e.node(o),a=i,c=!1;return i.lim>s.lim&&(a=s,c=!0),t.edges().filter(l=>c===yt(e,e.node(l.v),a)&&c!==yt(e,e.node(l.w),a)).reduce((l,u)=>le(t,u)<le(t,l)?u:l)}function Jt(e,t,n,r){let o=n.v,i=n.w;e.removeEdge(o,i),e.setEdge(r.v,r.w,{}),Ve(e),Xe(e,t),wr(e,t)}function wr(e,t){let n=e.nodes().find(o=>!e.node(o).parent);if(!n)return;let r=mr(e,[n]);r=r.slice(1),r.forEach(o=>{let i=e.node(o).parent,s=t.edge(o,i),a=!1;s||(s=t.edge(i,o),a=!0),t.node(o).rank=t.node(i).rank+(a?s.minlen:-s.minlen)})}function vr(e,t,n){return e.hasEdge(t,n)}function yt(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}var kr=xr;function xr(e){let t=e.graph().ranker;if(typeof t=="function")return t(e);switch(t){case"network-simplex":wt(e);break;case"tight-tree":_r(e);break;case"longest-path":Tr(e);break;case"none":break;default:wt(e)}}var Tr=Ke;function _r(e){Ke(e),qt(e)}function wt(e){Er(e)}var Nr=Sr;function Sr(e){let t=Or(e);e.graph().dummyChains.forEach(n=>{let r=e.node(n),o=r.edgeObj,i=Cr(e,t,o.v,o.w),s=i.path,a=i.lca,c=0,l=s[c],u=!0;for(;n!==o.w;){if(r=e.node(n),u){for(;(l=s[c])!==a&&e.node(l).maxRank<r.rank;)c++;l===a&&(u=!1)}if(!u){for(;c<s.length-1&&e.node(s[c+1]).minRank<=r.rank;)c++;l=s[c]}l!==void 0&&e.setParent(n,l),n=e.successors(n)[0]}})}function Cr(e,t,n,r){let o=[],i=[],s=Math.min(t[n].low,t[r].low),a=Math.max(t[n].lim,t[r].lim),c;c=n;do c=e.parent(c),o.push(c);while(c&&(t[c].low>s||a>t[c].lim));let l=c,u=r;for(;(u=e.parent(u))!==l;)i.push(u);return{path:o.concat(i.reverse()),lca:l}}function Or(e){let t={},n=0;function r(o){let i=n;e.children(o).forEach(r),t[o]={low:i,lim:n++}}return e.children(Te).forEach(r),t}function Ir(e){let t=de(e,"root",{},"_root"),n=Mr(e),r=Object.values(n),o=$(Math.max,r)-1,i=2*o+1;e.graph().nestingRoot=t,e.edges().forEach(a=>e.edge(a).minlen*=i);let s=jr(e)+1;e.children(Te).forEach(a=>Zt(e,t,i,s,o,n,a)),e.graph().nodeRankFactor=i}function Zt(e,t,n,r,o,i,s){var a;let c=e.children(s);if(!c.length){s!==t&&e.setEdge(t,s,{weight:0,minlen:n});return}let l=bt(e,"_bt"),u=bt(e,"_bb"),f=e.node(s);e.setParent(l,s),f.borderTop=l,e.setParent(u,s),f.borderBottom=u,c.forEach(h=>{var g;Zt(e,t,n,r,o,i,h);let m=e.node(h),b=m.borderTop?m.borderTop:h,p=m.borderBottom?m.borderBottom:h,y=m.borderTop?r:2*r,_=b!==p?1:o-((g=i[s])!=null?g:0)+1;e.setEdge(l,b,{weight:y,minlen:_,nestingEdge:!0}),e.setEdge(p,u,{weight:y,minlen:_,nestingEdge:!0})}),e.parent(s)||e.setEdge(t,l,{weight:0,minlen:o+((a=i[s])!=null?a:0)})}function Mr(e){let t={};function n(r,o){let i=e.children(r);i&&i.length&&i.forEach(s=>n(s,o+1)),t[r]=o}return e.children(Te).forEach(r=>n(r,1)),t}function jr(e){return e.edges().reduce((t,n)=>t+e.edge(n).weight,0)}function Rr(e){let t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,e.edges().forEach(n=>{e.edge(n).nestingEdge&&e.removeEdge(n)})}var Fr=Lr;function Lr(e){function t(n){let r=e.children(n),o=e.node(n);if(r.length&&r.forEach(t),Object.hasOwn(o,"minRank")){o.borderLeft=[],o.borderRight=[];for(let i=o.minRank,s=o.maxRank+1;i<s;++i)vt(e,"borderLeft","_bl",n,o,i),vt(e,"borderRight","_br",n,o,i)}}e.children(Te).forEach(t)}function vt(e,t,n,r,o,i){let s={width:0,height:0,rank:i,borderType:t},a=o[t][i-1],c=de(e,"border",s,n);o[t][i]=c,e.setParent(c,r),a&&e.setEdge(a,c,{weight:1})}function Ar(e){var t;let n=(t=e.graph().rankdir)==null?void 0:t.toLowerCase();(n==="lr"||n==="rl")&&Qt(e)}function zr(e){var t;let n=(t=e.graph().rankdir)==null?void 0:t.toLowerCase();(n==="bt"||n==="rl")&&Dr(e),(n==="lr"||n==="rl")&&(Pr(e),Qt(e))}function Qt(e){e.nodes().forEach(t=>kt(e.node(t))),e.edges().forEach(t=>kt(e.edge(t)))}function kt(e){let t=e.width;e.width=e.height,e.height=t}function Dr(e){e.nodes().forEach(t=>je(e.node(t))),e.edges().forEach(t=>{var n;let r=e.edge(t);(n=r.points)==null||n.forEach(je),Object.hasOwn(r,"y")&&je(r)})}function je(e){e.y=-e.y}function Pr(e){e.nodes().forEach(t=>Re(e.node(t))),e.edges().forEach(t=>{var n;let r=e.edge(t);(n=r.points)==null||n.forEach(Re),Object.hasOwn(r,"x")&&Re(r)})}function Re(e){let t=e.x;e.x=e.y,e.y=t}function Br(e){let t={},n=e.nodes().filter(a=>!e.children(a).length),r=n.map(a=>e.node(a).rank),o=$(Math.max,r),i=fe(o+1).map(()=>[]);function s(a){if(t[a])return;t[a]=!0;let c=e.node(a);i[c.rank].push(a);let l=e.successors(a);l&&l.forEach(s)}return n.sort((a,c)=>e.node(a).rank-e.node(c).rank).forEach(s),i}function Wr(e,t){let n=0;for(let r=1;r<t.length;++r)n+=Gr(e,t[r-1],t[r]);return n}function Gr(e,t,n){let r=Hn(n,n.map((l,u)=>u)),o=t.flatMap(l=>{let u=e.outEdges(l);return u?u.map(f=>({pos:r[f.w],weight:e.edge(f).weight})).sort((f,h)=>f.pos-h.pos):[]}),i=1;for(;i<n.length;)i<<=1;let s=2*i-1;i-=1;let a=new Array(s).fill(0),c=0;return o.forEach(l=>{let u=l.pos+i;a[u]+=l.weight;let f=0;for(;u>0;)u%2&&(f+=a[u+1]),u=u-1>>1,a[u]+=l.weight;c+=l.weight*f}),c}function $r(e,t=[]){return t.map(n=>{let r=e.inEdges(n);if(!r||!r.length)return{v:n};{let o=r.reduce((i,s)=>{let a=e.edge(s),c=e.node(s.v);return{sum:i.sum+a.weight*c.order,weight:i.weight+a.weight}},{sum:0,weight:0});return{v:n,barycenter:o.sum/o.weight,weight:o.weight}}})}function Yr(e,t){let n={};e.forEach((o,i)=>{let s={indegree:0,in:[],out:[],vs:[o.v],i};o.barycenter!==void 0&&(s.barycenter=o.barycenter,s.weight=o.weight),n[o.v]=s}),t.edges().forEach(o=>{let i=n[o.v],s=n[o.w];i!==void 0&&s!==void 0&&(s.indegree++,i.out.push(s))});let r=Object.values(n).filter(o=>!o.indegree);return Ur(r)}function Ur(e){let t=[];function n(o){return i=>{i.merged||(i.barycenter===void 0||o.barycenter===void 0||i.barycenter>=o.barycenter)&&qr(o,i)}}function r(o){return i=>{i.in.push(o),--i.indegree===0&&e.push(i)}}for(;e.length;){let o=e.pop();t.push(o),o.in.reverse().forEach(n(o)),o.out.forEach(r(o))}return t.filter(o=>!o.merged).map(o=>ke(o,["vs","i","barycenter","weight"]))}function qr(e,t){let n=0,r=0;e.weight&&(n+=e.barycenter*e.weight,r+=e.weight),t.weight&&(n+=t.barycenter*t.weight,r+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=n/r,e.weight=r,e.i=Math.min(t.i,e.i),t.merged=!0}function Kr(e,t){let n=Xn(e,u=>Object.hasOwn(u,"barycenter")),r=n.lhs,o=n.rhs.sort((u,f)=>f.i-u.i),i=[],s=0,a=0,c=0;r.sort(Xr(!!t)),c=xt(i,o,c),r.forEach(u=>{c+=u.vs.length,i.push(u.vs),s+=u.barycenter*u.weight,a+=u.weight,c=xt(i,o,c)});let l={vs:i.flat(1)};return a&&(l.barycenter=s/a,l.weight=a),l}function xt(e,t,n){let r;for(;t.length&&(r=t[t.length-1]).i<=n;)t.pop(),e.push(r.vs),n++;return n}function Xr(e){return(t,n)=>t.barycenter<n.barycenter?-1:t.barycenter>n.barycenter?1:e?n.i-t.i:t.i-n.i}function en(e,t,n,r){let o=e.children(t),i=e.node(t),s=i?i.borderLeft:void 0,a=i?i.borderRight:void 0,c={};s&&(o=o.filter(h=>h!==s&&h!==a));let l=$r(e,o);l.forEach(h=>{if(e.children(h.v).length){let g=en(e,h.v,n,r);c[h.v]=g,Object.hasOwn(g,"barycenter")&&Hr(h,g)}});let u=Yr(l,n);Vr(u,c);let f=Kr(u,r);if(s&&a){f.vs=[s,f.vs,a].flat(1);let h=e.predecessors(s);if(h&&h.length){let g=e.node(h[0]),m=e.predecessors(a),b=e.node(m[0]);Object.hasOwn(f,"barycenter")||(f.barycenter=0,f.weight=0),f.barycenter=(f.barycenter*f.weight+g.order+b.order)/(f.weight+2),f.weight+=2}}return f}function Vr(e,t){e.forEach(n=>{n.vs=n.vs.flatMap(r=>t[r]?t[r].vs:r)})}function Hr(e,t){e.barycenter!==void 0?(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight):(e.barycenter=t.barycenter,e.weight=t.weight)}function Jr(e,t,n,r){r||(r=e.nodes());let o=Zr(e),i=new B({compound:!0}).setGraph({root:o}).setDefaultNodeLabel(s=>e.node(s));return r.forEach(s=>{let a=e.node(s),c=e.parent(s);if(a.rank===t||a.minRank<=t&&t<=a.maxRank){i.setNode(s),i.setParent(s,c||o);let l=e[n](s);l&&l.forEach(u=>{let f=u.v===s?u.w:u.v,h=i.edge(f,s),g=h!==void 0?h.weight:0;i.setEdge(f,s,{weight:e.edge(u).weight+g})}),Object.hasOwn(a,"minRank")&&i.setNode(s,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]})}}),i}function Zr(e){let t;for(;e.hasNode(t=qe("_root")););return t}function Qr(e,t,n){let r={},o;n.forEach(i=>{let s=e.parent(i),a,c;for(;s;){if(a=e.parent(s),a?(c=r[a],r[a]=s):(c=o,o=s),c&&c!==s){t.setEdge(c,s);return}s=a}})}function tn(e,t={}){if(typeof t.customOrder=="function"){t.customOrder(e,tn);return}let n=$t(e),r=Tt(e,fe(1,n+1),"inEdges"),o=Tt(e,fe(n-1,-1,-1),"outEdges"),i=Br(e);if(_t(e,i),t.disableOptimalOrderHeuristic)return;let s=Number.POSITIVE_INFINITY,a,c=t.constraints||[];for(let l=0,u=0;u<4;++l,++u){eo(l%2?r:o,l%4>=2,c),i=ge(e);let f=Wr(e,i);f<s?(u=0,a=Object.assign({},i),s=f):f===s&&(a=structuredClone(i))}_t(e,a)}function Tt(e,t,n){let r=new Map,o=(i,s)=>{r.has(i)||r.set(i,[]),r.get(i).push(s)};for(let i of e.nodes()){let s=e.node(i);if(typeof s.rank=="number"&&o(s.rank,i),typeof s.minRank=="number"&&typeof s.maxRank=="number")for(let a=s.minRank;a<=s.maxRank;a++)a!==s.rank&&o(a,i)}return t.map(function(i){return Jr(e,i,n,r.get(i)||[])})}function eo(e,t,n){let r=new B;e.forEach(function(o){n.forEach(a=>r.setEdge(a.left,a.right));let i=o.graph().root,s=en(o,i,r,t);s.vs.forEach((a,c)=>o.node(a).order=c),Qr(o,r,s.vs)})}function _t(e,t){Object.values(t).forEach(n=>n.forEach((r,o)=>e.node(r).order=o))}function to(e,t){let n={};function r(o,i){let s=0,a=0,c=o.length,l=i[i.length-1];return i.forEach((u,f)=>{let h=ro(e,u),g=h?e.node(h).order:c;(h||u===l)&&(i.slice(a,f+1).forEach(m=>{let b=e.predecessors(m);b&&b.forEach(p=>{let y=e.node(p),_=y.order;(_<s||g<_)&&!(y.dummy&&e.node(m).dummy)&&nn(n,p,m)})}),a=f+1,s=g)}),i}return t.length&&t.reduce(r),n}function no(e,t){let n={};function r(i,s,a,c,l){fe(s,a).forEach(u=>{let f=i[u];if(f!==void 0&&e.node(f).dummy){let h=e.predecessors(f);h&&h.forEach(g=>{if(g===void 0)return;let m=e.node(g);m.dummy&&(m.order<c||m.order>l)&&nn(n,g,f)})}})}function o(i,s){let a=-1,c=-1,l=0;return s.forEach((u,f)=>{if(e.node(u).dummy==="border"){let h=e.predecessors(u);if(h&&h.length){let g=h[0];if(g===void 0)return;c=e.node(g).order,r(s,l,f,a,c),l=f,a=c}}r(s,l,s.length,c,i.length)}),s}return t.length&&t.reduce(o),n}function ro(e,t){if(e.node(t).dummy){let n=e.predecessors(t);if(n)return n.find(r=>e.node(r).dummy)}}function nn(e,t,n){if(t>n){let o=t;t=n,n=o}let r=e[t];r||(e[t]=r={}),r[n]=!0}function oo(e,t,n){if(t>n){let o=t;t=n,n=o}let r=e[t];return r!==void 0&&Object.hasOwn(r,n)}function io(e,t,n,r){let o={},i={},s={};return t.forEach(a=>{a.forEach((c,l)=>{o[c]=c,i[c]=c,s[c]=l})}),t.forEach(a=>{let c=-1;a.forEach(l=>{let u=r(l);if(u&&u.length){let f=u.sort((g,m)=>{let b=s[g],p=s[m];return(b!==void 0?b:0)-(p!==void 0?p:0)}),h=(f.length-1)/2;for(let g=Math.floor(h),m=Math.ceil(h);g<=m;++g){let b=f[g];if(b===void 0)continue;let p=s[b];if(p!==void 0&&i[l]===l&&c<p&&!oo(n,l,b)){let y=o[b];y!==void 0&&(i[b]=l,i[l]=o[l]=y,c=p)}}}})}),{root:o,align:i}}function so(e,t,n,r,o=!1){let i={},s=ao(e,t,n,o),a=o?"borderLeft":"borderRight";function c(g,m){let b=s.nodes().slice(),p={},y=b.pop();for(;y;){if(p[y])g(y);else{p[y]=!0,b.push(y);for(let _ of m(y))b.push(_)}y=b.pop()}}function l(g){let m=s.inEdges(g);m?i[g]=m.reduce((b,p)=>{var y;let _=(y=i[p.v])!=null?y:0,O=s.edge(p);return Math.max(b,_+(O!==void 0?O:0))},0):i[g]=0}function u(g){let m=s.outEdges(g),b=Number.POSITIVE_INFINITY;m&&(b=m.reduce((y,_)=>{let O=i[_.w],M=s.edge(_);return Math.min(y,(O!==void 0?O:0)-(M!==void 0?M:0))},Number.POSITIVE_INFINITY));let p=e.node(g);b!==Number.POSITIVE_INFINITY&&p.borderType!==a&&(i[g]=Math.max(i[g]!==void 0?i[g]:0,b))}function f(g){return s.predecessors(g)||[]}function h(g){return s.successors(g)||[]}return c(l,f),c(u,h),Object.keys(r).forEach(g=>{var m;let b=n[g];b!==void 0&&(i[g]=(m=i[b])!=null?m:0)}),i}function ao(e,t,n,r){let o=new B,i=e.graph(),s=ho(i.nodesep,i.edgesep,r);return t.forEach(a=>{let c;a.forEach(l=>{let u=n[l];if(u!==void 0){if(o.setNode(u),c!==void 0){let f=n[c];if(f!==void 0){let h=o.edge(f,u);o.setEdge(f,u,Math.max(s(e,l,c),h||0))}}c=l}})}),o}function lo(e,t){return Object.values(t).reduce((n,r)=>{let o=Number.NEGATIVE_INFINITY,i=Number.POSITIVE_INFINITY;Object.entries(r).forEach(([a,c])=>{let l=go(e,a)/2;o=Math.max(c+l,o),i=Math.min(c-l,i)});let s=o-i;return s<n[0]&&(n=[s,r]),n},[Number.POSITIVE_INFINITY,null])[1]}function co(e,t){let n=Object.values(t),r=$(Math.min,n),o=$(Math.max,n);["u","d"].forEach(i=>{["l","r"].forEach(s=>{let a=i+s,c=e[a];if(!c||c===t)return;let l=Object.values(c),u=r-$(Math.min,l);s!=="l"&&(u=o-$(Math.max,l)),u&&(e[a]=xe(c,f=>f+u))})})}function uo(e,t=void 0){let n=e.ul;return n?xe(n,(r,o)=>{var i,s;if(t){let c=t.toLowerCase(),l=e[c];if(l&&l[o]!==void 0)return l[o]}let a=Object.values(e).map(c=>{let l=c[o];return l!==void 0?l:0}).sort((c,l)=>c-l);return(((i=a[1])!=null?i:0)+((s=a[2])!=null?s:0))/2}):{}}function fo(e){let t=ge(e),n=Object.assign(to(e,t),no(e,t)),r={},o;["u","d"].forEach(s=>{o=s==="u"?t:Object.values(t).reverse(),["l","r"].forEach(a=>{a==="r"&&(o=o.map(u=>Object.values(u).reverse()));let c=io(e,o,n,u=>(s==="u"?e.predecessors(u):e.successors(u))||[]),l=so(e,o,c.root,c.align,a==="r");a==="r"&&(l=xe(l,u=>-u)),r[s+a]=l})});let i=lo(e,r);return co(r,i),uo(r,e.graph().align)}function ho(e,t,n){return(r,o,i)=>{let s=r.node(o),a=r.node(i),c=0,l;if(c+=s.width/2,Object.hasOwn(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":l=-s.width/2;break;case"r":l=s.width/2;break}if(l&&(c+=n?l:-l),l=void 0,c+=(s.dummy?t:e)/2,c+=(a.dummy?t:e)/2,c+=a.width/2,Object.hasOwn(a,"labelpos"))switch(a.labelpos.toLowerCase()){case"l":l=a.width/2;break;case"r":l=-a.width/2;break}return l&&(c+=n?l:-l),c}}function go(e,t){return e.node(t).width}function po(e){e=Wt(e),mo(e),Object.entries(fo(e)).forEach(([t,n])=>e.node(t).x=n)}function mo(e){let t=ge(e),n=e.graph(),r=n.ranksep,o=n.rankalign,i=0;t.forEach(s=>{let a=s.reduce((c,l)=>{var u;let f=(u=e.node(l).height)!=null?u:0;return c>f?c:f},0);s.forEach(c=>{let l=e.node(c);o==="top"?l.y=i+l.height/2:o==="bottom"?l.y=i+a-l.height/2:l.y=i+a/2}),i+=a+r})}function bo(e,t={}){let n=t.debugTiming?Yt:Ut;return n("layout",()=>{let r=n(" buildLayoutGraph",()=>So(e));return n(" runLayout",()=>Eo(r,n,t)),n(" updateInputGraph",()=>yo(e,r)),r})}function Eo(e,t,n){t(" makeSpaceForEdgeLabels",()=>Co(e)),t(" removeSelfEdges",()=>zo(e)),t(" acyclic",()=>sr(e)),t(" nestingGraph.run",()=>Ir(e)),t(" rank",()=>kr(Wt(e))),t(" injectEdgeLabelProxies",()=>Oo(e)),t(" removeEmptyRanks",()=>qn(e)),t(" nestingGraph.cleanup",()=>Rr(e)),t(" normalizeRanks",()=>Un(e)),t(" assignRankMinMax",()=>Io(e)),t(" removeEdgeLabelProxies",()=>Mo(e)),t(" normalize.run",()=>dr(e)),t(" parentDummyChains",()=>Nr(e)),t(" addBorderSegments",()=>Fr(e)),t(" order",()=>tn(e,n)),t(" insertSelfEdges",()=>Do(e)),t(" adjustCoordinateSystem",()=>Ar(e)),t(" position",()=>po(e)),t(" positionSelfEdges",()=>Po(e)),t(" removeBorderNodes",()=>Ao(e)),t(" normalize.undo",()=>ur(e)),t(" fixupEdgeLabelCoords",()=>Fo(e)),t(" undoCoordinateSystem",()=>zr(e)),t(" translateGraph",()=>jo(e)),t(" assignNodeIntersects",()=>Ro(e)),t(" reversePoints",()=>Lo(e)),t(" acyclic.undo",()=>lr(e))}function yo(e,t){e.nodes().forEach(n=>{let r=e.node(n),o=t.node(n);r&&(r.x=o.x,r.y=o.y,r.order=o.order,r.rank=o.rank,t.children(n).length&&(r.width=o.width,r.height=o.height))}),e.edges().forEach(n=>{let r=e.edge(n),o=t.edge(n);r.points=o.points,Object.hasOwn(o,"x")&&(r.x=o.x,r.y=o.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}var wo=["nodesep","edgesep","ranksep","marginx","marginy"],vo={ranksep:50,edgesep:20,nodesep:50,rankdir:"TB",rankalign:"center"},ko=["acyclicer","ranker","rankdir","align","rankalign"],xo=["width","height","rank"],Nt={width:0,height:0},To=["minlen","weight","width","height","labeloffset"],_o={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},No=["labelpos"];function So(e){let t=new B({multigraph:!0,compound:!0}),n=Le(e.graph());return t.setGraph(Object.assign({},vo,Fe(n,wo),ke(n,ko))),e.nodes().forEach(r=>{let o=Le(e.node(r)),i=Fe(o,xo);Object.keys(Nt).forEach(a=>{i[a]===void 0&&(i[a]=Nt[a])}),t.setNode(r,i);let s=e.parent(r);s!==void 0&&t.setParent(r,s)}),e.edges().forEach(r=>{let o=Le(e.edge(r));t.setEdge(r,Object.assign({},_o,Fe(o,To),ke(o,No)))}),t}function Co(e){let t=e.graph();t.ranksep/=2,e.edges().forEach(n=>{let r=e.edge(n);r.minlen*=2,r.labelpos.toLowerCase()!=="c"&&(t.rankdir==="TB"||t.rankdir==="BT"?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function Oo(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.width&&n.height){let r=e.node(t.v),o={rank:(e.node(t.w).rank-r.rank)/2+r.rank,e:t};de(e,"edge-proxy",o,"_ep")}})}function Io(e){let t=0;e.nodes().forEach(n=>{let r=e.node(n);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,t=Math.max(t,r.maxRank))}),e.graph().maxRank=t}function Mo(e){e.nodes().forEach(t=>{let n=e.node(t);if(n.dummy==="edge-proxy"){let r=n;e.edge(r.e).labelRank=n.rank,e.removeNode(t)}})}function jo(e){let t=Number.POSITIVE_INFINITY,n=0,r=Number.POSITIVE_INFINITY,o=0,i=e.graph(),s=i.marginx||0,a=i.marginy||0;function c(l){let u=l.x,f=l.y,h=l.width,g=l.height;t=Math.min(t,u-h/2),n=Math.max(n,u+h/2),r=Math.min(r,f-g/2),o=Math.max(o,f+g/2)}e.nodes().forEach(l=>c(e.node(l))),e.edges().forEach(l=>{let u=e.edge(l);Object.hasOwn(u,"x")&&c(u)}),t-=s,r-=a,e.nodes().forEach(l=>{let u=e.node(l);u.x-=t,u.y-=r}),e.edges().forEach(l=>{let u=e.edge(l);u.points.forEach(f=>{f.x-=t,f.y-=r}),Object.hasOwn(u,"x")&&(u.x-=t),Object.hasOwn(u,"y")&&(u.y-=r)}),i.width=n-t+s,i.height=o-r+a}function Ro(e){e.edges().forEach(t=>{let n=e.edge(t),r=e.node(t.v),o=e.node(t.w),i,s;n.points?(i=n.points[0],s=n.points[n.points.length-1]):(n.points=[],i=o,s=r),n.points.unshift(mt(r,i)),n.points.push(mt(o,s))})}function Fo(e){e.edges().forEach(t=>{let n=e.edge(t);if(Object.hasOwn(n,"x"))switch((n.labelpos==="l"||n.labelpos==="r")&&(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset;break}})}function Lo(e){e.edges().forEach(t=>{let n=e.edge(t);n.reversed&&n.points.reverse()})}function Ao(e){e.nodes().forEach(t=>{if(e.children(t).length){let n=e.node(t),r=e.node(n.borderTop),o=e.node(n.borderBottom),i=e.node(n.borderLeft[n.borderLeft.length-1]),s=e.node(n.borderRight[n.borderRight.length-1]);n.width=Math.abs(s.x-i.x),n.height=Math.abs(o.y-r.y),n.x=i.x+n.width/2,n.y=r.y+n.height/2}}),e.nodes().forEach(t=>{e.node(t).dummy==="border"&&e.removeNode(t)})}function zo(e){e.edges().forEach(t=>{if(t.v===t.w){let n=e.node(t.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function Do(e){ge(e).forEach(t=>{let n=0;t.forEach((r,o)=>{let i=e.node(r);i.order=o+n,(i.selfEdges||[]).forEach(s=>{de(e,"selfedge",{width:s.label.width,height:s.label.height,rank:i.rank,order:o+ ++n,e:s.e,label:s.label},"_se")}),delete i.selfEdges})})}function Po(e){e.nodes().forEach(t=>{let n=e.node(t);if(n.dummy==="selfedge"){let r=n,o=e.node(r.e.v),i=o.x+o.width/2,s=o.y,a=n.x-i,c=o.height/2;e.setEdge(r.e,r.label),e.removeNode(t),r.label.points=[{x:i+2*a/3,y:s-c},{x:i+5*a/6,y:s-c},{x:i+a,y:s},{x:i+5*a/6,y:s+c},{x:i+2*a/3,y:s+c}],r.label.x=n.x,r.label.y=n.y}})}function Fe(e,t){return xe(ke(e,t),Number)}function Le(e){let t={};return e&&Object.entries(e).forEach(([n,r])=>{typeof n=="string"&&(n=n.toLowerCase()),t[n]=r}),t}function Bo(e){let t=ge(e),n=new B({compound:!0,multigraph:!0}).setGraph({});return e.nodes().forEach(r=>{n.setNode(r,{label:r}),n.setParent(r,"layer"+e.node(r).rank)}),e.edges().forEach(r=>n.setEdge(r.v,r.w,{},r.name)),t.forEach((r,o)=>{let i="layer"+o;n.setNode(i,{rank:"same"}),r.reduce((s,a)=>(n.setEdge(s,a,{style:"invis"}),a))}),n}var Wo={graphlib:jt,version:Jn,layout:bo,debug:Bo,util:{time:Yt,notime:Ut}},St=Wo;/*! For license information please see dagre.esm.js.LEGAL.txt */const Go=e=>{const t=[];return e.nodeInternals.forEach((n,r)=>t.push(`${r}:${n.height??0}`)),t.join(",")},$o=({onHeightsReady:e,nodeCount:t})=>{const n=ae.useStore(Go),r=d.useRef("");d.useRef(0);const{fitView:o}=ae.useReactFlow();return d.useEffect(()=>{if(!n||n===r.current)return;const i={};for(const s of n.split(",")){const[a,c]=s.split(":"),l=Number(c);a&&l>0&&(i[a]=l)}Object.keys(i).length!==0&&(r.current=n,e(i))},[n]),null},_e=({isOpen:e,onClose:t,title:n,icon:r,children:o,footer:i,width:s=600})=>{const[a,c]=d.useState(!1),l=()=>c(h=>!h),u=()=>d.createElement(D.Box,{sx:{display:"flex",alignItems:"center",p:2,pt:3,borderBottom:"1px solid #e0e0e0",mb:0,flexShrink:0}},r&&d.createElement(D.Box,{sx:{mr:1.5,display:"flex",alignItems:"center",fontSize:"1.25rem",color:"#1DBF60"}},r),d.createElement(D.Typography,{variant:"h6",component:"div",sx:{flexGrow:1,fontSize:"0.875rem",fontWeight:600}},n),d.createElement(D.IconButton,{onClick:l,size:"small",sx:{mr:1},title:a?"Collapse":"Expand","data-testid":"expand-collapse-base-drawer-btn"},a?d.createElement(ht.BiCollapse,null):d.createElement(ht.BiExpand,null)),d.createElement(D.IconButton,{onClick:t,size:"small","data-testid":"close-drawer-button"},d.createElement(I.MdClose,null))),f=()=>i?d.createElement(D.Box,{sx:{flexShrink:0,p:2,borderTop:"1px solid #e0e0e0",display:"flex",justifyContent:"flex-end",gap:2}},i):null;return a?d.createElement(D.Dialog,{open:e,onClose:t,maxWidth:!1,fullWidth:!0,PaperProps:{sx:{display:"flex",flexDirection:"column",height:"80vh",boxShadow:24,width:"750px",maxWidth:"100%"}}},d.createElement(u,null),d.createElement(D.Box,{sx:{flexGrow:1,overflowY:"auto",p:0}},o),d.createElement(f,null)):d.createElement(D.Drawer,{anchor:"right",open:e,onClose:t,variant:"persistent",sx:{zIndex:900},ModalProps:{keepMounted:!1},PaperProps:{sx:{width:s,position:"fixed",top:"64px",height:"calc(100% - 74px)",right:"10px",borderRadius:"8px",border:"1px solid #bdbdbd",boxShadow:"none",zIndex:900,display:"flex",flexDirection:"column"}}},d.createElement(u,null),d.createElement(D.Box,{sx:{flexGrow:1,overflowY:"auto",p:0}},o),d.createElement(f,null))},Yo=({open:e,templates:t,messages:n,onSelect:r,onClose:o})=>d.createElement(_e,{isOpen:e,onClose:o,title:n.addTriggerTitle,icon:d.createElement(gn.GrTrigger,null),width:500},d.createElement(D.Box,{sx:{p:2}},d.createElement("p",{className:"ff-text-muted ff-mb-3",style:{fontSize:13}},n.chooseTrigger),d.createElement("div",{className:"ff-d-flex ff-flex-column ff-gap-2"},t.map(i=>d.createElement("div",{key:i.triggerKey,className:"ff-p-3 ff-rounded ff-border ff-d-flex ff-align-items-start ff-gap-3",style:{cursor:"pointer",transition:"background 0.15s"},onClick:()=>r(i),role:"button",tabIndex:0,onKeyDown:s=>{s.key==="Enter"&&r(i)},onMouseEnter:s=>{s.currentTarget.style.background="#f5f5f5"},onMouseLeave:s=>{s.currentTarget.style.background=""}},d.createElement("div",{style:{color:i.triggerCategory==="scheduler"?"#1976d2":"#f57c00",marginTop:2,flexShrink:0}},i.triggerCategory==="scheduler"?d.createElement(I.MdCalendarToday,{size:18}):d.createElement(I.MdBolt,{size:18})),d.createElement("div",null,d.createElement("div",{style:{fontSize:14,fontWeight:600,color:"#212121"}},i.label),i.description&&d.createElement("div",{style:{fontSize:12,color:"#757575",marginTop:2}},i.description)))),t.length===0&&d.createElement("p",{className:"ff-text-muted ff-text-center",style:{fontSize:13}},n.noTriggers)))),Ae={cursor:"pointer",transition:"background 0.15s"},ze="ff-p-3 ff-rounded ff-border ff-d-flex ff-align-items-center ff-gap-3",Uo=({open:e,availableDescriptors:t,messages:n,onSelect:r,onClose:o})=>{const{apps:i,ungrouped:s}=d.useMemo(()=>{const f=new Map,h=[];for(const g of t)if(g.app){const m=f.get(g.app.key);m?m.descriptors.push(g):f.set(g.app.key,{key:g.app.key,label:g.app.label,icon:g.app.icon,description:g.app.description,descriptors:[g]})}else h.push(g);return{apps:[...f.values()],ungrouped:h}},[t]),[a,c]=d.useState(null),l=a?i.find(f=>f.key===a)??null:null;d.useEffect(()=>{e||c(null)},[e]),d.useEffect(()=>{c(null)},[t]);const u=!l;return d.createElement(_e,{isOpen:e,onClose:o,title:u?n.addStepTitle:l.label,icon:u?d.createElement(I.MdAddCircleOutline,null):l.icon??d.createElement(I.MdApps,null),width:500},d.createElement(D.Box,{sx:{p:2}},!u&&d.createElement("div",{role:"button",tabIndex:0,onClick:()=>c(null),onKeyDown:f=>{f.key==="Enter"&&c(null)},className:"ff-d-flex ff-align-items-center ff-gap-1 ff-mb-3",style:{cursor:"pointer",color:"#0066cc",fontSize:13,fontWeight:500,width:"fit-content"}},d.createElement(I.MdArrowBack,{size:16}),d.createElement("span",null,n.addStepTitle)),d.createElement("p",{className:"ff-text-muted ff-mb-3",style:{fontSize:13}},u?n.chooseAction:`Pick an action from ${l.label}`),d.createElement("div",{className:"ff-d-flex ff-flex-column ff-gap-2"},u?d.createElement(d.Fragment,null,i.map(f=>d.createElement("div",{key:`app-${f.key}`,className:ze,style:Ae,onClick:()=>c(f.key),role:"button",tabIndex:0,onKeyDown:h=>{h.key==="Enter"&&c(f.key)},onMouseEnter:h=>{h.currentTarget.style.background="#f5f5f5"},onMouseLeave:h=>{h.currentTarget.style.background=""}},f.icon&&d.createElement("div",{style:{flexShrink:0}},f.icon),d.createElement("div",{style:{flex:1,minWidth:0}},d.createElement("div",{style:{fontSize:14,fontWeight:600,color:"#212121"}},f.label),d.createElement("div",{style:{fontSize:12,color:"#757575",marginTop:2}},f.description??`${f.descriptors.length} action${f.descriptors.length===1?"":"s"}`)),d.createElement(I.MdChevronRight,{size:18,color:"#9e9e9e"}))),s.map(f=>d.createElement("div",{key:f.type,className:ze,style:Ae,onClick:()=>r(f),role:"button",tabIndex:0,onKeyDown:h=>{h.key==="Enter"&&r(f)},onMouseEnter:h=>{h.currentTarget.style.background="#f5f5f5"},onMouseLeave:h=>{h.currentTarget.style.background=""}},f.icon&&d.createElement("div",{style:{flexShrink:0}},f.icon),d.createElement("span",{style:{fontSize:14,fontWeight:500,color:"#212121"}},f.label))),i.length===0&&s.length===0&&d.createElement("p",{className:"ff-text-muted ff-text-center",style:{fontSize:13}},n.noActions)):l.descriptors.map(f=>d.createElement("div",{key:f.type,className:ze,style:Ae,onClick:()=>r(f),role:"button",tabIndex:0,onKeyDown:h=>{h.key==="Enter"&&r(f)},onMouseEnter:h=>{h.currentTarget.style.background="#f5f5f5"},onMouseLeave:h=>{h.currentTarget.style.background=""}},f.icon&&d.createElement("div",{style:{flexShrink:0}},f.icon),d.createElement("span",{style:{fontSize:14,fontWeight:500,color:"#212121"}},f.label))))))},Ct="_conditionConfig",qo=({open:e,nodeId:t,descriptor:n,initialValues:r,messages:o,onSave:i,onClose:s})=>{const[a,c]=d.useState([]),[l,u]=d.useState(!1),[f,h]=d.useState(null),[g,m]=d.useState({});d.useEffect(()=>{m((r==null?void 0:r[Ct])??{})},[r,t]),d.useEffect(()=>{let _=!1;if(h(null),!n||!t){c([]),u(!1);return}const O=n.formSchema;return typeof O=="function"?(u(!0),O(t).then(M=>{_||(c(M),u(!1))}).catch(M=>{_||(c([]),h(M instanceof Error?M.message:"Unable to load configuration."),u(!1))})):(c(O),u(!1)),()=>{_=!0}},[n,t]);const b=t?`node-config-form-${t}`:"node-config-form",p=!l&&!f&&a.length>0,y=p?d.createElement(d.Fragment,null,d.createElement(D.Button,{type:"button",variant:"outlined",size:"small",onClick:s},o.cancel),d.createElement(D.Button,{type:"submit",form:b,variant:"contained",size:"small"},o.save)):null;return d.createElement(_e,{isOpen:e,onClose:s,title:(n==null?void 0:n.label)??o.configureStep,icon:n==null?void 0:n.icon,width:500,footer:y},d.createElement(D.Box,{sx:{p:2}},l&&d.createElement("p",{className:"ff-text-muted",style:{fontSize:13}},o.loadingConfiguration),!l&&f&&d.createElement("p",{style:{fontSize:13,color:"#d32f2f"}},f),!l&&!f&&a.length===0&&d.createElement("p",{className:"ff-text-muted",style:{fontSize:13}},o.noConfigurationNeeded),p&&d.createElement(pn.FlowForm,{schema:{layout:"flat",fields:a},initialValues:r??{},formId:b,conditionConfig:g,onConditionConfigChange:m,onSubmit:_=>{if(!t)return;const O=Object.keys(g).length>0;i(t,{..._,[Ct]:O?g:void 0}),s()}})))},rn=({isOpen:e,onClose:t,workflowId:n,workflowLabel:r,onFetchWorkflow:o})=>{const[i,s]=d.useState({status:"idle"});return d.useEffect(()=>{if(!e||!n){s({status:"idle"});return}s({status:"loading"}),o(n).then(a=>s({status:"loaded",state:a})).catch(a=>s({status:"error",message:(a==null?void 0:a.message)??"Failed to load workflow"}))},[e,n,o]),d.createElement(_e,{isOpen:e,onClose:t,title:r?`Preview: ${r}`:"Sub-Workflow Preview",icon:d.createElement(I.MdAccountTree,{size:18,color:"#00695c"}),width:700},d.createElement("div",{style:{height:"100%",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:24}},i.status==="idle"&&d.createElement("span",{style:{color:"#9e9e9e",fontSize:14}},"Select a workflow to preview"),i.status==="loading"&&d.createElement("div",{style:{textAlign:"center",color:"#9e9e9e"}},d.createElement("div",{style:{width:32,height:32,borderRadius:"50%",border:"3px solid #e0e0e0",borderTopColor:"#00897b",animation:"spin 0.8s linear infinite",margin:"0 auto 12px"}}),d.createElement("span",{style:{fontSize:14}},"Loading workflow…"),d.createElement("style",null,"@keyframes spin { to { transform: rotate(360deg); } }")),i.status==="error"&&d.createElement("div",{style:{textAlign:"center",color:"#c62828"}},d.createElement(I.MdErrorOutline,{size:32,style:{marginBottom:8}}),d.createElement("p",{style:{margin:0,fontSize:14}},i.message)),i.status==="loaded"&&d.createElement("div",{style:{width:"100%",flex:1}},d.createElement(Ko,{state:i.state}))))},Ko=({state:e})=>{const[t,n]=d.useState(null),[r,o]=d.useState(null);return d.useEffect(()=>{Promise.all([Promise.resolve().then(()=>Qo).then(i=>i.default),Promise.resolve().then(()=>require("./nodeRegistry.cjs")).then(i=>i.nodeTypeRegistry),Promise.resolve().then(()=>require("./templateRegistry.cjs")).then(i=>i.templateRegistry)]).then(([i,s,a])=>{n(()=>i),o({nodeTypeRegistry:s,templateRegistry:a})})},[]),!t||!r?d.createElement("div",{style:{color:"#9e9e9e",fontSize:13,textAlign:"center"}},"Loading canvas…"):d.createElement("div",{style:{width:"100%",height:480,border:"1px solid #e0e0e0",borderRadius:8,overflow:"hidden"}},d.createElement(t,{nodeRegistry:r.nodeTypeRegistry,templateRegistry:r.templateRegistry,initialValue:e,readOnly:!0}))},he=350,Be=70,We=60,Ge={startNode:40,endNode:40,addTriggerNode:56,triggerNode:110,actionNode:90,filterNode:90,approvalNode:90,delayNode:80,notificationNode:80},Xo={plusEdge:ee.PlusEdge,labelPlusEdge:ee.LabelPlusEdge,plainEdge:ee.PlainEdge,edgeWithPlusLabel:ee.EdgeWithPlusLabel,gatewayBranchEdge:ee.GatewayBranchEdge};function Ot(){return[{id:"start",kind:"start",reactFlowType:"startNode"},{id:"addTrigger",kind:"addTrigger",reactFlowType:"addTriggerNode"},{id:"end",kind:"end",reactFlowType:"endNode"}]}function Vo(e,t,n,r="TB"){const o=new St.graphlib.Graph;return o.setGraph({rankdir:r,ranksep:70,nodesep:50}),o.setDefaultEdgeLabel(()=>({})),e.forEach(i=>{const s=n[i.id]??{width:he,height:Ge[i.type??""]??80};o.setNode(i.id,{width:s.width,height:s.height})}),t.forEach(i=>o.setEdge(i.source,i.target)),St.layout(o),e.map(i=>{var l,u;const s=o.node(i.id),a=((l=n[i.id])==null?void 0:l.width)??he,c=((u=n[i.id])==null?void 0:u.height)??Ge[i.type??""]??80;return{...i,position:{x:s.x-a/2,y:s.y-c/2}}})}const te=e=>e==="filter"||e==="approval";function Ho(e,t,n,r){const s=Be,a=30,c=30,l={},u={},f=new Map;for(const p of e)f.set(p.id,p);for(const p of Object.values(t))for(const y of Object.values(p))for(const _ of y)f.set(_.id,_);const h=(p,y,_)=>{const O=r[p]??{width:he,height:80};return l[p]={x:y-O.width/2,y:_},_+O.height},g=(p,y,_)=>{let O=_;for(const M of p)O=h(M.id,y,O)+s,te(M.kind)&&t[M.id]&&(O=m(M.id,y,O));return O},m=(p,y,_)=>{const O=y+180,M=t[p],j=Object.keys(M),P=f.get(p),Z=(P==null?void 0:P.branchLabels)??{pass:"Pass",fail:"Fail"},ce=l[p],R=r[p]??{height:80},pe=ce.y+R.height,me=[];let Y=_;return j.forEach((re,K)=>{const F=M[re],X=Y;me.push({y:X-pe,label:Z[re]??re,isPass:K===0}),Y=g(F,O,Y+c),K<j.length-1&&(Y+=a)}),u[p]={branches:me,height:Y-pe,indent:180},Y};let b=We;for(const p of e)b=h(p.id,400,b)+s,te(p.kind)&&t[p.id]&&(b=m(p.id,400,b));return{nodes:n.map(p=>l[p.id]?{...p,position:l[p.id]}:p),railSpecs:u}}function It(e){return{id:e.id,type:e.reactFlowType,position:{x:0,y:0},data:{...e.nodeData,...e.formData,descriptorType:e.descriptorType},draggable:!1,selectable:!1}}function Jo(e,t,n,r,o){return{id:`e-${e.id}-${t.id}`,source:e.id,target:t.id,type:"plusEdge",style:{stroke:n},data:{onAddStepClick:r,referenceNodeType:e.reactFlowType,...o??{}}}}function Zo(e,t,n,r,o={},i="TB",s="horizontal"){const a=o.edgeColor??"#b0bec5",c=[],l=[],u=(m,b)=>{const p=t[m];if(!p)return;const _=b??{pass:"Pass",fail:"Fail"},O=Object.keys(p),M=(j,P,Z,ce)=>{if(j.length!==0){j.forEach(R=>c.push(It(R))),l.push({id:`e-${m}-${P}-start`,source:m,target:j[0].id,type:"gatewayBranchEdge",style:{stroke:a},data:{branch:P,filterId:m,label:Z,isFirst:ce===0,onAddStepClick:n,verticalRouting:s==="vertical"}});for(let R=1;R<j.length;R++)te(j[R-1].kind)||l.push(Jo(j[R-1],j[R],a,n,{filterId:m,branch:P}));for(const R of j)te(R.kind)&&t[R.id]&&u(R.id,R.branchLabels)}};O.forEach((j,P)=>{M(p[j],j,_[j]??j,P)})};for(let m=0;m<e.length;m++){const b=e[m];if(c.push(It(b)),m>0){const p=e[m-1],y=p.kind==="start"||p.kind==="addTrigger";if(p.kind==="filter"||p.kind==="approval")continue;l.push({id:`e-${p.id}-${b.id}`,source:p.id,target:b.id,type:y?"plainEdge":"plusEdge",style:{stroke:a},data:y?{}:{onAddStepClick:n,referenceNodeType:p.reactFlowType}})}(b.kind==="filter"||b.kind==="approval")&&t[b.id]&&u(b.id,b.branchLabels)}const f={};if(c.forEach(m=>{f[m.id]={width:he,height:r[m.id]??Ge[m.type??""]??80}}),!(Object.keys(t).length>0)){if(i==="LR"){let _=We;return{nodes:c.map(M=>{const j=f[M.id].width,P=f[M.id].height,Z={...M,position:{x:_,y:300-P/2}};return _+=j+Be,Z}),edges:l}}const m=400;let b=We;return{nodes:c.map(y=>{const _=f[y.id].height,O={...y,position:{x:m-he/2,y:b}};return b+=_+Be,O}),edges:l}}if(s==="vertical"){const{nodes:m,railSpecs:b}=Ho(e,t,c,f);return{nodes:m.map(y=>b[y.id]?{...y,data:{...y.data,_branchRail:b[y.id]}}:y),edges:l}}return{nodes:Vo(c,l,f,i),edges:l}}const $e=({nodeRegistry:e,templateRegistry:t,initialValue:n,nodeTypes:r,edgeTypes:o,onSave:i,readOnly:s=!1,theme:a={},messages:c,canvasOptions:l={},renderTriggerSelector:u,renderNodePicker:f,renderNodeConfig:h,onNodeClick:g,maxNodes:m,layoutDirection:b="TB",executionRecord:p,onFetchWorkflow:y})=>{const{fitView:_=!0,fitViewPadding:O=.3,showControls:M=!0,showMiniMap:j=!1,panOnScroll:P=!0,zoomOnScroll:Z=!1,minZoom:ce=.25,maxZoom:R=2,snapToGrid:pe=!1,snapGrid:me=[15,15],branchLayout:Y="horizontal",nodeBody:re="full"}=l,K=d.useMemo(()=>mn.mergeMessages(c),[c]),[F,X]=d.useState(()=>(n==null?void 0:n.slots)??Ot()),[U,V]=d.useState(()=>(n==null?void 0:n.branches)??{}),[oe,W]=d.useState(null),[Ne,He]=d.useState(null),[ie,be]=d.useState(null),[Se,Je]=d.useState(null),[Ee,Ze]=d.useState(null),[H,Qe]=d.useState(()=>{const E=n==null?void 0:n.slots.find(v=>v.kind==="triggerFixed"),w=E!=null&&E.id.startsWith("trigger-")?E.id.slice(8):void 0;return w?t.lookup(w)??null:null}),[et,sn]=d.useState({}),an=d.useCallback(E=>{sn(E)},[]),ln=d.useMemo(()=>({...ee.builtInNodeTypes,...r}),[r]),dn=d.useMemo(()=>({...Xo,...o}),[o]),cn=d.useMemo(()=>{const E=F.filter(v=>v.kind==="userTask").length,w=Object.values(U).flatMap(v=>Object.values(v).flat()).filter(v=>v.kind==="userTask").length;return E+w},[F,U]),tt=m??(H==null?void 0:H.maxTasks),nt=tt!==void 0&&cn>=tt,Q=d.useCallback(E=>{const w=F.find(v=>v.id===E);if(w)return w;for(const v of Object.values(U)){const N=Object.values(v).flat().find(k=>k.id===E);if(N)return N}return null},[F,U]),Ce=d.useCallback(E=>{s||(He(E),W("nodeConfig"))},[s]),rt=d.useCallback(E=>{if(!s){if(F.some(w=>w.id===E)){const w=F.find(v=>v.id===E);if((w==null?void 0:w.kind)==="triggerFixed"){X(Ot()),V({}),Qe(null);return}X(v=>{const N=v.filter(k=>k.id!==E);return te((w==null?void 0:w.kind)??"")&&!N.some(k=>k.kind==="end")?[...N,{id:"end",kind:"end",reactFlowType:"endNode"}]:N}),V(v=>{const N={...v},k=x=>{N[x]&&(Object.values(N[x]).flat().filter(T=>te(T.kind)).forEach(T=>k(T.id)),delete N[x])};return k(E),N});return}V(w=>{const v=(k,x)=>{const T=[];for(const S of k)te(S.kind)&&x[S.id]&&(T.push(S.id),Object.values(x[S.id]).forEach(C=>T.push(...v(C,x))));return T},N={...w};for(const k of Object.keys(N))for(const x of Object.keys(N[k])){const T=N[k][x],S=T.findIndex(z=>z.id===E);if(S===-1||T[S].kind==="end")continue;const C=T[S];let L=T.filter(z=>z.id!==E);return C.kind==="filter"&&((C.id in N?v([C],N):[]).forEach(A=>delete N[A]),delete N[C.id],L.some(A=>A.kind==="end")||(L=[...L,{id:`end-${k}-${x}`,kind:"end",reactFlowType:"endNode"}])),N[k]={...N[k],[x]:L},N}return N})}},[s,F]),Oe=d.useCallback(()=>{s||W("triggerSelect")},[s]),ot=d.useCallback((E,w)=>{s||nt||(be(E),Je(w.filterId&&w.branch?{filterId:w.filterId,branch:w.branch}:null),W("nodePicker"))},[s,nt]),it=d.useCallback(E=>{Qe(E),W(null),V({}),X([{id:"start",kind:"start",reactFlowType:"startNode"},{id:`trigger-${E.triggerKey}`,kind:"triggerFixed",reactFlowType:"triggerNode",nodeData:{label:E.label,source:E.source},deletable:!1},{id:"end",kind:"end",reactFlowType:"endNode"}])},[]),st=d.useCallback(()=>{const E=e.list();return(H!=null&&H.availableTasks?E.filter(v=>H.availableTasks.includes(v.type)):E).filter(v=>v.maxPerWorkflow===void 0?!0:F.filter(k=>k.descriptorType===v.type).length+Object.values(U).flatMap(k=>Object.values(k).flat()).filter(k=>k.descriptorType===v.type).length<v.maxPerWorkflow)},[e,H,F,U]),at=d.useCallback(E=>{if(!ie)return;const w=`${E.type}-${Date.now()}`,v=E.reactFlowType==="filterNode"||E.reactFlowType==="approvalNode"||E.reactFlowType==="conditionBranchNode",N=E.branchLabels??{pass:"Pass",fail:"Fail"},k={id:w,kind:v?E.reactFlowType==="approvalNode"?"approval":"filter":"userTask",reactFlowType:E.reactFlowType,descriptorType:E.type,formData:{},nodeData:{title:E.label},deletable:!0,branchLabels:N};if(Se){const{filterId:x,branch:T}=Se;V(S=>{const C=[...S[x][T]];if(v){const J=C.filter(se=>se.kind!=="end"),ft=J.findIndex(se=>se.id===ie),hn=ft===-1?J.length:ft+1;return J.splice(hn,0,k),{...S,[x]:{...S[x],[T]:J},[w]:Object.fromEntries(Object.keys(N).map(se=>[se,[{id:`end-${w}-${se}`,kind:"end",reactFlowType:"endNode"}]]))}}const L=C.findIndex(J=>J.id===ie),z=C.findIndex(J=>J.kind==="end"),A=L===-1?z===-1?C.length:z:L+1;return C.splice(A,0,k),{...S,[x]:{...S[x],[T]:C}}})}else v?(X(x=>{const T=x.findIndex(C=>C.id===ie);return[...x.filter(C=>C.kind!=="end").slice(0,T+1),k]}),V(x=>({...x,[w]:Object.fromEntries(Object.keys(N).map(T=>[T,[{id:`end-${w}-${T}`,kind:"end",reactFlowType:"endNode"}]]))}))):X(x=>{const T=x.findIndex(S=>S.id===ie);return T===-1?x:[...x.slice(0,T+1),k,...x.slice(T+1)]});be(null),Je(null),He(w),W("nodeConfig")},[ie,Se]),lt=d.useCallback((E,w)=>{const v=k=>{const x=Q(E);if((x==null?void 0:x.descriptorType)!=="conditionBranch")return k;const T=w.branchConfigs??[],S=T.map(A=>A.key).filter(Boolean);if(S.length===0)return k;const C=k[E]??{},L={};S.forEach(A=>{L[A]=C[A]??[{id:`end-${E}-${A}`,kind:"end",reactFlowType:"endNode"}]});const z={};return T.forEach(A=>{A.key&&(z[A.key]=A.label||A.key)}),{...k,[E]:L}},N=(k,x)=>{if(k.descriptorType!=="conditionBranch")return{...k,formData:x};const T=x.branchConfigs??[],S={};return T.forEach(C=>{C.key&&(S[C.key]=C.label||C.key)}),{...k,formData:x,branchLabels:S}};if(F.some(k=>k.id===E)){V(k=>{const x=v(k);return X(T=>{const S=T.map(C=>C.id===E?N(C,w):C);return i==null||i({slots:S,branches:x}),S}),x});return}V(k=>{const T={...v(k)};for(const S of Object.keys(T)){const C=L=>L.map(z=>z.id===E?N(z,w):z);for(const L of Object.keys(T[S]))if(T[S][L].some(z=>z.id===E))return T[S]={...T[S],[L]:C(T[S][L])},i==null||i({slots:F,branches:T}),T}return T})},[F,U,Q,i]),q=d.useMemo(()=>Q(Ne??""),[Q,Ne]),dt=d.useMemo(()=>q!=null&&q.descriptorType?e.forType(q.descriptorType)??null:null,[q,e]),{nodes:ct,edges:un}=d.useMemo(()=>Zo(F,U,s?null:ot,et,a,b,Y),[F,U,s,ot,et,a,b,Y]),ut=d.useMemo(()=>{const E=p?new Map(p.steps.map(w=>[w.nodeId,w])):null;return ct.map(w=>{let v={};if(E){const N=E.get(w.id);N&&(v={_executionStatus:N.status,_executionError:N.error})}return w.type==="subWorkflowNode"&&y&&(v.onPreview=N=>{var x;const k=Q(w.id);Ze({workflowId:N,workflowLabel:((x=k==null?void 0:k.formData)==null?void 0:x.workflowLabel)??void 0})}),Object.keys(v).length>0?{...w,data:{...w.data,...v}}:w})},[ct,p,y,Q]),fn=d.useMemo(()=>({onEditNode:Ce,onDeleteNode:rt,onAddStep:()=>{},onClickAddTrigger:Oe,messages:K,nodeRegistry:e,nodeBody:re}),[Ce,rt,Oe,K,e,re]);return d.createElement(ee.WorkflowCanvasContext.Provider,{value:fn},d.createElement("div",{style:{width:"100%",height:"100%",position:"relative","--ff-primary":a.primaryColor??"#1dbf60","--ff-edge-color":a.edgeColor??"#b0bec5","--ff-text":a.textColor??"#212121","--ff-muted":a.mutedTextColor??"#9ca3af","--ff-surface":a.surfaceColor??"#fff","--ff-border":a.borderColor??"#dee2e6","--ff-danger":a.dangerColor??"#d32f2f","--ff-radius":`${a.borderRadius??6}px`,"--ff-font-family":a.fontFamily}},d.createElement(ae,{nodes:ut,edges:un,nodeTypes:ln,edgeTypes:dn,fitView:_,fitViewOptions:{padding:O},nodesDraggable:!1,nodesConnectable:!1,panOnScroll:P,zoomOnScroll:Z,minZoom:ce,maxZoom:R,snapToGrid:pe,snapGrid:me,proOptions:{hideAttribution:!0},onNodeClick:(E,w)=>{const v=Q(w.id);v&&(g!=null&&g(v)||(v.kind==="addTrigger"||v.kind==="triggerFixed"?Oe():(v.kind==="userTask"||v.kind==="filter"||v.kind==="approval")&&Ce(w.id)))}},a.background!=="none"&&d.createElement(ae.Background,{variant:a.background,color:a.backgroundColor??"#e0e0e0",gap:20}),M&&d.createElement(ae.Controls,{showInteractive:!1}),j&&d.createElement(ae.MiniMap,{zoomable:!0,pannable:!0}),d.createElement($o,{onHeightsReady:an,nodeCount:ut.length})),u?oe==="triggerSelect"&&u(t.list(),it,()=>W(null)):d.createElement(Yo,{open:oe==="triggerSelect",templates:t.list(),messages:K,onSelect:it,onClose:()=>W(null)}),f?oe==="nodePicker"&&f(st(),at,()=>{W(null),be(null)}):d.createElement(Uo,{open:oe==="nodePicker",availableDescriptors:st(),messages:K,onSelect:at,onClose:()=>{W(null),be(null)}}),h?oe==="nodeConfig"&&h(dt??void 0,q,lt,()=>W(null)):d.createElement(qo,{open:oe==="nodeConfig",nodeId:Ne,descriptor:dt,initialValues:q==null?void 0:q.formData,messages:K,onSave:lt,onClose:()=>W(null)}),y&&Ee&&d.createElement(rn,{isOpen:!!Ee,onClose:()=>Ze(null),workflowId:Ee.workflowId,workflowLabel:Ee.workflowLabel,onFetchWorkflow:y})))},Qo=Object.freeze(Object.defineProperty({__proto__:null,WorkflowCanvas:$e,default:$e},Symbol.toStringTag,{value:"Module"})),De="All";function ei({template:e,onSelect:t}){var o,i;const n=e.triggerCategory?G.TRIGGER_CATEGORY_STYLE[e.triggerCategory]:null,r=((o=e.skeletonState)==null?void 0:o.slots.filter(s=>s.kind==="userTask").length)??0;return d.createElement("div",{role:"button",tabIndex:0,onClick:t,onKeyDown:s=>{(s.key==="Enter"||s.key===" ")&&t()},style:{border:"1.5px solid #e0e0e0",borderRadius:10,padding:"16px",background:"#fff",cursor:"pointer",transition:"border-color 0.15s, box-shadow 0.15s",display:"flex",flexDirection:"column",gap:8,outline:"none"},onMouseEnter:s=>{s.currentTarget.style.borderColor="#1976d2",s.currentTarget.style.boxShadow="0 2px 8px rgba(25,118,210,0.12)"},onMouseLeave:s=>{s.currentTarget.style.borderColor="#e0e0e0",s.currentTarget.style.boxShadow="none"}},d.createElement("div",{style:{display:"flex",alignItems:"flex-start",gap:10}},e.icon&&d.createElement("div",{style:{flexShrink:0,width:36,height:36,borderRadius:8,background:"#f5f5f5",display:"flex",alignItems:"center",justifyContent:"center"}},e.icon),d.createElement("div",{style:{flex:1,minWidth:0}},d.createElement("div",{style:{fontWeight:600,fontSize:14,color:"#212121",marginBottom:2}},e.label),e.description&&d.createElement("div",{style:{fontSize:12,color:"#757575",lineHeight:1.4,display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden"}},e.description))),d.createElement("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:4}},n&&d.createElement("span",{style:{fontSize:10,fontWeight:600,padding:"2px 7px",borderRadius:10,background:n.bg,color:n.color}},n.label),(i=e.tags)==null?void 0:i.map(s=>d.createElement("span",{key:s,style:{fontSize:10,padding:"2px 7px",borderRadius:10,background:"#f5f5f5",color:"#616161"}},s)),r>0&&d.createElement("span",{style:{fontSize:10,color:"#9e9e9e",marginLeft:"auto"}},r," step",r!==1?"s":"")),e.author&&d.createElement("div",{style:{fontSize:11,color:"#bdbdbd"}},"by ",e.author))}const ti=({templates:e,onSelectTemplate:t,onStartFromScratch:n})=>{const[r,o]=d.useState(""),[i,s]=d.useState(De),a=d.useMemo(()=>{const l=new Set;return e.forEach(u=>{u.category&&l.add(u.category)}),[De,...Array.from(l)]},[e]),c=d.useMemo(()=>{let l=e;if(i!==De&&(l=l.filter(u=>u.category===i)),r.trim()){const u=r.toLowerCase();l=l.filter(f=>{var h,g;return f.label.toLowerCase().includes(u)||((h=f.description)==null?void 0:h.toLowerCase().includes(u))||((g=f.tags)==null?void 0:g.some(m=>m.toLowerCase().includes(u)))})}return[...l].sort((u,f)=>(f.popularity??0)-(u.popularity??0))},[e,i,r]);return d.createElement("div",{style:{display:"flex",flexDirection:"column",height:"100%",fontFamily:"inherit"}},d.createElement("div",{style:{padding:"24px 24px 0",borderBottom:"1px solid #f0f0f0",paddingBottom:16}},d.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:16}},d.createElement("div",null,d.createElement("h2",{style:{margin:0,fontSize:20,fontWeight:700,color:"#212121"}},"Workflow Templates"),d.createElement("p",{style:{margin:"4px 0 0",fontSize:13,color:"#757575"}},"Choose a pre-built template or start from scratch")),n&&d.createElement("button",{onClick:n,style:{display:"flex",alignItems:"center",gap:6,padding:"8px 16px",border:"1.5px solid #1976d2",borderRadius:6,background:"#fff",color:"#1976d2",fontSize:13,fontWeight:600,cursor:"pointer"}},d.createElement(I.MdAdd,{size:16}),"Start from Scratch")),d.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,background:"#f5f5f5",borderRadius:8,padding:"8px 12px",marginBottom:12}},d.createElement(I.MdSearch,{size:18,color:"#9e9e9e"}),d.createElement("input",{value:r,onChange:l=>o(l.target.value),placeholder:"Search templates...",style:{border:"none",background:"transparent",outline:"none",fontSize:14,color:"#212121",flex:1}})),a.length>1&&d.createElement("div",{style:{display:"flex",gap:4,flexWrap:"wrap"}},a.map(l=>d.createElement("button",{key:l,onClick:()=>s(l),style:{padding:"4px 12px",borderRadius:20,border:"1.5px solid",borderColor:i===l?"#1976d2":"#e0e0e0",background:i===l?"#e3f2fd":"#fff",color:i===l?"#1565c0":"#616161",fontSize:12,fontWeight:i===l?600:400,cursor:"pointer"}},l)))),d.createElement("div",{style:{flex:1,overflowY:"auto",padding:24}},c.length===0?d.createElement("div",{style:{textAlign:"center",padding:"40px 0",color:"#9e9e9e"}},d.createElement(I.MdCategory,{size:36,style:{marginBottom:8}}),d.createElement("p",{style:{margin:0,fontSize:14}},"No templates found")):d.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(280px, 1fr))",gap:16}},c.map(l=>d.createElement(ei,{key:l.triggerKey,template:l,onSelect:()=>t(l)})))))},ye={running:{label:"Running",color:G.EXECUTION_STATUS_COLOR.running,icon:d.createElement(I.MdPlayArrow,{size:14})},success:{label:"Success",color:G.EXECUTION_STATUS_COLOR.success,icon:d.createElement(I.MdCheckCircle,{size:14})},failed:{label:"Failed",color:G.EXECUTION_STATUS_COLOR.failed,icon:d.createElement(I.MdError,{size:14})},cancelled:{label:"Cancelled",color:G.EXECUTION_STATUS_COLOR.cancelled,icon:d.createElement(I.MdCancel,{size:14})}},ni={pending:{color:G.EXECUTION_STATUS_COLOR.pending,icon:d.createElement(I.MdHourglassEmpty,{size:14})},running:{color:G.EXECUTION_STATUS_COLOR.running,icon:d.createElement(I.MdPlayArrow,{size:14})},success:{color:G.EXECUTION_STATUS_COLOR.success,icon:d.createElement(I.MdCheckCircle,{size:14})},failed:{color:G.EXECUTION_STATUS_COLOR.failed,icon:d.createElement(I.MdError,{size:14})},skipped:{color:G.EXECUTION_STATUS_COLOR.skipped,icon:d.createElement(I.MdCancel,{size:14})}};function Ye(e){try{return new Date(e).toLocaleString()}catch{return e}}function on(e,t){try{const n=new Date(t??new Date().toISOString()).getTime()-new Date(e).getTime();return n<1e3?`${n}ms`:n<6e4?`${(n/1e3).toFixed(1)}s`:`${Math.floor(n/6e4)}m ${Math.floor(n%6e4/1e3)}s`}catch{return"—"}}function ri({step:e}){const[t,n]=d.useState(!1),r=ni[e.status],o=!!(e.inputs||e.outputs||e.error);return d.createElement("div",{style:{borderBottom:"1px solid #f5f5f5"}},d.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 12px",cursor:o?"pointer":"default"},onClick:()=>{o&&n(i=>!i)},role:o?"button":void 0,tabIndex:o?0:void 0,onKeyDown:i=>{o&&(i.key==="Enter"||i.key===" ")&&n(s=>!s)}},d.createElement("span",{style:{color:r.color,flexShrink:0}},d.cloneElement(r.icon,{color:r.color})),d.createElement("span",{style:{flex:1,fontSize:13,color:"#212121"}},e.label||e.nodeId),e.branchTaken&&d.createElement("span",{style:{fontSize:10,padding:"1px 6px",borderRadius:10,background:"#e3f2fd",color:"#1565c0",fontWeight:600}},e.branchTaken),d.createElement("span",{style:{fontSize:11,color:"#9e9e9e",flexShrink:0}},e.startedAt?on(e.startedAt,e.completedAt):"—"),o&&d.createElement("span",{style:{color:"#9e9e9e",flexShrink:0}},t?d.createElement(I.MdExpandLess,{size:16}):d.createElement(I.MdExpandMore,{size:16}))),t&&o&&d.createElement("div",{style:{padding:"0 12px 10px 32px",fontSize:12}},e.error&&d.createElement("div",{style:{padding:"6px 10px",borderRadius:6,background:"#ffebee",color:"#c62828",marginBottom:6}},e.error),e.inputs&&Object.keys(e.inputs).length>0&&d.createElement("details",{style:{marginBottom:4}},d.createElement("summary",{style:{cursor:"pointer",color:"#616161",marginBottom:4}},"Inputs"),d.createElement("pre",{style:{margin:0,fontSize:11,background:"#f5f5f5",padding:8,borderRadius:4,overflowX:"auto"}},JSON.stringify(e.inputs,null,2))),e.outputs&&Object.keys(e.outputs).length>0&&d.createElement("details",null,d.createElement("summary",{style:{cursor:"pointer",color:"#616161",marginBottom:4}},"Outputs"),d.createElement("pre",{style:{margin:0,fontSize:11,background:"#f5f5f5",padding:8,borderRadius:4,overflowX:"auto"}},JSON.stringify(e.outputs,null,2)))))}function oi({record:e,selected:t,onSelect:n}){const r=ye[e.status];return d.createElement("div",{role:"button",tabIndex:0,onClick:n,onKeyDown:o=>{(o.key==="Enter"||o.key===" ")&&n()},style:{padding:"10px 14px",borderBottom:"1px solid #f0f0f0",cursor:"pointer",background:t?"#e3f2fd":"#fff",display:"flex",alignItems:"center",gap:10,outline:"none"}},d.createElement("span",{style:{color:r.color,flexShrink:0}},d.cloneElement(r.icon,{color:r.color,size:16})),d.createElement("div",{style:{flex:1,minWidth:0}},d.createElement("div",{style:{fontSize:12,color:"#212121",fontWeight:t?600:400,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},Ye(e.triggeredAt)),d.createElement("div",{style:{fontSize:11,color:"#9e9e9e"}},e.triggeredBy?`by ${e.triggeredBy}`:"System"," · ",e.steps.length," step",e.steps.length!==1?"s":"")),d.createElement("span",{style:{fontSize:11,fontWeight:600,color:r.color,flexShrink:0}},r.label),d.createElement(I.MdChevronRight,{size:14,color:"#bdbdbd"}))}const ii=({records:e,onViewOnCanvas:t})=>{var s;const[n,r]=d.useState(((s=e[0])==null?void 0:s.id)??null),o=e.find(a=>a.id===n)??null,i=[...e].sort((a,c)=>new Date(c.triggeredAt).getTime()-new Date(a.triggeredAt).getTime());return e.length===0?d.createElement("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:300,color:"#9e9e9e",gap:8}},d.createElement(I.MdSchedule,{size:36}),d.createElement("p",{style:{margin:0,fontSize:14}},"No executions yet"),d.createElement("p",{style:{margin:0,fontSize:12}},"Run history will appear here")):d.createElement("div",{style:{display:"flex",height:"100%",fontFamily:"inherit",border:"1px solid #e0e0e0",borderRadius:8,overflow:"hidden"}},d.createElement("div",{style:{width:260,flexShrink:0,borderRight:"1px solid #e0e0e0",overflowY:"auto",background:"#fafafa"}},d.createElement("div",{style:{padding:"12px 14px",borderBottom:"1px solid #e0e0e0",fontWeight:600,fontSize:13,color:"#212121"}},"Run History (",e.length,")"),i.map(a=>d.createElement(oi,{key:a.id,record:a,selected:a.id===n,onSelect:()=>r(a.id)}))),d.createElement("div",{style:{flex:1,overflowY:"auto"}},o?d.createElement("div",null,d.createElement("div",{style:{padding:"16px 20px",borderBottom:"1px solid #f0f0f0",display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:12}},d.createElement("div",null,d.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:4}},d.cloneElement(ye[o.status].icon,{color:ye[o.status].color,size:18}),d.createElement("span",{style:{fontWeight:700,fontSize:15,color:"#212121"}},ye[o.status].label)),d.createElement("div",{style:{fontSize:12,color:"#757575",display:"flex",flexDirection:"column",gap:2}},d.createElement("span",{style:{display:"flex",alignItems:"center",gap:4}},d.createElement(I.MdSchedule,{size:13})," ",Ye(o.triggeredAt),o.completedAt&&` → ${Ye(o.completedAt)} (${on(o.triggeredAt,o.completedAt)})`),o.triggeredBy&&d.createElement("span",{style:{display:"flex",alignItems:"center",gap:4}},d.createElement(I.MdPerson,{size:13})," ",o.triggeredBy))),t&&d.createElement("button",{onClick:()=>t(o),style:{padding:"6px 12px",border:"1.5px solid #1976d2",borderRadius:6,background:"#fff",color:"#1976d2",fontSize:12,fontWeight:600,cursor:"pointer",flexShrink:0}},"View on Canvas")),o.error&&d.createElement("div",{style:{margin:"12px 16px",padding:"10px 14px",borderRadius:6,background:"#ffebee",color:"#c62828",fontSize:13}},o.error),d.createElement("div",null,d.createElement("div",{style:{padding:"10px 12px",fontSize:12,fontWeight:600,color:"#757575",borderBottom:"1px solid #f0f0f0"}},"STEPS (",o.steps.length,")"),o.steps.map((a,c)=>d.createElement(ri,{key:`${a.nodeId}-${c}`,step:a}))),o.inputs&&Object.keys(o.inputs).length>0&&d.createElement("div",{style:{padding:"10px 16px"}},d.createElement("details",null,d.createElement("summary",{style:{cursor:"pointer",fontSize:12,fontWeight:600,color:"#757575",marginBottom:6}},"TRIGGER INPUTS"),d.createElement("pre",{style:{margin:0,fontSize:11,background:"#f5f5f5",padding:10,borderRadius:4,overflowX:"auto"}},JSON.stringify(o.inputs,null,2))))):d.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",color:"#9e9e9e",fontSize:14}},"Select a run to see details")))},si={slots:[{id:"start",kind:"start",reactFlowType:"startNode",deletable:!1},{id:"trigger-END_USER_CREATION",kind:"triggerFixed",reactFlowType:"triggerNode",deletable:!0,label:"New User Registration",nodeData:{label:"New User Registration"}},{id:"notification-1",kind:"userTask",reactFlowType:"notificationNode",descriptorType:"notification",deletable:!0,label:"Welcome Email",nodeData:{title:"Welcome Email"}},{id:"approval-1",kind:"approval",reactFlowType:"approvalNode",descriptorType:"approval",deletable:!0,label:"Manager Approval",branchLabels:{pass:"Approved",fail:"Rejected"}},{id:"end",kind:"end",reactFlowType:"endNode",deletable:!1}],branches:{"approval-1":{pass:[{id:"notification-pass-1",kind:"userTask",reactFlowType:"notificationNode",descriptorType:"notification",deletable:!0,label:"Approval Confirmed",nodeData:{title:"Approval Confirmed"}}],fail:[{id:"notification-fail-1",kind:"userTask",reactFlowType:"notificationNode",descriptorType:"notification",deletable:!0,label:"Rejection Notice",nodeData:{title:"Rejection Notice"}}]}}},ai={slots:[{id:"start",kind:"start",reactFlowType:"startNode",deletable:!1},{id:"trigger-ACCESS_REQUEST",kind:"triggerFixed",reactFlowType:"triggerNode",deletable:!0,label:"Access Request Submitted",nodeData:{label:"Access Request Submitted"}},{id:"approval-1",kind:"approval",reactFlowType:"approvalNode",descriptorType:"approval",deletable:!0,label:"Access Approval",branchLabels:{pass:"Approved",fail:"Denied"}},{id:"end",kind:"end",reactFlowType:"endNode",deletable:!1}],branches:{"approval-1":{pass:[{id:"restApi-1",kind:"userTask",reactFlowType:"restApiNode",descriptorType:"restApi",deletable:!0,label:"Provision Access",nodeData:{title:"Provision Access"}},{id:"notification-pass-1",kind:"userTask",reactFlowType:"notificationNode",descriptorType:"notification",deletable:!0,label:"Access Granted Email",nodeData:{title:"Access Granted Email"}}],fail:[{id:"notification-fail-1",kind:"userTask",reactFlowType:"notificationNode",descriptorType:"notification",deletable:!0,label:"Access Denied Email",nodeData:{title:"Access Denied Email"}}]}}},li={slots:[{id:"start",kind:"start",reactFlowType:"startNode",deletable:!1},{id:"trigger-USER_DEACTIVATION",kind:"triggerFixed",reactFlowType:"triggerNode",deletable:!0,label:"User Deactivation",nodeData:{label:"User Deactivation"}},{id:"delay-1",kind:"userTask",reactFlowType:"delayNode",descriptorType:"delay",deletable:!0,label:"Grace Period",nodeData:{title:"Grace Period",duration:7,unit:"days"},formData:{duration:7,unit:"days"}},{id:"notification-1",kind:"userTask",reactFlowType:"notificationNode",descriptorType:"notification",deletable:!0,label:"Notify IT Team",nodeData:{title:"Notify IT Team"}},{id:"end",kind:"end",reactFlowType:"endNode",deletable:!1}],branches:{}},di={slots:[{id:"start",kind:"start",reactFlowType:"startNode",deletable:!1},{id:"trigger-WEBHOOK_TRIGGER",kind:"triggerFixed",reactFlowType:"webhookTriggerNode",deletable:!0,label:"Incoming Webhook",nodeData:{label:"Incoming Webhook"}},{id:"restApi-1",kind:"userTask",reactFlowType:"restApiNode",descriptorType:"restApi",deletable:!0,label:"Call External API",nodeData:{title:"Call External API"}},{id:"notification-1",kind:"userTask",reactFlowType:"notificationNode",descriptorType:"notification",deletable:!0,label:"Notify on Completion",nodeData:{title:"Notify on Completion"}},{id:"end",kind:"end",reactFlowType:"endNode",deletable:!1}],branches:{}};exports.FlowForgeCanvas=$e;exports.SubWorkflowPreviewDrawer=rn;exports.WorkflowExecutionHistory=ii;exports.WorkflowTemplateLibrary=ti;exports.accessRequestSkeleton=ai;exports.offboardingSkeleton=li;exports.userOnboardingSkeleton=si;exports.webhookIntegrationSkeleton=di;
|