sunburst.js 20 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /*
  2. Highcharts JS v7.0.2 (2019-01-17)
  3. (c) 2016-2019 Highsoft AS
  4. Authors: Jon Arild Nygard
  5. License: www.highcharts.com/license
  6. */
  7. (function(r){"object"===typeof module&&module.exports?(r["default"]=r,module.exports=r):"function"===typeof define&&define.amd?define(function(){return r}):r("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(r){var N=function(){return function(c){var z=this,h=z.graphic,k=c.animatableAttribs,m=c.onComplete,r=c.css,C=c.renderer;z.shouldDraw()?(h||(z.graphic=h=C[c.shapeType](c.shapeArgs).add(c.group)),h.css(r).attr(c.attribs).animate(k,c.isNew?!1:void 0,m)):h&&h.animate(k,void 0,function(){z.graphic=
  8. h=h.destroy();"function"===typeof m&&m()});h&&h.addClass(z.getClassName(),!0)}}(),M=function(c){var z=c.extend,h=c.isArray,k=c.isObject,m=c.isNumber,r=c.merge,C=c.pick;return{getColor:function(l,w){var y=w.index,f=w.mapOptionsToLevel,k=w.parentColor,h=w.parentColorIndex,x=w.series,B=w.colors,z=w.siblings,p=x.points,m=x.chart.options.chart,D,r,a,b;if(l){p=p[l.i];l=f[l.level]||{};if(f=p&&l.colorByPoint)r=p.index%(B?B.length:m.colorCount),D=B&&B[r];if(!x.chart.styledMode){B=p&&p.options.color;m=l&&l.color;
  9. if(a=k)a=(a=l&&l.colorVariation)&&"brightness"===a.key?c.color(k).brighten(y/z*a.to).get():k;a=C(B,m,D,a,x.color)}b=C(p&&p.options.colorIndex,l&&l.colorIndex,r,h,w.colorIndex)}return{color:a,colorIndex:b}},getLevelOptions:function(c){var w=null,y,f,F,l;if(k(c))for(w={},F=m(c.from)?c.from:1,l=c.levels,f={},y=k(c.defaults)?c.defaults:{},h(l)&&(f=l.reduce(function(c,f){var w,p;k(f)&&m(f.level)&&(p=r({},f),w="boolean"===typeof p.levelIsConstant?p.levelIsConstant:y.levelIsConstant,delete p.levelIsConstant,
  10. delete p.level,f=f.level+(w?0:F-1),k(c[f])?z(c[f],p):c[f]=p);return c},{})),l=m(c.to)?c.to:1,c=0;c<=l;c++)w[c]=r({},y,k(f[c])?f[c]:{});return w},setTreeValues:function w(c,f){var k=f.before,m=f.idRoot,x=f.mapIdToNode[m],h=f.points[c.i],r=h&&h.options||{},p=0,y=[];z(c,{levelDynamic:c.level-(("boolean"===typeof f.levelIsConstant?f.levelIsConstant:1)?0:x.level),name:C(h&&h.name,""),visible:m===c.id||("boolean"===typeof f.visible?f.visible:!1)});"function"===typeof k&&(c=k(c,f));c.children.forEach(function(k,
  11. h){var a=z({},f);z(a,{index:h,siblings:c.children.length,visible:c.visible});k=w(k,a);y.push(k);k.visible&&(p+=k.val)});c.visible=0<p||c.visible;k=C(r.value,p);z(c,{children:y,childrenTotal:p,isLeaf:c.visible&&!p,val:k});return c},updateRootId:function(c){var h;k(c)&&(h=k(c.options)?c.options:{},h=C(c.rootNode,h.rootId,""),k(c.userOptions)&&(c.userOptions.rootId=h),c.rootNode=h);return h}}}(r);(function(c,r){var h=c.seriesType,k=c.seriesTypes,m=c.merge,z=c.extend,C=c.noop,l=r.getColor,w=r.getLevelOptions,
  12. y=c.isArray,f=c.isNumber,F=c.isObject,E=c.isString,x=c.pick,B=c.Series,K=c.stableSort,p=c.Color,H=function(a,b,d){d=d||this;c.objectEach(a,function(c,e){b.call(d,c,e,a)})},D=function(a,b,d){d=d||this;a=b.call(d,a);!1!==a&&D(a,b,d)},L=r.updateRootId;h("treemap","scatter",{showInLegend:!1,marker:!1,colorByPoint:!1,dataLabels:{enabled:!0,defer:!1,verticalAlign:"middle",formatter:function(){var a=this&&this.point?this.point:{};return E(a.name)?a.name:""},inside:!0},tooltip:{headerFormat:"",pointFormat:"\x3cb\x3e{point.name}\x3c/b\x3e: {point.value}\x3cbr/\x3e"},
  13. ignoreHiddenPoint:!0,layoutAlgorithm:"sliceAndDice",layoutStartingDirection:"vertical",alternateStartingDirection:!1,levelIsConstant:!0,drillUpButton:{position:{align:"right",x:-10,y:10}},borderColor:"#e6e6e6",borderWidth:1,opacity:.15,states:{hover:{borderColor:"#999999",brightness:k.heatmap?0:.1,halo:!1,opacity:.75,shadow:!1}}},{pointArrayMap:["value"],directTouch:!0,optionalAxis:"colorAxis",getSymbol:C,parallelArrays:["x","y","value","colorValue"],colorKey:"colorValue",trackerGroups:["group","dataLabelsGroup"],
  14. getListOfParents:function(a,b){a=y(a)?a:[];var d=y(b)?b:[];b=a.reduce(function(a,b,d){b=x(b.parent,"");void 0===a[b]&&(a[b]=[]);a[b].push(d);return a},{"":[]});H(b,function(a,b,c){""!==b&&-1===d.indexOf(b)&&(a.forEach(function(a){c[""].push(a)}),delete c[b])});return b},getTree:function(){var a=this.data.map(function(a){return a.id}),a=this.getListOfParents(this.data,a);this.nodeMap=[];return this.buildNode("",-1,0,a,null)},init:function(a,b){var d=c.colorSeriesMixin;c.colorSeriesMixin&&(this.translateColors=
  15. d.translateColors,this.colorAttribs=d.colorAttribs,this.axisTypes=d.axisTypes);B.prototype.init.call(this,a,b);this.options.allowDrillToNode&&c.addEvent(this,"click",this.onClickDrillToNode)},buildNode:function(a,b,d,c,e){var g=this,u=[],q=g.points[b],v=0,I;(c[a]||[]).forEach(function(b){I=g.buildNode(g.points[b].id,b,d+1,c,a);v=Math.max(I.height+1,v);u.push(I)});b={id:a,i:b,children:u,height:v,level:d,parent:e,visible:!1};g.nodeMap[b.id]=b;q&&(q.node=b);return b},setTreeValues:function(a){var b=
  16. this,d=b.options,c=b.nodeMap[b.rootNode],d="boolean"===typeof d.levelIsConstant?d.levelIsConstant:!0,e=0,g=[],n,q=b.points[a.i];a.children.forEach(function(a){a=b.setTreeValues(a);g.push(a);a.ignore||(e+=a.val)});K(g,function(a,b){return a.sortIndex-b.sortIndex});n=x(q&&q.options.value,e);q&&(q.value=n);z(a,{children:g,childrenTotal:e,ignore:!(x(q&&q.visible,!0)&&0<n),isLeaf:a.visible&&!e,levelDynamic:a.level-(d?0:c.level),name:x(q&&q.name,""),sortIndex:x(q&&q.sortIndex,-n),val:n});return a},calculateChildrenAreas:function(a,
  17. b){var d=this,c=d.options,e=d.mapOptionsToLevel[a.level+1],g=x(d[e&&e.layoutAlgorithm]&&e.layoutAlgorithm,c.layoutAlgorithm),n=c.alternateStartingDirection,q=[];a=a.children.filter(function(a){return!a.ignore});e&&e.layoutStartingDirection&&(b.direction="vertical"===e.layoutStartingDirection?0:1);q=d[g](b,a);a.forEach(function(a,c){c=q[c];a.values=m(c,{val:a.childrenTotal,direction:n?1-b.direction:b.direction});a.pointValues=m(c,{x:c.x/d.axisRatio,width:c.width/d.axisRatio});a.children.length&&d.calculateChildrenAreas(a,
  18. a.values)})},setPointValues:function(){var a=this,b=a.xAxis,d=a.yAxis;a.points.forEach(function(c){var e=c.node,g=e.pointValues,n,u,v=0;a.chart.styledMode||(v=(a.pointAttribs(c)["stroke-width"]||0)%2/2);g&&e.visible?(e=Math.round(b.translate(g.x,0,0,0,1))-v,n=Math.round(b.translate(g.x+g.width,0,0,0,1))-v,u=Math.round(d.translate(g.y,0,0,0,1))-v,g=Math.round(d.translate(g.y+g.height,0,0,0,1))-v,c.shapeType="rect",c.shapeArgs={x:Math.min(e,n),y:Math.min(u,g),width:Math.abs(n-e),height:Math.abs(g-u)},
  19. c.plotX=c.shapeArgs.x+c.shapeArgs.width/2,c.plotY=c.shapeArgs.y+c.shapeArgs.height/2):(delete c.plotX,delete c.plotY)})},setColorRecursive:function(a,b,d,c,e){var g=this,n=g&&g.chart,n=n&&n.options&&n.options.colors,u;if(a){u=l(a,{colors:n,index:c,mapOptionsToLevel:g.mapOptionsToLevel,parentColor:b,parentColorIndex:d,series:g,siblings:e});if(b=g.points[a.i])b.color=u.color,b.colorIndex=u.colorIndex;(a.children||[]).forEach(function(b,d){g.setColorRecursive(b,u.color,u.colorIndex,d,a.children.length)})}},
  20. algorithmGroup:function(a,b,d,c){this.height=a;this.width=b;this.plot=c;this.startDirection=this.direction=d;this.lH=this.nH=this.lW=this.nW=this.total=0;this.elArr=[];this.lP={total:0,lH:0,nH:0,lW:0,nW:0,nR:0,lR:0,aspectRatio:function(a,b){return Math.max(a/b,b/a)}};this.addElement=function(a){this.lP.total=this.elArr[this.elArr.length-1];this.total+=a;0===this.direction?(this.lW=this.nW,this.lP.lH=this.lP.total/this.lW,this.lP.lR=this.lP.aspectRatio(this.lW,this.lP.lH),this.nW=this.total/this.height,
  21. this.lP.nH=this.lP.total/this.nW,this.lP.nR=this.lP.aspectRatio(this.nW,this.lP.nH)):(this.lH=this.nH,this.lP.lW=this.lP.total/this.lH,this.lP.lR=this.lP.aspectRatio(this.lP.lW,this.lH),this.nH=this.total/this.width,this.lP.nW=this.lP.total/this.nH,this.lP.nR=this.lP.aspectRatio(this.lP.nW,this.nH));this.elArr.push(a)};this.reset=function(){this.lW=this.nW=0;this.elArr=[];this.total=0}},algorithmCalcPoints:function(a,b,d,c){var e,g,n,u,v=d.lW,f=d.lH,t=d.plot,k,h=0,p=d.elArr.length-1;b?(v=d.nW,f=d.nH):
  22. k=d.elArr[d.elArr.length-1];d.elArr.forEach(function(a){if(b||h<p)0===d.direction?(e=t.x,g=t.y,n=v,u=a/n):(e=t.x,g=t.y,u=f,n=a/u),c.push({x:e,y:g,width:n,height:u}),0===d.direction?t.y+=u:t.x+=n;h+=1});d.reset();0===d.direction?d.width-=v:d.height-=f;t.y=t.parent.y+(t.parent.height-d.height);t.x=t.parent.x+(t.parent.width-d.width);a&&(d.direction=1-d.direction);b||d.addElement(k)},algorithmLowAspectRatio:function(a,b,d){var c=[],e=this,g,n={x:b.x,y:b.y,parent:b},q=0,v=d.length-1,f=new this.algorithmGroup(b.height,
  23. b.width,b.direction,n);d.forEach(function(d){g=d.val/b.val*b.height*b.width;f.addElement(g);f.lP.nR>f.lP.lR&&e.algorithmCalcPoints(a,!1,f,c,n);q===v&&e.algorithmCalcPoints(a,!0,f,c,n);q+=1});return c},algorithmFill:function(a,b,d){var c=[],e,g=b.direction,n=b.x,q=b.y,v=b.width,f=b.height,t,k,h,p;d.forEach(function(d){e=d.val/b.val*b.height*b.width;t=n;k=q;0===g?(p=f,h=e/p,v-=h,n+=h):(h=v,p=e/h,f-=p,q+=p);c.push({x:t,y:k,width:h,height:p});a&&(g=1-g)});return c},strip:function(a,b){return this.algorithmLowAspectRatio(!1,
  24. a,b)},squarified:function(a,b){return this.algorithmLowAspectRatio(!0,a,b)},sliceAndDice:function(a,b){return this.algorithmFill(!0,a,b)},stripes:function(a,b){return this.algorithmFill(!1,a,b)},translate:function(){var a=this,b=a.options,d=L(a),c,e;B.prototype.translate.call(a);e=a.tree=a.getTree();c=a.nodeMap[d];a.mapOptionsToLevel=w({from:c.level+1,levels:b.levels,to:e.height,defaults:{levelIsConstant:a.options.levelIsConstant,colorByPoint:b.colorByPoint}});""===d||c&&c.children.length||(a.drillToNode("",
  25. !1),d=a.rootNode,c=a.nodeMap[d]);D(a.nodeMap[a.rootNode],function(b){var d=!1,c=b.parent;b.visible=!0;if(c||""===c)d=a.nodeMap[c];return d});D(a.nodeMap[a.rootNode].children,function(a){var b=!1;a.forEach(function(a){a.visible=!0;a.children.length&&(b=(b||[]).concat(a.children))});return b});a.setTreeValues(e);a.axisRatio=a.xAxis.len/a.yAxis.len;a.nodeMap[""].pointValues=d={x:0,y:0,width:100,height:100};a.nodeMap[""].values=d=m(d,{width:d.width*a.axisRatio,direction:"vertical"===b.layoutStartingDirection?
  26. 0:1,val:e.val});a.calculateChildrenAreas(e,d);a.colorAxis?a.translateColors():b.colorByPoint||a.setColorRecursive(a.tree);b.allowDrillToNode&&(b=c.pointValues,a.xAxis.setExtremes(b.x,b.x+b.width,!1),a.yAxis.setExtremes(b.y,b.y+b.height,!1),a.xAxis.setScale(),a.yAxis.setScale());a.setPointValues()},drawDataLabels:function(){var a=this,b=a.mapOptionsToLevel,d,c;a.points.filter(function(a){return a.node.visible}).forEach(function(e){c=b[e.node.level];d={style:{}};e.node.isLeaf||(d.enabled=!1);c&&c.dataLabels&&
  27. (d=m(d,c.dataLabels),a._hasPointLabels=!0);e.shapeArgs&&(d.style.width=e.shapeArgs.width,e.dataLabel&&e.dataLabel.css({width:e.shapeArgs.width+"px"}));e.dlOptions=m(d,e.options.dataLabels)});B.prototype.drawDataLabels.call(this)},alignDataLabel:function(a,b,d){var u=d.style;!c.defined(u.textOverflow)&&b.text&&b.getBBox().width>b.text.textWidth&&b.css({textOverflow:"ellipsis",width:u.width+="px"});k.column.prototype.alignDataLabel.apply(this,arguments);a.dataLabel&&a.dataLabel.attr({zIndex:(a.node.zIndex||
  28. 0)+1})},pointAttribs:function(a,b){var d=F(this.mapOptionsToLevel)?this.mapOptionsToLevel:{},c=a&&d[a.node.level]||{},d=this.options,e=b&&d.states[b]||{},g=a&&a.getClassName()||"";a={stroke:a&&a.borderColor||c.borderColor||e.borderColor||d.borderColor,"stroke-width":x(a&&a.borderWidth,c.borderWidth,e.borderWidth,d.borderWidth),dashstyle:a&&a.borderDashStyle||c.borderDashStyle||e.borderDashStyle||d.borderDashStyle,fill:a&&a.color||this.color};-1!==g.indexOf("highcharts-above-level")?(a.fill="none",
  29. a["stroke-width"]=0):-1!==g.indexOf("highcharts-internal-node-interactive")?(b=x(e.opacity,d.opacity),a.fill=p(a.fill).setOpacity(b).get(),a.cursor="pointer"):-1!==g.indexOf("highcharts-internal-node")?a.fill="none":b&&(a.fill=p(a.fill).brighten(e.brightness).get());return a},drawPoints:function(){var a=this,b=a.points.filter(function(a){return a.node.visible});b.forEach(function(b){var d="level-group-"+b.node.levelDynamic;a[d]||(a[d]=a.chart.renderer.g(d).attr({zIndex:1E3-b.node.levelDynamic}).add(a.group));
  30. b.group=a[d]});k.column.prototype.drawPoints.call(this);this.colorAttribs&&a.chart.styledMode&&this.points.forEach(function(a){a.graphic&&a.graphic.css(this.colorAttribs(a))},this);a.options.allowDrillToNode&&b.forEach(function(b){b.graphic&&(b.drillId=a.options.interactByLeaf?a.drillToByLeaf(b):a.drillToByGroup(b))})},onClickDrillToNode:function(a){var b=(a=a.point)&&a.drillId;E(b)&&(a.setState(""),this.drillToNode(b))},drillToByGroup:function(a){var b=!1;1!==a.node.level-this.nodeMap[this.rootNode].level||
  31. a.node.isLeaf||(b=a.id);return b},drillToByLeaf:function(a){var b=!1;if(a.node.parent!==this.rootNode&&a.node.isLeaf)for(a=a.node;!b;)a=this.nodeMap[a.parent],a.parent===this.rootNode&&(b=a.id);return b},drillUp:function(){var a=this.nodeMap[this.rootNode];a&&E(a.parent)&&this.drillToNode(a.parent)},drillToNode:function(a,b){var c=this.nodeMap[a];this.idPreviousRoot=this.rootNode;this.rootNode=a;""===a?this.drillUpButton=this.drillUpButton.destroy():this.showDrillUpButton(c&&c.name||a);this.isDirty=
  32. !0;x(b,!0)&&this.chart.redraw()},showDrillUpButton:function(a){var b=this;a=a||"\x3c Back";var c=b.options.drillUpButton,f,e;c.text&&(a=c.text);this.drillUpButton?(this.drillUpButton.placed=!1,this.drillUpButton.attr({text:a}).align()):(e=(f=c.theme)&&f.states,this.drillUpButton=this.chart.renderer.button(a,null,null,function(){b.drillUp()},f,e&&e.hover,e&&e.select).addClass("highcharts-drillup-button").attr({align:c.position.align,zIndex:7}).add().align(c.position,!1,c.relativeTo||"plotBox"))},buildKDTree:C,
  33. drawLegendSymbol:c.LegendSymbolMixin.drawRectangle,getExtremes:function(){B.prototype.getExtremes.call(this,this.colorValueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;B.prototype.getExtremes.call(this)},getExtremesFromAll:!0,bindAxes:function(){var a={endOnTick:!1,gridLineWidth:0,lineWidth:0,min:0,dataMin:0,minPadding:0,max:100,dataMax:100,maxPadding:0,startOnTick:!1,title:null,tickPositions:[]};B.prototype.bindAxes.call(this);c.extend(this.yAxis.options,a);c.extend(this.xAxis.options,
  34. a)},utils:{recursive:D}},{getClassName:function(){var a=c.Point.prototype.getClassName.call(this),b=this.series,d=b.options;this.node.level<=b.nodeMap[b.rootNode].level?a+=" highcharts-above-level":this.node.isLeaf||x(d.interactByLeaf,!d.allowDrillToNode)?this.node.isLeaf||(a+=" highcharts-internal-node"):a+=" highcharts-internal-node-interactive";return a},isValid:function(){return this.id||f(this.value)},setState:function(a){c.Point.prototype.setState.call(this,a);this.graphic&&this.graphic.attr({zIndex:"hover"===
  35. a?1:0})},setVisible:k.pie.prototype.pointClass.prototype.setVisible})})(r,M);(function(c,r,h){var k=c.CenteredSeriesMixin,m=c.Series,z=c.extend,C=k.getCenter,l=h.getColor,w=h.getLevelOptions,y=k.getStartAndEndRadians,f=c.isNumber,F=c.isObject,E=c.isString,x=c.merge,B=180/Math.PI,k=c.seriesType,K=h.setTreeValues,p=h.updateRootId,H=function(a,b){var c=[];if(f(a)&&f(b)&&a<=b)for(;a<=b;a++)c.push(a);return c},D=function(a,b){var c;b=F(b)?b:{};var u=0,e,g,n,h;F(a)&&(c=x({},a),a=f(b.from)?b.from:0,h=f(b.to)?
  36. b.to:0,g=H(a,h),a=Object.keys(c).filter(function(a){return-1===g.indexOf(+a)}),e=n=f(b.diffRadius)?b.diffRadius:0,g.forEach(function(a){a=c[a];var b=a.levelSize.unit,d=a.levelSize.value;"weight"===b?u+=d:"percentage"===b?(a.levelSize={unit:"pixels",value:d/100*e},n-=a.levelSize.value):"pixels"===b&&(n-=d)}),g.forEach(function(a){var b=c[a];"weight"===b.levelSize.unit&&(b=b.levelSize.value,c[a].levelSize={unit:"pixels",value:b/u*n})}),a.forEach(function(a){c[a].levelSize={value:0,unit:"pixels"}}));
  37. return c},L=function(a,b){var c=b.mapIdToNode[a.parent],f=b.series,e=f.chart,g=f.points[a.i],c=l(a,{colors:e&&e.options&&e.options.colors,colorIndex:f.colorIndex,index:b.index,mapOptionsToLevel:b.mapOptionsToLevel,parentColor:c&&c.color,parentColorIndex:c&&c.colorIndex,series:b.series,siblings:b.siblings});a.color=c.color;a.colorIndex=c.colorIndex;g&&(g.color=a.color,g.colorIndex=a.colorIndex,a.sliced=a.id!==b.idRoot?g.sliced:!1);return a};k("sunburst","treemap",{center:["50%","50%"],colorByPoint:!1,
  38. dataLabels:{allowOverlap:!0,defer:!0,style:{textOverflow:"ellipsis"},rotationMode:"auto"},rootId:void 0,levelIsConstant:!0,levelSize:{value:1,unit:"weight"},slicedOffset:10},{drawDataLabels:c.noop,drawPoints:function(){var a=this,b=a.mapOptionsToLevel,c=a.shapeRoot,h=a.group,e=a.hasRendered,g=a.rootNode,n=a.idPreviousRoot,k=a.nodeMap,v=k[n],p=v&&v.shapeArgs,v=a.points,t=a.startAndEndRadians,r=a.chart,l=r&&r.options&&r.options.chart||{},w="boolean"===typeof l.animation?l.animation:!0,y=a.center[3]/
  39. 2,C=a.chart.renderer,D,E=!1,H=!1;if(l=!!(w&&e&&g!==n&&a.dataLabelsGroup))a.dataLabelsGroup.attr({opacity:0}),D=function(){E=!0;a.dataLabelsGroup&&a.dataLabelsGroup.animate({opacity:1,visibility:"visible"})};v.forEach(function(d){var v,u,q=d.node,l=b[q.level];v=d.shapeExisting||{};var m=q.shapeArgs||{},I,E=!(!q.visible||!q.shapeArgs);if(e&&w){var J={};u={end:m.end,start:m.start,innerR:m.innerR,r:m.r,x:m.x,y:m.y};E?!d.graphic&&p&&(J=g===d.id?{start:t.start,end:t.end}:p.end<=m.start?{start:t.end,end:t.end}:
  40. {start:t.start,end:t.start},J.innerR=J.r=y):d.graphic&&(n===d.id?u={innerR:y,r:y}:c&&(u=c.end<=v.start?{innerR:y,r:y,start:t.end,end:t.end}:{innerR:y,r:y,start:t.start,end:t.start}));v=J}else u=m,v={};var J=[m.plotX,m.plotY],A;d.node.isLeaf||(g===d.id?(A=k[g],A=A.parent):A=d.id);z(d,{shapeExisting:m,tooltipPos:J,drillId:A,name:""+(d.name||d.id||d.index),plotX:m.plotX,plotY:m.plotY,value:q.val,isNull:!E});A=d.options;q=F(m)?m:{};A=F(A)?A.dataLabels:{};var l=F(l)?l.dataLabels:{},l=x({style:{}},l,A),
  41. G;A=l.rotationMode;f(l.rotation)||("auto"===A&&(1>d.innerArcLength&&d.outerArcLength>q.radius?G=0:A=1<d.innerArcLength&&d.outerArcLength>1.5*q.radius?"parallel":"perpendicular"),"auto"!==A&&(G=q.end-(q.end-q.start)/2),l.style.width="parallel"===A?Math.min(2.5*q.radius,(d.outerArcLength+d.innerArcLength)/2):q.radius,"perpendicular"===A&&d.series.chart.renderer.fontMetrics(l.style.fontSize).h>d.outerArcLength&&(l.style.width=1),l.style.width=Math.max(l.style.width-2*(l.padding||0),1),G=G*B%180,"parallel"===
  42. A&&(G-=90),90<G?G-=180:-90>G&&(G+=180),l.rotation=G);0===l.rotation&&(l.rotation=.001);d.dlOptions=l;!H&&E&&(H=!0,I=D);d.draw({animatableAttribs:u,attribs:z(v,!r.styledMode&&a.pointAttribs(d,d.selected&&"select")),onComplete:I,group:h,renderer:C,shapeType:"arc",shapeArgs:m})});l&&H?(a.hasRendered=!1,a.options.dataLabels.defer=!0,m.prototype.drawDataLabels.call(a),a.hasRendered=!0,E&&D()):m.prototype.drawDataLabels.call(a)},pointAttribs:c.seriesTypes.column.prototype.pointAttribs,layoutAlgorithm:function(a,
  43. b,c){var d=a.start,e=a.end-d,g=a.val,n=a.x,q=a.y,h=c&&F(c.levelSize)&&f(c.levelSize.value)?c.levelSize.value:0,k=a.r,l=k+h,m=c&&f(c.slicedOffset)?c.slicedOffset:0;return(b||[]).reduce(function(a,b){var c=1/g*b.val*e,f=d+c/2,v=n+Math.cos(f)*m,f=q+Math.sin(f)*m;b={x:b.sliced?v:n,y:b.sliced?f:q,innerR:k,r:l,radius:h,start:d,end:d+c};a.push(b);d=b.end;return a},[])},setShapeArgs:function(a,b,c){var d=[],e=c[a.level+1];a=a.children.filter(function(a){return a.visible});d=this.layoutAlgorithm(b,a,e);a.forEach(function(a,
  44. b){b=d[b];var e=b.start+(b.end-b.start)/2,f=b.innerR+(b.r-b.innerR)/2,g=b.end-b.start,f=0===b.innerR&&6.28<g?{x:b.x,y:b.y}:{x:b.x+Math.cos(e)*f,y:b.y+Math.sin(e)*f},h=a.val?a.childrenTotal>a.val?a.childrenTotal:a.val:a.childrenTotal;this.points[a.i]&&(this.points[a.i].innerArcLength=g*b.innerR,this.points[a.i].outerArcLength=g*b.r);a.shapeArgs=x(b,{plotX:f.x,plotY:f.y+4*Math.abs(Math.cos(e))});a.values=x(b,{val:h});a.children.length&&this.setShapeArgs(a,a.values,c)},this)},translate:function(){var a=
  45. this.options,b=this.center=C.call(this),c=this.startAndEndRadians=y(a.startAngle,a.endAngle),f=b[3]/2,e=b[2]/2-f,g=p(this),h=this.nodeMap,k,l=h&&h[g],r,t;this.shapeRoot=l&&l.shapeArgs;m.prototype.translate.call(this);t=this.tree=this.getTree();h=this.nodeMap;l=h[g];k=E(l.parent)?l.parent:"";r=h[k];k=w({from:0<l.level?l.level:1,levels:this.options.levels,to:t.height,defaults:{colorByPoint:a.colorByPoint,dataLabels:a.dataLabels,levelIsConstant:a.levelIsConstant,levelSize:a.levelSize,slicedOffset:a.slicedOffset}});
  46. k=D(k,{diffRadius:e,from:0<l.level?l.level:1,to:t.height});K(t,{before:L,idRoot:g,levelIsConstant:a.levelIsConstant,mapOptionsToLevel:k,mapIdToNode:h,points:this.points,series:this});a=h[""].shapeArgs={end:c.end,r:f,start:c.start,val:l.val,x:b[0],y:b[1]};this.setShapeArgs(r,a,k);this.mapOptionsToLevel=k},animate:function(a){var b=this.chart,c=[b.plotWidth/2,b.plotHeight/2],f=b.plotLeft,e=b.plotTop,b=this.group;a?(a={translateX:c[0]+f,translateY:c[1]+e,scaleX:.001,scaleY:.001,rotation:10,opacity:.01},
  47. b.attr(a)):(a={translateX:f,translateY:e,scaleX:1,scaleY:1,rotation:0,opacity:1},b.animate(a,this.options.animation),this.animate=null)},utils:{calculateLevelSizes:D,range:H}},{draw:r,shouldDraw:function(){return!this.isNull}})})(r,N,M)});
  48. //# sourceMappingURL=sunburst.js.map