@multiplatform.one/node-graph 7.7.3 → 7.7.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.
Files changed (74) hide show
  1. package/dist/esm/NodeGraph.native.js.map +1 -1
  2. package/dist/esm/bench/frameSampler.native.js.map +1 -1
  3. package/dist/esm/bench/generateGraph.native.js.map +1 -1
  4. package/dist/esm/diagnostics/GraphDiagnostics.native.js.map +1 -1
  5. package/dist/esm/diagnostics/LiveGraphDiagnostics.native.js.map +1 -1
  6. package/dist/esm/diagnostics/fromWire.native.js.map +1 -1
  7. package/dist/esm/diagnostics/lastError.native.js.map +1 -1
  8. package/dist/esm/diagnostics/types.native.js.map +1 -1
  9. package/dist/esm/diagnostics/useGraphDiagnostics.native.js.map +1 -1
  10. package/dist/esm/dom/GraphDomLayout.native.js.map +1 -1
  11. package/dist/esm/dom/boot.native.js.map +1 -1
  12. package/dist/esm/dom/wire.native.js.map +1 -1
  13. package/dist/esm/edges/GraphEdge.native.js.map +1 -1
  14. package/dist/esm/edges/edgeKinds.native.js.map +1 -1
  15. package/dist/esm/edges/edgeStyle.native.js.map +1 -1
  16. package/dist/esm/index.native.js.map +1 -1
  17. package/dist/esm/interaction/lassoIntercept.native.js.map +1 -1
  18. package/dist/esm/interaction/legalTargets.native.js.map +1 -1
  19. package/dist/esm/interaction/snapAlignment.native.js.map +1 -1
  20. package/dist/esm/interaction/snapChanges.native.js.map +1 -1
  21. package/dist/esm/interaction/spatialHash.native.js.map +1 -1
  22. package/dist/esm/interaction/useLassoSelect.native.js.map +1 -1
  23. package/dist/esm/knobs/KnobEnvelopeProvider.native.js.map +1 -1
  24. package/dist/esm/knobs/envelope.native.js.map +1 -1
  25. package/dist/esm/knobs/graphKnobs.native.js.map +1 -1
  26. package/dist/esm/knobs/useKnobEnvelope.native.js.map +1 -1
  27. package/dist/esm/layout/dagre.native.js.map +1 -1
  28. package/dist/esm/layout/layout.native.js.map +1 -1
  29. package/dist/esm/layout/runner.native.js.map +1 -1
  30. package/dist/esm/layout/structuredCloneShim.native.js.map +1 -1
  31. package/dist/esm/layout/types.native.js.map +1 -1
  32. package/dist/esm/layout/worker.entry.native.js.map +1 -1
  33. package/dist/esm/layout/worker.generated.native.js.map +1 -1
  34. package/dist/esm/model/commands.native.js.map +1 -1
  35. package/dist/esm/model/connect.native.js.map +1 -1
  36. package/dist/esm/model/document.native.js.map +1 -1
  37. package/dist/esm/model/history.native.js.map +1 -1
  38. package/dist/esm/model/index.native.js.map +1 -1
  39. package/dist/esm/model/schema.native.js.map +1 -1
  40. package/dist/esm/model/select.native.js.map +1 -1
  41. package/dist/esm/model/serialize.native.js.map +1 -1
  42. package/dist/esm/native/DomOnlyStory.native.js.map +1 -1
  43. package/dist/esm/native/GraphToolbar.native.js.map +1 -1
  44. package/dist/esm/native/domEntryRegistry.native.js.map +1 -1
  45. package/dist/esm/native/graphChildren.native.js.map +1 -1
  46. package/dist/esm/nodes/GraphNode.native.js.map +1 -1
  47. package/dist/esm/nodes/GraphPort.native.js.map +1 -1
  48. package/dist/esm/nodes/handleGeometry.native.js.map +1 -1
  49. package/dist/esm/nodes/lod.native.js.map +1 -1
  50. package/dist/esm/nodes/nodeMeasure.native.js.map +1 -1
  51. package/dist/esm/nodes/overviewNode.native.js.map +1 -1
  52. package/dist/esm/react-flow/ConnectionPuck.native.js.map +1 -1
  53. package/dist/esm/react-flow/GraphActions.native.js.map +1 -1
  54. package/dist/esm/react-flow/GraphCommandBridge.native.js.map +1 -1
  55. package/dist/esm/react-flow/GraphNodeHost.native.js.map +1 -1
  56. package/dist/esm/react-flow/GraphPaintProbe.native.js.map +1 -1
  57. package/dist/esm/react-flow/GraphZoomVar.native.js.map +1 -1
  58. package/dist/esm/react-flow/LassoOverlay.native.js.map +1 -1
  59. package/dist/esm/react-flow/NodeGraphWeb.native.js.map +1 -1
  60. package/dist/esm/react-flow/SnapGuides.native.js.map +1 -1
  61. package/dist/esm/react-flow/demoControlBody.native.js.map +1 -1
  62. package/dist/esm/react-flow/demoNodeBody.native.js.map +1 -1
  63. package/dist/esm/react-flow/fixtures.native.js.map +1 -1
  64. package/dist/esm/react-flow/flowAdapter.native.js.map +1 -1
  65. package/dist/esm/react-flow/graphHandle.native.js.map +1 -1
  66. package/dist/esm/react-flow/nodeCensus.native.js.map +1 -1
  67. package/dist/esm/react-flow/useGraphController.native.js.map +1 -1
  68. package/dist/esm/react-flow/xy.native.js.map +1 -1
  69. package/dist/esm/theme/GraphFaces.native.js.map +1 -1
  70. package/dist/esm/theme/GraphVarsStyle.native.js.map +1 -1
  71. package/dist/esm/theme/faces.generated.native.js.map +1 -1
  72. package/dist/esm/theme/faces.native.js.map +1 -1
  73. package/dist/esm/theme/graphVars.native.js.map +1 -1
  74. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"names":["layoutWorkerSource","layoutWorkerSha256","layoutWorkerBytes"],"sources":["../../../src/layout/worker.generated.ts"],"sourcesContent":[null],"mappings":"AA0BO,IAAAA,kBAAM,wrjDAA6B;AAGnC,IAAAC,kBAAM,qEAAqB;AAE3B,IAAAC,iBAAM,QAAoB","ignoreList":[]}
