/** * Highcharts JS v11.2.0 (2023-10-30) * * Arc diagram module * * (c) 2021 Piotr Madej * * License: www.highcharts.com/license */!function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/modules/arc-diagram",["highcharts","highcharts/modules/sankey"],function(e){return t(e),t.Highcharts=e,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var e=t?t._modules:{};function i(t,e,i,o){t.hasOwnProperty(e)||(t[e]=o.apply(null,i),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}i(e,"Series/ArcDiagram/ArcDiagramPoint.js",[e["Series/NodesComposition.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{seriesTypes:{sankey:{prototype:{pointClass:o}}}}=e,{extend:s}=i;class n extends o{constructor(){super(...arguments),this.fromNode=void 0,this.index=void 0,this.linksFrom=void 0,this.linksTo=void 0,this.options=void 0,this.series=void 0,this.scale=void 0,this.shapeArgs=void 0,this.toNode=void 0}isValid(){return!0}}return s(n.prototype,{setState:t.setNodeState}),n}),i(e,"Series/ArcDiagram/ArcDiagramSeries.js",[e["Series/ArcDiagram/ArcDiagramPoint.js"],e["Series/Sankey/SankeyColumnComposition.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Utilities.js"]],function(t,e,i,o,s,n){let{prototype:{symbols:a}}=s,{seriesTypes:{column:r,sankey:l}}=o,{extend:h,merge:d,pick:p,relativeLength:m}=n;class u extends l{constructor(){super(...arguments),this.data=void 0,this.options=void 0,this.nodeColumns=void 0,this.nodes=void 0,this.points=void 0}createNodeColumns(){let t=this,i=t.chart,o=e.compose([],t);return o.sankeyColumn.maxLength=i.inverted?i.plotHeight:i.plotWidth,o.sankeyColumn.getTranslationFactor=t=>{let e=o.slice(),s=this.options.minLinkWidth||0,n,a=0,r,l,h=0,d=1,p=0,m=(i.plotSizeX||0)-(t.options.marker&&t.options.marker.lineWidth||0)-(o.length-1)*t.nodePadding;for(;o.length;){for(a=m/o.sankeyColumn.sum(),n=!1,r=o.length;r--;){l=o[r].getSum()*a*d;let t=Math.min(i.plotHeight,i.plotWidth);l>t?d=Math.min(t/l,d):l{t.scale=d,o.push(t)}),o.sankeyColumn.maxRadius=h,o.sankeyColumn.scale=d,o.sankeyColumn.additionalSpace=p,a},o.sankeyColumn.offset=function(e,s){let n=e.series.options.equalNodes,a=o.sankeyColumn.additionalSpace||0,r,l=t.nodePadding,h=Math.min(i.plotWidth,i.plotHeight,(o.sankeyColumn.maxLength||0)/t.nodes.length-l);for(let i=0;i{let o=(e.offset(t,i)||0)*s,n=Math.min(e.nodeX+o,e.nodeX+(e.shapeArgs&&e.shapeArgs.height||0)-r);return n},m=l?e.nodeX+((e.shapeArgs.height||0)-r)/2:d(e,"linksFrom"),u=l?i.nodeX+((i.shapeArgs.height||0)-r)/2:d(i,"linksTo"),c=h,g=r;m>u&&([m,u]=[u,m]),a.reversed&&([m,u]=[u,m],c=(o.plotSizeY||0)-c,g=-g),t.shapeType="path",t.linkBase=[m,m+r,u,u+r];let f=(u+r-m)/Math.abs(u+r-m)*p(a.linkRadius,Math.min(Math.abs(u+r-m)/2,e.nodeY-Math.abs(r)));t.shapeArgs={d:[["M",m,c],["A",(u+r-m)/2,f,0,0,1,u+r,c],["L",u,c],["A",(u-m-r)/2,f-r,0,0,0,m+r,c],["Z"]]},t.dlBox={x:m+(u-m)/2,y:c-f,height:r,width:0},t.tooltipPos=o.inverted?[(o.plotSizeY||0)-t.dlBox.y-r/2,(o.plotSizeX||0)-t.dlBox.x]:[t.dlBox.x,t.dlBox.y+r/2],t.y=t.plotY=1,t.x=t.plotX=1,t.color||(t.color=e.color)}translateNode(t,e){let i=this.translationFactor,o=this.chart,s=o.inverted?o.plotWidth:o.plotHeight,n=this.options,r=Math.min(o.plotWidth,o.plotHeight,s/t.series.nodes.length-this.nodePadding),h=t.getSum()*(e.sankeyColumn.scale||0),m=n.equalNodes,u=m?r:Math.max(h*i,this.options.minLinkWidth||0),c=Math.round(n.marker&&n.marker.lineWidth||0)%2/2,g=e.sankeyColumn.offset(t,i),f=Math.floor(p(g&&g.absoluteLeft,(e.sankeyColumn.left(i)||0)+(g&&g.relativeLeft||0)))+c,y=d(n.marker,t.options.marker),k=y.symbol,v=y.radius,S=parseInt(n.offset,10)*((o.inverted?o.plotWidth:o.plotHeight)-(Math.floor(this.colDistance*(t.column||0)+(y.lineWidth||0)/2)+c+(e.sankeyColumn.scale||0)*(e.sankeyColumn.maxRadius||0)/2))/100;if(t.sum=h,h){t.nodeX=f,t.nodeY=S;let e=t.options.width||n.width||u,i=t.options.height||n.height||u,s=S;n.reversed&&(s=(o.plotSizeY||0)-S,o.inverted&&(s=(o.plotSizeY||0)-S)),this.mapOptionsToLevel&&(t.dlOptions=l.getDLOptions({level:this.mapOptionsToLevel[t.level],optionsPoint:t.options})),t.plotX=1,t.plotY=1,t.tooltipPos=o.inverted?[(o.plotSizeY||0)-s-i/2,(o.plotSizeX||0)-f-e/2]:[f+e/2,s+i/2],t.shapeType="path",t.shapeArgs={d:a[k||"circle"](f,s-(v||i)/2,v||e,v||i),width:v||e,height:v||i},t.dlBox={x:f+e/2,y:s,height:0,width:0}}else t.dlOptions={enabled:!1}}drawDataLabels(){if(this.options.dataLabels){let t=this.options.dataLabels.textPath;r.prototype.drawDataLabels.call(this,this.nodes),this.options.dataLabels.textPath=this.options.dataLabels.linkTextPath,r.prototype.drawDataLabels.call(this,this.data),this.options.dataLabels.textPath=t}}pointAttribs(t,e){if(t&&t.isNode){let{opacity:t,...e}=i.prototype.pointAttribs.apply(this,arguments);return e}return super.pointAttribs.apply(this,arguments)}markerAttribs(t){return t.isNode?super.markerAttribs.apply(this,arguments):{}}}return u.defaultOptions=d(l.defaultOptions,{centeredLinks:!1,offset:"100%",equalNodes:!1,reversed:!1,dataLabels:{linkTextPath:{attributes:{startOffset:"25%"}}},marker:{symbol:"circle",fillOpacity:1,lineWidth:0,states:{}}}),h(u.prototype,{orderNodes:!1}),u.prototype.pointClass=t,o.registerSeriesType("arcdiagram",u),u}),i(e,"masters/modules/arc-diagram.src.js",[],function(){})});//# sourceMappingURL=arc-diagram.js.map