semiotic 3.1.0 → 3.1.1

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.
@@ -1 +1 @@
1
- import*as e from"react";import{useRef as t,useState as r,useEffect as n,createContext as o,useMemo as i,useContext as a,useCallback as l,useSyncExternalStore as c,forwardRef as s,useImperativeHandle as u,useId as d}from"react";import{interpolateNumber as h}from"d3-interpolate";import{min as f,groups as g,max as y,sum as p,mean as v,group as m}from"d3-array";import{schemeCategory10 as b,interpolatePlasma as x,interpolateViridis as k,interpolatePurples as w,interpolateOranges as E,interpolateGreens as A,interpolateReds as L,interpolateBlues as S,schemeSet3 as D,schemeTableau10 as P}from"d3-scale-chromatic";import{forceLink as M,forceSimulation as I,forceManyBody as C,forceCenter as N,forceX as O,forceY as T}from"d3-force";import{scaleLinear as W,scaleOrdinal as _}from"d3-scale";import{ribbon as $,chord as j}from"d3-chord";import{arc as B,pie as z}from"d3-shape";import{hierarchy as R,partition as H,pack as F,treemap as Y,treemapBinary as X,cluster as G,tree as q}from"d3-hierarchy";const V={weightChange:.1,newEdge:.5,newNode:1,threshold:3,transitionDuration:500},K={radius:3,opacity:.7,speedMultiplier:1,maxPerEdge:50,spawnRate:.1};class Z{constructor(e){this.capacity=e,this.particles=Array(e);for(let t=0;e>t;t++)this.particles[t]={t:0,offset:0,edgeIndex:0,active:!1,x:0,y:0}}spawn(e){for(let t=0;this.capacity>t;t++){const r=this.particles[t];if(!r.active)return r.active=!0,r.t=0,r.offset=Math.random()-.5,r.edgeIndex=e,r.x=0,r.y=0,r}return null}step(e,t,r,n){var o;for(let i=0;this.capacity>i;i++){const a=this.particles[i];if(!a.active)continue;const l=r[a.edgeIndex];if(!l||!l.bezier){a.active=!1;continue}const c=n&&null!==(o=n[a.edgeIndex])&&void 0!==o?o:1;if(a.t+=e*t*c*(l.bezier.circular?.3:1),a.t>=1){a.active=!1;continue}const s=Q(l.bezier,a.t,a.offset);a.x=s.x,a.y=s.y}}countForEdge(e){let t=0;for(let r=0;this.capacity>r;r++)this.particles[r].active&&this.particles[r].edgeIndex===e&&t++;return t}clear(){for(let e=0;this.capacity>e;e++)this.particles[e].active=!1}resize(e){if(this.capacity>=e)return;const t=this.particles;this.particles=Array(e);for(let r=0;e>r;r++)this.particles[r]=t.length>r?t[r]:{t:0,offset:0,edgeIndex:0,active:!1,x:0,y:0};this.capacity=e}}function Q(e,t,r){if(e.circular&&e.segments)return function(e,t,r,n){const o=e.length,i=t*o,a=Math.min(Math.floor(i),o-1),l=i-a,[c,s,u,d]=e[a],h=U(c,s,u,d,l),f=d.x-c.x,g=d.y-c.y,y=Math.sqrt(f*f+g*g);if(y>.001){const e=f/y;h.x+=-g/y*r*n*2,h.y+=e*r*n*2}return h}(e.segments,t,r,e.halfWidth);if(!e.points)return{x:0,y:0};const[n,o,i,a]=e.points,l=U(n,o,i,a,t),c=a.x-n.x,s=a.y-n.y,u=Math.sqrt(c*c+s*s);if(u>.001){const t=c/u;l.x+=-s/u*r*e.halfWidth*2,l.y+=t*r*e.halfWidth*2}return l}function U(e,t,r,n,o){const i=1-o,a=i*i,l=a*i,c=o*o,s=c*o;return{x:l*e.x+3*a*o*t.x+3*i*c*r.x+s*n.x,y:l*e.y+3*a*o*t.y+3*i*c*r.y+s*n.y}}function J(e,t){var r=e.get(t);if(!r)throw Error("missing: "+t);return r}function ee(e,t){var r,n=[],o=[],i=[],a={},l=[];function c(e){i[e]=!1,a.hasOwnProperty(e)&&Object.keys(a[e]).forEach(function(t){delete a[e][t],i[t]&&c(t)})}function s(e){var t,n,d=!1;for(o.push(e),i[e]=!0,t=0;l[e].length>t;t++)(n=l[e][t])===r?(u(r,o),d=!0):i[n]||(d=s(n));if(d)c(e);else for(t=0;l[e].length>t;t++){var h=a[n=l[e][t]];h||(a[n]=h={}),h[n]=!0}return o.pop(),d}function u(e,t){var r=[].concat(t).concat(e);n.push(r)}function d(t){!function(t){for(var r=0;e.length>r;r++)r>=t&&e[r]||(e[r]=[]),e[r]=e[r].filter(function(e){return e>=t})}(t);for(var r,n=function(e){for(var t=e.length,r=Array(t),n=Array(t),o=Array(t),i=Array(t),a=Array(t),l=Array(t),c=0;t>c;++c)r[c]=-1,n[c]=0,o[c]=!1,i[c]=0,a[c]=-1,l[c]=[];var s,u=0,d=[],h=[];function f(t){var c=[t],s=[t];for(r[t]=n[t]=u,o[t]=!0,u+=1;s.length>0;){var f=e[t=s[s.length-1]];if(f.length>i[t]){for(var g=i[t];f.length>g;++g){var y=f[g];if(0>r[y]){r[y]=n[y]=u,o[y]=!0,u+=1,c.push(y),s.push(y);break}o[y]&&(n[t]=0|Math.min(n[t],n[y])),0>a[y]||l[t].push(a[y])}i[t]=g}else{if(n[t]===r[t]){var p=[],v=[],m=0;for(g=c.length-1;g>=0;--g){var b=c[g];if(o[b]=!1,p.push(b),v.push(l[b]),m+=l[b].length,a[b]=d.length,b===t){c.length=g;break}}d.push(p);var x=Array(m);for(g=0;v.length>g;g++)for(var k=0;v[g].length>k;k++)x[--m]=v[g][k];h.push(x)}s.pop()}}}for(c=0;t>c;++c)0>r[c]&&f(c);for(c=0;h.length>c;c++){var g=h[c];if(0!==g.length){g.sort(function(e,t){return e-t}),s=[g[0]];for(var y=1;g.length>y;y++)g[y]!==g[y-1]&&s.push(g[y]);h[c]=s}}return{components:d,adjacencyList:h}}(e),o=n.components.filter(function(e){return e.length>1}),i=1/0,a=0;o.length>a;a++)for(var l=0;o[a].length>l;l++)i>o[a][l]&&(i=o[a][l],r=a);var c=o[r];if(!c)return!1;var s=e.map(function(e,t){return-1===c.indexOf(t)?[]:e.filter(function(e){return-1!==c.indexOf(e)})});return{leastVertex:i,adjList:s}}r=0;for(var h=e.length;h>r;){var f=d(r);if(r=f.leastVertex,l=f.adjList){for(var g=0;l.length>g;g++)for(var y=0;l[g].length>y;y++){var p=l[g][y];i[+p]=!1,a[p]={}}s(r),r+=1}else r=h}return n}function te(e){return e.y0-e.y1>0?"up":"down"}function re(e,t){return t(e.source)==t(e.target)}function ne(e){var t=0;e.source.sourceLinks.forEach(function(e){t=e.circular?t+1:t});var r=0;return e.target.targetLinks.forEach(function(e){r=e.circular?r+1:r}),1>=t&&1>=r}function oe(e){return e.target.x0-e.source.x1}function ie(e,t){var r=le(e),n=oe(t)/Math.tan(r);return"up"==te(e)?e.y1-n:e.y1+n}function ae(e,t){var r=le(e),n=oe(t)/Math.tan(r);return"up"==te(e)?e.y1+n:e.y1-n}function le(e){var t=Math.abs(e.y1-e.y0);return Math.atan(Math.abs(e.target.x0-e.source.x1)/t)}function ce(e,t){return t(e)}function se(e){return de(e.source)}function ue(e){return de(e.target)}function de(e){return(e.y0+e.y1)/2}function he(e){return e.virtual?0:e.value}function fe(e,t){var r=0;e.sourceLinks.forEach(function(e){r=e.circular&&!re(e,t)?r+1:r});var n=0;return e.targetLinks.forEach(function(e){n=e.circular&&!re(e,t)?n+1:n}),r+n}function ge(e){return e.target.depth}function ye(e,t){return e.sourceLinks.length?e.depth:t-1}function pe(e,t){return e.y0-t.y0}function ve(e,t){return t.y0-e.y0}function me(e,t){return e.y1-t.y1}function be(e,t){return t.y1-e.y1}function xe(e,t){return we(e.source,t.source)||e.index-t.index}function ke(e,t){return we(e.target,t.target)||e.index-t.index}function we(e,t){return e.partOfCycle===t.partOfCycle?e.y0-t.y0:"top"===e.circularLinkType||"bottom"===t.circularLinkType?-1:1}function Ee(e,t){return Ae(e)==Ae(t)?"bottom"==e.circularLinkType?ve(e,t):pe(e,t):Ae(t)-Ae(e)}function Ae(e){return e.target.column-e.source.column}function Le(e,t){return Se(e)==Se(t)}function Se(e){return e.y0-e.y1>0?"up":"down"}function De(e,t,r,n,o){let i=e;var a=Math.max(8,.15*(i.y1-i.y0));i.links.forEach(function(e){e.circular&&(e._circularWidth=Math.min(e.width,a))});var l=f(i.links,function(e){return e.source.y0});i.links.forEach(function(e){e.circular&&(e.circularPathData={})});var c=i.links.filter(function(e){return e.circular});return c.sort(function(e,t){return t.value-e.value}),c.forEach(function(e,t){e._circularStub=t>=4}),Pe(i.links.filter(function(e){return"top"==e.circularLinkType}),t,r),Pe(i.links.filter(function(e){return"bottom"==e.circularLinkType}),t,r),i.links.forEach(function(e){if(e.circular){if(e.circularPathData.arcRadius=e._circularWidth+n,e.circularPathData.rightNodeBuffer=5,e.circularPathData.leftNodeBuffer=5,e.circularPathData.sourceWidth=e.source.x1-e.source.x0,e.circularPathData.sourceX=e.source.x0+e.circularPathData.sourceWidth,e.circularPathData.targetX=e.target.x0,e.circularPathData.sourceY=e.y0,e.circularPathData.targetY=e.y1,re(e,t)&&ne(e))e.circularPathData.rightSmallArcRadius=n+e._circularWidth/2,e.circularPathData.rightLargeArcRadius=n+e._circularWidth/2,e.circularPathData.leftSmallArcRadius=n+e._circularWidth/2,e.circularPathData.leftLargeArcRadius=n+e._circularWidth/2,"bottom"==e.circularLinkType?(e.circularPathData.verticalFullExtent=e.source.y1+o+e.circularPathData.verticalBuffer,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius):(e.circularPathData.verticalFullExtent=e.source.y0-o-e.circularPathData.verticalBuffer,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius);else{var a=e.source.column,c=e.circularLinkType,s=i.links.filter(function(e){return e.source.column==a&&e.circularLinkType==c});s.sort("bottom"==e.circularLinkType?ve:pe);var u=0;s.forEach(function(t,o){t.circularLinkID==e.circularLinkID&&(e.circularPathData.rightSmallArcRadius=n+e._circularWidth/2+u,e.circularPathData.rightLargeArcRadius=n+e._circularWidth/2+o*r+u),u+=t._circularWidth||t.width}),a=e.target.column,(s=i.links.filter(function(e){return e.target.column==a&&e.circularLinkType==c})).sort("bottom"==e.circularLinkType?be:me),u=0,s.forEach(function(t,o){t.circularLinkID==e.circularLinkID&&(e.circularPathData.leftSmallArcRadius=n+e._circularWidth/2+u,e.circularPathData.leftLargeArcRadius=n+e._circularWidth/2+o*r+u),u+=t._circularWidth||t.width}),"bottom"==e.circularLinkType?(e.circularPathData.verticalFullExtent=Math.max(i.y1,e.source.y1,e.target.y1)+o+e.circularPathData.verticalBuffer,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius):(e.circularPathData.verticalFullExtent=l-o-e.circularPathData.verticalBuffer,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius)}e.circularPathData.rightInnerExtent=e.circularPathData.sourceX+e.circularPathData.rightNodeBuffer,e.circularPathData.leftInnerExtent=e.circularPathData.targetX-e.circularPathData.leftNodeBuffer,e.circularPathData.rightFullExtent=e.circularPathData.sourceX+e.circularPathData.rightLargeArcRadius+e.circularPathData.rightNodeBuffer,e.circularPathData.leftFullExtent=e.circularPathData.targetX-e.circularPathData.leftLargeArcRadius-e.circularPathData.leftNodeBuffer}e.path=e.circular?function(e){return"top"==e.circularLinkType?"M"+e.circularPathData.sourceX+" "+e.circularPathData.sourceY+" L"+e.circularPathData.rightInnerExtent+" "+e.circularPathData.sourceY+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightSmallArcRadius+" 0 0 0 "+e.circularPathData.rightFullExtent+" "+(e.circularPathData.sourceY-e.circularPathData.rightSmallArcRadius)+" L"+e.circularPathData.rightFullExtent+" "+e.circularPathData.verticalRightInnerExtent+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightLargeArcRadius+" 0 0 0 "+e.circularPathData.rightInnerExtent+" "+e.circularPathData.verticalFullExtent+" L"+e.circularPathData.leftInnerExtent+" "+e.circularPathData.verticalFullExtent+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftLargeArcRadius+" 0 0 0 "+e.circularPathData.leftFullExtent+" "+e.circularPathData.verticalLeftInnerExtent+" L"+e.circularPathData.leftFullExtent+" "+(e.circularPathData.targetY-e.circularPathData.leftSmallArcRadius)+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftSmallArcRadius+" 0 0 0 "+e.circularPathData.leftInnerExtent+" "+e.circularPathData.targetY+" L"+e.circularPathData.targetX+" "+e.circularPathData.targetY:"M"+e.circularPathData.sourceX+" "+e.circularPathData.sourceY+" L"+e.circularPathData.rightInnerExtent+" "+e.circularPathData.sourceY+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightSmallArcRadius+" 0 0 1 "+e.circularPathData.rightFullExtent+" "+(e.circularPathData.sourceY+e.circularPathData.rightSmallArcRadius)+" L"+e.circularPathData.rightFullExtent+" "+e.circularPathData.verticalRightInnerExtent+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightLargeArcRadius+" 0 0 1 "+e.circularPathData.rightInnerExtent+" "+e.circularPathData.verticalFullExtent+" L"+e.circularPathData.leftInnerExtent+" "+e.circularPathData.verticalFullExtent+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftLargeArcRadius+" 0 0 1 "+e.circularPathData.leftFullExtent+" "+e.circularPathData.verticalLeftInnerExtent+" L"+e.circularPathData.leftFullExtent+" "+(e.circularPathData.targetY+e.circularPathData.leftSmallArcRadius)+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftSmallArcRadius+" 0 0 1 "+e.circularPathData.leftInnerExtent+" "+e.circularPathData.targetY+" L"+e.circularPathData.targetX+" "+e.circularPathData.targetY}(e):function(e){var t=e.source.x1,r=e.y0,n=e.target.x0,o=e.y1,i=(t+n)/2;return"M"+t+","+r+"C"+i+","+r+" "+i+","+o+" "+n+","+o}(e)}),i}function Pe(e,t,r){e.sort(Ee);var n=e.filter(function(e){return!e._circularStub});return e.forEach(function(e,o){var i=0;if(e._circularStub)e.circularPathData.verticalBuffer=0;else if(re(e,t)&&ne(e))e.circularPathData.verticalBuffer=i+e._circularWidth/2;else{for(var a=0;n.length>a;a++){var l=n[a];if(l!==e&&l.circularPathData&&void 0!==l.circularPathData.verticalBuffer&&Me(e,l)){var c=l.circularPathData.verticalBuffer+(l._circularWidth||l.width)/2+r;i=c>i?c:i}}e.circularPathData.verticalBuffer=i+e._circularWidth/2}}),e}function Me(e,t){return e.source.column>=t.target.column&&t.source.column>=e.target.column}function Ie(e){return function(){return e}}function Ce(e){return e.index}function Ne(e){return e.nodes}function Oe(e){return e.links}function Te(e,t,r){var n=g(e.nodes,function(e){return e.column}).sort(function(e,t){return e[0]-t[0]}).map(function(e){return e[1]});n.forEach(function(o,i){var a=o.length;if(t)o.sort(t);else if(i>0){var l=new Map;o.forEach(function(e,t){var r,n,o,i=(n=0,o=0,(r=e).targetLinks.forEach(function(e){if(!e.circular){var t=e.value||1;o+=de(e.source)*t,n+=t}}),r.sourceLinks.forEach(function(e){if(!e.circular){var t=e.value||1;o+=de(e.target)*t,n+=t}}),n>0?o/n:NaN);l.set(e,{bc:i,idx:t})}),o.sort(function(e,t){var r=l.get(e),n=l.get(t),o=r.bc,i=n.bc;if(e.circularLinkType!==t.circularLinkType){if("top"==e.circularLinkType&&"bottom"==t.circularLinkType)return-1;if("bottom"==e.circularLinkType&&"top"==t.circularLinkType)return 1;if("top"==e.circularLinkType)return-1;if("top"==t.circularLinkType)return 1;if("bottom"==e.circularLinkType)return 1;if("bottom"==t.circularLinkType)return-1}return isNaN(o)||isNaN(i)?isNaN(o)?isNaN(i)?r.idx-n.idx:1:-1:o-i})}else o.sort(function(e,t){return e.circularLinkType==t.circularLinkType?fe(t,r)-fe(e,r):"top"==e.circularLinkType&&"bottom"==t.circularLinkType||"top"==e.circularLinkType&&0==t.partOfCycle||0==e.partOfCycle&&"bottom"==t.circularLinkType?-1:0});o.forEach(function(t,o){t.depth==n.length-1&&1==a||0==t.depth&&1==a?(t.y0=e.y1/2-t.value*e.ky,t.y1=t.y0+t.value*e.ky):t.partOfCycle?0==fe(t,r)?(t.y0=e.y1/2+o,t.y1=t.y0+t.value*e.ky):"top"==t.circularLinkType?(t.y0=e.y0+o,t.y1=t.y0+t.value*e.ky):(t.y0=e.y1-t.value*e.ky-o,t.y1=t.y0+t.value*e.ky):0==e.y0||0==e.y1?(t.y0=(e.y1-e.y0)/a*o,t.y1=t.y0+t.value*e.ky):(t.y0=(e.y1-e.y0)/2-a/2+o,t.y1=t.y0+t.value*e.ky)})})}function We(e,t,r,n,o,i){var a=g(e.nodes,function(e){return e.column}).sort(function(e,t){return e[0]-t[0]}).map(function(e){return e[1]});u();for(var l=1,c=i;c>0;--c)s(l*=.99,r),u();function s(t,r){var n=a.length;a.forEach(function(o){var i=o.length,a=o[0].depth;o.forEach(function(o){var l;if(o.sourceLinks.length||o.targetLinks.length)if(o.partOfCycle&&fe(o,r)>0){var c=v(o.sourceLinks,ue),s=v(o.targetLinks,se),u=c&&s?(c+s)/2:c||s;if(u){var d=(u-de(o))*t*.3;o.y0+=d,o.y1+=d}}else if(0==a&&1==i)o.y0=e.y1/2-(l=o.y1-o.y0)/2,o.y1=e.y1/2+l/2;else if(a==n-1&&1==i)o.y0=e.y1/2-(l=o.y1-o.y0)/2,o.y1=e.y1/2+l/2;else if(1==o.targetLinks.length&&1==o.targetLinks[0].source.sourceLinks.length)l=o.y1-o.y0,o.y0=o.targetLinks[0].source.y0,o.y1=o.y0+l;else{var h=v(o.sourceLinks,ue),f=v(o.targetLinks,se),g=((h&&f?(h+f)/2:h||f)-de(o))*t;o.y0+=g,o.y1+=g}})})}function u(){a.forEach(function(r){var i,a,l,c=e.y0,s=r.length;for(r.sort(t||we),l=0;s>l;++l)(a=c-(i=r[l]).y0)>0&&(i.y0+=a,i.y1+=a),c=i.y1+n;if((a=c-n-e.y1)>0)for(c=i.y0-=a,i.y1-=a,l=s-2;l>=0;--l)(a=(i=r[l]).y1+o-c)>0&&(i.y0-=a,i.y1-=a),c=i.y0})}}function _e(e){e.nodes.forEach(function(e){e.sourceLinks.sort(ke),e.targetLinks.sort(xe)}),e.nodes.forEach(function(e){var t=e.y0,r=t,n=e.y1,o=n;e.sourceLinks.forEach(function(e){e.circular?(e.y0=n-e.width/2,n-=e.width):(e.y0=t+e.width/2,t+=e.width)}),e.targetLinks.forEach(function(e){e.circular?(e.y1=o-e.width/2,o-=e.width):(e.y1=r+e.width/2,r+=e.width)})})}function $e(){var e=0,t=0,r=1,n=1,o=24,i=8,a=null,l=Ce,c=ye,s=void 0,u=32,d=2,h=Ne,v=Oe;function b(){var b={nodes:h.apply(null,arguments),links:v.apply(null,arguments)};return function(h){h.x0=e,h.y0=t,h.x1=r,h.y1=n,h.py=0,function(e,t){e.nodes.forEach(function(e,t){e.index=t,e.sourceLinks=[],e.targetLinks=[]});var r=function(e,t){var r=new Map;return m(e,t).forEach(function(e,t){r.set(t,e[0])}),r}(e.nodes,t);e.links.forEach(function(e,t){e.index=t;var n=e.source,o=e.target;"object"!=typeof n&&(n=e.source=J(r,n)),"object"!=typeof o&&(o=e.target=J(r,o)),n.sourceLinks.push(e),o.targetLinks.push(e)})}(h,l),function(e,t){var r=0;if(null==t){for(var n=[],o=0;e.links.length>o;o++){var i=e.links[o],a=i.source.index,l=i.target.index;n[a]||(n[a]=[]),n[l]||(n[l]=[]),-1===n[a].indexOf(l)&&n[a].push(l)}var c=ee(n);c.sort(function(e,t){return e.length-t.length});var s={};for(o=0;c.length>o;o++){var u=c[o].slice(-2);s[u[0]]||(s[u[0]]={}),s[u[0]][u[1]]=!0}e.links.forEach(function(e){var t=e.target.index,n=e.source.index;t===n||s[n]&&s[n][t]?(e.circular=!0,e.circularLinkID=r++):e.circular=!1})}else e.links.forEach(function(e){t(e.source)<t(e.target)?e.circular=!1:(e.circular=!0,e.circularLinkID=r++)})}(h,s),function(e,t){var r=0,n=0;e.links.forEach(function(o){o.circular&&(o.circularLinkType=o.source.circularLinkType||o.target.circularLinkType?o.source.circularLinkType?o.source.circularLinkType:o.target.circularLinkType:n>r?"top":"bottom","top"==o.circularLinkType?r++:n++,e.nodes.forEach(function(e){ce(e,t)!=ce(o.source,t)&&ce(e,t)!=ce(o.target,t)||(e.circularLinkType=o.circularLinkType)}))}),e.links.forEach(function(e){e.circular&&(e.source.circularLinkType==e.target.circularLinkType&&(e.circularLinkType=e.source.circularLinkType),re(e,t)&&(e.circularLinkType=e.source.circularLinkType))})}(h,l),function(e){e.nodes.forEach(function(e){e.partOfCycle=!1,e.value=Math.max(p(e.sourceLinks,he),p(e.targetLinks,he)),e.sourceLinks.forEach(function(t){t.circular&&(e.partOfCycle=!0,e.circularLinkType=t.circularLinkType)}),e.targetLinks.forEach(function(t){t.circular&&(e.partOfCycle=!0,e.circularLinkType=t.circularLinkType)})})}(h),function(e,t,r){var n,o,i;if(null!=t){e.nodes.sort(function(e,r){return t(e)<t(r)?-1:1});var a=0,l=t(e.nodes[0]);e.nodes.forEach(function(e){a=t(e)==l?a:a+1,l=t(e)==l?l:t(e),e.column=a})}for(n=e.nodes,o=[],i=0;n.length;++i,n=o,o=[])n.forEach(function(e){e.depth=i,e.sourceLinks.forEach(function(e){0>o.indexOf(e.target)&&!e.circular&&o.push(e.target)})});for(n=e.nodes,o=[],i=0;n.length;++i,n=o,o=[])n.forEach(function(e){e.height=i,e.targetLinks.forEach(function(e){0>o.indexOf(e.source)&&!e.circular&&o.push(e.source)})});e.nodes.forEach(function(e){e.column=null==t?r(e,i):e.column})}(h,s,c);var v=i;if(null!==a){var b=g(h.nodes,function(e){return e.column}).sort(function(e,t){return e[0]-t[0]}).map(function(e){return e[1]}),x=y(b,function(e){return e.length});x>1&&(v=Math.max(1,(n-t)*a/(x-1)))}(function(e,t,r){var n=g(e.nodes,function(e){return e.column}).sort(function(e,t){return e[0]-t[0]}).map(function(e){return e[1]});e.py=t;var o=f(n,function(t){return(e.y1-e.y0-(t.length-1)*e.py)/p(t,function(e){return e.value})});e.ky=o,e.links.forEach(function(t){t.width=t.value*e.ky});var i=y(e.nodes,function(e){return e.column});e.nodes.forEach(i>0?function(t){t.x0=e.x0+t.column*((e.x1-e.x0-r)/i),t.x1=t.x0+r}:function(t){t.x0=e.x0,t.x1=t.x0+r})})(h,v,o),Te(h,s,l),We(h,s,l,v,v,u),_e(h),De(h,l,d,10,8),Te(h,s,l),We(h,s,l,v,v,u),_e(h),De(h,l,d,10,8),function(e,t){let r=e;r.nodes.forEach(function(e){e.y+(e.y1-e.y0)>r.y1&&(e.y=e.y-(e.y+(e.y1-e.y0)-r.y1));var n=r.links.filter(function(r){return ce(r.source,t)==ce(e,t)}),o=n.length;o>1&&n.sort(function(e,t){if(!e.circular&&!t.circular){if(e.target.column==t.target.column)return e.y1-t.y1;if(!Le(e,t))return e.y1-t.y1;if(e.target.column>t.target.column){var r=ie(t,e);return e.y1-r}if(t.target.column>e.target.column)return ie(e,t)-t.y1}return e.circular&&!t.circular?"top"==e.circularLinkType?-1:1:t.circular&&!e.circular?"top"==t.circularLinkType?1:-1:e.circular&&t.circular?e.circularLinkType===t.circularLinkType&&"top"==e.circularLinkType?e.target.column===t.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:e.circularLinkType===t.circularLinkType&&"bottom"==e.circularLinkType?e.target.column===t.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:"top"==e.circularLinkType?-1:1:void 0});var i=e.y0;n.forEach(function(e){e.y0=i+e.width/2,i+=e.width}),n.forEach(function(t,r){if("bottom"==t.circularLinkType){for(var i=r+1,a=0;o>i;i++)a+=n[i].width;t.y0=e.y1-a-t.width/2}})})}(h,l),function(e,t){let r=e;r.nodes.forEach(function(e){var n=r.links.filter(function(r){return ce(r.target,t)==ce(e,t)}),o=n.length;o>1&&n.sort(function(e,t){if(!e.circular&&!t.circular){if(e.source.column==t.source.column)return e.y0-t.y0;if(!Le(e,t))return e.y0-t.y0;if(e.source.column>t.source.column){var r=ae(t,e);return e.y0-r}if(t.source.column>e.source.column)return ae(e,t)-t.y0}return e.circular&&!t.circular?"top"==e.circularLinkType?-1:1:t.circular&&!e.circular?"top"==t.circularLinkType?1:-1:e.circular&&t.circular?e.circularLinkType===t.circularLinkType&&"top"==e.circularLinkType?e.source.column===t.source.column?e.source.y1-t.source.y1:e.source.column-t.source.column:e.circularLinkType===t.circularLinkType&&"bottom"==e.circularLinkType?e.source.column===t.source.column?e.source.y1-t.source.y1:t.source.column-e.source.column:"top"==e.circularLinkType?-1:1:void 0});var i=e.y0;n.forEach(function(e){e.y1=i+e.width/2,i+=e.width}),n.forEach(function(t,r){if("bottom"==t.circularLinkType){for(var i=r+1,a=0;o>i;i++)a+=n[i].width;t.y1=e.y1-a-t.width/2}})})}(h,l),function(e){var t=e.nodes,r=e.links,n=!1,o=!1;if(r.forEach(function(e){"top"==e.circularLinkType?n=!0:"bottom"==e.circularLinkType&&(o=!0)}),0==n||0==o){var i=f(t,function(e){return e.y0}),a=y(t,function(e){return e.y1}),l=(e.y1-e.y0)/(a-i);function c(t){return(t-i)/(a-i)*(e.y1-e.y0)+e.y0}1>l?(t.forEach(function(e){e.y0=c(e.y0),e.y1=c(e.y1)}),r.forEach(function(e){e.y0=c(e.y0),e.y1=c(e.y1),e.width=e.width*l})):t.forEach(function(e){var t=e.y1-e.y0,r=c(e.y0)-e.y0;e.y0=c(e.y0),e.y1=e.y0+t,e.sourceLinks.forEach(function(e){e.y0=e.y0+r}),e.targetLinks.forEach(function(e){e.y1=e.y1+r})})}}(h),De(h,l,d,10,8)}(b),b}return b.update=function(e){return _e(e),De(e,l,d,10,8),e},b.nodeWidth=function(e){return arguments.length?(o=+e,b):o},b.nodePadding=function(e){return arguments.length?(i=+e,b):i},b.nodePaddingRatio=function(e){return arguments.length?(a=+e,b):a},b.nodes=function(e){return arguments.length?(h="function"==typeof e?e:Ie(e),b):h},b.links=function(e){return arguments.length?(v="function"==typeof e?e:Ie(e),b):v},b.nodeId=function(e){return arguments.length?(l="function"==typeof e?e:Ie(e),b):l},b.nodeAlign=function(e){return arguments.length?(c="function"==typeof e?e:Ie(e),b):c},b.nodeSort=function(e){return arguments.length?(s=e,b):s},b.iterations=function(e){return arguments.length?(u=+e,b):u},b.circularLinkGap=function(e){return arguments.length?(d=+e,b):d},b.extent=function(o){return arguments.length?(e=+o[0][0],t=+o[0][1],r=+o[1][0],n=+o[1][1],b):[[e,t],[r,n]]},b.size=function(o){return arguments.length?(e=t=0,r=+o[0],n=+o[1],b):[r-e,n-t]},b}const je=e=>{let t,r,n,o,i,a,l,c,s;return"down"===e.direction?(t=e.y0-e.sankeyWidth/2,r=e.y1-e.sankeyWidth/2,n=e.y1+e.sankeyWidth/2,o=e.y0+e.sankeyWidth/2,i=e.source.y1,a=e.target.y0,l=h(i,a),c=l(.5),s=l(.5),`M${t},${i}C${t},${c} ${r},${s} ${r},${a}L${n},${a}C${n},${s} ${o},${c} ${o},${i}Z`):(t=e.source.x1,r=e.target.x0,l=h(t,r),n=l(.5),o=l(.5),i=e.y0-e.sankeyWidth/2,a=e.y1-e.sankeyWidth/2,c=e.y1+e.sankeyWidth/2,s=e.y0+e.sankeyWidth/2,`M${t},${i}C${n},${i} ${o},${a} ${r},${a}L${r},${c}C${o},${c} ${n},${s} ${t},${s}Z`)};function Be(e){var t;const r=e.sankeyWidth/2,n=(null!==(t=e._circularWidth)&&void 0!==t?t:e.sankeyWidth)/2,o=e.circularPathData;if(!o)return null;if("down"===e.direction)return null;if(e._circularStub){const t=o.sourceX,n=o.sourceY,i=o.targetX,a=o.targetY;if("object"!=typeof e.source||!e.source||"object"!=typeof e.target||!e.target)return null;const l=Math.max(15,Math.min(40,.33*(o.rightFullExtent-t))),c=Math.max(15,Math.min(40,.33*(i-o.leftFullExtent)));return`M${t},${n-r}L${t+l},${n-r}L${t+l},${n+r}L${t},${n+r}ZM${i},${a-r}L${i-c},${a-r}L${i-c},${a+r}L${i},${a+r}Z`}const i=o.sourceX,a=o.sourceY,l=o.targetX,c=o.targetY,s=o.rightFullExtent,u=o.leftFullExtent,d=o.verticalFullExtent,h="bottom"===e.circularLinkType?1:-1,f=Math.max(4,Math.min(n,15));return`M${i},${a-h*r}L${s},${a-h*r}L${s+n},${a-h*r+h*f}L${s+n},${d+h*n-h*f}L${s+n-f},${d+h*n}L${u-n+f},${d+h*n}L${u-n},${d+h*n-h*f}L${u-n},${c-h*r+h*f}L${u-n+f},${c-h*r}L${l},${c-h*r}L${l},${c+h*r}L${u+n},${c+h*r}L${u+n},${d-h*n}L${s-n},${d-h*n}L${s-n},${a+h*r}L${i},${a+h*r}Z`}const ze={left:function(e){return e.depth},right:function(e,t){return t-1-e.height},center:function(e){return e.targetLinks.length?e.depth:e.sourceLinks.length?Math.min.apply(Math,e.sourceLinks.map(ge))-1:0},justify:ye},Re={supportsStreaming:!0,hierarchical:!1,computeLayout(e,t,r,n){var o,i,a,l,c,s,u;if(0===e.length)return;const d="vertical"===r.orientation?"down":"right",h=r.nodeAlign||"justify",f=null!==(o=r.nodeWidth)&&void 0!==o?o:15,g=null!==(i=r.nodePaddingRatio)&&void 0!==i?i:.05,y=null!==(a=r.iterations)&&void 0!==a?a:100,p=e.map(e=>Object.assign({},e)),v=t.map(e=>Object.assign(Object.assign({},e),{source:"string"==typeof e.source?e.source:e.source.id,target:"string"==typeof e.target?e.target:e.target.id,value:Math.sqrt(Math.max(1,e.value||1))}));let m;m="down"===d?[[0,0],[n[1],n[0]]]:[[0,0],[n[0],n[1]]];const b=$e().extent(m).links(v).nodes(p).nodeAlign(ze[h]||ye).nodeId(e=>e.id).nodeWidth(f).iterations(y);b.nodePaddingRatio&&b.nodePaddingRatio(g),b();{let e=1/0,t=-1/0,r=1/0,o=-1/0;for(const n of p)e>n.x0&&(e=n.x0),n.x1>t&&(t=n.x1),r>n.y0&&(r=n.y0),n.y1>o&&(o=n.y1);for(const n of v){if(!n.circular||!n.circularPathData)continue;const i=n.circularPathData,a=(null!==(c=null!==(l=n._circularWidth)&&void 0!==l?l:n.width)&&void 0!==c?c:0)/2;e>i.leftFullExtent-a&&(e=i.leftFullExtent-a),i.rightFullExtent+a>t&&(t=i.rightFullExtent+a),r>i.verticalFullExtent-a&&(r=i.verticalFullExtent-a),i.verticalFullExtent+a>o&&(o=i.verticalFullExtent+a)}const i=t-e,a=o-r,u=n[0],d=n[1];if(i>0&&a>0&&(0>e||0>r||t>u||o>d)){const t=Math.min(u/i,d/a),n=-e*t+(u-i*t)/2,o=-r*t+(d-a*t)/2;for(const e of p)e.x0=e.x0*t+n,e.x1=e.x1*t+n,e.y0=e.y0*t+o,e.y1=e.y1*t+o;for(const e of v)if(e.y0=e.y0*t+o,e.y1=e.y1*t+o,e.width=(null!==(s=e.width)&&void 0!==s?s:0)*t,e._circularWidth&&(e._circularWidth*=t),e.circular&&e.circularPathData){const r=e.circularPathData;r.sourceX=r.sourceX*t+n,r.targetX=r.targetX*t+n,r.sourceY=r.sourceY*t+o,r.targetY=r.targetY*t+o,r.rightFullExtent=r.rightFullExtent*t+n,r.leftFullExtent=r.leftFullExtent*t+n,r.verticalFullExtent=r.verticalFullExtent*t+o,r.rightInnerExtent=r.rightInnerExtent*t+n,r.leftInnerExtent=r.leftInnerExtent*t+n,r.verticalRightInnerExtent=r.verticalRightInnerExtent*t+o,r.verticalLeftInnerExtent=r.verticalLeftInnerExtent*t+o,r.rightSmallArcRadius*=t,r.rightLargeArcRadius*=t,r.leftSmallArcRadius*=t,r.leftLargeArcRadius*=t,r.sourceWidth*=t,r.rightNodeBuffer*=t,r.leftNodeBuffer*=t,r.arcRadius*=t}}}const x=new Map;for(const t of e)x.set(t.id,t);for(const e of p){const t=x.get(e.id);t&&(t.x0=e.x0,t.x1=e.x1,t.y0=e.y0,t.y1=e.y1,t.value=e.value,t.depth=e.depth,t.sourceLinks=e.sourceLinks,t.targetLinks=e.targetLinks,t.width=e.x1-e.x0,t.height=e.y1-e.y0,t.x=e.x0+(e.x1-e.x0)/2,t.y=e.y0+(e.y1-e.y0)/2)}const k=new Map;for(const e of t)k.set(`${"string"==typeof e.source?e.source:e.source.id}\0${"string"==typeof e.target?e.target:e.target.id}`,e);for(const e of v){const t=e.source,r=e.target,n="object"==typeof t&&null!==t?t.id:t+"",o="object"==typeof r&&null!==r?r.id:r+"",i=k.get(`${n}\0${o}`);if(i){i.y0=e.y0,i.y1=e.y1,i.sankeyWidth=null!==(u=e.width)&&void 0!==u?u:0,i.circular=!!e.circular,i.circularPathData=e.circularPathData,i._circularWidth=e._circularWidth,i._circularStub=e._circularStub,i.path=e.path,i.circularLinkType=e.circularLinkType,i.direction=d;const t=x.get(n),r=x.get(o);t&&(i.source=t),r&&(i.target=r)}}},buildScene(e,t,r,n){var o,i,a,l;const c="vertical"===r.orientation?"down":"right",s=r.nodeStyle,u=r.edgeStyle,d=null!==(o=r.edgeOpacity)&&void 0!==o?o:.5,h=r.edgeColorBy||"source",f=Array.isArray(r.colorScheme)?r.colorScheme:b,g=new Map;e.forEach((e,t)=>{g.set(e.id,f[t%f.length])});const y=[],p=[],v=[];for(const t of e){const e=t.x1-t.x0,r=t.y1-t.y0;if(0>=e||0>=r)continue;const n=s?s(t):{},o={fill:n.fill||g.get(t.id)||"#4d430c",stroke:n.stroke,strokeWidth:n.strokeWidth,opacity:n.opacity};y.push({type:"rect",x:t.x0,y:t.y0,w:e,h:r,style:o,datum:t,id:t.id,label:t.id})}const m=[...t].sort((e,t)=>(t.sankeyWidth||0)-(e.sankeyWidth||0));for(const e of m){if(!e.sankeyWidth||0>=e.sankeyWidth)continue;const t="object"==typeof e.source?e.source:null,r="object"==typeof e.target?e.target:null;if(!t||!r)continue;let n="#999";u?n=u(e).fill||n:"target"===h&&r?n=g.get(r.id)||n:t&&(n=g.get(t.id)||n);const o=u?u(e):{};if(e._circularStub&&e.circular&&e.circularPathData){const t=e.circularPathData,r=e.sankeyWidth/2,l=Math.max(15,Math.min(40,.33*(t.rightFullExtent-t.sourceX))),c=Math.max(15,Math.min(40,.33*(t.targetX-t.leftFullExtent))),s=o.fill||n;p.push({type:"bezier",pathD:`M${t.sourceX},${t.sourceY-r}L${t.sourceX+l},${t.sourceY-r}L${t.sourceX+l},${t.sourceY+r}L${t.sourceX},${t.sourceY+r}Z`,style:{fill:s,fillOpacity:null!==(i=o.fillOpacity)&&void 0!==i?i:d,stroke:"none",opacity:o.opacity},datum:e,_gradient:{direction:"right",from:1,to:0,x0:t.sourceX,x1:t.sourceX+l}}),p.push({type:"bezier",pathD:`M${t.targetX},${t.targetY-r}L${t.targetX-c},${t.targetY-r}L${t.targetX-c},${t.targetY+r}L${t.targetX},${t.targetY+r}Z`,style:{fill:s,fillOpacity:null!==(a=o.fillOpacity)&&void 0!==a?a:d,stroke:"none",opacity:o.opacity},datum:e,_gradient:{direction:"left",from:0,to:1,x0:t.targetX-c,x1:t.targetX}});continue}let c;if(c=e.circular&&e.circularPathData?Be(e):je(e),!c)continue;const s={fill:o.fill||n,fillOpacity:null!==(l=o.fillOpacity)&&void 0!==l?l:d,stroke:o.stroke||"none",strokeWidth:o.strokeWidth,opacity:o.opacity};p.push({type:"bezier",pathD:c,bezierCache:e.bezier,style:s,datum:e})}if(!1!==r.showLabels){const t=(x=r.nodeLabel)?"function"==typeof x?x:e=>e[x]||e.id:null;for(const r of e){const e=r.x1-r.x0,o=r.y1-r.y0;if(0>=e||0>=o)continue;const i=t?t(r):r.id;if(!i)continue;let a,l,s;"down"===c?(a=r.x0+e/2,l=r.y1+14,s="middle"):(n[0]/2>r.x0+e/2?(a=r.x0-6,s="end"):(a=r.x1+6,s="start"),l=r.y0+o/2),v.push({x:a,y:l,text:i+"",anchor:s,baseline:"middle",fontSize:11})}}var x;return{sceneNodes:y,sceneEdges:p,labels:v}}},He={supportsStreaming:!0,hierarchical:!1,computeLayout(e,t,r,n){var o,i;if(0===e.length)return;const a=null!==(o=r.forceStrength)&&void 0!==o?o:.1,l=n[0]/2,c=n[1]/2,s=r.__previousPositions;let u=0;const d=[];for(const t of e){const e=null!=t.x&&null!=t.y&&(0!==t.x||0!==t.y),r=null==s?void 0:s.get(t.id);e?u++:r?(t.x=r.x,t.y=r.y,u++):d.push(t)}const h=u>0&&.3>=(e.length>0?d.length/e.length:1);if(h){const r=new Map;for(const t of e)r.set(t.id,t);for(const e of d){const n=Fe(e.id,t,r);if(n.length>0){let t=0,r=0;for(const e of n)t+=e.x,r+=e.y;const o=Ye(e.id),i=o%360*(Math.PI/180),a=10+o%20;e.x=t/n.length+a*Math.cos(i),e.y=r/n.length+a*Math.sin(i)}else{const t=Ye(e.id),r=t%360*(Math.PI/180),n=15+t%30;e.x=l+n*Math.cos(r),e.y=c+n*Math.sin(r)}}}else{const t=2.399963229728653;for(let r=0;e.length>r;r++){const n=e[r];if(null==n.x||null==n.y||0===n.x&&0===n.y){const e=10*Math.sqrt(r+.5),o=r*t;n.x=l+e*Math.cos(o),n.y=c+e*Math.sin(o)}}}const f=null!==(i=r.iterations)&&void 0!==i?i:Math.max(50,Math.min(300,Math.floor(300-2*(e.length-30)))),g=h?40:f,y=Xe(r.nodeSize,r.nodeSizeRange,e),p=e=>y(e),v=M().strength(e=>Math.min(2.5,e.weight?e.weight*a:a)).id(e=>e.id),m=I().force("charge",C().strength(e=>-25*p(e))).force("center",N(l,c).strength(.8)).force("x",O(l).strength(.15)).force("y",T(c).strength(.15));if(m.nodes(e),t.length>0){const e=t.map(e=>Object.assign(Object.assign({},e),{source:"string"==typeof e.source?e.source:e.source.id,target:"string"==typeof e.target?e.target:e.target.id}));m.force("link",v),m.force("link").links(e)}h?m.alpha(.3):.1>m.alpha()&&m.alpha(1),m.stop();for(let e=0;g>e;++e)m.tick();for(const t of e){if(null==t.x||null==t.y)continue;const e=p(t);t.x=Math.max(e,Math.min(n[0]-e,t.x)),t.y=Math.max(e,Math.min(n[1]-e,t.y)),t.x0=0,t.x1=0,t.y0=0,t.y1=0}const b=new Map;for(const t of e)b.set(t.id,t);for(const e of t){if("string"==typeof e.source){const t=b.get(e.source);t&&(e.source=t)}if("string"==typeof e.target){const t=b.get(e.target);t&&(e.target=t)}}},buildScene(e,t,r,n){var o,i,a;const l=r.nodeStyle,c=r.edgeStyle,s=Xe(r.nodeSize,r.nodeSizeRange,e),u=Array.isArray(r.colorScheme)?r.colorScheme:b,d=new Map;e.forEach((e,t)=>{d.set(e.id,u[t%u.length])});const h=[],f=[],g=[];for(const t of e){if(null==t.x||null==t.y)continue;const e=s(t),r=l?l(t):{},n={fill:r.fill||d.get(t.id)||"#007bff",stroke:r.stroke||"#fff",strokeWidth:null!==(o=r.strokeWidth)&&void 0!==o?o:2,opacity:r.opacity};h.push({type:"circle",cx:t.x,cy:t.y,r:e,style:n,datum:t,id:t.id,label:t.id})}const y=new Map;for(const t of e)y.set(t.id,t);for(const e of t){const t="object"==typeof e.source?e.source:y.get(e.source),r="object"==typeof e.target?e.target:y.get(e.target);if(!t||!r)continue;if(null==t.x||null==t.y)continue;if(null==r.x||null==r.y)continue;const n=c?c(e):{},o={stroke:n.stroke||"#999",strokeWidth:null!==(i=n.strokeWidth)&&void 0!==i?i:1,opacity:null!==(a=n.opacity)&&void 0!==a?a:.6};f.push({type:"line",x1:t.x,y1:t.y,x2:r.x,y2:r.y,style:o,datum:e})}if(!1!==r.showLabels){const t=(p=r.nodeLabel)?"function"==typeof p?p:e=>e[p]||e.id:null;for(const r of e){if(null==r.x||null==r.y)continue;const e=t?t(r):r.id;if(!e)continue;const n=s(r);g.push({x:r.x,y:r.y-n-4,text:e+"",anchor:"middle",baseline:"auto",fontSize:11})}}var p;return{sceneNodes:h,sceneEdges:f,labels:g}}};function Fe(e,t,r){const n=[];for(const o of t){const t="string"==typeof o.source?o.source:o.source.id,i="string"==typeof o.target?o.target:o.target.id;let a=null;if(t===e?a=i:i===e&&(a=t),a){const e=r.get(a);!e||0===e.x&&0===e.y||n.push({x:e.x,y:e.y})}}return n}function Ye(e){let t=0;for(let r=0;e.length>r;r++)t=(t<<5)-t+e.charCodeAt(r)|0;return Math.abs(t)}function Xe(e,t,r){var n,o;if(null==e)return()=>8;if("number"==typeof e)return()=>e;if("function"==typeof e)return t=>e(t)||8;const i=t||[5,20],a=r.map(t=>{var r;return null===(r=t.data)||void 0===r?void 0:r[e]}).filter(e=>null!=e&&"number"==typeof e);if(0===a.length)return()=>i[0];const l=null!==(n=f(a))&&void 0!==n?n:0,c=null!==(o=y(a))&&void 0!==o?o:1;if(l===c)return()=>(i[0]+i[1])/2;const s=W().domain([l,c]).range(i).clamp(!0);return t=>{var r;const n=null===(r=t.data)||void 0===r?void 0:r[e];return null==n||"number"!=typeof n?i[0]:s(n)}}const Ge=b,qe={supportsStreaming:!1,hierarchical:!1,computeLayout(e,t,r,n){if(0===e.length)return;const{padAngle:o=.01,groupWidth:i=20,sortGroups:a}=r,l=Math.min(n[0],n[1])/2,c=l-i,s=n[0]/2,u=n[1]/2,d=(h=r.valueAccessor)?"function"==typeof h?h:e=>{var t;return null!==(t=e[h])&&void 0!==t?t:1}:e=>{var t;return null!==(t=e.value)&&void 0!==t?t:1};var h;const f=new Map;for(let t=0;e.length>t;t++)f.set(e[t].id,t);const g=e.length,y=Array.from({length:g},()=>Array.from({length:g},()=>0));for(const e of t){const t="string"==typeof e.target?e.target:e.target.id,r=f.get("string"==typeof e.source?e.source:e.source.id),n=f.get(t);if(void 0===r||void 0===n)continue;const o=d(e);y[r][n]=o}const p=j().padAngle(o);a&&p.sortGroups(a);const v=p(y),m=v.groups,b=B().innerRadius(c).outerRadius(l);for(const t of m){const r=e[t.index],n=b.centroid(t);r.x=n[0]+s,r.y=n[1]+u,r.arcData={startAngle:t.startAngle,endAngle:t.endAngle}}const x=new Map;for(const t of e)x.set(t.id,t);for(const e of t){const t="string"==typeof e.target?e.target:e.target.id,r=x.get("string"==typeof e.source?e.source:e.source.id),n=x.get(t);r&&(e.source=r),n&&(e.target=n)}const k=new Map;for(const e of t)k.set(`${"string"==typeof e.source?e.source:e.source.id}\0${"string"==typeof e.target?e.target:e.target.id}`,e);for(const t of v){const r=e[t.source.index].id,n=e[t.target.index].id,o=k.get(`${r}\0${n}`)||k.get(`${n}\0${r}`);o&&(o.chordData=t)}},buildScene(e,t,r,n){var o,i;const{groupWidth:a=20,edgeOpacity:l=.5}=r,c=Math.min(n[0],n[1])/2,s=c-a,u=n[0]/2,d=n[1]/2,h=r.nodeStyle,f=r.edgeStyle,g=r.edgeColorBy||"source",y=Array.isArray(r.colorScheme)?r.colorScheme:Ge,p=new Map;e.forEach((e,t)=>{p.set(e.id,y[t%y.length])});const v=$().radius(s),m=[],b=[],x=[];for(let t=0;e.length>t;t++){const r=e[t],n=r.arcData;if(!n)continue;let i;i=h?h(r).fill||p.get(r.id)||y[t%y.length]:p.get(r.id)||y[t%y.length];const a=h?h(r):{},l={fill:i,stroke:a.stroke||"black",strokeWidth:null!==(o=a.strokeWidth)&&void 0!==o?o:1,opacity:a.opacity};m.push({type:"arc",cx:u,cy:d,innerR:s,outerR:c,startAngle:n.startAngle-Math.PI/2,endAngle:n.endAngle-Math.PI/2,style:l,datum:r,id:r.id,label:r.id})}for(const e of t){const t=e.chordData;if(!t)continue;const r=v(t);if(!r)continue;const n=Ve(r,u,d);let o="#999";if(f)o=f(e).fill||o;else{const t="object"==typeof e.source?e.source:null,r="object"==typeof e.target?e.target:null;"target"===g&&r?o=p.get(r.id)||o:t&&(o=p.get(t.id)||o)}const a=f?f(e):{},c={fill:o,fillOpacity:null!==(i=a.fillOpacity)&&void 0!==i?i:l,stroke:a.stroke||"none",strokeWidth:a.strokeWidth,opacity:a.opacity};b.push({type:"ribbon",pathD:n,style:c,datum:e})}if(!1!==r.showLabels){const t=(k=r.nodeLabel)?"function"==typeof k?k:e=>e[k]||e.id:null,n=c+12;for(const r of e){const e=r.arcData;if(!e)continue;const o=t?t(r):r.id;if(!o)continue;const i=(e.startAngle+e.endAngle)/2,a=i-Math.PI/2;x.push({x:u+Math.cos(a)*n,y:d+Math.sin(a)*n,text:o+"",anchor:i>Math.PI?"end":"start",baseline:"middle",fontSize:11})}}var k;return{sceneNodes:m,sceneEdges:b,labels:x}}};function Ve(e,t,r){const n=e.match(/[a-zA-Z]|[-+]?\d*\.?\d+(?:[eE][-+]?\d+)?/g);if(!n)return e;const o=[];let i=0;for(;n.length>i;){const e=n[i];if("M"===e||"L"===e)for(o.push(e),i++;n.length>i&&!isNaN(Number(n[i]));)o.push(Number(n[i])+t+""),i++,n.length>i&&!isNaN(Number(n[i]))&&(o.push(Number(n[i])+r+""),i++);else if("C"===e)for(o.push(e),i++;n.length>i&&!isNaN(Number(n[i]));)for(let e=0;3>e&&n.length>i&&!isNaN(Number(n[i]));e++)o.push(Number(n[i])+t+""),i++,n.length>i&&!isNaN(Number(n[i]))&&(o.push(Number(n[i])+r+""),i++);else if("Q"===e)for(o.push(e),i++;n.length>i&&!isNaN(Number(n[i]));)for(let e=0;2>e&&n.length>i&&!isNaN(Number(n[i]));e++)o.push(Number(n[i])+t+""),i++,n.length>i&&!isNaN(Number(n[i]))&&(o.push(Number(n[i])+r+""),i++);else if("A"===e)for(o.push(e),i++;n.length>i&&!isNaN(Number(n[i]));)o.push(n[i++]),n.length>i&&o.push(n[i++]),n.length>i&&o.push(n[i++]),n.length>i&&o.push(n[i++]),n.length>i&&o.push(n[i++]),n.length>i&&(o.push(Number(n[i])+t+""),i++),n.length>i&&(o.push(Number(n[i])+r+""),i++);else"Z"===e||"z"===e?(o.push(e),i++):(o.push(n[i]),i++)}return o.join(" ")}function Ke(e){const[t,r,n]=function(e){if(e.startsWith("#")){let t=e.slice(1);if(3===t.length&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]),6===t.length)return[parseInt(t.slice(0,2),16),parseInt(t.slice(2,4),16),parseInt(t.slice(4,6),16)]}const t=e.match(/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/);return t?[+t[1],+t[2],+t[3]]:[128,128,128]}(e);return.299*t+.587*r+.114*n>150?"#222":"#fff"}const Ze={supportsStreaming:!1,hierarchical:!0,computeLayout(e,t,r,n){var o;const i=r.__hierarchyRoot;if(!i)return;const a=r.chartType,l=(c=r.childrenAccessor)?"function"==typeof c?c:e=>e[c]:void 0;var c;const s=r.hierarchySum||(e=>{var t;return null!==(t=e.value)&&void 0!==t?t:0}),u=R(i,l);u.sum(s),u.sort((e,t)=>{var r,n;return(null!==(r=t.value)&&void 0!==r?r:0)-(null!==(n=e.value)&&void 0!==n?n:0)});const[d,h]=n;switch(a){case"tree":!function(e,t,r,n){const o=t.treeOrientation||"vertical",i=q();i.size("horizontal"===o?[n,r]:"radial"===o?[2*Math.PI,Math.min(r,n)/2*.8]:[r,n]),i(e)}(u,r,d,h);break;case"cluster":!function(e,t,r,n){const o=t.treeOrientation||"vertical",i=G();i.size("horizontal"===o?[n,r]:"radial"===o?[2*Math.PI,Math.min(r,n)/2*.8]:[r,n]),i(e)}(u,r,d,h);break;case"treemap":!function(e,t,r,n){var o,i;const a=null!==(o=t.padding)&&void 0!==o?o:4,l=null!==(i=t.paddingTop)&&void 0!==i?i:0,c=Y().size([r,n]).tile(X).padding(a);l>0&&c.paddingTop(l),c(e)}(u,r,d,h);break;case"circlepack":!function(e,t,r,n){var o;const i=null!==(o=t.padding)&&void 0!==o?o:4;F().size([r,n]).padding(i)(e)}(u,r,d,h);break;case"partition":!function(e,t,r,n){var o;H().size([r,n]).padding(null!==(o=t.padding)&&void 0!==o?o:1)(e)}(u,r,d,h)}const f=u.descendants();e.length=0,t.length=0;const g=new Map;for(let t=0;f.length>t;t++){const n=f[t],i={id:tt(n,r,t),x:0,y:0,x0:0,x1:0,y0:0,y1:0,width:0,height:0,value:null!==(o=n.value)&&void 0!==o?o:0,depth:n.depth,data:n.data,createdByFrame:!0};"tree"===a||"cluster"===a?Qe(i,n,r):"treemap"===a||"partition"===a?Ue(i,n):"circlepack"===a&&Je(i,n),i.__hierarchyNode=n,e.push(i),g.set(n,i)}if("tree"===a||"cluster"===a)for(const e of f)if(e.parent){const r=g.get(e.parent),n=g.get(e);r&&n&&t.push({source:r,target:n,value:1,y0:0,y1:0,sankeyWidth:0,data:{depth:e.depth}})}},buildScene(e,t,r,n){const o=r.nodeStyle||(()=>({})),i=r.edgeStyle||(()=>({}));switch(r.chartType){case"tree":case"cluster":return function(e,t,r,n,o,i){var a,l,c,s,u;const d=[],h=[],f=[],g=r.treeOrientation||"vertical",y="radial"===g,p=n[0]/2,v=n[1]/2,m="number"==typeof(x=r.nodeSize)?x:5,b=["#e8d5b7","#b8d4e3","#d4e3b8","#e3c4d4","#d4d4e3","#e3d4b8","#b8e3d4","#e3b8b8"];var x;for(const t of e){let e=t.x,n=t.y;y&&(e+=p,n+=v);const i=o(t);let l=i.fill||"#4d430c";r.colorByDepth&&void 0!==t.depth&&(l=b[t.depth%b.length]);const c={fill:l,stroke:i.stroke||"#fff",strokeWidth:null!==(a=i.strokeWidth)&&void 0!==a?a:1,opacity:i.opacity};d.push({type:"circle",cx:e,cy:n,r:m,style:c,datum:t,id:t.id,label:t.id,depth:t.depth})}const k=null!==(l=r.edgeOpacity)&&void 0!==l?l:.5;for(const e of t){const t="object"==typeof e.source?e.source:null,r="object"==typeof e.target?e.target:null;if(!t||!r)continue;let n=t.x,o=t.y,a=r.x,l=r.y;y&&(n+=p,o+=v,a+=p,l+=v);const u=et(n,o,a,l,g),d=i(e),f={fill:"none",stroke:d.stroke||"#999",strokeWidth:null!==(c=d.strokeWidth)&&void 0!==c?c:1.5,opacity:null!==(s=d.opacity)&&void 0!==s?s:k};h.push({type:"curved",pathD:u,style:f,datum:e})}if(!1!==r.showLabels){const t=rt(r.nodeLabel);for(const r of e){const e=t?t(r):r.id;if(!e)continue;let n,o,i,a=r.x,l=r.y;if(y&&(a+=p,l+=v),y){const e=a-p,t=l-v,r=Math.sqrt(e*e+t*t);r>0?(n=a+e/r*10,o=l+t/r*10,i=0>e?"end":"start"):(n=a,o=l-12,i="middle")}else"horizontal"===g?((null===(u=r.data)||void 0===u?void 0:u.children)&&0!==r.data.children.length?(n=a-m-6,i="end"):(n=a+m+6,i="start"),o=l):(n=a,o=l+m+14,i="middle");f.push({x:n,y:o,text:e+"",anchor:i,baseline:"middle",fontSize:11})}}return{sceneNodes:d,sceneEdges:h,labels:f}}(e,t,r,n,o,i);case"treemap":case"partition":return function(e,t,r,n){var o,i;const a=[],l=[],c=["#e8d5b7","#b8d4e3","#d4e3b8","#e3c4d4","#d4d4e3","#e3d4b8","#b8e3d4","#e3b8b8"];for(const r of e){const e=r.x1-r.x0,i=r.y1-r.y0;if(0>=e||0>=i)continue;const l=n(r);let s=l.fill||"#4d430c";t.colorByDepth&&void 0!==r.depth&&(s=c[r.depth%c.length]);const u={fill:s,stroke:l.stroke||"#fff",strokeWidth:null!==(o=l.strokeWidth)&&void 0!==o?o:1,opacity:l.opacity};a.push({type:"rect",x:r.x0,y:r.y0,w:e,h:i,style:u,datum:r,id:r.id,label:r.id,depth:r.depth})}if(!1!==t.showLabels){const r=rt(t.nodeLabel),o=t.labelMode||"leaf",a="partition"===t.chartType;for(const s of e){const e=s.x1-s.x0,u=s.y1-s.y0;if(0>=e||0>=u)continue;const d=!((null===(i=s.data)||void 0===i?void 0:i.children)&&s.data.children.length>0);if(!a){if("leaf"===o&&!d)continue;if("parent"===o&&d)continue}const h=r?r(s):s.id;if(!h)continue;if((d?30:40)>e||(d?16:14)>u)continue;let f=n(s).fill||"#4d430c";t.colorByDepth&&void 0!==s.depth&&(f=c[s.depth%c.length]);const g=Ke(f);l.push(d?{x:s.x0+e/2,y:s.y0+u/2,text:h+"",anchor:"middle",baseline:"middle",fontSize:Math.min(11,Math.max(8,Math.min(e,u)/6)),fill:g}:{x:s.x0+4,y:s.y0+12,text:h+"",anchor:"start",baseline:"auto",fontSize:11,fontWeight:600,fill:g})}}return{sceneNodes:a,sceneEdges:[],labels:l}}(e,r,0,o);case"circlepack":return function(e,t,r,n){var o,i,a,l,c;const s=[],u=[],d=["#e8d5b7","#b8d4e3","#d4e3b8","#e3c4d4","#d4d4e3","#e3d4b8","#b8e3d4","#e3b8b8"];for(const r of e){const e=null!==(o=r.__radius)&&void 0!==o?o:5;if(0>=e)continue;const l=n(r);let c=l.fill||"#4d430c";t.colorByDepth&&void 0!==r.depth&&(c=d[r.depth%d.length]);const u={fill:c,stroke:l.stroke||"#fff",strokeWidth:null!==(i=l.strokeWidth)&&void 0!==i?i:1,opacity:null!==(a=l.opacity)&&void 0!==a?a:.7};s.push({type:"circle",cx:r.x,cy:r.y,r:e,style:u,datum:r,id:r.id,label:r.id,depth:r.depth})}if(!1!==t.showLabels){const r=rt(t.nodeLabel);for(const o of e){const e=null!==(l=o.__radius)&&void 0!==l?l:5,i=r?r(o):o.id;if(!i)continue;if(15>e)continue;const a=!((null===(c=o.data)||void 0===c?void 0:c.children)&&o.data.children.length>0);let s=n(o).fill||"#4d430c";if(t.colorByDepth&&void 0!==o.depth&&(s=d[o.depth%d.length]),a){const t=Ke(s);u.push({x:o.x,y:o.y,text:i+"",anchor:"middle",baseline:"middle",fontSize:Math.min(11,Math.max(8,e/3)),fill:t})}else u.push({x:o.x,y:o.y-e+14,text:i+"",anchor:"middle",baseline:"hanging",fontSize:Math.min(11,Math.max(8,e/3)),fill:"#000",stroke:"#fff",strokeWidth:3,paintOrder:"stroke"})}}return{sceneNodes:s,sceneEdges:[],labels:u}}(e,r,0,o);default:return{sceneNodes:[],sceneEdges:[],labels:[]}}}};function Qe(e,t,r){const n=r.treeOrientation||"vertical";if("radial"===n){const r=t.x,n=t.y;e.x=n*Math.cos(r-Math.PI/2),e.y=n*Math.sin(r-Math.PI/2)}else"horizontal"===n?(e.x=t.y,e.y=t.x):(e.x=t.x,e.y=t.y);e.x0=e.x-5,e.x1=e.x+5,e.y0=e.y-5,e.y1=e.y+5,e.width=10,e.height=10}function Ue(e,t){e.x0=t.x0,e.x1=t.x1,e.y0=t.y0,e.y1=t.y1,e.x=(t.x0+t.x1)/2,e.y=(t.y0+t.y1)/2,e.width=t.x1-t.x0,e.height=t.y1-t.y0}function Je(e,t){var r;const n=null!==(r=t.r)&&void 0!==r?r:0;e.x=t.x,e.y=t.y,e.x0=t.x-n,e.x1=t.x+n,e.y0=t.y-n,e.y1=t.y+n,e.width=2*n,e.height=2*n,e.__radius=n}function et(e,t,r,n,o){if("horizontal"===o){const o=(e+r)/2;return`M ${e},${t} C ${o},${t} ${o},${n} ${r},${n}`}if("radial"===o){const o=(e+r)/2;return`M ${e},${t} Q ${o},${t} ${o},${(t+n)/2} T ${r},${n}`}{const o=(t+n)/2;return`M ${e},${t} C ${e},${o} ${r},${o} ${r},${n}`}}function tt(e,t,r){const n=t.nodeIDAccessor;return"function"==typeof n?n(e.data)+"":"string"==typeof n&&void 0!==e.data[n]?e.data[n]+"":void 0!==e.data.name?e.data.name+"":void 0!==e.data.id?e.data.id+"":"node-"+r}function rt(e){return e?"function"==typeof e?e:t=>{var r;return(null===(r=t.data)||void 0===r?void 0:r[e])||t[e]||t.id}:null}function nt(e){const t=e;return t.__orbitState||(t.__orbitState={metaMap:new Map,startTime:"undefined"!=typeof performance?performance.now():Date.now()}),t.__orbitState}const ot={sankey:Re,force:He,chord:qe,tree:Ze,cluster:Ze,treemap:Ze,circlepack:Ze,partition:Ze,orbit:{supportsStreaming:!1,hierarchical:!0,supportsAnimation:!0,computeLayout(e,t,r,n){const o=r.__hierarchyRoot;o&&function(e,t,r,n,o){var i,a;const l=function(e){if("function"==typeof e)return e;const t=e||"children";return e=>e[t]||null}(r.childrenAccessor),c=function(e){if("function"==typeof e)return e;const t=e||"name";return e=>{var r;return(null!==(r=e[t])&&void 0!==r?r:"")+""}}(r.nodeIDAccessor),s=function(e){if(Array.isArray(e))return e;switch(e){case"solar":return[1];case"atomic":return[2,8];default:return[9999]}}(r.orbitMode),u=null!==(i=r.orbitSize)&&void 0!==i?i:2.95,d=null!==(a=r.orbitEccentricity)&&void 0!==a?a:1,h="number"==typeof u?()=>u:u,f="number"==typeof d?()=>d:d,g=nt(r);g.metaMap.clear(),n.length=0,o.length=0;const y=new Map;function p(e){var t;const r=null!==(t=y.get(e))&&void 0!==t?t:0;return y.set(e,r+1),0===r?e:`${e}__${r}`}const v=t[0]/2,m=t[1]/2,b=Math.min(t[0],t[1])/2*.85,x=p(c(e));n.push({id:x,x:v,y:m,x0:v,x1:v,y0:m,y1:m,width:0,height:0,value:0,depth:0,data:e}),g.metaMap.set(x,{ring:b,angle:0,depth:0,parentId:null,eccentricity:1}),function e(t,r,i,a,u,d,y){const v=l(t);if(!(null==v?void 0:v.length))return;const m=v.length;let b=0,x=0,k=0;for(;m>x;)x+=s[Math.min(k,s.length-1)],k++,b++;let w=0;for(let m=0;b>m;m++){const x=s[Math.min(m,s.length-1)],k=v.slice(w,w+x);if(!k.length)break;const E=(m+1)/b,A={id:r,depth:d,data:t,parentId:r},L=y?u/h(A)*E:u*E,S=z().value(e=>{var t;return(null===(t=l(e))||void 0===t?void 0:t.length)?4:1}).sort(null),D=S(k),P=f(A);for(let t=0;k.length>t;t++){const l=(D[t].startAngle+D[t].endAngle)/2,s=k[t],u=p(c(s)),h=i+L*Math.sin(l),f=a+L*Math.cos(l)*P;n.push({id:u,x:h,y:f,x0:h,x1:h,y0:f,y1:f,width:0,height:0,value:0,depth:d,data:s}),g.metaMap.set(u,{ring:L,angle:l,depth:d,parentId:r,eccentricity:P}),o.push({source:r,target:u,value:1,y0:0,y1:0,sankeyWidth:0,data:{source:r,target:u}}),e(s,u,h,f,L,d+1,!0)}w+=x}}(e,x,v,m,b,1,!1)}(o,n,r,e,t)},buildScene(e,t,r,n){var o,i,a,l,c;const s=r.nodeStyle,u=r.nodeSize,d="number"==typeof u?()=>u:"function"==typeof u?u:()=>6,h=[],f=[],g=[];if(!1!==r.orbitShowRings){const t=nt(r),n=new Map;for(const t of e)n.set(t.id,t);const o=new Map;for(const[,e]of t.metaMap){if(!e.parentId)continue;const t=n.get(e.parentId);if(!t)continue;const r=`${e.parentId}:${e.ring}`;o.has(r)||o.set(r,{parentX:t.x,parentY:t.y,ring:e.ring,ecc:e.eccentricity})}const i=48,a={stroke:"rgba(128,128,128,0.35)",strokeWidth:.5,opacity:1};for(const[,{parentX:e,parentY:t,ring:r,ecc:n}]of o)for(let o=0;i>o;o++){const l=o/i*Math.PI*2,c=(o+1)/i*Math.PI*2;f.push({type:"line",x1:e+r*Math.sin(l),y1:t+r*Math.cos(l)*n,x2:e+r*Math.sin(c),y2:t+r*Math.cos(c)*n,style:a,datum:null})}}for(const t of e){if(null==t.x||null==t.y)continue;const e=d(t),r=s?s(t):{},n={fill:r.fill||"#6366f1",stroke:r.stroke||"#fff",strokeWidth:null!==(o=r.strokeWidth)&&void 0!==o?o:1,opacity:null!==(i=r.opacity)&&void 0!==i?i:0===(null!==(a=t.depth)&&void 0!==a?a:0)?1:.85};h.push({type:"circle",cx:t.x,cy:t.y,r:e,style:n,datum:t,id:t.id,label:t.id,depth:t.depth})}const y=new Map;for(const t of e)y.set(t.id,t);for(const e of t){const t="object"==typeof e.source?e.source:y.get(e.source),r="object"==typeof e.target?e.target:y.get(e.target);t&&r&&(null!=t.x&&null!=r.x&&f.push({type:"line",x1:t.x,y1:t.y,x2:r.x,y2:r.y,style:{stroke:"rgba(128,128,128,0.35)",strokeWidth:.5,opacity:1},datum:e}))}if(r.showLabels){const t=r.nodeLabel;for(const r of e){const e=d(r);if(4>=e)continue;const n="function"==typeof t?t(r):t&&null!==(c=null===(l=r.data)||void 0===l?void 0:l[t])&&void 0!==c?c:r.id;g.push({x:r.x,y:r.y+e+12,text:n+"",anchor:"middle",fontSize:10,fill:"currentColor"})}}return{sceneNodes:h,sceneEdges:f,labels:g}},tick:(e,t,r,n,o)=>!1!==r.orbitAnimated&&(function(e,t){var r,n;const o=nt(t),i=null!==(r=t.orbitSpeed)&&void 0!==r?r:.25,a=null!==(n=t.orbitRevolution)&&void 0!==n?n:function(e){switch(e){case"decay":return e=>{var t;return Math.pow(.6,null!==(t=e.depth)&&void 0!==t?t:0)};case"alternate":return e=>{var t;const r=null!==(t=e.depth)&&void 0!==t?t:0;return(r%2==0?1:-1)/(r+1)};default:return e=>{var t;return 1/((null!==(t=e.depth)&&void 0!==t?t:0)+1)}}}(t.orbitRevolutionStyle),l=(("undefined"!=typeof performance?performance.now():Date.now())-o.startTime)/1e3,c=i*(Math.PI/6),s=new Map;for(const t of e)s.set(t.id,t);for(const t of e){const e=o.metaMap.get(t.id);if(!e||!e.parentId)continue;const r=s.get(e.parentId);if(!r)continue;const n=e.angle+l*c*a({id:t.id,depth:e.depth,data:t.data,parentId:e.parentId});t.x=r.x+e.ring*Math.sin(n),t.y=r.y+e.ring*Math.cos(n)*e.eccentricity,t.x0=t.x,t.x1=t.x,t.y0=t.y,t.y1=t.y}}(e,r),!0)}};function it(e){return ot[e]}function at(e,t,r){return e+(t-e)*r}class lt{constructor(e){this.nodes=new Map,this.edges=new Map,this.tension=0,this.layoutVersion=0,this.sceneNodes=[],this.sceneEdges=[],this.labels=[],this.particlePool=null,this.transition=null,this.lastIngestTime=0,this.nodeTimestamps=new Map,this.edgeTimestamps=new Map,this._decaySortedNodes=null,this.addedNodes=new Set,this.removedNodes=new Set,this.addedEdges=new Set,this.removedEdges=new Set,this.lastTopologyChangeTime=0,this.previousNodeIds=new Set,this.previousEdgeKeys=new Set,this._lastPositionSnapshot=null,this.config=e,this.tensionConfig=Object.assign(Object.assign({},V),e.tensionConfig),"sankey"===e.chartType&&e.showParticles&&(this.particlePool=new Z(2e3))}updateConfig(e){const t=this.config,r=e;t.__orbitState&&(r.__orbitState=t.__orbitState),t.__hierarchyRoot&&(r.__hierarchyRoot=t.__hierarchyRoot),this.config=e,this.tensionConfig=Object.assign(Object.assign({},V),e.tensionConfig),"sankey"===e.chartType&&e.showParticles&&!this.particlePool&&(this.particlePool=new Z(2e3))}ingestHierarchy(e,t){this.nodes.clear(),this.edges.clear(),this._decaySortedNodes=null,this.config.__hierarchyRoot=e,this.runLayout(t)}ingestBounded(e,t,r){const{nodeIDAccessor:n="id",sourceAccessor:o="source",targetAccessor:i="target",valueAccessor:a="value"}=this.config,l="function"==typeof n?n:e=>e[n],c="function"==typeof o?o:e=>e[o],s="function"==typeof i?i:e=>e[i],u="function"==typeof a?a:e=>{var t;return null!==(t=e[a])&&void 0!==t?t:1};this.nodes.clear(),this.edges.clear(),this._decaySortedNodes=null;for(const t of e){const e=l(t)+"";this.nodes.set(e,Object.assign(Object.assign({},ct(e)),{data:t}))}for(const e of t){const t=c(e)+"",r=s(e)+"",n=Number(u(e))||1;this.nodes.has(t)||this.nodes.set(t,Object.assign(Object.assign({},ct(t)),{data:e})),this.nodes.has(r)||this.nodes.set(r,Object.assign(Object.assign({},ct(r)),{data:e})),this.edges.set(`${t}\0${r}`,{source:t,target:r,value:n,y0:0,y1:0,sankeyWidth:0,data:e})}this.runLayout(r)}edgeKey(e,t){return`${e}\0${t}`}ingestEdge(e){const{source:t,target:r,value:n}=e,o=0===this.nodes.size;let i=!1;const a="undefined"!=typeof performance?performance.now():Date.now();this.lastIngestTime=a,this._decaySortedNodes=null,this.nodes.has(t)||(this.nodes.set(t,ct(t)),this.nodeTimestamps.set(t,a),this.tension+=this.tensionConfig.newNode,i=!0),this.nodes.has(r)||(this.nodes.set(r,ct(r)),this.nodeTimestamps.set(r,a),this.tension+=this.tensionConfig.newNode,i=!0);const l=this.edgeKey(t,r),c=this.edges.get(l);return c?(c.value+=n,this.edgeTimestamps.set(l,a),this.tension+=this.tensionConfig.weightChange):(this.edges.set(l,{source:t,target:r,value:n,y0:0,y1:0,sankeyWidth:0}),this.edgeTimestamps.set(l,a),this.tension+=this.tensionConfig.newEdge,i=!0),o||i||this.tension>=this.tensionConfig.threshold}runLayout(e){var t,r,n,o,i,a;const l=it(this.config.chartType);if(!l)return;let c=Array.from(this.nodes.values()),s=Array.from(this.edges.values());if(0===c.length&&!l.hierarchical)return;if(this.prepareForRelayout(),l.supportsStreaming&&!l.hierarchical){const e=new Map;for(const l of c)if(void 0!==l._prevX0){const c=(null!==(t=l._prevX1)&&void 0!==t?t:0)-(null!==(r=l._prevX0)&&void 0!==r?r:0),s=(null!==(n=l._prevY1)&&void 0!==n?n:0)-(null!==(o=l._prevY0)&&void 0!==o?o:0);e.set(l.id,{x:(null!==(i=l._prevX0)&&void 0!==i?i:0)+c/2,y:(null!==(a=l._prevY0)&&void 0!==a?a:0)+s/2})}else 0===l.x&&0===l.y||e.set(l.id,{x:l.x,y:l.y});if(this._lastPositionSnapshot)for(const[t,r]of this._lastPositionSnapshot)e.has(t)||e.set(t,r);this.config.__previousPositions=e.size>0?e:void 0}if(l.computeLayout(c,s,this.config,e),delete this.config.__previousPositions,l.hierarchical&&c.length>0){this.nodes.clear(),this.edges.clear(),this._decaySortedNodes=null;for(const e of c)this.nodes.set(e.id,e);for(const e of s)this.edges.set(`${"string"==typeof e.source?e.source:e.source.id}\0${"string"==typeof e.target?e.target:e.target.id}`,e)}this.finalizeLayout();const u=new Map;for(const e of this.nodes.values())0===e.x&&0===e.y||u.set(e.id,{x:e.x,y:e.y});this._lastPositionSnapshot=u,this.saveTargetPositions(),c.some(e=>void 0!==e._prevX0&&(0!==e._prevX0||0!==e._prevX1||0!==e._prevY0||0!==e._prevY1))&&this.tensionConfig.transitionDuration>0&&(this.restorePreviousPositions(),this.transition={startTime:performance.now(),duration:this.tensionConfig.transitionDuration});const d=new Set(this.nodes.keys()),h=new Set(this.edges.keys());this.addedNodes=new Set,this.removedNodes=new Set,this.addedEdges=new Set,this.removedEdges=new Set;for(const e of d)this.previousNodeIds.has(e)||this.addedNodes.add(e);for(const e of this.previousNodeIds)d.has(e)||this.removedNodes.add(e);for(const e of h)this.previousEdgeKeys.has(e)||this.addedEdges.add(e);for(const e of this.previousEdgeKeys)h.has(e)||this.removedEdges.add(e);(this.addedNodes.size>0||this.removedNodes.size>0||this.addedEdges.size>0||this.removedEdges.size>0)&&(this.lastTopologyChangeTime="undefined"!=typeof performance?performance.now():Date.now()),this.previousNodeIds=d,this.previousEdgeKeys=h,this.layoutVersion++}buildScene(e){const t=it(this.config.chartType);if(!t)return;const r=Array.from(this.nodes.values()),n=Array.from(this.edges.values()),{sceneNodes:o,sceneEdges:i,labels:a}=t.buildScene(r,n,this.config,e);this.sceneNodes=o,this.sceneEdges=i,this.labels=a}get isAnimating(){const e=it(this.config.chartType);return!!(null==e?void 0:e.supportsAnimation)&&!1!==this.config.orbitAnimated}tickAnimation(e,t){const r=it(this.config.chartType);if(!(null==r?void 0:r.tick))return!1;const n=Array.from(this.nodes.values()),o=Array.from(this.edges.values());return r.tick(n,o,this.config,e,t)}advanceTransition(e){if(!this.transition)return!1;const t=function(e,t){return Math.min((e-t.startTime)/t.duration,1)}(e,this.transition),r=function(e,t="ease-out-cubic"){return"linear"===t?e:1-Math.pow(1-e,3)}(t);for(const e of this.nodes.values())void 0===e._targetX0||void 0===e._prevX0||0===e._prevX0&&0===e._prevX1||(e.x0=at(e._prevX0,e._targetX0,r),e.x1=at(e._prevX1,e._targetX1,r),e.y0=at(e._prevY0,e._targetY0,r),e.y1=at(e._prevY1,e._targetY1,r));for(const e of this.edges.values())void 0!==e._targetY0&&void 0!==e._prevY0&&void 0!==e._prevSankeyWidth&&e._prevSankeyWidth>0&&(e.y0=at(e._prevY0,e._targetY0,r),e.y1=at(e._prevY1,e._targetY1,r),e.sankeyWidth=at(e._prevSankeyWidth,e._targetSankeyWidth,r));return this.rebuildAllBeziers(),1>t||(this.snapToTargets(),this.transition=null,!1)}prepareForRelayout(){for(const e of this.nodes.values())e._prevX0=e.x0,e._prevX1=e.x1,e._prevY0=e.y0,e._prevY1=e.y1;for(const e of this.edges.values())e._prevY0=e.y0,e._prevY1=e.y1,e._prevSankeyWidth=e.sankeyWidth}finalizeLayout(){const e="vertical"===this.config.orientation?"down":"right";for(const e of this.nodes.values())if(0!==e.x0||0!==e.x1||0!==e.y0||0!==e.y1)e.width=e.x1-e.x0,e.height=e.y1-e.y0,e.x=e.x0+e.width/2,e.y=e.y0+e.height/2;else{const t=5;e.x0=e.x-t,e.x1=e.x+t,e.y0=e.y-t,e.y1=e.y+t,e.width=2*t,e.height=2*t}for(const t of this.edges.values())t.direction=e,this.updateEdgeBezier(t);this.tension=0}saveTargetPositions(){for(const e of this.nodes.values())e._targetX0=e.x0,e._targetX1=e.x1,e._targetY0=e.y0,e._targetY1=e.y1;for(const e of this.edges.values())e._targetY0=e.y0,e._targetY1=e.y1,e._targetSankeyWidth=e.sankeyWidth}restorePreviousPositions(){for(const e of this.nodes.values())void 0===e._prevX0||0===e._prevX0&&0===e._prevX1||(e.x0=e._prevX0,e.x1=e._prevX1,e.y0=e._prevY0,e.y1=e._prevY1);for(const e of this.edges.values())void 0!==e._prevY0&&void 0!==e._prevSankeyWidth&&e._prevSankeyWidth>0&&(e.y0=e._prevY0,e.y1=e._prevY1,e.sankeyWidth=e._prevSankeyWidth);this.rebuildAllBeziers()}snapToTargets(){for(const e of this.nodes.values())void 0!==e._targetX0&&(e.x0=e._targetX0,e.x1=e._targetX1,e.y0=e._targetY0,e.y1=e._targetY1);for(const e of this.edges.values())void 0!==e._targetY0&&(e.y0=e._targetY0,e.y1=e._targetY1,e.sankeyWidth=e._targetSankeyWidth);this.rebuildAllBeziers()}updateEdgeBezier(e){const t="string"==typeof e.source?this.nodes.get(e.source):e.source,r="string"==typeof e.target?this.nodes.get(e.target):e.target;t&&r&&(e.bezier=e.circular&&e.circularPathData?this.buildCircularBezier(e):this.buildStandardBezier(e,t,r))}buildStandardBezier(e,t,r){const n=(e.sankeyWidth||1)/2;if("down"===e.direction){const o=t.y1,i=r.y0,a=h(o,i);return{circular:!1,points:[{x:e.y0,y:o},{x:e.y0,y:a(.5)},{x:e.y1,y:a(.5)},{x:e.y1,y:i}],halfWidth:n}}const o=t.x1,i=r.x0,a=h(o,i);return{circular:!1,points:[{x:o,y:e.y0},{x:a(.5),y:e.y0},{x:a(.5),y:e.y1},{x:i,y:e.y1}],halfWidth:n}}buildCircularBezier(e){const t=(e._circularWidth||e.sankeyWidth||1)/2,r=e.circularPathData;if(e._circularStub){const e=Math.max(15,Math.min(40,.33*(r.rightFullExtent-r.sourceX))),n=Math.max(15,Math.min(40,.33*(r.targetX-r.leftFullExtent)));return{circular:!0,segments:[[{x:r.sourceX,y:r.sourceY},{x:r.sourceX+.33*e,y:r.sourceY},{x:r.sourceX+.66*e,y:r.sourceY},{x:r.sourceX+e,y:r.sourceY}],[{x:r.targetX-n,y:r.targetY},{x:r.targetX-.66*n,y:r.targetY},{x:r.targetX-.33*n,y:r.targetY},{x:r.targetX,y:r.targetY}]],halfWidth:t}}let n;n="down"===e.direction?[{x:r.sourceY,y:r.sourceX},{x:r.sourceY,y:r.rightFullExtent},{x:r.verticalFullExtent,y:r.rightFullExtent},{x:r.verticalFullExtent,y:r.leftFullExtent},{x:r.targetY,y:r.leftFullExtent},{x:r.targetY,y:r.targetX}]:[{x:r.sourceX,y:r.sourceY},{x:r.rightFullExtent,y:r.sourceY},{x:r.rightFullExtent,y:r.verticalFullExtent},{x:r.leftFullExtent,y:r.verticalFullExtent},{x:r.leftFullExtent,y:r.targetY},{x:r.targetX,y:r.targetY}];const o=[];for(let e=0;n.length-1>e;e++){const t=n[e],r=n[e+1],i=r.x-t.x,a=r.y-t.y;o.push([t,{x:t.x+i/3,y:t.y+a/3},{x:t.x+2*i/3,y:t.y+2*a/3},r])}return{circular:!0,segments:o,halfWidth:t}}rebuildAllBeziers(){for(const e of this.nodes.values())e.width=e.x1-e.x0,e.height=e.y1-e.y0,e.x=e.x0+e.width/2,e.y=e.y0+e.height/2;for(const e of this.edges.values())this.updateEdgeBezier(e)}applyPulse(e){var t,r,n,o,i;const a=this.config.pulse;if(!a)return;const l=null!==(t=a.duration)&&void 0!==t?t:500,c=null!==(r=a.color)&&void 0!==r?r:"rgba(255,255,255,0.6)",s=null!==(n=a.glowRadius)&&void 0!==n?n:4;for(const t of this.sceneNodes){const r=t.id;if(!r)continue;const n=this.nodeTimestamps.get(r);if(!n)continue;const o=e-n;l>o&&(t._pulseIntensity=1-o/l,t._pulseColor=c,t._pulseGlowRadius=s)}for(const t of this.sceneEdges){const r=t.datum;if(!r)continue;const n="object"==typeof r.source?null===(o=r.source)||void 0===o?void 0:o.id:r.source,a="object"==typeof r.target?null===(i=r.target)||void 0===i?void 0:i.id:r.target;if(!n||!a)continue;const s=this.edgeTimestamps.get(`${n}\0${a}`);if(!s)continue;const u=e-s;l>u&&(t._pulseIntensity=1-u/l,t._pulseColor=c)}}applyDecay(){var e,t,r,n,o;const i=this.config.decay;if(!i)return;const a=null!==(e=i.minOpacity)&&void 0!==e?e:.1,l=this.nodeTimestamps.size;if(1>=l)return;this._decaySortedNodes||(this._decaySortedNodes=Array.from(this.nodeTimestamps.entries()).sort((e,t)=>e[1]-t[1]));const c=this._decaySortedNodes,s=new Map;for(let e=0;c.length>e;e++)s.set(c[e][0],e);for(const e of this.sceneNodes){const c=e.id;if(!c)continue;const u=s.get(c);if(void 0===u)continue;const d=l-1-u;let h;switch(i.type){case"linear":h=a+(1-d/(l-1))*(1-a);break;case"exponential":{const e=null!==(t=i.halfLife)&&void 0!==t?t:l/2;h=a+Math.pow(.5,d/e)*(1-a);break}case"step":h=(null!==(r=i.stepThreshold)&&void 0!==r?r:.5*l)>d?1:a;break;default:h=1}const f=null!==(o=null===(n=e.style)||void 0===n?void 0:n.opacity)&&void 0!==o?o:1;e.style=Object.assign(Object.assign({},e.style),{opacity:f*h})}}applyTopologyDiff(e){var t;if(0===this.addedNodes.size)return;const r=e-this.lastTopologyChangeTime;if(r>=2e3)return;const n=1-r/2e3;for(const e of this.sceneNodes){const r=e.id;r&&this.addedNodes.has(r)&&(e._pulseIntensity=Math.max(null!==(t=e._pulseIntensity)&&void 0!==t?t:0,n),e._pulseColor="rgba(34, 197, 94, 0.7)",e._pulseGlowRadius=8)}}get hasActiveTopologyDiff(){return 0!==this.addedNodes.size&&2e3>("undefined"!=typeof performance?performance.now():Date.now())-this.lastTopologyChangeTime}applyThresholds(e){var t,r;const n=this.config.thresholds;if(!n)return;const o=null!==(t=n.warningColor)&&void 0!==t?t:"#f59e0b",i=null!==(r=n.criticalColor)&&void 0!==r?r:"#ef4444",a=!1!==n.pulse;for(const t of this.sceneNodes){const r=t.id;if(!r)continue;const l=this.nodes.get(r);if(!l)continue;const c=n.metric(l);let s=null;void 0===n.critical||n.critical>c?void 0===n.warning||n.warning>c||(s=o):s=i,s&&(t.style=Object.assign(Object.assign({},t.style),{fill:s}),a&&(t._pulseIntensity=.6+.4*Math.sin(e/300),t._pulseColor=s,t._pulseGlowRadius=6))}}get hasActiveThresholds(){const e=this.config.thresholds;if(!e)return!1;for(const t of this.nodes.values()){const r=e.metric(t);if(void 0!==e.warning&&r>=e.warning||void 0!==e.critical&&r>=e.critical)return!0}return!1}get hasActivePulses(){var e;const t=this.config.pulse;if(!t||0===this.lastIngestTime)return!1;const r="undefined"!=typeof performance?performance.now():Date.now();return(null!==(e=t.duration)&&void 0!==e?e:500)>r-this.lastIngestTime}getLayoutData(){return{nodes:Array.from(this.nodes.values()),edges:Array.from(this.edges.values())}}clear(){this.nodes.clear(),this.edges.clear(),this._decaySortedNodes=null,this.tension=0,this.layoutVersion=0,this.sceneNodes=[],this.sceneEdges=[],this.labels=[],this.transition=null,this.lastIngestTime=0,this._lastPositionSnapshot=null,this.nodeTimestamps.clear(),this.edgeTimestamps.clear(),this.particlePool&&this.particlePool.clear()}}function ct(e){return{id:e,x0:0,x1:0,y0:0,y1:0,x:0,y:0,width:0,height:0,value:0,createdByFrame:!0}}function st(e){let t=e%(2*Math.PI);return 0>t&&(t+=2*Math.PI),t}function ut(e,t,r,n,o=30){let i=null,a=o,l=1/0;for(const t of e){const e=dt(t,r,n);if(e)if("rect"===t.type){const r=t.w*t.h;l>r&&(i=e,l=r)}else a>e.distance&&(i=e,a=e.distance)}if(i)return i;for(const e of t){const t=yt(e,r,n);t&&a>t.distance&&(i=t,a=t.distance)}return i}function dt(e,t,r){switch(e.type){case"circle":return function(e,t,r){const n=t-e.cx,o=r-e.cy,i=Math.sqrt(n*n+o*o);return i>Math.max(e.r,5)+5?null:{type:"node",datum:e.datum,x:e.cx,y:e.cy,distance:i}}(e,t,r);case"rect":return function(e,t,r){const n=function(e,t,r){return r.x>e||e>r.x+r.w||r.y>t||t>r.y+r.h?{hit:!1,cx:0,cy:0}:{hit:!0,cx:r.x+r.w/2,cy:r.y+r.h/2}}(t,r,e);return n.hit?{type:"node",datum:e.datum,x:n.cx,y:n.cy,distance:0}:null}(e,t,r);case"arc":return function(e,t,r){const n=t-e.cx,o=r-e.cy,i=Math.sqrt(n*n+o*o);if(e.innerR-2>i||i>e.outerR+2)return null;const a=st(Math.atan2(o,n)),l=st(e.startAngle),c=st(e.endAngle);if(l>c?a>=l||c>=a:a>=l&&c>=a){const t=(e.startAngle+e.endAngle)/2,r=(e.innerR+e.outerR)/2;return{type:"node",datum:e.datum,x:e.cx+r*Math.cos(t),y:e.cy+r*Math.sin(t),distance:0}}return null}(e,t,r);default:return null}}let ht=null,ft=null;function gt(){return ft||(ht=document.createElement("canvas"),ht.width=1,ht.height=1,ft=ht.getContext("2d")),ft}function yt(e,t,r){switch(e.type){case"bezier":return function(e,t,r){var n,o;if(!e.pathD)return null;try{const i=new Path2D(e.pathD),a=gt();if(!a)return null;if(a.isPointInPath(i,t,r)){const i="object"==typeof(null===(n=e.datum)||void 0===n?void 0:n.source)?e.datum.source:null,a="object"==typeof(null===(o=e.datum)||void 0===o?void 0:o.target)?e.datum.target:null;return{type:"edge",datum:e.datum,x:i&&a?(i.x1+a.x0)/2:t,y:e.datum?(e.datum.y0+e.datum.y1)/2:r,distance:0}}const l=a.lineWidth;a.lineWidth=10;const c=a.isPointInStroke(i,t,r);if(a.lineWidth=l,c)return{type:"edge",datum:e.datum,x:t,y:r,distance:4}}catch(e){}return null}(e,t,r);case"line":return function(e,t,r){const n=e.x2-e.x1,o=e.y2-e.y1,i=n*n+o*o;if(0===i)return null;let a=((t-e.x1)*n+(r-e.y1)*o)/i;a=Math.max(0,Math.min(1,a));const l=e.x1+a*n,c=e.y1+a*o,s=Math.sqrt(Math.pow(t-l,2)+Math.pow(r-c,2));return s>5?null:{type:"edge",datum:e.datum,x:l,y:c,distance:s}}(e,t,r);case"ribbon":case"curved":return function(e,t,r){if(!e.pathD)return null;try{const n=new Path2D(e.pathD),o=gt();if(!o)return null;if(o.isPointInPath(n,t,r))return{type:"edge",datum:e.datum,x:t,y:r,distance:0};const i=o.lineWidth;o.lineWidth=10;const a=o.isPointInStroke(n,t,r);if(o.lineWidth=i,a)return{type:"edge",datum:e.datum,x:t,y:r,distance:4}}catch(e){}return null}(e,t,r);default:return null}}const pt={fill:t=>e.createElement("rect",{style:t,width:16,height:16}),line:t=>e.createElement("line",{style:t,x1:0,y1:0,x2:16,y2:16})};function vt(e,t,r,n){let o;return o="function"==typeof r?r(e):(0,pt[r])(n(e,t)),o}function mt(){return e.createElement("path",{d:"M4,8.8 L7.2,12 L12.8,4.8",fill:"none",stroke:"white",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})}function bt(e,t,r){return r&&r.size>0?r.has(e.label)?1:.3:null!=t?e.label===t?1:.3:1}function xt({config:t,orientation:r="vertical",width:n=100}){const{colorFn:o,domain:i,label:a,format:l}=t,c=l||(e=>Math.round(100*e)/100+""),s="grad-legend-"+e.useId();if("horizontal"===r){const t=12,r=Math.min(n,200),l=Math.max(0,(n-r)/2),u=[];for(let t=0;64>=t;t++){const r=t/64;u.push(e.createElement("stop",{key:t,offset:100*r+"%",stopColor:o(i[0]+r*(i[1]-i[0]))}))}return e.createElement("g",{"aria-label":a||"Gradient legend"},e.createElement("defs",null,e.createElement("linearGradient",{id:s,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},u)),a&&e.createElement("text",{x:l+r/2,y:-4,textAnchor:"middle",fontSize:11,fill:"var(--semiotic-text, #333)"},a),e.createElement("rect",{x:l,y:0,width:r,height:t,fill:`url(#${s})`,rx:2}),e.createElement("text",{x:l,y:t+12,textAnchor:"start",fontSize:10,fill:"var(--semiotic-text-secondary, #666)"},c(i[0])),e.createElement("text",{x:l+r,y:t+12,textAnchor:"end",fontSize:10,fill:"var(--semiotic-text-secondary, #666)"},c(i[1])))}const u=[];for(let t=0;64>=t;t++){const r=t/64;u.push(e.createElement("stop",{key:t,offset:100*r+"%",stopColor:o(i[1]-r*(i[1]-i[0]))}))}return e.createElement("g",{"aria-label":a||"Gradient legend"},a&&e.createElement("text",{x:7,y:-6,textAnchor:"middle",fontSize:11,fill:"var(--semiotic-text, #333)"},a),e.createElement("defs",null,e.createElement("linearGradient",{id:s,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},u)),e.createElement("rect",{x:0,y:0,width:14,height:100,fill:`url(#${s})`,rx:2}),e.createElement("text",{x:19,y:10,fontSize:10,fill:"var(--semiotic-text-secondary, #666)"},c(i[1])),e.createElement("text",{x:19,y:100,fontSize:10,fill:"var(--semiotic-text-secondary, #666)"},c(i[0])))}function kt(t){const{legendGroups:r,customClickBehavior:n,customHoverBehavior:o,highlightedCategory:i,isolatedCategories:a,legendInteraction:l,title:c="Legend",width:s=100,height:u=20,orientation:d="vertical"}=t,[h,f]=e.useState(0),[g,y]=e.useState(0),p=e.useCallback((e,t)=>{f(e),y(t)},[]),v="vertical"===d?(({legendGroups:t,width:r,customClickBehavior:n,customHoverBehavior:o,highlightedCategory:i,isolatedCategories:a,focusedGroupIndex:l,focusedItemIndex:c,onFocusedIndexChange:s,legendInteraction:u})=>{let d=24;const h=[];return t.forEach((t,f)=>{d+=5,h.push(e.createElement("line",{key:"legend-top-line legend-symbol-"+f,stroke:"gray",x1:0,y1:d,x2:r,y2:d})),d+=8,t.label&&(d+=16,h.push(e.createElement("text",{key:"legend-text-"+f,y:d,className:"legend-group-label",fontSize:12,fill:"var(--semiotic-text, #333)"},t.label)),d+=8),h.push(e.createElement("g",{key:"legend-group-"+f,className:"legend-item",transform:`translate(0,${d})`},((t,r,n,o,i,a,l,c,s,u)=>{const{type:d="fill",styleFn:h,items:f}=t,g=[];let y=0;const p=!(!r&&!n),v="isolate"===u||void 0===u&&null!=i;return f.forEach((t,u)=>{const m=vt(t,u,d,h),b=bt(t,o,i),x=i&&i.size>0&&i.has(t.label);g.push(e.createElement("g",{key:"legend-item-"+u,transform:`translate(0,${y})`,onClick:r?()=>r(t):void 0,onMouseEnter:n?()=>n(t):void 0,onMouseLeave:n?()=>n(null):void 0,tabIndex:p?c===a&&u===l?0:-1:void 0,role:p?"option":void 0,"aria-selected":p&&v?x||!1:void 0,"aria-current":p&&!v&&null!=o&&t.label===o||void 0,"aria-label":t.label,onKeyDown:p?e=>{var n;if("Enter"!==e.key&&" "!==e.key||(e.preventDefault(),r&&r(t)),"ArrowDown"===e.key||"ArrowUp"===e.key){e.preventDefault();const t=(u+("ArrowDown"===e.key?1:-1)+f.length)%f.length;s(c,t);const r=null===(n=e.currentTarget.parentElement)||void 0===n?void 0:n.children[t];r instanceof SVGElement&&r.focus()}}:void 0,onFocus:p?e=>{s(c,u),n&&n(t);const r=e.currentTarget.querySelector(".semiotic-legend-focus-ring");r&&r.setAttribute("visibility","visible")}:void 0,onBlur:p?e=>{n&&n(null);const t=e.currentTarget.querySelector(".semiotic-legend-focus-ring");t&&t.setAttribute("visibility","hidden")}:void 0,style:{cursor:p?"pointer":"default",opacity:b,transition:"opacity 150ms ease",pointerEvents:"all",outline:"none"}},p&&e.createElement("rect",{className:"semiotic-legend-focus-ring",x:-2,y:-2,width:24+7*t.label.length,height:20,fill:"none",stroke:"var(--semiotic-focus, #005fcc)",strokeWidth:2,rx:3,visibility:"hidden"}),m,x&&e.createElement(mt,null),e.createElement("text",{y:8,x:22,dominantBaseline:"central",fontSize:12,fill:"var(--semiotic-text, #333)"},t.label))),y+=22}),g})(t,n,o,i,a,l,c,f,s,u))),d+=22*t.items.length+8}),h})({legendGroups:r||[],width:s,customClickBehavior:n,customHoverBehavior:o,highlightedCategory:i,isolatedCategories:a,focusedGroupIndex:h,focusedItemIndex:g,onFocusedIndexChange:p,legendInteraction:l}):(({legendGroups:t,height:r,width:n,customClickBehavior:o,customHoverBehavior:i,highlightedCategory:a,isolatedCategories:l,focusedGroupIndex:c,focusedItemIndex:s,onFocusedIndexChange:u,legendInteraction:d})=>{let h=0;const f=[];t.forEach((t,r)=>{let n=0;t.label&&(n+=16);const g=((t,r,n,o,i,a,l,c,s,u)=>{const{type:d="fill",styleFn:h,items:f}=t,g=[];let y=0;const p=!(!r&&!n),v="isolate"===u||void 0===u&&null!=i;return f.forEach((t,u)=>{const m=vt(t,u,d,h),b=bt(t,o,i),x=i&&i.size>0&&i.has(t.label);g.push(e.createElement("g",{key:"legend-item-"+u,transform:`translate(${y},0)`,onClick:r?()=>r(t):void 0,onMouseEnter:n?()=>n(t):void 0,onMouseLeave:n?()=>n(null):void 0,tabIndex:p?c===a&&u===l?0:-1:void 0,role:p?"option":void 0,"aria-selected":p&&v?x||!1:void 0,"aria-current":p&&!v&&null!=o&&t.label===o||void 0,"aria-label":t.label,onKeyDown:p?e=>{var n;if("Enter"!==e.key&&" "!==e.key||(e.preventDefault(),r&&r(t)),"ArrowRight"===e.key||"ArrowLeft"===e.key){e.preventDefault();const t=(u+("ArrowRight"===e.key?1:-1)+f.length)%f.length;s(c,t);const r=null===(n=e.currentTarget.parentElement)||void 0===n?void 0:n.children[t];r instanceof SVGElement&&r.focus()}}:void 0,onFocus:p?e=>{s(c,u),n&&n(t);const r=e.currentTarget.querySelector(".semiotic-legend-focus-ring");r&&r.setAttribute("visibility","visible")}:void 0,onBlur:p?e=>{n&&n(null);const t=e.currentTarget.querySelector(".semiotic-legend-focus-ring");t&&t.setAttribute("visibility","hidden")}:void 0,style:{cursor:p?"pointer":"default",opacity:b,transition:"opacity 150ms ease",pointerEvents:"all",outline:"none"}},p&&e.createElement("rect",{className:"semiotic-legend-focus-ring",x:-2,y:-2,width:24+7*t.label.length,height:20,fill:"none",stroke:"var(--semiotic-focus, #005fcc)",strokeWidth:2,rx:3,visibility:"hidden"}),m,x&&e.createElement(mt,null),e.createElement("text",{y:8,x:22,dominantBaseline:"central",fontSize:12,fill:"var(--semiotic-text, #333)"},t.label))),y+=26+7*t.label.length}),{items:g,offset:y}})(t,o,i,a,l,c,s,r,u,d);n+=g.offset+5,f.push(Object.assign(Object.assign({label:t.label},g),{offset:n})),h+=n+12});let g=Math.max(0,(n-h)/2);const y=[];return f.forEach((n,o)=>{const i=t[o];i.label&&(y.push(e.createElement("text",{key:"legend-text-"+o,transform:`translate(${g},0) rotate(90)`,textAnchor:"start",className:"legend-group-label",fontSize:12,fill:"var(--semiotic-text, #333)"},i.label)),g+=16),y.push(e.createElement("g",{key:"legend-group-"+o,className:"legend-item",transform:`translate(${g},0)`},n.items)),g+=n.offset+5,t[o+1]&&y.push(e.createElement("line",{key:"legend-top-line legend-symbol-"+o,stroke:"gray",x1:g,y1:-8,x2:g,y2:r+0+8})),g+=12}),e.createElement("g",null,y)})({legendGroups:r||[],title:c,height:u,width:s,customClickBehavior:n,customHoverBehavior:o,highlightedCategory:i,isolatedCategories:a,focusedGroupIndex:h,focusedItemIndex:g,onFocusedIndexChange:p,legendInteraction:l}),m=!(!n&&!o);return e.createElement("g",{role:m?"listbox":void 0,"aria-multiselectable":!(!m||"isolate"!==l&&(void 0!==l||null==a))||void 0,"aria-label":"Chart legend"},void 0!==c&&""!==c&&"vertical"===d&&e.createElement("text",{className:"legend-title",y:16,x:s/2,textAnchor:"middle",fontSize:12,fill:"var(--semiotic-text, #333)"},c),v)}function wt(t){const{width:r,height:n,totalWidth:o,totalHeight:i,margin:a,labels:l,title:c,legend:s,legendHoverBehavior:u,legendClickBehavior:d,legendHighlightedCategory:h,legendIsolatedCategories:f,legendPosition:g="right",foregroundGraphics:y,sceneNodes:p,annotations:v,svgAnnotationRules:m}=t;return e.createElement(e.Fragment,null,e.createElement("svg",{role:"img",width:o,height:i,style:{position:"absolute",top:0,left:0,pointerEvents:"none"}},e.createElement("title",null,"string"==typeof c?c:"Network Chart"),e.createElement("desc",null,"string"==typeof c?c+" — network data visualization":"Network data visualization"),e.createElement("g",{transform:`translate(${a.left},${a.top})`},l.map((t,r)=>e.createElement("text",{key:"label-"+r,x:t.x,y:t.y,textAnchor:t.anchor||"start",dominantBaseline:t.baseline||"middle",fontSize:t.fontSize||11,fontWeight:t.fontWeight,fill:t.fill||"currentColor",stroke:t.stroke,strokeWidth:t.strokeWidth,paintOrder:t.paintOrder,style:{pointerEvents:"none"}},t.text)),v&&v.filter(e=>"widget"!==e.type).map((t,o)=>{if(m){const i=m(t,o,{width:r,height:n,sceneNodes:p});if(i)return e.createElement(e.Fragment,{key:"annotation-"+o},i)}return null}),y),c&&"string"==typeof c?e.createElement("text",{x:o/2,y:16,textAnchor:"middle",fontSize:14,fontWeight:600,fill:"currentColor"},c):c?e.createElement("foreignObject",{x:0,y:0,width:o,height:a.top},c):null,function(t){const{legend:r,totalWidth:n,totalHeight:o,margin:i,legendPosition:a="right",title:l,legendHoverBehavior:c,legendClickBehavior:s,legendHighlightedCategory:u,legendIsolatedCategories:d,legendInteraction:h}=t;if(!r)return null;const f="top"===a||"bottom"===a;let g,y;return"left"===a?(g=4,y=i.top):"top"===a?(g=0,y=l?32:8):"bottom"===a?(g=0,y=o-i.bottom+50):(g=n-i.right+10,y=i.top),e.createElement("g",{transform:`translate(${g}, ${y})`},function(e){return"object"==typeof e&&null!==e&&"gradient"in e}(r)?e.createElement(xt,{config:r.gradient,orientation:f?"horizontal":"vertical",width:f?n:100}):function(e){return"object"==typeof e&&null!==e&&"legendGroups"in e}(r)?e.createElement(kt,{legendGroups:r.legendGroups,title:"",width:f?n:100,orientation:f?"horizontal":"vertical",customHoverBehavior:c,customClickBehavior:s,highlightedCategory:u,isolatedCategories:d,legendInteraction:h}):r)}({legend:s,totalWidth:o,totalHeight:i,margin:a,legendPosition:g,title:c,legendHoverBehavior:u,legendClickBehavior:d,legendHighlightedCategory:h,legendIsolatedCategories:f})),null==v?void 0:v.filter(e=>"widget"===e.type&&e.nodeId&&p).map((t,r)=>{var n,o,i,l,c,s,u,d,h;const f=p.find(e=>{var r,n,o,i,a;return e.id===t.nodeId||(null===(r=e.datum)||void 0===r?void 0:r.id)===t.nodeId||(null===(o=null===(n=e.datum)||void 0===n?void 0:n.data)||void 0===o?void 0:o.id)===t.nodeId||(null===(a=null===(i=e.datum)||void 0===i?void 0:i.data)||void 0===a?void 0:a.name)===t.nodeId});if(!f)return null;const g=a.left+(null!==(n=f.cx)&&void 0!==n?n:null!=f.x&&null!=f.w?f.x+f.w/2:null!==(o=f.x)&&void 0!==o?o:0),y=a.top+(null!==(i=f.cy)&&void 0!==i?i:null!=f.y&&null!=f.h?f.y+f.h/2:null!==(l=f.y)&&void 0!==l?l:0),v=null!==(c=t.dx)&&void 0!==c?c:0,m=null!==(s=t.dy)&&void 0!==s?s:-16,b=null!==(u=t.width)&&void 0!==u?u:32,x=null!==(d=t.height)&&void 0!==d?d:32,k=null!==(h=t.content)&&void 0!==h?h:e.createElement("span",{style:{fontSize:18,cursor:"default"}},"ℹ️");return e.createElement("div",{key:"widget-"+r,style:{position:"absolute",left:g+v-b/2,top:y+m-x/2,width:b,height:x,display:"flex",alignItems:"center",justifyContent:"center",pointerEvents:"auto",zIndex:5}},k)}))}wt.displayName="NetworkSVGOverlay";const Et="undefined"==typeof window||"undefined"==typeof document,At={position:"absolute",width:1,height:1,overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap",border:0};function Lt(e,t,r){const n=[];return e>0&&n.push(e+" nodes"),t>0&&n.push(t+" edges"),0===n.length?r+", empty":`${r}, ${n.join(", ")}`}function St({nodes:t,chartType:r}){var n,o,i,a,l;const c=[];for(const e of t){if(c.length>=50)break;c.push({values:{id:(null===(n=e.datum)||void 0===n?void 0:n.id)||e.id||"",x:Math.round(100*(null!==(i=null!==(o=e.cx)&&void 0!==o?o:e.x)&&void 0!==i?i:0))/100+"",y:Math.round(100*(null!==(l=null!==(a=e.cy)&&void 0!==a?a:e.y)&&void 0!==l?l:0))/100+""}})}if(0===c.length)return null;const s=new Set;for(const e of c)for(const t of Object.keys(e.values))s.add(t);const u=Array.from(s);return e.createElement("table",{style:At,role:"table","aria-label":"Data table for "+r},e.createElement("thead",null,e.createElement("tr",null,u.map(t=>e.createElement("th",{key:t},t)))),e.createElement("tbody",null,c.map((t,r)=>e.createElement("tr",{key:r},u.map(r=>{var n;return e.createElement("td",{key:r},null!==(n=t.values[r])&&void 0!==n?n:"")}))),t.length>50&&e.createElement("tr",null,e.createElement("td",{colSpan:u.length},"...and ",t.length-50," more items"))))}function Dt({hoverPoint:t}){let r="";if(t){const e=t.data||t;r="object"==typeof e?"Focused on data point: "+Object.entries(e).filter(([,e])=>"object"!=typeof e&&"function"!=typeof e).map(([e,t])=>`${e}: ${t}`).join(", "):"Focused on data point: "+e}return e.createElement("div",{"aria-live":"polite","aria-atomic":"true",style:At},r)}function Pt(e){return!(!e._pulseIntensity||0>=e._pulseIntensity)}function Mt(e,t,r=.3){Pt(t)&&(e.globalAlpha=t._pulseIntensity*r,e.fillStyle=t._pulseColor||"rgba(255,255,255,0.6)",e.fillRect(t.x,t.y,t.w,t.h))}function It(e,t,r=.6){var n,o,i,a,l;if(!Pt(t))return;const c=null!==(n=t._pulseGlowRadius)&&void 0!==n?n:4,s=t.r+c*t._pulseIntensity,u=null!==(i=null!==(o=t.cx)&&void 0!==o?o:t.x)&&void 0!==i?i:0,d=null!==(l=null!==(a=t.cy)&&void 0!==a?a:t.y)&&void 0!==l?l:0;e.beginPath(),e.arc(u,d,s,0,2*Math.PI),e.strokeStyle=t._pulseColor||"rgba(255,255,255,0.6)",e.lineWidth=2*t._pulseIntensity,e.globalAlpha=t._pulseIntensity*r,e.stroke()}function Ct(e,t){var r,n,o,i,a,l;if(!t.pathD)return;e.save();const c=new Path2D(t.pathD);if(t.style.fill&&"none"!==t.style.fill){const a=t._gradient;if(a){const o=e.createLinearGradient(a.x0,0,a.x1,0),i=null!==(n=null!==(r=t.style.fillOpacity)&&void 0!==r?r:t.style.opacity)&&void 0!==n?n:.5,l=t.style.fill;o.addColorStop(0,1===a.from?l:"transparent"),o.addColorStop(1,1===a.to?l:"transparent"),e.fillStyle=o,e.globalAlpha=i}else e.fillStyle=t.style.fill,e.globalAlpha=null!==(i=null!==(o=t.style.fillOpacity)&&void 0!==o?o:t.style.opacity)&&void 0!==i?i:.5;e.fill(c)}t.style.stroke&&"none"!==t.style.stroke&&(e.strokeStyle=t.style.stroke,e.lineWidth=null!==(a=t.style.strokeWidth)&&void 0!==a?a:.5,e.globalAlpha=.5*(null!==(l=t.style.opacity)&&void 0!==l?l:1),e.stroke(c)),t._pulseIntensity&&t._pulseIntensity>0&&(e.fillStyle=t._pulseColor||"rgba(255,255,255,0.6)",e.globalAlpha=.2*t._pulseIntensity,e.fill(c)),e.restore()}function Nt(e,t){var r,n;e.save(),e.strokeStyle=t.style.stroke||"#999",e.lineWidth=null!==(r=t.style.strokeWidth)&&void 0!==r?r:1,void 0!==t.style.opacity&&(e.globalAlpha=t.style.opacity),t.style.strokeDasharray&&e.setLineDash(t.style.strokeDasharray.split(/[\s,]+/).map(Number)),e.beginPath(),e.moveTo(t.x1,t.y1),e.lineTo(t.x2,t.y2),e.stroke(),t._pulseIntensity&&t._pulseIntensity>0&&(e.setLineDash([]),e.strokeStyle=t._pulseColor||"rgba(255,255,255,0.6)",e.lineWidth=(null!==(n=t.style.strokeWidth)&&void 0!==n?n:1)+3*t._pulseIntensity,e.globalAlpha=.4*t._pulseIntensity,e.beginPath(),e.moveTo(t.x1,t.y1),e.lineTo(t.x2,t.y2),e.stroke()),e.restore()}function Ot(e,t){var r,n,o,i;if(!t.pathD)return;e.save();const a=new Path2D(t.pathD);t.style.fill&&"none"!==t.style.fill&&(e.fillStyle=t.style.fill,e.globalAlpha=null!==(n=null!==(r=t.style.fillOpacity)&&void 0!==r?r:t.style.opacity)&&void 0!==n?n:.5,e.fill(a)),t.style.stroke&&"none"!==t.style.stroke&&(e.strokeStyle=t.style.stroke,e.lineWidth=null!==(o=t.style.strokeWidth)&&void 0!==o?o:.5,e.globalAlpha=.3*(null!==(i=t.style.opacity)&&void 0!==i?i:1),e.stroke(a)),t._pulseIntensity&&t._pulseIntensity>0&&(e.fillStyle=t._pulseColor||"rgba(255,255,255,0.6)",e.globalAlpha=.25*t._pulseIntensity,e.fill(a)),e.restore()}function Tt(e,t){var r,n;if(!t.pathD)return;e.save();const o=new Path2D(t.pathD);e.strokeStyle=t.style.stroke||"#999",e.lineWidth=null!==(r=t.style.strokeWidth)&&void 0!==r?r:1,void 0!==t.style.opacity&&(e.globalAlpha=t.style.opacity),e.stroke(o),t.style.fill&&"none"!==t.style.fill&&(e.fillStyle=t.style.fill,e.globalAlpha=null!==(n=t.style.fillOpacity)&&void 0!==n?n:.1,e.fill(o)),e.restore()}const Wt={category10:b,tableau10:P,set3:D,blues:S,reds:L,greens:A,oranges:E,purples:w,viridis:k,plasma:x},_t=b,$t=["#f0f0f0","#b5d4ea","#f4c2a1","#b8dab2","#d4b5e0","#f9e0a2","#a8d8d8"],jt=new Set(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","transparent","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"]);function Bt(e,t,r){if("function"==typeof t){const n=t(e);return r&&n&&"string"==typeof n&&!function(e){const t=e.toLowerCase();return t.startsWith("#")||t.startsWith("rgb")||t.startsWith("hsl")||jt.has(t)}(n)?r(n):n}const n=e[t];return r?r(n):_t[Math.abs(function(e){let t=0;for(let r=0;e.length>r;r++)t=(t<<5)-t+e.charCodeAt(r),t&=t;return Math.abs(t)}(n+""))%_t.length]}function zt(e,t,r="category10"){const n=Array.from(new Set(e.map(e=>null==e?void 0:e[t]).filter(e=>null!=e))),o=n.every(e=>"number"==typeof e||!isNaN(Number(e)));if(Array.isArray(r))return _().domain(n).range(r).unknown("#999");const i=Wt[r]||Wt.category10;if(o&&"function"==typeof i){let e=-1/0;for(const t of n){const r=Number(t);r>e&&(e=r)}return t=>i(Number(t)/e)}{const e=Array.isArray(i)?i:_t;return _().domain(n).range(e).unknown("#999")}}function Rt(r){const n=o(null),s=Ht(r);return[function({children:t}){const o=i(()=>Ht(r),[]);return e.createElement(n.Provider,{value:o,children:t})},e=>{var r;const o=null!==(r=a(n))&&void 0!==r?r:s,i=t(e);i.current=e;const u=l(()=>i.current(o.getState()),[o]),d=l(()=>i.current(o.getState()),[o]);return c(o.subscribe,u,d)}]}function Ht(e){const t=new EventTarget;let r=e(function(e){r=Object.assign(Object.assign({},r),e(r)),t.dispatchEvent(new CustomEvent("update"))});return{getState:()=>r,subscribe:function(e){return t.addEventListener("update",e),()=>t.removeEventListener("update",e)}}}const Ft={mode:"light",colors:{primary:"#00a2ce",categorical:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],sequential:"blues",background:"transparent",text:"#333",textSecondary:"#666",grid:"#e0e0e0",border:"#ccc"},typography:{fontFamily:"sans-serif",titleSize:16,labelSize:12,tickSize:10}},Yt={mode:"dark",colors:{primary:"#4fc3f7",categorical:["#4fc3f7","#ffb74d","#81c784","#ef5350","#ba68c8","#a1887f","#f06292","#90a4ae","#dce775","#4dd0e1"],sequential:"blues",background:"#1a1a2e",text:"#e0e0e0",textSecondary:"#aaa",grid:"#333",border:"#555"},typography:{fontFamily:"sans-serif",titleSize:16,labelSize:12,tickSize:10}},[Xt,Gt]=Rt(e=>({theme:Ft,setTheme(t){e(e=>"light"===t?{theme:Ft}:"dark"===t?{theme:Yt}:{theme:Object.assign(Object.assign(Object.assign({},e.theme),t),{colors:Object.assign(Object.assign({},e.theme.colors),t.colors||{}),typography:Object.assign(Object.assign({},e.theme.typography),t.typography||{})})})}})),qt={top:20,right:80,bottom:20,left:80},Vt={top:40,right:40,bottom:40,left:40},Kt=new Set(["chord","force","circlepack","orbit"]),Zt=[800,600],Qt={background:"rgba(0, 0, 0, 0.85)",color:"white",padding:"6px 10px",borderRadius:4,fontSize:12,lineHeight:1.5,boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)",pointerEvents:"none",whiteSpace:"nowrap"};function Ut({data:t}){var r,n,o,i,a,l;if("edge"===t.type){const r=t.data;return e.createElement("div",{className:"semiotic-tooltip",style:Qt},e.createElement("div",{style:{fontWeight:600}},"object"==typeof r.source?r.source.id:r.source," → ","object"==typeof r.target?r.target.id:r.target),null!=r.value&&e.createElement("div",{style:{marginTop:4,opacity:.8}},"Value:"," ","number"==typeof r.value?r.value.toLocaleString():r.value+""))}const c=t.data,s=null==c?void 0:c.__hierarchyNode;if(s){const t=[];let a=s;for(;a;){const e=null!==(i=null!==(n=null===(r=a.data)||void 0===r?void 0:r.name)&&void 0!==n?n:null===(o=a.data)||void 0===o?void 0:o.id)&&void 0!==i?i:c.id;null!=e&&t.unshift(e+""),a=a.parent}t.length>1&&t.shift();const l=t.length-1;return e.createElement("div",{className:"semiotic-tooltip",style:Qt},e.createElement("div",null,t.map((t,r)=>e.createElement("span",{key:r},r>0&&e.createElement("span",{style:{margin:"0 3px",opacity:.5}}," → "),r===l?e.createElement("strong",null,t):e.createElement("span",{style:{opacity:.7}},t)))),null!=c.value&&c.value>0&&e.createElement("div",{style:{marginTop:4,opacity:.8}},"number"==typeof c.value?c.value.toLocaleString():c.value+""))}const u=((null===(a=c.sourceLinks)||void 0===a?void 0:a.length)||0)+((null===(l=c.targetLinks)||void 0===l?void 0:l.length)||0),d=(c.sourceLinks||[]).reduce((e,t)=>e+(t.value||0),0)+(c.targetLinks||[]).reduce((e,t)=>e+(t.value||0),0);return e.createElement("div",{className:"semiotic-tooltip",style:Qt},e.createElement("div",{style:{fontWeight:600}},c.id),null!=c.value&&c.value>0&&e.createElement("div",{style:{marginTop:4,opacity:.8}},"Total:"," ","number"==typeof c.value?c.value.toLocaleString():c.value+""),u>0&&e.createElement("div",{style:{marginTop:4,opacity:.8}},"Connections: ",u,d!==u&&` (weighted: ${d.toLocaleString()})`))}const Jt=s(function(o,a){var c,s,d,h,f,g,y,p,v,m,b;const{chartType:x,nodes:k,edges:w,data:E,initialEdges:A,nodeIDAccessor:L="id",sourceAccessor:S="source",targetAccessor:D="target",valueAccessor:P="value",childrenAccessor:M,hierarchySum:I,orientation:C="horizontal",nodeAlign:N="justify",nodePaddingRatio:O=.05,nodeWidth:T=15,iterations:W=300,forceStrength:_=.1,padAngle:$=.01,groupWidth:j=20,sortGroups:z,edgeSort:R,treeOrientation:H="vertical",edgeType:F="curve",padding:Y,paddingTop:X,tensionConfig:G,showParticles:q=!1,particleStyle:Z,nodeStyle:Q,edgeStyle:U,colorBy:J,colorScheme:ee="category10",edgeColorBy:te="source",edgeOpacity:re=.5,colorByDepth:ne=!1,nodeSize:oe=8,nodeSizeRange:ie=[5,20],nodeLabel:ae,showLabels:le=!0,labelMode:ce,size:se=Zt,responsiveWidth:ue,responsiveHeight:de,margin:he,className:fe,background:ge,enableHover:ye=!0,tooltipContent:pe,customHoverBehavior:ve,customClickBehavior:me,onObservation:be,chartId:xe,onTopologyChange:ke,annotations:we,svgAnnotationRules:Ee,legend:Ae,legendPosition:Le,legendHoverBehavior:Se,legendClickBehavior:De,legendHighlightedCategory:Pe,legendIsolatedCategories:Me,title:Ie,foregroundGraphics:Ce,backgroundGraphics:Ne,decay:Oe,pulse:Te,staleness:We,thresholds:_e,accessibleTable:$e,orbitMode:je,orbitSize:Be,orbitSpeed:ze,orbitRevolution:Re,orbitRevolutionStyle:He,orbitEccentricity:Fe,orbitShowRings:Ye,orbitAnimated:Xe}=o,Ge=Kt.has(x)?Vt:qt,[qe,Ve]=function(e,o,i){const a=t(null),[l,c]=r(null);return n(()=>{if(!o&&!i)return;const e=a.current;if(!e)return;const t=new ResizeObserver(e=>{for(const t of e){const{width:e,height:r}=t.contentRect;c(t=>t&&t.w===e&&t.h===r?t:{w:e,h:r})}});return t.observe(e),()=>t.disconnect()},[o,i]),[a,[o&&l?l.w:e[0],i&&l?l.h:e[1]]]}(se,ue,de),Ke=Object.assign(Object.assign({},Ge),he),Ze=Ve[0]-Ke.left-Ke.right,Qe=Ve[1]-Ke.top-Ke.bottom,Ue="function"==typeof Ce?Ce({size:Ve,margin:Ke}):Ce,Je=i(()=>Object.assign(Object.assign({},V),G),[G]),et=i(()=>Object.assign(Object.assign({},K),Z),[Z]),tt=i(()=>({chartType:x,nodeIDAccessor:L,sourceAccessor:S,targetAccessor:D,valueAccessor:P,childrenAccessor:M,hierarchySum:I,orientation:C,nodeAlign:N,nodePaddingRatio:O,nodeWidth:T,iterations:W,forceStrength:_,padAngle:$,groupWidth:j,sortGroups:z,edgeSort:R,treeOrientation:H,edgeType:F,padding:Y,paddingTop:X,tensionConfig:Je,showParticles:q,particleStyle:et,nodeStyle:Q,edgeStyle:U,nodeLabel:ae,showLabels:le,labelMode:ce,colorBy:J,colorScheme:ee,edgeColorBy:te,edgeOpacity:re,colorByDepth:ne,nodeSize:oe,nodeSizeRange:ie,decay:Oe,pulse:Te,staleness:We,thresholds:_e,orbitMode:je,orbitSize:Be,orbitSpeed:ze,orbitRevolution:Re,orbitRevolutionStyle:He,orbitEccentricity:Fe,orbitShowRings:Ye,orbitAnimated:Xe}),[x,L,S,D,P,M,I,C,N,O,T,W,_,$,j,z,R,H,F,Y,X,Je,q,et,Q,U,ae,le,ce,J,ee,te,re,ne,oe,ie,Oe,Te,We,_e,je,Be,ze,Re,He,Fe,Ye,Xe]),rt=t(null),nt=t(0),ot=t(0),it=t(!0),at=Gt(e=>e.theme),ct=t(()=>{}),st=t(null);st.current||(st.current=new lt(tt));const[dt,ht]=r(null),[ft,gt]=r(0),[yt,pt]=r(0),[vt,mt]=r(!1),bt=t(null),xt=t(new Map),kt=t(0),At=l(e=>{if("function"==typeof J)return J(e)+"";if("string"==typeof J&&e.data){const t=e.data[J];if(void 0!==t){if(!xt.current.has(t+"")){const e=Array.isArray(ee)?ee:_t;xt.current.set(t+"",e[kt.current++%e.length])}return xt.current.get(t+"")}}if(!xt.current.has(e.id)){const t=Array.isArray(ee)?ee:_t;xt.current.set(e.id,t[kt.current++%t.length])}return xt.current.get(e.id)},[J,ee]),Pt=l(e=>{if("function"==typeof te)return te(e);const t="object"==typeof e.source?e.source:null,r="object"==typeof e.target?e.target:null;return"target"===te&&r?At(r):t?At(t):"#999"},[te,At]),Wt=l(e=>{if(!(null==Z?void 0:Z.colorBy))return Pt(e);const t="object"==typeof e.source?e.source:null,r="object"==typeof e.target?e.target:null;return"target"===et.colorBy&&r?At(r):t?At(t):"#999"},[null==Z?void 0:Z.colorBy,et.colorBy,At,Pt]),$t="sankey"===x&&q||!!Te||null!==(s=null===(c=st.current)||void 0===c?void 0:c.isAnimating)&&void 0!==s&&s,jt=l(()=>{nt.current&&!$t||nt.current||(nt.current=requestAnimationFrame(()=>ct.current()))},[$t]);n(()=>{var e;null===(e=st.current)||void 0===e||e.updateConfig(tt),it.current=!0,jt()},[tt,jt]),n(()=>{it.current=!0,jt()},[at,jt]);const Bt=l(()=>{const e=st.current;if(!e)return;e.runLayout([Ze,Qe]),e.buildScene([Ze,Qe]),it.current=!0;const t=Array.isArray(ee)?ee:_t,r=Array.from(e.nodes.values());for(let e=0;r.length>e;e++){const n=r[e];xt.current.has(n.id)||xt.current.set(n.id,t[e%t.length])}if(kt.current=r.length,gt(e.layoutVersion),ke){const{nodes:t,edges:r}=e.getLayoutData();ke(t,r)}},[Ze,Qe,ke,ee]),zt=l(e=>{const t=st.current;t&&(t.ingestEdge(e)&&Bt(),jt())},[Bt,jt]),Rt=l(e=>{const t=st.current;if(!t)return;let r=!1;for(const n of e)t.ingestEdge(n)&&(r=!0);r&&Bt(),jt()},[Bt,jt]),Ht=l(()=>{var e;null===(e=st.current)||void 0===e||e.clear(),xt.current.clear(),kt.current=0,gt(0),ht(null),bt.current=null,it.current=!0,jt()},[jt]),Ft=l(()=>{const e=st.current;e&&(e.tension+=999,Bt(),jt())},[Bt,jt]);u(a,()=>({push:zt,pushMany:Rt,clear:Ht,getTopology:()=>{var e,t;return null!==(t=null===(e=st.current)||void 0===e?void 0:e.getLayoutData())&&void 0!==t?t:{nodes:[],edges:[]}},getTopologyDiff:()=>{const e=st.current;return e?{addedNodes:Array.from(e.addedNodes),removedNodes:Array.from(e.removedNodes),addedEdges:Array.from(e.addedEdges),removedEdges:Array.from(e.removedEdges)}:{addedNodes:[],removedNodes:[],addedEdges:[],removedEdges:[]}},relayout:Ft,getTension:()=>{var e,t;return null!==(t=null===(e=st.current)||void 0===e?void 0:e.tension)&&void 0!==t?t:0}}),[zt,Rt,Ht,Ft]);const Yt=["tree","cluster","treemap","circlepack","partition","orbit"].includes(x),Xt=Yt?E||(Array.isArray(w)?void 0:w):void 0;n(()=>{const e=st.current;if(e)if(Yt&&Xt)e.ingestHierarchy(Xt,[Ze,Qe]),e.buildScene([Ze,Qe]),it.current=!0,jt();else{const t=k||[],r=Array.isArray(w)?w:[];if(0===t.length&&0===r.length)return;e.ingestBounded(t,r,[Ze,Qe]),e.buildScene([Ze,Qe]);const n=Array.isArray(ee)?ee:_t,o=Array.from(e.nodes.values());for(let e=0;o.length>e;e++){const t=o[e];xt.current.has(t.id)||xt.current.set(t.id,n[e%n.length])}kt.current=o.length,it.current=!0,jt()}},[k,w,E,Xt,Yt,Ze,Qe,tt,jt,ee]),n(()=>{A&&A.length>0&&Rt(A)},[]);const Qt=l(e=>{if(ve&&ve(e),be){const t=Date.now();be(e?{type:"hover",datum:e.data||{},x:e.x,y:e.y,timestamp:t,chartType:"StreamNetworkFrame",chartId:xe}:{type:"hover-end",timestamp:t,chartType:"StreamNetworkFrame",chartId:xe})}},[ve,be,xe]),Jt=l(e=>{if(me&&me(e),be){const t=Date.now();be(e?{type:"click",datum:e.data||{},x:e.x,y:e.y,timestamp:t,chartType:"StreamNetworkFrame",chartId:xe}:{type:"click-end",timestamp:t,chartType:"StreamNetworkFrame",chartId:xe})}},[me,be,xe]),er=t(()=>{}),tr=t(()=>{});er.current=e=>{if(!ye)return;const t=rt.current;if(!t)return;const r=t.getBoundingClientRect(),n=e.clientX-r.left-Ke.left,o=e.clientY-r.top-Ke.top;if(0>n||n>Ze||0>o||o>Qe)return void(bt.current&&(bt.current=null,ht(null),Qt&&(Qt(null),it.current=!0),jt()));const i=st.current;if(!i)return;const a=ut(i.sceneNodes,i.sceneEdges,n,o);if(!a)return void(bt.current&&(bt.current=null,ht(null),Qt&&(Qt(null),it.current=!0),jt()));const l=a.datum||{},c=Object.assign(Object.assign({},"object"!=typeof l||null===l||Array.isArray(l)?{}:l),{type:a.type,data:l,x:a.x,y:a.y});bt.current=c,ht(c),Qt&&(Qt(c),it.current=!0),jt()},tr.current=()=>{bt.current&&(bt.current=null,ht(null),Qt&&(Qt(null),it.current=!0),jt())};const rr=t(()=>{});rr.current=e=>{if(!me&&!be)return;const t=rt.current;if(!t)return;const r=t.getBoundingClientRect(),n=e.clientX-r.left-Ke.left,o=e.clientY-r.top-Ke.top;if(0>n||n>Ze||0>o||o>Qe)return;const i=st.current;if(!i)return;const a=ut(i.sceneNodes,i.sceneEdges,n,o);if(a){const e=a.datum||{};Jt(Object.assign(Object.assign({},"object"!=typeof e||null===e||Array.isArray(e)?{}:e),{type:a.type,data:e,x:a.x,y:a.y}))}else Jt(null)},l(e=>er.current(e),[]);const nr=l(()=>tr.current(),[]),or=l(e=>rr.current(e),[]),ir=t(-1),ar=l(e=>{const t=st.current;if(!t)return;const r=function(e){const t=[];for(const r of e)"circle"===r.type&&null!=r.cx?t.push({x:r.cx,y:r.cy,datum:r.datum}):"rect"===r.type&&null!=r.x?t.push({x:r.x+r.w/2,y:r.y+r.h/2,datum:r.datum}):"arc"===r.type&&null!=r.cx&&t.push({x:r.cx,y:r.cy,datum:r.datum});return t.sort((e,t)=>e.x-t.x||e.y-t.y),t}(t.sceneNodes);if(0===r.length)return;const n=ir.current,o=function(e,t,r){switch(e){case"ArrowRight":case"ArrowDown":return r-1>t?t+1:t;case"ArrowLeft":case"ArrowUp":return t>0?t-1:t;case"Home":return 0;case"End":return r-1;case"Escape":return-1;default:return null}}(e.key,0>n?-1:n,r.length);if(null===o)return;if(e.preventDefault(),0>o)return ir.current=-1,bt.current=null,ht(null),Qt&&(Qt(null),it.current=!0),void jt();const i=0>n?0:o;ir.current=i;const a=r[i],l=a.datum||{},c=Object.assign(Object.assign({},"object"!=typeof l||null===l||Array.isArray(l)?{}:l),{type:"node",data:l,x:a.x,y:a.y});bt.current=c,ht(c),Qt&&(Qt(c),it.current=!0),jt()},[Qt,jt]),lr=l(e=>{ir.current=-1,er.current(e)},[]);ct.current=()=>{var e,t,r,n,o,i,a;nt.current=0;const l=rt.current;if(!l)return;const c=l.getContext("2d");if(!c)return;const s=st.current;if(!s)return;const u=performance.now(),d=ot.current?Math.min((u-ot.current)/1e3,.1):.016;ot.current=u;const h=s.advanceTransition(u),f=s.tickAnimation([Ze,Qe],d);(h||it.current||f)&&s.buildScene([Ze,Qe]);const g="undefined"!=typeof window&&window.devicePixelRatio||1;if(!function(e,t,r,n){const o=e.getContext("2d");if(!o)return null;const i=t[0]*n,a=t[1]*n,l=t[0]+"px",c=t[1]+"px";return e.style.width!==l&&(e.style.width=l),e.style.height!==c&&(e.style.height=c),e.width===i&&e.height===a||(e.width=i,e.height=a),o.setTransform(n,0,0,n,0,0),o.translate(r.left,r.top),o}(l,Ve,Ke,g))return;c.clearRect(-Ke.left,-Ke.top,Ve[0],Ve[1]),ge&&(c.fillStyle=ge,c.fillRect(0,0,Ze,Qe)),Oe&&s.applyDecay(),Te&&s.applyPulse(u),_e&&s.applyThresholds(u),s.applyTopologyDiff(u);const y=null!==(e=null==We?void 0:We.threshold)&&void 0!==e?e:5e3,p=We&&s.lastIngestTime>0&&u-s.lastIngestTime>y;if(p&&(c.globalAlpha=null!==(t=null==We?void 0:We.dimOpacity)&&void 0!==t?t:.5),function(e,t){for(const r of t)switch(r.type){case"bezier":Ct(e,r);break;case"line":Nt(e,r);break;case"ribbon":Ot(e,r);break;case"curved":Tt(e,r)}}(c,s.sceneEdges),function(e,t){var r,n,o;for(const i of t){if("rect"!==i.type)continue;const t=i;t.w>0&&t.h>0&&(e.save(),void 0!==t.style.opacity&&(e.globalAlpha=t.style.opacity),t.style.fill&&(e.fillStyle=t.style.fill,void 0!==t.style.fillOpacity&&(e.globalAlpha=(null!==(r=t.style.opacity)&&void 0!==r?r:1)*t.style.fillOpacity),e.fillRect(t.x,t.y,t.w,t.h)),t.style.stroke&&"none"!==t.style.stroke&&(e.strokeStyle=t.style.stroke,e.lineWidth=null!==(n=t.style.strokeWidth)&&void 0!==n?n:1,e.globalAlpha=null!==(o=t.style.opacity)&&void 0!==o?o:1,e.strokeRect(t.x,t.y,t.w,t.h)),Mt(e,t),e.restore())}}(c,s.sceneNodes),function(e,t){var r,n,o;for(const i of t){if("circle"!==i.type)continue;const t=i;t.r>0&&(e.save(),void 0!==t.style.opacity&&(e.globalAlpha=t.style.opacity),e.beginPath(),e.arc(t.cx,t.cy,t.r,0,2*Math.PI),t.style.fill&&(e.fillStyle=t.style.fill,void 0!==t.style.fillOpacity&&(e.globalAlpha=(null!==(r=t.style.opacity)&&void 0!==r?r:1)*t.style.fillOpacity),e.fill()),t.style.stroke&&"none"!==t.style.stroke&&(e.strokeStyle=t.style.stroke,e.lineWidth=null!==(n=t.style.strokeWidth)&&void 0!==n?n:1,e.globalAlpha=null!==(o=t.style.opacity)&&void 0!==o?o:1,e.stroke()),It(e,t),e.restore())}}(c,s.sceneNodes),function(e,t){var r,n,o;for(const i of t){if("arc"!==i.type)continue;const t=i;e.save(),void 0!==t.style.opacity&&(e.globalAlpha=t.style.opacity),e.beginPath(),e.arc(t.cx,t.cy,t.outerR,t.startAngle,t.endAngle),e.arc(t.cx,t.cy,t.innerR,t.endAngle,t.startAngle,!0),e.closePath(),t.style.fill&&(e.fillStyle=t.style.fill,void 0!==t.style.fillOpacity&&(e.globalAlpha=(null!==(r=t.style.opacity)&&void 0!==r?r:1)*t.style.fillOpacity),e.fill()),t.style.stroke&&"none"!==t.style.stroke&&(e.strokeStyle=t.style.stroke,e.lineWidth=null!==(n=t.style.strokeWidth)&&void 0!==n?n:1,e.globalAlpha=null!==(o=t.style.opacity)&&void 0!==o?o:1,e.stroke()),e.restore()}}(c,s.sceneNodes),q&&s.particlePool&&!p){const e=Array.from(s.edges.values());if(e.length>0){!function(e,t,r,n){var o,i;const a=null!==(o=n.spawnRate)&&void 0!==o?o:K.spawnRate,l=null!==(i=n.maxPerEdge)&&void 0!==i?i:K.maxPerEdge;for(let n=0;t.length>n;n++){const o=t[n];if(!o.bezier)continue;if(e.countForEdge(n)>=l)continue;const i=o.value*a*r*(o.bezier.circular?.3:1),c=Math.floor(i),s=i-c;let u=c;Math.random()<s&&u++;for(let t=0;u>t&&e.countForEdge(n)<l;t++)e.spawn(n)}}(s.particlePool,e,d,et);const t=.5*(null!==(r=et.speedMultiplier)&&void 0!==r?r:1);let n;if(et.proportionalSpeed){const t=e.reduce((e,t)=>Math.max(e,t.value||1),1);n=e.map(e=>.3+(e.value||1)/t*1.7)}s.particlePool.step(d,t,e,n),function(e,t,r,n,o){var i,a;const l=null!==(i=n.radius)&&void 0!==i?i:K.radius,c=null!==(a=n.opacity)&&void 0!==a?a:K.opacity;e.globalAlpha=c;for(let i=0;t.particles.length>i;i++){const a=t.particles[i];if(!a.active)continue;const c=r[a.edgeIndex];if(c){if("function"==typeof n.color){const t="object"==typeof c.source?c.source:null;e.fillStyle=t?n.color(c,t):"#666"}else e.fillStyle=n.color&&"inherit"!==n.color?n.color:o(c);e.beginPath(),e.arc(a.x,a.y,l,0,2*Math.PI),e.fill()}}e.globalAlpha=1}(c,s.particlePool,e,et,Wt)}}p&&(c.globalAlpha=1);const v=it.current;if(it.current=!1,v||h||f){const e=rt.current;e&&e.setAttribute("aria-label",Lt(null!==(o=null===(n=s.sceneNodes)||void 0===n?void 0:n.length)&&void 0!==o?o:0,null!==(a=null===(i=s.sceneEdges)||void 0===i?void 0:i.length)&&void 0!==a?a:0,"Network chart"))}(v||h||f)&&pt(e=>e+1),($t||h||f||s.hasActivePulses||s.hasActiveThresholds||s.hasActiveTopologyDiff)&&(nt.current=requestAnimationFrame(()=>ct.current()))},n(()=>(jt(),()=>{nt.current&&(cancelAnimationFrame(nt.current),nt.current=0)}),[jt]),n(()=>{it.current=!0,jt()},[x,Ze,Qe,ge,jt]),function(e,t,r,o,i,a){n(()=>{if(!e)return;const n=setInterval(()=>{var n;const l=t.current;if(!l||0===l.lastIngestTime)return;const c="undefined"!=typeof performance?performance.now():Date.now(),s=null!==(n=e.threshold)&&void 0!==n?n:5e3,u=c-l.lastIngestTime>s;u!==i&&(a(u),r.current=!0,o())},1e3);return()=>clearInterval(n)},[e,i,o])}(We,st,it,jt,vt,mt);const cr=ye&&dt?e.createElement("div",{className:"stream-network-tooltip",style:{position:"absolute",left:Ke.left+dt.x,top:Ke.top+dt.y,transform:`translate(${dt.x>.6*Ze?"calc(-100% - 12px)":"12px"}, ${.3*Qe>dt.y?"4px":"calc(-100% - 4px)"})`,pointerEvents:"none",zIndex:2,width:"max-content"}},pe?pe(dt):e.createElement(Ut,{data:dt})):null;if(Et){const t=st.current;if(t){const e=["tree","cluster","treemap","circlepack","partition","orbit"].includes(x),r=e?E||(Array.isArray(w)?void 0:w):void 0;if(e&&r)t.ingestHierarchy(r,[Ze,Qe]),t.buildScene([Ze,Qe]);else{const e=k||[],r=Array.isArray(w)?w:[];(e.length>0||r.length>0)&&(t.ingestBounded(e,r,[Ze,Qe]),t.buildScene([Ze,Qe]))}}const r=null!==(d=null==t?void 0:t.sceneNodes)&&void 0!==d?d:[],n=null!==(h=null==t?void 0:t.sceneEdges)&&void 0!==h?h:[],o=null!==(f=null==t?void 0:t.labels)&&void 0!==f?f:[];return e.createElement("div",{className:"stream-network-frame"+(fe?" "+fe:""),role:"img","aria-label":"string"==typeof Ie?Ie:"Network chart",style:{position:"relative",width:Ve[0],height:Ve[1]}},e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:Ve[0],height:Ve[1],style:{position:"absolute",left:0,top:0}},Ne&&e.createElement("g",{transform:`translate(${Ke.left},${Ke.top})`},Ne),e.createElement("g",{transform:`translate(${Ke.left},${Ke.top})`},ge&&e.createElement("rect",{x:0,y:0,width:Ze,height:Qe,fill:ge}),n.map((t,r)=>function(t,r){switch(t.type){case"line":return e.createElement("line",{key:"net-edge-"+r,x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2,stroke:t.style.stroke||"#999",strokeWidth:t.style.strokeWidth||1,opacity:t.style.opacity});case"bezier":case"ribbon":return e.createElement("path",{key:"net-edge-"+r,d:t.pathD,fill:t.style.fill||"#999",fillOpacity:t.style.fillOpacity,stroke:t.style.stroke||"none",strokeWidth:t.style.strokeWidth,opacity:t.style.opacity});case"curved":return e.createElement("path",{key:"net-edge-"+r,d:t.pathD,fill:t.style.fill||"none",stroke:t.style.stroke||"#999",strokeWidth:t.style.strokeWidth||1,opacity:t.style.opacity});default:return null}}(t,r)).filter(Boolean),r.map((t,r)=>function(t,r){switch(t.type){case"circle":return e.createElement("circle",{key:"net-circle-"+r,cx:t.cx,cy:t.cy,r:t.r,fill:t.style.fill||"#4e79a7",stroke:t.style.stroke,strokeWidth:t.style.strokeWidth,opacity:t.style.opacity});case"rect":return e.createElement("rect",{key:"net-rect-"+r,x:t.x,y:t.y,width:t.w,height:t.h,fill:t.style.fill||"#4e79a7",stroke:t.style.stroke,strokeWidth:t.style.strokeWidth,opacity:t.style.opacity});case"arc":{const n=t,o=B().innerRadius(n.innerR).outerRadius(n.outerR).startAngle(n.startAngle).endAngle(n.endAngle)({})||"";return e.createElement("path",{key:"net-arc-"+r,d:o,transform:`translate(${n.cx},${n.cy})`,fill:n.style.fill||"#4e79a7",stroke:n.style.stroke,strokeWidth:n.style.strokeWidth,opacity:n.style.opacity})}default:return null}}(t,r)).filter(Boolean),o.map((t,r)=>function(t,r){return e.createElement("text",{key:"net-label-"+r,x:t.x,y:t.y,textAnchor:t.anchor||"middle",dominantBaseline:t.baseline||"auto",fontSize:t.fontSize||11,fontWeight:t.fontWeight,fill:t.fill||"#333",stroke:t.stroke,strokeWidth:t.strokeWidth,paintOrder:t.paintOrder},t.text)}(t,r)).filter(Boolean))),e.createElement(wt,{width:Ze,height:Qe,totalWidth:Ve[0],totalHeight:Ve[1],margin:Ke,labels:o,sceneNodes:r,title:Ie,legend:Ae,legendPosition:Le,legendHoverBehavior:Se,legendClickBehavior:De,legendHighlightedCategory:Pe,legendIsolatedCategories:Me,foregroundGraphics:Ue,annotations:we,svgAnnotationRules:Ee,annotationFrame:0}))}const sr=st.current;return e.createElement("div",{ref:qe,className:"stream-network-frame"+(fe?" "+fe:""),role:"img","aria-label":"string"==typeof Ie?Ie:"Network chart",tabIndex:0,style:{position:"relative",width:ue?"100%":Ve[0],height:de?"100%":Ve[1],overflow:"visible"},onMouseMove:ye?lr:void 0,onMouseLeave:ye?nr:void 0,onClick:me||be?or:void 0,onKeyDown:ar},Ne&&e.createElement("svg",{style:{position:"absolute",top:0,left:0,width:Ve[0],height:Ve[1],pointerEvents:"none"}},e.createElement("g",{transform:`translate(${Ke.left},${Ke.top})`},Ne)),e.createElement("canvas",{ref:rt,"aria-label":Lt(null!==(y=null===(g=null==sr?void 0:sr.sceneNodes)||void 0===g?void 0:g.length)&&void 0!==y?y:0,null!==(v=null===(p=null==sr?void 0:sr.sceneEdges)||void 0===p?void 0:p.length)&&void 0!==v?v:0,"Network chart"),style:{position:"absolute",top:0,left:0}}),e.createElement(Dt,{hoverPoint:dt}),$e&&e.createElement(St,{nodes:null!==(m=null==sr?void 0:sr.sceneNodes)&&void 0!==m?m:[],edges:null!==(b=null==sr?void 0:sr.sceneEdges)&&void 0!==b?b:[],chartType:"Network chart"}),e.createElement(wt,{width:Ze,height:Qe,totalWidth:Ve[0],totalHeight:Ve[1],margin:Ke,labels:(null==sr?void 0:sr.labels)||[],sceneNodes:null==sr?void 0:sr.sceneNodes,title:Ie,legend:Ae,legendPosition:Le,legendHoverBehavior:Se,legendClickBehavior:De,legendHighlightedCategory:Pe,legendIsolatedCategories:Me,foregroundGraphics:Ue,annotations:we,svgAnnotationRules:Ee,annotationFrame:yt}),cr,(null==We?void 0:We.showBadge)&&e.createElement("div",{className:"stream-staleness-badge",style:Object.assign(Object.assign({position:"absolute"},"top-left"===We.badgePosition?{top:4,left:4}:"bottom-left"===We.badgePosition?{bottom:4,left:4}:"bottom-right"===We.badgePosition?{bottom:4,right:4}:{top:4,right:4}),{background:vt?"#dc3545":"#28a745",color:"white",fontSize:10,fontWeight:700,padding:"2px 6px",borderRadius:3,letterSpacing:"0.05em",zIndex:3,pointerEvents:"none"})},vt?"STALE":"LIVE"))});Jt.displayName="StreamNetworkFrame";const er={background:"rgba(0, 0, 0, 0.85)",color:"white",padding:"8px 12px",borderRadius:"4px",fontSize:"14px",lineHeight:"1.5",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)",pointerEvents:"none",maxWidth:"300px",wordWrap:"break-word"};function tr(e,t){return"function"==typeof t?t(e):e[t]}function rr(e,t){return t?t(e):null==e?"":"number"==typeof e?Math.abs(e)>9999?e.toLocaleString():e+"":e instanceof Date?e.toLocaleDateString():"object"==typeof e&&null!==e?void 0!==e.id?e.id+"":void 0!==e.name?e.name+"":JSON.stringify(e):e+""}function nr(t={}){const{fields:r,title:n,format:o,style:i={},className:a=""}=t;return t=>{if(!t||"object"!=typeof t)return null;let l;const c=[];if(n){const e=tr(t,n);l=rr(e,o)}if(r&&r.length>0)r.forEach(e=>{let r,n,i;"string"==typeof e?(r=e,n=e,i=o):(r=e.label,n=e.accessor||e.key||"",i=e.format||o);const a=tr(t,n);c.push({label:r,value:rr(a,i)})});else if(!n){const e=["value","y","name","id","label"];for(const r of e)if(void 0!==t[r]){l=rr(t[r],o);break}if(!l){const e=Object.keys(t).filter(e=>!e.startsWith("_"));e.length>0&&(l=rr(t[e[0]],o))}}const s=Object.assign(Object.assign({},er),i);return e.createElement("div",{className:("semiotic-tooltip "+a).trim(),style:s},l&&e.createElement("div",{style:{fontWeight:c.length>0?"bold":"normal"}},l),c.map((t,r)=>e.createElement("div",{key:r,style:{marginTop:0===r&&l?"4px":0}},t.label&&e.createElement("span",null,t.label,": "),t.value)))}}function or(t){if(!0===t)return nr();if("function"==typeof t){const r=t;return t=>{const n=r(!t||"object"!=typeof t.data||null===t.data||"node"!==t.type&&"edge"!==t.type?t:t.data);return null==n?null:e.createElement("div",{className:"semiotic-tooltip",style:er},n)}}return!1!==t&&void 0!==t&&("object"==typeof t&&null!==t&&("fields"in t||"title"in t)?nr(t):nr())}const ir=o(null);function ar(e){const t=[];for(const[r,n]of Object.entries(e.fields))if("point"===n.type)t.push(e=>n.values.has(e[r]));else{const[e,o]=n.range;t.push(t=>{const n=t[r];return n>=e&&o>=n})}return e=>t.every(t=>t(e))}function lr(e,t){let r=e.get(t);return r||(r={name:t,resolution:"union",clauses:new Map},e.set(t,r)),r}const[cr,sr]=Rt(e=>({selections:new Map,setClause(t,r){e(e=>{const n=new Map(e.selections),o=lr(n,t),i=new Map(o.clauses);return i.set(r.clientId,r),n.set(t,Object.assign(Object.assign({},o),{clauses:i})),{selections:n}})},clearClause(t,r){e(e=>{const n=e.selections.get(t);if(!n)return{};const o=new Map(e.selections),i=new Map(n.clauses);return i.delete(r),o.set(t,Object.assign(Object.assign({},n),{clauses:i})),{selections:o}})},setResolution(t,r){e(e=>{const n=new Map(e.selections),o=lr(n,t);return n.set(t,Object.assign(Object.assign({},o),{resolution:r})),{selections:n}})},clearSelection(t){e(e=>{const r=new Map(e.selections),n=r.get(t);return n&&r.set(t,Object.assign(Object.assign({},n),{clauses:new Map})),{selections:r}})}})),[ur,dr]=Rt(e=>({observations:[],maxObservations:100,version:0,pushObservation(t){e(e=>{const r=e.observations;return r.push(t),r.length>e.maxObservations&&r.shift(),{version:e.version+1}})},clearObservations(){e(()=>({observations:[],version:0}))}}));function hr(e){const t=d(),r=e.clientId||t,{name:n}=e,o=sr(e=>e.selections.get(n)),a=sr(e=>e.setClause),c=sr(e=>e.clearClause),s=i(()=>!!o&&o.clauses.size>0,[o]);return{predicate:i(()=>o&&0!==o.clauses.size?function(e,t){const r=[];for(const[n,o]of e.clauses)"crossfilter"===e.resolution&&n===t||r.push(ar(o));return 0===r.length?()=>!0:"intersect"===e.resolution?e=>r.every(t=>t(e)):e=>r.some(t=>t(e))}(o,r):()=>!0,[o,r]),isActive:s,selectPoints:l(e=>{const t={};for(const[r,n]of Object.entries(e))t[r]={type:"point",values:new Set(n)};a(n,{clientId:r,type:"point",fields:t})},[r,n,a]),selectInterval:l(e=>{const t={};for(const[r,n]of Object.entries(e))t[r]={type:"interval",range:n};a(n,{clientId:r,type:"interval",fields:t})},[r,n,a]),clear:l(()=>{c(n,r)},[c,n,r]),clientId:r}}const fr=o(!1),gr="#007bff";function yr(e,t,r="category10"){const n=a(ir);return i(()=>{if(t){if(0===e.length)return n&&Object.keys(n).length>0?e=>n[e]||"#999":void 0;if("function"==typeof t){const o=Array.from(new Set(e.map(e=>t(e)+"")));return n&&Object.keys(n).length>0?e=>n[e]||"#999":zt(o.map(e=>({_cat:e})),"_cat",r)}if(n&&Object.keys(n).length>0){const o=zt(e,t,r);return e=>n[e]||o(e)}return zt(e,t,r)}},[e,t,r,n])}function pr({selection:e,linkedHover:t,fallbackFields:r=[],unwrapData:n=!1,onObservation:o,chartType:i,chartId:a}){const c=function(e,t){return e?!0===e?{name:"hover",fields:t||[]}:"string"==typeof e?{name:e,fields:t||[]}:{name:e.name||"hover",fields:e.fields}:null}(t,r),s=hr({name:(null==e?void 0:e.name)||"__unused__"}),u=function(e){const t=e.name||"hover",{fields:r}=e,{predicate:n,isActive:o,selectPoints:i,clear:a}=hr({name:t});return{onHover:l(e=>{if(!e)return void a();const t={};for(const n of r){const r=e[n];void 0!==r&&(t[n]=[r])}Object.keys(t).length>0&&i(t)},[r,i,a,t]),predicate:n,isActive:o}}({name:(null==c?void 0:c.name)||"hover",fields:(null==c?void 0:c.fields)||r||[]}),d=dr(e=>e.pushObservation);return{activeSelectionHook:e?{isActive:s.isActive,predicate:s.predicate}:null,customHoverBehavior:l(e=>{var r,n;if(t)if(e){let t=e.data||e.datum||e;Array.isArray(t)&&(t=t[0]),u.onHover(t)}else u.onHover(null);if(o||d){const t={timestamp:Date.now(),chartType:i||"unknown",chartId:a};if(e){let i=e.data||e.datum||e;Array.isArray(i)&&(i=i[0]);const a=Object.assign(Object.assign({},t),{type:"hover",datum:i||{},x:null!==(r=e.x)&&void 0!==r?r:0,y:null!==(n=e.y)&&void 0!==n?n:0});o&&o(a),d&&d(a)}else{const e=Object.assign(Object.assign({},t),{type:"hover-end"});o&&o(e),d&&d(e)}}},[t,u,o,i,a,d]),customClickBehavior:l(e=>{var t,r;if(o||d){const n={timestamp:Date.now(),chartType:i||"unknown",chartId:a};if(e){let i=e.data||e.datum||e;Array.isArray(i)&&(i=i[0]);const a=Object.assign(Object.assign({},n),{type:"click",datum:i||{},x:null!==(t=e.x)&&void 0!==t?t:0,y:null!==(r=e.y)&&void 0!==r?r:0});o&&o(a),d&&d(a)}else{const e=Object.assign(Object.assign({},n),{type:"click-end"});o&&o(e),d&&d(e)}}},[o,d,i,a])}}function vr(e,t,n){const[o,a]=r(null),[c,s]=r(new Set),u=l(t=>{"highlight"===e&&a(t?t.label:null)},[e]),d=l(t=>{"isolate"===e&&s(e=>{const r=new Set(e);return r.has(t.label)?r.delete(t.label):r.add(t.label),r.size===n.length?new Set:r})},[e,n.length]),h=i(()=>{if(!e||"none"===e||!t)return null;const r="string"==typeof t?t:null;return"highlight"===e&&null!=o?{isActive:!0,predicate:e=>(r?e[r]:"function"==typeof t?t(e):null)===o}:"isolate"===e&&c.size>0?{isActive:!0,predicate:e=>{const n=r?e[r]:"function"==typeof t?t(e):null;return c.has(n)}}:null},[e,t,o,c]);return{highlightedCategory:"highlight"===e?o:null,isolatedCategories:"isolate"===e?c:new Set,onLegendHover:u,onLegendClick:d,legendSelectionHook:h}}const mr={primary:{width:600,height:400,showAxes:!0,showGrid:!1,enableHover:!0,showLegend:void 0,showLabels:void 0,marginDefaults:{top:50,bottom:60,left:70,right:40}},context:{width:400,height:250,showAxes:!1,showGrid:!1,enableHover:!1,showLegend:!1,showLabels:!1,marginDefaults:{top:10,bottom:10,left:10,right:10}},sparkline:{width:120,height:24,showAxes:!1,showGrid:!1,enableHover:!1,showLegend:!1,showLabels:!1,marginDefaults:{top:2,bottom:2,left:0,right:0}}};function br(e,t,r){var n,o,i,a,l,c;const s=mr[e||"primary"],u="context"===e||"sparkline"===e;return{width:null!==(n=t.width)&&void 0!==n?n:e&&"primary"!==e||!(null==r?void 0:r.width)?s.width:r.width,height:null!==(o=t.height)&&void 0!==o?o:e&&"primary"!==e||!(null==r?void 0:r.height)?s.height:r.height,showAxes:s.showAxes,showGrid:null!==(i=t.showGrid)&&void 0!==i?i:s.showGrid,enableHover:null!==(a=t.enableHover)&&void 0!==a?a:!!t.linkedHover||s.enableHover,showLegend:null!==(l=t.showLegend)&&void 0!==l?l:s.showLegend,showLabels:null!==(c=t.showLabels)&&void 0!==c?c:s.showLabels,title:u?void 0:t.title,xLabel:u?void 0:t.xLabel,yLabel:u?void 0:t.yLabel,categoryLabel:u?void 0:t.categoryLabel,valueLabel:u?void 0:t.valueLabel,marginDefaults:s.marginDefaults}}function xr({componentName:t,message:r,width:n,height:o}){return e.createElement("div",{role:"alert",style:{width:n,height:Math.max(o,120),display:"flex",alignItems:"center",justifyContent:"center",border:"1px dashed rgba(128, 128, 128, 0.4)",borderRadius:8,background:"rgba(128, 128, 128, 0.04)",padding:24,boxSizing:"border-box"}},e.createElement("div",{style:{textAlign:"center",maxWidth:400}},e.createElement("div",{style:{fontSize:13,fontWeight:600,color:"rgba(128, 128, 128, 0.7)",marginBottom:6,fontFamily:"monospace"}},t),e.createElement("div",{style:{fontSize:14,color:"rgba(128, 128, 128, 0.9)",lineHeight:1.5}},r)))}class kr extends e.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){var r,n;null===(n=(r=this.props).onError)||void 0===n||n.call(r,e,t)}render(){if(this.state.error){const{fallback:t}=this.props,r=this.state.error;return"function"==typeof t?t(r):void 0!==t?t:e.createElement(xr,{componentName:"ChartErrorBoundary",message:r.message||"An unexpected error occurred while rendering this chart.",width:600,height:400})}return this.props.children}}function wr({componentName:t,width:r,height:n,children:o}){return e.createElement(kr,{fallback:o=>e.createElement(xr,{componentName:t,message:o.message,width:r,height:n})},o)}"undefined"!=typeof process&&process;const Er={display:"flex",alignItems:"center",justifyContent:"center",color:"var(--semiotic-text-secondary, #999)",fontSize:13,fontFamily:"inherit",border:"1px dashed var(--semiotic-border, #ddd)",borderRadius:4,boxSizing:"border-box"},Ar={background:"var(--semiotic-border, #e0e0e0)",borderRadius:2};function Lr(t,r,n,o){return!1===o||null==t||Array.isArray(t)&&t.length>0?null:Array.isArray(t)?e.createElement("div",{style:Object.assign(Object.assign({},Er),{width:r,height:n})},o||"No data available"):null}function Sr(t,r,n){if(!t)return null;const o=Math.min(5,Math.floor(n/40)),i=Math.max(8,Math.floor(n/(3*o))),a=Math.max(6,Math.floor(n/(2.5*o))),l=Math.floor((n-(o*(i+a)-a))/2);return e.createElement("div",{style:{width:r,height:n,position:"relative",overflow:"hidden",border:"1px solid var(--semiotic-border, #e0e0e0)",borderRadius:4,boxSizing:"border-box"}},Array.from({length:o},(t,n)=>e.createElement("div",{key:n,className:"semiotic-loading-bar",style:Object.assign(Object.assign({},Ar),{position:"absolute",top:l+n*(i+a),left:Math.floor(.1*r),width:30+(37*n+13)%50+"%",height:i,opacity:.5+n%2*.2})})))}function Dr(e,t){const r=e.length,n=t.length,o=Array(n+1);for(let e=0;n>=e;e++)o[e]=e;for(let i=1;r>=i;i++){let r=o[0];o[0]=i;for(let a=1;n>=a;a++){const n=o[a];o[a]=e[i-1]===t[a-1]?r:1+Math.min(r,o[a],o[a-1]),r=n}}return o[n]}function Pr(e,t){var r;if(0===t.length)return null;const n=e.toLowerCase();return t.find(e=>e.toLowerCase().includes(n)||n.includes(e.toLowerCase()))||(null!==(r=function(e,t,r=3){let n,o=r+1;for(const r of t){const t=Dr(e.toLowerCase(),r.toLowerCase());o>t&&(o=t,n=r)}return o>r?void 0:n}(e,t,3))&&void 0!==r?r:null)}function Mr({componentName:e,data:t,dataLabel:r="data"}){return null==t?`${e}: No ${r} provided. Pass a hierarchical object with children: { name: "root", children: [...] }.`:Array.isArray(t)?`${e}: ${r} should be a single root object, not an array. Expected: { name: "root", children: [...] }. If you have flat data, use LineChart, BarChart, or Scatterplot instead.`:null}function Ir({componentName:e,nodes:t,edges:r,nodesRequired:n=!1,edgesRequired:o=!0,accessors:i}){if(null==t&&null==r)return null;if(o&&(!r||!Array.isArray(r)||0===r.length))return e+': No edges provided. Pass a non-empty array: edges={[{ source: "A", target: "B", value: 10 }, ...]}.';if(n&&(!t||!Array.isArray(t)||0===t.length))return e+': No nodes provided. Pass a non-empty array: nodes={[{ id: "A" }, { id: "B" }, ...]}.';if(i&&t&&t.length>0){const r=(a=t,a.length>3?[a[0],a[Math.floor(a.length/2)],a[a.length-1]]:a).find(e=>e&&"object"==typeof e);if(r){const t=Object.keys(r);for(const[n,o]of Object.entries(i))if(o&&"string"==typeof o&&!(o in r)){const r=Pr(o,t),i=r?` Try ${n}="${r}".`:"";return`${e}: ${n} "${o}" not found in node data. Available fields: ${t.join(", ")}.${i}`}}}var a;return null}const Cr=s(function(r,n){var o;const l=t(null);u(n,()=>({push:e=>{var t;return null===(t=l.current)||void 0===t?void 0:t.push(e)},pushMany:e=>{var t;return null===(t=l.current)||void 0===t?void 0:t.pushMany(e)},clear:()=>{var e;return null===(e=l.current)||void 0===e?void 0:e.clear()},getData:()=>{var e,t,r,n;return null!==(n=null===(r=null===(t=null===(e=l.current)||void 0===e?void 0:e.getTopology())||void 0===t?void 0:t.nodes)||void 0===r?void 0:r.map(e=>e.data))&&void 0!==n?n:[]}}));const c=br(r.mode,{width:r.width,height:r.height,enableHover:r.enableHover,showLegend:r.showLegend,showLabels:r.showLabels,title:r.title},{width:600,height:600}),{nodes:s,edges:d,margin:h,className:f,nodeIDAccessor:g="id",sourceAccessor:y="source",targetAccessor:p="target",nodeLabel:v,colorBy:m,colorScheme:b="category10",nodeSize:x=8,nodeSizeRange:k=[5,20],edgeWidth:w=1,edgeColor:E="#999",edgeOpacity:A=.6,iterations:L=300,forceStrength:S=.1,tooltip:D,frameProps:P={},onObservation:M,chartId:I,selection:C,linkedHover:N,loading:O,emptyContent:T,legendInteraction:W,legendPosition:_}=r,$=c.width,j=c.height,B=c.enableHover,z=c.showLegend,R=null!==(o=c.showLabels)&&void 0!==o&&o,H=c.title,F=Sr(O,$,j);if(F)return F;const Y=Lr(s,$,j,T);if(Y)return Y;const X=s||[],G=d||[],q=yr(X,m,b),V=i(()=>{if(!m)return[];const e=new Set;for(const t of X){const r="function"==typeof m?m(t):t[m];null!=r&&e.add(r+"")}return Array.from(e)},[X,m]),K=vr(W,m,V),Z=i(()=>e=>{const t={};return t.fill=m?Bt(e.data||e,m,q):gr,"number"==typeof x&&(t.r=x),t},[m,q,x]),Q=i(()=>e=>({stroke:E,strokeWidth:"number"==typeof w?w:"function"==typeof w?w(e):e[w]||1,opacity:A}),[w,E,A]),U=i(()=>{if(R&&v)return"function"==typeof v?v:e=>{var t,r,n;return null!==(n=null!==(r=null===(t=e.data)||void 0===t?void 0:t[v])&&void 0!==r?r:e[v])&&void 0!==n?n:e.id}},[R,v]),{legend:J,margin:ee,legendPosition:te}=function({data:e,colorBy:t,colorScale:r,showLegend:n,legendPosition:o="right",userMargin:l,defaults:c={top:50,bottom:60,left:70,right:40}}){const s=a(fr),u=void 0!==n?n:!s&&!!t,d=i(()=>{if(u&&t)return function({data:e,colorBy:t,colorScale:r,getColor:n,strokeColor:o,strokeWidth:i}){const a=Array.from(new Set(e.map(e=>"function"==typeof t?t(e):e[t]))).map(o=>{const i=e.find("function"==typeof t?e=>t(e)===o:e=>e[t]===o),a=i?n(i,t,r):r?r(o):"#000000";return{label:o+"",color:a}});return{legendGroups:[{styleFn:e=>{const t=e.color||"#333",r={fill:t,stroke:t};return void 0!==o&&(r.stroke=o),void 0!==i&&(r.strokeWidth=i),r},type:"fill",items:a,label:""}]}}({data:e,colorBy:t,colorScale:r,getColor:Bt})},[u,t,e,r]),h=i(()=>{const e=Object.assign(Object.assign({},c),l);return d&&("right"===o&&110>e.right?e.right=110:"left"===o&&110>e.left?e.left=110:"top"===o&&50>e.top?e.top=50:"bottom"===o&&80>e.bottom&&(e.bottom=80)),e},[c,l,d,o]);return{legend:d,margin:h,legendPosition:o}}({data:X,colorBy:m,colorScale:q,showLegend:z,legendPosition:_,userMargin:h,defaults:c.marginDefaults}),{customHoverBehavior:re}=pr({selection:C,linkedHover:N,fallbackFields:m?["string"==typeof m?m:""]:[],unwrapData:!0,onObservation:M,chartType:"ForceDirectedGraph",chartId:I}),ne=Ir({componentName:"ForceDirectedGraph",nodes:s,edges:d,nodesRequired:!0,edgesRequired:!0,accessors:{nodeIDAccessor:g}});return ne?e.createElement(xr,{componentName:"ForceDirectedGraph",message:ne,width:$,height:j}):e.createElement(wr,{componentName:"ForceDirectedGraph",width:$,height:j},e.createElement(Jt,Object.assign({ref:l,chartType:"force"},null!=s&&{nodes:X},null!=d&&{edges:G},{size:[$,j],responsiveWidth:r.responsiveWidth,responsiveHeight:r.responsiveHeight,margin:ee,nodeIDAccessor:g,sourceAccessor:y,targetAccessor:p,iterations:L,forceStrength:S,nodeStyle:Z,edgeStyle:Q,colorBy:m,colorScheme:b,nodeSize:x,nodeSizeRange:k,nodeLabel:U,showLabels:R,enableHover:B,tooltipContent:!1===D?()=>null:or(D)||void 0,customHoverBehavior:N||M?re:void 0,legend:J,legendPosition:te},W&&"none"!==W&&{legendHoverBehavior:K.onLegendHover,legendClickBehavior:K.onLegendClick,legendHighlightedCategory:K.highlightedCategory,legendIsolatedCategories:K.isolatedCategories},{className:f,title:H},P)))});function Nr(e,t){if(!e)return[];const r=[],n=e=>{r.push(e);const o="function"==typeof t?t(e):e[t];o&&Array.isArray(o)&&o.forEach(n)};return n(e),r}function Or(e,t,r,n){if(e&&e.length>0)return e;const o=new Set;return t.forEach(e=>{const t="function"==typeof r?r(e):e[r],i="function"==typeof n?n(e):e[n];o.add(t),o.add(i)}),Array.from(o).map(e=>({id:e}))}function Tr(e){return"function"==typeof e?e:t=>t[e]||1}function Wr({edgeColorBy:e,colorBy:t,colorScale:r,nodeStyleFn:n,edgeOpacity:o,baseStyle:i={}}){return a=>{const l=Object.assign({fillOpacity:o},i);if("function"==typeof e)l.fill=e(a);else if("source"===e){const e="object"==typeof a.source?a.source:null;t&&e?l.fill=Bt(e.data||e,t,r):e&&(l.fill=n(e,e.index).fill)}else if("target"===e){const e="object"==typeof a.target?a.target:null;t&&e?l.fill=Bt(e.data||e,t,r):e&&(l.fill=n(e,e.index).fill)}else"gradient"===e&&(l.fill="#999",l.fillOpacity=.7*o);return l}}Cr.displayName="ForceDirectedGraph";const _r=s(function(r,n){var o;const a=t(null);u(n,()=>({push:e=>{var t;return null===(t=a.current)||void 0===t?void 0:t.push(e)},pushMany:e=>{var t;return null===(t=a.current)||void 0===t?void 0:t.pushMany(e)},clear:()=>{var e;return null===(e=a.current)||void 0===e?void 0:e.clear()},getData:()=>{var e,t,r,n;return null!==(n=null===(r=null===(t=null===(e=a.current)||void 0===e?void 0:e.getTopology())||void 0===t?void 0:t.edges)||void 0===r?void 0:r.map(e=>e.data))&&void 0!==n?n:[]}}));const l=br(r.mode,{width:r.width,height:r.height,enableHover:r.enableHover,showLabels:r.showLabels,title:r.title},{width:800,height:600}),{nodes:c,edges:s,margin:d,className:h,sourceAccessor:f="source",targetAccessor:g="target",valueAccessor:y="value",nodeIdAccessor:p="id",colorBy:v,colorScheme:m="category10",edgeColorBy:b="source",orientation:x="horizontal",nodeAlign:k="justify",nodePaddingRatio:w=.05,nodeWidth:E=15,nodeLabel:A,edgeOpacity:L=.5,edgeSort:S,tooltip:D,frameProps:P={},onObservation:M,chartId:I,selection:C,linkedHover:N,loading:O,emptyContent:T,legendInteraction:W}=r,_=l.width,$=l.height,j=l.enableHover,B=null===(o=l.showLabels)||void 0===o||o,z=l.title,R=Sr(O,_,$);if(R)return R;const H=Lr(s,_,$,T);if(H)return H;const F=s||[],Y=i(()=>Or(c,F,f,g),[c,F,f,g]),X=yr(Y,v,m),G=i(()=>{if(!v)return[];const e=new Set;for(const t of Y){const r="function"==typeof v?v(t):t[v];null!=r&&e.add(r+"")}return Array.from(e)},[Y,v]),q=vr(W,v,G),V=i(()=>e=>{const t={stroke:"black",strokeWidth:1};return t.fill=v?Bt(e.data||e,v,X):"#4d430c",t},[v,X]),K=i(()=>Wr({edgeColorBy:b,colorBy:v,colorScale:X,nodeStyleFn:V,edgeOpacity:L,baseStyle:{stroke:"none",strokeWidth:0}}),[b,v,X,V,L]),Z=i(()=>{if(!B)return;const e=A||p;return"function"==typeof e?e:t=>{var r,n,o;return null!==(o=null!==(n=null===(r=t.data)||void 0===r?void 0:r[e])&&void 0!==n?n:t[e])&&void 0!==o?o:t.id}},[B,A,p]),Q=Object.assign(Object.assign({},l.marginDefaults),d),{customHoverBehavior:U,customClickBehavior:J}=pr({selection:C,linkedHover:N,fallbackFields:v?["string"==typeof v?v:""]:[],unwrapData:!0,onObservation:M,chartType:"SankeyDiagram",chartId:I}),ee=Ir({componentName:"SankeyDiagram",edges:s,edgesRequired:!0});return ee?e.createElement(xr,{componentName:"SankeyDiagram",message:ee,width:_,height:$}):e.createElement(wr,{componentName:"SankeyDiagram",width:_,height:$},e.createElement(Jt,Object.assign({ref:a,chartType:"sankey"},Y.length>0&&{nodes:Y},null!=s&&{edges:F},{size:[_,$],responsiveWidth:r.responsiveWidth,responsiveHeight:r.responsiveHeight,margin:Q,nodeIDAccessor:p,sourceAccessor:f,targetAccessor:g,valueAccessor:y,orientation:x,nodeAlign:k,nodePaddingRatio:w,nodeWidth:E,nodeStyle:V,edgeStyle:K,colorBy:v,colorScheme:m,edgeColorBy:b,edgeOpacity:L,edgeSort:S,nodeLabel:Z,showLabels:B,enableHover:j,tooltipContent:!1===D?()=>null:or(D)||void 0,customHoverBehavior:N||M?U:void 0,customClickBehavior:M?J:void 0},W&&"none"!==W&&{legendHoverBehavior:q.onLegendHover,legendClickBehavior:q.onLegendClick,legendHighlightedCategory:q.highlightedCategory,legendIsolatedCategories:q.isolatedCategories},{className:h,title:z},P)))});_r.displayName="SankeyDiagram";const $r=s(function(r,n){var o;const a=t(null);u(n,()=>({push:e=>{var t;return null===(t=a.current)||void 0===t?void 0:t.push(e)},pushMany:e=>{var t;return null===(t=a.current)||void 0===t?void 0:t.pushMany(e)},clear:()=>{var e;return null===(e=a.current)||void 0===e?void 0:e.clear()},getData:()=>{var e,t,r,n;return null!==(n=null===(r=null===(t=null===(e=a.current)||void 0===e?void 0:e.getTopology())||void 0===t?void 0:t.edges)||void 0===r?void 0:r.map(e=>e.data))&&void 0!==n?n:[]}}));const l=br(r.mode,{width:r.width,height:r.height,enableHover:r.enableHover,showLabels:r.showLabels,title:r.title},{width:600,height:600}),{nodes:c,edges:s,margin:d,className:h,sourceAccessor:f="source",targetAccessor:g="target",valueAccessor:y="value",nodeIdAccessor:p="id",colorBy:v,colorScheme:m="category10",edgeColorBy:b="source",padAngle:x=.01,groupWidth:k=20,sortGroups:w,nodeLabel:E,edgeOpacity:A=.5,tooltip:L,frameProps:S={},onObservation:D,chartId:P,selection:M,linkedHover:I,loading:C,emptyContent:N,legendInteraction:O}=r,T=l.width,W=l.height,_=l.enableHover,$=null===(o=l.showLabels)||void 0===o||o,j=l.title,B=Sr(C,T,W);if(B)return B;const z=Lr(s,T,W,N);if(z)return z;const R=s||[],H=i(()=>Or(c,R,f,g),[c,R,f,g]),F=yr(H,v,m),Y=i(()=>{if(!v)return[];const e=new Set;for(const t of H){const r="function"==typeof v?v(t):t[v];null!=r&&e.add(r+"")}return Array.from(e)},[H,v]),X=vr(O,v,Y),G=H.length>0,q=i(()=>{if(G)return(e,t)=>{var r,n;const o={stroke:"black",strokeWidth:1};if(v)o.fill=Bt(e.data||e,v,F);else{const i=Array.isArray(m)?m:Wt[m]||_t,a=Array.isArray(i)?i:_t,l=null!==(n=null!==(r=e.index)&&void 0!==r?r:t)&&void 0!==n?n:0;o.fill=a[l%a.length]}return o}},[G,v,F,m]),V=i(()=>{if(G)return Wr({edgeColorBy:b,colorBy:v,colorScale:F,nodeStyleFn:q||(e=>({fill:gr})),edgeOpacity:A,baseStyle:{stroke:"black",strokeWidth:.5,strokeOpacity:A}})},[G,b,v,F,q,A]),K=i(()=>{if(!$)return;const e=E||p;return"function"==typeof e?e:t=>{var r,n,o;return null!==(o=null!==(n=null===(r=t.data)||void 0===r?void 0:r[e])&&void 0!==n?n:t[e])&&void 0!==o?o:t.id}},[$,E,p]),Z=Object.assign(Object.assign({},l.marginDefaults),d),{customHoverBehavior:Q}=pr({selection:M,linkedHover:I,fallbackFields:v?["string"==typeof v?v:""]:[],unwrapData:!0,onObservation:D,chartType:"ChordDiagram",chartId:P}),U=Ir({componentName:"ChordDiagram",edges:s,edgesRequired:!0});return U?e.createElement(xr,{componentName:"ChordDiagram",message:U,width:T,height:W}):e.createElement(wr,{componentName:"ChordDiagram",width:T,height:W},e.createElement(Jt,Object.assign({ref:a,chartType:"chord"},H.length>0&&{nodes:H},null!=s&&{edges:R},{size:[T,W],responsiveWidth:r.responsiveWidth,responsiveHeight:r.responsiveHeight,margin:Z,nodeIDAccessor:p,sourceAccessor:f,targetAccessor:g,valueAccessor:y,padAngle:x,groupWidth:k,sortGroups:w,nodeStyle:q,edgeStyle:V,colorBy:v,colorScheme:m,edgeColorBy:b,edgeOpacity:A,nodeLabel:K,showLabels:$,enableHover:_,tooltipContent:!1===L?()=>null:or(L)||void 0,customHoverBehavior:I||D?Q:void 0},O&&"none"!==O&&{legendHoverBehavior:X.onLegendHover,legendClickBehavior:X.onLegendClick,legendHighlightedCategory:X.highlightedCategory,legendIsolatedCategories:X.isolatedCategories},{className:h,title:j},S)))});function jr(t){var r;const n=br(t.mode,{width:t.width,height:t.height,enableHover:t.enableHover,showLabels:t.showLabels,title:t.title},{width:600,height:600}),{data:o,margin:a,className:l,layout:c="tree",orientation:s="vertical",childrenAccessor:u="children",valueAccessor:d="value",nodeIdAccessor:h="name",colorBy:f,colorScheme:g="category10",colorByDepth:y=!1,edgeStyle:p="curve",nodeLabel:v,nodeSize:m=5,tooltip:b,frameProps:x={},onObservation:k,chartId:w,selection:E,linkedHover:A,loading:L,legendInteraction:S}=t,D=n.width,P=n.height,M=n.enableHover,I=null===(r=n.showLabels)||void 0===r||r,C=n.title,N=Sr(L,D,P);if(N)return N;const O=i(()=>Nr(null!=o?o:null,u),[o,u]),T=yr(O,y?void 0:f,g),W=i(()=>{if(!f||y)return[];const e=new Set;for(const t of O){const r="function"==typeof f?f(t):t[f];null!=r&&e.add(r+"")}return Array.from(e)},[O,f,y]),_=vr(S,y?void 0:f,W),$=i(()=>e=>{const t={stroke:"black",strokeWidth:1};return t.fill=y?$t[(e.depth||0)%$t.length]:f?Bt(e.data||e,f,T):gr,t},[f,y,T]),j=i(()=>()=>({stroke:"#999",strokeWidth:1,fill:"none"}),[]),B=i(()=>{if("treemap"===c||"circlepack"===c||"partition"===c)return Tr(d)},[c,d]),z=Object.assign(Object.assign({},n.marginDefaults),a),{customHoverBehavior:R}=pr({selection:E,linkedHover:A,fallbackFields:f?["string"==typeof f?f:""]:[],unwrapData:!0,onObservation:k,chartType:"TreeDiagram",chartId:w}),H=Mr({componentName:"TreeDiagram",data:o});return H?e.createElement(xr,{componentName:"TreeDiagram",message:H,width:D,height:P}):e.createElement(wr,{componentName:"TreeDiagram",width:D,height:P},e.createElement(Jt,Object.assign({chartType:c},null!=o&&{data:o},{size:[D,P],responsiveWidth:t.responsiveWidth,responsiveHeight:t.responsiveHeight,margin:z,nodeIDAccessor:h,childrenAccessor:u,hierarchySum:B,treeOrientation:s,edgeType:p,nodeStyle:$,edgeStyle:j,colorBy:f,colorScheme:g,colorByDepth:y,nodeSize:m,nodeLabel:I?v||h:void 0,showLabels:I,enableHover:M,tooltipContent:!1===b?()=>null:or(b)||void 0,customHoverBehavior:A||k?R:void 0},S&&"none"!==S&&{legendHoverBehavior:_.onLegendHover,legendClickBehavior:_.onLegendClick,legendHighlightedCategory:_.highlightedCategory,legendIsolatedCategories:_.isolatedCategories},{className:l,title:C},x)))}function Br(t){var r;const n=br(t.mode,{width:t.width,height:t.height,enableHover:t.enableHover,showLabels:t.showLabels,title:t.title,linkedHover:t.linkedHover},{width:600,height:600}),{data:o,margin:a,className:c,childrenAccessor:s="children",valueAccessor:u="value",nodeIdAccessor:d="name",colorBy:h,colorScheme:f="category10",colorByDepth:g=!1,labelMode:y="leaf",nodeLabel:p,padding:v=4,paddingTop:m,tooltip:b,frameProps:x={},selection:k,linkedHover:w,onObservation:E,chartId:A,loading:L,legendInteraction:S}=t,D=n.width,P=n.height,M=n.enableHover,I=null===(r=n.showLabels)||void 0===r||r,C=n.title,N=Sr(L,D,P);if(N)return N;const{activeSelectionHook:O,customHoverBehavior:T}=pr({selection:k,linkedHover:w,fallbackFields:h?["string"==typeof h?h:""]:[],onObservation:E,chartType:"Treemap",chartId:A}),W=l(e=>{if(!e)return T(null);const t=e.data||e;T({data:(null==t?void 0:t.data)||t})},[T]),_=i(()=>Nr(null!=o?o:null,s),[o,s]),$=yr(_,g?void 0:h,f),j=i(()=>{if(!h||g)return[];const e=new Set;for(const t of _){const r="function"==typeof h?h(t):t[h];null!=r&&e.add(r+"")}return Array.from(e)},[_,h,g]),B=vr(S,g?void 0:h,j),z=i(()=>e=>{const t={stroke:"#fff",strokeWidth:1,strokeOpacity:.8};return t.fill=g?$t[(e.depth||0)%$t.length]:h?Bt(e.data||e,h,$):gr,t},[h,g,$]),R=i(()=>O?e=>{var t;const r=Object.assign({},z(e));if(O.isActive)if(O.predicate(e.data||e))(null==k?void 0:k.selectedStyle)&&Object.assign(r,k.selectedStyle);else{const e=null!==(t=null==k?void 0:k.unselectedOpacity)&&void 0!==t?t:.2;r.opacity=e,r.fillOpacity=e,r.strokeOpacity=e,(null==k?void 0:k.unselectedStyle)&&Object.assign(r,k.unselectedStyle)}return r}:z,[z,O,k]),H=i(()=>Tr(u),[u]),F=void 0!==m?m:I&&"parent"===y?18:void 0,Y=Object.assign(Object.assign({},n.marginDefaults),a),X=Mr({componentName:"Treemap",data:o});return X?e.createElement(xr,{componentName:"Treemap",message:X,width:D,height:P}):e.createElement(wr,{componentName:"Treemap",width:D,height:P},e.createElement(Jt,Object.assign({chartType:"treemap"},null!=o&&{data:o},{size:[D,P],responsiveWidth:t.responsiveWidth,responsiveHeight:t.responsiveHeight,margin:Y,nodeIDAccessor:d,childrenAccessor:s,hierarchySum:H,padding:v,paddingTop:F,nodeStyle:R,colorBy:h,colorScheme:f,colorByDepth:g,nodeLabel:I?p||d:void 0,showLabels:I,labelMode:y,enableHover:M,tooltipContent:!1===b?()=>null:or(b)||void 0},(w||E)&&{customHoverBehavior:W},S&&"none"!==S&&{legendHoverBehavior:B.onLegendHover,legendClickBehavior:B.onLegendClick,legendHighlightedCategory:B.highlightedCategory,legendIsolatedCategories:B.isolatedCategories},{className:c,title:C},x)))}function zr(t){var r;const n=br(t.mode,{width:t.width,height:t.height,enableHover:t.enableHover,showLabels:t.showLabels,title:t.title},{width:600,height:600}),{data:o,margin:a,className:l,childrenAccessor:c="children",valueAccessor:s="value",nodeIdAccessor:u="name",colorBy:d,colorScheme:h="category10",colorByDepth:f=!1,nodeLabel:g,circleOpacity:y=.7,padding:p=4,tooltip:v,frameProps:m={},onObservation:b,chartId:x,selection:k,linkedHover:w,loading:E,legendInteraction:A}=t,L=n.width,S=n.height,D=n.enableHover,P=null===(r=n.showLabels)||void 0===r||r,M=n.title,I=Sr(E,L,S);if(I)return I;const C=i(()=>Nr(null!=o?o:null,c),[o,c]),N=yr(C,f?void 0:d,h),O=i(()=>{if(!d||f)return[];const e=new Set;for(const t of C){const r="function"==typeof d?d(t):t[d];null!=r&&e.add(r+"")}return Array.from(e)},[C,d,f]),T=vr(A,f?void 0:d,O),W=i(()=>e=>{const t={stroke:"currentColor",strokeWidth:1,strokeOpacity:.3,fillOpacity:y};return t.fill=f?$t[(e.depth||0)%$t.length]:d?Bt(e.data||e,d,N):gr,t},[d,f,N,y]),_=i(()=>Tr(s),[s]),$=Object.assign(Object.assign({},n.marginDefaults),a),{customHoverBehavior:j}=pr({selection:k,linkedHover:w,fallbackFields:d?["string"==typeof d?d:""]:[],unwrapData:!0,onObservation:b,chartType:"CirclePack",chartId:x}),B=Mr({componentName:"CirclePack",data:o});return B?e.createElement(xr,{componentName:"CirclePack",message:B,width:L,height:S}):e.createElement(wr,{componentName:"CirclePack",width:L,height:S},e.createElement(Jt,Object.assign({chartType:"circlepack"},null!=o&&{data:o},{size:[L,S],responsiveWidth:t.responsiveWidth,responsiveHeight:t.responsiveHeight,margin:$,nodeIDAccessor:u,childrenAccessor:c,hierarchySum:_,padding:p,nodeStyle:W,colorBy:d,colorScheme:h,colorByDepth:f,nodeLabel:P?g||u:void 0,showLabels:P,enableHover:D,tooltipContent:!1===v?()=>null:or(v)||void 0,customHoverBehavior:w||b?j:void 0},A&&"none"!==A&&{legendHoverBehavior:T.onLegendHover,legendClickBehavior:T.onLegendClick,legendHighlightedCategory:T.highlightedCategory,legendIsolatedCategories:T.isolatedCategories},{className:l,title:M},m)))}$r.displayName="ChordDiagram",jr.displayName="TreeDiagram",Br.displayName="Treemap",zr.displayName="CirclePack";const Rr=$t;function Hr(t){const r=br(t.mode,{width:t.width,height:t.height,enableHover:t.enableHover,showLabels:t.showLabels,title:t.title},{width:600,height:600}),{data:n,margin:o,className:a,childrenAccessor:l="children",nodeIdAccessor:c="name",colorBy:s,colorScheme:u="category10",colorByDepth:d=!1,orbitMode:h="flat",orbitSize:f=2.95,speed:g=.25,revolution:y,revolutionStyle:p,eccentricity:v=1,showRings:m=!0,nodeRadius:b=6,showLabels:x=!1,animated:k=!0,tooltip:w,foregroundGraphics:E,annotations:A,frameProps:L={},onObservation:S,chartId:D,selection:P,linkedHover:M,loading:I}=t,C=r.width,N=r.height,O=r.enableHover,T=r.title,W=Sr(I,C,N);if(W)return W;const _=yr(i(()=>Nr(n,l),[n,l]),d?void 0:s,u),$=i(()=>{if(Array.isArray(u))return u;const e=Wt[u];return Array.isArray(e)?e:_t},[u]),j=i(()=>e=>{var t;const r={stroke:"#fff",strokeWidth:1},n=0===(null!==(t=e.depth)&&void 0!==t?t:0);return r.fill=d?n?$[0]:Rr[(e.depth||0)%Rr.length]:s?Bt(e.data||e,s,_):gr,r.opacity=n?1:.85,r},[s,d,_,$]),B=i(()=>()=>({stroke:"rgba(128,128,128,0.35)",strokeWidth:.5,opacity:1}),[]),z=Object.assign({top:10,right:10,bottom:10,left:10},o),{customHoverBehavior:R}=pr({selection:P,linkedHover:M,fallbackFields:s?["string"==typeof s?s:""]:[],unwrapData:!0,onObservation:S,chartType:"OrbitDiagram",chartId:D}),H=i(()=>{if(R)return e=>{R(e&&e.data&&void 0!==e.data.data?Object.assign(Object.assign({},e),{data:e.data.data}):e)}},[R]),F=Mr({componentName:"OrbitDiagram",data:n});return F?e.createElement(xr,{componentName:"OrbitDiagram",message:F,width:C,height:N}):e.createElement(wr,{componentName:"OrbitDiagram",width:C,height:N},e.createElement(Jt,Object.assign({chartType:"orbit"},null!=n&&{data:n},{size:[C,N],responsiveWidth:t.responsiveWidth,responsiveHeight:t.responsiveHeight,margin:z,nodeIDAccessor:c,childrenAccessor:l,nodeStyle:j,edgeStyle:B,colorBy:s,colorScheme:u,colorByDepth:d,nodeSize:b,nodeLabel:x?c:void 0,showLabels:x,enableHover:!k&&O,tooltipContent:k?void 0:!1===w?()=>null:or(w)||void 0,customHoverBehavior:M||S?H:void 0,foregroundGraphics:E,annotations:A,className:a,title:T,orbitMode:h,orbitSize:f,orbitSpeed:g,orbitRevolution:y,orbitRevolutionStyle:p,orbitEccentricity:v,orbitShowRings:m,orbitAnimated:k},L)))}Hr.displayName="OrbitDiagram";export{$r as ChordDiagram,zr as CirclePack,Cr as ForceDirectedGraph,Hr as OrbitDiagram,_r as SankeyDiagram,Jt as StreamNetworkFrame,jr as TreeDiagram,Br as Treemap};
1
+ import*as e from"react";import{useRef as t,useState as r,useEffect as n,createContext as o,useMemo as i,useContext as a,useCallback as s,useSyncExternalStore as c,forwardRef as l,useImperativeHandle as u,useId as d}from"react";import{interpolateNumber as h}from"d3-interpolate";import{min as y,groups as g,max as p,sum as f,mean as m,group as v}from"d3-array";import{schemeCategory10 as b,interpolatePlasma as x,interpolateViridis as k,interpolatePurples as A,interpolateOranges as w,interpolateGreens as S,interpolateReds as E,interpolateBlues as L,schemeSet3 as D,schemeTableau10 as O}from"d3-scale-chromatic";import{forceLink as j,forceSimulation as P,forceManyBody as C,forceCenter as I,forceX as N,forceY as T}from"d3-force";import{scaleLinear as M,scaleOrdinal as $}from"d3-scale";import{ribbon as _,chord as W}from"d3-chord";import{arc as B,pie as R}from"d3-shape";import{hierarchy as z,partition as H,pack as F,treemap as Y,treemapBinary as X,cluster as q,tree as G}from"d3-hierarchy";const V={weightChange:.1,newEdge:.5,newNode:1,threshold:3,transitionDuration:500},K={radius:3,opacity:.7,speedMultiplier:1,maxPerEdge:50,spawnRate:.1};class Z{constructor(e){this.capacity=e,this.particles=Array(e);for(let t=0;e>t;t++)this.particles[t]={t:0,offset:0,edgeIndex:0,active:!1,x:0,y:0}}spawn(e){for(let t=0;this.capacity>t;t++){const r=this.particles[t];if(!r.active)return r.active=!0,r.t=0,r.offset=Math.random()-.5,r.edgeIndex=e,r.x=0,r.y=0,r}return null}step(e,t,r,n){var o;for(let i=0;this.capacity>i;i++){const a=this.particles[i];if(!a.active)continue;const s=r[a.edgeIndex];if(!s||!s.bezier){a.active=!1;continue}const c=n&&null!==(o=n[a.edgeIndex])&&void 0!==o?o:1;if(a.t+=e*t*c*(s.bezier.circular?.3:1),a.t>=1){a.active=!1;continue}const l=Q(s.bezier,a.t,a.offset);a.x=l.x,a.y=l.y}}countForEdge(e){let t=0;for(let r=0;this.capacity>r;r++)this.particles[r].active&&this.particles[r].edgeIndex===e&&t++;return t}clear(){for(let e=0;this.capacity>e;e++)this.particles[e].active=!1}resize(e){if(this.capacity>=e)return;const t=this.particles;this.particles=Array(e);for(let r=0;e>r;r++)this.particles[r]=t.length>r?t[r]:{t:0,offset:0,edgeIndex:0,active:!1,x:0,y:0};this.capacity=e}}function Q(e,t,r){if(e.circular&&e.segments)return function(e,t,r,n){const o=e.length,i=t*o,a=Math.min(Math.floor(i),o-1),s=i-a,[c,l,u,d]=e[a],h=U(c,l,u,d,s),y=d.x-c.x,g=d.y-c.y,p=Math.sqrt(y*y+g*g);if(p>.001){const e=y/p;h.x+=-g/p*r*n*2,h.y+=e*r*n*2}return h}(e.segments,t,r,e.halfWidth);if(!e.points)return{x:0,y:0};const[n,o,i,a]=e.points,s=U(n,o,i,a,t),c=a.x-n.x,l=a.y-n.y,u=Math.sqrt(c*c+l*l);if(u>.001){const t=c/u;s.x+=-l/u*r*e.halfWidth*2,s.y+=t*r*e.halfWidth*2}return s}function U(e,t,r,n,o){const i=1-o,a=i*i,s=a*i,c=o*o,l=c*o;return{x:s*e.x+3*a*o*t.x+3*i*c*r.x+l*n.x,y:s*e.y+3*a*o*t.y+3*i*c*r.y+l*n.y}}function J(e,t){var r=e.get(t);if(!r)throw Error("missing: "+t);return r}function ee(e,t){var r,n=[],o=[],i=[],a={},s=[];function c(e){i[e]=!1,a.hasOwnProperty(e)&&Object.keys(a[e]).forEach(function(t){delete a[e][t],i[t]&&c(t)})}function l(e){var t,n,d=!1;for(o.push(e),i[e]=!0,t=0;s[e].length>t;t++)(n=s[e][t])===r?(u(r,o),d=!0):i[n]||(d=l(n));if(d)c(e);else for(t=0;s[e].length>t;t++){var h=a[n=s[e][t]];h||(a[n]=h={}),h[n]=!0}return o.pop(),d}function u(e,t){var r=[].concat(t).concat(e);n.push(r)}function d(t){!function(t){for(var r=0;e.length>r;r++)r>=t&&e[r]||(e[r]=[]),e[r]=e[r].filter(function(e){return e>=t})}(t);for(var r,n=function(e){for(var t=e.length,r=Array(t),n=Array(t),o=Array(t),i=Array(t),a=Array(t),s=Array(t),c=0;t>c;++c)r[c]=-1,n[c]=0,o[c]=!1,i[c]=0,a[c]=-1,s[c]=[];var l,u=0,d=[],h=[];function y(t){var c=[t],l=[t];for(r[t]=n[t]=u,o[t]=!0,u+=1;l.length>0;){var y=e[t=l[l.length-1]];if(y.length>i[t]){for(var g=i[t];y.length>g;++g){var p=y[g];if(0>r[p]){r[p]=n[p]=u,o[p]=!0,u+=1,c.push(p),l.push(p);break}o[p]&&(n[t]=0|Math.min(n[t],n[p])),0>a[p]||s[t].push(a[p])}i[t]=g}else{if(n[t]===r[t]){var f=[],m=[],v=0;for(g=c.length-1;g>=0;--g){var b=c[g];if(o[b]=!1,f.push(b),m.push(s[b]),v+=s[b].length,a[b]=d.length,b===t){c.length=g;break}}d.push(f);var x=Array(v);for(g=0;m.length>g;g++)for(var k=0;m[g].length>k;k++)x[--v]=m[g][k];h.push(x)}l.pop()}}}for(c=0;t>c;++c)0>r[c]&&y(c);for(c=0;h.length>c;c++){var g=h[c];if(0!==g.length){g.sort(function(e,t){return e-t}),l=[g[0]];for(var p=1;g.length>p;p++)g[p]!==g[p-1]&&l.push(g[p]);h[c]=l}}return{components:d,adjacencyList:h}}(e),o=n.components.filter(function(e){return e.length>1}),i=1/0,a=0;o.length>a;a++)for(var s=0;o[a].length>s;s++)i>o[a][s]&&(i=o[a][s],r=a);var c=o[r];if(!c)return!1;var l=e.map(function(e,t){return-1===c.indexOf(t)?[]:e.filter(function(e){return-1!==c.indexOf(e)})});return{leastVertex:i,adjList:l}}r=0;for(var h=e.length;h>r;){var y=d(r);if(r=y.leastVertex,s=y.adjList){for(var g=0;s.length>g;g++)for(var p=0;s[g].length>p;p++){var f=s[g][p];i[+f]=!1,a[f]={}}l(r),r+=1}else r=h}return n}function te(e){return e.y0-e.y1>0?"up":"down"}function re(e,t){return t(e.source)==t(e.target)}function ne(e){var t=0;e.source.sourceLinks.forEach(function(e){t=e.circular?t+1:t});var r=0;return e.target.targetLinks.forEach(function(e){r=e.circular?r+1:r}),1>=t&&1>=r}function oe(e){return e.target.x0-e.source.x1}function ie(e,t){var r=se(e),n=oe(t)/Math.tan(r);return"up"==te(e)?e.y1-n:e.y1+n}function ae(e,t){var r=se(e),n=oe(t)/Math.tan(r);return"up"==te(e)?e.y1+n:e.y1-n}function se(e){var t=Math.abs(e.y1-e.y0);return Math.atan(Math.abs(e.target.x0-e.source.x1)/t)}function ce(e,t){return t(e)}function le(e){return de(e.source)}function ue(e){return de(e.target)}function de(e){return(e.y0+e.y1)/2}function he(e){return e.virtual?0:e.value}function ye(e,t){var r=0;e.sourceLinks.forEach(function(e){r=e.circular&&!re(e,t)?r+1:r});var n=0;return e.targetLinks.forEach(function(e){n=e.circular&&!re(e,t)?n+1:n}),r+n}function ge(e){return e.target.depth}function pe(e,t){return e.sourceLinks.length?e.depth:t-1}function fe(e,t){return e.y0-t.y0}function me(e,t){return t.y0-e.y0}function ve(e,t){return e.y1-t.y1}function be(e,t){return t.y1-e.y1}function xe(e,t){return Ae(e.source,t.source)||e.index-t.index}function ke(e,t){return Ae(e.target,t.target)||e.index-t.index}function Ae(e,t){return e.partOfCycle===t.partOfCycle?e.y0-t.y0:"top"===e.circularLinkType||"bottom"===t.circularLinkType?-1:1}function we(e,t){return Se(e)==Se(t)?"bottom"==e.circularLinkType?me(e,t):fe(e,t):Se(t)-Se(e)}function Se(e){return e.target.column-e.source.column}function Ee(e,t){return Le(e)==Le(t)}function Le(e){return e.y0-e.y1>0?"up":"down"}function De(e,t,r,n,o){let i=e;var a=Math.max(8,.15*(i.y1-i.y0));i.links.forEach(function(e){e.circular&&(e._circularWidth=Math.min(e.width,a))});var s=y(i.links,function(e){return e.source.y0});i.links.forEach(function(e){e.circular&&(e.circularPathData={})});var c=i.links.filter(function(e){return e.circular});return c.sort(function(e,t){return t.value-e.value}),c.forEach(function(e,t){e._circularStub=t>=4}),Oe(i.links.filter(function(e){return"top"==e.circularLinkType}),t,r),Oe(i.links.filter(function(e){return"bottom"==e.circularLinkType}),t,r),i.links.forEach(function(e){if(e.circular){if(e.circularPathData.arcRadius=e._circularWidth+n,e.circularPathData.rightNodeBuffer=5,e.circularPathData.leftNodeBuffer=5,e.circularPathData.sourceWidth=e.source.x1-e.source.x0,e.circularPathData.sourceX=e.source.x0+e.circularPathData.sourceWidth,e.circularPathData.targetX=e.target.x0,e.circularPathData.sourceY=e.y0,e.circularPathData.targetY=e.y1,re(e,t)&&ne(e))e.circularPathData.rightSmallArcRadius=n+e._circularWidth/2,e.circularPathData.rightLargeArcRadius=n+e._circularWidth/2,e.circularPathData.leftSmallArcRadius=n+e._circularWidth/2,e.circularPathData.leftLargeArcRadius=n+e._circularWidth/2,"bottom"==e.circularLinkType?(e.circularPathData.verticalFullExtent=e.source.y1+o+e.circularPathData.verticalBuffer,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius):(e.circularPathData.verticalFullExtent=e.source.y0-o-e.circularPathData.verticalBuffer,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius);else{var a=e.source.column,c=e.circularLinkType,l=i.links.filter(function(e){return e.source.column==a&&e.circularLinkType==c});l.sort("bottom"==e.circularLinkType?me:fe);var u=0;l.forEach(function(t,o){t.circularLinkID==e.circularLinkID&&(e.circularPathData.rightSmallArcRadius=n+e._circularWidth/2+u,e.circularPathData.rightLargeArcRadius=n+e._circularWidth/2+o*r+u),u+=t._circularWidth||t.width}),a=e.target.column,(l=i.links.filter(function(e){return e.target.column==a&&e.circularLinkType==c})).sort("bottom"==e.circularLinkType?be:ve),u=0,l.forEach(function(t,o){t.circularLinkID==e.circularLinkID&&(e.circularPathData.leftSmallArcRadius=n+e._circularWidth/2+u,e.circularPathData.leftLargeArcRadius=n+e._circularWidth/2+o*r+u),u+=t._circularWidth||t.width}),"bottom"==e.circularLinkType?(e.circularPathData.verticalFullExtent=Math.max(i.y1,e.source.y1,e.target.y1)+o+e.circularPathData.verticalBuffer,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius):(e.circularPathData.verticalFullExtent=s-o-e.circularPathData.verticalBuffer,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius)}e.circularPathData.rightInnerExtent=e.circularPathData.sourceX+e.circularPathData.rightNodeBuffer,e.circularPathData.leftInnerExtent=e.circularPathData.targetX-e.circularPathData.leftNodeBuffer,e.circularPathData.rightFullExtent=e.circularPathData.sourceX+e.circularPathData.rightLargeArcRadius+e.circularPathData.rightNodeBuffer,e.circularPathData.leftFullExtent=e.circularPathData.targetX-e.circularPathData.leftLargeArcRadius-e.circularPathData.leftNodeBuffer}e.path=e.circular?function(e){return"top"==e.circularLinkType?"M"+e.circularPathData.sourceX+" "+e.circularPathData.sourceY+" L"+e.circularPathData.rightInnerExtent+" "+e.circularPathData.sourceY+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightSmallArcRadius+" 0 0 0 "+e.circularPathData.rightFullExtent+" "+(e.circularPathData.sourceY-e.circularPathData.rightSmallArcRadius)+" L"+e.circularPathData.rightFullExtent+" "+e.circularPathData.verticalRightInnerExtent+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightLargeArcRadius+" 0 0 0 "+e.circularPathData.rightInnerExtent+" "+e.circularPathData.verticalFullExtent+" L"+e.circularPathData.leftInnerExtent+" "+e.circularPathData.verticalFullExtent+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftLargeArcRadius+" 0 0 0 "+e.circularPathData.leftFullExtent+" "+e.circularPathData.verticalLeftInnerExtent+" L"+e.circularPathData.leftFullExtent+" "+(e.circularPathData.targetY-e.circularPathData.leftSmallArcRadius)+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftSmallArcRadius+" 0 0 0 "+e.circularPathData.leftInnerExtent+" "+e.circularPathData.targetY+" L"+e.circularPathData.targetX+" "+e.circularPathData.targetY:"M"+e.circularPathData.sourceX+" "+e.circularPathData.sourceY+" L"+e.circularPathData.rightInnerExtent+" "+e.circularPathData.sourceY+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightSmallArcRadius+" 0 0 1 "+e.circularPathData.rightFullExtent+" "+(e.circularPathData.sourceY+e.circularPathData.rightSmallArcRadius)+" L"+e.circularPathData.rightFullExtent+" "+e.circularPathData.verticalRightInnerExtent+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightLargeArcRadius+" 0 0 1 "+e.circularPathData.rightInnerExtent+" "+e.circularPathData.verticalFullExtent+" L"+e.circularPathData.leftInnerExtent+" "+e.circularPathData.verticalFullExtent+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftLargeArcRadius+" 0 0 1 "+e.circularPathData.leftFullExtent+" "+e.circularPathData.verticalLeftInnerExtent+" L"+e.circularPathData.leftFullExtent+" "+(e.circularPathData.targetY+e.circularPathData.leftSmallArcRadius)+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftSmallArcRadius+" 0 0 1 "+e.circularPathData.leftInnerExtent+" "+e.circularPathData.targetY+" L"+e.circularPathData.targetX+" "+e.circularPathData.targetY}(e):function(e){var t=e.source.x1,r=e.y0,n=e.target.x0,o=e.y1,i=(t+n)/2;return"M"+t+","+r+"C"+i+","+r+" "+i+","+o+" "+n+","+o}(e)}),i}function Oe(e,t,r){e.sort(we);var n=e.filter(function(e){return!e._circularStub});return e.forEach(function(e,o){var i=0;if(e._circularStub)e.circularPathData.verticalBuffer=0;else if(re(e,t)&&ne(e))e.circularPathData.verticalBuffer=i+e._circularWidth/2;else{for(var a=0;n.length>a;a++){var s=n[a];if(s!==e&&s.circularPathData&&void 0!==s.circularPathData.verticalBuffer&&je(e,s)){var c=s.circularPathData.verticalBuffer+(s._circularWidth||s.width)/2+r;i=c>i?c:i}}e.circularPathData.verticalBuffer=i+e._circularWidth/2}}),e}function je(e,t){return e.source.column>=t.target.column&&t.source.column>=e.target.column}function Pe(e){return function(){return e}}function Ce(e){return e.index}function Ie(e){return e.nodes}function Ne(e){return e.links}function Te(e,t,r){var n=g(e.nodes,function(e){return e.column}).sort(function(e,t){return e[0]-t[0]}).map(function(e){return e[1]});n.forEach(function(o,i){var a=o.length;if(t)o.sort(t);else if(i>0){var s=new Map;o.forEach(function(e,t){var r,n,o,i=(n=0,o=0,(r=e).targetLinks.forEach(function(e){if(!e.circular){var t=e.value||1;o+=de(e.source)*t,n+=t}}),r.sourceLinks.forEach(function(e){if(!e.circular){var t=e.value||1;o+=de(e.target)*t,n+=t}}),n>0?o/n:NaN);s.set(e,{bc:i,idx:t})}),o.sort(function(e,t){var r=s.get(e),n=s.get(t),o=r.bc,i=n.bc;if(e.circularLinkType!==t.circularLinkType){if("top"==e.circularLinkType&&"bottom"==t.circularLinkType)return-1;if("bottom"==e.circularLinkType&&"top"==t.circularLinkType)return 1;if("top"==e.circularLinkType)return-1;if("top"==t.circularLinkType)return 1;if("bottom"==e.circularLinkType)return 1;if("bottom"==t.circularLinkType)return-1}return isNaN(o)||isNaN(i)?isNaN(o)?isNaN(i)?r.idx-n.idx:1:-1:o-i})}else o.sort(function(e,t){return e.circularLinkType==t.circularLinkType?ye(t,r)-ye(e,r):"top"==e.circularLinkType&&"bottom"==t.circularLinkType||"top"==e.circularLinkType&&0==t.partOfCycle||0==e.partOfCycle&&"bottom"==t.circularLinkType?-1:0});o.forEach(function(t,o){t.depth==n.length-1&&1==a||0==t.depth&&1==a?(t.y0=e.y1/2-t.value*e.ky,t.y1=t.y0+t.value*e.ky):t.partOfCycle?0==ye(t,r)?(t.y0=e.y1/2+o,t.y1=t.y0+t.value*e.ky):"top"==t.circularLinkType?(t.y0=e.y0+o,t.y1=t.y0+t.value*e.ky):(t.y0=e.y1-t.value*e.ky-o,t.y1=t.y0+t.value*e.ky):0==e.y0||0==e.y1?(t.y0=(e.y1-e.y0)/a*o,t.y1=t.y0+t.value*e.ky):(t.y0=(e.y1-e.y0)/2-a/2+o,t.y1=t.y0+t.value*e.ky)})})}function Me(e,t,r,n,o,i){var a=g(e.nodes,function(e){return e.column}).sort(function(e,t){return e[0]-t[0]}).map(function(e){return e[1]});u();for(var s=1,c=i;c>0;--c)l(s*=.99,r),u();function l(t,r){var n=a.length;a.forEach(function(o){var i=o.length,a=o[0].depth;o.forEach(function(o){var s;if(o.sourceLinks.length||o.targetLinks.length)if(o.partOfCycle&&ye(o,r)>0){var c=m(o.sourceLinks,ue),l=m(o.targetLinks,le),u=c&&l?(c+l)/2:c||l;if(u){var d=(u-de(o))*t*.3;o.y0+=d,o.y1+=d}}else if(0==a&&1==i)o.y0=e.y1/2-(s=o.y1-o.y0)/2,o.y1=e.y1/2+s/2;else if(a==n-1&&1==i)o.y0=e.y1/2-(s=o.y1-o.y0)/2,o.y1=e.y1/2+s/2;else if(1==o.targetLinks.length&&1==o.targetLinks[0].source.sourceLinks.length)s=o.y1-o.y0,o.y0=o.targetLinks[0].source.y0,o.y1=o.y0+s;else{var h=m(o.sourceLinks,ue),y=m(o.targetLinks,le),g=((h&&y?(h+y)/2:h||y)-de(o))*t;o.y0+=g,o.y1+=g}})})}function u(){a.forEach(function(r){var i,a,s,c=e.y0,l=r.length;for(r.sort(t||Ae),s=0;l>s;++s)(a=c-(i=r[s]).y0)>0&&(i.y0+=a,i.y1+=a),c=i.y1+n;if((a=c-n-e.y1)>0)for(c=i.y0-=a,i.y1-=a,s=l-2;s>=0;--s)(a=(i=r[s]).y1+o-c)>0&&(i.y0-=a,i.y1-=a),c=i.y0})}}function $e(e){e.nodes.forEach(function(e){e.sourceLinks.sort(ke),e.targetLinks.sort(xe)}),e.nodes.forEach(function(e){var t=e.y0,r=t,n=e.y1,o=n;e.sourceLinks.forEach(function(e){e.circular?(e.y0=n-e.width/2,n-=e.width):(e.y0=t+e.width/2,t+=e.width)}),e.targetLinks.forEach(function(e){e.circular?(e.y1=o-e.width/2,o-=e.width):(e.y1=r+e.width/2,r+=e.width)})})}function _e(){var e=0,t=0,r=1,n=1,o=24,i=8,a=null,s=Ce,c=pe,l=void 0,u=32,d=2,h=Ie,m=Ne;function b(){var b={nodes:h.apply(null,arguments),links:m.apply(null,arguments)};return function(h){h.x0=e,h.y0=t,h.x1=r,h.y1=n,h.py=0,function(e,t){e.nodes.forEach(function(e,t){e.index=t,e.sourceLinks=[],e.targetLinks=[]});var r=function(e,t){var r=new Map;return v(e,t).forEach(function(e,t){r.set(t,e[0])}),r}(e.nodes,t);e.links.forEach(function(e,t){e.index=t;var n=e.source,o=e.target;"object"!=typeof n&&(n=e.source=J(r,n)),"object"!=typeof o&&(o=e.target=J(r,o)),n.sourceLinks.push(e),o.targetLinks.push(e)})}(h,s),function(e,t){var r=0;if(null==t){for(var n=[],o=0;e.links.length>o;o++){var i=e.links[o],a=i.source.index,s=i.target.index;n[a]||(n[a]=[]),n[s]||(n[s]=[]),-1===n[a].indexOf(s)&&n[a].push(s)}var c=ee(n);c.sort(function(e,t){return e.length-t.length});var l={};for(o=0;c.length>o;o++){var u=c[o].slice(-2);l[u[0]]||(l[u[0]]={}),l[u[0]][u[1]]=!0}e.links.forEach(function(e){var t=e.target.index,n=e.source.index;t===n||l[n]&&l[n][t]?(e.circular=!0,e.circularLinkID=r++):e.circular=!1})}else e.links.forEach(function(e){t(e.source)<t(e.target)?e.circular=!1:(e.circular=!0,e.circularLinkID=r++)})}(h,l),function(e,t){var r=0,n=0;e.links.forEach(function(o){o.circular&&(o.circularLinkType=o.source.circularLinkType||o.target.circularLinkType?o.source.circularLinkType?o.source.circularLinkType:o.target.circularLinkType:n>r?"top":"bottom","top"==o.circularLinkType?r++:n++,e.nodes.forEach(function(e){ce(e,t)!=ce(o.source,t)&&ce(e,t)!=ce(o.target,t)||(e.circularLinkType=o.circularLinkType)}))}),e.links.forEach(function(e){e.circular&&(e.source.circularLinkType==e.target.circularLinkType&&(e.circularLinkType=e.source.circularLinkType),re(e,t)&&(e.circularLinkType=e.source.circularLinkType))})}(h,s),function(e){e.nodes.forEach(function(e){e.partOfCycle=!1,e.value=Math.max(f(e.sourceLinks,he),f(e.targetLinks,he)),e.sourceLinks.forEach(function(t){t.circular&&(e.partOfCycle=!0,e.circularLinkType=t.circularLinkType)}),e.targetLinks.forEach(function(t){t.circular&&(e.partOfCycle=!0,e.circularLinkType=t.circularLinkType)})})}(h),function(e,t,r){var n,o,i;if(null!=t){e.nodes.sort(function(e,r){return t(e)<t(r)?-1:1});var a=0,s=t(e.nodes[0]);e.nodes.forEach(function(e){a=t(e)==s?a:a+1,s=t(e)==s?s:t(e),e.column=a})}for(n=e.nodes,o=[],i=0;n.length;++i,n=o,o=[])n.forEach(function(e){e.depth=i,e.sourceLinks.forEach(function(e){0>o.indexOf(e.target)&&!e.circular&&o.push(e.target)})});for(n=e.nodes,o=[],i=0;n.length;++i,n=o,o=[])n.forEach(function(e){e.height=i,e.targetLinks.forEach(function(e){0>o.indexOf(e.source)&&!e.circular&&o.push(e.source)})});e.nodes.forEach(function(e){e.column=null==t?r(e,i):e.column})}(h,l,c);var m=i;if(null!==a){var b=g(h.nodes,function(e){return e.column}).sort(function(e,t){return e[0]-t[0]}).map(function(e){return e[1]}),x=p(b,function(e){return e.length});x>1&&(m=Math.max(1,(n-t)*a/(x-1)))}(function(e,t,r){var n=g(e.nodes,function(e){return e.column}).sort(function(e,t){return e[0]-t[0]}).map(function(e){return e[1]});e.py=t;var o=y(n,function(t){return(e.y1-e.y0-(t.length-1)*e.py)/f(t,function(e){return e.value})});e.ky=o,e.links.forEach(function(t){t.width=t.value*e.ky});var i=p(e.nodes,function(e){return e.column});e.nodes.forEach(i>0?function(t){t.x0=e.x0+t.column*((e.x1-e.x0-r)/i),t.x1=t.x0+r}:function(t){t.x0=e.x0,t.x1=t.x0+r})})(h,m,o),Te(h,l,s),Me(h,l,s,m,m,u),$e(h),De(h,s,d,10,8),Te(h,l,s),Me(h,l,s,m,m,u),$e(h),De(h,s,d,10,8),function(e,t){let r=e;r.nodes.forEach(function(e){e.y+(e.y1-e.y0)>r.y1&&(e.y=e.y-(e.y+(e.y1-e.y0)-r.y1));var n=r.links.filter(function(r){return ce(r.source,t)==ce(e,t)}),o=n.length;o>1&&n.sort(function(e,t){if(!e.circular&&!t.circular){if(e.target.column==t.target.column)return e.y1-t.y1;if(!Ee(e,t))return e.y1-t.y1;if(e.target.column>t.target.column){var r=ie(t,e);return e.y1-r}if(t.target.column>e.target.column)return ie(e,t)-t.y1}return e.circular&&!t.circular?"top"==e.circularLinkType?-1:1:t.circular&&!e.circular?"top"==t.circularLinkType?1:-1:e.circular&&t.circular?e.circularLinkType===t.circularLinkType&&"top"==e.circularLinkType?e.target.column===t.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:e.circularLinkType===t.circularLinkType&&"bottom"==e.circularLinkType?e.target.column===t.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:"top"==e.circularLinkType?-1:1:void 0});var i=e.y0;n.forEach(function(e){e.y0=i+e.width/2,i+=e.width}),n.forEach(function(t,r){if("bottom"==t.circularLinkType){for(var i=r+1,a=0;o>i;i++)a+=n[i].width;t.y0=e.y1-a-t.width/2}})})}(h,s),function(e,t){let r=e;r.nodes.forEach(function(e){var n=r.links.filter(function(r){return ce(r.target,t)==ce(e,t)}),o=n.length;o>1&&n.sort(function(e,t){if(!e.circular&&!t.circular){if(e.source.column==t.source.column)return e.y0-t.y0;if(!Ee(e,t))return e.y0-t.y0;if(e.source.column>t.source.column){var r=ae(t,e);return e.y0-r}if(t.source.column>e.source.column)return ae(e,t)-t.y0}return e.circular&&!t.circular?"top"==e.circularLinkType?-1:1:t.circular&&!e.circular?"top"==t.circularLinkType?1:-1:e.circular&&t.circular?e.circularLinkType===t.circularLinkType&&"top"==e.circularLinkType?e.source.column===t.source.column?e.source.y1-t.source.y1:e.source.column-t.source.column:e.circularLinkType===t.circularLinkType&&"bottom"==e.circularLinkType?e.source.column===t.source.column?e.source.y1-t.source.y1:t.source.column-e.source.column:"top"==e.circularLinkType?-1:1:void 0});var i=e.y0;n.forEach(function(e){e.y1=i+e.width/2,i+=e.width}),n.forEach(function(t,r){if("bottom"==t.circularLinkType){for(var i=r+1,a=0;o>i;i++)a+=n[i].width;t.y1=e.y1-a-t.width/2}})})}(h,s),function(e){var t=e.nodes,r=e.links,n=!1,o=!1;if(r.forEach(function(e){"top"==e.circularLinkType?n=!0:"bottom"==e.circularLinkType&&(o=!0)}),0==n||0==o){var i=y(t,function(e){return e.y0}),a=p(t,function(e){return e.y1}),s=(e.y1-e.y0)/(a-i);function c(t){return(t-i)/(a-i)*(e.y1-e.y0)+e.y0}1>s?(t.forEach(function(e){e.y0=c(e.y0),e.y1=c(e.y1)}),r.forEach(function(e){e.y0=c(e.y0),e.y1=c(e.y1),e.width=e.width*s})):t.forEach(function(e){var t=e.y1-e.y0,r=c(e.y0)-e.y0;e.y0=c(e.y0),e.y1=e.y0+t,e.sourceLinks.forEach(function(e){e.y0=e.y0+r}),e.targetLinks.forEach(function(e){e.y1=e.y1+r})})}}(h),De(h,s,d,10,8)}(b),b}return b.update=function(e){return $e(e),De(e,s,d,10,8),e},b.nodeWidth=function(e){return arguments.length?(o=+e,b):o},b.nodePadding=function(e){return arguments.length?(i=+e,b):i},b.nodePaddingRatio=function(e){return arguments.length?(a=+e,b):a},b.nodes=function(e){return arguments.length?(h="function"==typeof e?e:Pe(e),b):h},b.links=function(e){return arguments.length?(m="function"==typeof e?e:Pe(e),b):m},b.nodeId=function(e){return arguments.length?(s="function"==typeof e?e:Pe(e),b):s},b.nodeAlign=function(e){return arguments.length?(c="function"==typeof e?e:Pe(e),b):c},b.nodeSort=function(e){return arguments.length?(l=e,b):l},b.iterations=function(e){return arguments.length?(u=+e,b):u},b.circularLinkGap=function(e){return arguments.length?(d=+e,b):d},b.extent=function(o){return arguments.length?(e=+o[0][0],t=+o[0][1],r=+o[1][0],n=+o[1][1],b):[[e,t],[r,n]]},b.size=function(o){return arguments.length?(e=t=0,r=+o[0],n=+o[1],b):[r-e,n-t]},b}const We=e=>{let t,r,n,o,i,a,s,c,l;return"down"===e.direction?(t=e.y0-e.sankeyWidth/2,r=e.y1-e.sankeyWidth/2,n=e.y1+e.sankeyWidth/2,o=e.y0+e.sankeyWidth/2,i=e.source.y1,a=e.target.y0,s=h(i,a),c=s(.5),l=s(.5),`M${t},${i}C${t},${c} ${r},${l} ${r},${a}L${n},${a}C${n},${l} ${o},${c} ${o},${i}Z`):(t=e.source.x1,r=e.target.x0,s=h(t,r),n=s(.5),o=s(.5),i=e.y0-e.sankeyWidth/2,a=e.y1-e.sankeyWidth/2,c=e.y1+e.sankeyWidth/2,l=e.y0+e.sankeyWidth/2,`M${t},${i}C${n},${i} ${o},${a} ${r},${a}L${r},${c}C${o},${c} ${n},${l} ${t},${l}Z`)};function Be(e){var t;const r=e.sankeyWidth/2,n=(null!==(t=e._circularWidth)&&void 0!==t?t:e.sankeyWidth)/2,o=e.circularPathData;if(!o)return null;if("down"===e.direction)return null;if(e._circularStub){const t=o.sourceX,n=o.sourceY,i=o.targetX,a=o.targetY;if("object"!=typeof e.source||!e.source||"object"!=typeof e.target||!e.target)return null;const s=Math.max(15,Math.min(40,.33*(o.rightFullExtent-t))),c=Math.max(15,Math.min(40,.33*(i-o.leftFullExtent)));return`M${t},${n-r}L${t+s},${n-r}L${t+s},${n+r}L${t},${n+r}ZM${i},${a-r}L${i-c},${a-r}L${i-c},${a+r}L${i},${a+r}Z`}const i=o.sourceX,a=o.sourceY,s=o.targetX,c=o.targetY,l=o.rightFullExtent,u=o.leftFullExtent,d=o.verticalFullExtent,h="bottom"===e.circularLinkType?1:-1,y=Math.max(4,Math.min(n,15));return`M${i},${a-h*r}L${l},${a-h*r}L${l+n},${a-h*r+h*y}L${l+n},${d+h*n-h*y}L${l+n-y},${d+h*n}L${u-n+y},${d+h*n}L${u-n},${d+h*n-h*y}L${u-n},${c-h*r+h*y}L${u-n+y},${c-h*r}L${s},${c-h*r}L${s},${c+h*r}L${u+n},${c+h*r}L${u+n},${d-h*n}L${l-n},${d-h*n}L${l-n},${a+h*r}L${i},${a+h*r}Z`}const Re={left:function(e){return e.depth},right:function(e,t){return t-1-e.height},center:function(e){return e.targetLinks.length?e.depth:e.sourceLinks.length?Math.min.apply(Math,e.sourceLinks.map(ge))-1:0},justify:pe},ze={supportsStreaming:!0,hierarchical:!1,computeLayout(e,t,r,n){var o,i,a,s,c,l,u;if(0===e.length)return;const d="vertical"===r.orientation?"down":"right",h=r.nodeAlign||"justify",y=null!==(o=r.nodeWidth)&&void 0!==o?o:15,g=null!==(i=r.nodePaddingRatio)&&void 0!==i?i:.05,p=null!==(a=r.iterations)&&void 0!==a?a:100,f=e.map(e=>Object.assign({},e)),m=t.map(e=>Object.assign(Object.assign({},e),{source:"string"==typeof e.source?e.source:e.source.id,target:"string"==typeof e.target?e.target:e.target.id,value:Math.sqrt(Math.max(1,e.value||1))}));let v;v="down"===d?[[0,0],[n[1],n[0]]]:[[0,0],[n[0],n[1]]];const b=_e().extent(v).links(m).nodes(f).nodeAlign(Re[h]||pe).nodeId(e=>e.id).nodeWidth(y).iterations(p);b.nodePaddingRatio&&b.nodePaddingRatio(g),b();{let e=1/0,t=-1/0,r=1/0,o=-1/0;for(const n of f)e>n.x0&&(e=n.x0),n.x1>t&&(t=n.x1),r>n.y0&&(r=n.y0),n.y1>o&&(o=n.y1);for(const n of m){if(!n.circular||!n.circularPathData)continue;const i=n.circularPathData,a=(null!==(c=null!==(s=n._circularWidth)&&void 0!==s?s:n.width)&&void 0!==c?c:0)/2;e>i.leftFullExtent-a&&(e=i.leftFullExtent-a),i.rightFullExtent+a>t&&(t=i.rightFullExtent+a),r>i.verticalFullExtent-a&&(r=i.verticalFullExtent-a),i.verticalFullExtent+a>o&&(o=i.verticalFullExtent+a)}const i=t-e,a=o-r,u=n[0],d=n[1];if(i>0&&a>0&&(0>e||0>r||t>u||o>d)){const t=Math.min(u/i,d/a),n=-e*t+(u-i*t)/2,o=-r*t+(d-a*t)/2;for(const e of f)e.x0=e.x0*t+n,e.x1=e.x1*t+n,e.y0=e.y0*t+o,e.y1=e.y1*t+o;for(const e of m)if(e.y0=e.y0*t+o,e.y1=e.y1*t+o,e.width=(null!==(l=e.width)&&void 0!==l?l:0)*t,e._circularWidth&&(e._circularWidth*=t),e.circular&&e.circularPathData){const r=e.circularPathData;r.sourceX=r.sourceX*t+n,r.targetX=r.targetX*t+n,r.sourceY=r.sourceY*t+o,r.targetY=r.targetY*t+o,r.rightFullExtent=r.rightFullExtent*t+n,r.leftFullExtent=r.leftFullExtent*t+n,r.verticalFullExtent=r.verticalFullExtent*t+o,r.rightInnerExtent=r.rightInnerExtent*t+n,r.leftInnerExtent=r.leftInnerExtent*t+n,r.verticalRightInnerExtent=r.verticalRightInnerExtent*t+o,r.verticalLeftInnerExtent=r.verticalLeftInnerExtent*t+o,r.rightSmallArcRadius*=t,r.rightLargeArcRadius*=t,r.leftSmallArcRadius*=t,r.leftLargeArcRadius*=t,r.sourceWidth*=t,r.rightNodeBuffer*=t,r.leftNodeBuffer*=t,r.arcRadius*=t}}}const x=new Map;for(const t of e)x.set(t.id,t);for(const e of f){const t=x.get(e.id);t&&(t.x0=e.x0,t.x1=e.x1,t.y0=e.y0,t.y1=e.y1,t.value=e.value,t.depth=e.depth,t.sourceLinks=e.sourceLinks,t.targetLinks=e.targetLinks,t.width=e.x1-e.x0,t.height=e.y1-e.y0,t.x=e.x0+(e.x1-e.x0)/2,t.y=e.y0+(e.y1-e.y0)/2)}const k=new Map;for(const e of t)k.set(`${"string"==typeof e.source?e.source:e.source.id}\0${"string"==typeof e.target?e.target:e.target.id}`,e);for(const e of m){const t=e.source,r=e.target,n="object"==typeof t&&null!==t?t.id:t+"",o="object"==typeof r&&null!==r?r.id:r+"",i=k.get(`${n}\0${o}`);if(i){i.y0=e.y0,i.y1=e.y1,i.sankeyWidth=null!==(u=e.width)&&void 0!==u?u:0,i.circular=!!e.circular,i.circularPathData=e.circularPathData,i._circularWidth=e._circularWidth,i._circularStub=e._circularStub,i.path=e.path,i.circularLinkType=e.circularLinkType,i.direction=d;const t=x.get(n),r=x.get(o);t&&(i.source=t),r&&(i.target=r)}}},buildScene(e,t,r,n){var o,i,a,s;const c="vertical"===r.orientation?"down":"right",l=r.nodeStyle,u=r.edgeStyle,d=null!==(o=r.edgeOpacity)&&void 0!==o?o:.5,h=r.edgeColorBy||"source",y=Array.isArray(r.colorScheme)?r.colorScheme:b,g=new Map;e.forEach((e,t)=>{g.set(e.id,y[t%y.length])});const p=[],f=[],m=[];for(const t of e){const e=t.x1-t.x0,r=t.y1-t.y0;if(0>=e||0>=r)continue;const n=l?l(t):{},o={fill:n.fill||g.get(t.id)||"#4d430c",stroke:n.stroke,strokeWidth:n.strokeWidth,opacity:n.opacity};p.push({type:"rect",x:t.x0,y:t.y0,w:e,h:r,style:o,datum:t,id:t.id,label:t.id})}const v=[...t].sort((e,t)=>(t.sankeyWidth||0)-(e.sankeyWidth||0));for(const e of v){if(!e.sankeyWidth||0>=e.sankeyWidth)continue;const t="object"==typeof e.source?e.source:null,r="object"==typeof e.target?e.target:null;if(!t||!r)continue;let n="#999";u?n=u(e).fill||n:"target"===h&&r?n=g.get(r.id)||n:t&&(n=g.get(t.id)||n);const o=u?u(e):{};if(e._circularStub&&e.circular&&e.circularPathData){const t=e.circularPathData,r=e.sankeyWidth/2,s=Math.max(15,Math.min(40,.33*(t.rightFullExtent-t.sourceX))),c=Math.max(15,Math.min(40,.33*(t.targetX-t.leftFullExtent))),l=o.fill||n;f.push({type:"bezier",pathD:`M${t.sourceX},${t.sourceY-r}L${t.sourceX+s},${t.sourceY-r}L${t.sourceX+s},${t.sourceY+r}L${t.sourceX},${t.sourceY+r}Z`,style:{fill:l,fillOpacity:null!==(i=o.fillOpacity)&&void 0!==i?i:d,stroke:"none",opacity:o.opacity},datum:e,_gradient:{direction:"right",from:1,to:0,x0:t.sourceX,x1:t.sourceX+s}}),f.push({type:"bezier",pathD:`M${t.targetX},${t.targetY-r}L${t.targetX-c},${t.targetY-r}L${t.targetX-c},${t.targetY+r}L${t.targetX},${t.targetY+r}Z`,style:{fill:l,fillOpacity:null!==(a=o.fillOpacity)&&void 0!==a?a:d,stroke:"none",opacity:o.opacity},datum:e,_gradient:{direction:"left",from:0,to:1,x0:t.targetX-c,x1:t.targetX}});continue}let c;if(c=e.circular&&e.circularPathData?Be(e):We(e),!c)continue;const l={fill:o.fill||n,fillOpacity:null!==(s=o.fillOpacity)&&void 0!==s?s:d,stroke:o.stroke||"none",strokeWidth:o.strokeWidth,opacity:o.opacity};f.push({type:"bezier",pathD:c,bezierCache:e.bezier,style:l,datum:e})}if(!1!==r.showLabels){const t=(x=r.nodeLabel)?"function"==typeof x?x:e=>e[x]||e.id:null;for(const r of e){const e=r.x1-r.x0,o=r.y1-r.y0;if(0>=e||0>=o)continue;const i=t?t(r):r.id;if(!i)continue;let a,s,l;"down"===c?(a=r.x0+e/2,s=r.y1+14,l="middle"):(n[0]/2>r.x0+e/2?(a=r.x0-6,l="end"):(a=r.x1+6,l="start"),s=r.y0+o/2),m.push({x:a,y:s,text:i+"",anchor:l,baseline:"middle",fontSize:11})}}var x;return{sceneNodes:p,sceneEdges:f,labels:m}}},He={supportsStreaming:!0,hierarchical:!1,computeLayout(e,t,r,n){var o,i;if(0===e.length)return;const a=null!==(o=r.forceStrength)&&void 0!==o?o:.1,s=n[0]/2,c=n[1]/2,l=r.__previousPositions;let u=0;const d=[];for(const t of e){const e=null!=t.x&&null!=t.y&&(0!==t.x||0!==t.y),r=null==l?void 0:l.get(t.id);e?u++:r?(t.x=r.x,t.y=r.y,u++):d.push(t)}const h=u>0&&.3>=(e.length>0?d.length/e.length:1);if(h){const r=new Map;for(const t of e)r.set(t.id,t);for(const e of d){const n=Fe(e.id,t,r);if(n.length>0){let t=0,r=0;for(const e of n)t+=e.x,r+=e.y;const o=Ye(e.id),i=o%360*(Math.PI/180),a=10+o%20;e.x=t/n.length+a*Math.cos(i),e.y=r/n.length+a*Math.sin(i)}else{const t=Ye(e.id),r=t%360*(Math.PI/180),n=15+t%30;e.x=s+n*Math.cos(r),e.y=c+n*Math.sin(r)}}}else{const t=2.399963229728653;for(let r=0;e.length>r;r++){const n=e[r];if(null==n.x||null==n.y||0===n.x&&0===n.y){const e=10*Math.sqrt(r+.5),o=r*t;n.x=s+e*Math.cos(o),n.y=c+e*Math.sin(o)}}}const y=null!==(i=r.iterations)&&void 0!==i?i:Math.max(50,Math.min(300,Math.floor(300-2*(e.length-30)))),g=h?40:y,p=Xe(r.nodeSize,r.nodeSizeRange,e),f=e=>p(e),m=j().strength(e=>Math.min(2.5,e.weight?e.weight*a:a)).id(e=>e.id),v=P().force("charge",C().strength(e=>-25*f(e))).force("center",I(s,c).strength(.8)).force("x",N(s).strength(.15)).force("y",T(c).strength(.15));if(v.nodes(e),t.length>0){const e=t.map(e=>Object.assign(Object.assign({},e),{source:"string"==typeof e.source?e.source:e.source.id,target:"string"==typeof e.target?e.target:e.target.id}));v.force("link",m),v.force("link").links(e)}h?v.alpha(.3):.1>v.alpha()&&v.alpha(1),v.stop();for(let e=0;g>e;++e)v.tick();for(const t of e){if(null==t.x||null==t.y)continue;const e=f(t);t.x=Math.max(e,Math.min(n[0]-e,t.x)),t.y=Math.max(e,Math.min(n[1]-e,t.y)),t.x0=0,t.x1=0,t.y0=0,t.y1=0}const b=new Map;for(const t of e)b.set(t.id,t);for(const e of t){if("string"==typeof e.source){const t=b.get(e.source);t&&(e.source=t)}if("string"==typeof e.target){const t=b.get(e.target);t&&(e.target=t)}}},buildScene(e,t,r,n){var o,i,a;const s=r.nodeStyle,c=r.edgeStyle,l=Xe(r.nodeSize,r.nodeSizeRange,e),u=Array.isArray(r.colorScheme)?r.colorScheme:b,d=new Map;e.forEach((e,t)=>{d.set(e.id,u[t%u.length])});const h=[],y=[],g=[];for(const t of e){if(null==t.x||null==t.y)continue;const e=l(t),r=s?s(t):{},n={fill:r.fill||d.get(t.id)||"#007bff",stroke:r.stroke||"#fff",strokeWidth:null!==(o=r.strokeWidth)&&void 0!==o?o:2,opacity:r.opacity};h.push({type:"circle",cx:t.x,cy:t.y,r:e,style:n,datum:t,id:t.id,label:t.id})}const p=new Map;for(const t of e)p.set(t.id,t);for(const e of t){const t="object"==typeof e.source?e.source:p.get(e.source),r="object"==typeof e.target?e.target:p.get(e.target);if(!t||!r)continue;if(null==t.x||null==t.y)continue;if(null==r.x||null==r.y)continue;const n=c?c(e):{},o={stroke:n.stroke||"#999",strokeWidth:null!==(i=n.strokeWidth)&&void 0!==i?i:1,opacity:null!==(a=n.opacity)&&void 0!==a?a:.6};y.push({type:"line",x1:t.x,y1:t.y,x2:r.x,y2:r.y,style:o,datum:e})}if(!1!==r.showLabels){const t=(f=r.nodeLabel)?"function"==typeof f?f:e=>e[f]||e.id:null;for(const r of e){if(null==r.x||null==r.y)continue;const e=t?t(r):r.id;if(!e)continue;const n=l(r);g.push({x:r.x,y:r.y-n-4,text:e+"",anchor:"middle",baseline:"auto",fontSize:11})}}var f;return{sceneNodes:h,sceneEdges:y,labels:g}}};function Fe(e,t,r){const n=[];for(const o of t){const t="string"==typeof o.source?o.source:o.source.id,i="string"==typeof o.target?o.target:o.target.id;let a=null;if(t===e?a=i:i===e&&(a=t),a){const e=r.get(a);!e||0===e.x&&0===e.y||n.push({x:e.x,y:e.y})}}return n}function Ye(e){let t=0;for(let r=0;e.length>r;r++)t=(t<<5)-t+e.charCodeAt(r)|0;return Math.abs(t)}function Xe(e,t,r){var n,o;if(null==e)return()=>8;if("number"==typeof e)return()=>e;if("function"==typeof e)return t=>e(t)||8;const i=t||[5,20],a=r.map(t=>{var r;return null===(r=t.data)||void 0===r?void 0:r[e]}).filter(e=>null!=e&&"number"==typeof e);if(0===a.length)return()=>i[0];const s=null!==(n=y(a))&&void 0!==n?n:0,c=null!==(o=p(a))&&void 0!==o?o:1;if(s===c)return()=>(i[0]+i[1])/2;const l=M().domain([s,c]).range(i).clamp(!0);return t=>{var r;const n=null===(r=t.data)||void 0===r?void 0:r[e];return null==n||"number"!=typeof n?i[0]:l(n)}}const qe=b,Ge={supportsStreaming:!1,hierarchical:!1,computeLayout(e,t,r,n){if(0===e.length)return;const{padAngle:o=.01,groupWidth:i=20,sortGroups:a}=r,s=Math.min(n[0],n[1])/2,c=s-i,l=n[0]/2,u=n[1]/2,d=(h=r.valueAccessor)?"function"==typeof h?h:e=>{var t;return null!==(t=e[h])&&void 0!==t?t:1}:e=>{var t;return null!==(t=e.value)&&void 0!==t?t:1};var h;const y=new Map;for(let t=0;e.length>t;t++)y.set(e[t].id,t);const g=e.length,p=Array.from({length:g},()=>Array.from({length:g},()=>0));for(const e of t){const t="string"==typeof e.target?e.target:e.target.id,r=y.get("string"==typeof e.source?e.source:e.source.id),n=y.get(t);if(void 0===r||void 0===n)continue;const o=d(e);p[r][n]=o}const f=W().padAngle(o);a&&f.sortGroups(a);const m=f(p),v=m.groups,b=B().innerRadius(c).outerRadius(s);for(const t of v){const r=e[t.index],n=b.centroid(t);r.x=n[0]+l,r.y=n[1]+u,r.arcData={startAngle:t.startAngle,endAngle:t.endAngle}}const x=new Map;for(const t of e)x.set(t.id,t);for(const e of t){const t="string"==typeof e.target?e.target:e.target.id,r=x.get("string"==typeof e.source?e.source:e.source.id),n=x.get(t);r&&(e.source=r),n&&(e.target=n)}const k=new Map;for(const e of t)k.set(`${"string"==typeof e.source?e.source:e.source.id}\0${"string"==typeof e.target?e.target:e.target.id}`,e);for(const t of m){const r=e[t.source.index].id,n=e[t.target.index].id,o=k.get(`${r}\0${n}`)||k.get(`${n}\0${r}`);o&&(o.chordData=t)}},buildScene(e,t,r,n){var o,i;const{groupWidth:a=20,edgeOpacity:s=.5}=r,c=Math.min(n[0],n[1])/2,l=c-a,u=n[0]/2,d=n[1]/2,h=r.nodeStyle,y=r.edgeStyle,g=r.edgeColorBy||"source",p=Array.isArray(r.colorScheme)?r.colorScheme:qe,f=new Map;e.forEach((e,t)=>{f.set(e.id,p[t%p.length])});const m=_().radius(l),v=[],b=[],x=[];for(let t=0;e.length>t;t++){const r=e[t],n=r.arcData;if(!n)continue;let i;i=h?h(r).fill||f.get(r.id)||p[t%p.length]:f.get(r.id)||p[t%p.length];const a=h?h(r):{},s={fill:i,stroke:a.stroke||"black",strokeWidth:null!==(o=a.strokeWidth)&&void 0!==o?o:1,opacity:a.opacity};v.push({type:"arc",cx:u,cy:d,innerR:l,outerR:c,startAngle:n.startAngle-Math.PI/2,endAngle:n.endAngle-Math.PI/2,style:s,datum:r,id:r.id,label:r.id})}for(const e of t){const t=e.chordData;if(!t)continue;const r=m(t);if(!r)continue;const n=Ve(r,u,d);let o="#999";if(y)o=y(e).fill||o;else{const t="object"==typeof e.source?e.source:null,r="object"==typeof e.target?e.target:null;"target"===g&&r?o=f.get(r.id)||o:t&&(o=f.get(t.id)||o)}const a=y?y(e):{},c={fill:o,fillOpacity:null!==(i=a.fillOpacity)&&void 0!==i?i:s,stroke:a.stroke||"none",strokeWidth:a.strokeWidth,opacity:a.opacity};b.push({type:"ribbon",pathD:n,style:c,datum:e})}if(!1!==r.showLabels){const t=(k=r.nodeLabel)?"function"==typeof k?k:e=>e[k]||e.id:null,n=c+12;for(const r of e){const e=r.arcData;if(!e)continue;const o=t?t(r):r.id;if(!o)continue;const i=(e.startAngle+e.endAngle)/2,a=i-Math.PI/2;x.push({x:u+Math.cos(a)*n,y:d+Math.sin(a)*n,text:o+"",anchor:i>Math.PI?"end":"start",baseline:"middle",fontSize:11})}}var k;return{sceneNodes:v,sceneEdges:b,labels:x}}};function Ve(e,t,r){const n=e.match(/[a-zA-Z]|[-+]?\d*\.?\d+(?:[eE][-+]?\d+)?/g);if(!n)return e;const o=[];let i=0;for(;n.length>i;){const e=n[i];if("M"===e||"L"===e)for(o.push(e),i++;n.length>i&&!isNaN(Number(n[i]));)o.push(Number(n[i])+t+""),i++,n.length>i&&!isNaN(Number(n[i]))&&(o.push(Number(n[i])+r+""),i++);else if("C"===e)for(o.push(e),i++;n.length>i&&!isNaN(Number(n[i]));)for(let e=0;3>e&&n.length>i&&!isNaN(Number(n[i]));e++)o.push(Number(n[i])+t+""),i++,n.length>i&&!isNaN(Number(n[i]))&&(o.push(Number(n[i])+r+""),i++);else if("Q"===e)for(o.push(e),i++;n.length>i&&!isNaN(Number(n[i]));)for(let e=0;2>e&&n.length>i&&!isNaN(Number(n[i]));e++)o.push(Number(n[i])+t+""),i++,n.length>i&&!isNaN(Number(n[i]))&&(o.push(Number(n[i])+r+""),i++);else if("A"===e)for(o.push(e),i++;n.length>i&&!isNaN(Number(n[i]));)o.push(n[i++]),n.length>i&&o.push(n[i++]),n.length>i&&o.push(n[i++]),n.length>i&&o.push(n[i++]),n.length>i&&o.push(n[i++]),n.length>i&&(o.push(Number(n[i])+t+""),i++),n.length>i&&(o.push(Number(n[i])+r+""),i++);else"Z"===e||"z"===e?(o.push(e),i++):(o.push(n[i]),i++)}return o.join(" ")}function Ke(e){const[t,r,n]=function(e){if(e.startsWith("#")){let t=e.slice(1);if(3===t.length&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]),6===t.length)return[parseInt(t.slice(0,2),16),parseInt(t.slice(2,4),16),parseInt(t.slice(4,6),16)]}const t=e.match(/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/);return t?[+t[1],+t[2],+t[3]]:[128,128,128]}(e);return.299*t+.587*r+.114*n>150?"#222":"#fff"}const Ze={supportsStreaming:!1,hierarchical:!0,computeLayout(e,t,r,n){var o;const i=r.__hierarchyRoot;if(!i)return;const a=r.chartType,s=(c=r.childrenAccessor)?"function"==typeof c?c:e=>e[c]:void 0;var c;const l=r.hierarchySum||(e=>{var t;return null!==(t=e.value)&&void 0!==t?t:0}),u=z(i,s);u.sum(l),u.sort((e,t)=>{var r,n;return(null!==(r=t.value)&&void 0!==r?r:0)-(null!==(n=e.value)&&void 0!==n?n:0)});const[d,h]=n;switch(a){case"tree":!function(e,t,r,n){const o=t.treeOrientation||"vertical",i=G();i.size("horizontal"===o?[n,r]:"radial"===o?[2*Math.PI,Math.min(r,n)/2*.8]:[r,n]),i(e)}(u,r,d,h);break;case"cluster":!function(e,t,r,n){const o=t.treeOrientation||"vertical",i=q();i.size("horizontal"===o?[n,r]:"radial"===o?[2*Math.PI,Math.min(r,n)/2*.8]:[r,n]),i(e)}(u,r,d,h);break;case"treemap":!function(e,t,r,n){var o,i;const a=null!==(o=t.padding)&&void 0!==o?o:4,s=null!==(i=t.paddingTop)&&void 0!==i?i:0,c=Y().size([r,n]).tile(X).padding(a);s>0&&c.paddingTop(s),c(e)}(u,r,d,h);break;case"circlepack":!function(e,t,r,n){var o;const i=null!==(o=t.padding)&&void 0!==o?o:4;F().size([r,n]).padding(i)(e)}(u,r,d,h);break;case"partition":!function(e,t,r,n){var o;H().size([r,n]).padding(null!==(o=t.padding)&&void 0!==o?o:1)(e)}(u,r,d,h)}const y=u.descendants();e.length=0,t.length=0;const g=new Map;for(let t=0;y.length>t;t++){const n=y[t],i={id:tt(n,r,t),x:0,y:0,x0:0,x1:0,y0:0,y1:0,width:0,height:0,value:null!==(o=n.value)&&void 0!==o?o:0,depth:n.depth,data:n.data,createdByFrame:!0};"tree"===a||"cluster"===a?Qe(i,n,r):"treemap"===a||"partition"===a?Ue(i,n):"circlepack"===a&&Je(i,n),i.__hierarchyNode=n,e.push(i),g.set(n,i)}if("tree"===a||"cluster"===a)for(const e of y)if(e.parent){const r=g.get(e.parent),n=g.get(e);r&&n&&t.push({source:r,target:n,value:1,y0:0,y1:0,sankeyWidth:0,data:{depth:e.depth}})}},buildScene(e,t,r,n){const o=r.nodeStyle||(()=>({})),i=r.edgeStyle||(()=>({}));switch(r.chartType){case"tree":case"cluster":return function(e,t,r,n,o,i){var a,s,c,l,u;const d=[],h=[],y=[],g=r.treeOrientation||"vertical",p="radial"===g,f=n[0]/2,m=n[1]/2,v="number"==typeof(x=r.nodeSize)?x:5,b=["#e8d5b7","#b8d4e3","#d4e3b8","#e3c4d4","#d4d4e3","#e3d4b8","#b8e3d4","#e3b8b8"];var x;for(const t of e){let e=t.x,n=t.y;p&&(e+=f,n+=m);const i=o(t);let s=i.fill||"#4d430c";r.colorByDepth&&void 0!==t.depth&&(s=b[t.depth%b.length]);const c={fill:s,stroke:i.stroke||"#fff",strokeWidth:null!==(a=i.strokeWidth)&&void 0!==a?a:1,opacity:i.opacity};d.push({type:"circle",cx:e,cy:n,r:v,style:c,datum:t,id:t.id,label:t.id,depth:t.depth})}const k=null!==(s=r.edgeOpacity)&&void 0!==s?s:.5;for(const e of t){const t="object"==typeof e.source?e.source:null,r="object"==typeof e.target?e.target:null;if(!t||!r)continue;let n=t.x,o=t.y,a=r.x,s=r.y;p&&(n+=f,o+=m,a+=f,s+=m);const u=et(n,o,a,s,g),d=i(e),y={fill:"none",stroke:d.stroke||"#999",strokeWidth:null!==(c=d.strokeWidth)&&void 0!==c?c:1.5,opacity:null!==(l=d.opacity)&&void 0!==l?l:k};h.push({type:"curved",pathD:u,style:y,datum:e})}if(!1!==r.showLabels){const t=rt(r.nodeLabel);for(const r of e){const e=t?t(r):r.id;if(!e)continue;let n,o,i,a=r.x,s=r.y;if(p&&(a+=f,s+=m),p){const e=a-f,t=s-m,r=Math.sqrt(e*e+t*t);r>0?(n=a+e/r*10,o=s+t/r*10,i=0>e?"end":"start"):(n=a,o=s-12,i="middle")}else"horizontal"===g?((null===(u=r.data)||void 0===u?void 0:u.children)&&0!==r.data.children.length?(n=a-v-6,i="end"):(n=a+v+6,i="start"),o=s):(n=a,o=s+v+14,i="middle");y.push({x:n,y:o,text:e+"",anchor:i,baseline:"middle",fontSize:11})}}return{sceneNodes:d,sceneEdges:h,labels:y}}(e,t,r,n,o,i);case"treemap":case"partition":return function(e,t,r,n){var o,i;const a=[],s=[],c=["#e8d5b7","#b8d4e3","#d4e3b8","#e3c4d4","#d4d4e3","#e3d4b8","#b8e3d4","#e3b8b8"];for(const r of e){const e=r.x1-r.x0,i=r.y1-r.y0;if(0>=e||0>=i)continue;const s=n(r);let l=s.fill||"#4d430c";t.colorByDepth&&void 0!==r.depth&&(l=c[r.depth%c.length]);const u={fill:l,stroke:s.stroke||"#fff",strokeWidth:null!==(o=s.strokeWidth)&&void 0!==o?o:1,opacity:s.opacity};a.push({type:"rect",x:r.x0,y:r.y0,w:e,h:i,style:u,datum:r,id:r.id,label:r.id,depth:r.depth})}if(!1!==t.showLabels){const r=rt(t.nodeLabel),o=t.labelMode||"leaf",a="partition"===t.chartType;for(const l of e){const e=l.x1-l.x0,u=l.y1-l.y0;if(0>=e||0>=u)continue;const d=!((null===(i=l.data)||void 0===i?void 0:i.children)&&l.data.children.length>0);if(!a){if("leaf"===o&&!d)continue;if("parent"===o&&d)continue}const h=r?r(l):l.id;if(!h)continue;if((d?30:40)>e||(d?16:14)>u)continue;let y=n(l).fill||"#4d430c";t.colorByDepth&&void 0!==l.depth&&(y=c[l.depth%c.length]);const g=Ke(y);s.push(d?{x:l.x0+e/2,y:l.y0+u/2,text:h+"",anchor:"middle",baseline:"middle",fontSize:Math.min(11,Math.max(8,Math.min(e,u)/6)),fill:g}:{x:l.x0+4,y:l.y0+12,text:h+"",anchor:"start",baseline:"auto",fontSize:11,fontWeight:600,fill:g})}}return{sceneNodes:a,sceneEdges:[],labels:s}}(e,r,0,o);case"circlepack":return function(e,t,r,n){var o,i,a,s,c;const l=[],u=[],d=["#e8d5b7","#b8d4e3","#d4e3b8","#e3c4d4","#d4d4e3","#e3d4b8","#b8e3d4","#e3b8b8"];for(const r of e){const e=null!==(o=r.__radius)&&void 0!==o?o:5;if(0>=e)continue;const s=n(r);let c=s.fill||"#4d430c";t.colorByDepth&&void 0!==r.depth&&(c=d[r.depth%d.length]);const u={fill:c,stroke:s.stroke||"#fff",strokeWidth:null!==(i=s.strokeWidth)&&void 0!==i?i:1,opacity:null!==(a=s.opacity)&&void 0!==a?a:.7};l.push({type:"circle",cx:r.x,cy:r.y,r:e,style:u,datum:r,id:r.id,label:r.id,depth:r.depth})}if(!1!==t.showLabels){const r=rt(t.nodeLabel);for(const o of e){const e=null!==(s=o.__radius)&&void 0!==s?s:5,i=r?r(o):o.id;if(!i)continue;if(15>e)continue;const a=!((null===(c=o.data)||void 0===c?void 0:c.children)&&o.data.children.length>0);let l=n(o).fill||"#4d430c";if(t.colorByDepth&&void 0!==o.depth&&(l=d[o.depth%d.length]),a){const t=Ke(l);u.push({x:o.x,y:o.y,text:i+"",anchor:"middle",baseline:"middle",fontSize:Math.min(11,Math.max(8,e/3)),fill:t})}else u.push({x:o.x,y:o.y-e+14,text:i+"",anchor:"middle",baseline:"hanging",fontSize:Math.min(11,Math.max(8,e/3)),fill:"#000",stroke:"#fff",strokeWidth:3,paintOrder:"stroke"})}}return{sceneNodes:l,sceneEdges:[],labels:u}}(e,r,0,o);default:return{sceneNodes:[],sceneEdges:[],labels:[]}}}};function Qe(e,t,r){const n=r.treeOrientation||"vertical";if("radial"===n){const r=t.x,n=t.y;e.x=n*Math.cos(r-Math.PI/2),e.y=n*Math.sin(r-Math.PI/2)}else"horizontal"===n?(e.x=t.y,e.y=t.x):(e.x=t.x,e.y=t.y);e.x0=e.x-5,e.x1=e.x+5,e.y0=e.y-5,e.y1=e.y+5,e.width=10,e.height=10}function Ue(e,t){e.x0=t.x0,e.x1=t.x1,e.y0=t.y0,e.y1=t.y1,e.x=(t.x0+t.x1)/2,e.y=(t.y0+t.y1)/2,e.width=t.x1-t.x0,e.height=t.y1-t.y0}function Je(e,t){var r;const n=null!==(r=t.r)&&void 0!==r?r:0;e.x=t.x,e.y=t.y,e.x0=t.x-n,e.x1=t.x+n,e.y0=t.y-n,e.y1=t.y+n,e.width=2*n,e.height=2*n,e.__radius=n}function et(e,t,r,n,o){if("horizontal"===o){const o=(e+r)/2;return`M ${e},${t} C ${o},${t} ${o},${n} ${r},${n}`}if("radial"===o){const o=(e+r)/2;return`M ${e},${t} Q ${o},${t} ${o},${(t+n)/2} T ${r},${n}`}{const o=(t+n)/2;return`M ${e},${t} C ${e},${o} ${r},${o} ${r},${n}`}}function tt(e,t,r){const n=t.nodeIDAccessor;return"function"==typeof n?n(e.data)+"":"string"==typeof n&&void 0!==e.data[n]?e.data[n]+"":void 0!==e.data.name?e.data.name+"":void 0!==e.data.id?e.data.id+"":"node-"+r}function rt(e){return e?"function"==typeof e?e:t=>{var r;return(null===(r=t.data)||void 0===r?void 0:r[e])||t[e]||t.id}:null}function nt(e){const t=e;return t.__orbitState||(t.__orbitState={metaMap:new Map,startTime:"undefined"!=typeof performance?performance.now():Date.now()}),t.__orbitState}const ot={supportsStreaming:!1,hierarchical:!0,supportsAnimation:!0,computeLayout(e,t,r,n){const o=r.__hierarchyRoot;o&&function(e,t,r,n,o){var i,a;const s=function(e){if("function"==typeof e)return e;const t=e||"children";return e=>e[t]||null}(r.childrenAccessor),c=function(e){if("function"==typeof e)return e;const t=e||"name";return e=>{var r;return(null!==(r=e[t])&&void 0!==r?r:"")+""}}(r.nodeIDAccessor),l=function(e){if(Array.isArray(e))return e;switch(e){case"solar":return[1];case"atomic":return[2,8];default:return[9999]}}(r.orbitMode),u=null!==(i=r.orbitSize)&&void 0!==i?i:2.95,d=null!==(a=r.orbitEccentricity)&&void 0!==a?a:1,h="number"==typeof u?()=>u:u,y="number"==typeof d?()=>d:d,g=nt(r);g.metaMap.clear(),n.length=0,o.length=0;const p=new Map;function f(e){var t;const r=null!==(t=p.get(e))&&void 0!==t?t:0;return p.set(e,r+1),0===r?e:`${e}__${r}`}const m=t[0]/2,v=t[1]/2,b=Math.min(t[0],t[1])/2*.85,x=f(c(e));n.push({id:x,x:m,y:v,x0:m,x1:m,y0:v,y1:v,width:0,height:0,value:0,depth:0,data:e}),g.metaMap.set(x,{ring:b,angle:0,depth:0,parentId:null,eccentricity:1}),function e(t,r,i,a,u,d,p){const m=s(t);if(!(null==m?void 0:m.length))return;const v=m.length;let b=0,x=0,k=0;for(;v>x;)x+=l[Math.min(k,l.length-1)],k++,b++;let A=0;for(let v=0;b>v;v++){const x=l[Math.min(v,l.length-1)],k=m.slice(A,A+x);if(!k.length)break;const w=(v+1)/b,S={id:r,depth:d,data:t,parentId:r},E=p?u/h(S)*w:u*w,L=R().value(e=>{var t;return(null===(t=s(e))||void 0===t?void 0:t.length)?4:1}).sort(null),D=L(k),O=y(S);for(let t=0;k.length>t;t++){const s=(D[t].startAngle+D[t].endAngle)/2,l=k[t],u=f(c(l)),h=i+E*Math.sin(s),y=a+E*Math.cos(s)*O;n.push({id:u,x:h,y:y,x0:h,x1:h,y0:y,y1:y,width:0,height:0,value:0,depth:d,data:l}),g.metaMap.set(u,{ring:E,angle:s,depth:d,parentId:r,eccentricity:O}),o.push({source:r,target:u,value:1,y0:0,y1:0,sankeyWidth:0,data:{source:r,target:u}}),e(l,u,h,y,E,d+1,!0)}A+=x}}(e,x,m,v,b,1,!1)}(o,n,r,e,t)},buildScene(e,t,r,n){var o,i,a,s,c;const l=r.nodeStyle,u=r.nodeSize,d="number"==typeof u?()=>u:"function"==typeof u?u:()=>6,h=[],y=[],g=[];if(!1!==r.orbitShowRings){const t=nt(r),n=new Map;for(const t of e)n.set(t.id,t);const o=new Map;for(const[,e]of t.metaMap){if(!e.parentId)continue;const t=n.get(e.parentId);if(!t)continue;const r=`${e.parentId}:${e.ring}`;o.has(r)||o.set(r,{parentX:t.x,parentY:t.y,ring:e.ring,ecc:e.eccentricity})}const i=48,a={stroke:"rgba(128,128,128,0.35)",strokeWidth:.5,opacity:1};for(const[,{parentX:e,parentY:t,ring:r,ecc:n}]of o)for(let o=0;i>o;o++){const s=o/i*Math.PI*2,c=(o+1)/i*Math.PI*2;y.push({type:"line",x1:e+r*Math.sin(s),y1:t+r*Math.cos(s)*n,x2:e+r*Math.sin(c),y2:t+r*Math.cos(c)*n,style:a,datum:null})}}for(const t of e){if(null==t.x||null==t.y)continue;const e=d(t),r=l?l(t):{},n={fill:r.fill||"#6366f1",stroke:r.stroke||"#fff",strokeWidth:null!==(o=r.strokeWidth)&&void 0!==o?o:1,opacity:null!==(i=r.opacity)&&void 0!==i?i:0===(null!==(a=t.depth)&&void 0!==a?a:0)?1:.85};h.push({type:"circle",cx:t.x,cy:t.y,r:e,style:n,datum:t,id:t.id,label:t.id,depth:t.depth})}const p=new Map;for(const t of e)p.set(t.id,t);for(const e of t){const t="object"==typeof e.source?e.source:p.get(e.source),r="object"==typeof e.target?e.target:p.get(e.target);t&&r&&(null!=t.x&&null!=r.x&&y.push({type:"line",x1:t.x,y1:t.y,x2:r.x,y2:r.y,style:{stroke:"rgba(128,128,128,0.35)",strokeWidth:.5,opacity:1},datum:e}))}if(r.showLabels){const t=r.nodeLabel;for(const r of e){const e=d(r);if(4>=e)continue;const n="function"==typeof t?t(r):t&&null!==(c=null===(s=r.data)||void 0===s?void 0:s[t])&&void 0!==c?c:r.id;g.push({x:r.x,y:r.y+e+12,text:n+"",anchor:"middle",fontSize:10,fill:"currentColor"})}}return{sceneNodes:h,sceneEdges:y,labels:g}},tick:(e,t,r,n,o)=>!1!==r.orbitAnimated&&(function(e,t){var r,n;const o=nt(t),i=null!==(r=t.orbitSpeed)&&void 0!==r?r:.25,a=null!==(n=t.orbitRevolution)&&void 0!==n?n:function(e){switch(e){case"decay":return e=>{var t;return Math.pow(.6,null!==(t=e.depth)&&void 0!==t?t:0)};case"alternate":return e=>{var t;const r=null!==(t=e.depth)&&void 0!==t?t:0;return(r%2==0?1:-1)/(r+1)};default:return e=>{var t;return 1/((null!==(t=e.depth)&&void 0!==t?t:0)+1)}}}(t.orbitRevolutionStyle),s=(("undefined"!=typeof performance?performance.now():Date.now())-o.startTime)/1e3,c=i*(Math.PI/6),l=new Map;for(const t of e)l.set(t.id,t);for(const t of e){const e=o.metaMap.get(t.id);if(!e||!e.parentId)continue;const r=l.get(e.parentId);if(!r)continue;const n=e.angle+s*c*a({id:t.id,depth:e.depth,data:t.data,parentId:e.parentId});t.x=r.x+e.ring*Math.sin(n),t.y=r.y+e.ring*Math.cos(n)*e.eccentricity,t.x0=t.x,t.x1=t.x,t.y0=t.y,t.y1=t.y}}(e,r),!0)},it={sankey:ze,force:He,chord:Ge,tree:Ze,cluster:Ze,treemap:Ze,circlepack:Ze,partition:Ze,orbit:ot};function at(e){return it[e]}function st(e,t,r){return e+(t-e)*r}class ct{constructor(e){this.nodes=new Map,this.edges=new Map,this.tension=0,this.layoutVersion=0,this.sceneNodes=[],this.sceneEdges=[],this.labels=[],this.particlePool=null,this.transition=null,this.lastIngestTime=0,this.nodeTimestamps=new Map,this.edgeTimestamps=new Map,this._decaySortedNodes=null,this.addedNodes=new Set,this.removedNodes=new Set,this.addedEdges=new Set,this.removedEdges=new Set,this.lastTopologyChangeTime=0,this.previousNodeIds=new Set,this.previousEdgeKeys=new Set,this._lastPositionSnapshot=null,this.config=e,this.tensionConfig=Object.assign(Object.assign({},V),e.tensionConfig),"sankey"===e.chartType&&e.showParticles&&(this.particlePool=new Z(2e3))}updateConfig(e){const t=this.config,r=e;t.__orbitState&&(r.__orbitState=t.__orbitState),t.__hierarchyRoot&&(r.__hierarchyRoot=t.__hierarchyRoot),this.config=e,this.tensionConfig=Object.assign(Object.assign({},V),e.tensionConfig),"sankey"===e.chartType&&e.showParticles&&!this.particlePool&&(this.particlePool=new Z(2e3))}ingestHierarchy(e,t){this.nodes.clear(),this.edges.clear(),this._decaySortedNodes=null,this.config.__hierarchyRoot=e,this.runLayout(t)}ingestBounded(e,t,r){const{nodeIDAccessor:n="id",sourceAccessor:o="source",targetAccessor:i="target",valueAccessor:a="value"}=this.config,s="function"==typeof n?n:e=>e[n],c="function"==typeof o?o:e=>e[o],l="function"==typeof i?i:e=>e[i],u="function"==typeof a?a:e=>{var t;return null!==(t=e[a])&&void 0!==t?t:1};this.nodes.clear(),this.edges.clear(),this._decaySortedNodes=null;for(const t of e){const e=s(t)+"";this.nodes.set(e,Object.assign(Object.assign({},lt(e)),{data:t}))}for(const e of t){const t=c(e)+"",r=l(e)+"",n=Number(u(e))||1;this.nodes.has(t)||this.nodes.set(t,Object.assign(Object.assign({},lt(t)),{data:e})),this.nodes.has(r)||this.nodes.set(r,Object.assign(Object.assign({},lt(r)),{data:e})),this.edges.set(`${t}\0${r}`,{source:t,target:r,value:n,y0:0,y1:0,sankeyWidth:0,data:e})}this.runLayout(r)}edgeKey(e,t){return`${e}\0${t}`}ingestEdge(e){const{source:t,target:r,value:n}=e,o=0===this.nodes.size;let i=!1;const a="undefined"!=typeof performance?performance.now():Date.now();this.lastIngestTime=a,this._decaySortedNodes=null,this.nodes.has(t)||(this.nodes.set(t,lt(t)),this.nodeTimestamps.set(t,a),this.tension+=this.tensionConfig.newNode,i=!0),this.nodes.has(r)||(this.nodes.set(r,lt(r)),this.nodeTimestamps.set(r,a),this.tension+=this.tensionConfig.newNode,i=!0);const s=this.edgeKey(t,r),c=this.edges.get(s);return c?(c.value+=n,this.edgeTimestamps.set(s,a),this.tension+=this.tensionConfig.weightChange):(this.edges.set(s,{source:t,target:r,value:n,y0:0,y1:0,sankeyWidth:0}),this.edgeTimestamps.set(s,a),this.tension+=this.tensionConfig.newEdge,i=!0),o||i||this.tension>=this.tensionConfig.threshold}runLayout(e){var t,r,n,o,i,a;const s=at(this.config.chartType);if(!s)return;let c=Array.from(this.nodes.values()),l=Array.from(this.edges.values());if(0===c.length&&!s.hierarchical)return;if(this.prepareForRelayout(),s.supportsStreaming&&!s.hierarchical){const e=new Map;for(const s of c)if(void 0!==s._prevX0){const c=(null!==(t=s._prevX1)&&void 0!==t?t:0)-(null!==(r=s._prevX0)&&void 0!==r?r:0),l=(null!==(n=s._prevY1)&&void 0!==n?n:0)-(null!==(o=s._prevY0)&&void 0!==o?o:0);e.set(s.id,{x:(null!==(i=s._prevX0)&&void 0!==i?i:0)+c/2,y:(null!==(a=s._prevY0)&&void 0!==a?a:0)+l/2})}else 0===s.x&&0===s.y||e.set(s.id,{x:s.x,y:s.y});if(this._lastPositionSnapshot)for(const[t,r]of this._lastPositionSnapshot)e.has(t)||e.set(t,r);this.config.__previousPositions=e.size>0?e:void 0}if(s.computeLayout(c,l,this.config,e),delete this.config.__previousPositions,s.hierarchical&&c.length>0){this.nodes.clear(),this.edges.clear(),this._decaySortedNodes=null;for(const e of c)this.nodes.set(e.id,e);for(const e of l)this.edges.set(`${"string"==typeof e.source?e.source:e.source.id}\0${"string"==typeof e.target?e.target:e.target.id}`,e)}this.finalizeLayout();const u=new Map;for(const e of this.nodes.values())0===e.x&&0===e.y||u.set(e.id,{x:e.x,y:e.y});this._lastPositionSnapshot=u,this.saveTargetPositions(),c.some(e=>void 0!==e._prevX0&&(0!==e._prevX0||0!==e._prevX1||0!==e._prevY0||0!==e._prevY1))&&this.tensionConfig.transitionDuration>0&&(this.restorePreviousPositions(),this.transition={startTime:performance.now(),duration:this.tensionConfig.transitionDuration});const d=new Set(this.nodes.keys()),h=new Set(this.edges.keys());this.addedNodes=new Set,this.removedNodes=new Set,this.addedEdges=new Set,this.removedEdges=new Set;for(const e of d)this.previousNodeIds.has(e)||this.addedNodes.add(e);for(const e of this.previousNodeIds)d.has(e)||this.removedNodes.add(e);for(const e of h)this.previousEdgeKeys.has(e)||this.addedEdges.add(e);for(const e of this.previousEdgeKeys)h.has(e)||this.removedEdges.add(e);(this.addedNodes.size>0||this.removedNodes.size>0||this.addedEdges.size>0||this.removedEdges.size>0)&&(this.lastTopologyChangeTime="undefined"!=typeof performance?performance.now():Date.now()),this.previousNodeIds=d,this.previousEdgeKeys=h,this.layoutVersion++}buildScene(e){const t=at(this.config.chartType);if(!t)return;const r=Array.from(this.nodes.values()),n=Array.from(this.edges.values()),{sceneNodes:o,sceneEdges:i,labels:a}=t.buildScene(r,n,this.config,e);this.sceneNodes=o,this.sceneEdges=i,this.labels=a}get isAnimating(){const e=at(this.config.chartType);return!!(null==e?void 0:e.supportsAnimation)&&!1!==this.config.orbitAnimated}tickAnimation(e,t){const r=at(this.config.chartType);if(!(null==r?void 0:r.tick))return!1;const n=Array.from(this.nodes.values()),o=Array.from(this.edges.values());return r.tick(n,o,this.config,e,t)}advanceTransition(e){if(!this.transition)return!1;const t=function(e,t){return Math.min((e-t.startTime)/t.duration,1)}(e,this.transition),r=function(e,t="ease-out-cubic"){return"linear"===t?e:1-Math.pow(1-e,3)}(t);for(const e of this.nodes.values())void 0===e._targetX0||void 0===e._prevX0||0===e._prevX0&&0===e._prevX1||(e.x0=st(e._prevX0,e._targetX0,r),e.x1=st(e._prevX1,e._targetX1,r),e.y0=st(e._prevY0,e._targetY0,r),e.y1=st(e._prevY1,e._targetY1,r));for(const e of this.edges.values())void 0!==e._targetY0&&void 0!==e._prevY0&&void 0!==e._prevSankeyWidth&&e._prevSankeyWidth>0&&(e.y0=st(e._prevY0,e._targetY0,r),e.y1=st(e._prevY1,e._targetY1,r),e.sankeyWidth=st(e._prevSankeyWidth,e._targetSankeyWidth,r));return this.rebuildAllBeziers(),1>t||(this.snapToTargets(),this.transition=null,!1)}prepareForRelayout(){for(const e of this.nodes.values())e._prevX0=e.x0,e._prevX1=e.x1,e._prevY0=e.y0,e._prevY1=e.y1;for(const e of this.edges.values())e._prevY0=e.y0,e._prevY1=e.y1,e._prevSankeyWidth=e.sankeyWidth}finalizeLayout(){const e="vertical"===this.config.orientation?"down":"right";for(const e of this.nodes.values())if(0!==e.x0||0!==e.x1||0!==e.y0||0!==e.y1)e.width=e.x1-e.x0,e.height=e.y1-e.y0,e.x=e.x0+e.width/2,e.y=e.y0+e.height/2;else{const t=5;e.x0=e.x-t,e.x1=e.x+t,e.y0=e.y-t,e.y1=e.y+t,e.width=2*t,e.height=2*t}for(const t of this.edges.values())t.direction=e,this.updateEdgeBezier(t);this.tension=0}saveTargetPositions(){for(const e of this.nodes.values())e._targetX0=e.x0,e._targetX1=e.x1,e._targetY0=e.y0,e._targetY1=e.y1;for(const e of this.edges.values())e._targetY0=e.y0,e._targetY1=e.y1,e._targetSankeyWidth=e.sankeyWidth}restorePreviousPositions(){for(const e of this.nodes.values())void 0===e._prevX0||0===e._prevX0&&0===e._prevX1||(e.x0=e._prevX0,e.x1=e._prevX1,e.y0=e._prevY0,e.y1=e._prevY1);for(const e of this.edges.values())void 0!==e._prevY0&&void 0!==e._prevSankeyWidth&&e._prevSankeyWidth>0&&(e.y0=e._prevY0,e.y1=e._prevY1,e.sankeyWidth=e._prevSankeyWidth);this.rebuildAllBeziers()}snapToTargets(){for(const e of this.nodes.values())void 0!==e._targetX0&&(e.x0=e._targetX0,e.x1=e._targetX1,e.y0=e._targetY0,e.y1=e._targetY1);for(const e of this.edges.values())void 0!==e._targetY0&&(e.y0=e._targetY0,e.y1=e._targetY1,e.sankeyWidth=e._targetSankeyWidth);this.rebuildAllBeziers()}updateEdgeBezier(e){const t="string"==typeof e.source?this.nodes.get(e.source):e.source,r="string"==typeof e.target?this.nodes.get(e.target):e.target;t&&r&&(e.bezier=e.circular&&e.circularPathData?this.buildCircularBezier(e):this.buildStandardBezier(e,t,r))}buildStandardBezier(e,t,r){const n=(e.sankeyWidth||1)/2;if("down"===e.direction){const o=t.y1,i=r.y0,a=h(o,i);return{circular:!1,points:[{x:e.y0,y:o},{x:e.y0,y:a(.5)},{x:e.y1,y:a(.5)},{x:e.y1,y:i}],halfWidth:n}}const o=t.x1,i=r.x0,a=h(o,i);return{circular:!1,points:[{x:o,y:e.y0},{x:a(.5),y:e.y0},{x:a(.5),y:e.y1},{x:i,y:e.y1}],halfWidth:n}}buildCircularBezier(e){const t=(e._circularWidth||e.sankeyWidth||1)/2,r=e.circularPathData;if(e._circularStub){const e=Math.max(15,Math.min(40,.33*(r.rightFullExtent-r.sourceX))),n=Math.max(15,Math.min(40,.33*(r.targetX-r.leftFullExtent)));return{circular:!0,segments:[[{x:r.sourceX,y:r.sourceY},{x:r.sourceX+.33*e,y:r.sourceY},{x:r.sourceX+.66*e,y:r.sourceY},{x:r.sourceX+e,y:r.sourceY}],[{x:r.targetX-n,y:r.targetY},{x:r.targetX-.66*n,y:r.targetY},{x:r.targetX-.33*n,y:r.targetY},{x:r.targetX,y:r.targetY}]],halfWidth:t}}let n;n="down"===e.direction?[{x:r.sourceY,y:r.sourceX},{x:r.sourceY,y:r.rightFullExtent},{x:r.verticalFullExtent,y:r.rightFullExtent},{x:r.verticalFullExtent,y:r.leftFullExtent},{x:r.targetY,y:r.leftFullExtent},{x:r.targetY,y:r.targetX}]:[{x:r.sourceX,y:r.sourceY},{x:r.rightFullExtent,y:r.sourceY},{x:r.rightFullExtent,y:r.verticalFullExtent},{x:r.leftFullExtent,y:r.verticalFullExtent},{x:r.leftFullExtent,y:r.targetY},{x:r.targetX,y:r.targetY}];const o=[];for(let e=0;n.length-1>e;e++){const t=n[e],r=n[e+1],i=r.x-t.x,a=r.y-t.y;o.push([t,{x:t.x+i/3,y:t.y+a/3},{x:t.x+2*i/3,y:t.y+2*a/3},r])}return{circular:!0,segments:o,halfWidth:t}}rebuildAllBeziers(){for(const e of this.nodes.values())e.width=e.x1-e.x0,e.height=e.y1-e.y0,e.x=e.x0+e.width/2,e.y=e.y0+e.height/2;for(const e of this.edges.values())this.updateEdgeBezier(e)}applyPulse(e){var t,r,n,o,i;const a=this.config.pulse;if(!a)return;const s=null!==(t=a.duration)&&void 0!==t?t:500,c=null!==(r=a.color)&&void 0!==r?r:"rgba(255,255,255,0.6)",l=null!==(n=a.glowRadius)&&void 0!==n?n:4;for(const t of this.sceneNodes){const r=t.id;if(!r)continue;const n=this.nodeTimestamps.get(r);if(!n)continue;const o=e-n;s>o&&(t._pulseIntensity=1-o/s,t._pulseColor=c,t._pulseGlowRadius=l)}for(const t of this.sceneEdges){const r=t.datum;if(!r)continue;const n="object"==typeof r.source?null===(o=r.source)||void 0===o?void 0:o.id:r.source,a="object"==typeof r.target?null===(i=r.target)||void 0===i?void 0:i.id:r.target;if(!n||!a)continue;const l=this.edgeTimestamps.get(`${n}\0${a}`);if(!l)continue;const u=e-l;s>u&&(t._pulseIntensity=1-u/s,t._pulseColor=c)}}applyDecay(){var e,t,r,n,o;const i=this.config.decay;if(!i)return;const a=null!==(e=i.minOpacity)&&void 0!==e?e:.1,s=this.nodeTimestamps.size;if(1>=s)return;this._decaySortedNodes||(this._decaySortedNodes=Array.from(this.nodeTimestamps.entries()).sort((e,t)=>e[1]-t[1]));const c=this._decaySortedNodes,l=new Map;for(let e=0;c.length>e;e++)l.set(c[e][0],e);for(const e of this.sceneNodes){const c=e.id;if(!c)continue;const u=l.get(c);if(void 0===u)continue;const d=s-1-u;let h;switch(i.type){case"linear":h=a+(1-d/(s-1))*(1-a);break;case"exponential":{const e=null!==(t=i.halfLife)&&void 0!==t?t:s/2;h=a+Math.pow(.5,d/e)*(1-a);break}case"step":h=(null!==(r=i.stepThreshold)&&void 0!==r?r:.5*s)>d?1:a;break;default:h=1}const y=null!==(o=null===(n=e.style)||void 0===n?void 0:n.opacity)&&void 0!==o?o:1;e.style=Object.assign(Object.assign({},e.style),{opacity:y*h})}}applyTopologyDiff(e){var t;if(0===this.addedNodes.size)return;const r=e-this.lastTopologyChangeTime;if(r>=2e3)return;const n=1-r/2e3;for(const e of this.sceneNodes){const r=e.id;r&&this.addedNodes.has(r)&&(e._pulseIntensity=Math.max(null!==(t=e._pulseIntensity)&&void 0!==t?t:0,n),e._pulseColor="rgba(34, 197, 94, 0.7)",e._pulseGlowRadius=8)}}get hasActiveTopologyDiff(){return 0!==this.addedNodes.size&&2e3>("undefined"!=typeof performance?performance.now():Date.now())-this.lastTopologyChangeTime}applyThresholds(e){var t,r;const n=this.config.thresholds;if(!n)return;const o=null!==(t=n.warningColor)&&void 0!==t?t:"#f59e0b",i=null!==(r=n.criticalColor)&&void 0!==r?r:"#ef4444",a=!1!==n.pulse;for(const t of this.sceneNodes){const r=t.id;if(!r)continue;const s=this.nodes.get(r);if(!s)continue;const c=n.metric(s);let l=null;void 0===n.critical||n.critical>c?void 0===n.warning||n.warning>c||(l=o):l=i,l&&(t.style=Object.assign(Object.assign({},t.style),{fill:l}),a&&(t._pulseIntensity=.6+.4*Math.sin(e/300),t._pulseColor=l,t._pulseGlowRadius=6))}}get hasActiveThresholds(){const e=this.config.thresholds;if(!e)return!1;for(const t of this.nodes.values()){const r=e.metric(t);if(void 0!==e.warning&&r>=e.warning||void 0!==e.critical&&r>=e.critical)return!0}return!1}get hasActivePulses(){var e;const t=this.config.pulse;if(!t||0===this.lastIngestTime)return!1;const r="undefined"!=typeof performance?performance.now():Date.now();return(null!==(e=t.duration)&&void 0!==e?e:500)>r-this.lastIngestTime}getLayoutData(){return{nodes:Array.from(this.nodes.values()),edges:Array.from(this.edges.values())}}clear(){this.nodes.clear(),this.edges.clear(),this._decaySortedNodes=null,this.tension=0,this.layoutVersion=0,this.sceneNodes=[],this.sceneEdges=[],this.labels=[],this.transition=null,this.lastIngestTime=0,this._lastPositionSnapshot=null,this.nodeTimestamps.clear(),this.edgeTimestamps.clear(),this.particlePool&&this.particlePool.clear()}}function lt(e){return{id:e,x0:0,x1:0,y0:0,y1:0,x:0,y:0,width:0,height:0,value:0,createdByFrame:!0}}function ut(e){let t=e%(2*Math.PI);return 0>t&&(t+=2*Math.PI),t}function dt(e,t,r,n,o=30){let i=null,a=o,s=1/0;for(const t of e){const e=ht(t,r,n);if(e)if("rect"===t.type){const r=t.w*t.h;s>r&&(i=e,s=r)}else a>e.distance&&(i=e,a=e.distance)}if(i)return i;for(const e of t){const t=ft(e,r,n);t&&a>t.distance&&(i=t,a=t.distance)}return i}function ht(e,t,r){switch(e.type){case"circle":return function(e,t,r){const n=t-e.cx,o=r-e.cy,i=Math.sqrt(n*n+o*o);return i>Math.max(e.r,5)+5?null:{type:"node",datum:e.datum,x:e.cx,y:e.cy,distance:i}}(e,t,r);case"rect":return function(e,t,r){const n=function(e,t,r){return r.x>e||e>r.x+r.w||r.y>t||t>r.y+r.h?{hit:!1,cx:0,cy:0}:{hit:!0,cx:r.x+r.w/2,cy:r.y+r.h/2}}(t,r,e);return n.hit?{type:"node",datum:e.datum,x:n.cx,y:n.cy,distance:0}:null}(e,t,r);case"arc":return function(e,t,r){const n=t-e.cx,o=r-e.cy,i=Math.sqrt(n*n+o*o);if(e.innerR-2>i||i>e.outerR+2)return null;const a=ut(Math.atan2(o,n)),s=ut(e.startAngle),c=ut(e.endAngle);if(s>c?a>=s||c>=a:a>=s&&c>=a){const t=(e.startAngle+e.endAngle)/2,r=(e.innerR+e.outerR)/2;return{type:"node",datum:e.datum,x:e.cx+r*Math.cos(t),y:e.cy+r*Math.sin(t),distance:0}}return null}(e,t,r);default:return null}}let yt=null,gt=null;function pt(){return gt||(yt=document.createElement("canvas"),yt.width=1,yt.height=1,gt=yt.getContext("2d")),gt}function ft(e,t,r){switch(e.type){case"bezier":return function(e,t,r){var n,o;if(!e.pathD)return null;try{const i=new Path2D(e.pathD),a=pt();if(!a)return null;if(a.isPointInPath(i,t,r)){const i="object"==typeof(null===(n=e.datum)||void 0===n?void 0:n.source)?e.datum.source:null,a="object"==typeof(null===(o=e.datum)||void 0===o?void 0:o.target)?e.datum.target:null;return{type:"edge",datum:e.datum,x:i&&a?(i.x1+a.x0)/2:t,y:e.datum?(e.datum.y0+e.datum.y1)/2:r,distance:0}}const s=a.lineWidth;a.lineWidth=10;const c=a.isPointInStroke(i,t,r);if(a.lineWidth=s,c)return{type:"edge",datum:e.datum,x:t,y:r,distance:4}}catch(e){}return null}(e,t,r);case"line":return function(e,t,r){const n=e.x2-e.x1,o=e.y2-e.y1,i=n*n+o*o;if(0===i)return null;let a=((t-e.x1)*n+(r-e.y1)*o)/i;a=Math.max(0,Math.min(1,a));const s=e.x1+a*n,c=e.y1+a*o,l=Math.sqrt(Math.pow(t-s,2)+Math.pow(r-c,2));return l>5?null:{type:"edge",datum:e.datum,x:s,y:c,distance:l}}(e,t,r);case"ribbon":case"curved":return function(e,t,r){if(!e.pathD)return null;try{const n=new Path2D(e.pathD),o=pt();if(!o)return null;if(o.isPointInPath(n,t,r))return{type:"edge",datum:e.datum,x:t,y:r,distance:0};const i=o.lineWidth;o.lineWidth=10;const a=o.isPointInStroke(n,t,r);if(o.lineWidth=i,a)return{type:"edge",datum:e.datum,x:t,y:r,distance:4}}catch(e){}return null}(e,t,r);default:return null}}const mt={fill:t=>e.createElement("rect",{style:t,width:16,height:16}),line:t=>e.createElement("line",{style:t,x1:0,y1:0,x2:16,y2:16})};function vt(e,t,r,n){let o;return o="function"==typeof r?r(e):(0,mt[r])(n(e,t)),o}function bt(){return e.createElement("path",{d:"M4,8.8 L7.2,12 L12.8,4.8",fill:"none",stroke:"white",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})}function xt(e,t,r){return r&&r.size>0?r.has(e.label)?1:.3:null!=t?e.label===t?1:.3:1}function kt({config:t,orientation:r="vertical",width:n=100}){const{colorFn:o,domain:i,label:a,format:s}=t,c=s||(e=>Math.round(100*e)/100+""),l="grad-legend-"+e.useId();if("horizontal"===r){const t=12,r=Math.min(n,200),s=Math.max(0,(n-r)/2),u=[];for(let t=0;64>=t;t++){const r=t/64;u.push(e.createElement("stop",{key:t,offset:100*r+"%",stopColor:o(i[0]+r*(i[1]-i[0]))}))}return e.createElement("g",{"aria-label":a||"Gradient legend"},e.createElement("defs",null,e.createElement("linearGradient",{id:l,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},u)),a&&e.createElement("text",{x:s+r/2,y:-4,textAnchor:"middle",fontSize:11,fill:"var(--semiotic-text, #333)"},a),e.createElement("rect",{x:s,y:0,width:r,height:t,fill:`url(#${l})`,rx:2}),e.createElement("text",{x:s,y:t+12,textAnchor:"start",fontSize:10,fill:"var(--semiotic-text-secondary, #666)"},c(i[0])),e.createElement("text",{x:s+r,y:t+12,textAnchor:"end",fontSize:10,fill:"var(--semiotic-text-secondary, #666)"},c(i[1])))}const u=[];for(let t=0;64>=t;t++){const r=t/64;u.push(e.createElement("stop",{key:t,offset:100*r+"%",stopColor:o(i[1]-r*(i[1]-i[0]))}))}return e.createElement("g",{"aria-label":a||"Gradient legend"},a&&e.createElement("text",{x:7,y:-6,textAnchor:"middle",fontSize:11,fill:"var(--semiotic-text, #333)"},a),e.createElement("defs",null,e.createElement("linearGradient",{id:l,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},u)),e.createElement("rect",{x:0,y:0,width:14,height:100,fill:`url(#${l})`,rx:2}),e.createElement("text",{x:19,y:10,fontSize:10,fill:"var(--semiotic-text-secondary, #666)"},c(i[1])),e.createElement("text",{x:19,y:100,fontSize:10,fill:"var(--semiotic-text-secondary, #666)"},c(i[0])))}function At(t){const{legendGroups:r,customClickBehavior:n,customHoverBehavior:o,highlightedCategory:i,isolatedCategories:a,legendInteraction:s,title:c="Legend",width:l=100,height:u=20,orientation:d="vertical"}=t,[h,y]=e.useState(0),[g,p]=e.useState(0),f=e.useCallback((e,t)=>{y(e),p(t)},[]),m="vertical"===d?(({legendGroups:t,width:r,customClickBehavior:n,customHoverBehavior:o,highlightedCategory:i,isolatedCategories:a,focusedGroupIndex:s,focusedItemIndex:c,onFocusedIndexChange:l,legendInteraction:u})=>{let d=24;const h=[];return t.forEach((t,y)=>{d+=5,h.push(e.createElement("line",{key:"legend-top-line legend-symbol-"+y,stroke:"gray",x1:0,y1:d,x2:r,y2:d})),d+=8,t.label&&(d+=16,h.push(e.createElement("text",{key:"legend-text-"+y,y:d,className:"legend-group-label",fontSize:12,fill:"var(--semiotic-text, #333)"},t.label)),d+=8),h.push(e.createElement("g",{key:"legend-group-"+y,className:"legend-item",transform:`translate(0,${d})`},((t,r,n,o,i,a,s,c,l,u)=>{const{type:d="fill",styleFn:h,items:y}=t,g=[];let p=0;const f=!(!r&&!n),m="isolate"===u||void 0===u&&null!=i;return y.forEach((t,u)=>{const v=vt(t,u,d,h),b=xt(t,o,i),x=i&&i.size>0&&i.has(t.label);g.push(e.createElement("g",{key:"legend-item-"+u,transform:`translate(0,${p})`,onClick:r?()=>r(t):void 0,onMouseEnter:n?()=>n(t):void 0,onMouseLeave:n?()=>n(null):void 0,tabIndex:f?c===a&&u===s?0:-1:void 0,role:f?"option":void 0,"aria-selected":f&&m?x||!1:void 0,"aria-current":f&&!m&&null!=o&&t.label===o||void 0,"aria-label":t.label,onKeyDown:f?e=>{var n;if("Enter"!==e.key&&" "!==e.key||(e.preventDefault(),r&&r(t)),"ArrowDown"===e.key||"ArrowUp"===e.key){e.preventDefault();const t=(u+("ArrowDown"===e.key?1:-1)+y.length)%y.length;l(c,t);const r=null===(n=e.currentTarget.parentElement)||void 0===n?void 0:n.children[t];r instanceof SVGElement&&r.focus()}}:void 0,onFocus:f?e=>{l(c,u),n&&n(t);const r=e.currentTarget.querySelector(".semiotic-legend-focus-ring");r&&r.setAttribute("visibility","visible")}:void 0,onBlur:f?e=>{n&&n(null);const t=e.currentTarget.querySelector(".semiotic-legend-focus-ring");t&&t.setAttribute("visibility","hidden")}:void 0,style:{cursor:f?"pointer":"default",opacity:b,transition:"opacity 150ms ease",pointerEvents:"all",outline:"none"}},f&&e.createElement("rect",{className:"semiotic-legend-focus-ring",x:-2,y:-2,width:24+7*t.label.length,height:20,fill:"none",stroke:"var(--semiotic-focus, #005fcc)",strokeWidth:2,rx:3,visibility:"hidden"}),v,x&&e.createElement(bt,null),e.createElement("text",{y:8,x:22,dominantBaseline:"central",fontSize:12,fill:"var(--semiotic-text, #333)"},t.label))),p+=22}),g})(t,n,o,i,a,s,c,y,l,u))),d+=22*t.items.length+8}),h})({legendGroups:r||[],width:l,customClickBehavior:n,customHoverBehavior:o,highlightedCategory:i,isolatedCategories:a,focusedGroupIndex:h,focusedItemIndex:g,onFocusedIndexChange:f,legendInteraction:s}):(({legendGroups:t,height:r,width:n,customClickBehavior:o,customHoverBehavior:i,highlightedCategory:a,isolatedCategories:s,focusedGroupIndex:c,focusedItemIndex:l,onFocusedIndexChange:u,legendInteraction:d})=>{let h=0;const y=[];t.forEach((t,r)=>{let n=0;t.label&&(n+=16);const g=((t,r,n,o,i,a,s,c,l,u)=>{const{type:d="fill",styleFn:h,items:y}=t,g=[];let p=0;const f=!(!r&&!n),m="isolate"===u||void 0===u&&null!=i;return y.forEach((t,u)=>{const v=vt(t,u,d,h),b=xt(t,o,i),x=i&&i.size>0&&i.has(t.label);g.push(e.createElement("g",{key:"legend-item-"+u,transform:`translate(${p},0)`,onClick:r?()=>r(t):void 0,onMouseEnter:n?()=>n(t):void 0,onMouseLeave:n?()=>n(null):void 0,tabIndex:f?c===a&&u===s?0:-1:void 0,role:f?"option":void 0,"aria-selected":f&&m?x||!1:void 0,"aria-current":f&&!m&&null!=o&&t.label===o||void 0,"aria-label":t.label,onKeyDown:f?e=>{var n;if("Enter"!==e.key&&" "!==e.key||(e.preventDefault(),r&&r(t)),"ArrowRight"===e.key||"ArrowLeft"===e.key){e.preventDefault();const t=(u+("ArrowRight"===e.key?1:-1)+y.length)%y.length;l(c,t);const r=null===(n=e.currentTarget.parentElement)||void 0===n?void 0:n.children[t];r instanceof SVGElement&&r.focus()}}:void 0,onFocus:f?e=>{l(c,u),n&&n(t);const r=e.currentTarget.querySelector(".semiotic-legend-focus-ring");r&&r.setAttribute("visibility","visible")}:void 0,onBlur:f?e=>{n&&n(null);const t=e.currentTarget.querySelector(".semiotic-legend-focus-ring");t&&t.setAttribute("visibility","hidden")}:void 0,style:{cursor:f?"pointer":"default",opacity:b,transition:"opacity 150ms ease",pointerEvents:"all",outline:"none"}},f&&e.createElement("rect",{className:"semiotic-legend-focus-ring",x:-2,y:-2,width:24+7*t.label.length,height:20,fill:"none",stroke:"var(--semiotic-focus, #005fcc)",strokeWidth:2,rx:3,visibility:"hidden"}),v,x&&e.createElement(bt,null),e.createElement("text",{y:8,x:22,dominantBaseline:"central",fontSize:12,fill:"var(--semiotic-text, #333)"},t.label))),p+=26+7*t.label.length}),{items:g,offset:p}})(t,o,i,a,s,c,l,r,u,d);n+=g.offset+5,y.push(Object.assign(Object.assign({label:t.label},g),{offset:n})),h+=n+12});let g=Math.max(0,(n-h)/2);const p=[];return y.forEach((n,o)=>{const i=t[o];i.label&&(p.push(e.createElement("text",{key:"legend-text-"+o,transform:`translate(${g},0) rotate(90)`,textAnchor:"start",className:"legend-group-label",fontSize:12,fill:"var(--semiotic-text, #333)"},i.label)),g+=16),p.push(e.createElement("g",{key:"legend-group-"+o,className:"legend-item",transform:`translate(${g},0)`},n.items)),g+=n.offset+5,t[o+1]&&p.push(e.createElement("line",{key:"legend-top-line legend-symbol-"+o,stroke:"gray",x1:g,y1:-8,x2:g,y2:r+0+8})),g+=12}),e.createElement("g",null,p)})({legendGroups:r||[],title:c,height:u,width:l,customClickBehavior:n,customHoverBehavior:o,highlightedCategory:i,isolatedCategories:a,focusedGroupIndex:h,focusedItemIndex:g,onFocusedIndexChange:f,legendInteraction:s}),v=!(!n&&!o);return e.createElement("g",{role:v?"listbox":void 0,"aria-multiselectable":!(!v||"isolate"!==s&&(void 0!==s||null==a))||void 0,"aria-label":"Chart legend"},void 0!==c&&""!==c&&"vertical"===d&&e.createElement("text",{className:"legend-title",y:16,x:l/2,textAnchor:"middle",fontSize:12,fill:"var(--semiotic-text, #333)"},c),m)}function wt(t){const{width:r,height:n,totalWidth:o,totalHeight:i,margin:a,labels:s,title:c,legend:l,legendHoverBehavior:u,legendClickBehavior:d,legendHighlightedCategory:h,legendIsolatedCategories:y,legendPosition:g="right",foregroundGraphics:p,sceneNodes:f,annotations:m,svgAnnotationRules:v}=t;return e.createElement(e.Fragment,null,e.createElement("svg",{role:"img",width:o,height:i,style:{position:"absolute",top:0,left:0,pointerEvents:"none"}},e.createElement("title",null,"string"==typeof c?c:"Network Chart"),e.createElement("desc",null,"string"==typeof c?c+" — network data visualization":"Network data visualization"),e.createElement("g",{transform:`translate(${a.left},${a.top})`},s.map((t,r)=>e.createElement("text",{key:"label-"+r,x:t.x,y:t.y,textAnchor:t.anchor||"start",dominantBaseline:t.baseline||"middle",fontSize:t.fontSize||11,fontWeight:t.fontWeight,fill:t.fill||"currentColor",stroke:t.stroke,strokeWidth:t.strokeWidth,paintOrder:t.paintOrder,style:{pointerEvents:"none"}},t.text)),m&&m.filter(e=>"widget"!==e.type).map((t,o)=>{if(v){const i=v(t,o,{width:r,height:n,sceneNodes:f});if(i)return e.createElement(e.Fragment,{key:"annotation-"+o},i)}return null}),p),c&&"string"==typeof c?e.createElement("text",{x:o/2,y:16,textAnchor:"middle",fontSize:14,fontWeight:600,fill:"currentColor"},c):c?e.createElement("foreignObject",{x:0,y:0,width:o,height:a.top},c):null,function(t){const{legend:r,totalWidth:n,totalHeight:o,margin:i,legendPosition:a="right",title:s,legendHoverBehavior:c,legendClickBehavior:l,legendHighlightedCategory:u,legendIsolatedCategories:d,legendInteraction:h}=t;if(!r)return null;const y="top"===a||"bottom"===a;let g,p;return"left"===a?(g=4,p=i.top):"top"===a?(g=0,p=s?32:8):"bottom"===a?(g=0,p=o-i.bottom+50):(g=n-i.right+10,p=i.top),e.createElement("g",{transform:`translate(${g}, ${p})`},function(e){return"object"==typeof e&&null!==e&&"gradient"in e}(r)?e.createElement(kt,{config:r.gradient,orientation:y?"horizontal":"vertical",width:y?n:100}):function(e){return"object"==typeof e&&null!==e&&"legendGroups"in e}(r)?e.createElement(At,{legendGroups:r.legendGroups,title:"",width:y?n:100,orientation:y?"horizontal":"vertical",customHoverBehavior:c,customClickBehavior:l,highlightedCategory:u,isolatedCategories:d,legendInteraction:h}):r)}({legend:l,totalWidth:o,totalHeight:i,margin:a,legendPosition:g,title:c,legendHoverBehavior:u,legendClickBehavior:d,legendHighlightedCategory:h,legendIsolatedCategories:y})),null==m?void 0:m.filter(e=>"widget"===e.type&&e.nodeId&&f).map((t,r)=>{var n,o,i,s,c,l,u,d,h;const y=f.find(e=>{var r,n,o,i,a;return e.id===t.nodeId||(null===(r=e.datum)||void 0===r?void 0:r.id)===t.nodeId||(null===(o=null===(n=e.datum)||void 0===n?void 0:n.data)||void 0===o?void 0:o.id)===t.nodeId||(null===(a=null===(i=e.datum)||void 0===i?void 0:i.data)||void 0===a?void 0:a.name)===t.nodeId});if(!y)return null;const g=a.left+(null!==(n=y.cx)&&void 0!==n?n:null!=y.x&&null!=y.w?y.x+y.w/2:null!==(o=y.x)&&void 0!==o?o:0),p=a.top+(null!==(i=y.cy)&&void 0!==i?i:null!=y.y&&null!=y.h?y.y+y.h/2:null!==(s=y.y)&&void 0!==s?s:0),m=null!==(c=t.dx)&&void 0!==c?c:0,v=null!==(l=t.dy)&&void 0!==l?l:-16,b=null!==(u=t.width)&&void 0!==u?u:32,x=null!==(d=t.height)&&void 0!==d?d:32,k=null!==(h=t.content)&&void 0!==h?h:e.createElement("span",{style:{fontSize:18,cursor:"default"}},"ℹ️");return e.createElement("div",{key:"widget-"+r,style:{position:"absolute",left:g+m-b/2,top:p+v-x/2,width:b,height:x,display:"flex",alignItems:"center",justifyContent:"center",pointerEvents:"auto",zIndex:5}},k)}))}wt.displayName="NetworkSVGOverlay";const St="undefined"==typeof window||"undefined"==typeof document,Et={position:"absolute",width:1,height:1,overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap",border:0};function Lt(e,t,r){const n=[];return e>0&&n.push(e+" nodes"),t>0&&n.push(t+" edges"),0===n.length?r+", empty":`${r}, ${n.join(", ")}`}function Dt({nodes:t,chartType:r}){var n,o,i,a,s;const c=[];for(const e of t){if(c.length>=50)break;c.push({values:{id:(null===(n=e.datum)||void 0===n?void 0:n.id)||e.id||"",x:Math.round(100*(null!==(i=null!==(o=e.cx)&&void 0!==o?o:e.x)&&void 0!==i?i:0))/100+"",y:Math.round(100*(null!==(s=null!==(a=e.cy)&&void 0!==a?a:e.y)&&void 0!==s?s:0))/100+""}})}if(0===c.length)return null;const l=new Set;for(const e of c)for(const t of Object.keys(e.values))l.add(t);const u=Array.from(l);return e.createElement("table",{style:Et,role:"table","aria-label":"Data table for "+r},e.createElement("thead",null,e.createElement("tr",null,u.map(t=>e.createElement("th",{key:t},t)))),e.createElement("tbody",null,c.map((t,r)=>e.createElement("tr",{key:r},u.map(r=>{var n;return e.createElement("td",{key:r},null!==(n=t.values[r])&&void 0!==n?n:"")}))),t.length>50&&e.createElement("tr",null,e.createElement("td",{colSpan:u.length},"...and ",t.length-50," more items"))))}function Ot({hoverPoint:t}){let r="";if(t){const e=t.data||t;r="object"==typeof e?"Focused on data point: "+Object.entries(e).filter(([,e])=>"object"!=typeof e&&"function"!=typeof e).map(([e,t])=>`${e}: ${t}`).join(", "):"Focused on data point: "+e}return e.createElement("div",{"aria-live":"polite","aria-atomic":"true",style:Et},r)}function jt(e){return!(!e._pulseIntensity||0>=e._pulseIntensity)}function Pt(e,t,r=.3){jt(t)&&(e.globalAlpha=t._pulseIntensity*r,e.fillStyle=t._pulseColor||"rgba(255,255,255,0.6)",e.fillRect(t.x,t.y,t.w,t.h))}function Ct(e,t,r=.6){var n,o,i,a,s;if(!jt(t))return;const c=null!==(n=t._pulseGlowRadius)&&void 0!==n?n:4,l=t.r+c*t._pulseIntensity,u=null!==(i=null!==(o=t.cx)&&void 0!==o?o:t.x)&&void 0!==i?i:0,d=null!==(s=null!==(a=t.cy)&&void 0!==a?a:t.y)&&void 0!==s?s:0;e.beginPath(),e.arc(u,d,l,0,2*Math.PI),e.strokeStyle=t._pulseColor||"rgba(255,255,255,0.6)",e.lineWidth=2*t._pulseIntensity,e.globalAlpha=t._pulseIntensity*r,e.stroke()}function It(e,t){var r,n,o,i,a,s;if(!t.pathD)return;e.save();const c=new Path2D(t.pathD);if(t.style.fill&&"none"!==t.style.fill){const a=t._gradient;if(a){const o=e.createLinearGradient(a.x0,0,a.x1,0),i=null!==(n=null!==(r=t.style.fillOpacity)&&void 0!==r?r:t.style.opacity)&&void 0!==n?n:.5,s=t.style.fill;o.addColorStop(0,1===a.from?s:"transparent"),o.addColorStop(1,1===a.to?s:"transparent"),e.fillStyle=o,e.globalAlpha=i}else e.fillStyle=t.style.fill,e.globalAlpha=null!==(i=null!==(o=t.style.fillOpacity)&&void 0!==o?o:t.style.opacity)&&void 0!==i?i:.5;e.fill(c)}t.style.stroke&&"none"!==t.style.stroke&&(e.strokeStyle=t.style.stroke,e.lineWidth=null!==(a=t.style.strokeWidth)&&void 0!==a?a:.5,e.globalAlpha=.5*(null!==(s=t.style.opacity)&&void 0!==s?s:1),e.stroke(c)),t._pulseIntensity&&t._pulseIntensity>0&&(e.fillStyle=t._pulseColor||"rgba(255,255,255,0.6)",e.globalAlpha=.2*t._pulseIntensity,e.fill(c)),e.restore()}function Nt(e,t){var r,n;e.save(),e.strokeStyle=t.style.stroke||"#999",e.lineWidth=null!==(r=t.style.strokeWidth)&&void 0!==r?r:1,void 0!==t.style.opacity&&(e.globalAlpha=t.style.opacity),t.style.strokeDasharray&&e.setLineDash(t.style.strokeDasharray.split(/[\s,]+/).map(Number)),e.beginPath(),e.moveTo(t.x1,t.y1),e.lineTo(t.x2,t.y2),e.stroke(),t._pulseIntensity&&t._pulseIntensity>0&&(e.setLineDash([]),e.strokeStyle=t._pulseColor||"rgba(255,255,255,0.6)",e.lineWidth=(null!==(n=t.style.strokeWidth)&&void 0!==n?n:1)+3*t._pulseIntensity,e.globalAlpha=.4*t._pulseIntensity,e.beginPath(),e.moveTo(t.x1,t.y1),e.lineTo(t.x2,t.y2),e.stroke()),e.restore()}function Tt(e,t){var r,n,o,i;if(!t.pathD)return;e.save();const a=new Path2D(t.pathD);t.style.fill&&"none"!==t.style.fill&&(e.fillStyle=t.style.fill,e.globalAlpha=null!==(n=null!==(r=t.style.fillOpacity)&&void 0!==r?r:t.style.opacity)&&void 0!==n?n:.5,e.fill(a)),t.style.stroke&&"none"!==t.style.stroke&&(e.strokeStyle=t.style.stroke,e.lineWidth=null!==(o=t.style.strokeWidth)&&void 0!==o?o:.5,e.globalAlpha=.3*(null!==(i=t.style.opacity)&&void 0!==i?i:1),e.stroke(a)),t._pulseIntensity&&t._pulseIntensity>0&&(e.fillStyle=t._pulseColor||"rgba(255,255,255,0.6)",e.globalAlpha=.25*t._pulseIntensity,e.fill(a)),e.restore()}function Mt(e,t){var r,n;if(!t.pathD)return;e.save();const o=new Path2D(t.pathD);e.strokeStyle=t.style.stroke||"#999",e.lineWidth=null!==(r=t.style.strokeWidth)&&void 0!==r?r:1,void 0!==t.style.opacity&&(e.globalAlpha=t.style.opacity),e.stroke(o),t.style.fill&&"none"!==t.style.fill&&(e.fillStyle=t.style.fill,e.globalAlpha=null!==(n=t.style.fillOpacity)&&void 0!==n?n:.1,e.fill(o)),e.restore()}const $t={category10:b,tableau10:O,set3:D,blues:L,reds:E,greens:S,oranges:w,purples:A,viridis:k,plasma:x},_t=b,Wt=["#f0f0f0","#b5d4ea","#f4c2a1","#b8dab2","#d4b5e0","#f9e0a2","#a8d8d8"],Bt=new Set(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","transparent","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"]);function Rt(e,t,r){if("function"==typeof t){const n=t(e);return r&&n&&"string"==typeof n&&!function(e){const t=e.toLowerCase();return t.startsWith("#")||t.startsWith("rgb")||t.startsWith("hsl")||Bt.has(t)}(n)?r(n):n}const n=e[t];return r?r(n):_t[Math.abs(function(e){let t=0;for(let r=0;e.length>r;r++)t=(t<<5)-t+e.charCodeAt(r),t&=t;return Math.abs(t)}(n+""))%_t.length]}function zt(e,t,r="category10"){const n=Array.from(new Set(e.map(e=>null==e?void 0:e[t]).filter(e=>null!=e))),o=n.every(e=>"number"==typeof e||!isNaN(Number(e)));if(Array.isArray(r))return $().domain(n).range(r).unknown("#999");const i=$t[r]||$t.category10;if(o&&"function"==typeof i){let e=-1/0;for(const t of n){const r=Number(t);r>e&&(e=r)}return t=>i(Number(t)/e)}{const e=Array.isArray(i)?i:_t;return $().domain(n).range(e).unknown("#999")}}function Ht(r){const n=o(null),l=Ft(r);return[function({children:t}){const o=i(()=>Ft(r),[]);return e.createElement(n.Provider,{value:o,children:t})},e=>{var r;const o=null!==(r=a(n))&&void 0!==r?r:l,i=t(e);i.current=e;const u=s(()=>i.current(o.getState()),[o]),d=s(()=>i.current(o.getState()),[o]);return c(o.subscribe,u,d)}]}function Ft(e){const t=new EventTarget;let r=e(function(e){r=Object.assign(Object.assign({},r),e(r)),t.dispatchEvent(new CustomEvent("update"))});return{getState:()=>r,subscribe:function(e){return t.addEventListener("update",e),()=>t.removeEventListener("update",e)}}}const Yt={mode:"light",colors:{primary:"#00a2ce",categorical:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],sequential:"blues",background:"transparent",text:"#333",textSecondary:"#666",grid:"#e0e0e0",border:"#ccc"},typography:{fontFamily:"sans-serif",titleSize:16,labelSize:12,tickSize:10}},Xt={mode:"dark",colors:{primary:"#4fc3f7",categorical:["#4fc3f7","#ffb74d","#81c784","#ef5350","#ba68c8","#a1887f","#f06292","#90a4ae","#dce775","#4dd0e1"],sequential:"blues",background:"#1a1a2e",text:"#e0e0e0",textSecondary:"#aaa",grid:"#333",border:"#555"},typography:{fontFamily:"sans-serif",titleSize:16,labelSize:12,tickSize:10}},[qt,Gt]=Ht(e=>({theme:Yt,setTheme(t){e(e=>"light"===t?{theme:Yt}:"dark"===t?{theme:Xt}:{theme:Object.assign(Object.assign(Object.assign({},e.theme),t),{colors:Object.assign(Object.assign({},e.theme.colors),t.colors||{}),typography:Object.assign(Object.assign({},e.theme.typography),t.typography||{})})})}})),Vt={top:20,right:80,bottom:20,left:80},Kt={top:40,right:40,bottom:40,left:40},Zt=new Set(["chord","force","circlepack","orbit"]),Qt=[800,600],Ut={background:"rgba(0, 0, 0, 0.85)",color:"white",padding:"6px 10px",borderRadius:4,fontSize:12,lineHeight:1.5,boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)",pointerEvents:"none",whiteSpace:"nowrap"};function Jt({data:t}){var r,n,o,i,a,s;if("edge"===t.type){const r=t.data;return e.createElement("div",{className:"semiotic-tooltip",style:Ut},e.createElement("div",{style:{fontWeight:600}},"object"==typeof r.source?r.source.id:r.source," → ","object"==typeof r.target?r.target.id:r.target),null!=r.value&&e.createElement("div",{style:{marginTop:4,opacity:.8}},"Value:"," ","number"==typeof r.value?r.value.toLocaleString():r.value+""))}const c=t.data,l=null==c?void 0:c.__hierarchyNode;if(l){const t=[];let a=l;for(;a;){const e=null!==(i=null!==(n=null===(r=a.data)||void 0===r?void 0:r.name)&&void 0!==n?n:null===(o=a.data)||void 0===o?void 0:o.id)&&void 0!==i?i:c.id;null!=e&&t.unshift(e+""),a=a.parent}t.length>1&&t.shift();const s=t.length-1;return e.createElement("div",{className:"semiotic-tooltip",style:Ut},e.createElement("div",null,t.map((t,r)=>e.createElement("span",{key:r},r>0&&e.createElement("span",{style:{margin:"0 3px",opacity:.5}}," → "),r===s?e.createElement("strong",null,t):e.createElement("span",{style:{opacity:.7}},t)))),null!=c.value&&c.value>0&&e.createElement("div",{style:{marginTop:4,opacity:.8}},"number"==typeof c.value?c.value.toLocaleString():c.value+""))}const u=((null===(a=c.sourceLinks)||void 0===a?void 0:a.length)||0)+((null===(s=c.targetLinks)||void 0===s?void 0:s.length)||0),d=(c.sourceLinks||[]).reduce((e,t)=>e+(t.value||0),0)+(c.targetLinks||[]).reduce((e,t)=>e+(t.value||0),0);return e.createElement("div",{className:"semiotic-tooltip",style:Ut},e.createElement("div",{style:{fontWeight:600}},c.id),null!=c.value&&c.value>0&&e.createElement("div",{style:{marginTop:4,opacity:.8}},"Total:"," ","number"==typeof c.value?c.value.toLocaleString():c.value+""),u>0&&e.createElement("div",{style:{marginTop:4,opacity:.8}},"Connections: ",u,d!==u&&` (weighted: ${d.toLocaleString()})`))}const er=l(function(o,a){var c,l,d,h,y,g,p,f,m,v,b;const{chartType:x,nodes:k,edges:A,data:w,initialEdges:S,nodeIDAccessor:E="id",sourceAccessor:L="source",targetAccessor:D="target",valueAccessor:O="value",childrenAccessor:j,hierarchySum:P,orientation:C="horizontal",nodeAlign:I="justify",nodePaddingRatio:N=.05,nodeWidth:T=15,iterations:M=300,forceStrength:$=.1,padAngle:_=.01,groupWidth:W=20,sortGroups:R,edgeSort:z,treeOrientation:H="vertical",edgeType:F="curve",padding:Y,paddingTop:X,tensionConfig:q,showParticles:G=!1,particleStyle:Z,nodeStyle:Q,edgeStyle:U,colorBy:J,colorScheme:ee="category10",edgeColorBy:te="source",edgeOpacity:re=.5,colorByDepth:ne=!1,nodeSize:oe=8,nodeSizeRange:ie=[5,20],nodeLabel:ae,showLabels:se=!0,labelMode:ce,size:le=Qt,responsiveWidth:ue,responsiveHeight:de,margin:he,className:ye,background:ge,enableHover:pe=!0,tooltipContent:fe,customHoverBehavior:me,customClickBehavior:ve,onObservation:be,chartId:xe,onTopologyChange:ke,annotations:Ae,svgAnnotationRules:we,legend:Se,legendPosition:Ee,legendHoverBehavior:Le,legendClickBehavior:De,legendHighlightedCategory:Oe,legendIsolatedCategories:je,title:Pe,foregroundGraphics:Ce,backgroundGraphics:Ie,decay:Ne,pulse:Te,staleness:Me,thresholds:$e,accessibleTable:_e,orbitMode:We,orbitSize:Be,orbitSpeed:Re,orbitRevolution:ze,orbitRevolutionStyle:He,orbitEccentricity:Fe,orbitShowRings:Ye,orbitAnimated:Xe}=o,qe=Zt.has(x)?Kt:Vt,[Ge,Ve]=function(e,o,i){const a=t(null),[s,c]=r(null);return n(()=>{if(!o&&!i)return;const e=a.current;if(!e)return;const t=new ResizeObserver(e=>{for(const t of e){const{width:e,height:r}=t.contentRect;c(t=>t&&t.w===e&&t.h===r?t:{w:e,h:r})}});return t.observe(e),()=>t.disconnect()},[o,i]),[a,[o&&s?s.w:e[0],i&&s?s.h:e[1]]]}(le,ue,de),Ke=Object.assign(Object.assign({},qe),he),Ze=Ve[0]-Ke.left-Ke.right,Qe=Ve[1]-Ke.top-Ke.bottom,Ue="function"==typeof Ce?Ce({size:Ve,margin:Ke}):Ce,Je=i(()=>Object.assign(Object.assign({},V),q),[q]),et=i(()=>Object.assign(Object.assign({},K),Z),[Z]),tt=i(()=>({chartType:x,nodeIDAccessor:E,sourceAccessor:L,targetAccessor:D,valueAccessor:O,childrenAccessor:j,hierarchySum:P,orientation:C,nodeAlign:I,nodePaddingRatio:N,nodeWidth:T,iterations:M,forceStrength:$,padAngle:_,groupWidth:W,sortGroups:R,edgeSort:z,treeOrientation:H,edgeType:F,padding:Y,paddingTop:X,tensionConfig:Je,showParticles:G,particleStyle:et,nodeStyle:Q,edgeStyle:U,nodeLabel:ae,showLabels:se,labelMode:ce,colorBy:J,colorScheme:ee,edgeColorBy:te,edgeOpacity:re,colorByDepth:ne,nodeSize:oe,nodeSizeRange:ie,decay:Ne,pulse:Te,staleness:Me,thresholds:$e,orbitMode:We,orbitSize:Be,orbitSpeed:Re,orbitRevolution:ze,orbitRevolutionStyle:He,orbitEccentricity:Fe,orbitShowRings:Ye,orbitAnimated:Xe}),[x,E,L,D,O,j,P,C,I,N,T,M,$,_,W,R,z,H,F,Y,X,Je,G,et,Q,U,ae,se,ce,J,ee,te,re,ne,oe,ie,Ne,Te,Me,$e,We,Be,Re,ze,He,Fe,Ye,Xe]),rt=t(null),nt=t(0),ot=t(0),it=t(!0),at=Gt(e=>e.theme),st=t(()=>{}),lt=t(null);lt.current||(lt.current=new ct(tt));const[ut,ht]=r(null),[yt,gt]=r(0),[pt,ft]=r(0),[mt,vt]=r(!1),bt=t(null),xt=t(new Map),kt=t(0),At=s(e=>{if("function"==typeof J)return J(e)+"";if("string"==typeof J&&e.data){const t=e.data[J];if(void 0!==t){if(!xt.current.has(t+"")){const e=Array.isArray(ee)?ee:_t;xt.current.set(t+"",e[kt.current++%e.length])}return xt.current.get(t+"")}}if(!xt.current.has(e.id)){const t=Array.isArray(ee)?ee:_t;xt.current.set(e.id,t[kt.current++%t.length])}return xt.current.get(e.id)},[J,ee]),Et=s(e=>{if("function"==typeof te)return te(e);const t="object"==typeof e.source?e.source:null,r="object"==typeof e.target?e.target:null;return"target"===te&&r?At(r):t?At(t):"#999"},[te,At]),jt=s(e=>{if(!(null==Z?void 0:Z.colorBy))return Et(e);const t="object"==typeof e.source?e.source:null,r="object"==typeof e.target?e.target:null;return"target"===et.colorBy&&r?At(r):t?At(t):"#999"},[null==Z?void 0:Z.colorBy,et.colorBy,At,Et]),$t="sankey"===x&&G||!!Te||null!==(l=null===(c=lt.current)||void 0===c?void 0:c.isAnimating)&&void 0!==l&&l,Wt=s(()=>{nt.current&&!$t||nt.current||(nt.current=requestAnimationFrame(()=>st.current()))},[$t]);n(()=>{var e;null===(e=lt.current)||void 0===e||e.updateConfig(tt),it.current=!0,Wt()},[tt,Wt]),n(()=>{it.current=!0,Wt()},[at,Wt]);const Bt=s(()=>{const e=lt.current;if(!e)return;e.runLayout([Ze,Qe]),e.buildScene([Ze,Qe]),it.current=!0;const t=Array.isArray(ee)?ee:_t,r=Array.from(e.nodes.values());for(let e=0;r.length>e;e++){const n=r[e];xt.current.has(n.id)||xt.current.set(n.id,t[e%t.length])}if(kt.current=r.length,gt(e.layoutVersion),ke){const{nodes:t,edges:r}=e.getLayoutData();ke(t,r)}},[Ze,Qe,ke,ee]),Rt=s(e=>{const t=lt.current;t&&(t.ingestEdge(e)&&Bt(),Wt())},[Bt,Wt]),zt=s(e=>{const t=lt.current;if(!t)return;let r=!1;for(const n of e)t.ingestEdge(n)&&(r=!0);r&&Bt(),Wt()},[Bt,Wt]),Ht=s(()=>{var e;null===(e=lt.current)||void 0===e||e.clear(),xt.current.clear(),kt.current=0,gt(0),ht(null),bt.current=null,it.current=!0,Wt()},[Wt]),Ft=s(()=>{const e=lt.current;e&&(e.tension+=999,Bt(),Wt())},[Bt,Wt]);u(a,()=>({push:Rt,pushMany:zt,clear:Ht,getTopology:()=>{var e,t;return null!==(t=null===(e=lt.current)||void 0===e?void 0:e.getLayoutData())&&void 0!==t?t:{nodes:[],edges:[]}},getTopologyDiff:()=>{const e=lt.current;return e?{addedNodes:Array.from(e.addedNodes),removedNodes:Array.from(e.removedNodes),addedEdges:Array.from(e.addedEdges),removedEdges:Array.from(e.removedEdges)}:{addedNodes:[],removedNodes:[],addedEdges:[],removedEdges:[]}},relayout:Ft,getTension:()=>{var e,t;return null!==(t=null===(e=lt.current)||void 0===e?void 0:e.tension)&&void 0!==t?t:0}}),[Rt,zt,Ht,Ft]);const Yt=["tree","cluster","treemap","circlepack","partition","orbit"].includes(x),Xt=Yt?w||(Array.isArray(A)?void 0:A):void 0;n(()=>{const e=lt.current;if(e)if(Yt&&Xt)e.ingestHierarchy(Xt,[Ze,Qe]),e.buildScene([Ze,Qe]),it.current=!0,Wt();else{const t=k||[],r=Array.isArray(A)?A:[];if(0===t.length&&0===r.length)return;e.ingestBounded(t,r,[Ze,Qe]),e.buildScene([Ze,Qe]);const n=Array.isArray(ee)?ee:_t,o=Array.from(e.nodes.values());for(let e=0;o.length>e;e++){const t=o[e];xt.current.has(t.id)||xt.current.set(t.id,n[e%n.length])}kt.current=o.length,it.current=!0,Wt()}},[k,A,w,Xt,Yt,Ze,Qe,tt,Wt,ee]),n(()=>{S&&S.length>0&&zt(S)},[]);const qt=s(e=>{if(me&&me(e),be){const t=Date.now();be(e?{type:"hover",datum:e.data||{},x:e.x,y:e.y,timestamp:t,chartType:"StreamNetworkFrame",chartId:xe}:{type:"hover-end",timestamp:t,chartType:"StreamNetworkFrame",chartId:xe})}},[me,be,xe]),Ut=s(e=>{if(ve&&ve(e),be){const t=Date.now();be(e?{type:"click",datum:e.data||{},x:e.x,y:e.y,timestamp:t,chartType:"StreamNetworkFrame",chartId:xe}:{type:"click-end",timestamp:t,chartType:"StreamNetworkFrame",chartId:xe})}},[ve,be,xe]),er=t(()=>{}),tr=t(()=>{});er.current=e=>{if(!pe)return;const t=rt.current;if(!t)return;const r=t.getBoundingClientRect(),n=e.clientX-r.left-Ke.left,o=e.clientY-r.top-Ke.top;if(0>n||n>Ze||0>o||o>Qe)return void(bt.current&&(bt.current=null,ht(null),qt&&(qt(null),it.current=!0),Wt()));const i=lt.current;if(!i)return;const a=dt(i.sceneNodes,i.sceneEdges,n,o);if(!a)return void(bt.current&&(bt.current=null,ht(null),qt&&(qt(null),it.current=!0),Wt()));const s=a.datum||{},c=Object.assign(Object.assign({},"object"!=typeof s||null===s||Array.isArray(s)?{}:s),{type:a.type,data:s,x:a.x,y:a.y});bt.current=c,ht(c),qt&&(qt(c),it.current=!0),Wt()},tr.current=()=>{bt.current&&(bt.current=null,ht(null),qt&&(qt(null),it.current=!0),Wt())};const rr=t(()=>{});rr.current=e=>{if(!ve&&!be)return;const t=rt.current;if(!t)return;const r=t.getBoundingClientRect(),n=e.clientX-r.left-Ke.left,o=e.clientY-r.top-Ke.top;if(0>n||n>Ze||0>o||o>Qe)return;const i=lt.current;if(!i)return;const a=dt(i.sceneNodes,i.sceneEdges,n,o);if(a){const e=a.datum||{};Ut(Object.assign(Object.assign({},"object"!=typeof e||null===e||Array.isArray(e)?{}:e),{type:a.type,data:e,x:a.x,y:a.y}))}else Ut(null)},s(e=>er.current(e),[]);const nr=s(()=>tr.current(),[]),or=s(e=>rr.current(e),[]),ir=t(-1),ar=s(e=>{const t=lt.current;if(!t)return;const r=function(e){const t=[];for(const r of e)"circle"===r.type&&null!=r.cx?t.push({x:r.cx,y:r.cy,datum:r.datum}):"rect"===r.type&&null!=r.x?t.push({x:r.x+r.w/2,y:r.y+r.h/2,datum:r.datum}):"arc"===r.type&&null!=r.cx&&t.push({x:r.cx,y:r.cy,datum:r.datum});return t.sort((e,t)=>e.x-t.x||e.y-t.y),t}(t.sceneNodes);if(0===r.length)return;const n=ir.current,o=function(e,t,r){switch(e){case"ArrowRight":case"ArrowDown":return r-1>t?t+1:t;case"ArrowLeft":case"ArrowUp":return t>0?t-1:t;case"Home":return 0;case"End":return r-1;case"Escape":return-1;default:return null}}(e.key,0>n?-1:n,r.length);if(null===o)return;if(e.preventDefault(),0>o)return ir.current=-1,bt.current=null,ht(null),qt&&(qt(null),it.current=!0),void Wt();const i=0>n?0:o;ir.current=i;const a=r[i],s=a.datum||{},c=Object.assign(Object.assign({},"object"!=typeof s||null===s||Array.isArray(s)?{}:s),{type:"node",data:s,x:a.x,y:a.y});bt.current=c,ht(c),qt&&(qt(c),it.current=!0),Wt()},[qt,Wt]),sr=s(e=>{ir.current=-1,er.current(e)},[]);st.current=()=>{var e,t,r,n,o,i,a;nt.current=0;const s=rt.current;if(!s)return;const c=s.getContext("2d");if(!c)return;const l=lt.current;if(!l)return;const u=performance.now(),d=ot.current?Math.min((u-ot.current)/1e3,.1):.016;ot.current=u;const h=l.advanceTransition(u),y=l.tickAnimation([Ze,Qe],d);(h||it.current||y)&&l.buildScene([Ze,Qe]);const g="undefined"!=typeof window&&window.devicePixelRatio||1;if(!function(e,t,r,n){const o=e.getContext("2d");if(!o)return null;const i=t[0]*n,a=t[1]*n,s=t[0]+"px",c=t[1]+"px";return e.style.width!==s&&(e.style.width=s),e.style.height!==c&&(e.style.height=c),e.width===i&&e.height===a||(e.width=i,e.height=a),o.setTransform(n,0,0,n,0,0),o.translate(r.left,r.top),o}(s,Ve,Ke,g))return;c.clearRect(-Ke.left,-Ke.top,Ve[0],Ve[1]),ge&&(c.fillStyle=ge,c.fillRect(0,0,Ze,Qe)),Ne&&l.applyDecay(),Te&&l.applyPulse(u),$e&&l.applyThresholds(u),l.applyTopologyDiff(u);const p=null!==(e=null==Me?void 0:Me.threshold)&&void 0!==e?e:5e3,f=Me&&l.lastIngestTime>0&&u-l.lastIngestTime>p;if(f&&(c.globalAlpha=null!==(t=null==Me?void 0:Me.dimOpacity)&&void 0!==t?t:.5),function(e,t){for(const r of t)switch(r.type){case"bezier":It(e,r);break;case"line":Nt(e,r);break;case"ribbon":Tt(e,r);break;case"curved":Mt(e,r)}}(c,l.sceneEdges),function(e,t){var r,n,o;for(const i of t){if("rect"!==i.type)continue;const t=i;t.w>0&&t.h>0&&(e.save(),void 0!==t.style.opacity&&(e.globalAlpha=t.style.opacity),t.style.fill&&(e.fillStyle=t.style.fill,void 0!==t.style.fillOpacity&&(e.globalAlpha=(null!==(r=t.style.opacity)&&void 0!==r?r:1)*t.style.fillOpacity),e.fillRect(t.x,t.y,t.w,t.h)),t.style.stroke&&"none"!==t.style.stroke&&(e.strokeStyle=t.style.stroke,e.lineWidth=null!==(n=t.style.strokeWidth)&&void 0!==n?n:1,e.globalAlpha=null!==(o=t.style.opacity)&&void 0!==o?o:1,e.strokeRect(t.x,t.y,t.w,t.h)),Pt(e,t),e.restore())}}(c,l.sceneNodes),function(e,t){var r,n,o;for(const i of t){if("circle"!==i.type)continue;const t=i;t.r>0&&(e.save(),void 0!==t.style.opacity&&(e.globalAlpha=t.style.opacity),e.beginPath(),e.arc(t.cx,t.cy,t.r,0,2*Math.PI),t.style.fill&&(e.fillStyle=t.style.fill,void 0!==t.style.fillOpacity&&(e.globalAlpha=(null!==(r=t.style.opacity)&&void 0!==r?r:1)*t.style.fillOpacity),e.fill()),t.style.stroke&&"none"!==t.style.stroke&&(e.strokeStyle=t.style.stroke,e.lineWidth=null!==(n=t.style.strokeWidth)&&void 0!==n?n:1,e.globalAlpha=null!==(o=t.style.opacity)&&void 0!==o?o:1,e.stroke()),Ct(e,t),e.restore())}}(c,l.sceneNodes),function(e,t){var r,n,o;for(const i of t){if("arc"!==i.type)continue;const t=i;e.save(),void 0!==t.style.opacity&&(e.globalAlpha=t.style.opacity),e.beginPath(),e.arc(t.cx,t.cy,t.outerR,t.startAngle,t.endAngle),e.arc(t.cx,t.cy,t.innerR,t.endAngle,t.startAngle,!0),e.closePath(),t.style.fill&&(e.fillStyle=t.style.fill,void 0!==t.style.fillOpacity&&(e.globalAlpha=(null!==(r=t.style.opacity)&&void 0!==r?r:1)*t.style.fillOpacity),e.fill()),t.style.stroke&&"none"!==t.style.stroke&&(e.strokeStyle=t.style.stroke,e.lineWidth=null!==(n=t.style.strokeWidth)&&void 0!==n?n:1,e.globalAlpha=null!==(o=t.style.opacity)&&void 0!==o?o:1,e.stroke()),e.restore()}}(c,l.sceneNodes),G&&l.particlePool&&!f){const e=Array.from(l.edges.values());if(e.length>0){!function(e,t,r,n){var o,i;const a=null!==(o=n.spawnRate)&&void 0!==o?o:K.spawnRate,s=null!==(i=n.maxPerEdge)&&void 0!==i?i:K.maxPerEdge;for(let n=0;t.length>n;n++){const o=t[n];if(!o.bezier)continue;if(e.countForEdge(n)>=s)continue;const i=o.value*a*r*(o.bezier.circular?.3:1),c=Math.floor(i),l=i-c;let u=c;Math.random()<l&&u++;for(let t=0;u>t&&e.countForEdge(n)<s;t++)e.spawn(n)}}(l.particlePool,e,d,et);const t=.5*(null!==(r=et.speedMultiplier)&&void 0!==r?r:1);let n;if(et.proportionalSpeed){const t=e.reduce((e,t)=>Math.max(e,t.value||1),1);n=e.map(e=>.3+(e.value||1)/t*1.7)}l.particlePool.step(d,t,e,n),function(e,t,r,n,o){var i,a;const s=null!==(i=n.radius)&&void 0!==i?i:K.radius,c=null!==(a=n.opacity)&&void 0!==a?a:K.opacity;e.globalAlpha=c;for(let i=0;t.particles.length>i;i++){const a=t.particles[i];if(!a.active)continue;const c=r[a.edgeIndex];if(c){if("function"==typeof n.color){const t="object"==typeof c.source?c.source:null;e.fillStyle=t?n.color(c,t):"#666"}else e.fillStyle=n.color&&"inherit"!==n.color?n.color:o(c);e.beginPath(),e.arc(a.x,a.y,s,0,2*Math.PI),e.fill()}}e.globalAlpha=1}(c,l.particlePool,e,et,jt)}}f&&(c.globalAlpha=1);const m=it.current;if(it.current=!1,m||h||y){const e=rt.current;e&&e.setAttribute("aria-label",Lt(null!==(o=null===(n=l.sceneNodes)||void 0===n?void 0:n.length)&&void 0!==o?o:0,null!==(a=null===(i=l.sceneEdges)||void 0===i?void 0:i.length)&&void 0!==a?a:0,"Network chart"))}(m||h||y)&&ft(e=>e+1),($t||h||y||l.hasActivePulses||l.hasActiveThresholds||l.hasActiveTopologyDiff)&&(nt.current=requestAnimationFrame(()=>st.current()))},n(()=>(Wt(),()=>{nt.current&&(cancelAnimationFrame(nt.current),nt.current=0)}),[Wt]),n(()=>{it.current=!0,Wt()},[x,Ze,Qe,ge,Wt]),function(e,t,r,o,i,a){n(()=>{if(!e)return;const n=setInterval(()=>{var n;const s=t.current;if(!s||0===s.lastIngestTime)return;const c="undefined"!=typeof performance?performance.now():Date.now(),l=null!==(n=e.threshold)&&void 0!==n?n:5e3,u=c-s.lastIngestTime>l;u!==i&&(a(u),r.current=!0,o())},1e3);return()=>clearInterval(n)},[e,i,o])}(Me,lt,it,Wt,mt,vt);const cr=pe&&ut?e.createElement("div",{className:"stream-network-tooltip",style:{position:"absolute",left:Ke.left+ut.x,top:Ke.top+ut.y,transform:`translate(${ut.x>.6*Ze?"calc(-100% - 12px)":"12px"}, ${.3*Qe>ut.y?"4px":"calc(-100% - 4px)"})`,pointerEvents:"none",zIndex:2,width:"max-content"}},fe?fe(ut):e.createElement(Jt,{data:ut})):null;if(St){const t=lt.current;if(t){const e=["tree","cluster","treemap","circlepack","partition","orbit"].includes(x),r=e?w||(Array.isArray(A)?void 0:A):void 0;if(e&&r)t.ingestHierarchy(r,[Ze,Qe]),t.buildScene([Ze,Qe]);else{const e=k||[],r=Array.isArray(A)?A:[];(e.length>0||r.length>0)&&(t.ingestBounded(e,r,[Ze,Qe]),t.buildScene([Ze,Qe]))}}const r=null!==(d=null==t?void 0:t.sceneNodes)&&void 0!==d?d:[],n=null!==(h=null==t?void 0:t.sceneEdges)&&void 0!==h?h:[],o=null!==(y=null==t?void 0:t.labels)&&void 0!==y?y:[];return e.createElement("div",{className:"stream-network-frame"+(ye?" "+ye:""),role:"img","aria-label":"string"==typeof Pe?Pe:"Network chart",style:{position:"relative",width:Ve[0],height:Ve[1]}},e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:Ve[0],height:Ve[1],style:{position:"absolute",left:0,top:0}},Ie&&e.createElement("g",{transform:`translate(${Ke.left},${Ke.top})`},Ie),e.createElement("g",{transform:`translate(${Ke.left},${Ke.top})`},ge&&e.createElement("rect",{x:0,y:0,width:Ze,height:Qe,fill:ge}),n.map((t,r)=>function(t,r){switch(t.type){case"line":return e.createElement("line",{key:"net-edge-"+r,x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2,stroke:t.style.stroke||"#999",strokeWidth:t.style.strokeWidth||1,opacity:t.style.opacity});case"bezier":case"ribbon":return e.createElement("path",{key:"net-edge-"+r,d:t.pathD,fill:t.style.fill||"#999",fillOpacity:t.style.fillOpacity,stroke:t.style.stroke||"none",strokeWidth:t.style.strokeWidth,opacity:t.style.opacity});case"curved":return e.createElement("path",{key:"net-edge-"+r,d:t.pathD,fill:t.style.fill||"none",stroke:t.style.stroke||"#999",strokeWidth:t.style.strokeWidth||1,opacity:t.style.opacity});default:return null}}(t,r)).filter(Boolean),r.map((t,r)=>function(t,r){switch(t.type){case"circle":return e.createElement("circle",{key:"net-circle-"+r,cx:t.cx,cy:t.cy,r:t.r,fill:t.style.fill||"#4e79a7",stroke:t.style.stroke,strokeWidth:t.style.strokeWidth,opacity:t.style.opacity});case"rect":return e.createElement("rect",{key:"net-rect-"+r,x:t.x,y:t.y,width:t.w,height:t.h,fill:t.style.fill||"#4e79a7",stroke:t.style.stroke,strokeWidth:t.style.strokeWidth,opacity:t.style.opacity});case"arc":{const n=t,o=B().innerRadius(n.innerR).outerRadius(n.outerR).startAngle(n.startAngle).endAngle(n.endAngle)({})||"";return e.createElement("path",{key:"net-arc-"+r,d:o,transform:`translate(${n.cx},${n.cy})`,fill:n.style.fill||"#4e79a7",stroke:n.style.stroke,strokeWidth:n.style.strokeWidth,opacity:n.style.opacity})}default:return null}}(t,r)).filter(Boolean),o.map((t,r)=>function(t,r){return e.createElement("text",{key:"net-label-"+r,x:t.x,y:t.y,textAnchor:t.anchor||"middle",dominantBaseline:t.baseline||"auto",fontSize:t.fontSize||11,fontWeight:t.fontWeight,fill:t.fill||"#333",stroke:t.stroke,strokeWidth:t.strokeWidth,paintOrder:t.paintOrder},t.text)}(t,r)).filter(Boolean))),e.createElement(wt,{width:Ze,height:Qe,totalWidth:Ve[0],totalHeight:Ve[1],margin:Ke,labels:o,sceneNodes:r,title:Pe,legend:Se,legendPosition:Ee,legendHoverBehavior:Le,legendClickBehavior:De,legendHighlightedCategory:Oe,legendIsolatedCategories:je,foregroundGraphics:Ue,annotations:Ae,svgAnnotationRules:we,annotationFrame:0}))}const lr=lt.current;return e.createElement("div",{ref:Ge,className:"stream-network-frame"+(ye?" "+ye:""),role:"img","aria-label":"string"==typeof Pe?Pe:"Network chart",tabIndex:0,style:{position:"relative",width:ue?"100%":Ve[0],height:de?"100%":Ve[1],overflow:"visible"},onMouseMove:pe?sr:void 0,onMouseLeave:pe?nr:void 0,onClick:ve||be?or:void 0,onKeyDown:ar},Ie&&e.createElement("svg",{style:{position:"absolute",top:0,left:0,width:Ve[0],height:Ve[1],pointerEvents:"none"}},e.createElement("g",{transform:`translate(${Ke.left},${Ke.top})`},Ie)),e.createElement("canvas",{ref:rt,"aria-label":Lt(null!==(p=null===(g=null==lr?void 0:lr.sceneNodes)||void 0===g?void 0:g.length)&&void 0!==p?p:0,null!==(m=null===(f=null==lr?void 0:lr.sceneEdges)||void 0===f?void 0:f.length)&&void 0!==m?m:0,"Network chart"),style:{position:"absolute",top:0,left:0}}),e.createElement(Ot,{hoverPoint:ut}),_e&&e.createElement(Dt,{nodes:null!==(v=null==lr?void 0:lr.sceneNodes)&&void 0!==v?v:[],edges:null!==(b=null==lr?void 0:lr.sceneEdges)&&void 0!==b?b:[],chartType:"Network chart"}),e.createElement(wt,{width:Ze,height:Qe,totalWidth:Ve[0],totalHeight:Ve[1],margin:Ke,labels:(null==lr?void 0:lr.labels)||[],sceneNodes:null==lr?void 0:lr.sceneNodes,title:Pe,legend:Se,legendPosition:Ee,legendHoverBehavior:Le,legendClickBehavior:De,legendHighlightedCategory:Oe,legendIsolatedCategories:je,foregroundGraphics:Ue,annotations:Ae,svgAnnotationRules:we,annotationFrame:pt}),cr,(null==Me?void 0:Me.showBadge)&&e.createElement("div",{className:"stream-staleness-badge",style:Object.assign(Object.assign({position:"absolute"},"top-left"===Me.badgePosition?{top:4,left:4}:"bottom-left"===Me.badgePosition?{bottom:4,left:4}:"bottom-right"===Me.badgePosition?{bottom:4,right:4}:{top:4,right:4}),{background:mt?"#dc3545":"#28a745",color:"white",fontSize:10,fontWeight:700,padding:"2px 6px",borderRadius:3,letterSpacing:"0.05em",zIndex:3,pointerEvents:"none"})},mt?"STALE":"LIVE"))});er.displayName="StreamNetworkFrame";const tr={background:"rgba(0, 0, 0, 0.85)",color:"white",padding:"8px 12px",borderRadius:"4px",fontSize:"14px",lineHeight:"1.5",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)",pointerEvents:"none",maxWidth:"300px",wordWrap:"break-word"};function rr(e,t){return"function"==typeof t?t(e):e[t]}function nr(e,t){return t?t(e):null==e?"":"number"==typeof e?Math.abs(e)>9999?e.toLocaleString():e+"":e instanceof Date?e.toLocaleDateString():"object"==typeof e&&null!==e?void 0!==e.id?e.id+"":void 0!==e.name?e.name+"":JSON.stringify(e):e+""}function or(t={}){const{fields:r,title:n,format:o,style:i={},className:a=""}=t;return t=>{if(!t||"object"!=typeof t)return null;let s;const c=[];if(n){const e=rr(t,n);s=nr(e,o)}if(r&&r.length>0)r.forEach(e=>{let r,n,i;"string"==typeof e?(r=e,n=e,i=o):(r=e.label,n=e.accessor||e.key||"",i=e.format||o);const a=rr(t,n);c.push({label:r,value:nr(a,i)})});else if(!n){const e=["value","y","name","id","label"];for(const r of e)if(void 0!==t[r]){s=nr(t[r],o);break}if(!s){const e=Object.keys(t).filter(e=>!e.startsWith("_"));e.length>0&&(s=nr(t[e[0]],o))}}const l=Object.assign(Object.assign({},tr),i);return e.createElement("div",{className:("semiotic-tooltip "+a).trim(),style:l},s&&e.createElement("div",{style:{fontWeight:c.length>0?"bold":"normal"}},s),c.map((t,r)=>e.createElement("div",{key:r,style:{marginTop:0===r&&s?"4px":0}},t.label&&e.createElement("span",null,t.label,": "),t.value)))}}function ir(t){if(!0===t)return or();if("function"==typeof t){const r=t;return t=>{const n=r(!t||"object"!=typeof t.data||null===t.data||"node"!==t.type&&"edge"!==t.type?t:t.data);return null==n?null:e.createElement("div",{className:"semiotic-tooltip",style:tr},n)}}return!1!==t&&void 0!==t&&("object"==typeof t&&null!==t&&("fields"in t||"title"in t)?or(t):or())}const ar=o(null);function sr(e){const t=[];for(const[r,n]of Object.entries(e.fields))if("point"===n.type)t.push(e=>n.values.has(e[r]));else{const[e,o]=n.range;t.push(t=>{const n=t[r];return n>=e&&o>=n})}return e=>t.every(t=>t(e))}function cr(e,t){let r=e.get(t);return r||(r={name:t,resolution:"union",clauses:new Map},e.set(t,r)),r}const[lr,ur]=Ht(e=>({selections:new Map,setClause(t,r){e(e=>{const n=new Map(e.selections),o=cr(n,t),i=new Map(o.clauses);return i.set(r.clientId,r),n.set(t,Object.assign(Object.assign({},o),{clauses:i})),{selections:n}})},clearClause(t,r){e(e=>{const n=e.selections.get(t);if(!n)return{};const o=new Map(e.selections),i=new Map(n.clauses);return i.delete(r),o.set(t,Object.assign(Object.assign({},n),{clauses:i})),{selections:o}})},setResolution(t,r){e(e=>{const n=new Map(e.selections),o=cr(n,t);return n.set(t,Object.assign(Object.assign({},o),{resolution:r})),{selections:n}})},clearSelection(t){e(e=>{const r=new Map(e.selections),n=r.get(t);return n&&r.set(t,Object.assign(Object.assign({},n),{clauses:new Map})),{selections:r}})}})),[dr,hr]=Ht(e=>({observations:[],maxObservations:100,version:0,pushObservation(t){e(e=>{const r=e.observations;return r.push(t),r.length>e.maxObservations&&r.shift(),{version:e.version+1}})},clearObservations(){e(()=>({observations:[],version:0}))}}));function yr(e){const t=d(),r=e.clientId||t,{name:n}=e,o=ur(e=>e.selections.get(n)),a=ur(e=>e.setClause),c=ur(e=>e.clearClause),l=i(()=>!!o&&o.clauses.size>0,[o]);return{predicate:i(()=>o&&0!==o.clauses.size?function(e,t){const r=[];for(const[n,o]of e.clauses)"crossfilter"===e.resolution&&n===t||r.push(sr(o));return 0===r.length?()=>!0:"intersect"===e.resolution?e=>r.every(t=>t(e)):e=>r.some(t=>t(e))}(o,r):()=>!0,[o,r]),isActive:l,selectPoints:s(e=>{const t={};for(const[r,n]of Object.entries(e))t[r]={type:"point",values:new Set(n)};a(n,{clientId:r,type:"point",fields:t})},[r,n,a]),selectInterval:s(e=>{const t={};for(const[r,n]of Object.entries(e))t[r]={type:"interval",range:n};a(n,{clientId:r,type:"interval",fields:t})},[r,n,a]),clear:s(()=>{c(n,r)},[c,n,r]),clientId:r}}const gr=o(!1),pr="#007bff";function fr(e,t,r="category10"){const n=a(ar);return i(()=>{if(t){if(0===e.length)return n&&Object.keys(n).length>0?e=>n[e]||"#999":void 0;if("function"==typeof t){const o=Array.from(new Set(e.map(e=>t(e)+"")));return n&&Object.keys(n).length>0?e=>n[e]||"#999":zt(o.map(e=>({_cat:e})),"_cat",r)}if(n&&Object.keys(n).length>0){const o=zt(e,t,r);return e=>n[e]||o(e)}return zt(e,t,r)}},[e,t,r,n])}function mr({selection:e,linkedHover:t,fallbackFields:r=[],unwrapData:n=!1,onObservation:o,chartType:i,chartId:a}){const c=function(e,t){return e?!0===e?{name:"hover",fields:t||[]}:"string"==typeof e?{name:e,fields:t||[]}:{name:e.name||"hover",fields:e.fields}:null}(t,r),l=yr({name:(null==e?void 0:e.name)||"__unused__"}),u=function(e){const t=e.name||"hover",{fields:r}=e,{predicate:n,isActive:o,selectPoints:i,clear:a}=yr({name:t});return{onHover:s(e=>{if(!e)return void a();const t={};for(const n of r){const r=e[n];void 0!==r&&(t[n]=[r])}Object.keys(t).length>0&&i(t)},[r,i,a,t]),predicate:n,isActive:o}}({name:(null==c?void 0:c.name)||"hover",fields:(null==c?void 0:c.fields)||r||[]}),d=hr(e=>e.pushObservation),h=e?{isActive:l.isActive,predicate:l.predicate}:null,y=s(e=>{var r,n;if(t)if(e){let t=e.data||e.datum||e;Array.isArray(t)&&(t=t[0]),u.onHover(t)}else u.onHover(null);if(o||d){const t={timestamp:Date.now(),chartType:i||"unknown",chartId:a};if(e){let i=e.data||e.datum||e;Array.isArray(i)&&(i=i[0]);const a=Object.assign(Object.assign({},t),{type:"hover",datum:i||{},x:null!==(r=e.x)&&void 0!==r?r:0,y:null!==(n=e.y)&&void 0!==n?n:0});o&&o(a),d&&d(a)}else{const e=Object.assign(Object.assign({},t),{type:"hover-end"});o&&o(e),d&&d(e)}}},[t,u,o,i,a,d]),g=s(e=>{var t,r;if(o||d){const n={timestamp:Date.now(),chartType:i||"unknown",chartId:a};if(e){let i=e.data||e.datum||e;Array.isArray(i)&&(i=i[0]);const a=Object.assign(Object.assign({},n),{type:"click",datum:i||{},x:null!==(t=e.x)&&void 0!==t?t:0,y:null!==(r=e.y)&&void 0!==r?r:0});o&&o(a),d&&d(a)}else{const e=Object.assign(Object.assign({},n),{type:"click-end"});o&&o(e),d&&d(e)}}},[o,d,i,a]);return{activeSelectionHook:h,customHoverBehavior:y,customClickBehavior:g}}function vr(e,t,n){const[o,a]=r(null),[c,l]=r(new Set),u=s(t=>{"highlight"===e&&a(t?t.label:null)},[e]),d=s(t=>{"isolate"===e&&l(e=>{const r=new Set(e);return r.has(t.label)?r.delete(t.label):r.add(t.label),r.size===n.length?new Set:r})},[e,n.length]),h=i(()=>{if(!e||"none"===e||!t)return null;const r="string"==typeof t?t:null;return"highlight"===e&&null!=o?{isActive:!0,predicate:e=>(r?e[r]:"function"==typeof t?t(e):null)===o}:"isolate"===e&&c.size>0?{isActive:!0,predicate:e=>{const n=r?e[r]:"function"==typeof t?t(e):null;return c.has(n)}}:null},[e,t,o,c]);return{highlightedCategory:"highlight"===e?o:null,isolatedCategories:"isolate"===e?c:new Set,onLegendHover:u,onLegendClick:d,legendSelectionHook:h}}const br={primary:{width:600,height:400,showAxes:!0,showGrid:!1,enableHover:!0,showLegend:void 0,showLabels:void 0,marginDefaults:{top:50,bottom:60,left:70,right:40}},context:{width:400,height:250,showAxes:!1,showGrid:!1,enableHover:!1,showLegend:!1,showLabels:!1,marginDefaults:{top:10,bottom:10,left:10,right:10}},sparkline:{width:120,height:24,showAxes:!1,showGrid:!1,enableHover:!1,showLegend:!1,showLabels:!1,marginDefaults:{top:2,bottom:2,left:0,right:0}}};function xr(e,t,r){var n,o,i,a,s,c;const l=br[e||"primary"],u="context"===e||"sparkline"===e;return{width:null!==(n=t.width)&&void 0!==n?n:e&&"primary"!==e||!(null==r?void 0:r.width)?l.width:r.width,height:null!==(o=t.height)&&void 0!==o?o:e&&"primary"!==e||!(null==r?void 0:r.height)?l.height:r.height,showAxes:l.showAxes,showGrid:null!==(i=t.showGrid)&&void 0!==i?i:l.showGrid,enableHover:null!==(a=t.enableHover)&&void 0!==a?a:!!t.linkedHover||l.enableHover,showLegend:null!==(s=t.showLegend)&&void 0!==s?s:l.showLegend,showLabels:null!==(c=t.showLabels)&&void 0!==c?c:l.showLabels,title:u?void 0:t.title,xLabel:u?void 0:t.xLabel,yLabel:u?void 0:t.yLabel,categoryLabel:u?void 0:t.categoryLabel,valueLabel:u?void 0:t.valueLabel,marginDefaults:l.marginDefaults}}function kr({componentName:t,message:r,diagnosticHint:n,width:o,height:i}){return e.createElement("div",{role:"alert",style:{width:o,height:Math.max(i,120),display:"flex",alignItems:"center",justifyContent:"center",border:"1px dashed rgba(128, 128, 128, 0.4)",borderRadius:8,background:"rgba(128, 128, 128, 0.04)",padding:24,boxSizing:"border-box"}},e.createElement("div",{style:{textAlign:"center",maxWidth:400}},e.createElement("div",{style:{fontSize:13,fontWeight:600,color:"rgba(128, 128, 128, 0.7)",marginBottom:6,fontFamily:"monospace"}},t),e.createElement("div",{style:{fontSize:14,color:"rgba(128, 128, 128, 0.9)",lineHeight:1.5}},r),n&&e.createElement("div",{"data-testid":"semiotic-diagnostic-hint",style:{marginTop:10,padding:"8px 12px",background:"rgba(128, 128, 128, 0.06)",borderRadius:4,fontSize:12,color:"rgba(128, 128, 128, 0.8)",fontFamily:"monospace",textAlign:"left",whiteSpace:"pre-wrap",lineHeight:1.6}},n)))}class Ar extends e.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){var r,n;null===(n=(r=this.props).onError)||void 0===n||n.call(r,e,t)}render(){if(this.state.error){const{fallback:t}=this.props,r=this.state.error;return"function"==typeof t?t(r):void 0!==t?t:e.createElement(kr,{componentName:"ChartErrorBoundary",message:r.message||"An unexpected error occurred while rendering this chart.",width:600,height:400})}return this.props.children}}function wr(e,t){const r=e.length,n=t.length,o=Array(n+1);for(let e=0;n>=e;e++)o[e]=e;for(let i=1;r>=i;i++){let r=o[0];o[0]=i;for(let a=1;n>=a;a++){const n=o[a];o[a]=e[i-1]===t[a-1]?r:1+Math.min(r,o[a],o[a-1]),r=n}}return o[n]}function Sr(e,t,r=3){let n,o=r+1;for(const r of t){const t=wr(e.toLowerCase(),r.toLowerCase());o>t&&(o=t,n=r)}return o>r?void 0:n}function Er(e){return e.length>3?[e[0],e[Math.floor(e.length/2)],e[e.length-1]]:e}function Lr(e,t){var r;if(0===t.length)return null;const n=e.toLowerCase();return t.find(e=>e.toLowerCase().includes(n)||n.includes(e.toLowerCase()))||(null!==(r=Sr(e,t,3))&&void 0!==r?r:null)}function Dr({componentName:e,data:t,dataLabel:r="data"}){return null==t?`${e}: No ${r} provided. Pass a hierarchical object with children: { name: "root", children: [...] }.`:Array.isArray(t)?`${e}: ${r} should be a single root object, not an array. Expected: { name: "root", children: [...] }. If you have flat data, use LineChart, BarChart, or Scatterplot instead.`:null}function Or({componentName:e,nodes:t,edges:r,nodesRequired:n=!1,edgesRequired:o=!0,accessors:i}){if(null==t&&null==r)return null;if(o&&(!r||!Array.isArray(r)||0===r.length))return e+': No edges provided. Pass a non-empty array: edges={[{ source: "A", target: "B", value: 10 }, ...]}.';if(n&&(!t||!Array.isArray(t)||0===t.length))return e+': No nodes provided. Pass a non-empty array: nodes={[{ id: "A" }, { id: "B" }, ...]}.';if(i&&t&&t.length>0){const r=Er(t).find(e=>e&&"object"==typeof e);if(r){const t=Object.keys(r);for(const[n,o]of Object.entries(i))if(o&&"string"==typeof o&&!(o in r)){const r=Lr(o,t),i=r?` Try ${n}="${r}".`:"";return`${e}: ${n} "${o}" not found in node data. Available fields: ${t.join(", ")}.${i}`}}}return null}const jr={width:{type:"number"},height:{type:"number"},margin:{type:"object"},className:{type:"string"},title:{type:"string"},enableHover:{type:"boolean"},showLegend:{type:"boolean"},showGrid:{type:"boolean"},colorBy:{type:["string","function"]},colorScheme:{type:["string","array"]},tooltip:{type:["boolean","function","object"]},frameProps:{type:"object"}},Pr={xLabel:{type:"string"},yLabel:{type:"string"},xFormat:{type:"function"},yFormat:{type:"function"}},Cr={categoryLabel:{type:"string"},valueLabel:{type:"string"},valueFormat:{type:"function"}},Ir=["linear","monotoneX","monotoneY","step","stepAfter","stepBefore","basis","cardinal","catmullRom"],Nr=["vertical","horizontal"],Tr={LineChart:{required:["data"],dataShape:"array",dataAccessors:["xAccessor","yAccessor"],props:Object.assign(Object.assign(Object.assign({},jr),Pr),{data:{type:"array"},xAccessor:{type:["string","function"]},yAccessor:{type:["string","function"]},lineBy:{type:["string","function"]},lineDataAccessor:{type:"string"},curve:{type:"string",enum:Ir},lineWidth:{type:"number"},showPoints:{type:"boolean"},pointRadius:{type:"number"},fillArea:{type:"boolean"},areaOpacity:{type:"number"}})},AreaChart:{required:["data"],dataShape:"array",dataAccessors:["xAccessor","yAccessor"],props:Object.assign(Object.assign(Object.assign({},jr),Pr),{data:{type:"array"},xAccessor:{type:["string","function"]},yAccessor:{type:["string","function"]},areaBy:{type:["string","function"]},lineDataAccessor:{type:"string"},curve:{type:"string",enum:Ir},areaOpacity:{type:"number"},showLine:{type:"boolean"},lineWidth:{type:"number"}})},StackedAreaChart:{required:["data"],dataShape:"array",dataAccessors:["xAccessor","yAccessor"],props:Object.assign(Object.assign(Object.assign({},jr),Pr),{data:{type:"array"},xAccessor:{type:["string","function"]},yAccessor:{type:["string","function"]},areaBy:{type:["string","function"]},lineDataAccessor:{type:"string"},curve:{type:"string",enum:Ir},areaOpacity:{type:"number"},showLine:{type:"boolean"},lineWidth:{type:"number"},normalize:{type:"boolean"}})},Scatterplot:{required:["data"],dataShape:"array",dataAccessors:["xAccessor","yAccessor"],props:Object.assign(Object.assign(Object.assign({},jr),Pr),{data:{type:"array"},xAccessor:{type:["string","function"]},yAccessor:{type:["string","function"]},sizeBy:{type:["string","function"]},sizeRange:{type:"array"},pointRadius:{type:"number"},pointOpacity:{type:"number"}})},BubbleChart:{required:["data","sizeBy"],dataShape:"array",dataAccessors:["xAccessor","yAccessor"],props:Object.assign(Object.assign(Object.assign({},jr),Pr),{data:{type:"array"},xAccessor:{type:["string","function"]},yAccessor:{type:["string","function"]},sizeBy:{type:["string","function"]},sizeRange:{type:"array"},bubbleOpacity:{type:"number"},bubbleStrokeWidth:{type:"number"},bubbleStrokeColor:{type:"string"}})},Heatmap:{required:["data"],dataShape:"array",dataAccessors:["xAccessor","yAccessor","valueAccessor"],props:Object.assign(Object.assign(Object.assign({},jr),Pr),{data:{type:"array"},xAccessor:{type:["string","function"]},yAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},colorScheme:{type:"string",enum:["blues","reds","greens","viridis","custom"]},customColorScale:{type:["object","function"]},showValues:{type:"boolean"},valueFormat:{type:"function"},cellBorderColor:{type:"string"},cellBorderWidth:{type:"number"},showLegend:{type:"boolean"},legendPosition:{type:"string",enum:["right","left","top","bottom"]}})},QuadrantChart:{required:["quadrants"],dataShape:"array",dataAccessors:["xAccessor","yAccessor"],props:Object.assign(Object.assign(Object.assign({},jr),Pr),{data:{type:"array"},xAccessor:{type:["string","function"]},yAccessor:{type:["string","function"]},quadrants:{type:"object"},xCenter:{type:"number"},yCenter:{type:"number"},centerlineStyle:{type:"object"},showQuadrantLabels:{type:"boolean"},quadrantLabelSize:{type:"number"},sizeBy:{type:["string","function"]},sizeRange:{type:"array"},pointRadius:{type:"number"},pointOpacity:{type:"number"}})},ConnectedScatterplot:{required:["data"],dataShape:"array",dataAccessors:["xAccessor","yAccessor"],props:Object.assign(Object.assign(Object.assign({},jr),Pr),{data:{type:"array"},xAccessor:{type:["string","function"]},yAccessor:{type:["string","function"]},orderAccessor:{type:["string","function"]},orderLabel:{type:"string"},pointRadius:{type:"number"},pointIdAccessor:{type:["string","function"]},annotations:{type:"array"}})},BarChart:{required:["data"],dataShape:"array",dataAccessors:["categoryAccessor","valueAccessor"],props:Object.assign(Object.assign(Object.assign({},jr),Cr),{data:{type:"array"},categoryAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},orientation:{type:"string",enum:Nr},sort:{type:["boolean","string","function"]},barPadding:{type:"number"}})},StackedBarChart:{required:["data","stackBy"],dataShape:"array",dataAccessors:["categoryAccessor","valueAccessor"],props:Object.assign(Object.assign(Object.assign({},jr),Cr),{data:{type:"array"},categoryAccessor:{type:["string","function"]},stackBy:{type:["string","function"]},valueAccessor:{type:["string","function"]},orientation:{type:"string",enum:Nr},normalize:{type:"boolean"},barPadding:{type:"number"}})},GroupedBarChart:{required:["data","groupBy"],dataShape:"array",dataAccessors:["categoryAccessor","valueAccessor"],props:Object.assign(Object.assign(Object.assign({},jr),Cr),{data:{type:"array"},categoryAccessor:{type:["string","function"]},groupBy:{type:["string","function"]},valueAccessor:{type:["string","function"]},orientation:{type:"string",enum:Nr},barPadding:{type:"number"}})},SwarmPlot:{required:["data"],dataShape:"array",dataAccessors:["categoryAccessor","valueAccessor"],props:Object.assign(Object.assign(Object.assign({},jr),Cr),{data:{type:"array"},categoryAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},orientation:{type:"string",enum:Nr},sizeBy:{type:["string","function"]},sizeRange:{type:"array"},pointRadius:{type:"number"},pointOpacity:{type:"number"},categoryPadding:{type:"number"}})},BoxPlot:{required:["data"],dataShape:"array",dataAccessors:["categoryAccessor","valueAccessor"],props:Object.assign(Object.assign(Object.assign({},jr),Cr),{data:{type:"array"},categoryAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},orientation:{type:"string",enum:Nr},showOutliers:{type:"boolean"},outlierRadius:{type:"number"},categoryPadding:{type:"number"}})},Histogram:{required:["data"],dataShape:"array",dataAccessors:["categoryAccessor","valueAccessor"],props:Object.assign(Object.assign(Object.assign({},jr),Cr),{data:{type:"array"},categoryAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},bins:{type:"number"},relative:{type:"boolean"},categoryPadding:{type:"number"}})},ViolinPlot:{required:["data"],dataShape:"array",dataAccessors:["categoryAccessor","valueAccessor"],props:Object.assign(Object.assign(Object.assign({},jr),Cr),{data:{type:"array"},categoryAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},orientation:{type:"string",enum:Nr},bins:{type:"number"},curve:{type:"string"},showIQR:{type:"boolean"},categoryPadding:{type:"number"}})},DotPlot:{required:["data"],dataShape:"array",dataAccessors:["categoryAccessor","valueAccessor"],props:Object.assign(Object.assign(Object.assign({},jr),Cr),{data:{type:"array"},categoryAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},orientation:{type:"string",enum:Nr},sort:{type:["boolean","string","function"]},dotRadius:{type:"number"},categoryPadding:{type:"number"}})},PieChart:{required:["data"],dataShape:"array",dataAccessors:["categoryAccessor","valueAccessor"],props:Object.assign(Object.assign({},jr),{data:{type:"array"},categoryAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},startAngle:{type:"number"},slicePadding:{type:"number"}})},DonutChart:{required:["data"],dataShape:"array",dataAccessors:["categoryAccessor","valueAccessor"],props:Object.assign(Object.assign({},jr),{data:{type:"array"},categoryAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},innerRadius:{type:"number"},centerContent:{type:["object","string","number"]},startAngle:{type:"number"},slicePadding:{type:"number"}})},ForceDirectedGraph:{required:["nodes","edges"],dataShape:"network",dataAccessors:["nodeIDAccessor","sourceAccessor","targetAccessor"],props:Object.assign(Object.assign({},jr),{nodes:{type:"array"},edges:{type:"array"},nodeIDAccessor:{type:["string","function"]},sourceAccessor:{type:["string","function"]},targetAccessor:{type:["string","function"]},nodeLabel:{type:["string","function"]},nodeSize:{type:["number","string","function"]},nodeSizeRange:{type:"array"},edgeWidth:{type:["number","string","function"]},edgeColor:{type:"string"},edgeOpacity:{type:"number"},iterations:{type:"number"},forceStrength:{type:"number"},showLabels:{type:"boolean"}})},SankeyDiagram:{required:["edges"],dataShape:"network",dataAccessors:["sourceAccessor","targetAccessor"],props:Object.assign(Object.assign({},jr),{nodes:{type:"array"},edges:{type:"array"},sourceAccessor:{type:["string","function"]},targetAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},nodeIdAccessor:{type:["string","function"]},edgeColorBy:{type:["string","function"],enum:["source","target","gradient"]},orientation:{type:"string",enum:Nr},nodeAlign:{type:"string",enum:["justify","left","right","center"]},nodePaddingRatio:{type:"number"},nodeWidth:{type:"number"},nodeLabel:{type:["string","function"]},showLabels:{type:"boolean"},edgeOpacity:{type:"number"},edgeSort:{type:"function"}})},ChordDiagram:{required:["edges"],dataShape:"network",dataAccessors:["sourceAccessor","targetAccessor"],props:Object.assign(Object.assign({},jr),{nodes:{type:"array"},edges:{type:"array"},sourceAccessor:{type:["string","function"]},targetAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},nodeIdAccessor:{type:["string","function"]},edgeColorBy:{type:["string","function"],enum:["source","target"]},padAngle:{type:"number"},groupWidth:{type:"number"},sortGroups:{type:"function"},nodeLabel:{type:["string","function"]},showLabels:{type:"boolean"},edgeOpacity:{type:"number"}})},TreeDiagram:{required:["data"],dataShape:"object",dataAccessors:[],props:Object.assign(Object.assign({},jr),{data:{type:"object"},layout:{type:"string",enum:["tree","cluster","partition","treemap","circlepack"]},orientation:{type:"string",enum:["vertical","horizontal","radial"]},childrenAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},nodeIdAccessor:{type:["string","function"]},colorByDepth:{type:"boolean"},edgeStyle:{type:"string",enum:["line","curve"]},nodeLabel:{type:["string","function"]},showLabels:{type:"boolean"},nodeSize:{type:"number"}})},Treemap:{required:["data"],dataShape:"object",dataAccessors:[],props:Object.assign(Object.assign({},jr),{data:{type:"object"},childrenAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},nodeIdAccessor:{type:["string","function"]},colorByDepth:{type:"boolean"},showLabels:{type:"boolean"},nodeLabel:{type:["string","function"]}})},CirclePack:{required:["data"],dataShape:"object",dataAccessors:[],props:Object.assign(Object.assign({},jr),{data:{type:"object"},childrenAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},nodeIdAccessor:{type:["string","function"]},colorByDepth:{type:"boolean"},showLabels:{type:"boolean"},nodeLabel:{type:["string","function"]},circleOpacity:{type:"number"}})},OrbitDiagram:{required:["data"],dataShape:"object",dataAccessors:[],props:Object.assign(Object.assign({},jr),{data:{type:"object"},childrenAccessor:{type:["string","function"]},nodeIdAccessor:{type:["string","function"]},orbitMode:{type:["string","array"]},speed:{type:"number"},revolution:{type:"function"},eccentricity:{type:["number","function"]},orbitSize:{type:["number","function"]},nodeRadius:{type:["number","function"]},showRings:{type:"boolean"},showLabels:{type:"boolean"},animated:{type:"boolean"},colorByDepth:{type:"boolean"},annotations:{type:"array"},foregroundGraphics:{type:"object"}})},RealtimeLineChart:{required:[],dataShape:"realtime",dataAccessors:[],props:{size:{type:"array"},margin:{type:"object"},className:{type:"string"},timeAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},windowSize:{type:"number"},windowMode:{type:"string",enum:["sliding","stepping"]},arrowOfTime:{type:"string",enum:["left","right"]},stroke:{type:"string"},strokeWidth:{type:"number"},strokeDasharray:{type:"string"},timeExtent:{type:"array"},valueExtent:{type:"array"},extentPadding:{type:"number"},showAxes:{type:"boolean"},background:{type:"string"},enableHover:{type:["boolean","object"]},tooltipContent:{type:"function"},tooltip:{type:["function","object"]},onHover:{type:"function"},annotations:{type:"array"},svgAnnotationRules:{type:"function"},tickFormatTime:{type:"function"},tickFormatValue:{type:"function"},width:{type:"number"},height:{type:"number"},decay:{type:"object"},pulse:{type:"object"},staleness:{type:"object"},transition:{type:"object"}}},RealtimeHistogram:{required:["binSize"],dataShape:"realtime",dataAccessors:[],props:{binSize:{type:"number"},size:{type:"array"},margin:{type:"object"},className:{type:"string"},timeAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},categoryAccessor:{type:["string","function"]},colors:{type:"object"},windowSize:{type:"number"},windowMode:{type:"string",enum:["sliding","stepping"]},arrowOfTime:{type:"string",enum:["left","right"]},fill:{type:"string"},stroke:{type:"string"},strokeWidth:{type:"number"},gap:{type:"number"},timeExtent:{type:"array"},valueExtent:{type:"array"},extentPadding:{type:"number"},showAxes:{type:"boolean"},background:{type:"string"},enableHover:{type:["boolean","object"]},tooltipContent:{type:"function"},tooltip:{type:["function","object"]},onHover:{type:"function"},annotations:{type:"array"},svgAnnotationRules:{type:"function"},tickFormatTime:{type:"function"},tickFormatValue:{type:"function"},width:{type:"number"},height:{type:"number"},decay:{type:"object"},pulse:{type:"object"},staleness:{type:"object"},transition:{type:"object"}}},RealtimeSwarmChart:{required:[],dataShape:"realtime",dataAccessors:[],props:{size:{type:"array"},margin:{type:"object"},className:{type:"string"},timeAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},categoryAccessor:{type:["string","function"]},colors:{type:"object"},windowSize:{type:"number"},windowMode:{type:"string",enum:["sliding","stepping"]},arrowOfTime:{type:"string",enum:["left","right"]},radius:{type:"number"},fill:{type:"string"},opacity:{type:"number"},stroke:{type:"string"},strokeWidth:{type:"number"},timeExtent:{type:"array"},valueExtent:{type:"array"},extentPadding:{type:"number"},showAxes:{type:"boolean"},background:{type:"string"},enableHover:{type:["boolean","object"]},tooltipContent:{type:"function"},tooltip:{type:["function","object"]},onHover:{type:"function"},annotations:{type:"array"},svgAnnotationRules:{type:"function"},tickFormatTime:{type:"function"},tickFormatValue:{type:"function"},width:{type:"number"},height:{type:"number"},decay:{type:"object"},pulse:{type:"object"},staleness:{type:"object"},transition:{type:"object"}}},RealtimeWaterfallChart:{required:[],dataShape:"realtime",dataAccessors:[],props:{size:{type:"array"},margin:{type:"object"},className:{type:"string"},timeAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},windowSize:{type:"number"},windowMode:{type:"string",enum:["sliding","stepping"]},arrowOfTime:{type:"string",enum:["left","right"]},positiveColor:{type:"string"},negativeColor:{type:"string"},connectorStroke:{type:"string"},connectorWidth:{type:"number"},gap:{type:"number"},stroke:{type:"string"},strokeWidth:{type:"number"},timeExtent:{type:"array"},valueExtent:{type:"array"},extentPadding:{type:"number"},showAxes:{type:"boolean"},background:{type:"string"},enableHover:{type:["boolean","object"]},tooltipContent:{type:"function"},tooltip:{type:["function","object"]},onHover:{type:"function"},annotations:{type:"array"},svgAnnotationRules:{type:"function"},tickFormatTime:{type:"function"},tickFormatValue:{type:"function"},width:{type:"number"},height:{type:"number"},decay:{type:"object"},pulse:{type:"object"},staleness:{type:"object"},transition:{type:"object"}}},RealtimeHeatmap:{required:[],dataShape:"realtime",dataAccessors:[],props:{size:{type:"array"},margin:{type:"object"},className:{type:"string"},timeAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},heatmapXBins:{type:"number"},heatmapYBins:{type:"number"},aggregation:{type:"string",enum:["count","sum","mean"]},windowSize:{type:"number"},windowMode:{type:"string",enum:["sliding","stepping"]},arrowOfTime:{type:"string",enum:["left","right"]},timeExtent:{type:"array"},valueExtent:{type:"array"},extentPadding:{type:"number"},showAxes:{type:"boolean"},background:{type:"string"},enableHover:{type:["boolean","object"]},tooltipContent:{type:"function"},tooltip:{type:["function","object"]},onHover:{type:"function"},annotations:{type:"array"},svgAnnotationRules:{type:"function"},tickFormatTime:{type:"function"},tickFormatValue:{type:"function"},width:{type:"number"},height:{type:"number"},decay:{type:"object"},pulse:{type:"object"},staleness:{type:"object"}}}};function Mr(e,t){return(Array.isArray(t)?t:[t]).includes(Array.isArray(e)?"array":typeof e)}const $r=new Set(["TreeDiagram","Treemap","CirclePack","OrbitDiagram"]),_r=new Set(["ForceDirectedGraph","SankeyDiagram","ChordDiagram"]),Wr=new Set(["BarChart","StackedBarChart","GroupedBarChart","AreaChart","StackedAreaChart"]),Br=new Set(["LineChart","AreaChart","StackedAreaChart"]),Rr=new Set(["BarChart","StackedBarChart","GroupedBarChart"]);function zr(e,t){const r=[],n=function(e,t){const r=[],n=Tr[e];if(!n)return{valid:!1,errors:[`Unknown component "${e}". Valid components: ${Object.keys(Tr).join(", ")}`]};for(const o of n.required)null==t[o]&&r.push(`"${o}" is required for ${e}.`);for(const[e,o]of Object.entries(t)){if(null==o)continue;const t=n.props[e];if(t){if(!Mr(o,t.type)){const n=Array.isArray(t.type)?t.type.join(" | "):t.type;r.push(`"${e}" should be ${n}, got ${Array.isArray(o)?"array":typeof o}.`);continue}t.enum&&"string"==typeof o&&!t.enum.includes(o)&&r.push(`"${e}" value "${o}" is not valid. Expected one of: ${t.enum.join(", ")}.`)}}const o=Object.keys(n.props),i=new Set(o);for(const n of Object.keys(t))if(void 0!==t[n]&&!i.has(n)){const t=Sr(n,o),i=t?`Unknown prop "${n}" for ${e}. Did you mean "${t}"?`:`Unknown prop "${n}" for ${e}. Valid props: ${o.join(", ")}.`;r.push(i)}if("array"===n.dataShape){const o=t.data,i={};for(const e of n.dataAccessors){const r=t[e];"string"==typeof r&&(i[e]=r)}const a=function({componentName:e,data:t,accessors:r,requiredProps:n}){if(n)for(const[t,r]of Object.entries(n))if(null==r)return`${e}: ${t} is required. Provide a field name or function.`;if(null==t)return null;if(!Array.isArray(t)||0===t.length)return e+": No data provided. Pass a non-empty array to the data prop.";if(!Array.isArray(t)&&"object"==typeof t)return e+": data should be an array, but received an object. If this is hierarchical data, use TreeDiagram, Treemap, or CirclePack instead.";if(r){const n=Er(t).find(e=>e&&"object"==typeof e);if(n){const t=Object.keys(n);for(const[o,i]of Object.entries(r))if(i&&"string"==typeof i&&!(i in n)){const r=Lr(i,t),n=r?` Try ${o}="${r}".`:"";return`${e}: ${o} "${i}" not found in data. Available fields: ${t.join(", ")}.${n}`}}}return null}({componentName:e,data:o,accessors:Object.keys(i).length>0?i:void 0});a&&r.push(a)}else if("object"===n.dataShape){const n=Dr({componentName:e,data:t.data});n&&r.push(n)}else if("network"===n.dataShape){const o=Or({componentName:e,nodes:t.nodes,edges:t.edges,nodesRequired:n.required.includes("nodes"),edgesRequired:n.required.includes("edges")});o&&r.push(o)}return{valid:0===r.length,errors:r}}(e,t);for(const e of n.errors)r.push({severity:"error",code:"VALIDATION",message:e,fix:""});return Tr[e]?(function(e,t,r){const n=Tr[e];if(n){if("array"===n.dataShape){const e=t.data;e&&Array.isArray(e)&&0===e.length&&r.push({severity:"error",code:"EMPTY_DATA",message:"data is an empty array — chart will render blank.",fix:"Provide at least one data point: data={[{ x: 1, y: 2 }]}."})}"network"===n.dataShape&&t.edges&&Array.isArray(t.edges)&&0===t.edges.length&&r.push({severity:"error",code:"EMPTY_EDGES",message:"edges is an empty array — network chart will render blank.",fix:'Provide at least one edge: edges={[{ source: "A", target: "B" }]}.'})}}(e,t,r),function(e,t,r){const n=t.width,o=t.height;if(void 0===n||"number"==typeof n&&n>0||r.push({severity:"error",code:"BAD_WIDTH",message:`width=${JSON.stringify(n)} — chart needs a positive number.`,fix:"Set width={600} or use responsiveWidth={true}."}),void 0===o||"number"==typeof o&&o>0||r.push({severity:"error",code:"BAD_HEIGHT",message:`height=${JSON.stringify(o)} — chart needs a positive number.`,fix:"Set height={400} or use responsiveHeight={true}."}),t.size&&Array.isArray(t.size)){const[e,n]=t.size;(null!=e&&0>=e||null!=n&&0>=n)&&r.push({severity:"error",code:"BAD_SIZE",message:`size=[${e}, ${n}] — both dimensions must be positive.`,fix:"Set size={[600, 400]}."})}}(0,t,r),function(e,t,r){const n=Tr[e];if(!n||"array"!==n.dataShape)return;const o=t.data;if(!o||!Array.isArray(o)||0===o.length)return;const i=o[0];if(!i||"object"!=typeof i)return;const a=Object.keys(i);for(const e of n.dataAccessors){const n=t[e];"string"==typeof n&&(n in i||r.push({severity:"error",code:"ACCESSOR_MISSING",message:`${e}="${n}" not found in data. Available fields: ${a.join(", ")}.`,fix:`Change ${e} to one of: ${a.map(e=>`"${e}"`).join(", ")}.`}))}}(e,t,r),function(e,t,r){$r.has(e)&&Array.isArray(t.data)&&r.push({severity:"error",code:"HIERARCHY_FLAT_ARRAY",message:e+" expects hierarchical data but received a flat array.",fix:'Pass a root object: data={{ name: "root", children: [...] }}. For flat data, use BarChart or LineChart.'})}(e,t,r),function(e,t,r){_r.has(e)&&(t.edges||t.data||r.push({severity:"error",code:"NETWORK_NO_EDGES",message:e+" requires an edges prop.",fix:'Provide edges={[{ source: "A", target: "B", value: 10 }]}.'}))}(e,t,r),function(e,t,r){const n=Tr[e];if(!n||"array"!==n.dataShape)return;const o=t.data;if(!o||!Array.isArray(o)||0===o.length)return;const i=o[0];if(!i||"object"!=typeof i)return;const a=t.xAccessor;"string"==typeof a&&i[a]instanceof Date&&!t.xFormat&&r.push({severity:"warning",code:"DATE_NO_FORMAT",message:`xAccessor "${a}" contains Date objects but no xFormat is provided. Axis ticks may display "[object Object]".`,fix:"Add xFormat={d => d.toLocaleDateString()} or use timestamps (d.getTime()) instead of Date objects."})}(e,t,r),function(e,t,r){t.linkedHover&&!t.selection&&r.push({severity:"warning",code:"LINKED_HOVER_NO_SELECTION",message:"linkedHover is set but selection is not — this chart emits hover events but won't highlight from others.",fix:`Add selection={{ name: "${"object"==typeof t.linkedHover&&t.linkedHover.name||"hl"}" }} to receive cross-highlights.`})}(0,t,r),function(e,t,r){var n;if(!Wr.has(e))return;const o=t.rExtent||t.yExtent;o&&Array.isArray(o)&&o.length>=1&&null!=o[0]&&0!==o[0]&&r.push({severity:"warning",code:"NON_ZERO_BASELINE",message:`${e} has a non-zero baseline (${o[0]}). Bar and area charts should start at zero to avoid exaggerating differences.`,fix:`Remove the custom extent minimum or set it to 0: rExtent={[0, ${null!==(n=o[1])&&void 0!==n?n:"auto"}]}. For trend-focused charts, use LineChart instead.`})}(e,t,r),function(e,t,r){if(!Br.has(e))return;if(t.gapStrategy)return;const n=t.data;if(!n||!Array.isArray(n)||0===n.length)return;const o=t.yAccessor||"y";"string"==typeof o&&n.some(e=>{const t=e[o];return null==t||Number.isNaN(t)})&&r.push({severity:"warning",code:"DATA_GAPS",message:`Data contains null/undefined/NaN values in "${o}". Default behavior breaks the line at gaps.`,fix:'Set gapStrategy="break" (default), "interpolate", or "zero" to control gap handling.'})}(e,t,r),function(e,t,r){var n,o;const i=null!==(n=t.width)&&void 0!==n?n:600,a=null!==(o=t.height)&&void 0!==o?o:400,s=t.margin;if(!s||"object"!=typeof s)return;const c=(s.left||0)+(s.right||0),l=(s.top||0)+(s.bottom||0);i>c||r.push({severity:"error",code:"MARGIN_OVERFLOW_H",message:`Horizontal margins (${c}px) >= width (${i}px) — no drawing area left.`,fix:"Reduce margin.left/right or increase width."}),a>l||r.push({severity:"error",code:"MARGIN_OVERFLOW_V",message:`Vertical margins (${l}px) >= height (${a}px) — no drawing area left.`,fix:"Reduce margin.top/bottom or increase height."})}(0,t,r),function(e,t,r){var n;const o=Tr[e];if(!o||"array"!==o.dataShape)return;const i=t.data;if(!i||!Array.isArray(i)||0===i.length)return;const a=[];t.xAccessor&&"string"==typeof t.xAccessor&&a.push({prop:"xAccessor",name:t.xAccessor}),t.yAccessor&&"string"==typeof t.yAccessor&&a.push({prop:"yAccessor",name:t.yAccessor}),t.valueAccessor&&"string"==typeof t.valueAccessor&&a.push({prop:"valueAccessor",name:t.valueAccessor});const s=Math.min(i.length,5);for(const e of a){let t=!0;for(let r=0;s>r;r++){const o=null===(n=i[r])||void 0===n?void 0:n[e.name];if("number"==typeof o&&Number.isFinite(o)){t=!1;break}}t&&r.push({severity:"error",code:"DEGENERATE_EXTENT",message:`${e.prop}="${e.name}" produces NaN or non-finite values for all sampled data points — chart extents will be invalid.`,fix:`Ensure data[].${e.name} contains finite numbers, or use a function accessor to transform values.`})}}(e,t,r),function(e,t,r){if(!Rr.has(e))return;const n=t.barPadding;"number"==typeof n&&10>n&&r.push({severity:"warning",code:"BAR_PADDING_INVISIBLE",message:`barPadding=${n} is very small — bars may appear to have no spacing between them.`,fix:"Increase barPadding to at least 10 for visible gaps, e.g. barPadding={12}."})}(e,t,r),function(e,t,r){if("bottom"!==t.legendPosition)return;const n=t.margin;if(!n||"object"!=typeof n)return;const o=n.bottom;"number"==typeof o&&70>o&&r.push({severity:"warning",code:"BOTTOM_MARGIN_WITH_LEGEND",message:`legendPosition="bottom" with margin.bottom=${o}px — legend may overlap axis labels.`,fix:"Increase margin.bottom to at least 70, e.g. margin={{ ...margin, bottom: 80 }}."})}(0,t,r),function(e,t,r){var n;if(!t.showLegend)return;if("right"!==(null!==(n=t.legendPosition)&&void 0!==n?n:"right"))return;const o=t.margin;if(!o||"object"!=typeof o)return;const i=o.right;"number"==typeof i&&100>i&&r.push({severity:"warning",code:"LEGEND_MARGIN_TIGHT",message:`showLegend is true with legendPosition="right" but margin.right=${i}px — legend may be clipped or overlap the chart.`,fix:"Increase margin.right to at least 100, e.g. margin={{ ...margin, right: 120 }}."})}(0,t,r),function(e,t,r){if("Heatmap"!==e)return;const n=t.data;if(!n||!Array.isArray(n)||0===n.length)return;const o=n[0];if(o&&"object"==typeof o)for(const e of["xAccessor","yAccessor"]){const n=t[e];if("string"!=typeof n)continue;const i=o[n];"string"==typeof i&&r.push({severity:"warning",code:"HEATMAP_STRING_ACCESSOR",message:`${e}="${n}" resolves to string values (e.g. "${i}"). Heatmap will use categorical axis handling which may produce unexpected cell layout.`,fix:"If you intend categorical axes this is fine. Otherwise, convert values to numbers before passing data."})}}(e,t,r),{ok:r.every(e=>"warning"===e.severity),diagnoses:r}):{ok:0===r.length,diagnoses:r}}var Hr;const Fr="undefined"!=typeof process&&"production"!==(null===(Hr=process.env)||void 0===Hr?void 0:Hr.NODE_ENV);function Yr({componentName:t,width:r,height:n,chartProps:o,children:i}){return e.createElement(Ar,{fallback:i=>{let a="";if(Fr&&o)try{const e=zr(t,o);e.ok||(a=e.diagnoses.map(e=>`${"error"===e.severity?"✗":"⚠"} ${e.message}${e.fix?" — Fix: "+e.fix:""}`).join("\n"))}catch(e){}return e.createElement(kr,{componentName:t,message:i.message,diagnosticHint:a,width:r,height:n})}},i)}const Xr={display:"flex",alignItems:"center",justifyContent:"center",color:"var(--semiotic-text-secondary, #999)",fontSize:13,fontFamily:"inherit",border:"1px dashed var(--semiotic-border, #ddd)",borderRadius:4,boxSizing:"border-box"},qr={background:"var(--semiotic-border, #e0e0e0)",borderRadius:2};function Gr(t,r,n,o){return!1===o||null==t||Array.isArray(t)&&t.length>0?null:Array.isArray(t)?e.createElement("div",{style:Object.assign(Object.assign({},Xr),{width:r,height:n})},o||"No data available"):null}function Vr(t,r,n){if(!t)return null;const o=Math.min(5,Math.floor(n/40)),i=Math.max(8,Math.floor(n/(3*o))),a=Math.max(6,Math.floor(n/(2.5*o))),s=Math.floor((n-(o*(i+a)-a))/2);return e.createElement("div",{style:{width:r,height:n,position:"relative",overflow:"hidden",border:"1px solid var(--semiotic-border, #e0e0e0)",borderRadius:4,boxSizing:"border-box"}},Array.from({length:o},(t,n)=>e.createElement("div",{key:n,className:"semiotic-loading-bar",style:Object.assign(Object.assign({},qr),{position:"absolute",top:s+n*(i+a),left:Math.floor(.1*r),width:30+(37*n+13)%50+"%",height:i,opacity:.5+n%2*.2})})))}const Kr=l(function(r,n){var o;const s=t(null);u(n,()=>({push:e=>{var t;return null===(t=s.current)||void 0===t?void 0:t.push(e)},pushMany:e=>{var t;return null===(t=s.current)||void 0===t?void 0:t.pushMany(e)},clear:()=>{var e;return null===(e=s.current)||void 0===e?void 0:e.clear()},getData:()=>{var e,t,r,n;return null!==(n=null===(r=null===(t=null===(e=s.current)||void 0===e?void 0:e.getTopology())||void 0===t?void 0:t.nodes)||void 0===r?void 0:r.map(e=>e.data))&&void 0!==n?n:[]}}));const c=xr(r.mode,{width:r.width,height:r.height,enableHover:r.enableHover,showLegend:r.showLegend,showLabels:r.showLabels,title:r.title},{width:600,height:600}),{nodes:l,edges:d,margin:h,className:y,nodeIDAccessor:g="id",sourceAccessor:p="source",targetAccessor:f="target",nodeLabel:m,colorBy:v,colorScheme:b="category10",nodeSize:x=8,nodeSizeRange:k=[5,20],edgeWidth:A=1,edgeColor:w="#999",edgeOpacity:S=.6,iterations:E=300,forceStrength:L=.1,tooltip:D,frameProps:O={},onObservation:j,chartId:P,selection:C,linkedHover:I,loading:N,emptyContent:T,legendInteraction:M,legendPosition:$}=r,_=c.width,W=c.height,B=c.enableHover,R=c.showLegend,z=null!==(o=c.showLabels)&&void 0!==o&&o,H=c.title,F=Vr(N,_,W);if(F)return F;const Y=Gr(l,_,W,T);if(Y)return Y;const X=l||[],q=d||[],G=fr(X,v,b),V=i(()=>{if(!v)return[];const e=new Set;for(const t of X){const r="function"==typeof v?v(t):t[v];null!=r&&e.add(r+"")}return Array.from(e)},[X,v]),K=vr(M,v,V),Z=i(()=>e=>{const t={};return t.fill=v?Rt(e.data||e,v,G):pr,"number"==typeof x&&(t.r=x),t},[v,G,x]),Q=i(()=>e=>({stroke:w,strokeWidth:"number"==typeof A?A:"function"==typeof A?A(e):e[A]||1,opacity:S}),[A,w,S]),U=i(()=>{if(z&&m)return"function"==typeof m?m:e=>{var t,r,n;return null!==(n=null!==(r=null===(t=e.data)||void 0===t?void 0:t[m])&&void 0!==r?r:e[m])&&void 0!==n?n:e.id}},[z,m]),{legend:J,margin:ee,legendPosition:te}=function({data:e,colorBy:t,colorScale:r,showLegend:n,legendPosition:o="right",userMargin:s,defaults:c={top:50,bottom:60,left:70,right:40}}){const l=a(gr),u=void 0!==n?n:!l&&!!t,d=i(()=>{if(u&&t)return function({data:e,colorBy:t,colorScale:r,getColor:n,strokeColor:o,strokeWidth:i}){const a=Array.from(new Set(e.map(e=>"function"==typeof t?t(e):e[t]))).map(o=>{const i=e.find("function"==typeof t?e=>t(e)===o:e=>e[t]===o),a=i?n(i,t,r):r?r(o):"#000000";return{label:o+"",color:a}});return{legendGroups:[{styleFn:e=>{const t=e.color||"#333",r={fill:t,stroke:t};return void 0!==o&&(r.stroke=o),void 0!==i&&(r.strokeWidth=i),r},type:"fill",items:a,label:""}]}}({data:e,colorBy:t,colorScale:r,getColor:Rt})},[u,t,e,r]),h=i(()=>{const e=Object.assign(Object.assign({},c),s);return d&&("right"===o&&110>e.right?e.right=110:"left"===o&&110>e.left?e.left=110:"top"===o&&50>e.top?e.top=50:"bottom"===o&&80>e.bottom&&(e.bottom=80)),e},[c,s,d,o]);return{legend:d,margin:h,legendPosition:o}}({data:X,colorBy:v,colorScale:G,showLegend:R,legendPosition:$,userMargin:h,defaults:c.marginDefaults}),{customHoverBehavior:re}=mr({selection:C,linkedHover:I,fallbackFields:v?["string"==typeof v?v:""]:[],unwrapData:!0,onObservation:j,chartType:"ForceDirectedGraph",chartId:P}),ne=Or({componentName:"ForceDirectedGraph",nodes:l,edges:d,nodesRequired:!0,edgesRequired:!0,accessors:{nodeIDAccessor:g}});return ne?e.createElement(kr,{componentName:"ForceDirectedGraph",message:ne,width:_,height:W}):e.createElement(Yr,{componentName:"ForceDirectedGraph",width:_,height:W},e.createElement(er,Object.assign({ref:s,chartType:"force"},null!=l&&{nodes:X},null!=d&&{edges:q},{size:[_,W],responsiveWidth:r.responsiveWidth,responsiveHeight:r.responsiveHeight,margin:ee,nodeIDAccessor:g,sourceAccessor:p,targetAccessor:f,iterations:E,forceStrength:L,nodeStyle:Z,edgeStyle:Q,colorBy:v,colorScheme:b,nodeSize:x,nodeSizeRange:k,nodeLabel:U,showLabels:z,enableHover:B,tooltipContent:!1===D?()=>null:ir(D)||void 0,customHoverBehavior:I||j?re:void 0,legend:J,legendPosition:te},M&&"none"!==M&&{legendHoverBehavior:K.onLegendHover,legendClickBehavior:K.onLegendClick,legendHighlightedCategory:K.highlightedCategory,legendIsolatedCategories:K.isolatedCategories},{className:y,title:H},O)))});function Zr(e,t){if(!e)return[];const r=[],n=e=>{r.push(e);const o="function"==typeof t?t(e):e[t];o&&Array.isArray(o)&&o.forEach(n)};return n(e),r}function Qr(e,t,r,n){if(e&&e.length>0)return e;const o=new Set;return t.forEach(e=>{const t="function"==typeof r?r(e):e[r],i="function"==typeof n?n(e):e[n];o.add(t),o.add(i)}),Array.from(o).map(e=>({id:e}))}function Ur(e){return"function"==typeof e?e:t=>t[e]||1}function Jr({edgeColorBy:e,colorBy:t,colorScale:r,nodeStyleFn:n,edgeOpacity:o,baseStyle:i={}}){return a=>{const s=Object.assign({fillOpacity:o},i);if("function"==typeof e)s.fill=e(a);else if("source"===e){const e="object"==typeof a.source?a.source:null;t&&e?s.fill=Rt(e.data||e,t,r):e&&(s.fill=n(e,e.index).fill)}else if("target"===e){const e="object"==typeof a.target?a.target:null;t&&e?s.fill=Rt(e.data||e,t,r):e&&(s.fill=n(e,e.index).fill)}else"gradient"===e&&(s.fill="#999",s.fillOpacity=.7*o);return s}}Kr.displayName="ForceDirectedGraph";const en=l(function(r,n){var o;const a=t(null);u(n,()=>({push:e=>{var t;return null===(t=a.current)||void 0===t?void 0:t.push(e)},pushMany:e=>{var t;return null===(t=a.current)||void 0===t?void 0:t.pushMany(e)},clear:()=>{var e;return null===(e=a.current)||void 0===e?void 0:e.clear()},getData:()=>{var e,t,r,n;return null!==(n=null===(r=null===(t=null===(e=a.current)||void 0===e?void 0:e.getTopology())||void 0===t?void 0:t.edges)||void 0===r?void 0:r.map(e=>e.data))&&void 0!==n?n:[]}}));const s=xr(r.mode,{width:r.width,height:r.height,enableHover:r.enableHover,showLabels:r.showLabels,title:r.title},{width:800,height:600}),{nodes:c,edges:l,margin:d,className:h,sourceAccessor:y="source",targetAccessor:g="target",valueAccessor:p="value",nodeIdAccessor:f="id",colorBy:m,colorScheme:v="category10",edgeColorBy:b="source",orientation:x="horizontal",nodeAlign:k="justify",nodePaddingRatio:A=.05,nodeWidth:w=15,nodeLabel:S,edgeOpacity:E=.5,edgeSort:L,tooltip:D,frameProps:O={},onObservation:j,chartId:P,selection:C,linkedHover:I,loading:N,emptyContent:T,legendInteraction:M}=r,$=s.width,_=s.height,W=s.enableHover,B=null===(o=s.showLabels)||void 0===o||o,R=s.title,z=Vr(N,$,_);if(z)return z;const H=Gr(l,$,_,T);if(H)return H;const F=l||[],Y=i(()=>Qr(c,F,y,g),[c,F,y,g]),X=fr(Y,m,v),q=i(()=>{if(!m)return[];const e=new Set;for(const t of Y){const r="function"==typeof m?m(t):t[m];null!=r&&e.add(r+"")}return Array.from(e)},[Y,m]),G=vr(M,m,q),V=i(()=>e=>{const t={stroke:"black",strokeWidth:1};return t.fill=m?Rt(e.data||e,m,X):"#4d430c",t},[m,X]),K=i(()=>Jr({edgeColorBy:b,colorBy:m,colorScale:X,nodeStyleFn:V,edgeOpacity:E,baseStyle:{stroke:"none",strokeWidth:0}}),[b,m,X,V,E]),Z=i(()=>{if(!B)return;const e=S||f;return"function"==typeof e?e:t=>{var r,n,o;return null!==(o=null!==(n=null===(r=t.data)||void 0===r?void 0:r[e])&&void 0!==n?n:t[e])&&void 0!==o?o:t.id}},[B,S,f]),Q=Object.assign(Object.assign({},s.marginDefaults),d),{customHoverBehavior:U,customClickBehavior:J}=mr({selection:C,linkedHover:I,fallbackFields:m?["string"==typeof m?m:""]:[],unwrapData:!0,onObservation:j,chartType:"SankeyDiagram",chartId:P}),ee=Or({componentName:"SankeyDiagram",edges:l,edgesRequired:!0});return ee?e.createElement(kr,{componentName:"SankeyDiagram",message:ee,width:$,height:_}):e.createElement(Yr,{componentName:"SankeyDiagram",width:$,height:_},e.createElement(er,Object.assign({ref:a,chartType:"sankey"},Y.length>0&&{nodes:Y},null!=l&&{edges:F},{size:[$,_],responsiveWidth:r.responsiveWidth,responsiveHeight:r.responsiveHeight,margin:Q,nodeIDAccessor:f,sourceAccessor:y,targetAccessor:g,valueAccessor:p,orientation:x,nodeAlign:k,nodePaddingRatio:A,nodeWidth:w,nodeStyle:V,edgeStyle:K,colorBy:m,colorScheme:v,edgeColorBy:b,edgeOpacity:E,edgeSort:L,nodeLabel:Z,showLabels:B,enableHover:W,tooltipContent:!1===D?()=>null:ir(D)||void 0,customHoverBehavior:I||j?U:void 0,customClickBehavior:j?J:void 0},M&&"none"!==M&&{legendHoverBehavior:G.onLegendHover,legendClickBehavior:G.onLegendClick,legendHighlightedCategory:G.highlightedCategory,legendIsolatedCategories:G.isolatedCategories},{className:h,title:R},O)))});en.displayName="SankeyDiagram";const tn=l(function(r,n){var o;const a=t(null);u(n,()=>({push:e=>{var t;return null===(t=a.current)||void 0===t?void 0:t.push(e)},pushMany:e=>{var t;return null===(t=a.current)||void 0===t?void 0:t.pushMany(e)},clear:()=>{var e;return null===(e=a.current)||void 0===e?void 0:e.clear()},getData:()=>{var e,t,r,n;return null!==(n=null===(r=null===(t=null===(e=a.current)||void 0===e?void 0:e.getTopology())||void 0===t?void 0:t.edges)||void 0===r?void 0:r.map(e=>e.data))&&void 0!==n?n:[]}}));const s=xr(r.mode,{width:r.width,height:r.height,enableHover:r.enableHover,showLabels:r.showLabels,title:r.title},{width:600,height:600}),{nodes:c,edges:l,margin:d,className:h,sourceAccessor:y="source",targetAccessor:g="target",valueAccessor:p="value",nodeIdAccessor:f="id",colorBy:m,colorScheme:v="category10",edgeColorBy:b="source",padAngle:x=.01,groupWidth:k=20,sortGroups:A,nodeLabel:w,edgeOpacity:S=.5,tooltip:E,frameProps:L={},onObservation:D,chartId:O,selection:j,linkedHover:P,loading:C,emptyContent:I,legendInteraction:N}=r,T=s.width,M=s.height,$=s.enableHover,_=null===(o=s.showLabels)||void 0===o||o,W=s.title,B=Vr(C,T,M);if(B)return B;const R=Gr(l,T,M,I);if(R)return R;const z=l||[],H=i(()=>Qr(c,z,y,g),[c,z,y,g]),F=fr(H,m,v),Y=i(()=>{if(!m)return[];const e=new Set;for(const t of H){const r="function"==typeof m?m(t):t[m];null!=r&&e.add(r+"")}return Array.from(e)},[H,m]),X=vr(N,m,Y),q=H.length>0,G=i(()=>{if(q)return(e,t)=>{var r,n;const o={stroke:"black",strokeWidth:1};if(m)o.fill=Rt(e.data||e,m,F);else{const i=Array.isArray(v)?v:$t[v]||_t,a=Array.isArray(i)?i:_t,s=null!==(n=null!==(r=e.index)&&void 0!==r?r:t)&&void 0!==n?n:0;o.fill=a[s%a.length]}return o}},[q,m,F,v]),V=i(()=>{if(q)return Jr({edgeColorBy:b,colorBy:m,colorScale:F,nodeStyleFn:G||(e=>({fill:pr})),edgeOpacity:S,baseStyle:{stroke:"black",strokeWidth:.5,strokeOpacity:S}})},[q,b,m,F,G,S]),K=i(()=>{if(!_)return;const e=w||f;return"function"==typeof e?e:t=>{var r,n,o;return null!==(o=null!==(n=null===(r=t.data)||void 0===r?void 0:r[e])&&void 0!==n?n:t[e])&&void 0!==o?o:t.id}},[_,w,f]),Z=Object.assign(Object.assign({},s.marginDefaults),d),{customHoverBehavior:Q}=mr({selection:j,linkedHover:P,fallbackFields:m?["string"==typeof m?m:""]:[],unwrapData:!0,onObservation:D,chartType:"ChordDiagram",chartId:O}),U=Or({componentName:"ChordDiagram",edges:l,edgesRequired:!0});return U?e.createElement(kr,{componentName:"ChordDiagram",message:U,width:T,height:M}):e.createElement(Yr,{componentName:"ChordDiagram",width:T,height:M},e.createElement(er,Object.assign({ref:a,chartType:"chord"},H.length>0&&{nodes:H},null!=l&&{edges:z},{size:[T,M],responsiveWidth:r.responsiveWidth,responsiveHeight:r.responsiveHeight,margin:Z,nodeIDAccessor:f,sourceAccessor:y,targetAccessor:g,valueAccessor:p,padAngle:x,groupWidth:k,sortGroups:A,nodeStyle:G,edgeStyle:V,colorBy:m,colorScheme:v,edgeColorBy:b,edgeOpacity:S,nodeLabel:K,showLabels:_,enableHover:$,tooltipContent:!1===E?()=>null:ir(E)||void 0,customHoverBehavior:P||D?Q:void 0},N&&"none"!==N&&{legendHoverBehavior:X.onLegendHover,legendClickBehavior:X.onLegendClick,legendHighlightedCategory:X.highlightedCategory,legendIsolatedCategories:X.isolatedCategories},{className:h,title:W},L)))});function rn(t){var r;const n=xr(t.mode,{width:t.width,height:t.height,enableHover:t.enableHover,showLabels:t.showLabels,title:t.title},{width:600,height:600}),{data:o,margin:a,className:s,layout:c="tree",orientation:l="vertical",childrenAccessor:u="children",valueAccessor:d="value",nodeIdAccessor:h="name",colorBy:y,colorScheme:g="category10",colorByDepth:p=!1,edgeStyle:f="curve",nodeLabel:m,nodeSize:v=5,tooltip:b,frameProps:x={},onObservation:k,chartId:A,selection:w,linkedHover:S,loading:E,legendInteraction:L}=t,D=n.width,O=n.height,j=n.enableHover,P=null===(r=n.showLabels)||void 0===r||r,C=n.title,I=Vr(E,D,O);if(I)return I;const N=i(()=>Zr(null!=o?o:null,u),[o,u]),T=fr(N,p?void 0:y,g),M=i(()=>{if(!y||p)return[];const e=new Set;for(const t of N){const r="function"==typeof y?y(t):t[y];null!=r&&e.add(r+"")}return Array.from(e)},[N,y,p]),$=vr(L,p?void 0:y,M),_=i(()=>e=>{const t={stroke:"black",strokeWidth:1};return t.fill=p?Wt[(e.depth||0)%Wt.length]:y?Rt(e.data||e,y,T):pr,t},[y,p,T]),W=i(()=>()=>({stroke:"#999",strokeWidth:1,fill:"none"}),[]),B=i(()=>{if("treemap"===c||"circlepack"===c||"partition"===c)return Ur(d)},[c,d]),R=Object.assign(Object.assign({},n.marginDefaults),a),{customHoverBehavior:z}=mr({selection:w,linkedHover:S,fallbackFields:y?["string"==typeof y?y:""]:[],unwrapData:!0,onObservation:k,chartType:"TreeDiagram",chartId:A}),H=Dr({componentName:"TreeDiagram",data:o});return H?e.createElement(kr,{componentName:"TreeDiagram",message:H,width:D,height:O}):e.createElement(Yr,{componentName:"TreeDiagram",width:D,height:O},e.createElement(er,Object.assign({chartType:c},null!=o&&{data:o},{size:[D,O],responsiveWidth:t.responsiveWidth,responsiveHeight:t.responsiveHeight,margin:R,nodeIDAccessor:h,childrenAccessor:u,hierarchySum:B,treeOrientation:l,edgeType:f,nodeStyle:_,edgeStyle:W,colorBy:y,colorScheme:g,colorByDepth:p,nodeSize:v,nodeLabel:P?m||h:void 0,showLabels:P,enableHover:j,tooltipContent:!1===b?()=>null:ir(b)||void 0,customHoverBehavior:S||k?z:void 0},L&&"none"!==L&&{legendHoverBehavior:$.onLegendHover,legendClickBehavior:$.onLegendClick,legendHighlightedCategory:$.highlightedCategory,legendIsolatedCategories:$.isolatedCategories},{className:s,title:C},x)))}function nn(t){var r;const n=xr(t.mode,{width:t.width,height:t.height,enableHover:t.enableHover,showLabels:t.showLabels,title:t.title,linkedHover:t.linkedHover},{width:600,height:600}),{data:o,margin:a,className:c,childrenAccessor:l="children",valueAccessor:u="value",nodeIdAccessor:d="name",colorBy:h,colorScheme:y="category10",colorByDepth:g=!1,labelMode:p="leaf",nodeLabel:f,padding:m=4,paddingTop:v,tooltip:b,frameProps:x={},selection:k,linkedHover:A,onObservation:w,chartId:S,loading:E,legendInteraction:L}=t,D=n.width,O=n.height,j=n.enableHover,P=null===(r=n.showLabels)||void 0===r||r,C=n.title,I=Vr(E,D,O);if(I)return I;const{activeSelectionHook:N,customHoverBehavior:T}=mr({selection:k,linkedHover:A,fallbackFields:h?["string"==typeof h?h:""]:[],onObservation:w,chartType:"Treemap",chartId:S}),M=s(e=>{if(!e)return T(null);const t=e.data||e;T({data:(null==t?void 0:t.data)||t})},[T]),$=i(()=>Zr(null!=o?o:null,l),[o,l]),_=fr($,g?void 0:h,y),W=i(()=>{if(!h||g)return[];const e=new Set;for(const t of $){const r="function"==typeof h?h(t):t[h];null!=r&&e.add(r+"")}return Array.from(e)},[$,h,g]),B=vr(L,g?void 0:h,W),R=i(()=>e=>{const t={stroke:"#fff",strokeWidth:1,strokeOpacity:.8};return t.fill=g?Wt[(e.depth||0)%Wt.length]:h?Rt(e.data||e,h,_):pr,t},[h,g,_]),z=i(()=>N?e=>{var t;const r=Object.assign({},R(e));if(N.isActive)if(N.predicate(e.data||e))(null==k?void 0:k.selectedStyle)&&Object.assign(r,k.selectedStyle);else{const e=null!==(t=null==k?void 0:k.unselectedOpacity)&&void 0!==t?t:.2;r.opacity=e,r.fillOpacity=e,r.strokeOpacity=e,(null==k?void 0:k.unselectedStyle)&&Object.assign(r,k.unselectedStyle)}return r}:R,[R,N,k]),H=i(()=>Ur(u),[u]),F=void 0!==v?v:P&&"parent"===p?18:void 0,Y=Object.assign(Object.assign({},n.marginDefaults),a),X=Dr({componentName:"Treemap",data:o});return X?e.createElement(kr,{componentName:"Treemap",message:X,width:D,height:O}):e.createElement(Yr,{componentName:"Treemap",width:D,height:O},e.createElement(er,Object.assign({chartType:"treemap"},null!=o&&{data:o},{size:[D,O],responsiveWidth:t.responsiveWidth,responsiveHeight:t.responsiveHeight,margin:Y,nodeIDAccessor:d,childrenAccessor:l,hierarchySum:H,padding:m,paddingTop:F,nodeStyle:z,colorBy:h,colorScheme:y,colorByDepth:g,nodeLabel:P?f||d:void 0,showLabels:P,labelMode:p,enableHover:j,tooltipContent:!1===b?()=>null:ir(b)||void 0},(A||w)&&{customHoverBehavior:M},L&&"none"!==L&&{legendHoverBehavior:B.onLegendHover,legendClickBehavior:B.onLegendClick,legendHighlightedCategory:B.highlightedCategory,legendIsolatedCategories:B.isolatedCategories},{className:c,title:C},x)))}function on(t){var r;const n=xr(t.mode,{width:t.width,height:t.height,enableHover:t.enableHover,showLabels:t.showLabels,title:t.title},{width:600,height:600}),{data:o,margin:a,className:s,childrenAccessor:c="children",valueAccessor:l="value",nodeIdAccessor:u="name",colorBy:d,colorScheme:h="category10",colorByDepth:y=!1,nodeLabel:g,circleOpacity:p=.7,padding:f=4,tooltip:m,frameProps:v={},onObservation:b,chartId:x,selection:k,linkedHover:A,loading:w,legendInteraction:S}=t,E=n.width,L=n.height,D=n.enableHover,O=null===(r=n.showLabels)||void 0===r||r,j=n.title,P=Vr(w,E,L);if(P)return P;const C=i(()=>Zr(null!=o?o:null,c),[o,c]),I=fr(C,y?void 0:d,h),N=i(()=>{if(!d||y)return[];const e=new Set;for(const t of C){const r="function"==typeof d?d(t):t[d];null!=r&&e.add(r+"")}return Array.from(e)},[C,d,y]),T=vr(S,y?void 0:d,N),M=i(()=>e=>{const t={stroke:"currentColor",strokeWidth:1,strokeOpacity:.3,fillOpacity:p};return t.fill=y?Wt[(e.depth||0)%Wt.length]:d?Rt(e.data||e,d,I):pr,t},[d,y,I,p]),$=i(()=>Ur(l),[l]),_=Object.assign(Object.assign({},n.marginDefaults),a),{customHoverBehavior:W}=mr({selection:k,linkedHover:A,fallbackFields:d?["string"==typeof d?d:""]:[],unwrapData:!0,onObservation:b,chartType:"CirclePack",chartId:x}),B=Dr({componentName:"CirclePack",data:o});return B?e.createElement(kr,{componentName:"CirclePack",message:B,width:E,height:L}):e.createElement(Yr,{componentName:"CirclePack",width:E,height:L},e.createElement(er,Object.assign({chartType:"circlepack"},null!=o&&{data:o},{size:[E,L],responsiveWidth:t.responsiveWidth,responsiveHeight:t.responsiveHeight,margin:_,nodeIDAccessor:u,childrenAccessor:c,hierarchySum:$,padding:f,nodeStyle:M,colorBy:d,colorScheme:h,colorByDepth:y,nodeLabel:O?g||u:void 0,showLabels:O,enableHover:D,tooltipContent:!1===m?()=>null:ir(m)||void 0,customHoverBehavior:A||b?W:void 0},S&&"none"!==S&&{legendHoverBehavior:T.onLegendHover,legendClickBehavior:T.onLegendClick,legendHighlightedCategory:T.highlightedCategory,legendIsolatedCategories:T.isolatedCategories},{className:s,title:j},v)))}tn.displayName="ChordDiagram",rn.displayName="TreeDiagram",nn.displayName="Treemap",on.displayName="CirclePack";const an=Wt;function sn(t){const r=xr(t.mode,{width:t.width,height:t.height,enableHover:t.enableHover,showLabels:t.showLabels,title:t.title},{width:600,height:600}),{data:n,margin:o,className:a,childrenAccessor:s="children",nodeIdAccessor:c="name",colorBy:l,colorScheme:u="category10",colorByDepth:d=!1,orbitMode:h="flat",orbitSize:y=2.95,speed:g=.25,revolution:p,revolutionStyle:f,eccentricity:m=1,showRings:v=!0,nodeRadius:b=6,showLabels:x=!1,animated:k=!0,tooltip:A,foregroundGraphics:w,annotations:S,frameProps:E={},onObservation:L,chartId:D,selection:O,linkedHover:j,loading:P}=t,C=r.width,I=r.height,N=r.enableHover,T=r.title,M=Vr(P,C,I);if(M)return M;const $=fr(i(()=>Zr(n,s),[n,s]),d?void 0:l,u),_=i(()=>{if(Array.isArray(u))return u;const e=$t[u];return Array.isArray(e)?e:_t},[u]),W=i(()=>e=>{var t;const r={stroke:"#fff",strokeWidth:1},n=0===(null!==(t=e.depth)&&void 0!==t?t:0);return r.fill=d?n?_[0]:an[(e.depth||0)%an.length]:l?Rt(e.data||e,l,$):pr,r.opacity=n?1:.85,r},[l,d,$,_]),B=i(()=>()=>({stroke:"rgba(128,128,128,0.35)",strokeWidth:.5,opacity:1}),[]),R=Object.assign({top:10,right:10,bottom:10,left:10},o),{customHoverBehavior:z}=mr({selection:O,linkedHover:j,fallbackFields:l?["string"==typeof l?l:""]:[],unwrapData:!0,onObservation:L,chartType:"OrbitDiagram",chartId:D}),H=i(()=>{if(z)return e=>{z(e&&e.data&&void 0!==e.data.data?Object.assign(Object.assign({},e),{data:e.data.data}):e)}},[z]),F=Dr({componentName:"OrbitDiagram",data:n});return F?e.createElement(kr,{componentName:"OrbitDiagram",message:F,width:C,height:I}):e.createElement(Yr,{componentName:"OrbitDiagram",width:C,height:I},e.createElement(er,Object.assign({chartType:"orbit"},null!=n&&{data:n},{size:[C,I],responsiveWidth:t.responsiveWidth,responsiveHeight:t.responsiveHeight,margin:R,nodeIDAccessor:c,childrenAccessor:s,nodeStyle:W,edgeStyle:B,colorBy:l,colorScheme:u,colorByDepth:d,nodeSize:b,nodeLabel:x?c:void 0,showLabels:x,enableHover:!k&&N,tooltipContent:k?void 0:!1===A?()=>null:ir(A)||void 0,customHoverBehavior:j||L?H:void 0,foregroundGraphics:w,annotations:S,className:a,title:T,orbitMode:h,orbitSize:y,orbitSpeed:g,orbitRevolution:p,orbitRevolutionStyle:f,orbitEccentricity:m,orbitShowRings:v,orbitAnimated:k},E)))}sn.displayName="OrbitDiagram";export{tn as ChordDiagram,on as CirclePack,Kr as ForceDirectedGraph,sn as OrbitDiagram,en as SankeyDiagram,er as StreamNetworkFrame,rn as TreeDiagram,nn as Treemap};