1
+ {"version":3,"names":["layoutWorkerSource","layoutWorkerSha256","layoutWorkerBytes"],"sources":["worker.generated.native.js"],"sourcesContent":["var layoutWorkerSource = '\"use strict\";(()=>{var je=Object.defineProperty,ot=(e,t,r)=>t in e?je(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,it=(e,t)=>{for(var r in t)je(e,r,{get:t[r],enumerable:!0})},st=(e,t,r)=>ot(e,typeof t!=\"symbol\"?t+\"\":t,r),dt={};it(dt,{Graph:()=>T,alg:()=>ne});var lt=Object.defineProperty,Ce=(e,t)=>{for(var r in t)lt(e,r,{get:t[r],enumerable:!0})},re=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(r=>{t!==void 0?this.setNode(r,t):this.setNode(r)}),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=r=>this.removeEdge(this._edgeObjs[r]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],this.children(e).forEach(r=>{this.setParent(r)}),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 r=t;r!==void 0;r=this.parent(r))if(r===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 r=new Set(t),n=this.successors(e);if(n)for(let o of n)r.add(o);return Array.from(r.values())}}isLeaf(e){var t;let r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),((t=r==null?void 0:r.length)!=null?t:0)===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 r={},n=o=>{let i=this.parent(o);return!i||t.hasNode(i)?(r[o]=i,i):i in r?r[i]:n(i)};return this._isCompound&&t.nodes().forEach(o=>t.setParent(o,n(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((r,n)=>(t!==void 0?this.setEdge(r,n,t):this.setEdge(r,n),n)),this}setEdge(e,t,r,n){let o,i,s,d,a=!1;typeof e==\"object\"&&e!==null&&\"v\"in e?(o=e.v,i=e.w,s=e.name,arguments.length===2&&(d=t,a=!0)):(o=e,i=t,s=n,arguments.length>2&&(d=r,a=!0)),o=\"\"+o,i=\"\"+i,s!==void 0&&(s=\"\"+s);let l=A(this._isDirected,o,i,s);if(l in this._edgeLabels)return a&&(this._edgeLabels[l]=d),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]=a?d:this._defaultEdgeLabelFn(o,i,s);let u=at(this._isDirected,o,i,s);return o=u.v,i=u.w,Object.freeze(u),this._edgeObjs[l]=u,ae(this._preds[i],o),ae(this._sucs[o],i),this._in[i][l]=u,this._out[o][l]=u,this._edgeCount++,this}edge(e,t,r){let n=arguments.length===1?K(this._isDirected,e):A(this._isDirected,e,t,r);return this._edgeLabels[n]}edgeAsObj(e,t,r){let n=arguments.length===1?this.edge(e):this.edge(e,t,r);return typeof n!=\"object\"||n===null?{label:n}:n}hasEdge(e,t,r){return(arguments.length===1?K(this._isDirected,e):A(this._isDirected,e,t,r))in this._edgeLabels}removeEdge(e,t,r){let n=arguments.length===1?K(this._isDirected,e):A(this._isDirected,e,t,r),o=this._edgeObjs[n];if(o){let i=o.v,s=o.w;delete this._edgeLabels[n],delete this._edgeObjs[n],ue(this._preds[s],i),ue(this._sucs[i],s),delete this._in[s][n],delete this._out[i][n],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,r){if(!e)return;let n=Object.values(e);return r?n.filter(o=>o.v===t&&o.w===r||o.v===r&&o.w===t):n}};function ae(e,t){e[t]?e[t]++:e[t]=1}function ue(e,t){e[t]!==void 0&&!--e[t]&&delete e[t]}function A(e,t,r,n){let o=\"\"+t,i=\"\"+r;if(!e&&o>i){let s=o;o=i,i=s}return o+\"\u0001\"+i+\"\u0001\"+(n===void 0?\"\\\\0\":n)}function at(e,t,r,n){let o=\"\"+t,i=\"\"+r;if(!e&&o>i){let d=o;o=i,i=d}let s={v:o,w:i};return n&&(s.name=n),s}function K(e,t){return A(e,t.v,t.w,t.name)}var ut={};Ce(ut,{read:()=>gt,write:()=>ht});function ht(e){let t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:ct(e),edges:ft(e)},r=e.graph();return r!==void 0&&(t.value=structuredClone(r)),t}function ct(e){return e.nodes().map(t=>{let r=e.node(t),n=e.parent(t),o={v:t};return r!==void 0&&(o.value=r),n!==void 0&&(o.parent=n),o})}function ft(e){return e.edges().map(t=>{let r=e.edge(t),n={v:t.v,w:t.w};return t.name!==void 0&&(n.name=t.name),r!==void 0&&(n.value=r),n})}function gt(e){let t=new re(e.options);return e.value!==void 0&&t.setGraph(e.value),e.nodes.forEach(r=>{t.setNode(r.v,r.value),r.parent&&t.setParent(r.v,r.parent)}),e.edges.forEach(r=>{t.setEdge({v:r.v,w:r.w,name:r.name},r.value)}),t}var ne={};Ce(ne,{CycleException:()=>W,bellmanFord:()=>Le,components:()=>wt,dijkstra:()=>B,dijkstraAll:()=>Et,findCycles:()=>yt,floydWarshall:()=>kt,isAcyclic:()=>Nt,postorder:()=>It,preorder:()=>jt,prim:()=>Ct,shortestPaths:()=>Lt,tarjan:()=>Me,topsort:()=>Te});var pt=()=>1;function Le(e,t,r,n){return mt(e,String(t),r||pt,n||function(o){var i;return(i=e.outEdges(o))!=null?i:[]})}function mt(e,t,r,n){let o={},i,s=0,d=e.nodes(),a=function(h){let c=o[h.v],g=o[h.w];if(!c||!g)return;let w=r(h);c.distance+w<g.distance&&(o[h.w]={distance:c.distance+w,predecessor:h.v},i=!0)},l=function(){d.forEach(function(h){n(h).forEach(function(c){let g=c.v===h?c.v:c.w,w=g===c.v?c.w:c.v;a({v:g,w})})})};d.forEach(function(h){let c=h===t?0:Number.POSITIVE_INFINITY;o[h]={distance:c,predecessor:\"\"}});let u=d.length;for(let h=1;h<u&&(i=!1,s++,l(),!!i);h++);if(s===u-1&&(i=!1,l(),i))throw new Error(\"The graph contains a negative weight cycle\");return o}function wt(e){let t={},r=[],n;function o(i){var s,d;i in t||(t[i]=!0,n.push(i),(s=e.successors(i))==null||s.forEach(o),(d=e.predecessors(i))==null||d.forEach(o))}return e.nodes().forEach(function(i){n=[],o(i),n.length&&r.push(n)}),r}var Se=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 r=this._keyIndices,n=String(e);if(!(n in r)){let o=this._arr,i=o.length;return r[n]=i,o.push({key:n,priority:t}),this._decrease(i),!0}return!1}removeMin(){if(this.size()===0)throw new Error(\"Queue underflow\");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 r=this._keyIndices[e];if(r===void 0)throw new Error(`Key not found: ${e}`);let n=this._arr[r].priority;if(t>n)throw new Error(`New priority is greater than current priority. Key: ${e} Old: ${n} New: ${t}`);this._arr[r].priority=t,this._decrease(r)}_heapify(e){let t=this._arr,r=2*e,n=r+1,o=e;r<t.length&&(o=t[r].priority<t[o].priority?r:o,n<t.length&&(o=t[n].priority<t[o].priority?n:o),o!==e&&(this._swap(e,o),this._heapify(o)))}_decrease(e){let t=this._arr,r=t[e].priority,n;for(;e!==0&&(n=e>>1,!(t[n].priority<r));)this._swap(e,n),e=n}_swap(e,t){let r=this._arr,n=this._keyIndices,o=r[e],i=r[t];r[e]=i,r[t]=o,n[i.key]=e,n[o.key]=t}},vt=()=>1;function B(e,t,r,n){let o=function(i){var s;return(s=e.outEdges(i))!=null?s:[]};return bt(e,String(t),r||vt,n||o)}function bt(e,t,r,n){let o={},i=new Se,s,d,a=function(l){let u=l.v!==s?l.v:l.w,h=o[u];if(!h)return;let c=r(l),g=d.distance+c;if(c<0)throw new Error(\"dijkstra does not allow negative edge weights. Bad edge: \"+l+\" Weight: \"+c);g<h.distance&&(h.distance=g,h.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();let l=o[s];if(!l||l.distance===Number.POSITIVE_INFINITY)break;d=l,n(s).forEach(a)}return o}function Et(e,t,r){return e.nodes().reduce(function(n,o){return n[o]=B(e,o,t,r),n},{})}function Me(e){let t=0,r=[],n={},o=[];function i(s){var d;let a=n[s]={onStack:!0,lowlink:t,index:t++};if(r.push(s),(d=e.successors(s))==null||d.forEach(function(l){if(l in n){let u=n[l];u!=null&&u.onStack&&(a.lowlink=Math.min(a.lowlink,u.index))}else{i(l);let u=n[l];u&&(a.lowlink=Math.min(a.lowlink,u.lowlink))}}),a.lowlink===a.index){let l=[],u;do{u=r.pop();let h=n[u];h&&(h.onStack=!1),l.push(u)}while(s!==u);o.push(l)}}return e.nodes().forEach(function(s){s in n||i(s)}),o}function yt(e){return Me(e).filter(function(t){var r;let n=t[0];return n?t.length>1||t.length===1&&((r=e.outEdges(n,n))!=null?r:[]).length>0:!1})}var _t=()=>1;function kt(e,t,r){return xt(e,t||_t,r||function(n){var o;return(o=e.outEdges(n))!=null?o:[]})}function xt(e,t,r){let n={},o=e.nodes();return o.forEach(function(i){let s={};n[i]=s,s[i]={distance:0,predecessor:\"\"},o.forEach(function(d){i!==d&&(s[d]={distance:Number.POSITIVE_INFINITY,predecessor:\"\"})}),r(i).forEach(function(d){let a=d.v===i?d.w:d.v,l=t(d);s[a]={distance:l,predecessor:i}})}),o.forEach(function(i){let s=n[i];s&&o.forEach(function(d){let a=n[d];a&&o.forEach(function(l){let u=a[i],h=s[l],c=a[l];if(u&&h&&c){let g=u.distance+h.distance;g<c.distance&&(c.distance=g,c.predecessor=h.predecessor)}})})}),n}var W=class extends Error{constructor(e){super(e),this.name=\"CycleException\"}};function Te(e){let t={},r={},n=[];function o(i){var s;if(i in r)throw new W;i in t||(r[i]=!0,t[i]=!0,(s=e.predecessors(i))==null||s.forEach(o),delete r[i],n.push(i))}if(e.sinks().forEach(o),Object.keys(t).length!==e.nodeCount())throw new W;return n}function Nt(e){try{Te(e)}catch(t){if(t instanceof W)return!1;throw t}return!0}function Ot(e,t,r,n,o){Array.isArray(t)||(t=[t]);let i=(d=>{var a;return(a=e.isDirected()?e.successors(d):e.neighbors(d))!=null?a:[]}),s={};return t.forEach(function(d){if(!e.hasNode(d))throw new Error(\"Graph does not have node: \"+d);o=Re(e,d,r===\"post\",s,i,n,o)}),o}function Re(e,t,r,n,o,i,s){return t in n||(n[t]=!0,r||(s=i(s,t)),o(t).forEach(function(d){s=Re(e,d,r,n,o,i,s)}),r&&(s=i(s,t))),s}function Pe(e,t,r){return Ot(e,t,r,function(n,o){return n.push(o),n},[])}function It(e,t){return Pe(e,t,\"post\")}function jt(e,t){return Pe(e,t,\"pre\")}function Ct(e,t){var r;let n=new re,o={},i=new Se,s;function d(u){let h=u.v===s?u.w:u.v,c=i.priority(h);if(c!==void 0){let g=t(u);g<c&&(o[h]=s,i.decrease(h,g))}}if(e.nodeCount()===0)return n;e.nodes().forEach(function(u){i.add(u,Number.POSITIVE_INFINITY),n.setNode(u)});let a=e.nodes()[0];a!==void 0&&i.decrease(a,0);let l=!1;for(;i.size()>0;){if(s=i.removeMin(),s in o)n.setEdge(s,o[s]);else{if(l)throw new Error(\"Input graph is not connected: \"+e);l=!0}(r=e.nodeEdges(s))==null||r.forEach(d)}return n}function Lt(e,t,r,n){return St(e,t,r,n!=null?n:(o=>{var i;return(i=e.outEdges(o))!=null?i:[]}))}function St(e,t,r,n){if(r===void 0)return B(e,t,r,n);let o=!1,i=e.nodes();for(let s=0;s<i.length;s++){let d=i[s];if(d===void 0)continue;let a=n(d);for(let l=0;l<a.length;l++){let u=a[l];if(!u)continue;let h=u.v===d?u.v:u.w,c=h===u.v?u.w:u.v;r({v:h,w:c})<0&&(o=!0)}if(o)return Le(e,t,r,n)}return B(e,t,r,n)}var T=re;function D(e,t,r,n){let o=n;for(;e.hasNode(o);)o=oe(n);return r.dummy=t,e.setNode(o,r),o}function Mt(e){let t=new T().setGraph(e.graph());return e.nodes().forEach(r=>t.setNode(r,e.node(r))),e.edges().forEach(r=>{let n=t.edge(r.v,r.w)||{weight:0,minlen:1},o=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+o.weight,minlen:Math.max(n.minlen,o.minlen)})}),t}function Fe(e){let t=new T({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(r=>{e.children(r).length||t.setNode(r,e.node(r))}),e.edges().forEach(r=>{t.setEdge(r,e.edge(r))}),t}function he(e,t){let r=e.x,n=e.y,o=t.x-r,i=t.y-n,s=e.width/2,d=e.height/2;if(!o&&!i)throw new Error(\"Not possible to find intersection inside of the rectangle\");let a,l;return Math.abs(i)*s>Math.abs(o)*d?(i<0&&(d=-d),a=d*o/i,l=d):(o<0&&(s=-s),a=s,l=s*i/o),{x:r+a,y:n+l}}function q(e){let t=G(De(e)+1).map(()=>[]);return e.nodes().forEach(r=>{let n=e.node(r),o=n.rank;o!==void 0&&(t[o]||(t[o]=[]),t[o][n.order]=r)}),t}function Tt(e){let t=e.nodes().map(n=>{let o=e.node(n).rank;return o===void 0?Number.MAX_VALUE:o}),r=R(Math.min,t);e.nodes().forEach(n=>{let o=e.node(n);Object.hasOwn(o,\"rank\")&&(o.rank-=r)})}function Rt(e){let t=e.nodes().map(s=>e.node(s).rank).filter(s=>s!==void 0),r=R(Math.min,t),n=[];e.nodes().forEach(s=>{let d=e.node(s).rank-r;n[d]||(n[d]=[]),n[d].push(s)});let o=0,i=e.graph().nodeRankFactor;Array.from(n).forEach((s,d)=>{s===void 0&&d%i!==0?--o:s!==void 0&&o&&s.forEach(a=>e.node(a).rank+=o)})}function ce(e,t,r,n){let o={width:0,height:0};return arguments.length>=4&&(o.rank=r,o.order=n),D(e,\"border\",o,t)}function Pt(e,t=Ye){let r=[];for(let n=0;n<e.length;n+=t){let o=e.slice(n,n+t);r.push(o)}return r}var Ye=65535;function R(e,t){if(t.length>Ye){let r=Pt(t);return e(...r.map(n=>e(...n)))}else return e(...t)}function De(e){let t=e.nodes().map(r=>{let n=e.node(r).rank;return n===void 0?Number.MIN_VALUE:n});return R(Math.max,t)}function Ft(e,t){let r={lhs:[],rhs:[]};return e.forEach(n=>{t(n)?r.lhs.push(n):r.rhs.push(n)}),r}function Yt(e,t){return t()}var Dt=0;function oe(e){let t=++Dt;return e+(\"\"+t)}function G(e,t,r=1){t==null&&(t=e,e=0);let n=i=>i<t;r<0&&(n=i=>t<i);let o=[];for(let i=e;n(i);i+=r)o.push(i);return o}function X(e,t){let r={};for(let n of t)e[n]!==void 0&&(r[n]=e[n]);return r}function z(e,t){let r;return typeof t==\"string\"?r=n=>n[t]:r=t,Object.entries(e).reduce((n,[o,i])=>(n[o]=r(i,o),n),{})}function Vt(e,t){return e.reduce((r,n,o)=>(r[n]=t[o],r),{})}var $=\"\\\\0\";function Ve(e,t,r){var n,o,i,s,d,a;if(!(e&&t&&r&&t.dummy===\"edge\"&&r.dummy===\"edge\"&&t.edgeObj&&r.edgeObj&&e[t.edgeObj.v]&&e[r.edgeObj.v]&&e[t.edgeObj.w]&&e[r.edgeObj.w]))return 0;let l=!0;t.edgeObj.w===r.edgeObj.w&&(l=!1);let u=l?(o=(n=e[t.edgeObj.v])==null?void 0:n.rank)!=null?o:NaN+1:(s=(i=e[t.edgeObj.w])==null?void 0:i.rank)!=null?s:NaN-1,h=Object.entries(e).find(b=>{var y,v;return((y=b[1].edgeObj)==null?void 0:y.v)===t.edgeObj.v&&((v=b[1].edgeObj)==null?void 0:v.w)===t.edgeObj.w&&b[1].rank===u}),c=Object.entries(e).find(b=>{var y,v;return((y=b[1].edgeObj)==null?void 0:y.v)===r.edgeObj.v&&((v=b[1].edgeObj)==null?void 0:v.w)===r.edgeObj.w&&b[1].rank===u});if(!h||!c)return 0;let g=(d=h[1].order)!=null?d:NaN,w=(a=c[1].order)!=null?a:NaN;return isNaN(g-w)?0:g-w}var At=class{constructor(){st(this,\"_sentinel\");let e={};e._next=e._prev=e,this._sentinel=e}dequeue(){let e=this._sentinel,t=e._prev;if(t!==e)return fe(t),t}enqueue(e){let t=this._sentinel;e._prev&&e._next&&fe(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t}toString(){let e=[],t=this._sentinel,r=t._prev;for(;r!==t;)e.push(JSON.stringify(r,Gt)),r=r._prev;return\"[\"+e.join(\", \")+\"]\"}};function fe(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function Gt(e,t){if(e!==\"_next\"&&e!==\"_prev\")return t}var Bt=At,Wt=()=>1;function Xt(e,t){if(e.nodeCount()<=1)return[];let r=zt(e,t||Wt);return qt(r.graph,r.buckets,r.zeroIdx).flatMap(n=>e.outEdges(n.v,n.w)||[])}function qt(e,t,r){var n;let o=[],i=t[t.length-1],s=t[0],d;for(;e.nodeCount();){for(;d=s.dequeue();)Q(e,t,r,d);for(;d=i.dequeue();)Q(e,t,r,d);if(e.nodeCount()){for(let a=t.length-2;a>0;--a)if(d=(n=t[a])==null?void 0:n.dequeue(),d){o=o.concat(Q(e,t,r,d,!0)||[]);break}}}return o}function Q(e,t,r,n,o){let i=[],s=o?i:void 0;return(e.inEdges(n.v)||[]).forEach(d=>{let a=e.edge(d),l=e.node(d.v);o&&i.push({v:d.v,w:d.w}),l.out-=a,te(t,r,l)}),(e.outEdges(n.v)||[]).forEach(d=>{let a=e.edge(d),l=d.w,u=e.node(l);u.in-=a,te(t,r,u)}),e.removeNode(n.v),s}function zt(e,t){let r=new T,n=0,o=0;e.nodes().forEach(d=>{r.setNode(d,{v:d,in:0,out:0})}),e.edges().forEach(d=>{let a=r.edge(d.v,d.w)||0,l=t(d),u=a+l;r.setEdge(d.v,d.w,u);let h=r.node(d.v),c=r.node(d.w);o=Math.max(o,h.out+=l),n=Math.max(n,c.in+=l)});let i=$t(o+n+3).map(()=>new Bt),s=n+1;return r.nodes().forEach(d=>{te(i,s,r.node(d))}),{graph:r,buckets:i,zeroIdx:s}}function te(e,t,r){var n,o,i;r.out?r.in?(i=e[r.out-r.in+t])==null||i.enqueue(r):(o=e[e.length-1])==null||o.enqueue(r):(n=e[0])==null||n.enqueue(r)}function $t(e){let t=[];for(let r=0;r<e;r++)t.push(r);return t}function Jt(e,t){(e.graph().acyclicer===\"greedy\"?Xt(e,r(e)):Kt(e,t!=null?t:null)).forEach(n=>{let o=e.edge(n);e.removeEdge(n),o.forwardName=n.name,o.reversed=!0,e.setEdge(n.w,n.v,o,oe(\"rev\"))});function r(n){return o=>n.edge(o).weight}}function Kt(e,t){let r=[],n={},o={};function i(a){Object.hasOwn(o,a)||(o[a]=!0,n[a]=!0,e.outEdges(a).forEach(l=>{Object.hasOwn(n,l.w)?r.push(l):i(l.w)}),delete n[a])}function s(a){var l;Object.hasOwn(o,a)||(o[a]=!0,n[a]=!0,(l=e.outEdges(a))==null||l.forEach(u=>{var h,c;Object.hasOwn(n,u.w)||((h=t.node(a))==null?void 0:h.rank)>((c=t.node(u.w))==null?void 0:c.rank)&&Ut(e,u.w,u)?r.push(u):s(u.w)}),delete n[a])}let d=i;return t&&typeof t.node==\"function\"&&(d=s),e.sources().forEach(d),e.nodes().forEach(d),r}function Qt(e){e.edges().forEach(t=>{let r=e.edge(t);if(r.reversed){e.removeEdge(t);let n=r.forwardName;delete r.reversed,delete r.forwardName,e.setEdge(t.w,t.v,r,n)}})}function Ut(e,t,r){let n=new Set;function o(i){var s;if(e.sources().includes(i))return!0;n.add(i);for(let d of(s=e.inEdges(i))!=null?s:[])if(!(d.v===r.v&&d.w===r.w)&&!n.has(d.v)&&o(d.v))return!0;return!1}return o(t)}function Ht(e){e.graph().dummyChains=[],e.edges().forEach(t=>Zt(e,t))}function Zt(e,t){let r=t.v,n=e.node(r).rank,o=t.w,i=e.node(o).rank,s=t.name,d=e.edge(t),a=d.labelRank;if(i===n+1)return;e.removeEdge(t);let l,u,h;for(h=0,++n;n<i;++h,++n)d.points=[],u={width:0,height:0,edgeLabel:d,edgeObj:t,rank:n},l=D(e,\"edge\",u,\"_d\"),n===a&&(u.width=d.width,u.height=d.height,u.dummy=\"edge-label\",u.labelpos=d.labelpos),e.setEdge(r,l,{weight:d.weight},s),h===0&&e.graph().dummyChains.push(l),r=l;e.setEdge(r,o,{weight:d.weight},s)}function er(e){e.graph().dummyChains.forEach(t=>{let r=e.node(t),n=r.edgeLabel,o;for(e.setEdge(r.edgeObj,n);r.dummy;)o=e.successors(t)[0],e.removeNode(t),n.points.push({x:r.x,y:r.y}),r.dummy===\"edge-label\"&&(n.x=r.x,n.y=r.y,n.width=r.width,n.height=r.height),t=o,r=e.node(t)})}function ie(e){let t={};function r(n){let o=e.node(n);if(Object.hasOwn(t,n))return o.rank;t[n]=!0;let i=e.outEdges(n),s=i?i.map(a=>a==null?Number.POSITIVE_INFINITY:r(a.w)-e.edge(a).minlen):[],d=R(Math.min,s);return d===Number.POSITIVE_INFINITY&&(d=0),o.rank=d}e.sources().forEach(r)}function Y(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var Ae=tr;function tr(e){let t=new T({directed:!1}),r=e.nodes();if(r.length===0)throw new Error(\"Graph must have at least one node\");let n=r[0],o=e.nodeCount();t.setNode(n,{});let i,s;for(;rr(t,e)<o&&(i=nr(t,e),!!i);)s=t.hasNode(i.v)?Y(e,i):-Y(e,i),or(t,e,s);return t}function rr(e,t){function r(n){let o=t.nodeEdges(n);o&&o.forEach(i=>{let s=i.v,d=n===s?i.w:s;!e.hasNode(d)&&!Y(t,i)&&(e.setNode(d,{}),e.setEdge(n,d,{}),r(d))})}return e.nodes().forEach(r),e.nodeCount()}function nr(e,t){return t.edges().reduce((r,n)=>{let o=Number.POSITIVE_INFINITY;return e.hasNode(n.v)!==e.hasNode(n.w)&&(o=Y(t,n)),o<r[0]?[o,n]:r},[Number.POSITIVE_INFINITY,null])[1]}function or(e,t,r){e.nodes().forEach(n=>t.node(n).rank+=r)}var{preorder:ir,postorder:sr}=ne,dr=P;P.initLowLimValues=de;P.initCutValues=se;P.calcCutValue=Ge;P.leaveEdge=We;P.enterEdge=Xe;P.exchangeEdges=qe;function P(e){e=Mt(e),ie(e);let t=Ae(e);de(t),se(t,e);let r,n;for(;r=We(t);)n=Xe(t,e,r),qe(t,e,r,n)}function se(e,t){let r=sr(e,e.nodes());r=r.slice(0,r.length-1),r.forEach(n=>lr(e,t,n))}function lr(e,t,r){let n=e.node(r).parent,o=e.edge(r,n);o.cutvalue=Ge(e,t,r)}function Ge(e,t,r){let n=e.node(r).parent,o=!0,i=t.edge(r,n),s=0;i||(o=!1,i=t.edge(n,r)),s=i.weight;let d=t.nodeEdges(r);return d&&d.forEach(a=>{let l=a.v===r,u=l?a.w:a.v;if(u!==n){let h=l===o,c=t.edge(a).weight;if(s+=h?c:-c,ur(e,r,u)){let g=e.edge(r,u).cutvalue;s+=h?-g:g}}}),s}function de(e,t){arguments.length<2&&(t=e.nodes()[0]),Be(e,{},1,t)}function Be(e,t,r,n,o){let i=r,s=e.node(n);t[n]=!0;let d=e.neighbors(n);return d&&d.forEach(a=>{Object.hasOwn(t,a)||(r=Be(e,t,r,a,n))}),s.low=i,s.lim=r++,o?s.parent=o:delete s.parent,r}function We(e){return e.edges().find(t=>e.edge(t).cutvalue<0)}function Xe(e,t,r){let n=r.v,o=r.w;t.hasEdge(n,o)||(n=r.w,o=r.v);let i=e.node(n),s=e.node(o),d=i,a=!1;return i.lim>s.lim&&(d=s,a=!0),t.edges().filter(l=>a===ge(e,e.node(l.v),d)&&a!==ge(e,e.node(l.w),d)).reduce((l,u)=>Y(t,u)<Y(t,l)?u:l)}function qe(e,t,r,n){let o=r.v,i=r.w;e.removeEdge(o,i),e.setEdge(n.v,n.w,{}),de(e),se(e,t),ar(e,t)}function ar(e,t){let r=e.nodes().find(o=>!e.node(o).parent);if(!r)return;let n=ir(e,[r]);n=n.slice(1),n.forEach(o=>{let i=e.node(o).parent,s=t.edge(o,i),d=!1;s||(s=t.edge(i,o),d=!0),t.node(o).rank=t.node(i).rank+(d?s.minlen:-s.minlen)})}function ur(e,t,r){return e.hasEdge(t,r)}function ge(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}var hr=cr;function cr(e){let t=e.graph().ranker;if(typeof t==\"function\")return t(e);switch(t){case\"network-simplex\":pe(e);break;case\"tight-tree\":gr(e);break;case\"longest-path\":fr(e);break;case\"none\":break;default:pe(e)}}var fr=ie;function gr(e){ie(e),Ae(e)}function pe(e){dr(e)}var pr=mr;function mr(e){let t=vr(e),r=e.graph();Array.isArray(r.dummyChains)&&r.dummyChains.forEach(n=>{let o=e.node(n),i=o.edgeObj,s=wr(e,t,i.v,i.w),d=s.path,a=s.lca,l=0,u=d[l],h=!0;for(;n!==i.w;){if(o=e.node(n),h){for(;(u=d[l])!==a&&e.node(u).maxRank<o.rank;)l++;u===a&&(h=!1)}if(!h){for(;l<d.length-1&&e.node(d[l+1]).minRank<=o.rank;)l++;u=d[l]}u!==void 0&&e.setParent(n,u),n=e.successors(n)[0]}})}function wr(e,t,r,n){let o=[],i=[],s=Math.min(t[r].low,t[n].low),d=Math.max(t[r].lim,t[n].lim),a;a=r;do a=e.parent(a),o.push(a);while(a&&(t[a].low>s||d>t[a].lim));let l=a,u=n;for(;(u=e.parent(u))!==l;)i.push(u);return{path:o.concat(i.reverse()),lca:l}}function vr(e){let t={},r=0;function n(o){let i=r;e.children(o).forEach(n),t[o]={low:i,lim:r++}}return e.children($).forEach(n),t}function br(e){let t=D(e,\"root\",{},\"_root\"),r=Er(e),n=Object.values(r),o=R(Math.max,n)-1,i=2*o+1;e.graph().nestingRoot=t,e.edges().forEach(d=>e.edge(d).minlen*=i);let s=yr(e)+1;e.children($).forEach(d=>{ze(e,t,i,s,o,r,d)}),e.graph().nodeRankFactor=i}function ze(e,t,r,n,o,i,s){var d;let a=e.children(s);if(!a.length){s!==t&&e.setEdge(t,s,{weight:0,minlen:r});return}let l=ce(e,\"_bt\"),u=ce(e,\"_bb\"),h=e.node(s);e.setParent(l,s),h.borderTop=l,e.setParent(u,s),h.borderBottom=u,a.forEach(c=>{var g;ze(e,t,r,n,o,i,c);let w=e.node(c),b=w.borderTop?w.borderTop:c,y=w.borderBottom?w.borderBottom:c,v=w.borderTop?n:2*n,p=b!==y?1:o-((g=i[s])!=null?g:0)+1;e.setEdge(l,b,{weight:v,minlen:p,nestingEdge:!0}),e.setEdge(y,u,{weight:v,minlen:p,nestingEdge:!0})}),e.parent(s)||e.setEdge(t,l,{weight:0,minlen:o+((d=i[s])!=null?d:0)})}function Er(e){let t={};function r(n,o){let i=e.children(n);i&&i.length&&i.forEach(s=>r(s,o+1)),t[n]=o}return e.children($).forEach(n=>r(n,1)),t}function yr(e){return e.edges().reduce((t,r)=>t+e.edge(r).weight,0)}function _r(e){let t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,e.edges().forEach(r=>{e.edge(r).nestingEdge&&e.removeEdge(r)})}var kr=xr;function xr(e){function t(r){let n=e.children(r),o=e.node(r);if(n.length&&n.forEach(t),o&&Object.hasOwn(o,\"minRank\")){o.borderLeft=[],o.borderRight=[];for(let i=o.minRank,s=o.maxRank+1;i<s;++i)me(e,\"borderLeft\",\"_bl\",r,o,i),me(e,\"borderRight\",\"_br\",r,o,i)}}e.children($).forEach(t)}function me(e,t,r,n,o,i){let s={width:0,height:0,rank:i,borderType:t},d=o[t][i-1],a=D(e,\"border\",s,r);o[t][i]=a,e.setParent(a,n),d&&e.setEdge(d,a,{weight:1})}function Nr(e){var t;let r=(t=e.graph().rankdir)==null?void 0:t.toLowerCase();(r===\"lr\"||r===\"rl\")&&$e(e)}function Or(e){var t;let r=(t=e.graph().rankdir)==null?void 0:t.toLowerCase();(r===\"bt\"||r===\"rl\")&&Ir(e),(r===\"lr\"||r===\"rl\")&&(jr(e),$e(e))}function $e(e){e.nodes().forEach(t=>we(e.node(t))),e.edges().forEach(t=>we(e.edge(t)))}function we(e){let t=e.width;e.width=e.height,e.height=t}function Ir(e){e.nodes().forEach(t=>U(e.node(t))),e.edges().forEach(t=>{var r;let n=e.edge(t);(r=n.points)==null||r.forEach(U),Object.hasOwn(n,\"y\")&&U(n)})}function U(e){e.y=-e.y}function jr(e){e.nodes().forEach(t=>H(e.node(t))),e.edges().forEach(t=>{var r;let n=e.edge(t);(r=n.points)==null||r.forEach(H),Object.hasOwn(n,\"x\")&&H(n)})}function H(e){let t=e.x;e.x=e.y,e.y=t}function Cr(e,t=null){let r={},n=e.nodes().filter(l=>!e.children(l).length),o=n.map(l=>e.node(l).rank),i=R(Math.max,o),s=G(i+1).map(()=>[]);function d(l){if(r[l])return;r[l]=!0;let u=e.node(l);s[u.rank].push(l);let h=e.successors(l);h&&[...h].sort((c,g)=>a(c,g)).forEach(d)}n.sort((l,u)=>e.node(l).rank-e.node(u).rank).forEach(d);function a(l,u){let h=e.node(l),c=e.node(u);return Ve(t,h,c)}return s}function Lr(e,t){let r=0;for(let n=1;n<t.length;++n)r+=Sr(e,t[n-1],t[n]);return r}function Sr(e,t,r){let n=Vt(r,r.map((l,u)=>u)),o=t.flatMap(l=>{let u=e.outEdges(l);return u?u.map(h=>({pos:n[h.w],weight:e.edge(h).weight})).sort((h,c)=>h.pos-c.pos):[]}),i=1;for(;i<r.length;)i<<=1;let s=2*i-1;i-=1;let d=new Array(s).fill(0),a=0;return o.forEach(l=>{let u=l.pos+i;d[u]+=l.weight;let h=0;for(;u>0;)u%2&&(h+=d[u+1]),u=u-1>>1,d[u]+=l.weight;a+=l.weight*h}),a}function Mr(e,t=[]){return t.map(r=>{let n=e.inEdges(r);if(!n||!n.length)return{v:r};{let o=n.reduce((i,s)=>{let d=e.edge(s),a=e.node(s.v);return{sum:i.sum+d.weight*a.order,weight:i.weight+d.weight}},{sum:0,weight:0});return{v:r,barycenter:o.sum/o.weight,weight:o.weight}}})}function Tr(e,t){let r={};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),r[o.v]=s}),t.edges().forEach(o=>{let i=r[o.v],s=r[o.w];i!==void 0&&s!==void 0&&(s.indegree++,i.out.push(s))});let n=Object.values(r).filter(o=>!o.indegree);return Rr(n)}function Rr(e){let t=[];function r(o){return i=>{i.merged||(i.barycenter===void 0||o.barycenter===void 0||i.barycenter>=o.barycenter)&&Pr(o,i)}}function n(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(r(o)),o.out.forEach(n(o))}return t.filter(o=>!o.merged).map(o=>X(o,[\"vs\",\"i\",\"barycenter\",\"weight\"]))}function Pr(e,t){let r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}function Fr(e,t,r,n,o){let i={},s=null,d=null,a=o;typeof t==\"boolean\"?(a=t,i={}):t&&(i=t,s=r!=null?r:null,d=n!=null?n:null);let l=Ft(e,v=>Object.hasOwn(v,\"barycenter\")),u=l.lhs,h=l.rhs.sort((v,p)=>p.i-v.i),c=[],g=0,w=0,b=0;u.sort(Yr(d,s,!!a));for(let[v,p]of Object.entries(i)){let f=u.findIndex(m=>m.vs[0]===v);u.splice(f+1,0,p)}b=ve(c,h,b),u.forEach(v=>{b+=v.vs.length,c.push(v.vs),g+=v.barycenter*v.weight,w+=v.weight,b=ve(c,h,b)});let y={vs:c.flat(1)};return w&&(y.barycenter=g/w,y.weight=w),y}function ve(e,t,r){let n;for(;t.length&&(n=t[t.length-1]).i<=r;)t.pop(),e.push(n.vs),r++;return r}function Yr(e,t,r){return(n,o)=>{if(n.barycenter<o.barycenter)return-1;if(n.barycenter>o.barycenter)return 1;if(e&&(typeof n.vs[0]==\"string\"||typeof o.vs[0]==\"string\")){let i=e.node(n.vs[0]),s=e.node(o.vs[0]),d=Ve(t,i,s);if(d!==0)return d}return r?o.i-n.i:n.i-o.i}}function Je(e,t,r,n,o){var i,s,d,a,l,u,h,c,g,w,b;let y=null,v=o;typeof n==\"boolean\"?(v=n,y=null):n!==void 0&&(y=n);let p=e.children(t),f=e.node(t),m=f?f.borderLeft:void 0,E=f?f.borderRight:void 0,N={};m&&(p=p.filter(x=>x!==m&&x!==E));let S=Mr(e,p);S.forEach(x=>{if(e.children(x.v).length){let{result:j}=Je(e,x.v,r,y,v);N[x.v]=j,Object.hasOwn(j,\"barycenter\")&&Vr(x,j)}});let _=Tr(S,r);Dr(_,N);let L={},M=!1;for(let x=0;x<_.length;x++)for(let j=x+1;j<_.length;j++)if(!(!_[x]||!_[j]||!((i=_[x])!=null&&i.barycenter)||!((s=_[j])!=null&&s.barycenter))&&((d=_[x])==null?void 0:d.barycenter)===_[j].barycenter){let O=(l=(a=_[x])==null?void 0:a.vs[0])!=null?l:\"\",k=(h=(u=_[j])==null?void 0:u.vs[0])!=null?h:\"\",C=e.node(O),F=e.node(k);if(C.dummy===\"edge\"&&F.dummy===\"edge\"&&((c=C.edgeObj)==null?void 0:c.v)===((g=F.edgeObj)==null?void 0:g.v)&&((w=C.edgeObj)==null?void 0:w.w)===((b=F.edgeObj)==null?void 0:b.w))if(C.edgeLabel.reversed){L[k]=_[x],_.splice(x,1),x--;break}else L[O]=_[j],_.splice(j,1),j--;else M=!0}let I=Fr(_,L,y,e,v);if(m&&E){I.vs=[m,I.vs,E].flat(1);let x=e.predecessors(m);if(x&&x.length){let j=e.node(x[0]),O=e.predecessors(E),k=e.node(O[0]);Object.hasOwn(I,\"barycenter\")||(I.barycenter=0,I.weight=0),I.barycenter=(I.barycenter*I.weight+j.order+k.order)/(I.weight+2),I.weight+=2}}return Object.defineProperty(I,\"result\",{value:I,enumerable:!1,configurable:!0,writable:!0}),Object.defineProperty(I,\"usedBias\",{value:M,enumerable:!1,configurable:!0,writable:!0}),I}function Dr(e,t){e.forEach(r=>{r.vs=r.vs.flatMap(n=>t[n]?t[n].vs:n)})}function Vr(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 Ar(e,t,r,n){n||(n=e.nodes());let o=Gr(e),i=new T({compound:!0}).setGraph({root:o}).setDefaultNodeLabel(s=>e.node(s));return n.forEach(s=>{let d=e.node(s),a=e.parent(s);if(d.rank===t||d.minRank<=t&&t<=d.maxRank){i.setNode(s),i.setParent(s,a||o);let l=e[r](s);l&&l.forEach(u=>{let h=u.v===s?u.w:u.v,c=i.edge(h,s),g=c!==void 0?c.weight:0;i.setEdge(h,s,{weight:e.edge(u).weight+g})}),Object.hasOwn(d,\"minRank\")&&i.setNode(s,{borderLeft:d.borderLeft[t],borderRight:d.borderRight[t]})}}),i}function Gr(e){let t;for(;e.hasNode(t=oe(\"_root\")););return t}function Br(e,t,r){let n={},o;r.forEach(i=>{let s=e.parent(i),d,a;for(;s;){if(d=e.parent(s),d?(a=n[d],n[d]=s):(a=o,o=s),a&&a!==s){t.setEdge(a,s);return}s=d}})}function Ke(e,t={},r=null){if(typeof t.customOrder==\"function\"){t.customOrder(e,Ke);return}let n=De(e),o=be(e,G(1,n+1),\"inEdges\"),i=be(e,G(n-1,-1,-1),\"outEdges\"),s=Cr(e,r);if(Ee(e,s),t.disableOptimalOrderHeuristic)return;let d=Number.POSITIVE_INFINITY,a,l=t.constraints||[];for(let u=0,h=0;h<4;++u,++h){Wr(u%2?o:i,u%4>=2,l,r),s=q(e);let c=Lr(e,s);c<d?(h=0,a=Object.assign({},s),d=c):c===d&&(a=structuredClone(s))}Ee(e,a)}function be(e,t,r){let n=new Map,o=(i,s)=>{n.has(i)||n.set(i,[]),n.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 d=s.minRank;d<=s.maxRank;d++)d!==s.rank&&o(d,i)}return t.map(function(i){return Ar(e,i,r,n.get(i)||[])})}function Wr(e,t,r,n){let o=!0,i=new T;e.forEach(function(s){r.forEach(u=>i.setEdge(u.left,u.right));let d=s.graph().root,{result:a,usedBias:l}=Je(s,d,i,n,o);t&&l&&(o=!o),a.vs.forEach((u,h)=>s.node(u).order=h),Br(s,i,a.vs)})}function Ee(e,t){Object.values(t).forEach(r=>r.forEach((n,o)=>e.node(n).order=o))}function Xr(e,t){let r={};function n(o,i){let s=0,d=0,a=o.length,l=i[i.length-1];return i.forEach((u,h)=>{let c=zr(e,u),g=c?e.node(c).order:a;(c||u===l)&&(i.slice(d,h+1).forEach(w=>{let b=e.predecessors(w);b&&b.forEach(y=>{let v=e.node(y),p=v.order;(p<s||g<p)&&!(v.dummy&&e.node(w).dummy)&&Qe(r,y,w)})}),d=h+1,s=g)}),i}return t.length&&t.reduce(n),r}function qr(e,t){let r={};function n(i,s,d,a,l){G(s,d).forEach(u=>{let h=i[u];if(h!==void 0&&e.node(h).dummy){let c=e.predecessors(h);c&&c.forEach(g=>{if(g===void 0)return;let w=e.node(g);w.dummy&&(w.order<a||w.order>l)&&Qe(r,g,h)})}})}function o(i,s){let d=-1,a=-1,l=0;return s.forEach((u,h)=>{if(e.node(u).dummy===\"border\"){let c=e.predecessors(u);if(c&&c.length){let g=c[0];if(g===void 0)return;a=e.node(g).order,n(s,l,h,d,a),l=h,d=a}}n(s,l,s.length,a,i.length)}),s}return t.length&&t.reduce(o),r}function zr(e,t){if(e.node(t).dummy){let r=e.predecessors(t);if(r)return r.find(n=>e.node(n).dummy)}}function Qe(e,t,r){if(t>r){let o=t;t=r,r=o}let n=e[t];n||(e[t]=n={}),n[r]=!0}function $r(e,t,r){if(t>r){let o=t;t=r,r=o}let n=e[t];return n!==void 0&&Object.hasOwn(n,r)}function Jr(e,t,r,n,o){let i={},s={},d={};return t.forEach(a=>{a.forEach((l,u)=>{i[l]=l,s[l]=l,d[l]=u})}),t.forEach(a=>{let l=-1,u=-1,h=!1,c=a,g=a.findIndex(w=>(o==null?void 0:o.includes(w))||ye(w,e,o));g>0&&(c=[a[g],...a.slice(0,g),...a.slice(g+1)],h=!0),c.forEach(w=>{var b;let y=n(w);if(y&&y.length){o!=null&&o.includes(w)&&(y=y.filter(f=>ye(f,e,o)));let v=y.sort((f,m)=>{let E=d[f],N=d[m];return(E!==void 0?E:0)-(N!==void 0?N:0)}),p=(v.length-1)/2;for(let f=Math.floor(p),m=Math.ceil(p);f<=m;++f){let E=v[f];if(E===void 0)continue;let N=d[E];if(N!==void 0&&s[w]===w&&l<N&&d[E]!==u&&!$r(r,w,E)){let S=i[E];S!==void 0&&(s[E]=w,s[w]=i[w]=S,l=N,h&&(l=-1,u=(b=d[E])!=null?b:-1,h=!1))}}}})}),{root:i,align:s}}function Kr(e,t,r,n,o=!1){let i={},s=Qr(e,t,r,o),d=o?\"borderLeft\":\"borderRight\";function a(g,w){let b=s.nodes().slice(),y={},v=b.pop();for(;v;){if(y[v])g(v);else{y[v]=!0,b.push(v);for(let p of w(v))b.push(p)}v=b.pop()}}function l(g){let w=s.inEdges(g);w?i[g]=w.reduce((b,y)=>{var v;let p=(v=i[y.v])!=null?v:0,f=s.edge(y);return Math.max(b,p+(f!==void 0?f:0))},0):i[g]=0}function u(g){let w=s.outEdges(g),b=Number.POSITIVE_INFINITY;w&&(b=w.reduce((v,p)=>{let f=i[p.w],m=s.edge(p);return Math.min(v,(f!==void 0?f:0)-(m!==void 0?m:0))},Number.POSITIVE_INFINITY));let y=e.node(g);b!==Number.POSITIVE_INFINITY&&y.borderType!==d&&(i[g]=Math.max(i[g]!==void 0?i[g]:0,b))}function h(g){return s.predecessors(g)||[]}function c(g){return s.successors(g)||[]}return a(l,h),a(u,c),Object.keys(n).forEach(g=>{var w;let b=r[g];b!==void 0&&(i[g]=(w=i[b])!=null?w:0)}),i}function Qr(e,t,r,n){let o=new T,i=e.graph(),s=tn(i.nodesep,i.edgesep,n);return t.forEach(d=>{let a;d.forEach(l=>{let u=r[l];if(u!==void 0){if(o.setNode(u),a!==void 0){let h=r[a];if(h!==void 0){let c=o.edge(h,u);o.setEdge(h,u,Math.max(s(e,l,a),c||0))}}a=l}})}),o}function Ur(e,t){return Object.values(t).reduce((r,n)=>{let o=Number.NEGATIVE_INFINITY,i=Number.POSITIVE_INFINITY;Object.entries(n).forEach(([d,a])=>{let l=rn(e,d)/2;o=Math.max(a+l,o),i=Math.min(a-l,i)});let s=o-i;return s<r[0]&&(r=[s,n]),r},[Number.POSITIVE_INFINITY,null])[1]}function Hr(e,t){let r=Object.values(t),n=R(Math.min,r),o=R(Math.max,r);[\"u\",\"d\"].forEach(i=>{[\"l\",\"r\"].forEach(s=>{let d=i+s,a=e[d];if(!a||a===t)return;let l=Object.values(a),u=n-R(Math.min,l);s!==\"l\"&&(u=o-R(Math.max,l)),u&&(e[d]=z(a,h=>h+u))})})}function Zr(e,t=void 0){let r=e.ul;return r?z(r,(n,o)=>{var i,s;if(t){let a=t.toLowerCase(),l=e[a];if(l&&l[o]!==void 0)return l[o]}let d=Object.values(e).map(a=>{let l=a[o];return l!==void 0?l:0}).sort((a,l)=>a-l);return(((i=d[1])!=null?i:0)+((s=d[2])!=null?s:0))/2}):{}}function en(e,t){let r=q(e),n=Object.assign(Xr(e,r),qr(e,r)),o={},i;[\"u\",\"d\"].forEach(d=>{i=d===\"u\"?r:Object.values(r).reverse(),[\"l\",\"r\"].forEach(a=>{a===\"r\"&&(i=i.map(h=>Object.values(h).reverse()));let l=Jr(e,i,n,h=>(d===\"u\"?e.predecessors(h):e.successors(h))||[],t),u=Kr(e,i,l.root,l.align,a===\"r\");a===\"r\"&&(u=z(u,h=>-h)),o[d+a]=u})});let s=Ur(e,o);return Hr(o,s),Zr(o,e.graph().align)}function tn(e,t,r){return(n,o,i)=>{let s=n.node(o),d=n.node(i),a=0,l;if(a+=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&&(a+=r?l:-l),l=void 0,a+=(s.dummy?t:e)/2,a+=(d.dummy?t:e)/2,a+=d.width/2,Object.hasOwn(d,\"labelpos\"))switch(d.labelpos.toLowerCase()){case\"l\":l=d.width/2;break;case\"r\":l=-d.width/2;break}return l&&(a+=r?l:-l),a}}function rn(e,t){return e.node(t).width}function ye(e,t,r){var n;if(!r)return!1;let o=(n=t.node(e))==null?void 0:n.edgeObj;if(!o||t.node(e).edgeLabel.reversed)return!1;let i=r.indexOf(o==null?void 0:o.v),s=r.indexOf(o==null?void 0:o.w);return i!==-1&&s!==-1&&i===(s+1)%r.length||i===(s-1)%r.length}function nn(e,t){e=Fe(e),on(e),Object.entries(en(e,t)).forEach(([r,n])=>e.node(r).x=n)}function on(e){let t=q(e),r=e.graph(),n=r.ranksep,o=r.rankalign,i=0;t.forEach(s=>{let d=s.reduce((a,l)=>{var u;let h=(u=e.node(l).height)!=null?u:0;return a>h?a:h},0);s.forEach(a=>{let l=e.node(a);o===\"top\"?l.y=i+l.height/2:o===\"bottom\"?l.y=i+d-l.height/2:l.y=i+d/2}),i+=d+n})}var _e=new WeakMap;function Ue(e,t={}){return He(e,Yt,t),e}function ke(e,t,r){let n=t;for(;n!==void 0;){let o=e.parent(n);if(o===r)return n;n=o}}function He(e,t,r){var n;let o=e.nodes().filter(p=>e.children(p).length),i={};o.forEach(p=>{let f=e.node(p);if(f&&f.rankdir){let m=new T({multigraph:!0,compound:!0});m.setGraph({rankdir:f.rankdir});let E=e.children(p);E.forEach(O=>{let k={...e.node(O)};m.setNode(O,k);let C=e.parent(O);C&&C!==p&&E.includes(C)&&m.setParent(O,C)});let N=new Set;e.edges().forEach(O=>{let k=ke(e,O.v,p),C=ke(e,O.w,p);if(k&&C&&k!==C){let F=`${k}\\\\0${C}`;N.has(F)||(N.add(F),m.setEdge(k,C,{...e.edge(O)}))}}),He(m,t,r);let S=Ie(m);xe(S,t,r,null),Ne(m,S);let _=1/0,L=1/0,M=-1/0,I=-1/0;m.nodes().forEach(O=>{if(O===p)return;let k=m.node(O);k&&typeof k.x==\"number\"&&typeof k.y==\"number\"&&typeof k.width==\"number\"&&typeof k.height==\"number\"&&(_=Math.min(_,k.x-k.width/2),M=Math.max(M,k.x+k.width/2),L=Math.min(L,k.y-k.height/2),I=Math.max(I,k.y+k.height/2))}),(!isFinite(_)||!isFinite(L)||!isFinite(M)||!isFinite(I))&&(_=L=0,M=I=0);let x=M-_,j=I-L;i[p]={minX:_,minY:L,maxX:M,maxY:I,width:x,height:j,offsetX:_,offsetY:L},f._dagreClusterSubgraph=m}});let s=[],d=p=>{let f=[],m=(e.children(p)||[]).filter(E=>E!==p);for(;m.length>0;){let E=m.shift();f.push(E),(e.children(E)||[]).filter(N=>N!==E).forEach(N=>m.push(N))}return f},a=new Map;o.forEach(p=>{let f=e.node(p);f&&f.rankdir&&i[p]&&a.set(p,(e.children(p)||[]).filter(m=>m!==p))});let l=new Set([...a.values()].flat()),u=new Map;a.forEach((p,f)=>{l.has(f)||u.set(f,d(f))});let h=new Set([...u.values()].flat()),c=p=>{for(let[f,m]of u)if(m.includes(p))return f;return p},g=[];e.edges().forEach(p=>{(h.has(p.v)||h.has(p.w))&&g.push({edge:p,label:e.edge(p)})});let w=new Map;h.forEach(p=>{let f=e.parent(p);w.set(p,typeof f==\"string\"?f:void 0)}),u.forEach((p,f)=>{let m=e.node(f),E=[];p.forEach(_=>{let L=e.node(_);L&&(E.push({id:_,node:L,parent:w.get(_)}),e.removeNode(_))});let N=g.filter(({edge:_})=>p.includes(_.v)||p.includes(_.w)),S=i[f];m&&(s.push({clusterId:f,subgraph:m._dagreClusterSubgraph,bounds:S,children:p,removedNodes:E,removedEdges:N}),m.width=S.width,m.height=S.height)});let b=new Set;g.forEach(({edge:p,label:f})=>{let m=c(p.v),E=c(p.w);if(m!==E&&e.hasNode(m)&&e.hasNode(E)){let N=`${m}\\\\0${E}`;b.has(N)||(b.add(N),e.setEdge(m,E,{...f,width:0,height:0}))}});let y=Ie(e),v=xe(y,t,r,(n=_e.get(e))!=null?n:null);_e.set(e,v),Ne(e,y),b.forEach(p=>{let f=p.indexOf(\"\\\\0\"),m=p.slice(0,f),E=p.slice(f+1);e.hasEdge(m,E)&&e.removeEdge(m,E)}),s.forEach(({clusterId:p,subgraph:f,bounds:m,removedNodes:E,removedEdges:N})=>{var S,_;let L=e.node(p),M=(S=L==null?void 0:L.x)!=null?S:0,I=(_=L==null?void 0:L.y)!=null?_:0,x=(m.minX+m.maxX)/2,j=(m.minY+m.maxY)/2;E.forEach(({id:O,node:k,parent:C})=>{e.setNode(O,k),C!==void 0&&e.setParent(O,C)}),N.forEach(({edge:O,label:k})=>{e.setEdge(O,k)}),f.nodes().forEach(O=>{if(O===p)return;let k=f.node(O),C=e.node(O);C&&k&&typeof k.x==\"number\"&&typeof k.y==\"number\"&&(C.x=M+(k.x-x),C.y=I+(k.y-j))}),delete L._dagreClusterSubgraph}),o.forEach(p=>{var f,m;let E=e.node(p),N=i[p];if(E&&E.rankdir&&E._dagreClusterSubgraph&&N){let S=E._dagreClusterSubgraph,_=(f=E.x)!=null?f:0,L=(m=E.y)!=null?m:0,M=(N.minX+N.maxX)/2,I=(N.minY+N.maxY)/2;S.nodes().forEach(x=>{if(x===p)return;let j=S.node(x),O=e.node(x);if(O&&j&&typeof j.x==\"number\"&&typeof j.y==\"number\"){let k=j.x-M,C=j.y-I;O.x=_+k,O.y=L+C}}),delete E._dagreClusterSubgraph}})}function xe(e,t,r,n=null){var o,i;let s=(r==null?void 0:r.useDynamic)!==!1,d=s&&(o=n==null?void 0:n.graph)!=null?o:null,a=s&&(i=n==null?void 0:n.rawNodes)!=null?i:null;t(\" makeSpaceForEdgeLabels\",()=>fn(e)),t(\" removeSelfEdges\",()=>_n(e)),t(\" acyclic\",()=>Jt(e,d)),t(\" nestingGraph.run\",()=>br(e)),t(\" rank\",()=>hr(Fe(e))),t(\" injectEdgeLabelProxies\",()=>gn(e)),t(\" removeEmptyRanks\",()=>Rt(e)),t(\" nestingGraph.cleanup\",()=>_r(e)),t(\" normalizeRanks\",()=>Tt(e)),t(\" assignRankMinMax\",()=>pn(e)),t(\" removeEdgeLabelProxies\",()=>mn(e)),t(\" normalize.run\",()=>Ht(e)),t(\" parentDummyChains\",()=>pr(e)),t(\" addBorderSegments\",()=>kr(e)),t(\" order\",()=>Ke(e,r,a)),t(\" insertSelfEdges\",()=>kn(e)),t(\" adjustCoordinateSystem\",()=>Nr(e)),t(\" position\",()=>nn(e,r.corePath)),t(\" positionSelfEdges\",()=>xn(e));let l=JSON.parse(JSON.stringify(e._nodes));return t(\" removeBorderNodes\",()=>yn(e)),t(\" normalize.undo\",()=>er(e)),t(\" fixupEdgeLabelCoords\",()=>bn(e)),t(\" undoCoordinateSystem\",()=>Or(e)),t(\" translateGraph\",()=>wn(e)),t(\" assignNodeIntersects\",()=>vn(e)),t(\" reversePoints\",()=>En(e)),t(\" acyclic.undo\",()=>Qt(e)),{graph:e,rawNodes:l}}function Ne(e,t){e.nodes().forEach(r=>{let n=e.node(r),o=t.node(r);n&&(n.x=o.x,n.y=o.y,n.order=o.order,n.rank=o.rank,t.children(r).length&&(n.width=o.width,n.height=o.height))}),e.edges().forEach(r=>{let n=e.edge(r),o=t.edge(r);n.points=o.points,Object.hasOwn(o,\"x\")&&(n.x=o.x,n.y=o.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}var sn=[\"nodesep\",\"edgesep\",\"ranksep\",\"marginx\",\"marginy\"],dn={ranksep:50,edgesep:20,nodesep:50,rankdir:\"TB\",rankalign:\"center\"},ln=[\"acyclicer\",\"ranker\",\"rankdir\",\"align\",\"rankalign\"],an=[\"width\",\"height\",\"rank\"],Oe={width:0,height:0},un=[\"minlen\",\"weight\",\"width\",\"height\",\"labeloffset\"],hn={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:\"r\"},cn=[\"labelpos\"];function Ie(e){let t=new T({multigraph:!0,compound:!0}),r=ee(e.graph());return t.setGraph(Object.assign({},dn,Z(r,sn),X(r,ln))),e.nodes().forEach(n=>{let o=ee(e.node(n)),i=Z(o,an);Object.keys(Oe).forEach(d=>{i[d]===void 0&&(i[d]=Oe[d])}),t.setNode(n,i);let s=e.parent(n);s!==void 0&&t.setParent(n,s)}),e.edges().forEach(n=>{let o=ee(e.edge(n));t.setEdge(n,Object.assign({},hn,Z(o,un),X(o,cn)))}),t}function fn(e){let t=e.graph();t.ranksep/=2,e.edges().forEach(r=>{var n;let o=e.edge(r);o.minlen*=2,((n=o.labelpos)!=null?n:\"r\").toLowerCase()!==\"c\"&&(t.rankdir===\"TB\"||t.rankdir===\"BT\"?o.width+=o.labeloffset:o.height+=o.labeloffset)})}function gn(e){e.edges().forEach(t=>{let r=e.edge(t);if(r.width&&r.height){let n=e.node(t.v),o={rank:(e.node(t.w).rank-n.rank)/2+n.rank,e:t};D(e,\"edge-proxy\",o,\"_ep\")}})}function pn(e){let t=0;e.nodes().forEach(r=>{let n=e.node(r);n.borderTop&&(n.minRank=e.node(n.borderTop).rank,n.maxRank=e.node(n.borderBottom).rank,t=Math.max(t,n.maxRank))}),e.graph().maxRank=t}function mn(e){e.nodes().forEach(t=>{let r=e.node(t);if(r.dummy===\"edge-proxy\"){let n=r;e.edge(n.e).labelRank=r.rank,e.removeNode(t)}})}function wn(e){let t=Number.POSITIVE_INFINITY,r=0,n=Number.POSITIVE_INFINITY,o=0,i=e.graph(),s=i.marginx||0,d=i.marginy||0;function a(l){let u=l.x,h=l.y,c=l.width,g=l.height;t=Math.min(t,u-c/2),r=Math.max(r,u+c/2),n=Math.min(n,h-g/2),o=Math.max(o,h+g/2)}e.nodes().forEach(l=>a(e.node(l))),e.edges().forEach(l=>{let u=e.edge(l);Object.hasOwn(u,\"x\")&&a(u)}),t-=s,n-=d,e.nodes().forEach(l=>{let u=e.node(l);u.x-=t,u.y-=n}),e.edges().forEach(l=>{let u=e.edge(l);u.points.forEach(h=>{h.x-=t,h.y-=n}),Object.hasOwn(u,\"x\")&&(u.x-=t),Object.hasOwn(u,\"y\")&&(u.y-=n)}),i.width=r-t+s,i.height=o-n+d}function vn(e){e.edges().forEach(t=>{if(t.v===t.w)return;let r=e.edge(t),n=e.node(t.v),o=e.node(t.w),i,s;r.points?(i=r.points[0],s=r.points[r.points.length-1]):(r.points=[],i=o,s=n),r.points.unshift(he(n,i)),r.points.push(he(o,s))})}function bn(e){e.edges().forEach(t=>{let r=e.edge(t);if(Object.hasOwn(r,\"x\"))switch((r.labelpos===\"l\"||r.labelpos===\"r\")&&(r.width-=r.labeloffset),r.labelpos){case\"l\":r.x-=r.width/2+r.labeloffset;break;case\"r\":r.x+=r.width/2+r.labeloffset;break}})}function En(e){e.edges().forEach(t=>{let r=e.edge(t);r.reversed&&r.points.reverse()})}function yn(e){e.nodes().forEach(t=>{if(e.children(t).length){let r=e.node(t),n=e.node(r.borderTop),o=e.node(r.borderBottom),i=e.node(r.borderLeft[r.borderLeft.length-1]),s=e.node(r.borderRight[r.borderRight.length-1]);r.width=Math.abs(s.x-i.x),r.height=Math.abs(o.y-n.y),r.x=i.x+r.width/2,r.y=n.y+r.height/2}}),e.nodes().forEach(t=>{e.node(t).dummy===\"border\"&&e.removeNode(t)})}function _n(e){e.edges().forEach(t=>{if(t.v===t.w){let r=e.node(t.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function kn(e){q(e).forEach(t=>{let r=0;t.forEach((n,o)=>{let i=e.node(n);typeof i.rank!=\"number\"&&(i.rank=0),i.order=o+r,(i.selfEdges||[]).forEach(s=>{D(e,\"selfedge\",{width:s.label.width,height:s.label.height,rank:i.rank,order:o+ ++r,e:s.e,edgeLabel:s.label},\"_se\"),(!Array.isArray(s.label.points)||s.label.points.length!==7)&&(s.label.points=[{x:0,y:-10},{x:0,y:-10},{x:0,y:0},{x:0,y:10},{x:0,y:10},{x:0,y:0},{x:0,y:0}])}),delete i.selfEdges})})}function xn(e){e.nodes().forEach(t=>{let r=e.node(t),n=o=>typeof o==\"number\"&&isFinite(o);if(r.dummy===\"selfedge\"){let o=r,i=e.node(o.e.v),s=n(i==null?void 0:i.x)?i.x:0,d=n(i==null?void 0:i.y)?i.y:0,a=n(i==null?void 0:i.width)?i.width:0,l=n(i==null?void 0:i.height)?i.height:0,u=n(r.x)?r.x:s,h=n(r.y)?r.y:d,c=a/2,g=l/2;o.edgeLabel.points=[{x:u+c,y:h-g},{x:u+c,y:h-g},{x:u,y:h},{x:u-c,y:h+g},{x:u-c,y:h+g},{x:u,y:h},{x:u,y:h}],o.edgeLabel.x=u,o.edgeLabel.y=h,e.setEdge(o.e,o.edgeLabel),e.removeNode(t)}else r&&Array.isArray(r.selfEdges)&&r.selfEdges.forEach(o=>{if(!Array.isArray(o.label.points)||o.label.points.length!==7){let i=n(r.x)?r.x:0,s=n(r.y)?r.y:0,d=n(r.width)?r.width:0,a=n(r.height)?r.height:0,l=d/2,u=a/2;o.label.points=[{x:i+l,y:s-u},{x:i+l,y:s-u},{x:i,y:s},{x:i-l,y:s+u},{x:i-l,y:s+u},{x:i,y:s},{x:i,y:s}]}})})}function Z(e,t){return z(X(e,t),Number)}function ee(e){let t={};return e&&Object.entries(e).forEach(([r,n])=>{typeof r==\"string\"&&(r=r.toLowerCase()),t[r]=n}),t}/*! For license information please see dagre.esm.js.LEGAL.txt */function V(e,t){var i,s;if(e===null||typeof e!=\"object\"){if(typeof e==\"function\")throw new TypeError(\"structuredClone: a function could not be cloned.\");return e}let r=t.get(e);if(r!==void 0)return r;if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return new RegExp(e.source,e.flags);if(Array.isArray(e)){let d=Array.from({length:e.length});t.set(e,d);for(let a=0;a<e.length;a+=1)d[a]=V(e[a],t);return d}if(e instanceof Map){let d=new Map;t.set(e,d);for(let[a,l]of e)d.set(V(a,t),V(l,t));return d}if(e instanceof Set){let d=new Set;t.set(e,d);for(let a of e)d.add(V(a,t));return d}let n=Object.getPrototypeOf(e);if(n!==Object.prototype&&n!==null)throw new TypeError(`structuredClone: ${(s=(i=n==null?void 0:n.constructor)==null?void 0:i.name)!=null?s:\"object\"} could not be cloned.`);let o={};t.set(e,o);for(let[d,a]of Object.entries(e))o[d]=V(a,t);return o}function Nn(e){return V(e,new Map)}function Ze(){let e=globalThis;typeof e.structuredClone!=\"function\"&&(e.structuredClone=Nn)}var J={direction:\"TB\",nodeSpacing:60,rankSpacing:90,edgeSpacing:20};function le(){return typeof performance!=\"undefined\"&&typeof performance.now==\"function\"?performance.now():Date.now()}function et(e){return Math.round(e*100)/100}function tt(e,t){return e.id<t.id?-1:e.id>t.id?1:0}function rt(e){let t=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY;for(let n of e)n.x<t&&(t=n.x),n.y<r&&(r=n.y);return{x:t,y:r}}function nt(e){var w,b,y,v,p;Ze();let t=le(),r=(w=e.options)!=null?w:{},n=[...e.nodes].sort(tt),o=r.subset?new Set(r.subset):void 0,i=o?n.filter(f=>o.has(f.id)):n,s=new Set(i.map(f=>f.id)),d={};for(let f of n)d[f.id]=f.position;if(i.length===0)return{positions:d,moved:[],engine:\"dagre\",ms:le()-t};let a=new T({multigraph:!0,compound:!1,directed:!0});a.setGraph({rankdir:(b=r.direction)!=null?b:J.direction,nodesep:(y=r.nodeSpacing)!=null?y:J.nodeSpacing,ranksep:(v=r.rankSpacing)!=null?v:J.rankSpacing,edgesep:(p=r.edgeSpacing)!=null?p:J.edgeSpacing,marginx:0,marginy:0}),a.setDefaultEdgeLabel(()=>({}));for(let f of i)a.setNode(f.id,{width:f.width,height:f.height});for(let f of[...e.edges].sort(tt))!s.has(f.source)||!s.has(f.target)||a.setEdge(f.source,f.target,{},f.id);Ue(a);let l={};for(let f of i){let m=a.node(f.id);l[f.id]=m&&Number.isFinite(m.x)&&Number.isFinite(m.y)?{x:m.x-f.width/2,y:m.y-f.height/2}:f.position}let u=rt(i.map(f=>f.position)),h=rt(i.map(f=>l[f.id])),c=u.x-h.x,g=u.y-h.y;for(let f of i)d[f.id]={x:et(l[f.id].x+c),y:et(l[f.id].y+g)};return{positions:d,moved:i.map(f=>f.id),engine:\"dagre\",ms:le()-t}}function On(e){let t=e;if(!(!t||typeof t!=\"object\")){if(t.t===\"ping\")return{t:\"pong\"};if(t.t===\"layout\")try{return{t:\"result\",id:t.id,result:nt(t.request)}}catch(r){return{t:\"error\",id:t.id,message:r instanceof Error?r.message:String(r)}}}}function In(){return typeof WorkerGlobalScope!=\"undefined\"&&typeof self!=\"undefined\"&&self instanceof WorkerGlobalScope}In()&&self.addEventListener(\"message\",e=>{let t=On(e.data);t&&self.postMessage(t)});})();\\n';\nvar layoutWorkerSha256 = \"d8f40e8264dee88e361017837607069470eea6f61591cef70bb4b29c0e3a09dd\";\nvar layoutWorkerBytes = 50854;\nexport {\n layoutWorkerBytes,\n layoutWorkerSha256,\n layoutWorkerSource\n};\n//# sourceMappingURL=worker.generated.js.map\n"],"mappings":"AAAA,IAAIA,kBAAkB,GAAG,qrjDAAqrjD;AAC9sjD,IAAIC,kBAAkB,GAAG,kEAAkE;AAC3F,IAAIC,iBAAiB,GAAG,KAAK;AAC7B,SACEA,iBAAiB,EACjBD,kBAAkB,EAClBD,kBAAkB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["noop","noop2","t","commands","insert","list","items","at","length","copy","splice","Math","max","applyCommand","doc","command","nodes","gone","Set","ids","filter","node","has","id","edges","edge","source","target","deltas","map","delta","position","x","y","positions","data","gone1","reduce","negate","out","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","Symbol","iterator","_step","next","done","value","err","return"],"sources":["../../../src/model/commands.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["noop","noop2","t","commands","insert","list","items","at","length","copy","splice","Math","max","applyCommand","doc","command","nodes","gone","Set","ids","filter","node","has","id","edges","edge","source","target","deltas","map","delta","position","x","y","positions","data","gone1","reduce","negate","out","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","Symbol","iterator","_step","next","done","value","err","return","invertCommand","node2","restores","forEach","push","edge2","before","node1","find","candidate","restores1","inverses","current","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","step","reverse"],"sources":["commands.native.js"],"sourcesContent":["var noop = function noop2() {\n return {\n t: \"batch\",\n commands: []\n };\n};\nfunction insert(list, items, at) {\n if (at === void 0 || at >= list.length) return [\n ...list,\n ...items\n ];\n var copy = [\n ...list\n ];\n copy.splice(Math.max(0, at), 0, ...items);\n return copy;\n}\nfunction applyCommand(doc, command) {\n switch (command.t) {\n case \"addNodes\":\n return {\n ...doc,\n nodes: insert(doc.nodes, command.nodes, command.at)\n };\n case \"removeNodes\": {\n var gone = new Set(command.ids);\n return {\n ...doc,\n nodes: doc.nodes.filter(function(node) {\n return !gone.has(node.id);\n }),\n // An edge whose end has been deleted is not a partial graph, it is a\n // broken one, so a node takes its edges with it. `invertCommand`\n // restores both, in their original places.\n edges: doc.edges.filter(function(edge) {\n return !gone.has(edge.source.node) && !gone.has(edge.target.node);\n })\n };\n }\n case \"moveNodes\": {\n var { deltas } = command;\n return {\n ...doc,\n nodes: doc.nodes.map(function(node) {\n var delta = deltas[node.id];\n return delta ? {\n ...node,\n position: {\n x: node.position.x + delta.x,\n y: node.position.y + delta.y\n }\n } : node;\n })\n };\n }\n case \"setPositions\": {\n var { positions } = command;\n return {\n ...doc,\n nodes: doc.nodes.map(function(node) {\n var position = positions[node.id];\n return position ? {\n ...node,\n position\n } : node;\n })\n };\n }\n case \"setNodeData\":\n return {\n ...doc,\n nodes: doc.nodes.map(function(node) {\n return node.id === command.id ? {\n ...node,\n data: command.data\n } : node;\n })\n };\n case \"addEdges\":\n return {\n ...doc,\n edges: insert(doc.edges, command.edges, command.at)\n };\n case \"removeEdges\": {\n var gone1 = new Set(command.ids);\n return {\n ...doc,\n edges: doc.edges.filter(function(edge) {\n return !gone1.has(edge.id);\n })\n };\n }\n case \"setEdgeData\":\n return {\n ...doc,\n edges: doc.edges.map(function(edge) {\n return edge.id === command.id ? {\n ...edge,\n data: command.data\n } : edge;\n })\n };\n case \"batch\":\n return command.commands.reduce(applyCommand, doc);\n }\n}\nfunction negate(deltas) {\n var out = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.entries(deltas)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [id, delta] = _step.value;\n out[id] = {\n x: 0 - delta.x,\n y: 0 - delta.y\n };\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return out;\n}\nfunction invertCommand(doc, command) {\n switch (command.t) {\n case \"addNodes\":\n return {\n t: \"removeNodes\",\n ids: command.nodes.map(function(node2) {\n return node2.id;\n })\n };\n case \"removeNodes\": {\n var gone = new Set(command.ids);\n var restores = [];\n doc.nodes.forEach(function(node2, at) {\n if (gone.has(node2.id)) restores.push({\n t: \"addNodes\",\n nodes: [\n node2\n ],\n at\n });\n });\n doc.edges.forEach(function(edge2, at) {\n if (gone.has(edge2.source.node) || gone.has(edge2.target.node)) {\n restores.push({\n t: \"addEdges\",\n edges: [\n edge2\n ],\n at\n });\n }\n });\n return {\n t: \"batch\",\n commands: restores\n };\n }\n case \"moveNodes\":\n return {\n t: \"moveNodes\",\n deltas: negate(command.deltas)\n };\n case \"setPositions\": {\n var before = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = doc.nodes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var node = _step.value;\n if (node.id in command.positions) before[node.id] = node.position;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return {\n t: \"setPositions\",\n positions: before\n };\n }\n case \"setNodeData\": {\n var node1 = doc.nodes.find(function(candidate) {\n return candidate.id === command.id;\n });\n return node1 ? {\n t: \"setNodeData\",\n id: command.id,\n data: node1.data\n } : noop();\n }\n case \"addEdges\":\n return {\n t: \"removeEdges\",\n ids: command.edges.map(function(edge2) {\n return edge2.id;\n })\n };\n case \"removeEdges\": {\n var gone1 = new Set(command.ids);\n var restores1 = [];\n doc.edges.forEach(function(edge2, at) {\n if (gone1.has(edge2.id)) restores1.push({\n t: \"addEdges\",\n edges: [\n edge2\n ],\n at\n });\n });\n return {\n t: \"batch\",\n commands: restores1\n };\n }\n case \"setEdgeData\": {\n var edge = doc.edges.find(function(candidate) {\n return candidate.id === command.id;\n });\n return edge ? {\n t: \"setEdgeData\",\n id: command.id,\n data: edge.data\n } : noop();\n }\n case \"batch\": {\n var inverses = [];\n var current = doc;\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = command.commands[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var step = _step1.value;\n inverses.push(invertCommand(current, step));\n current = applyCommand(current, step);\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n return {\n t: \"batch\",\n commands: inverses.reverse()\n };\n }\n }\n}\nexport {\n applyCommand,\n invertCommand\n};\n//# sourceMappingURL=commands.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["portArity","resolvePorts","defineConnectionRule","check","Object","assign","tickSafe","pass","ok","refuse","code","message","lookup","ctx","ref","end","node","document","nodes","find","candidate","id","problem","JSON","stringify","port","schema","isResolved","value","refuseDirection","source","target","direction","refuseSelfLoop","refusePortArity","taken","edges","some","edge","taken1","refuseDuplicate","refuseDataTypeMismatch","compatible","arguments","length","from","to","dataType","refuseCycle","out","Map","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","list","get","push","set","err","return","seen","Set","stack","current","pop","has","add","defaultRules"],"sources":["../../../src/model/connect.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["portArity","resolvePorts","defineConnectionRule","check","Object","assign","tickSafe","pass","ok","refuse","code","message","lookup","ctx","ref","end","node","document","nodes","find","candidate","id","problem","JSON","stringify","port","schema","isResolved","value","refuseDirection","source","target","direction","refuseSelfLoop","refusePortArity","taken","edges","some","edge","taken1","refuseDuplicate","refuseDataTypeMismatch","compatible","arguments","length","from","to","dataType","refuseCycle","out","Map","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","list","get","push","set","err","return","seen","Set","stack","current","pop","has","add","defaultRules","defaultDropRules","validateConnection","rules","rule","verdict","validateDrop","dropRules","cheap"],"sources":["connect.native.js"],"sourcesContent":["import { portArity, resolvePorts } from \"./schema\";\nfunction defineConnectionRule(check) {\n return Object.assign(check, {\n tickSafe: true\n });\n}\nvar pass = {\n ok: true\n};\nfunction refuse(code, message) {\n return {\n ok: false,\n code,\n message\n };\n}\nfunction lookup(ctx, ref, end) {\n var node = ctx.document.nodes.find(function(candidate) {\n return candidate.id === ref.node;\n });\n if (!node) {\n return {\n problem: refuse(\"unknown-node\", `the ${end} names node ${JSON.stringify(ref.node)}, which is not in this document`)\n };\n }\n var port = resolvePorts(ctx.schema, node).find(function(candidate) {\n return candidate.id === ref.port;\n });\n if (!port) {\n return {\n problem: refuse(\"unknown-port\", `node ${JSON.stringify(ref.node)} has no port ${JSON.stringify(ref.port)}`)\n };\n }\n return {\n port\n };\n}\nfunction isResolved(value) {\n return \"port\" in value;\n}\nvar refuseDirection = defineConnectionRule(function(ctx) {\n var source = lookup(ctx, ctx.source, \"source\");\n if (!isResolved(source)) return source.problem;\n var target = lookup(ctx, ctx.target, \"target\");\n if (!isResolved(target)) return target.problem;\n if (source.port.direction !== \"out\") {\n return refuse(\"wrong-direction\", `${ctx.source.port} is an input; a connection starts at an output`);\n }\n if (target.port.direction !== \"in\") {\n return refuse(\"wrong-direction\", `${ctx.target.port} is an output; a connection ends at an input`);\n }\n return pass;\n});\nvar refuseSelfLoop = defineConnectionRule(function(ctx) {\n return ctx.source.node === ctx.target.node ? refuse(\"self-loop\", `node ${JSON.stringify(ctx.source.node)} cannot connect to itself`) : pass;\n});\nvar refusePortArity = defineConnectionRule(function(ctx) {\n var source = lookup(ctx, ctx.source, \"source\");\n var target = lookup(ctx, ctx.target, \"target\");\n if (isResolved(source) && portArity(source.port) === \"one\") {\n var taken = ctx.document.edges.some(function(edge) {\n return edge.source.node === ctx.source.node && edge.source.port === ctx.source.port;\n });\n if (taken) {\n return refuse(\"port-arity\", `port ${JSON.stringify(ctx.source.port)} takes one connection and already has it`);\n }\n }\n if (isResolved(target) && portArity(target.port) === \"one\") {\n var taken1 = ctx.document.edges.some(function(edge) {\n return edge.target.node === ctx.target.node && edge.target.port === ctx.target.port;\n });\n if (taken1) {\n return refuse(\"port-arity\", `port ${JSON.stringify(ctx.target.port)} takes one connection and already has it`);\n }\n }\n return pass;\n});\nvar refuseDuplicate = defineConnectionRule(function(ctx) {\n return ctx.document.edges.some(function(edge) {\n return edge.source.node === ctx.source.node && edge.source.port === ctx.source.port && edge.target.node === ctx.target.node && edge.target.port === ctx.target.port;\n }) ? refuse(\"duplicate-edge\", \"these two ports are already connected\") : pass;\n});\nfunction refuseDataTypeMismatch() {\n var compatible = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function(from, to) {\n return from === to;\n };\n return defineConnectionRule(function(ctx) {\n var source = lookup(ctx, ctx.source, \"source\");\n var target = lookup(ctx, ctx.target, \"target\");\n if (!isResolved(source) || !isResolved(target)) return pass;\n var from = source.port.dataType;\n var to = target.port.dataType;\n if (from === void 0 || to === void 0) return pass;\n return compatible(from, to) ? pass : refuse(\"data-type-mismatch\", `a ${from} output does not fit a ${to} input`);\n });\n}\nfunction refuseCycle() {\n return function(ctx) {\n if (ctx.source.node === ctx.target.node) {\n return refuse(\"cycle\", \"a node cannot feed itself\");\n }\n var out = /* @__PURE__ */ new Map();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = ctx.document.edges[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var edge = _step.value;\n var list = out.get(edge.source.node);\n if (list) list.push(edge.target.node);\n else out.set(edge.source.node, [\n edge.target.node\n ]);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var seen = /* @__PURE__ */ new Set();\n var stack = [\n ctx.target.node\n ];\n while (stack.length > 0) {\n var current = stack.pop();\n if (current === ctx.source.node) {\n return refuse(\"cycle\", `connecting these would make ${JSON.stringify(ctx.source.node)} reachable from itself`);\n }\n if (seen.has(current)) continue;\n seen.add(current);\n var next = out.get(current);\n if (next) stack.push(...next);\n }\n return pass;\n };\n}\nvar defaultRules = [\n refuseDirection,\n refuseSelfLoop,\n refusePortArity,\n refuseDuplicate,\n refuseDataTypeMismatch()\n];\nvar defaultDropRules = [\n refuseCycle()\n];\nfunction validateConnection(ctx) {\n var rules = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ctx.schema.rules;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = rules[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var rule = _step.value;\n var verdict = rule(ctx);\n if (!verdict.ok) return verdict;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return pass;\n}\nfunction validateDrop(ctx) {\n var rules = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ctx.schema.rules, dropRules = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : ctx.schema.dropRules;\n var cheap = validateConnection(ctx, rules);\n if (!cheap.ok) return cheap;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = dropRules[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var rule = _step.value;\n var verdict = rule(ctx);\n if (!verdict.ok) return verdict;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return pass;\n}\nexport {\n defaultDropRules,\n defaultRules,\n defineConnectionRule,\n refuseCycle,\n refuseDataTypeMismatch,\n refuseDirection,\n refuseDuplicate,\n refusePortArity,\n refuseSelfLoop,\n validateConnection,\n validateDrop\n};\n//# sourceMappingURL=connect.js.map\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,YAAY,QAAQ,oBAAU;AAClD,SAASC,oBAAoBA,CAACC,KAAK,EAAE;EACnC,OAAOC,MAAM,CAACC,MAAM,CAACF,KAAK,EAAE;IAC1BG,QAAQ,EAAE;EACZ,CAAC,CAAC;AACJ;AACA,IAAIC,IAAI,GAAG;EACTC,EAAE,EAAE;AACN,CAAC;AACD,SAASC,MAAMA,CAACC,IAAI,EAAEC,OAAO,EAAE;EAC7B,OAAO;IACLH,EAAE,EAAE,KAAK;IACTE,IAAI;IACJC;EACF,CAAC;AACH;AACA,SAASC,MAAMA,CAACC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAE;EAC7B,IAAIC,IAAI,GAAGH,GAAG,CAACI,QAAQ,CAACC,KAAK,CAACC,IAAI,CAAC,UAASC,SAAS,EAAE;IACrD,OAAOA,SAAS,CAACC,EAAE,KAAKP,GAAG,CAACE,IAAI;EAClC,CAAC,CAAC;EACF,IAAI,CAACA,IAAI,EAAE;IACT,OAAO;MACLM,OAAO,EAAEb,MAAM,CAAC,cAAc,EAAE,OAAOM,GAAG,eAAeQ,IAAI,CAACC,SAAS,CAACV,GAAG,CAACE,IAAI,CAAC,iCAAiC;IACpH,CAAC;EACH;EACA,IAAIS,IAAI,GAAGxB,YAAY,CAACY,GAAG,CAACa,MAAM,EAAEV,IAAI,CAAC,CAACG,IAAI,CAAC,UAASC,SAAS,EAAE;IACjE,OAAOA,SAAS,CAACC,EAAE,KAAKP,GAAG,CAACW,IAAI;EAClC,CAAC,CAAC;EACF,IAAI,CAACA,IAAI,EAAE;IACT,OAAO;MACLH,OAAO,EAAEb,MAAM,CAAC,cAAc,EAAE,QAAQc,IAAI,CAACC,SAAS,CAACV,GAAG,CAACE,IAAI,CAAC,gBAAgBO,IAAI,CAACC,SAAS,CAACV,GAAG,CAACW,IAAI,CAAC,EAAE;IAC5G,CAAC;EACH;EACA,OAAO;IACLA;EACF,CAAC;AACH;AACA,SAASE,UAAUA,CAACC,KAAK,EAAE;EACzB,OAAO,MAAM,IAAIA,KAAK;AACxB;AACA,IAAIC,eAAe,GAAG3B,oBAAoB,CAAC,UAASW,GAAG,EAAE;EACvD,IAAIiB,MAAM,GAAGlB,MAAM,CAACC,GAAG,EAAEA,GAAG,CAACiB,MAAM,EAAE,QAAQ,CAAC;EAC9C,IAAI,CAACH,UAAU,CAACG,MAAM,CAAC,EAAE,OAAOA,MAAM,CAACR,OAAO;EAC9C,IAAIS,MAAM,GAAGnB,MAAM,CAACC,GAAG,EAAEA,GAAG,CAACkB,MAAM,EAAE,QAAQ,CAAC;EAC9C,IAAI,CAACJ,UAAU,CAACI,MAAM,CAAC,EAAE,OAAOA,MAAM,CAACT,OAAO;EAC9C,IAAIQ,MAAM,CAACL,IAAI,CAACO,SAAS,KAAK,KAAK,EAAE;IACnC,OAAOvB,MAAM,CAAC,iBAAiB,EAAE,GAAGI,GAAG,CAACiB,MAAM,CAACL,IAAI,gDAAgD,CAAC;EACtG;EACA,IAAIM,MAAM,CAACN,IAAI,CAACO,SAAS,KAAK,IAAI,EAAE;IAClC,OAAOvB,MAAM,CAAC,iBAAiB,EAAE,GAAGI,GAAG,CAACkB,MAAM,CAACN,IAAI,8CAA8C,CAAC;EACpG;EACA,OAAOlB,IAAI;AACb,CAAC,CAAC;AACF,IAAI0B,cAAc,GAAG/B,oBAAoB,CAAC,UAASW,GAAG,EAAE;EACtD,OAAOA,GAAG,CAACiB,MAAM,CAACd,IAAI,KAAKH,GAAG,CAACkB,MAAM,CAACf,IAAI,GAAGP,MAAM,CAAC,WAAW,EAAE,QAAQc,IAAI,CAACC,SAAS,CAACX,GAAG,CAACiB,MAAM,CAACd,IAAI,CAAC,2BAA2B,CAAC,GAAGT,IAAI;AAC7I,CAAC,CAAC;AACF,IAAI2B,eAAe,GAAGhC,oBAAoB,CAAC,UAASW,GAAG,EAAE;EACvD,IAAIiB,MAAM,GAAGlB,MAAM,CAACC,GAAG,EAAEA,GAAG,CAACiB,MAAM,EAAE,QAAQ,CAAC;EAC9C,IAAIC,MAAM,GAAGnB,MAAM,CAACC,GAAG,EAAEA,GAAG,CAACkB,MAAM,EAAE,QAAQ,CAAC;EAC9C,IAAIJ,UAAU,CAACG,MAAM,CAAC,IAAI9B,SAAS,CAAC8B,MAAM,CAACL,IAAI,CAAC,KAAK,KAAK,EAAE;IAC1D,IAAIU,KAAK,GAAGtB,GAAG,CAACI,QAAQ,CAACmB,KAAK,CAACC,IAAI,CAAC,UAASC,IAAI,EAAE;MACjD,OAAOA,IAAI,CAACR,MAAM,CAACd,IAAI,KAAKH,GAAG,CAACiB,MAAM,CAACd,IAAI,IAAIsB,IAAI,CAACR,MAAM,CAACL,IAAI,KAAKZ,GAAG,CAACiB,MAAM,CAACL,IAAI;IACrF,CAAC,CAAC;IACF,IAAIU,KAAK,EAAE;MACT,OAAO1B,MAAM,CAAC,YAAY,EAAE,QAAQc,IAAI,CAACC,SAAS,CAACX,GAAG,CAACiB,MAAM,CAACL,IAAI,CAAC,0CAA0C,CAAC;IAChH;EACF;EACA,IAAIE,UAAU,CAACI,MAAM,CAAC,IAAI/B,SAAS,CAAC+B,MAAM,CAACN,IAAI,CAAC,KAAK,KAAK,EAAE;IAC1D,IAAIc,MAAM,GAAG1B,GAAG,CAACI,QAAQ,CAACmB,KAAK,CAACC,IAAI,CAAC,UAASC,IAAI,EAAE;MAClD,OAAOA,IAAI,CAACP,MAAM,CAACf,IAAI,KAAKH,GAAG,CAACkB,MAAM,CAACf,IAAI,IAAIsB,IAAI,CAACP,MAAM,CAACN,IAAI,KAAKZ,GAAG,CAACkB,MAAM,CAACN,IAAI;IACrF,CAAC,CAAC;IACF,IAAIc,MAAM,EAAE;MACV,OAAO9B,MAAM,CAAC,YAAY,EAAE,QAAQc,IAAI,CAACC,SAAS,CAACX,GAAG,CAACkB,MAAM,CAACN,IAAI,CAAC,0CAA0C,CAAC;IAChH;EACF;EACA,OAAOlB,IAAI;AACb,CAAC,CAAC;AACF,IAAIiC,eAAe,GAAGtC,oBAAoB,CAAC,UAASW,GAAG,EAAE;EACvD,OAAOA,GAAG,CAACI,QAAQ,CAACmB,KAAK,CAACC,IAAI,CAAC,UAASC,IAAI,EAAE;IAC5C,OAAOA,IAAI,CAACR,MAAM,CAACd,IAAI,KAAKH,GAAG,CAACiB,MAAM,CAACd,IAAI,IAAIsB,IAAI,CAACR,MAAM,CAACL,IAAI,KAAKZ,GAAG,CAACiB,MAAM,CAACL,IAAI,IAAIa,IAAI,CAACP,MAAM,CAACf,IAAI,KAAKH,GAAG,CAACkB,MAAM,CAACf,IAAI,IAAIsB,IAAI,CAACP,MAAM,CAACN,IAAI,KAAKZ,GAAG,CAACkB,MAAM,CAACN,IAAI;EACrK,CAAC,CAAC,GAAGhB,MAAM,CAAC,gBAAgB,EAAE,uCAAuC,CAAC,GAAGF,IAAI;AAC/E,CAAC,CAAC;AACF,SAASkC,sBAAsBA,CAAA,EAAG;EAChC,IAAIC,UAAU,GAAGC,SAAS,CAACC,MAAM,GAAG,CAAC,IAAID,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAGA,SAAS,CAAC,CAAC,CAAC,GAAG,UAASE,IAAI,EAAEC,EAAE,EAAE;IACnG,OAAOD,IAAI,KAAKC,EAAE;EACpB,CAAC;EACD,OAAO5C,oBAAoB,CAAC,UAASW,GAAG,EAAE;IACxC,IAAIiB,MAAM,GAAGlB,MAAM,CAACC,GAAG,EAAEA,GAAG,CAACiB,MAAM,EAAE,QAAQ,CAAC;IAC9C,IAAIC,MAAM,GAAGnB,MAAM,CAACC,GAAG,EAAEA,GAAG,CAACkB,MAAM,EAAE,QAAQ,CAAC;IAC9C,IAAI,CAACJ,UAAU,CAACG,MAAM,CAAC,IAAI,CAACH,UAAU,CAACI,MAAM,CAAC,EAAE,OAAOxB,IAAI;IAC3D,IAAIsC,IAAI,GAAGf,MAAM,CAACL,IAAI,CAACsB,QAAQ;IAC/B,IAAID,EAAE,GAAGf,MAAM,CAACN,IAAI,CAACsB,QAAQ;IAC7B,IAAIF,IAAI,KAAK,KAAK,CAAC,IAAIC,EAAE,KAAK,KAAK,CAAC,EAAE,OAAOvC,IAAI;IACjD,OAAOmC,UAAU,CAACG,IAAI,EAAEC,EAAE,CAAC,GAAGvC,IAAI,GAAGE,MAAM,CAAC,oBAAoB,EAAE,KAAKoC,IAAI,0BAA0BC,EAAE,QAAQ,CAAC;EAClH,CAAC,CAAC;AACJ;AACA,SAASE,WAAWA,CAAA,EAAG;EACrB,OAAO,UAASnC,GAAG,EAAE;IACnB,IAAIA,GAAG,CAACiB,MAAM,CAACd,IAAI,KAAKH,GAAG,CAACkB,MAAM,CAACf,IAAI,EAAE;MACvC,OAAOP,MAAM,CAAC,OAAO,EAAE,2BAA2B,CAAC;IACrD;IACA,IAAIwC,GAAG,GAAG,eAAgB,IAAIC,GAAG,CAAC,CAAC;IACnC,IAAIC,yBAAyB,GAAG,IAAI;MAAEC,iBAAiB,GAAG,KAAK;MAAEC,cAAc,GAAG,KAAK,CAAC;IACxF,IAAI;MACF,KAAK,IAAIC,SAAS,GAAGzC,GAAG,CAACI,QAAQ,CAACmB,KAAK,CAACmB,MAAM,CAACC,QAAQ,CAAC,CAAC,CAAC,EAAEC,KAAK,EAAE,EAAEN,yBAAyB,GAAG,CAACM,KAAK,GAAGH,SAAS,CAACI,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,EAAER,yBAAyB,GAAG,IAAI,EAAE;QACnK,IAAIb,IAAI,GAAGmB,KAAK,CAAC7B,KAAK;QACtB,IAAIgC,IAAI,GAAGX,GAAG,CAACY,GAAG,CAACvB,IAAI,CAACR,MAAM,CAACd,IAAI,CAAC;QACpC,IAAI4C,IAAI,EAAEA,IAAI,CAACE,IAAI,CAACxB,IAAI,CAACP,MAAM,CAACf,IAAI,CAAC,CAAC,KACjCiC,GAAG,CAACc,GAAG,CAACzB,IAAI,CAACR,MAAM,CAACd,IAAI,EAAE,CAC7BsB,IAAI,CAACP,MAAM,CAACf,IAAI,CACjB,CAAC;MACJ;IACF,CAAC,CAAC,OAAOgD,GAAG,EAAE;MACZZ,iBAAiB,GAAG,IAAI;MACxBC,cAAc,GAAGW,GAAG;IACtB,CAAC,SAAS;MACR,IAAI;QACF,IAAI,CAACb,yBAAyB,IAAIG,SAAS,CAACW,MAAM,IAAI,IAAI,EAAE;UAC1DX,SAAS,CAACW,MAAM,CAAC,CAAC;QACpB;MACF,CAAC,SAAS;QACR,IAAIb,iBAAiB,EAAE;UACrB,MAAMC,cAAc;QACtB;MACF;IACF;IACA,IAAIa,IAAI,GAAG,eAAgB,IAAIC,GAAG,CAAC,CAAC;IACpC,IAAIC,KAAK,GAAG,CACVvD,GAAG,CAACkB,MAAM,CAACf,IAAI,CAChB;IACD,OAAOoD,KAAK,CAACxB,MAAM,GAAG,CAAC,EAAE;MACvB,IAAIyB,OAAO,GAAGD,KAAK,CAACE,GAAG,CAAC,CAAC;MACzB,IAAID,OAAO,KAAKxD,GAAG,CAACiB,MAAM,CAACd,IAAI,EAAE;QAC/B,OAAOP,MAAM,CAAC,OAAO,EAAE,+BAA+Bc,IAAI,CAACC,SAAS,CAACX,GAAG,CAACiB,MAAM,CAACd,IAAI,CAAC,wBAAwB,CAAC;MAChH;MACA,IAAIkD,IAAI,CAACK,GAAG,CAACF,OAAO,CAAC,EAAE;MACvBH,IAAI,CAACM,GAAG,CAACH,OAAO,CAAC;MACjB,IAAIX,IAAI,GAAGT,GAAG,CAACY,GAAG,CAACQ,OAAO,CAAC;MAC3B,IAAIX,IAAI,EAAEU,KAAK,CAACN,IAAI,CAAC,GAAGJ,IAAI,CAAC;IAC/B;IACA,OAAOnD,IAAI;EACb,CAAC;AACH;AACA,IAAIkE,YAAY,GAAG,CACjB5C,eAAe,EACfI,cAAc,EACdC,eAAe,EACfM,eAAe,EACfC,sBAAsB,CAAC,CAAC,CACzB;AACD,IAAIiC,gBAAgB,GAAG,CACrB1B,WAAW,CAAC,CAAC,CACd;AACD,SAAS2B,kBAAkBA,CAAC9D,GAAG,EAAE;EAC/B,IAAI+D,KAAK,GAAGjC,SAAS,CAACC,MAAM,GAAG,CAAC,IAAID,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAGA,SAAS,CAAC,CAAC,CAAC,GAAG9B,GAAG,CAACa,MAAM,CAACkD,KAAK;EAC7F,IAAIzB,yBAAyB,GAAG,IAAI;IAAEC,iBAAiB,GAAG,KAAK;IAAEC,cAAc,GAAG,KAAK,CAAC;EACxF,IAAI;IACF,KAAK,IAAIC,SAAS,GAAGsB,KAAK,CAACrB,MAAM,CAACC,QAAQ,CAAC,CAAC,CAAC,EAAEC,KAAK,EAAE,EAAEN,yBAAyB,GAAG,CAACM,KAAK,GAAGH,SAAS,CAACI,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,EAAER,yBAAyB,GAAG,IAAI,EAAE;MACtJ,IAAI0B,IAAI,GAAGpB,KAAK,CAAC7B,KAAK;MACtB,IAAIkD,OAAO,GAAGD,IAAI,CAAChE,GAAG,CAAC;MACvB,IAAI,CAACiE,OAAO,CAACtE,EAAE,EAAE,OAAOsE,OAAO;IACjC;EACF,CAAC,CAAC,OAAOd,GAAG,EAAE;IACZZ,iBAAiB,GAAG,IAAI;IACxBC,cAAc,GAAGW,GAAG;EACtB,CAAC,SAAS;IACR,IAAI;MACF,IAAI,CAACb,yBAAyB,IAAIG,SAAS,CAACW,MAAM,IAAI,IAAI,EAAE;QAC1DX,SAAS,CAACW,MAAM,CAAC,CAAC;MACpB;IACF,CAAC,SAAS;MACR,IAAIb,iBAAiB,EAAE;QACrB,MAAMC,cAAc;MACtB;IACF;EACF;EACA,OAAO9C,IAAI;AACb;AACA,SAASwE,YAAYA,CAAClE,GAAG,EAAE;EACzB,IAAI+D,KAAK,GAAGjC,SAAS,CAACC,MAAM,GAAG,CAAC,IAAID,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAGA,SAAS,CAAC,CAAC,CAAC,GAAG9B,GAAG,CAACa,MAAM,CAACkD,KAAK;IAAEI,SAAS,GAAGrC,SAAS,CAACC,MAAM,GAAG,CAAC,IAAID,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAGA,SAAS,CAAC,CAAC,CAAC,GAAG9B,GAAG,CAACa,MAAM,CAACsD,SAAS;EAChM,IAAIC,KAAK,GAAGN,kBAAkB,CAAC9D,GAAG,EAAE+D,KAAK,CAAC;EAC1C,IAAI,CAACK,KAAK,CAACzE,EAAE,EAAE,OAAOyE,KAAK;EAC3B,IAAI9B,yBAAyB,GAAG,IAAI;IAAEC,iBAAiB,GAAG,KAAK;IAAEC,cAAc,GAAG,KAAK,CAAC;EACxF,IAAI;IACF,KAAK,IAAIC,SAAS,GAAG0B,SAAS,CAACzB,MAAM,CAACC,QAAQ,CAAC,CAAC,CAAC,EAAEC,KAAK,EAAE,EAAEN,yBAAyB,GAAG,CAACM,KAAK,GAAGH,SAAS,CAACI,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,EAAER,yBAAyB,GAAG,IAAI,EAAE;MAC1J,IAAI0B,IAAI,GAAGpB,KAAK,CAAC7B,KAAK;MACtB,IAAIkD,OAAO,GAAGD,IAAI,CAAChE,GAAG,CAAC;MACvB,IAAI,CAACiE,OAAO,CAACtE,EAAE,EAAE,OAAOsE,OAAO;IACjC;EACF,CAAC,CAAC,OAAOd,GAAG,EAAE;IACZZ,iBAAiB,GAAG,IAAI;IACxBC,cAAc,GAAGW,GAAG;EACtB,CAAC,SAAS;IACR,IAAI;MACF,IAAI,CAACb,yBAAyB,IAAIG,SAAS,CAACW,MAAM,IAAI,IAAI,EAAE;QAC1DX,SAAS,CAACW,MAAM,CAAC,CAAC;MACpB;IACF,CAAC,SAAS;MACR,IAAIb,iBAAiB,EAAE;QACrB,MAAMC,cAAc;MACtB;IACF;EACF;EACA,OAAO9C,IAAI;AACb;AACA,SACEmE,gBAAgB,EAChBD,YAAY,EACZvE,oBAAoB,EACpB8C,WAAW,EACXP,sBAAsB,EACtBZ,eAAe,EACfW,eAAe,EACfN,eAAe,EACfD,cAAc,EACd0C,kBAAkB,EAClBI,YAAY","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["document.native.js"],"sourcesContent":["//# sourceMappingURL=document.js.map\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["applyCommand","invertCommand","movedIds","deltas","Object","keys","sort","sameIds","a","b","length","every","id","i","addDeltas","out","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","entries","Symbol","iterator","_step","next","done","delta","value","err","return","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","id1","delta1","prior","x","y","createHistory","options","arguments","_options_limit","_options_coalesceMs","_options_now","limit","coalesceMs","now","Date","past","future","coalesce","command","undo","at","top","t","redo"],"sources":["../../../src/model/history.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["applyCommand","invertCommand","movedIds","deltas","Object","keys","sort","sameIds","a","b","length","every","id","i","addDeltas","out","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","entries","Symbol","iterator","_step","next","done","delta","value","err","return","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","id1","delta1","prior","x","y","createHistory","options","arguments","_options_limit","_options_coalesceMs","_options_now","limit","coalesceMs","now","Date","past","future","coalesce","command","undo","at","top","t","redo","commit","doc","merged","push","slice","entry","pop","canUndo","canRedo","depth","clear"],"sources":["history.native.js"],"sourcesContent":["import { applyCommand, invertCommand } from \"./commands\";\nfunction movedIds(deltas) {\n return Object.keys(deltas).sort();\n}\nfunction sameIds(a, b) {\n return a.length === b.length && a.every(function(id, i) {\n return id === b[i];\n });\n}\nfunction addDeltas(a, b) {\n var out = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.entries(a)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [id, delta] = _step.value;\n out[id] = {\n ...delta\n };\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = Object.entries(b)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var [id1, delta1] = _step1.value;\n var prior = out[id1];\n out[id1] = prior ? {\n x: prior.x + delta1.x,\n y: prior.y + delta1.y\n } : {\n ...delta1\n };\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n return out;\n}\nfunction createHistory() {\n var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n var _options_limit, _options_coalesceMs, _options_now;\n var limit = (_options_limit = options.limit) !== null && _options_limit !== void 0 ? _options_limit : 100;\n var coalesceMs = (_options_coalesceMs = options.coalesceMs) !== null && _options_coalesceMs !== void 0 ? _options_coalesceMs : 400;\n var now = (_options_now = options.now) !== null && _options_now !== void 0 ? _options_now : function() {\n return Date.now();\n };\n var past = [];\n var future = [];\n function coalesce(command, undo, at) {\n var top = past[past.length - 1];\n if (!top) return void 0;\n if (future.length > 0) return void 0;\n if (at - top.at > coalesceMs) return void 0;\n if (command.t !== \"moveNodes\" || top.redo.t !== \"moveNodes\" || top.undo.t !== \"moveNodes\") {\n return void 0;\n }\n if (undo.t !== \"moveNodes\") return void 0;\n if (!sameIds(movedIds(command.deltas), movedIds(top.redo.deltas))) return void 0;\n return {\n // Deltas compose by addition. That is the whole reason `moveNodes`\n // carries deltas rather than absolutes.\n redo: {\n t: \"moveNodes\",\n deltas: addDeltas(top.redo.deltas, command.deltas)\n },\n undo: {\n t: \"moveNodes\",\n deltas: addDeltas(top.undo.deltas, undo.deltas)\n },\n at\n };\n }\n return {\n commit(doc, command) {\n var at = now();\n var undo = invertCommand(doc, command);\n var next = applyCommand(doc, command);\n var merged = coalesce(command, undo, at);\n if (merged) {\n past[past.length - 1] = merged;\n return next;\n }\n past.push({\n redo: command,\n undo,\n at\n });\n future = [];\n if (past.length > limit) past = past.slice(past.length - limit);\n return next;\n },\n undo(doc) {\n var entry = past.pop();\n if (!entry) return doc;\n future.push(entry);\n return applyCommand(doc, entry.undo);\n },\n redo(doc) {\n var entry = future.pop();\n if (!entry) return doc;\n past.push(entry);\n return applyCommand(doc, entry.redo);\n },\n canUndo: function canUndo() {\n return past.length > 0;\n },\n canRedo: function canRedo() {\n return future.length > 0;\n },\n depth: function depth() {\n return past.length;\n },\n entries: function entries() {\n return past;\n },\n clear() {\n past = [];\n future = [];\n }\n };\n}\nexport {\n createHistory\n};\n//# sourceMappingURL=history.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["applyCommand","invertCommand","defaultDropRules","defaultRules","defineConnectionRule","refuseCycle","refuseDataTypeMismatch","refuseDirection","refuseDuplicate","refusePortArity","refuseSelfLoop","validateConnection","validateDrop","createHistory","clearGraphSchemas","createGraphSchema","getGraphSchema","nodeKindSpec","portArity","registerGraphSchema","resolvePorts","nodeRects","rectContains","rectsOverlap","selectInMarquee","unionBounds","parseDocument","serializeDocument"],"sources":["../../../src/model/index.ts"],"sourcesContent":[null],"mappings":"AA6BA,SAASA,YAAA,EAAcC,aAAA,QAAqB;AAQ5C,SAAAC,gBAAA,EAAAC,YAAA,EAAAC,oBAAA,EAAAC,WAAA,EAAAC,sBAAA,EAAAC,eAAA,EAAAC,eAAA,EAAAC,eAAA,EAAAC,cAAA,EAAAC,kBAAA,EAAAC,YAAA;AAAA,SACEC,aAAA;AAAA,SACAC,iBAAA,EAAAC,iBAAA,EAAAC,cAAA,EAAAC,YAAA,EAAAC,SAAA,EAAAC,mBAAA,EAAAC,YAAA;AAAA,SACAC,SAAA,EAAAC,YAAA,EAAAC,YAAA,EAAAC,eAAA,EAAAC,WAAA;AAAA,SACAC,aAAA,EAAAC,iBAAA;AAAA,SAEA3B,YAAA,EACAc,iBAAA,EACAC,iBAAA,EACAF,aAAA,EACAX,gBAAA,EACAC,YAAA,EAAAC,oBACK,EAEPY,cAAS,EAUTf,aAAA,EACEgB,YAAA,EACAI,SAAA,EACAK,aAAA,EACAR,SAAA,EACAI,YAAA,EACAC,YAAA,EACAlB,WAAA,EAAAC,sBACK,EAEPC,eAAS,EAETC,eAAS,E","ignoreList":[]}
1
+ {"version":3,"names":["applyCommand","invertCommand","defaultDropRules","defaultRules","defineConnectionRule","refuseCycle","refuseDataTypeMismatch","refuseDirection","refuseDuplicate","refusePortArity","refuseSelfLoop","validateConnection","validateDrop","createHistory","clearGraphSchemas","createGraphSchema","getGraphSchema","nodeKindSpec","portArity","registerGraphSchema","resolvePorts","nodeRects","rectContains","rectsOverlap","selectInMarquee","unionBounds","parseDocument","serializeDocument"],"sources":["index.native.js"],"sourcesContent":["import { applyCommand, invertCommand } from \"./commands\";\nimport { defaultDropRules, defaultRules, defineConnectionRule, refuseCycle, refuseDataTypeMismatch, refuseDirection, refuseDuplicate, refusePortArity, refuseSelfLoop, validateConnection, validateDrop } from \"./connect\";\nimport { createHistory } from \"./history\";\nimport { clearGraphSchemas, createGraphSchema, getGraphSchema, nodeKindSpec, portArity, registerGraphSchema, resolvePorts } from \"./schema\";\nimport { nodeRects, rectContains, rectsOverlap, selectInMarquee, unionBounds } from \"./select\";\nimport { parseDocument, serializeDocument } from \"./serialize\";\nexport {\n applyCommand,\n clearGraphSchemas,\n createGraphSchema,\n createHistory,\n defaultDropRules,\n defaultRules,\n defineConnectionRule,\n getGraphSchema,\n invertCommand,\n nodeKindSpec,\n nodeRects,\n parseDocument,\n portArity,\n rectContains,\n rectsOverlap,\n refuseCycle,\n refuseDataTypeMismatch,\n refuseDirection,\n refuseDuplicate,\n refusePortArity,\n refuseSelfLoop,\n registerGraphSchema,\n resolvePorts,\n selectInMarquee,\n serializeDocument,\n unionBounds,\n validateConnection,\n validateDrop\n};\n//# sourceMappingURL=index.js.map\n"],"mappings":"AAAA,SAASA,YAAY,EAAEC,aAAa,QAAQ,sBAAY;AACxD,SAASC,gBAAgB,EAAEC,YAAY,EAAEC,oBAAoB,EAAEC,WAAW,EAAEC,sBAAsB,EAAEC,eAAe,EAAEC,eAAe,EAAEC,eAAe,EAAEC,cAAc,EAAEC,kBAAkB,EAAEC,YAAY,QAAQ,qBAAW;AAC1N,SAASC,aAAa,QAAQ,qBAAW;AACzC,SAASC,iBAAiB,EAAEC,iBAAiB,EAAEC,cAAc,EAAEC,YAAY,EAAEC,SAAS,EAAEC,mBAAmB,EAAEC,YAAY,QAAQ,oBAAU;AAC3I,SAASC,SAAS,EAAEC,YAAY,EAAEC,YAAY,EAAEC,eAAe,EAAEC,WAAW,QAAQ,oBAAU;AAC9F,SAASC,aAAa,EAAEC,iBAAiB,QAAQ,uBAAa;AAC9D,SACE3B,YAAY,EACZc,iBAAiB,EACjBC,iBAAiB,EACjBF,aAAa,EACbX,gBAAgB,EAChBC,YAAY,EACZC,oBAAoB,EACpBY,cAAc,EACdf,aAAa,EACbgB,YAAY,EACZI,SAAS,EACTK,aAAa,EACbR,SAAS,EACTI,YAAY,EACZC,YAAY,EACZlB,WAAW,EACXC,sBAAsB,EACtBC,eAAe,EACfC,eAAe,EACfC,eAAe,EACfC,cAAc,EACdS,mBAAmB,EACnBC,YAAY,EACZI,eAAe,EACfG,iBAAiB,EACjBF,WAAW,EACXd,kBAAkB,EAClBC,YAAY","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["portArity","port","_port_arity","arity","direction","createGraphSchema","spec","_spec_rules","_spec_dropRules","id","nodes","edges","rules","dropRules","registry","Map","registerGraphSchema","schema","set","getGraphSchema","get","clearGraphSchemas","clear","nodeKindSpec","kind","resolvePorts","node"],"sources":["../../../src/model/schema.ts"],"sourcesContent":[null],"mappings":"AAqCO,SAASA,UAAUC,IAAA,EAAgC;EACxD,IAAAC,WAAY;EACd,QAAAA,WAAA,GAAAD,IAAA,CAAAE,KAAA,cAAAD,WAAA,cAAAA,WAAA,GAAAD,IAAA,CAAAG,SAAA;AAsFO;AAGL,SAAOC,kBAAAC,IAAA;EAAA,IACLC,WAAS,EAAAC,eAAA;EAAA,OACT;IACAC,EAAA,EAAAH,IAAO,CAAAG,EAAA;IACPC,KAAA,EAAOJ,IAAA,CAAKI,KAAA;IACZC,KAAA,EAAAL,IAAW,CAAAK,KAAK;IAClBC,KAAA,GAAAL,WAAA,GAAAD,IAAA,CAAAM,KAAA,cAAAL,WAAA,cAAAA,WAAA;IACFM,SAAA,GAAAL,eAAA,GAAAF,IAAA,CAAAO,SAAA,cAAAL,eAAA,cAAAA,eAAA;EAEA;AASO;AAGL,IAAAM,QAAS,GAAI,eAAW,IAA8CC,GAAA;AACxE,SAAAC,oBAAAC,MAAA;EAEOH,QAAS,CAAAI,GAAA,CAAAD,MAAA,CAAAR,EAAe,EAAAQ,MAAmD;AAChF;AACF,SAAAE,eAAAV,EAAA;EAGO,OAASK,QAAA,CAAAM,GAAA,CAAAX,EAAA;AACd;AACF,SAAAY,kBAAA;EAEOP,QAAS,CAAAQ,KAAA;AAId;AACF,SAAAC,aAAAN,MAAA,EAAAO,IAAA;EAGO,OAASP,MAAA,CAAAP,KAAA,CACdc,IAAA;AAGA;AACA,SAAKC,YAAcA,CAAAR,MAAA,EAAAS,IAAA;EACnB,IAAApB,IAAO,GAAAiB,YAAY,CAAAN,MAAU,EAAAS,IAAA,CAAAF,IAAA,CAAa;EAC5C,KAAAlB,IAAA","ignoreList":[]}
1
+ {"version":3,"names":["portArity","port","_port_arity","arity","direction","createGraphSchema","spec","_spec_rules","_spec_dropRules","id","nodes","edges","rules","dropRules","registry","Map","registerGraphSchema","schema","set","getGraphSchema","get","clearGraphSchemas","clear","nodeKindSpec","kind","resolvePorts","node","ports","data"],"sources":["schema.native.js"],"sourcesContent":["function portArity(port) {\n var _port_arity;\n return (_port_arity = port.arity) !== null && _port_arity !== void 0 ? _port_arity : port.direction === \"out\" ? \"many\" : \"one\";\n}\nfunction createGraphSchema(spec) {\n var _spec_rules, _spec_dropRules;\n return {\n id: spec.id,\n nodes: spec.nodes,\n edges: spec.edges,\n rules: (_spec_rules = spec.rules) !== null && _spec_rules !== void 0 ? _spec_rules : [],\n dropRules: (_spec_dropRules = spec.dropRules) !== null && _spec_dropRules !== void 0 ? _spec_dropRules : []\n };\n}\nvar registry = /* @__PURE__ */ new Map();\nfunction registerGraphSchema(schema) {\n registry.set(schema.id, schema);\n}\nfunction getGraphSchema(id) {\n return registry.get(id);\n}\nfunction clearGraphSchemas() {\n registry.clear();\n}\nfunction nodeKindSpec(schema, kind) {\n return schema.nodes[kind];\n}\nfunction resolvePorts(schema, node) {\n var spec = nodeKindSpec(schema, node.kind);\n if (!spec) return [];\n return typeof spec.ports === \"function\" ? spec.ports(node.data) : spec.ports;\n}\nexport {\n clearGraphSchemas,\n createGraphSchema,\n getGraphSchema,\n nodeKindSpec,\n portArity,\n registerGraphSchema,\n resolvePorts\n};\n//# sourceMappingURL=schema.js.map\n"],"mappings":"AAAA,SAASA,SAASA,CAACC,IAAI,EAAE;EACvB,IAAIC,WAAW;EACf,OAAO,CAACA,WAAW,GAAGD,IAAI,CAACE,KAAK,MAAM,IAAI,IAAID,WAAW,KAAK,KAAK,CAAC,GAAGA,WAAW,GAAGD,IAAI,CAACG,SAAS,KAAK,KAAK,GAAG,MAAM,GAAG,KAAK;AAChI;AACA,SAASC,iBAAiBA,CAACC,IAAI,EAAE;EAC/B,IAAIC,WAAW,EAAEC,eAAe;EAChC,OAAO;IACLC,EAAE,EAAEH,IAAI,CAACG,EAAE;IACXC,KAAK,EAAEJ,IAAI,CAACI,KAAK;IACjBC,KAAK,EAAEL,IAAI,CAACK,KAAK;IACjBC,KAAK,EAAE,CAACL,WAAW,GAAGD,IAAI,CAACM,KAAK,MAAM,IAAI,IAAIL,WAAW,KAAK,KAAK,CAAC,GAAGA,WAAW,GAAG,EAAE;IACvFM,SAAS,EAAE,CAACL,eAAe,GAAGF,IAAI,CAACO,SAAS,MAAM,IAAI,IAAIL,eAAe,KAAK,KAAK,CAAC,GAAGA,eAAe,GAAG;EAC3G,CAAC;AACH;AACA,IAAIM,QAAQ,GAAG,eAAgB,IAAIC,GAAG,CAAC,CAAC;AACxC,SAASC,mBAAmBA,CAACC,MAAM,EAAE;EACnCH,QAAQ,CAACI,GAAG,CAACD,MAAM,CAACR,EAAE,EAAEQ,MAAM,CAAC;AACjC;AACA,SAASE,cAAcA,CAACV,EAAE,EAAE;EAC1B,OAAOK,QAAQ,CAACM,GAAG,CAACX,EAAE,CAAC;AACzB;AACA,SAASY,iBAAiBA,CAAA,EAAG;EAC3BP,QAAQ,CAACQ,KAAK,CAAC,CAAC;AAClB;AACA,SAASC,YAAYA,CAACN,MAAM,EAAEO,IAAI,EAAE;EAClC,OAAOP,MAAM,CAACP,KAAK,CAACc,IAAI,CAAC;AAC3B;AACA,SAASC,YAAYA,CAACR,MAAM,EAAES,IAAI,EAAE;EAClC,IAAIpB,IAAI,GAAGiB,YAAY,CAACN,MAAM,EAAES,IAAI,CAACF,IAAI,CAAC;EAC1C,IAAI,CAAClB,IAAI,EAAE,OAAO,EAAE;EACpB,OAAO,OAAOA,IAAI,CAACqB,KAAK,KAAK,UAAU,GAAGrB,IAAI,CAACqB,KAAK,CAACD,IAAI,CAACE,IAAI,CAAC,GAAGtB,IAAI,CAACqB,KAAK;AAC9E;AACA,SACEN,iBAAiB,EACjBhB,iBAAiB,EACjBc,cAAc,EACdI,YAAY,EACZvB,SAAS,EACTgB,mBAAmB,EACnBS,YAAY","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["rectsOverlap","a","b","x","width","y","height","rectContains","outer","inner","selectInMarquee","nodes","marquee","mode","hit","filter","param","rect","map","id","unionBounds","rects","length","minX","Number","POSITIVE_INFINITY","minY","maxX","NEGATIVE_INFINITY","maxY","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","value","err"],"sources":["../../../src/model/select.ts"],"sourcesContent":[null],"mappings":"AA2BO,SAASA,aAAaC,CAAA,EAASC,CAAA,EAAkB;EACtD,OAAOD,CAAA,CAAEE,CAAA,GAAID,CAAA,CAAEC,CAAA,GAAID,CAAA,CAAEE,KAAA,IAASF,CAAA,CAAEC,CAAA,GAAIF,CAAA,CAAEE,CAAA,GAAIF,CAAA,CAAEG,KAAA,IAASH,CAAA,CAAEI,CAAA,GAAIH,CAAA,CAAEG,CAAA,GAAIH,CAAA,CAAEI,MAAA,IAAUJ,CAAA,CAAEG,CAAA,GAAIJ,CAAA,CAAEI,CAAA,GAAIJ,CAAA,CAAEK,MAAA;AAC7F;AAGO,SAASC,aAAaC,KAAA,EAAaC,KAAA,EAAsB;EAC9D,OACEA,KAAA,CAAMN,CAAA,IAAKK,KAAA,CAAML,CAAA,IACjBM,KAAA,CAAMJ,CAAA,IAAKG,KAAA,CAAMH,CAAA,IACjBI,KAAA,CAAMN,CAAA,GAAIM,KAAA,CAAML,KAAA,IAASI,KAAA,CAAML,CAAA,GAAIK,KAAA,CAAMJ,KAAA,IACzCK,KAAA,CAAMJ,CAAA,GAAII,KAAA,CAAMH,MAAA,IAAUE,KAAA,CAAMH,CAAA,GAAIG,KAAA,CAAMF,MAAA;AAE9C;AAGO,SAASI,gBACdC,KAAA,EACAC,OAAA,EACAC,IAAA,EACmB;EACnB,IAAAC,GAAM,GAAAD,IAAM,WAAS,GAAAN,YAAS,GAAAP,YAAe;EAC7C,OAAOW,KAAA,CAAMI,MAAA,CAAO,UAAQC,KAAM;IACpC;MAAAC;IAAA,IAAAD,KAAA;IAOO,OAASF,GAAA,CAAAF,OAAY,EAAAK,IAA0C;EACpE,GAAAC,GAAI,WAAMF,KAAW,EAAG;IACxB,IAAI;MAAAG;IAAO,IAAAH,KAAO;IAClB,OAAIG,EAAO;EACX;AACA;AACA,SAAAC,WAAWA,CAAQC,KAAA,EAAO;EACxB,IAAAA,KAAI,CAAAC,MAAS,KAAM,UAAO,KAAK;EAC/B,IAAAC,IAAI,GAAKC,MAAI,CAAAC,iBAAkB;EAC/B,IAAAC,IAAI,GAAKF,MAAI,CAAAC,iBAAmB;EAChC,IAAAE,IAAI,GAAKH,MAAI,CAAAI,iBAAoB;EACnC,IAAAC,IAAA,GAAAL,MAAA,CAAAI,iBAAA;EACA,IAAAE,yBAA2B,OAAO;IAAAC,iBAAqB,QAAO;IAAAC,cAAK;EACrE;IAOO,KAAS,IAAAC,SACd,GACAZ,KAAA,CAAAa,MACqB,CAAAC,QAAA,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;MACrB,IAAOb,IAAI,GAAAmB,KAAM,CAAIG,KAAC;MACpB,IAAMtB,IAAA,CAAAd,CAAA,GAAOoB,IAAK,EAAAA,IAAA,GAAQN,IAAA,CAAAd,CAAQ;MAClC,IAAAc,IAAO,CAAAZ,CAAA,GAAAqB,IAAA,EAAAA,IAAA,GAAAT,IAAA,CAAAZ,CAAA;MACL,IAAIY,IAAA,CAAKd,CAAA,GAAAc,IAAA,CAAAb,KAAA,GAAAuB,IAAA,EAAAA,IAAA,GAAAV,IAAA,CAAAd,CAAA,GAAAc,IAAA,CAAAb,KAAA;MACT,IAAAa,IAAQ,CAAAZ,CAAA,GAAGY,IAAK,CAAAX,MAAA,GAASuB,IAAM,EAAAA,IAAK,GAAAZ,IAAA,CAASZ,CAAA,GAAGY,IAAA,CAAAX,MAAY;IAC9D;EACF,CAAC,QAAAkC,GAAA;IACHT,iBAAA","ignoreList":[]}
1
+ {"version":3,"names":["rectsOverlap","a","b","x","width","y","height","rectContains","outer","inner","selectInMarquee","nodes","marquee","mode","hit","filter","param","rect","map","id","unionBounds","rects","length","minX","Number","POSITIVE_INFINITY","minY","maxX","NEGATIVE_INFINITY","maxY","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","value","err","return","nodeRects","doc","measure","node","_node_size","size","kind","position"],"sources":["select.native.js"],"sourcesContent":["function rectsOverlap(a, b) {\n return a.x < b.x + b.width && b.x < a.x + a.width && a.y < b.y + b.height && b.y < a.y + a.height;\n}\nfunction rectContains(outer, inner) {\n return inner.x >= outer.x && inner.y >= outer.y && inner.x + inner.width <= outer.x + outer.width && inner.y + inner.height <= outer.y + outer.height;\n}\nfunction selectInMarquee(nodes, marquee, mode) {\n var hit = mode === \"full\" ? rectContains : rectsOverlap;\n return nodes.filter(function(param) {\n var { rect } = param;\n return hit(marquee, rect);\n }).map(function(param) {\n var { id } = param;\n return id;\n });\n}\nfunction unionBounds(rects) {\n if (rects.length === 0) return void 0;\n var minX = Number.POSITIVE_INFINITY;\n var minY = Number.POSITIVE_INFINITY;\n var maxX = Number.NEGATIVE_INFINITY;\n var maxY = Number.NEGATIVE_INFINITY;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = rects[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var rect = _step.value;\n if (rect.x < minX) minX = rect.x;\n if (rect.y < minY) minY = rect.y;\n if (rect.x + rect.width > maxX) maxX = rect.x + rect.width;\n if (rect.y + rect.height > maxY) maxY = rect.y + rect.height;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction nodeRects(doc, measure) {\n return doc.nodes.map(function(node) {\n var _node_size;\n var size = (_node_size = node.size) !== null && _node_size !== void 0 ? _node_size : measure(node.kind);\n return {\n id: node.id,\n rect: {\n x: node.position.x,\n y: node.position.y,\n width: size.width,\n height: size.height\n }\n };\n });\n}\nexport {\n nodeRects,\n rectContains,\n rectsOverlap,\n selectInMarquee,\n unionBounds\n};\n//# sourceMappingURL=select.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","documentVersion","round2","value","rounded","Number","toFixed","Object","is","roundXY","x","y","canonical","Array","isArray","map","source","out","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","keys","sort","iterator","_step","next","done","key","err","return","serializeDocument","doc","version","nodes","node","shaped","id","kind","position","data","size","width","height","parent","locked","edges","edge","port","target","label","viewport","zoom","meta","JSON","stringify","fail","collector","path","code","message","problems","push","isPlainObject","readXY","ok","_i","_iter","length","axis","isFinite","readSize","readViewport","xy","readString","readPortRef","parseDocument","raw","schema","options","arguments","parseUnsafe","error","Error","String","parse","nodeKinds","Set","edgeKinds","drop","dropUnknownKinds","nodeIds","forEach","entry","index","has","add","edgeIds"],"sources":["../../../src/model/serialize.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","documentVersion","round2","value","rounded","Number","toFixed","Object","is","roundXY","x","y","canonical","Array","isArray","map","source","out","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","keys","sort","iterator","_step","next","done","key","err","return","serializeDocument","doc","version","nodes","node","shaped","id","kind","position","data","size","width","height","parent","locked","edges","edge","port","target","label","viewport","zoom","meta","JSON","stringify","fail","collector","path","code","message","problems","push","isPlainObject","readXY","ok","_i","_iter","length","axis","isFinite","readSize","readViewport","xy","readString","readPortRef","parseDocument","raw","schema","options","arguments","parseUnsafe","error","Error","String","parse","nodeKinds","Set","edgeKinds","drop","dropUnknownKinds","nodeIds","forEach","entry","index","has","add","edgeIds","end","ref"],"sources":["serialize.native.js"],"sourcesContent":["function _instanceof(left, right) {\n \"@swc/helpers - instanceof\";\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nvar documentVersion = 1;\nfunction round2(value) {\n var rounded = Number(value.toFixed(2));\n return Object.is(rounded, -0) ? 0 : rounded;\n}\nfunction roundXY(value) {\n return {\n x: round2(value.x),\n y: round2(value.y)\n };\n}\nfunction canonical(value) {\n if (Array.isArray(value)) return value.map(canonical);\n if (value === null || (typeof value === \"undefined\" ? \"undefined\" : _type_of(value)) !== \"object\") return value;\n var source = value;\n var out = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.keys(source).sort()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n out[key] = canonical(source[key]);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return out;\n}\nfunction serializeDocument(doc) {\n var out = {\n version: doc.version\n };\n out.nodes = doc.nodes.map(function(node) {\n var shaped = {\n id: node.id,\n kind: node.kind,\n position: roundXY(node.position),\n data: canonical(node.data)\n };\n if (node.size) {\n shaped.size = {\n width: round2(node.size.width),\n height: round2(node.size.height)\n };\n }\n if (node.parent !== void 0) shaped.parent = node.parent;\n if (node.locked !== void 0) shaped.locked = node.locked;\n return shaped;\n });\n out.edges = doc.edges.map(function(edge) {\n var shaped = {\n id: edge.id,\n kind: edge.kind,\n source: {\n node: edge.source.node,\n port: edge.source.port\n },\n target: {\n node: edge.target.node,\n port: edge.target.port\n },\n data: canonical(edge.data)\n };\n if (edge.label !== void 0) shaped.label = edge.label;\n return shaped;\n });\n if (doc.viewport) {\n out.viewport = {\n x: round2(doc.viewport.x),\n y: round2(doc.viewport.y),\n zoom: round2(doc.viewport.zoom)\n };\n }\n if (doc.meta) out.meta = canonical(doc.meta);\n return JSON.stringify(out, null, 2);\n}\nfunction fail(collector, path, code, message) {\n collector.problems.push({\n path,\n code,\n message\n });\n}\nfunction isPlainObject(value) {\n return (typeof value === \"undefined\" ? \"undefined\" : _type_of(value)) === \"object\" && value !== null && !Array.isArray(value);\n}\nfunction readXY(value, path, collector) {\n if (!isPlainObject(value)) {\n fail(collector, path, \"not-an-object\", \"expected an object with numeric x and y\");\n return void 0;\n }\n var ok = true;\n for (var _i = 0, _iter = [\n \"x\",\n \"y\"\n ]; _i < _iter.length; _i++) {\n var axis = _iter[_i];\n if (typeof value[axis] !== \"number\" || !Number.isFinite(value[axis])) {\n fail(collector, `${path}.${axis}`, \"not-a-finite-number\", `expected a finite number`);\n ok = false;\n }\n }\n return ok ? {\n x: round2(value.x),\n y: round2(value.y)\n } : void 0;\n}\nfunction readSize(value, path, collector) {\n if (!isPlainObject(value)) {\n fail(collector, path, \"not-an-object\", \"expected an object with numeric width and height\");\n return void 0;\n }\n var ok = true;\n for (var _i = 0, _iter = [\n \"width\",\n \"height\"\n ]; _i < _iter.length; _i++) {\n var axis = _iter[_i];\n if (typeof value[axis] !== \"number\" || !Number.isFinite(value[axis])) {\n fail(collector, `${path}.${axis}`, \"not-a-finite-number\", `expected a finite number`);\n ok = false;\n }\n }\n return ok ? {\n width: round2(value.width),\n height: round2(value.height)\n } : void 0;\n}\nfunction readViewport(value, collector) {\n var xy = readXY(value, \"viewport\", collector);\n var zoom = isPlainObject(value) ? value.zoom : void 0;\n if (typeof zoom !== \"number\" || !Number.isFinite(zoom)) {\n fail(collector, \"viewport.zoom\", \"not-a-finite-number\", \"expected a finite number\");\n return void 0;\n }\n return xy ? {\n ...xy,\n zoom: round2(zoom)\n } : void 0;\n}\nfunction readString(source, key, path, collector) {\n var value = source[key];\n if (typeof value !== \"string\" || value.length === 0) {\n fail(collector, `${path}.${key}`, \"not-a-non-empty-string\", \"expected a non-empty string\");\n return void 0;\n }\n return value;\n}\nfunction readPortRef(value, path, collector) {\n if (!isPlainObject(value)) {\n fail(collector, path, \"not-an-object\", \"expected { node, port }\");\n return void 0;\n }\n var node = readString(value, \"node\", path, collector);\n var port = readString(value, \"port\", path, collector);\n return node !== void 0 && port !== void 0 ? {\n node,\n port\n } : void 0;\n}\nfunction parseDocument(raw, schema) {\n var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n try {\n return parseUnsafe(raw, schema, options);\n } catch (error) {\n return {\n ok: false,\n error: [\n {\n path: \"\",\n code: \"internal-error\",\n message: _instanceof(error, Error) ? error.message : String(error)\n }\n ]\n };\n }\n}\nfunction parseUnsafe(raw, schema, options) {\n var collector = {\n problems: []\n };\n var value = raw;\n if (typeof raw === \"string\") {\n try {\n value = JSON.parse(raw);\n } catch (error) {\n return {\n ok: false,\n error: [\n {\n path: \"\",\n code: \"invalid-json\",\n message: _instanceof(error, Error) ? error.message : \"could not be parsed as JSON\"\n }\n ]\n };\n }\n }\n if (!isPlainObject(value)) {\n return {\n ok: false,\n error: [\n {\n path: \"\",\n code: \"not-an-object\",\n message: \"a document is a JSON object\"\n }\n ]\n };\n }\n if (value.version !== documentVersion) {\n fail(collector, \"version\", \"unsupported-version\", `expected version ${documentVersion}, got ${JSON.stringify(value.version)}`);\n }\n var nodeKinds = new Set(Object.keys(schema.nodes));\n var edgeKinds = new Set(Object.keys(schema.edges));\n var drop = options.dropUnknownKinds === true;\n var nodes = [];\n var nodeIds = /* @__PURE__ */ new Set();\n if (!Array.isArray(value.nodes)) {\n fail(collector, \"nodes\", \"not-an-array\", \"expected an array of nodes\");\n } else {\n value.nodes.forEach(function(entry, index) {\n var path = `nodes[${index}]`;\n if (!isPlainObject(entry)) {\n fail(collector, path, \"not-an-object\", \"expected a node object\");\n return;\n }\n var id = readString(entry, \"id\", path, collector);\n var kind = readString(entry, \"kind\", path, collector);\n var position = readXY(entry.position, `${path}.position`, collector);\n if (kind !== void 0 && !nodeKinds.has(kind)) {\n if (drop) return;\n fail(collector, `${path}.kind`, \"unknown-node-kind\", `the schema has no node kind ${JSON.stringify(kind)}`);\n return;\n }\n if (!(\"data\" in entry)) {\n fail(collector, `${path}.data`, \"missing-field\", \"a node carries its kind's data\");\n }\n if (id !== void 0 && nodeIds.has(id)) {\n fail(collector, `${path}.id`, \"duplicate-id\", `node id ${JSON.stringify(id)} is used twice`);\n }\n var size = \"size\" in entry ? readSize(entry.size, `${path}.size`, collector) : void 0;\n if (id === void 0 || kind === void 0 || position === void 0) return;\n nodeIds.add(id);\n var node = {\n id,\n kind,\n position,\n data: entry.data\n };\n if (size) node.size = size;\n if (typeof entry.parent === \"string\") node.parent = entry.parent;\n if (typeof entry.locked === \"boolean\") node.locked = entry.locked;\n nodes.push(node);\n });\n }\n var edges = [];\n var edgeIds = /* @__PURE__ */ new Set();\n if (!Array.isArray(value.edges)) {\n fail(collector, \"edges\", \"not-an-array\", \"expected an array of edges\");\n } else {\n value.edges.forEach(function(entry, index) {\n var path = `edges[${index}]`;\n if (!isPlainObject(entry)) {\n fail(collector, path, \"not-an-object\", \"expected an edge object\");\n return;\n }\n var id = readString(entry, \"id\", path, collector);\n var kind = readString(entry, \"kind\", path, collector);\n var source = readPortRef(entry.source, `${path}.source`, collector);\n var target = readPortRef(entry.target, `${path}.target`, collector);\n if (kind !== void 0 && !edgeKinds.has(kind)) {\n if (drop) return;\n fail(collector, `${path}.kind`, \"unknown-edge-kind\", `the schema has no edge kind ${JSON.stringify(kind)}`);\n return;\n }\n if (!(\"data\" in entry)) {\n fail(collector, `${path}.data`, \"missing-field\", \"an edge carries its kind's data\");\n }\n if (id !== void 0 && edgeIds.has(id)) {\n fail(collector, `${path}.id`, \"duplicate-id\", `edge id ${JSON.stringify(id)} is used twice`);\n }\n for (var _i = 0, _iter = [\n [\n \"source\",\n source\n ],\n [\n \"target\",\n target\n ]\n ]; _i < _iter.length; _i++) {\n var [end, ref] = _iter[_i];\n if (ref && !nodeIds.has(ref.node)) {\n if (drop) return;\n fail(collector, `${path}.${end}.node`, \"dangling-edge-endpoint\", `no node ${JSON.stringify(ref.node)} in this document`);\n }\n }\n if (id === void 0 || kind === void 0 || source === void 0 || target === void 0) {\n return;\n }\n edgeIds.add(id);\n var edge = {\n id,\n kind,\n source,\n target,\n data: entry.data\n };\n if (typeof entry.label === \"string\") edge.label = entry.label;\n edges.push(edge);\n });\n }\n var viewport = value.viewport === void 0 ? void 0 : readViewport(value.viewport, collector);\n var meta;\n if (value.meta !== void 0) {\n if (!isPlainObject(value.meta)) {\n fail(collector, \"meta\", \"not-an-object\", \"meta is a JSON object\");\n } else {\n meta = value.meta;\n }\n }\n if (collector.problems.length > 0) return {\n ok: false,\n error: collector.problems\n };\n var doc = {\n version: documentVersion,\n nodes,\n edges\n };\n if (viewport) doc.viewport = viewport;\n if (meta) doc.meta = meta;\n return {\n ok: true,\n value: doc\n };\n}\nexport {\n parseDocument,\n serializeDocument\n};\n//# sourceMappingURL=serialize.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","SizableText","YStack","useResolvedKnobs","hasDomRealm","globalThis","document","DomOnlyStory","param","needs","readInstead","knobProps","gap","panelPadding","children","body","label"],"sources":["../../../src/native/DomOnlyStory.tsx"],"sourcesContent":[null],"mappings":"AA0BA,SAASA,GAAA,IAAAC,IAAA,EAAaC,IAAA,IAAAC,KAAA,QAAc;AACpC,SAASC,WAAA,EAAAC,MAAA,QAAwB;AAqB7B,SACEC,gBADF;AAlBG,IAAAC,WAAM,UAAcC,UAAO,CAAAC,QAAW,gBAAa;AAenD,SAASC,aAAaC,KAAE;EAC7B;IAAMC,KAAE;IAAAC;EAAc,IAAAF,KAAA;EACtB;IAAAG;EACE,IAAAR,gBAAC,EAAQ;EACP,sBAACH,KAAA,CAAAE,MAAA,EAAa;IAGb,GAAAS,SAAA,CAAAC,GACC;IAGE,GACND,SAAA,CAAAE,YAAA;IAEJC,QAAA,GASO,eAAShB,IAAA,CAAAG,WAAgD;MAC9D,GAAQU,SACN,CAAAI,IAAA;MACJ,GAAAJ,SAAA,CAAAK,KAAA","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","SizableText","YStack","useResolvedKnobs","hasDomRealm","globalThis","document","DomOnlyStory","param","needs","readInstead","knobProps","gap","panelPadding","children","body","label","opacity","domOnlyStoryDecorator","props","Story"],"sources":["DomOnlyStory.native.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { SizableText, YStack } from \"tamagui\";\nimport { useResolvedKnobs } from \"@multiplatform.one/theme\";\nvar hasDomRealm = typeof globalThis.document !== \"undefined\";\nfunction DomOnlyStory(param) {\n var { needs, readInstead } = param;\n var { knobProps } = useResolvedKnobs();\n return /* @__PURE__ */ _jsxs(YStack, {\n ...knobProps.gap,\n ...knobProps.panelPadding,\n children: [\n /* @__PURE__ */ _jsx(SizableText, {\n ...knobProps.body,\n ...knobProps.label,\n children: `Web only \\u2014 this story ${needs}, and there is no DOM on this side of the bridge.`\n }),\n readInstead ? /* @__PURE__ */ _jsx(SizableText, {\n ...knobProps.body,\n ...knobProps.label,\n opacity: 0.75,\n children: `On device, read ${readInstead} instead.`\n }) : null\n ]\n });\n}\nfunction domOnlyStoryDecorator(props) {\n return function(Story) {\n return hasDomRealm ? /* @__PURE__ */ _jsx(Story, {}) : /* @__PURE__ */ _jsx(DomOnlyStory, {\n ...props\n });\n };\n}\nexport {\n DomOnlyStory,\n domOnlyStoryDecorator,\n hasDomRealm\n};\n//# sourceMappingURL=DomOnlyStory.js.map\n"],"mappings":"AAAA,SAASA,GAAG,IAAIC,IAAI,EAAEC,IAAI,IAAIC,KAAK,QAAQ,mBAAmB;AAC9D,SAASC,WAAW,EAAEC,MAAM,QAAQ,SAAS;AAC7C,SAASC,gBAAgB,QAAQ,0BAA0B;AAC3D,IAAIC,WAAW,GAAG,OAAOC,UAAU,CAACC,QAAQ,KAAK,WAAW;AAC5D,SAASC,YAAYA,CAACC,KAAK,EAAE;EAC3B,IAAI;IAAEC,KAAK;IAAEC;EAAY,CAAC,GAAGF,KAAK;EAClC,IAAI;IAAEG;EAAU,CAAC,GAAGR,gBAAgB,CAAC,CAAC;EACtC,OAAO,eAAgBH,KAAK,CAACE,MAAM,EAAE;IACnC,GAAGS,SAAS,CAACC,GAAG;IAChB,GAAGD,SAAS,CAACE,YAAY;IACzBC,QAAQ,EAAE,CACR,eAAgBhB,IAAI,CAACG,WAAW,EAAE;MAChC,GAAGU,SAAS,CAACI,IAAI;MACjB,GAAGJ,SAAS,CAACK,KAAK;MAClBF,QAAQ,EAAE,8BAA8BL,KAAK;IAC/C,CAAC,CAAC,EACFC,WAAW,GAAG,eAAgBZ,IAAI,CAACG,WAAW,EAAE;MAC9C,GAAGU,SAAS,CAACI,IAAI;MACjB,GAAGJ,SAAS,CAACK,KAAK;MAClBC,OAAO,EAAE,IAAI;MACbH,QAAQ,EAAE,mBAAmBJ,WAAW;IAC1C,CAAC,CAAC,GAAG,IAAI;EAEb,CAAC,CAAC;AACJ;AACA,SAASQ,qBAAqBA,CAACC,KAAK,EAAE;EACpC,OAAO,UAASC,KAAK,EAAE;IACrB,OAAOhB,WAAW,GAAG,eAAgBN,IAAI,CAACsB,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,eAAgBtB,IAAI,CAACS,YAAY,EAAE;MACxF,GAAGY;IACL,CAAC,CAAC;EACJ,CAAC;AACH;AACA,SACEZ,YAAY,EACZW,qBAAqB,EACrBd,WAAW","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","useResolvedKnobs","Button","XStack","modeLabels","pan","select","modes","GraphToolbar","param","busy","canRedo","canUndo","disabled","mode","onFitView","onModeChange","onRedo","onTidy","onUndo","knobProps","component","role","alignItems","gap","panelPadding","elevatedSurface","children","map","candidate","active","chromeless","onPress","size","sizeToken","textWeight"],"sources":["../../../src/native/GraphToolbar.tsx"],"sourcesContent":[null],"mappings":"AA+CA,SAASA,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAwB;AACjC,SAASC,gBAAQ,QAAc;AAoD3B,SAUMC,MAVN,EAAAC,MAAA;AAtBJ,IAAAC,UAAM;EACJC,GAAA,EAAK;EACLC,MAAA,EAAQ;AACV;AAEA,IAAAC,KAAM,IAEC,OACL,QAAO;AACG,SACVC,YAAUA,CAAAC,KAAA;EACV;IAAAC,IAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,QAAA;IAAAC,IAAA;IAAAC,SAAA;IAAAC,YAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC;EAAA,IAAAV,KAAA;EACA;IAAAW;EAAA,IAAAnB,gBAAA;IACAoB,SAAA;EACA;EACA,sBAAArB,KAAA,CAAAG,MAAA;IACAmB,IAAA;IACAC,UAAA;IACoB,GAAAH,SAAA,CAAAI,GAAA;IACpB,GAAAJ,SAAQ,CAAAK,YAAc;IAEtB,GAAAL,SACE,CAAAM,eAAA;IAACC,QAAA,GAAApB,KAAA,CAAAqB,GAAA,WAAAC,SAAA;MACC,IAAKC,MAAA,GAAAD,SAAA,KAAAf,IAAA;MACL,sBAAWhB,IAAA,CAAAI,MAAA;QACP,YAAU,KAAAE,UAAA,CAAAyB,SAAA;QACV,cAAU,EAAAC,MAAA;QACVC,UAAU,GAAAD,MAAA;QAEbjB,QAAA;QAAAmB,OAAM,EAAK,SAAAA,OAAcA,CAAA;UACxB,OAAMhB,YAAS,CAAAa,SAAc;QAC7B;QACEI,IAAC,EAAAb,SAAA,CAAAc,SAAA;QAAA,IAAAJ,MAAA,GAAAV,SAAA,CAAAe,UAAA;QAAAR,QAEC,EAAAvB,UAAY,CAAGyB,SAAA;MAAqB,GAAAA,SACpC;IAAc,IACDd,SACb,kBAAAjB,IAAA,CAAAI,MAAA;MAAA,YACA,6BAA4B;MAAS6B,UACrC,EAAM;MAAUlB,QACf;MAAqCmB,OAErC,EAAAjB,SAAA;MAAoBkB,IAAA,EAAAb,SAAA,CAAAc,SAAA;MAAAP,QAThB;IAAA,KAUP,MAAAT,MAEH,kBAAApB,IAAA,CAAAI,MAAA;MACA,YACC;MAAA6B,UAAC;MAAAlB,QAAA,EAAAA,QAAA,IAAAH,IAAA;MAAAsB,OACC,EAAAd,MAAA;MAAWe,IACX,EAAAb,SAAA,CAAUc,SAAA;MAAAP,QACV,EAAAjB,IAAA;IAAA,SACA,EAASS,MACT,kBAAgBrB,IAAA,CAAAI,MAAA;MAAA,YACjB;MAAA6B,UAAA;MAEDlB,QACE,EAAAA,QAAA,KAAAD,OAAA;MACHoB,OAAA,EACCb,MAAA;MAAAc,IAAC,EAAAb,SAAA,CAAAc,SAAA;MAAAP,QAAA;IAAA,SACC,EAAWV,MACX,kBAAUnB,IAAA,CAAAI,MAAA;MAAA,YACV,EAAU;MAAY6B,UACtB,MAAS;MAAAlB,QACT,EAAMA,QAAA,IAAU,CAAAF,OAAA;MAAAqB,OAEf,EAAAf,MAAA;MAAoBgB,IAAA,EAAAb,SAAA,CAAAc,SAAA;MACvBP,QACE;IAAA,EACH;EACE;AAAA;AACY,SACDnB,YACV","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","useResolvedKnobs","Button","XStack","modeLabels","pan","select","modes","GraphToolbar","param","busy","canRedo","canUndo","disabled","mode","onFitView","onModeChange","onRedo","onTidy","onUndo","knobProps","component","role","alignItems","gap","panelPadding","elevatedSurface","children","map","candidate","active","chromeless","onPress","size","sizeToken","textWeight"],"sources":["GraphToolbar.native.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useResolvedKnobs } from \"@multiplatform.one/theme\";\nimport { Button, XStack } from \"tamagui\";\nvar modeLabels = {\n pan: \"Pan\",\n select: \"Select\"\n};\nvar modes = [\n \"pan\",\n \"select\"\n];\nfunction GraphToolbar(param) {\n var { busy = false, canRedo = true, canUndo = true, disabled, mode, onFitView, onModeChange, onRedo, onTidy, onUndo } = param;\n var { knobProps } = useResolvedKnobs({\n component: \"GraphToolbar\"\n });\n return /* @__PURE__ */ _jsxs(XStack, {\n role: \"toolbar\",\n alignItems: \"center\",\n ...knobProps.gap,\n ...knobProps.panelPadding,\n ...knobProps.elevatedSurface,\n children: [\n modes.map(function(candidate) {\n var active = candidate === mode;\n return /* @__PURE__ */ _jsx(Button, {\n \"aria-label\": `${modeLabels[candidate]} mode`,\n \"aria-pressed\": active,\n chromeless: !active,\n disabled,\n onPress: function onPress() {\n return onModeChange(candidate);\n },\n size: knobProps.sizeToken,\n ...active ? knobProps.textWeight : {},\n children: modeLabels[candidate]\n }, candidate);\n }),\n onFitView ? /* @__PURE__ */ _jsx(Button, {\n \"aria-label\": \"Fit the graph to the view\",\n chromeless: true,\n disabled,\n onPress: onFitView,\n size: knobProps.sizeToken,\n children: \"Fit\"\n }) : null,\n onTidy ? /* @__PURE__ */ _jsx(Button, {\n \"aria-label\": \"Tidy the graph\",\n chromeless: true,\n disabled: disabled || busy,\n onPress: onTidy,\n size: knobProps.sizeToken,\n children: busy ? \"Tidying\\u2026\" : \"Tidy\"\n }) : null,\n onUndo ? /* @__PURE__ */ _jsx(Button, {\n \"aria-label\": \"Undo\",\n chromeless: true,\n disabled: disabled || !canUndo,\n onPress: onUndo,\n size: knobProps.sizeToken,\n children: \"Undo\"\n }) : null,\n onRedo ? /* @__PURE__ */ _jsx(Button, {\n \"aria-label\": \"Redo\",\n chromeless: true,\n disabled: disabled || !canRedo,\n onPress: onRedo,\n size: knobProps.sizeToken,\n children: \"Redo\"\n }) : null\n ]\n });\n}\nexport {\n GraphToolbar\n};\n//# sourceMappingURL=GraphToolbar.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["registered","setNodeGraphDomEntry","entry","getNodeGraphDomEntry","clearNodeGraphDomEntry"],"sources":["../../../src/native/domEntryRegistry.ts"],"sourcesContent":[null],"mappings":"AA2BA,IAAIA,UAAA,GAAuC;AAMpC,SAASC,qBAAqBC,KAAA,EAAuC;EAC1EF,UAAA,GAAaE,KAAA;AACf;AAEO,SAASC,qBAAA,EAAiD;EAC/D,OAAOH,UAAA;AACT;AAGO,SAASI,uBAAA,EAA+B;EAC7CJ,UAAA,GAAa;AACf","ignoreList":[]}
1
+ {"version":3,"names":["registered","setNodeGraphDomEntry","entry","getNodeGraphDomEntry","clearNodeGraphDomEntry"],"sources":["domEntryRegistry.native.js"],"sourcesContent":["var registered = null;\nfunction setNodeGraphDomEntry(entry) {\n registered = entry;\n}\nfunction getNodeGraphDomEntry() {\n return registered;\n}\nfunction clearNodeGraphDomEntry() {\n registered = null;\n}\nexport {\n clearNodeGraphDomEntry,\n getNodeGraphDomEntry,\n setNodeGraphDomEntry\n};\n//# sourceMappingURL=domEntryRegistry.js.map\n"],"mappings":"AAAA,IAAIA,UAAU,GAAG,IAAI;AACrB,SAASC,oBAAoBA,CAACC,KAAK,EAAE;EACnCF,UAAU,GAAGE,KAAK;AACpB;AACA,SAASC,oBAAoBA,CAAA,EAAG;EAC9B,OAAOH,UAAU;AACnB;AACA,SAASI,sBAAsBA,CAAA,EAAG;EAChCJ,UAAU,GAAG,IAAI;AACnB;AACA,SACEI,sBAAsB,EACtBD,oBAAoB,EACpBF,oBAAoB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["warned","resetGraphChildrenWarning","graphChildrenWarning","warnOnGraphChildren","children","Array","isArray","every","child","process","env","NODE_ENV","console","warn"],"sources":["../../../src/native/graphChildren.ts"],"sourcesContent":[null],"mappings":"AA0BA,IAAIA,MAAA,GAAS;AAGN,SAASC,0BAAA,EAAkC;EAChDD,MAAA,GAAS;AACX;AAEO,IAAAE,oBAAM,qhBACX;AAaK,SAASC,oBAAoBC,QAAA,EAA4B;EAC9D,IAAIJ,MAAA,EAAQ,OAAO;EACnB,IAAII,QAAA,KAAa,QAAQA,QAAA,KAAa,UAAaA,QAAA,KAAa,OAAO,OAAO;EAC9E,IACEC,KAAA,CAAMC,OAAA,CAAQF,QAAQ,KACtBA,QAAA,CAASG,KAAA,CAAM,UAACC,KAAU;IAE1B,OAAOA,KAAA,aAAAA,KAAA,eAAAA,KAAA;EACT;IACA,OAAI,KAAQ;EACZ;EAEA,IAAAC,OAAQ,CAAAC,GAAK,CAAAC,QAAA,iBAAoB;EACjCX,MAAA,GAAO;EACTY,OAAA,CAAAC,IAAA,CAAAX,oBAAA","ignoreList":[]}
1
+ {"version":3,"names":["warned","resetGraphChildrenWarning","graphChildrenWarning","warnOnGraphChildren","children","Array","isArray","every","child","process","env","NODE_ENV","console","warn"],"sources":["graphChildren.native.js"],"sourcesContent":["var warned = false;\nfunction resetGraphChildrenWarning() {\n warned = false;\n}\nvar graphChildrenWarning = \"[@multiplatform.one/node-graph] <NodeGraph> was given children on native, and they are IGNORED: the canvas renders inside a WebView and a React element cannot cross the bridge. Put the control OUTSIDE the canvas as a native sibling and drive it through `graphRef` (fitView, relayout, zoomTo, centerOn, setSelection, exportViewport, undo, redo, perfStart, perfStop, perfMark), reading state back from the events; or, if it has to be inside the canvas, express it as a serializable option so the DOM bundle renders it. Design 9.1.\";\nfunction warnOnGraphChildren(children) {\n if (warned) return false;\n if (children === null || children === void 0 || children === false) return false;\n if (Array.isArray(children) && children.every(function(child) {\n return child === null || child === void 0 || child === false;\n })) {\n return false;\n }\n if (process.env.NODE_ENV === \"production\") return false;\n warned = true;\n console.warn(graphChildrenWarning);\n return true;\n}\nexport {\n graphChildrenWarning,\n resetGraphChildrenWarning,\n warnOnGraphChildren\n};\n//# sourceMappingURL=graphChildren.js.map\n"],"mappings":"AAAA,IAAIA,MAAM,GAAG,KAAK;AAClB,SAASC,yBAAyBA,CAAA,EAAG;EACnCD,MAAM,GAAG,KAAK;AAChB;AACA,IAAIE,oBAAoB,GAAG,khBAAkhB;AAC7iB,SAASC,mBAAmBA,CAACC,QAAQ,EAAE;EACrC,IAAIJ,MAAM,EAAE,OAAO,KAAK;EACxB,IAAII,QAAQ,KAAK,IAAI,IAAIA,QAAQ,KAAK,KAAK,CAAC,IAAIA,QAAQ,KAAK,KAAK,EAAE,OAAO,KAAK;EAChF,IAAIC,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,IAAIA,QAAQ,CAACG,KAAK,CAAC,UAASC,KAAK,EAAE;IAC5D,OAAOA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,KAAK,CAAC,IAAIA,KAAK,KAAK,KAAK;EAC9D,CAAC,CAAC,EAAE;IACF,OAAO,KAAK;EACd;EACA,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE,OAAO,KAAK;EACvDX,MAAM,GAAG,IAAI;EACbY,OAAO,CAACC,IAAI,CAACX,oBAAoB,CAAC;EAClC,OAAO,IAAI;AACb;AACA,SACEA,oBAAoB,EACpBD,yBAAyB,EACzBE,mBAAmB","ignoreList":[]}