/* Highcharts JS v9.3.1 (2021-11-05) Sankey diagram module (c) 2010-2021 Torstein Honsi License: www.highcharts.com/license */ 'use strict';(function(c){"object"===typeof module&&module.exports?(c["default"]=c,module.exports=c):"function"===typeof define&&define.amd?define("highcharts/modules/sankey",["highcharts"],function(n){c(n);c.Highcharts=n;return c}):c("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(c){function n(c,e,k,l){c.hasOwnProperty(e)||(c[e]=l.apply(null,k))}c=c?c._modules:{};n(c,"Series/NodesComposition.js",[c["Core/Series/Point.js"],c["Core/Series/Series.js"],c["Core/Utilities.js"]],function(c, e,k){var l=k.defined,u=k.extend,w=k.find,d=k.pick,a;(function(a){function b(){this.data=[].concat(this.points||[],this.nodes);return e.prototype.destroy.apply(this,arguments)}function q(){this.nodes&&(this.nodes.forEach(function(b){b.destroy()}),this.nodes.length=0);e.prototype.setData.apply(this,arguments)}function m(b){var a=arguments,f=this.isNode?this.linksTo.concat(this.linksFrom):[this.fromNode,this.toNode];"select"!==b&&f.forEach(function(b){b&&b.series&&(c.prototype.setState.apply(b,a),b.isNode|| (b.fromNode.graphic&&c.prototype.setState.apply(b.fromNode,a),b.toNode&&b.toNode.graphic&&c.prototype.setState.apply(b.toNode,a)))});c.prototype.setState.apply(this,a)}var x=[];a.compose=function(a,c){-1===x.indexOf(a)&&(x.push(a),a=a.prototype,a.setNodeState=m,a.setState=m);-1===x.indexOf(c)&&(x.push(c),a=c.prototype,a.destroy=b,a.setData=q);return c};a.createNode=function(b){var a=this.pointClass,f=function(b,a){return w(b,function(b){return b.id===a})},g=f(this.nodes,b);g||(f=this.options.nodes&& f(this.options.nodes,b),g=(new a).init(this,u({className:"highcharts-node",isNode:!0,id:b,y:1},f)),g.linksTo=[],g.linksFrom=[],g.formatPrefix="node",g.name=g.name||g.options.id||"",g.mass=d(g.options.mass,g.options.marker&&g.options.marker.radius,this.options.marker&&this.options.marker.radius,4),g.getSum=function(){var b=0,a=0;g.linksTo.forEach(function(a){b+=a.weight});g.linksFrom.forEach(function(b){a+=b.weight});return Math.max(b,a)},g.offset=function(b,a){for(var f=0,h=0;hc&&f.fromNode!==a){var d=f.fromNode;c=d.column}}a.column=c+1;if(d&&"hanging"===d.options.layout){a.hangsFrom=d;var v=-1;x(d.linksFrom,function(b,c){(b=b.toNode=== a)&&(v=c);return b});a.column+=v}}b[a.column]||(b[a.column]=this.createNodeColumn());b[a.column].push(a)},this);for(var a=0;athis.chart.plotSizeY&&(b=this.chart.plotSizeY/a)}return b};e.prototype.hasData=function(){return!!this.processedXData.length};e.prototype.pointAttribs=function(b,a){if(!b)return{};var h=this,d=h.mapOptionsToLevel[(b.isNode?b.level:b.fromNode.level)||0]||{},e=b.options, g=d.states&&d.states[a||""]||{};a=["colorByPoint","borderColor","borderWidth","linkOpacity"].reduce(function(b,a){b[a]=f(g[a],e[a],d[a],h.options[a]);return b},{});var r=f(g.color,e.color,a.colorByPoint?b.color:d.color);return b.isNode?{fill:r,stroke:a.borderColor,"stroke-width":a.borderWidth}:{fill:c.parse(r).setOpacity(a.linkOpacity).get()}};e.prototype.render=function(){var a=this.points;this.points=this.points.concat(this.nodes||[]);b.prototype.render.call(this);this.points=a};e.prototype.translate= function(){var b=this,a=function(a){for(var h=a.slice(),e=b.options.minLinkWidth||0,g,r=0,v,B=f.plotSizeY-d.borderWidth-(a.length-1)*c.nodePadding;a.length;){r=B/a.sum();g=!1;for(v=a.length;v--;)a[v].getSum()*rk+l;f.inverted&&(p=f.plotSizeY-p,b=(f.plotSizeY||0)-b,l=-l,e=-e,m=k>d);a.shapeType="path";a.linkBase=[p,p+e,b,b+e];if(m&&"number"===typeof b)a.shapeArgs={d:[["M",k+l,p],["C",k+l+g,p,d-g,b,d,b],["L",d+(n?l:0),b+e/2],["L",d,b+e],["C",d-g,b+e,k+l+g,p+e,k+l,p+e],["Z"]]};else if("number"===typeof b){g=d-20-e;n=d-20;m=k+l;var q=m+20, t=q+e,w=p,u=p+e,y=u+20,x=y+(f.plotHeight-p-e),z=x+20,F=z+e,A=b,E=A+e,C=E+20,D=z+.7*e,H=d-.7*e,I=m+.7*e;a.shapeArgs={d:[["M",m,w],["C",I,w,t,u-.7*e,t,y],["L",t,x],["C",t,D,I,F,m,F],["L",d,F],["C",H,F,g,D,g,x],["L",g,C],["C",g,E-.7*e,H,A,d,A],["L",d,E],["C",n,E,n,E,n,C],["L",n,x],["C",n,z,n,z,d,z],["L",m,z],["C",q,z,q,z,q,x],["L",q,y],["C",q,u,q,u,m,u],["Z"]]}}a.dlBox={x:k+(d-k+l)/2,y:p+(b-p)/2,height:e,width:0};a.tooltipPos=f.inverted?[f.plotSizeY-a.dlBox.y-e/2,f.plotSizeX-a.dlBox.x]:[a.dlBox.x,a.dlBox.y+ e/2];a.y=a.plotY=1;a.color||(a.color=c.color)};e.prototype.translateNode=function(a,b){var c=this.translationFactor,d=this.chart,h=this.options,k=a.getSum(),l=Math.max(Math.round(k*c),this.options.minLinkWidth),n=Math.round(this.nodeWidth),p=Math.round(h.borderWidth)%2/2,m=b.offset(a,c);b=Math.floor(f(m.absoluteTop,b.top(c)+m.relativeTop))+p;p=Math.floor(this.colDistance*a.column+h.borderWidth/2)+g(a.options.offsetHorizontal||0,n)+p;p=d.inverted?d.plotSizeX-p:p;if(a.sum=k){a.shapeType="rect";a.nodeX= p;a.nodeY=b;k=p;c=b;m=a.options.width||h.width||n;var q=a.options.height||h.height||l;d.inverted&&(k=p-n,c=d.plotSizeY-b-l,m=a.options.height||h.height||n,q=a.options.width||h.width||l);a.dlOptions=e.getDLOptions({level:this.mapOptionsToLevel[a.level],optionsPoint:a.options});a.plotX=1;a.plotY=1;a.tooltipPos=d.inverted?[d.plotSizeY-c-q/2,d.plotSizeX-k-m/2]:[k+m/2,c+q/2];a.shapeArgs={x:k,y:c,width:m,height:q,display:a.hasShape()?"":"none"}}else a.dlOptions={enabled:!1}};e.defaultOptions=D(b.defaultOptions, {borderWidth:0,colorByPoint:!0,curveFactor:.33,dataLabels:{enabled:!0,backgroundColor:"none",crop:!1,nodeFormat:void 0,nodeFormatter:function(){return this.point.name},format:void 0,formatter:function(){},inside:!0},inactiveOtherPoints:!0,linkOpacity:.5,minLinkWidth:0,nodeWidth:20,nodePadding:10,showInLegend:!1,states:{hover:{linkOpacity:1},inactive:{linkOpacity:.1,opacity:.1,animation:{duration:50}}},tooltip:{followPointer:!0,headerFormat:'{series.name}
', pointFormat:"{point.fromNode.name} \u2192 {point.toNode.name}: {point.weight}
",nodeFormat:"{point.name}: {point.sum}
"}});return e}(b);k.compose(l,d);w(d.prototype,{animate:m.prototype.animate,createNode:k.createNode,forceDL:!0,invertible:!0,isCartesian:!1,orderNodes:!0,noSharedTooltip:!0,pointArrayMap:["from","to"],pointClass:l,searchPoint:e.noop});n.registerSeriesType("sankey",d);"";"";return d});n(c,"masters/modules/sankey.src.js",[],function(){})}); //# sourceMappingURL=sankey.js.map