highcharts
Version:
JavaScript charting framework
1 lines • 28 kB
JavaScript
let e;import*as t from"../highcharts.js";var i,s,o,r={};r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);let n=t.default;var l=r.n(n);let a=t.default.StackItem;var d=r.n(a);let{addEvent:h,find:c,fireEvent:p,isArray:f,isNumber:u,pick:m}=l();!function(e){function t(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function i(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function s(){let e=this.brokenAxis;if(e?.hasBreaks){let t=this.tickPositions,i=this.tickPositions.info,s=[];for(let i=0;i<t.length;i++)e.isInAnyBreak(t[i])||s.push(t[i]);this.tickPositions=s,this.tickPositions.info=i}}function o(){this.brokenAxis||(this.brokenAxis=new g(this))}function r(){let{isDirty:e,options:{connectNulls:t},points:i,xAxis:s,yAxis:o}=this;if(e){let e=i.length;for(;e--;){let r=i[e],n=(null!==r.y||!1!==t)&&(s?.brokenAxis?.isInAnyBreak(r.x,!0)||o?.brokenAxis?.isInAnyBreak(r.y,!0));r.visible=!n&&!1!==r.options.visible}}}function n(){this.drawBreaks(this.xAxis,["x"]),this.drawBreaks(this.yAxis,m(this.pointArrayMap,["y"]))}function l(e,t){let i,s,o,r=this,n=r.points;if(e?.brokenAxis?.hasBreaks){let l=e.brokenAxis;t.forEach(function(t){i=l?.breakArray||[],s=e.isXAxis?e.min:m(r.options.threshold,e.min);let a=e?.options?.breaks?.filter(function(e){let t=!0;for(let s=0;s<i.length;s++){let o=i[s];if(o.from===e.from&&o.to===e.to){t=!1;break}}return t});n.forEach(function(r){o=m(r["stack"+t.toUpperCase()],r[t]),i.forEach(function(t){if(u(s)&&u(o)){let i="";s<t.from&&o>t.to||s>t.from&&o<t.from?i="pointBreak":(s<t.from&&o>t.from&&o<t.to||s>t.from&&o>t.to&&o<t.from)&&(i="pointInBreak"),i&&p(e,i,{point:r,brk:t})}}),a?.forEach(function(t){p(e,"pointOutsideOfBreak",{point:r,brk:t})})})})}}function a(){let e=this.currentDataGrouping,t=e?.gapSize,i=this.points.slice(),s=this.yAxis,o=this.options.gapSize,r=i.length-1;if(o&&r>0){let e,n;for("value"!==this.options.gapUnit&&(o*=this.basePointRange),t&&t>o&&t>=this.basePointRange&&(o=t);r--;)if(n&&!1!==n.visible||(n=i[r+1]),e=i[r],!1!==n.visible&&!1!==e.visible){if(n.x-e.x>o){let t=(e.x+n.x)/2;i.splice(r+1,0,{isNull:!0,x:t}),s.stacking&&this.options.stacking&&((s.stacking.stacks[this.stackKey][t]=new(d())(s,s.options.stackLabels,!1,t,this.stack)).total=0)}n=e}}return this.getGraphPath(i)}e.compose=function(e,d){if(!e.keepProps.includes("brokenAxis")){e.keepProps.push("brokenAxis"),h(e,"init",o),h(e,"afterInit",t),h(e,"afterSetTickPositions",s),h(e,"afterSetOptions",i);let c=d.prototype;c.drawBreaks=l,c.gappedPath=a,h(d,"afterGeneratePoints",r),h(d,"afterRender",n)}return e};class g{static isInBreak(e,t){let i,s=e.repeat||1/0,o=e.from,r=e.to-e.from,n=t>=o?(t-o)%s:s-(o-t)%s;return e.inclusive?n<=r:n<r&&0!==n}static lin2Val(e){let t=this.brokenAxis,i=t?.breakArray;if(!i||!u(e))return e;let s=e,o,r;for(r=0;r<i.length&&!((o=i[r]).from>=s);r++)o.to<s?s+=o.len:g.isInBreak(o,s)&&(s+=o.len);return s}static val2Lin(e){let t=this.brokenAxis,i=t?.breakArray;if(!i||!u(e))return e;let s=e,o,r;for(r=0;r<i.length;r++)if((o=i[r]).to<=e)s-=o.len;else if(o.from>=e)break;else if(g.isInBreak(o,e)){s-=e-o.from;break}return s}constructor(e){this.hasBreaks=!1,this.axis=e}findBreakAt(e,t){return c(t,function(t){return t.from<e&&e<t.to})}isInAnyBreak(e,t){let i=this.axis,s=i.options.breaks||[],o=s.length,r,n,l;if(o&&u(e)){for(;o--;)g.isInBreak(s[o],e)&&(r=!0,n||(n=m(s[o].showPoints,!i.isXAxis)));l=r&&t?r&&!n:r}return l}setBreaks(e,t){let i=this,s=i.axis,o=s.chart.time,r=f(e)&&!!e.length&&!!Object.keys(e[0]).length;s.isDirty=i.hasBreaks!==r,i.hasBreaks=r,e?.forEach(e=>{e.from=o.parse(e.from)||0,e.to=o.parse(e.to)||0}),e!==s.options.breaks&&(s.options.breaks=s.userOptions.breaks=e),s.forceRedraw=!0,s.series.forEach(function(e){e.isDirty=!0}),r||s.val2lin!==g.val2Lin||(delete s.val2lin,delete s.lin2val),r&&(s.userOptions.ordinal=!1,s.lin2val=g.lin2Val,s.val2lin=g.val2Lin,s.setExtremes=function(e,t,o,r,n){if(i.hasBreaks){let s,o=this.options.breaks||[];for(;s=i.findBreakAt(e,o);)e=s.to;for(;s=i.findBreakAt(t,o);)t=s.from;t<e&&(t=e)}s.constructor.prototype.setExtremes.call(this,e,t,o,r,n)},s.setAxisTranslation=function(){if(s.constructor.prototype.setAxisTranslation.call(this),i.unitLength=void 0,i.hasBreaks){let e=s.options.breaks||[],t=[],o=[],r=m(s.pointRangePadding,0),n=0,l,a,d=s.userMin||s.min,h=s.userMax||s.max,c,f;e.forEach(function(e){a=e.repeat||1/0,u(d)&&u(h)&&(g.isInBreak(e,d)&&(d+=e.to%a-d%a),g.isInBreak(e,h)&&(h-=h%a-e.from%a))}),e.forEach(function(e){if(c=e.from,a=e.repeat||1/0,u(d)&&u(h)){for(;c-a>d;)c-=a;for(;c<d;)c+=a;for(f=c;f<h;f+=a)t.push({value:f,move:"in"}),t.push({value:f+e.to-e.from,move:"out",size:e.breakSize})}}),t.sort(function(e,t){return e.value===t.value?+("in"!==e.move)-+("in"!==t.move):e.value-t.value}),l=0,c=d,t.forEach(function(e){1===(l+="in"===e.move?1:-1)&&"in"===e.move&&(c=e.value),0===l&&u(c)&&(o.push({from:c,to:e.value,len:e.value-c-(e.size||0)}),n+=e.value-c-(e.size||0))}),i.breakArray=o,u(d)&&u(h)&&u(s.min)&&(i.unitLength=h-d-n+r,p(s,"afterBreaks"),s.staticScale?s.transA=s.staticScale:i.unitLength&&(s.transA*=(h-s.min+r)/i.unitLength),r&&(s.minPixelPadding=s.transA*(s.minPointOffset||0)),s.min=d,s.max=h)}}),m(t,!0)&&s.chart.redraw()}}e.Additions=g}(s||(s={}));let g=s,k=t.default.Axis;var x=r.n(k);let{dateFormats:b}=l(),{addEvent:y,defined:v,erase:P,find:G,isArray:A,isNumber:O,merge:B,pick:T,timeUnits:I,wrap:E}=l();function w(e){return l().isObject(e,!0)}function N(e,t){let i={width:0,height:0};if(t.forEach(function(t){let s=e[t],o=0,r=0,n;w(s)&&(o=(n=w(s.label)?s.label:{}).getBBox?n.getBBox().height:0,n.textStr&&!O(n.textPxLength)&&(n.textPxLength=n.getBBox().width),r=O(n.textPxLength)?Math.round(n.textPxLength):0,n.textStr&&(r=Math.round(n.getBBox().width)),i.height=Math.max(o,i.height),i.width=Math.max(r,i.width))}),"treegrid"===this.type&&this.treeGrid&&this.treeGrid.mapOfPosToGridNode){let e=this.treeGrid.mapOfPosToGridNode[-1].height||0;i.width+=this.options.labels.indentation*(e-1)}return i}function L(e){let{grid:t}=this,i=3===this.side;if(i||e.apply(this),!t?.isColumn){let e=t?.columns||[];i&&(e=e.slice().reverse()),e.forEach(e=>{e.getOffset()})}i&&e.apply(this)}function C(e){if(!0===(this.options.grid||{}).enabled){let{axisTitle:t,height:i,horiz:s,left:r,offset:n,opposite:l,options:a,top:d,width:h}=this,c=this.tickSize(),p=t?.getBBox().width,f=a.title.x,u=a.title.y,m=T(a.title.margin,s?5:10),g=t?this.chart.renderer.fontMetrics(t).f:0,k=(s?d+i:r)+(s?1:-1)*(l?-1:1)*(c?c[0]/2:0)+(this.side===o.bottom?g:0);e.titlePosition.x=s?r-(p||0)/2-m+f:k+(l?h:0)+n+f,e.titlePosition.y=s?k-(l?i:0)+(l?g:-g)/2+n+u:d-m+u}}function M(){let{chart:e,options:{grid:t={}},userOptions:i}=this;if(t.enabled&&function(e){let t=e.options;t.labels.align=T(t.labels.align,"center"),e.categories||(t.showLastLabel=!1),e.labelRotation=0,t.labels.rotation=0,t.minTickInterval=1}(this),t.columns){let s=this.grid.columns=[],o=this.grid.columnIndex=0;for(;++o<t.columns.length;){let r=B(i,t.columns[o],{isInternal:!0,linkedTo:0,scrollbar:{enabled:!1}},{grid:{columns:void 0}}),n=new(x())(this.chart,r,"yAxis");n.grid.isColumn=!0,n.grid.columnIndex=o,P(e.axes,n),P(e[this.coll]||[],n),s.push(n)}}}function S(){let{axisTitle:e,grid:t,options:i}=this;if(!0===(i.grid||{}).enabled){let s=this.min||0,r=this.max||0,n=this.ticks[this.tickPositions[0]];if(e&&!this.chart.styledMode&&n?.slotWidth&&!this.options.title.style.width&&e.css({width:`${n.slotWidth}px`}),this.maxLabelDimensions=this.getMaxLabelDimensions(this.ticks,this.tickPositions),this.rightWall&&this.rightWall.destroy(),this.grid?.isOuterAxis()&&this.axisLine){let e=i.lineWidth;if(e){let t=this.getLinePath(e),n=t[0],l=t[1],a=(this.tickSize("tick")||[1])[0]*(this.side===o.top||this.side===o.left?-1:1);if("M"===n[0]&&"L"===l[0]&&(this.horiz?(n[2]+=a,l[2]+=a):(n[1]+=a,l[1]+=a)),!this.horiz&&this.chart.marginRight){let e=["L",this.left,n[2]||0],t=[n,e],o=["L",this.chart.chartWidth-this.chart.marginRight,this.toPixels(r+this.tickmarkOffset)],a=[["M",l[1]||0,this.toPixels(r+this.tickmarkOffset)],o];this.grid.upperBorder||s%1==0||(this.grid.upperBorder=this.grid.renderBorder(t)),this.grid.upperBorder&&(this.grid.upperBorder.attr({stroke:i.lineColor,"stroke-width":i.lineWidth}),this.grid.upperBorder.animate({d:t})),this.grid.lowerBorder||r%1==0||(this.grid.lowerBorder=this.grid.renderBorder(a)),this.grid.lowerBorder&&(this.grid.lowerBorder.attr({stroke:i.lineColor,"stroke-width":i.lineWidth}),this.grid.lowerBorder.animate({d:a}))}this.grid.axisLineExtra?(this.grid.axisLineExtra.attr({stroke:i.lineColor,"stroke-width":i.lineWidth}),this.grid.axisLineExtra.animate({d:t})):this.grid.axisLineExtra=this.grid.renderBorder(t),this.axisLine[this.showAxis?"show":"hide"]()}}if((t?.columns||[]).forEach(e=>e.render()),!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent?.scrollbar)&&this.tickPositions.length){let e,t,i=this.tickmarkOffset,o=this.tickPositions[this.tickPositions.length-1],n=this.tickPositions[0];for(;(e=this.hiddenLabels.pop())&&e.element;)e.show();for(;(t=this.hiddenMarks.pop())&&t.element;)t.show();(e=this.ticks[n].label)&&(s-n>i?this.hiddenLabels.push(e.hide()):e.show()),(e=this.ticks[o].label)&&(o-r>i?this.hiddenLabels.push(e.hide()):e.show());let l=this.ticks[o].mark;l&&o-r<i&&o-r>0&&this.ticks[o].isLast&&this.hiddenMarks.push(l.hide())}}}function W(){let e=this.tickPositions?.info,t=this.options,i=t.grid||{},s=this.userOptions.labels||{};i.enabled&&(this.horiz?(this.series.forEach(e=>{e.options.pointRange=0}),e&&t.dateTimeLabelFormats&&t.labels&&!v(s.align)&&(!1===t.dateTimeLabelFormats[e.unitName].range||e.count>1)&&(t.labels.align="left",v(s.x)||(t.labels.x=3))):"treegrid"!==this.type&&this.grid&&this.grid.columns&&(this.minPointOffset=this.tickInterval))}function z(e){let t,i=this.options,s=e.userOptions,o=i&&w(i.grid)?i.grid:{};!0===o.enabled&&(t=B(!0,{className:"highcharts-grid-axis "+(s.className||""),dateTimeLabelFormats:{hour:{list:["%[HM]","%[H]"]},day:{list:["%[AeB]","%[aeb]","%[E]"]},week:{list:["Week %W","W%W"]},month:{list:["%[B]","%[b]","%o"]}},grid:{borderWidth:1},labels:{padding:2,style:{fontSize:"0.9em"}},margin:0,title:{text:null,reserveSpace:!1,rotation:0,style:{textOverflow:"ellipsis"}},units:[["millisecond",[1,10,100]],["second",[1,10]],["minute",[1,5,15]],["hour",[1,6]],["day",[1]],["week",[1]],["month",[1]],["year",null]]},s),"xAxis"!==this.coll||(v(s.linkedTo)&&!v(s.tickPixelInterval)&&(t.tickPixelInterval=350),!(!v(s.tickPixelInterval)&&v(s.linkedTo))||v(s.tickPositioner)||v(s.tickInterval)||v(s.units)||(t.tickPositioner=function(e,i){let s=this.linkedParent?.tickPositions?.info;if(s){let o=t.units||[],r,n=1,l="year";for(let e=0;e<o.length;e++){let t=o[e];if(t&&t[0]===s.unitName){r=e;break}}let a=O(r)&&o[r+1];if(a){l=a[0]||"year";let e=a[1];n=e?.[0]||1}else"year"===s.unitName&&(n=10*s.count);let d=I[l];return this.tickInterval=d*n,this.chart.time.getTimeTicks({unitRange:d,count:n,unitName:l},e,i,this.options.startOfWeek)}})),B(!0,this.options,t),this.horiz&&(i.minPadding=T(s.minPadding,0),i.maxPadding=T(s.maxPadding,0)),O(i.grid.borderWidth)&&(i.tickWidth=i.lineWidth=o.borderWidth))}function R(e){let t=e.userOptions,i=t?.grid||{},s=i.columns;i.enabled&&s&&B(!0,this.options,s[0])}function D(){(this.grid.columns||[]).forEach(e=>e.setScale())}function j(e){let{horiz:t,maxLabelDimensions:i,options:{grid:s={}}}=this;if(s.enabled&&i){let o=2*this.options.labels.distance,r=t?s.cellHeight||o+i.height:o+i.width;A(e.tickSize)?e.tickSize[0]=r:e.tickSize=[r,0]}}function F(){this.axes.forEach(e=>{(e.grid?.columns||[]).forEach(e=>{e.setAxisSize(),e.setAxisTranslation()})})}function H(e){let{grid:t}=this;(t.columns||[]).forEach(t=>t.destroy(e.keepEvents)),t.columns=void 0}function X(e){let t=e.userOptions||{},i=t.grid||{};i.enabled&&v(i.borderColor)&&(t.tickColor=t.lineColor=i.borderColor),this.grid||(this.grid=new $(this)),this.hiddenLabels=[],this.hiddenMarks=[]}function q(e){let t=this.label,i=this.axis,s=i.reversed,r=i.chart,n=i.options.grid||{},l=i.options.labels,a=l.align,d=o[i.side],h=e.tickmarkOffset,c=i.tickPositions,p=this.pos-h,f=O(c[e.index+1])?c[e.index+1]-h:(i.max||0)+h,u=i.tickSize("tick"),m=u?u[0]:0,g=u?u[1]/2:0;if(!0===n.enabled){let o,n,h,c;if("top"===d?n=(o=i.top+i.offset)-m:"bottom"===d?o=(n=r.chartHeight-i.bottom+i.offset)+m:(o=i.top+i.len-(i.translate(s?f:p)||0),n=i.top+i.len-(i.translate(s?p:f)||0)),"right"===d?c=(h=r.chartWidth-i.right+i.offset)+m:"left"===d?h=(c=i.left+i.offset)-m:(h=Math.round(i.left+(i.translate(s?f:p)||0))-g,c=Math.min(Math.round(i.left+(i.translate(s?p:f)||0))-g,i.left+i.len)),this.slotWidth=c-h,e.pos.x="left"===a?h:"right"===a?c:h+(c-h)/2,e.pos.y=n+(o-n)/2,t){let i=r.renderer.fontMetrics(t),s=t.getBBox().height;if(l.useHTML)e.pos.y+=i.b+-(s/2);else{let t=Math.round(s/i.h);e.pos.y+=(i.b-(i.h-i.f))/2+-((t-1)*i.h/2)}}e.pos.x+=i.horiz&&l.x||0}}function V(e){let{axis:t,value:i}=e;if(t.options.grid?.enabled){let s,o=t.tickPositions,r=(t.linkedParent||t).series[0],n=i===o[0],a=i===o[o.length-1],d=r&&G(r.options.data,function(e){return e[t.isXAxis?"x":"y"]===i});d&&r.is("gantt")&&(s=B(d),l().seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(s,t.chart)),e.isFirst=n,e.isLast=a,e.point=s}}function _(){let e=this.options,t=e.grid||{},i=this.categories,s=this.tickPositions,o=s[0],r=s[1],n=s[s.length-1],l=s[s.length-2],a=this.linkedParent?.min,d=this.linkedParent?.max,h=a||this.min,c=d||this.max,p=this.tickInterval,f=O(h)&&h>=o+p&&h<r,u=O(h)&&o<h&&o+p>h,m=O(c)&&n>c&&n-p<c,g=O(c)&&c<=n-p&&c>l;!0===t.enabled&&!i&&(this.isXAxis||this.isLinked)&&((u||f)&&!e.startOnTick&&(s[0]=h),(m||g)&&!e.endOnTick&&(s[s.length-1]=c))}function U(e){var t;let{options:{grid:i={}}}=this;return!0===i.enabled&&this.categories?this.tickInterval:e.apply(this,(t=arguments,Array.prototype.slice.call(t,1)))}(i=o||(o={}))[i.top=0]="top",i[i.right=1]="right",i[i.bottom=2]="bottom",i[i.left=3]="left";class ${constructor(e){this.axis=e}isOuterAxis(){let e=this.axis,t=e.chart,i=e.grid.columnIndex,s=e.linkedParent?.grid.columns||e.grid.columns||[],o=i?e.linkedParent:e,r=-1,n=0;return 3===e.side&&!t.inverted&&s.length?!e.linkedParent:((t[e.coll]||[]).forEach((t,i)=>{t.side!==e.side||t.options.isInternal||(n=i,t!==o||(r=i))}),n===r&&(!O(i)||s.length===i))}renderBorder(e){let t=this.axis,i=t.chart.renderer,s=t.options,o=i.path(e).addClass("highcharts-axis-line").add(t.axisGroup);return i.styledMode||o.attr({stroke:s.lineColor,"stroke-width":s.lineWidth,zIndex:7}),o}}b.E=function(e){return this.dateFormat("%a",e,!0).charAt(0)},b.W=function(e){let t=this.toParts(e),i=(t[7]+6)%7,s=t.slice(0);s[2]=t[2]-i+3;let o=this.toParts(this.makeTime(s[0],0,1));return 4!==o[7]&&(t[1]=0,t[2]=1+(11-o[7])%7),(1+Math.floor((this.makeTime(s[0],s[1],s[2])-this.makeTime(o[0],o[1],o[2]))/6048e5)).toString()};let{extend:K,isNumber:Y,pick:J}=l();function Q(e,t,i,s,o,r){let n=r&&r.after,l=r&&r.before,a={data:s,depth:i-1,id:e,level:i,parent:t||""},d=0,h=0,c,p;"function"==typeof l&&l(a,r);let f=(o[e]||[]).map(t=>{let s=Q(t.id,e,i+1,t,o,r),n=t.start||NaN,l=!0===t.milestone?n:t.end||NaN;return c=!Y(c)||n<c?n:c,p=!Y(p)||l>p?l:p,d=d+1+s.descendants,h=Math.max(s.height+1,h),s});return s&&(s.start=J(s.start,c),s.end=J(s.end,p)),K(a,{children:f,descendants:d,height:h}),"function"==typeof n&&n(a,r),a}let Z={getNode:Q,getTree:function(e,t){return Q("",null,1,null,function(e){let t=[],i=e.reduce((e,i)=>{let{parent:s="",id:o}=i;return void 0===e[s]&&(e[s]=[]),e[s].push(i),o&&t.push(o),e},{});return Object.keys(i).forEach(e=>{if(""!==e&&-1===t.indexOf(e)){let t=i[e].map(function(e){let{...t}=e;return t});i[""].push(...t),delete i[e]}}),i}(e),t)}},{addEvent:ee,removeEvent:et,isObject:ei,isNumber:es,pick:eo,wrap:er}=l();function en(){this.treeGrid||(this.treeGrid=new ed(this))}function el(e,t,i,s,o,r,n,l,a){let d,h,c,p=eo(this.options?.labels,r),f=this.pos,u=this.axis,m="treegrid"===u.type,g=e.apply(this,[t,i,s,o,p,n,l,a]);if(m){let{width:e=0,padding:t=5*!u.linkedParent}=p&&ei(p.symbol,!0)?p.symbol:{},i=p&&es(p.indentation)?p.indentation:0;d=u.treeGrid.mapOfPosToGridNode,h=d?.[f],c=h?.depth||1,g.x+=e+2*t+(c-1)*i}return g}function ea(e){let t,{pos:i,axis:s,label:o,treeGrid:r,options:n}=this,l=r?.labelIcon,a=o?.element,{treeGrid:d,options:h,chart:c,tickPositions:p}=s,f=d.mapOfPosToGridNode,u=eo(n?.labels,h?.labels),m=u&&ei(u.symbol,!0)?u.symbol:{},g=f?.[i],{descendants:k,depth:x}=g||{},b=g&&k&&k>0,y="treegrid"===s.type&&a,v=p.indexOf(i)>-1,P="highcharts-treegrid-node-",G=P+"level-",A=c.styledMode;(y&&g&&o.removeClass(RegExp(G+".*")).addClass(G+x),e.apply(this,Array.prototype.slice.call(arguments,1)),y&&b)?(t=d.isCollapsed(g),function(e,t){let i=e.treeGrid,s=!i.labelIcon,o=t.renderer,r=t.xy,n=t.options,l=n.width||0,a=n.height||0,d=n.padding??e.axis.linkedParent?0:5,h={x:r.x-l/2-d,y:r.y-a/2},c=t.collapsed?90:180,p=t.show&&es(h.y),f=i.labelIcon;f||(i.labelIcon=f=o.path(o.symbols[n.type](n.x||0,n.y||0,l,a)).addClass("highcharts-label-icon").add(t.group)),f[p?"show":"hide"](),o.styledMode||f.attr({cursor:"pointer",fill:eo(t.color,"#666666"),"stroke-width":1,stroke:n.lineColor,strokeWidth:n.lineWidth||0}),f[s?"attr":"animate"]({translateX:h.x,translateY:h.y,rotation:c})}(this,{color:!A&&o.styles.color||"",collapsed:t,group:o.parentGroup,options:m,renderer:o.renderer,show:v,xy:o.xy}),o.addClass(P+(t?"collapsed":"expanded")).removeClass(P+(t?"expanded":"collapsed")),A||o.css({cursor:"pointer"}),[o,l].forEach(e=>{e&&!e.attachedTreeGridEvents&&(ee(e.element,"mouseover",function(){o.addClass("highcharts-treegrid-node-active"),o.renderer.styledMode||o.css({textDecoration:"underline"})}),ee(e.element,"mouseout",function(){!function(e,t){let i=ei(t.style)?t.style:{};e.removeClass("highcharts-treegrid-node-active"),e.renderer.styledMode||e.css({textDecoration:i.textDecoration||"none"})}(o,u)}),ee(e.element,"click",function(){r.toggleCollapse()}),e.attachedTreeGridEvents=!0)})):l&&(et(a),o?.css({cursor:"default"}),l.destroy())}class ed{static compose(e){let t=e.prototype;t.toggleCollapse||(ee(e,"init",en),er(t,"getLabelPosition",el),er(t,"renderLabel",ea),t.collapse=function(e){this.treeGrid.collapse(e)},t.expand=function(e){this.treeGrid.expand(e)},t.toggleCollapse=function(e){this.treeGrid.toggleCollapse(e)})}constructor(e){this.tick=e}collapse(e){let t=this.tick,i=t.axis,s=i.brokenAxis;if(s&&i.treeGrid.mapOfPosToGridNode){let o=t.pos,r=i.treeGrid.mapOfPosToGridNode[o],n=i.treeGrid.collapse(r);s.setBreaks(n,eo(e,!0))}}destroy(){this.labelIcon&&this.labelIcon.destroy()}expand(e){let{pos:t,axis:i}=this.tick,{treeGrid:s,brokenAxis:o}=i,r=s.mapOfPosToGridNode;if(o&&r){let i=r[t],n=s.expand(i);o.setBreaks(n,eo(e,!0))}}toggleCollapse(e){let t=this.tick,i=t.axis,s=i.brokenAxis;if(s&&i.treeGrid.mapOfPosToGridNode){let o=t.pos,r=i.treeGrid.mapOfPosToGridNode[o],n=i.treeGrid.toggleCollapse(r);s.setBreaks(n,eo(e,!0))}}}let eh=t.default.Color;var ec=r.n(eh);let{extend:ep,isArray:ef,isNumber:eu,isObject:em,merge:eg,pick:ek,relativeLength:ex}=l(),{getLevelOptions:eb}={getColor:function(e,t){let i,s,o,r,n,l,a=t.index,d=t.mapOptionsToLevel,h=t.parentColor,c=t.parentColorIndex,p=t.series,f=t.colors,u=t.siblings,m=p.points,g=p.chart.options.chart;return e&&(i=m[e.i],s=d[e.level]||{},i&&s.colorByPoint&&(r=i.index%(f?f.length:g.colorCount),o=f&&f[r]),p.chart.styledMode||(n=ek(i&&i.options.color,s&&s.color,o,h&&(e=>{let t=s&&s.colorVariation;return t&&"brightness"===t.key&&a&&u?ec().parse(e).brighten(t.to*(a/u)).get():e})(h),p.color)),l=ek(i&&i.options.colorIndex,s&&s.colorIndex,r,c,t.colorIndex)),{color:n,colorIndex:l}},getLevelOptions:function(e){let t,i,s,o,r,n,l={};if(em(e))for(o=eu(e.from)?e.from:1,n=e.levels,i={},t=em(e.defaults)?e.defaults:{},ef(n)&&(i=n.reduce((e,i)=>{let s,r,n;return em(i)&&eu(i.level)&&(r=ek((n=eg({},i)).levelIsConstant,t.levelIsConstant),delete n.levelIsConstant,delete n.level,em(e[s=i.level+(r?0:o-1)])?eg(!0,e[s],n):e[s]=n),e},{})),r=eu(e.to)?e.to:1,s=0;s<=r;s++)l[s]=eg({},t,em(i[s])?i[s]:{});return l},getNodeWidth:function(e,t){let{chart:i,options:s}=e,{nodeDistance:o=0,nodeWidth:r=0}=s,{plotSizeX:n=1}=i;if("auto"===r){if("string"==typeof o&&/%$/.test(o))return n/(t+parseFloat(o)/100*(t-1));let e=Number(o);return(n+e)/(t||1)-e}return ex(r,n)},setTreeValues:function e(t,i){let s=i.before,o=i.idRoot,r=i.mapIdToNode[o],n=!1!==i.levelIsConstant,l=i.points[t.i],a=l&&l.options||{},d=[],h=0;t.levelDynamic=t.level-(n?0:r.level),t.name=ek(l&&l.name,""),t.visible=o===t.id||!0===i.visible,"function"==typeof s&&(t=s(t,i)),t.children.forEach((s,o)=>{let r=ep({},i);ep(r,{index:o,siblings:t.children.length,visible:t.visible}),s=e(s,r),d.push(s),s.visible&&(h+=s.val)});let c=ek(a.value,h);return t.visible=c>=0&&(h>0||t.visible),t.children=d,t.childrenTotal=h,t.isLeaf=t.visible&&!h,t.val=c,t},updateRootId:function(e){let t,i;return em(e)&&(i=em(e.options)?e.options:{},t=ek(e.rootNode,i.rootId,""),em(e.userOptions)&&(e.userOptions.rootId=t),e.rootNode=t),t}},{addEvent:ey,isArray:ev,splat:eP,find:eG,fireEvent:eA,isObject:eO,isString:eB,merge:eT,pick:eI,removeEvent:eE,wrap:ew}=l();function eN(e,t){let i=e.collapseEnd||0,s=e.collapseStart||0;return i>=t&&(s-=.5),{from:s,to:i,showPoints:!1}}function eL(e,t,i){let s=[],o=[],r={},n=t||!1,l={},a=-1,d=Z.getTree(e,{after:function(e){let t=l[e.pos],i=0,s=0;t.children.forEach(function(e){s+=(e.descendants||0)+1,i=Math.max((e.height||0)+1,i)}),t.descendants=s,t.height=i,t.collapsed&&o.push(t)},before:function(e){let t,i,o=eO(e.data,!0)?e.data:{},d=eB(o.name)?o.name:"",h=r[e.parent],c=eO(h,!0)?l[h.pos]:null;n&&eO(c,!0)&&(t=eG(c.children,function(e){return e.name===d}))?(i=t.pos,t.nodes.push(e)):i=a++,!l[i]&&(l[i]=t={depth:c?c.depth+1:0,name:d,id:o.id,nodes:[e],children:[],pos:i},-1!==i&&s.push(d),eO(c,!0)&&c.children.push(t)),eB(e.id)&&(r[e.id]=e),t&&!0===o.collapsed&&(t.collapsed=!0),e.pos=i}});return{categories:s,mapOfIdToNode:r,mapOfPosToGridNode:l=function(e,t){let i=function(e,s,o){let r=e.nodes,n=s+(-1===s?0:t-1),l=(n-s)/2,a=s+l;return r.forEach(function(e){let t=e.data;eO(t,!0)&&(t.y=s+(t.seriesIndex||0),delete t.seriesIndex),e.pos=a}),o[a]=e,e.pos=a,e.tickmarkOffset=l+.5,e.collapseStart=n+.5,e.children.forEach(function(e){i(e,n+1,o),n=(e.collapseEnd||0)-.5}),e.collapseEnd=n+.5,o};return i(e["-1"],-1,{})}(l,i),collapsedNodes:o,tree:d}}function eC(e){let t=e.target;t.axes.filter(e=>"treegrid"===e.type).forEach(function(i){let s=i.options||{},o=s.labels,r=i.uniqueNames,n=t.time.parse(s.max),l=!i.treeGrid.mapOfPosToGridNode||i.series.some(function(e){return!e.hasRendered||e.isDirtyData||e.isDirty}),a=0,d,h;if(l){let s=[];if(d=i.series.reduce(function(e,i){let o=i.options.data||[],n=o[0],l=Array.isArray(n)&&!n.find(e=>"object"==typeof e);return s.push(l),i.visible&&(o.forEach(function(s){(l||i.options.keys?.length)&&(s=i.pointClass.prototype.optionsToObject.call({series:i},s),i.pointClass.setGanttPointAliases(s,t)),eO(s,!0)&&(s.seriesIndex=a,e.push(s))}),!0===r&&a++),e},[]),n&&d.length<n)for(let e=d.length;e<=n;e++)d.push({name:e+""});i.categories=(h=eL(d,r||!1,!0===r?a:1)).categories,i.treeGrid.mapOfPosToGridNode=h.mapOfPosToGridNode,i.hasNames=!0,i.treeGrid.tree=h.tree,i.series.forEach(function(e,t){let i=(e.options.data||[]).map(function(i){return(s[t]||ev(i)&&e.options.keys&&e.options.keys.length)&&d.forEach(function(e){let t=eP(i);t.indexOf(e.x||0)>=0&&t.indexOf(e.x2||0)>=0&&(i=e)}),eO(i,!0)?eT(i):i});e.visible&&e.setData(i,!1)}),i.treeGrid.mapOptionsToLevel=eb({defaults:o,from:1,levels:o?.levels,to:i.treeGrid.tree?.height}),"beforeRender"===e.type&&(i.treeGrid.collapsedNodes=h.collapsedNodes)}})}function eM(t,i){let s=this.treeGrid.mapOptionsToLevel||{},o="treegrid"===this.type,r=this.ticks,n=r[i],l,a,d;o&&this.treeGrid.mapOfPosToGridNode?((l=s[(d=this.treeGrid.mapOfPosToGridNode[i]).depth])&&(a={labels:l}),!n&&e?r[i]=n=new e(this,i,void 0,void 0,{category:d.name,tickmarkOffset:d.tickmarkOffset,options:a}):(n.parameters.category=d.name,n.options=a,n.addLabel())):t.apply(this,Array.prototype.slice.call(arguments,1))}function eS(e,t,i,s){let o=this,r="treegrid"===i.type;o.treeGrid||(o.treeGrid=new eR(o)),r&&(ey(t,"beforeRender",eC),ey(t,"beforeRedraw",eC),ey(t,"addSeries",function(e){if(e.options.data){let t=eL(e.options.data,i.uniqueNames||!1,1);o.treeGrid.collapsedNodes=(o.treeGrid.collapsedNodes||[]).concat(t.collapsedNodes)}}),ey(o,"foundExtremes",function(){o.treeGrid.collapsedNodes&&o.treeGrid.collapsedNodes.forEach(function(e){let t=o.treeGrid.collapse(e);o.brokenAxis&&(o.brokenAxis.setBreaks(t,!1),o.treeGrid.collapsedNodes&&(o.treeGrid.collapsedNodes=o.treeGrid.collapsedNodes.filter(t=>e.collapseStart!==t.collapseStart||e.collapseEnd!==t.collapseEnd)))})}),ey(o,"afterBreaks",function(){"yAxis"===o.coll&&!o.staticScale&&o.chart.options.chart.height&&(o.isDirty=!0)}),i=eT({grid:{enabled:!0},labels:{align:"left",levels:[{level:void 0},{level:1,style:{fontWeight:"bold"}}],symbol:{type:"triangle",x:-5,y:-5,height:10,width:10}},uniqueNames:!1},i,{reversed:!0})),e.apply(o,[t,i,s]),r&&(o.hasNames=!0,o.options.showLastLabel=!0)}function eW(e){let t=this.options,i=this.chart.time,s="number"==typeof t.linkedTo?this.chart[this.coll]?.[t.linkedTo]:void 0;if("treegrid"===this.type){if(this.min=this.userMin??i.parse(t.min)??this.dataMin,this.max=this.userMax??i.parse(t.max)??this.dataMax,eA(this,"foundExtremes"),this.setAxisTranslation(),this.tickInterval=1,this.tickmarkOffset=.5,this.tickPositions=this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[],s){let e=s.getExtremes();this.min=eI(e.min,e.dataMin),this.max=eI(e.max,e.dataMax),this.tickPositions=s.tickPositions}this.linkedParent=s}else e.apply(this,Array.prototype.slice.call(arguments,1))}function ez(e){let t=this;"treegrid"===this.type&&t.visible&&t.tickPositions.forEach(function(e){let i=t.ticks[e];i.label?.attachedTreeGridEvents&&(eE(i.label.element),i.label.attachedTreeGridEvents=!1)}),e.apply(t,Array.prototype.slice.call(arguments,1))}class eR{static compose(t,i,s,o){var r,n,l;if(!t.keepProps.includes("treeGrid")){let i=t.prototype;t.keepProps.push("treeGrid"),ew(i,"generateTick",eM),ew(i,"init",eS),ew(i,"setTickInterval",eW),ew(i,"redraw",ez),i.utils={getNode:Z.getNode},e||(e=o)}return r=t,n=i,l=o,r.keepProps.includes("grid")||(r.keepProps.push("grid"),r.prototype.getMaxLabelDimensions=N,E(r.prototype,"unsquish",U),E(r.prototype,"getOffset",L),y(r,"init",X),y(r,"afterGetTitlePosition",C),y(r,"afterInit",M),y(r,"afterRender",S),y(r,"afterSetAxisTranslation",W),y(r,"afterSetOptions",z),y(r,"afterSetOptions",R),y(r,"afterSetScale",D),y(r,"afterTickSize",j),y(r,"trimTicks",_),y(r,"destroy",H),y(n,"afterSetChartSize",F),y(l,"afterGetLabelPosition",q),y(l,"labelFormat",V)),g.compose(t,s),ed.compose(o),t}constructor(e){this.axis=e}setCollapsedStatus(e){let t=this.axis,i=t.chart;t.series.forEach(function(t){let s=t.options.data;if(e.id&&s){let o=i.get(e.id),r=s[t.data.indexOf(o)];o&&r&&(o.collapsed=e.collapsed,r.collapsed=e.collapsed)}})}collapse(e){let t=this.axis,i=t.options.breaks||[],s=eN(e,t.max);return i.push(s),e.collapsed=!0,t.treeGrid.setCollapsedStatus(e),i}expand(e){let t=this.axis,i=t.options.breaks||[],s=eN(e,t.max);return e.collapsed=!1,t.treeGrid.setCollapsedStatus(e),i.reduce(function(e,t){return(t.to!==s.to||t.from!==s.from)&&e.push(t),e},[])}getTickPositions(){let e=this.axis,t=Math.floor(e.min/e.tickInterval)*e.tickInterval,i=Math.ceil(e.max/e.tickInterval)*e.tickInterval;return Object.keys(e.treeGrid.mapOfPosToGridNode||{}).reduce(function(s,o){let r=+o;return r>=t&&r<=i&&!e.brokenAxis?.isInAnyBreak(r)&&s.push(r),s},[])}isCollapsed(e){let t=this.axis,i=t.options.breaks||[],s=eN(e,t.max);return i.some(function(e){return e.from===s.from&&e.to===s.to})}toggleCollapse(e){return this.isCollapsed(e)?this.expand(e):this.collapse(e)}}let eD=l();eR.compose(eD.Axis,eD.Chart,eD.Series,eD.Tick);let ej=l();export{ej as default};