highcharts
Version:
JavaScript charting framework
13 lines • 32.1 kB
JavaScript
!/**
* Highcharts Gantt JS v12.6.0 (2026-04-13)
* @module highcharts/modules/treegrid
* @requires highcharts
*
* Tree Grid
*
* (c) 2016-2026 Highsoft AS
* Author: Jon Arild Nygård
*
* A commercial license may be required depending on use.
* See www.highcharts.com/license
*/function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts,t._Highcharts.StackItem,t._Highcharts.Axis,t._Highcharts.Color):"function"==typeof define&&define.amd?define("highcharts/modules/treegrid",["highcharts/highcharts"],function(t){return e(t,t.StackItem,t.Axis,t.Color)}):"object"==typeof exports?exports["highcharts/modules/treegrid"]=e(t._Highcharts,t._Highcharts.StackItem,t._Highcharts.Axis,t._Highcharts.Color):t.Highcharts=e(t.Highcharts,t.Highcharts.StackItem,t.Highcharts.Axis,t.Highcharts.Color)}("u"<typeof window?this:window,(t,e,i,s)=>(()=>{"use strict";let r;var o,n,a,l={184:t=>{t.exports=e},532:t=>{t.exports=i},620:t=>{t.exports=s},944:e=>{e.exports=t}},h={};function d(t){var e=h[t];if(void 0!==e)return e.exports;var i=h[t]={exports:{}};return l[t](i,i.exports,d),i.exports}d.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return d.d(e,{a:e}),e},d.d=(t,e)=>{for(var i in e)d.o(e,i)&&!d.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},d.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var c={};d.d(c,{default:()=>tv});var f=d(944),p=d.n(f),u=d(184),m=d.n(u);let{doc:g,win:k}=p();function x(t,e,i,s={}){let r="function"==typeof t&&t.prototype||t;Object.hasOwnProperty.call(r,"hcEvents")||(r.hcEvents={});let o=r.hcEvents;p().Point&&t instanceof p().Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0);let n=t.addEventListener;n&&n.call(t,e,i,!!p().supportsPassiveEvents&&{passive:void 0===s.passive?-1!==e.indexOf("touch"):s.passive,capture:!1}),o[e]||(o[e]=[]);let a={fn:i,order:"number"==typeof s.order?s.order:1/0};return o[e].push(a),o[e].sort((t,e)=>t.order-e.order),function(){L(t,e,i)}}function b(t,e){return t>1e14?t:parseFloat(t.toPrecision(e||14))}function y(t){return null!=t}function v(t,e){let i=t.length;for(;i--;)if(t[i]===e){t.splice(i,1);break}}function P(t,e){let i;for(i in t||(t={}),e)t[i]=e[i];return t}function O(t,e,i,s){if(i=i||{},g?.createEvent&&(t.dispatchEvent||t.fireEvent&&t!==p())){let s=g.createEvent("Events");s.initEvent(e,!0,!0),i=P(s,i),t.dispatchEvent?t.dispatchEvent(i):t.fireEvent(e,i)}else if(t.hcEvents){i.target||P(i,{preventDefault:function(){i.defaultPrevented=!0},target:t,type:e});let s=[],r=t,o=!1;for(;r.hcEvents;)Object.hasOwnProperty.call(r,"hcEvents")&&r.hcEvents[e]&&(s.length&&(o=!0),s.unshift.apply(s,r.hcEvents[e])),r=Object.getPrototypeOf(r);o&&s.sort((t,e)=>t.order-e.order),s.forEach(e=>{!1===e.fn.call(t,i,t)&&i.preventDefault()})}s&&!i.defaultPrevented&&s.call(t,i)}let A=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i,s=t.length;for(i=0;i<s;i++)if(e(t[i],i))return t[i]};function E(t){return w(t)&&"number"==typeof t.nodeType}function G(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function I(t){return"string"==typeof t}function B(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function w(t,e){return!!t&&"object"==typeof t&&(!e||!B(t))}function T(t,...e){let i,s=[t,...e],r={},o=function(t,e){return"object"!=typeof t&&(t={}),M(e,function(i,s){if("__proto__"!==s&&"constructor"!==s){let r;!w(i,!0)||(r=i?.constructor,w(i,!0)&&!E(i)&&r?.name&&"Object"!==r.name)||E(i)?t[s]=e[s]:t[s]=o(t[s]||{},i)}}),t};!0===t&&(r=s[1],s=Array.prototype.slice.call(s,2));let n=s.length;for(i=0;i<n;i++)r=o(r,s[i]);return r}function M(t,e,i){for(let s in t)Object.hasOwnProperty.call(t,s)&&e.call(i||t[s],t[s],s,t)}function C(){let t=arguments,e=t.length;for(let i=0;i<e;i++){let e=t[i];if(null!=e)return e}}function L(t,e,i){function s(e,i){let s=t.removeEventListener;s&&s.call(t,e,i,!1)}function r(i){let r,o;t.nodeName&&(e?(r={})[e]=!0:r=i,M(r,function(t,e){if(i[e])for(o=i[e].length;o--;)s(e,i[e][o].fn)}))}let o="function"==typeof t&&t.prototype||t;if(Object.hasOwnProperty.call(o,"hcEvents")){let t=o.hcEvents;if(e){let o=t[e]||[];i?(t[e]=o.filter(function(t){return i!==t.fn}),s(e,i)):(r(t),t[e]=[])}else r(t),delete o.hcEvents}}function N(t,e,i){let s=t[e];t[e]=function(){let t=arguments,e=this;return i.apply(this,[function(){return s.apply(e,arguments.length?arguments:t)}].concat([].slice.call(arguments)))}}!function(t){function e(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function i(){Object.keys(this.options.breaks?.[0]||{}).length&&(this.options.ordinal=!1)}function s(){let t=this.brokenAxis;if(t?.hasBreaks){let e=this.tickPositions,i=this.tickPositions.info,s=[];for(let i=0;i<e.length;i++)t.isInAnyBreak(e[i])||s.push(e[i]);this.tickPositions=s,this.tickPositions.info=i}}function r(){this.brokenAxis||(this.brokenAxis=new h(this))}function o(){let{isDirty:t,options:{connectNulls:e},points:i,xAxis:s,yAxis:r}=this;if(t){let t=i.length;for(;t--;){let o=i[t],n=(null!==o.y||!1!==e)&&(s?.brokenAxis?.isInAnyBreak(o.x,!0)||r?.brokenAxis?.isInAnyBreak(o.y,!0));o.visible=!n&&!1!==o.options.visible}}}function n(){this.drawBreaks(this.xAxis,["x"]),this.drawBreaks(this.yAxis,C(this.pointArrayMap,["y"]))}function a(t,e){let i,s,r,o=this,n=o.points;if(t?.brokenAxis?.hasBreaks){let a=t.brokenAxis;e.forEach(function(e){i=a?.breakArray||[],s=t.isXAxis?t.min:C(o.options.threshold,t.min),n.forEach(function(o){r=o["stack"+e.toUpperCase()]??o[e],i.forEach(function(e){if(G(s)&&G(r)){let i="";s<e.from&&r>e.to||s>e.from&&r<e.from?i="pointBreak":(s<e.from&&r>e.from&&r<e.to||s>e.from&&r>e.to&&r<e.from)&&(i="pointInBreak"),i&&O(t,i,{point:o,brk:e})}})})})}}function l(){let t=this.currentDataGrouping,e=t?.gapSize,i=this.points.slice(),s=this.yAxis,r=this.options.gapSize,o=i.length-1;if(r&&o>0){let t,n;for("value"!==this.options.gapUnit&&(r*=this.basePointRange),e&&e>r&&e>=this.basePointRange&&(r=e);o--;)if(n&&!1!==n.visible||(n=i[o+1]),t=i[o],!1!==n.visible&&!1!==t.visible){if(n.x-t.x>r){let e=(t.x+n.x)/2;i.splice(o+1,0,{isNull:!0,x:e}),s.stacking&&this.options.stacking&&((s.stacking.stacks[this.stackKey][e]=new(m())(s,s.options.stackLabels,!1,e,this.stack??"")).total=0)}n=t}}return this.getGraphPath(i)}t.compose=function(t,h){if(!t.keepProps.includes("brokenAxis")){t.keepProps.push("brokenAxis"),x(t,"init",r),x(t,"afterInit",e),x(t,"afterSetTickPositions",s),x(t,"afterSetOptions",i);let d=h.prototype;d.drawBreaks=a,d.gappedPath=l,x(h,"afterGeneratePoints",o),x(h,"afterRender",n)}return t};class h{static isInBreak(t,e){let i=t.repeat||1/0,s=t.from,r=t.to-t.from,o=e>=s?(e-s)%i:i-(s-e)%i;return t.inclusive?o<=r:o<r&&0!==o}static lin2Val(t){let e=this.min||0,i=this.brokenAxis,s=i?.breakArray;if(!s?.length||!G(t))return t;let r=t;if(t>e)for(let t of s)if(t.from>r)break;else t.to<=r&&t.to>e?r+=t.len:h.isInBreak(t,r)&&(r+=t.len);else if(t<e)for(let t of s)if(t.from>e)break;else t.from>=r&&t.from<e?r-=t.len:h.isInBreak(t,r)&&(r-=t.len);return r}static val2Lin(t){let e=this.min||0,i=this.brokenAxis,s=i?.breakArray;if(!s?.length||!G(t))return t;let r=t;if(t>e){for(let i of s)if(i.to<=t&&i.to>e)r-=i.len;else if(i.from>t)break;else if(h.isInBreak(i,t)){r-=t-i.from;break}}else if(t<e){for(let i of s)if(i.from>=t&&i.from<e)r+=i.len;else if(i.from>e)break;else if(h.isInBreak(i,t)){r+=i.to-t;break}}return r}constructor(t){this.axis=t}findBreakAt(t,e){return A(e,function(e){return e.from<t&&t<e.to})}isInAnyBreak(t,e){let i=this.axis,s=i.options.breaks||[],r=s.length,o,n,a;if(r&&G(t)){for(;r--;)h.isInBreak(s[r],t)&&(o=!0,n||(n=C(s[r].showPoints,!i.isXAxis)));a=o&&e?o&&!n:o}return a}setBreaks(t,e){let i=this,s=i.axis,r=s.chart.time,o=B(t)&&!!Object.keys(t?.[0]||{}).length;s.isDirty=(i.hasBreaks??!1)!==o,i.hasBreaks=o,t?.forEach(t=>{t.from=r.parse(t.from)||0,t.to=r.parse(t.to)||0}),t!==s.options.breaks&&(s.options.breaks=s.userOptions.breaks=t),s.forceRedraw=!0,s.series.forEach(function(t){t.isDirty=!0}),o||s.val2lin!==h.val2Lin||(delete s.val2lin,delete s.lin2val),o&&(s.userOptions.ordinal=!1,s.lin2val=h.lin2Val,s.val2lin=h.val2Lin,s.setExtremes=function(t,e,r,o,n){if(i.hasBreaks&&!s.treeGrid?.tree){let s,r=this.brokenAxis.breakArray||[];for(;s=i.findBreakAt(t,r);)t=s.to;for(;s=i.findBreakAt(e,r);)e=s.from;e<t&&(e=t)}s.constructor.prototype.setExtremes.call(this,t,e,r,o,n)},s.setAxisTranslation=function(){if(s.constructor.prototype.setAxisTranslation.call(this),i.unitLength=void 0,i.hasBreaks){let t=s.options.breaks||[],e=[],r=[],o=s.pointRangePadding??0,n=0,a,l,d=s.userMin??s.min,c=s.userMax??s.max,f=s.dataMin??d,p=s.dataMax??c,u,m;G(s.threshold)&&(f=Math.min(f??s.threshold,s.threshold),p=Math.max(p??s.threshold,s.threshold)),s.treeGrid?.tree||t.forEach(function(t){l=t.repeat||1/0,G(d)&&G(c)&&(h.isInBreak(t,d)&&(d+=t.to%l-d%l),h.isInBreak(t,c)&&(c-=c%l-t.from%l))}),G(f)&&G(p)&&t.forEach(function(t){for(u=t.from,l=t.repeat||1/0;u-l>f;)u-=l;for(;u<f;)u+=l;for(m=u;m<p;m+=l)e.push({value:m,move:"in"}),e.push({value:m+t.to-t.from,move:"out",size:t.breakSize})}),e.sort(function(t,e){return t.value===e.value?("in"!==t.move)-("in"!==e.move):t.value-e.value}),a=0,u=f,e.forEach(t=>{1===(a+="in"===t.move?1:-1)&&"in"===t.move&&(u=t.value),0===a&&G(u)&&(r.push({from:u,to:t.value,len:t.value-u-(t.size||0)}),G(d)&&G(c)&&u<c&&t.value>d&&(n+=t.value-u-(t.size||0)))}),i.breakArray=r,G(d)&&G(c)&&G(s.min)&&(i.unitLength=c-d-n+o,O(s,"afterBreaks"),s.staticScale?s.transA=s.staticScale:i.unitLength&&(s.transA*=(c-s.min+o)/i.unitLength),o&&(s.minPixelPadding=s.transA*(s.minPointOffset||0)),s.min=d,s.max=c)}}),C(e,!0)&&s.chart.redraw()}}t.Additions=h}(n||(n={}));let S=n;var j=d(532),z=d.n(j);let{dateFormats:W}=p();(o=a||(a={}))[o.top=0]="top",o[o.right=1]="right",o[o.bottom=2]="bottom",o[o.left=3]="left";function H(t,e){let i={width:0,height:0};if(e.forEach(function(e){let s=t[e],r=0,o=0,n;w(s,!0)&&(r=(n=w(s.label,!0)?s.label:{}).getBBox?n.getBBox().height:0,n.textStr&&!G(n.textPxLength)&&(n.textPxLength=n.getBBox().width),o=G(n.textPxLength)?Math.round(n.textPxLength):0,n.textStr&&(o=Math.round(n.getBBox().width)),i.height=Math.max(r,i.height),i.width=Math.max(o,i.width))}),"treegrid"===this.type&&this.treeGrid&&this.treeGrid.mapOfPosToGridNode){let t=this.treeGrid.mapOfPosToGridNode[-1].height||0;i.width+=this.options.labels.indentation*(t-1)}return i}function R(t){let{grid:e}=this,i=3===this.side;if(i||t.apply(this),!e?.isColumn){let t=e?.columns||[];i&&(t=t.slice().reverse()),t.forEach(t=>{t.getOffset()})}i&&t.apply(this)}function D(t){if(!0===(this.options.grid||{}).enabled){let{axisTitle:e,height:i,horiz:s,left:r,offset:o,opposite:n,options:l,top:h,width:d}=this,c=this.tickSize(),f=e?.getBBox().width,p=l.title.x,u=l.title.y,m=C(l.title.margin,s?5:10),g=e?this.chart.renderer.fontMetrics(e).f:0,k=(s?h+i:r)+(s?1:-1)*(n?-1:1)*(c?c[0]/2:0)+(this.side===a.bottom?g:0);t.titlePosition.x=s?r-(f||0)/2-m+p:k+(n?d:0)+o+p,t.titlePosition.y=s?k-(n?i:0)+(n?g:-g)/2+o+u:h-m+u}}function _(){let t,{chart:e,options:{grid:i={}},userOptions:s}=this;if(i.enabled&&((t=this.options).labels.align=C(t.labels.align,"center"),this.categories||(t.showLastLabel=!1),this.labelRotation=0,t.labels.rotation=0,t.minTickInterval=1),i.columns){let t=this.grid.columns=[],r=this.grid.columnIndex=0;for(;++r<i.columns.length;){let o=T(s,i.columns[r],{isInternal:!0,linkedTo:0,scrollbar:{enabled:!1}},{grid:{columns:void 0}}),n=new(z())(this.chart,o,this.coll);n.grid.isColumn=!0,n.grid.columnIndex=r,v(e.axes,n),v(e[this.coll]||[],n),t.push(n)}}}function F(){let{axisTitle:t,grid:e,options:i}=this;if(!0===(i.grid||{}).enabled){let s=this.min||0,r=this.max||0,o=this.ticks[this.tickPositions[0]];if(t&&!this.chart.styledMode&&o?.slotWidth&&!this.options.title.style.width&&t.css({width:`${o.slotWidth}px`}),this.maxLabelDimensions=this.getMaxLabelDimensions(this.ticks,this.tickPositions),this.rightWall&&this.rightWall.destroy(),this.grid?.isOuterAxis()&&this.axisLine){let t=i.lineWidth;if(t){let e=this.getLinePath(t),o=e[0],n=e[1],l=(this.tickSize("tick")||[1])[0]*(this.side===a.top||this.side===a.left?-1:1);if("M"===o[0]&&"L"===n[0]&&(this.horiz?(o[2]+=l,n[2]+=l):(o[1]+=l,n[1]+=l)),!this.horiz&&this.chart.marginRight){let t=["L",this.left,o[2]||0],e=[o,t],a=["L",this.chart.chartWidth-this.chart.marginRight,this.toPixels(r+this.tickmarkOffset)],l=[["M",n[1]||0,this.toPixels(r+this.tickmarkOffset)],a];this.grid.upperBorder||s%1==0||(this.grid.upperBorder=this.grid.renderBorder(e)),this.grid.upperBorder&&(this.grid.upperBorder.attr({stroke:i.lineColor,"stroke-width":i.lineWidth}),this.grid.upperBorder.animate({d:e})),this.grid.lowerBorder||r%1==0||(this.grid.lowerBorder=this.grid.renderBorder(l)),this.grid.lowerBorder&&(this.grid.lowerBorder.attr({stroke:i.lineColor,"stroke-width":i.lineWidth}),this.grid.lowerBorder.animate({d:l}))}this.grid.axisLineExtra?(this.grid.axisLineExtra.attr({stroke:i.lineColor,"stroke-width":i.lineWidth}),this.grid.axisLineExtra.animate({d:e})):this.grid.axisLineExtra=this.grid.renderBorder(e),this.axisLine[this.showAxis?"show":"hide"]()}}if((e?.columns||[]).forEach(t=>t.render()),!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent?.scrollbar)&&this.tickPositions.length){let t,e,i=this.tickmarkOffset,o=this.tickPositions[this.tickPositions.length-1],n=this.tickPositions[0];for(;(t=this.hiddenLabels.pop())&&t.element;)t.show();for(;(e=this.hiddenMarks.pop())&&e.element;)e.show();(t=this.ticks[n].label)&&(s-n>i?this.hiddenLabels.push(t.hide()):t.show()),(t=this.ticks[o].label)&&(o-r>i?this.hiddenLabels.push(t.hide()):t.show());let a=this.ticks[o].mark;a&&o-r<i&&o-r>0&&this.ticks[o].isLast&&this.hiddenMarks.push(a.hide())}}}function V(){let t=this.tickPositions?.info,e=this.options,i=e.grid||{},s=this.userOptions.labels||{};i.enabled&&(this.horiz?(this.series.forEach(t=>{t.options.pointRange=0}),t&&e.dateTimeLabelFormats&&e.labels&&!y(s.align)&&(!1===e.dateTimeLabelFormats[t.unitName].range||t.count>1)&&(e.labels.align="left",y(s.x)||(e.labels.x=3))):"treegrid"!==this.type&&this.grid&&this.grid.columns&&(this.minPointOffset=this.tickInterval))}function X(t){let e,i=this.options,s=t.userOptions,r=i&&w(i.grid,!0)?i.grid:{};!0===r.enabled&&(e=T(!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&&(y(s.linkedTo)&&!y(s.tickPixelInterval)&&(e.tickPixelInterval=350),!(!y(s.tickPixelInterval)&&y(s.linkedTo))||y(s.tickPositioner)||y(s.tickInterval)||y(s.units)||(e.tickPositioner=function(t,i){let s=this.linkedParent?.tickPositions?.info;if(s){let r=e.units||[],o,n=1,a="year";for(let t=0;t<r.length;t++){let e=r[t];if(e&&e[0]===s.unitName){o=t;break}}let l=G(o)&&r[o+1];if(l){a=l[0]||"year";let t=l[1];n=t?.[0]||1}else"year"===s.unitName&&(n=10*s.count);let h=f.timeUnits[a];return this.tickInterval=h*n,this.chart.time.getTimeTicks({unitRange:h,count:n,unitName:a},t,i,this.options.startOfWeek)}})),T(!0,this.options,e),this.horiz&&(i.minPadding=C(s.minPadding,0),i.maxPadding=C(s.maxPadding,0)),G(i.grid.borderWidth)&&(i.tickWidth=i.lineWidth=r.borderWidth))}function q(t){let e=t.userOptions,i=e?.grid||{},s=i.columns;i.enabled&&s&&T(!0,this.options,s[0])}function U(){(this.grid.columns||[]).forEach(t=>t.setScale())}function $(t){let{horiz:e,maxLabelDimensions:i,options:{grid:s={}}}=this;if(s.enabled&&i){let r=2*this.options.labels.distance,o=e?s.cellHeight||r+i.height:r+i.width;B(t.tickSize)?t.tickSize[0]=o:t.tickSize=[o,0]}}function K(){this.axes.forEach(t=>{(t.grid?.columns||[]).forEach(t=>{t.setAxisSize(),t.setAxisTranslation()})})}function Y(t){let{grid:e}=this;(e.columns||[]).forEach(e=>e.destroy(t.keepEvents)),e.columns=void 0}function J(t){let e=t.userOptions||{},i=e.grid||{};i.enabled&&y(i.borderColor)&&(e.tickColor=e.lineColor=i.borderColor),this.grid||(this.grid=new ti(this)),this.hiddenLabels=[],this.hiddenMarks=[]}function Q(t){let e=this.label,i=this.axis,s=i.reversed,r=i.chart,o=i.options.grid||{},n=i.options.labels,l=n.align,h=a[i.side],d=t.tickmarkOffset,c=i.tickPositions,f=this.pos-d,p=G(c[t.index+1])?c[t.index+1]-d:(i.max||0)+d,u=i.tickSize("tick"),m=u?u[0]:0,g=u?u[1]/2:0;if(!0===o.enabled){let o,a,d,c;if("top"===h?a=(o=i.top+i.offset)-m:"bottom"===h?o=(a=r.chartHeight-i.bottom+i.offset)+m:(o=i.top+i.len-(i.translate(s?p:f)||0),a=i.top+i.len-(i.translate(s?f:p)||0)),"right"===h?c=(d=r.chartWidth-i.right+i.offset)+m:"left"===h?d=(c=i.left+i.offset)-m:(d=Math.round(i.left+(i.translate(s?p:f)||0))-g,c=Math.min(Math.round(i.left+(i.translate(s?f:p)||0))-g,i.left+i.len)),this.slotWidth=c-d,t.pos.x="left"===l?d:"right"===l?c:d+(c-d)/2,t.pos.y=a+(o-a)/2,e){let i=r.renderer.fontMetrics(e),s=e.getBBox().height;if(n.useHTML)t.pos.y+=i.b+-(s/2);else{let e=Math.round(s/i.h);t.pos.y+=(i.b-(i.h-i.f))/2+-((e-1)*i.h/2)}}t.pos.x+=i.horiz&&n.x||0}}function Z(t){let{axis:e,value:i}=t;if(e.options.grid?.enabled){let s,r=e.tickPositions,o=(e.linkedParent||e).series[0],n=i===r[0],a=i===r[r.length-1],l=o&&A(o.options.data,function(t){return t[e.isXAxis?"x":"y"]===i});l&&o.is("gantt")&&(s=T(l),p().seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(s,e.chart)),t.isFirst=n,t.isLast=a,t.point=s}}function tt(){let t=this.options,e=t.grid||{},i=this.categories,s=this.tickPositions,r=s[0],o=s[1],n=s[s.length-1],a=s[s.length-2],l=this.linkedParent?.min,h=this.linkedParent?.max,d=l||this.min,c=h||this.max,f=this.tickInterval,p=G(d)&&d>=r+f&&d<o,u=G(d)&&r<d&&r+f>d,m=G(c)&&n>c&&n-f<c,g=G(c)&&c<=n-f&&c>a;!0===e.enabled&&!i&&(this.isXAxis||this.isLinked)&&((u||p)&&!t.startOnTick&&(s[0]=d),(m||g)&&!t.endOnTick&&(s[s.length-1]=c))}function te(t){var e;let{options:{grid:i={}}}=this;return!0===i.enabled&&this.categories?this.tickInterval:t.apply(this,(e=arguments,Array.prototype.slice.call(e,1)))}class ti{constructor(t){this.axis=t}isOuterAxis(){let t=this.axis,e=t.chart,i=t.grid.columnIndex,s=t.linkedParent?.grid.columns||t.grid.columns||[],r=i?t.linkedParent:t,o=-1,n=0;return 3===t.side&&!e.inverted&&s.length?!t.linkedParent:((e[t.coll]||[]).forEach((e,i)=>{e.side!==t.side||e.options.isInternal||(n=i,e===r&&(o=i))}),n===o&&(!G(i)||s.length===i))}renderBorder(t){let e=this.axis,i=e.chart.renderer,s=e.options,r=i.path(t).addClass("highcharts-axis-line").add(e.axisGroup);return i.styledMode||r.attr({stroke:s.lineColor,"stroke-width":s.lineWidth,zIndex:7}),r}}W.E=function(t){return this.dateFormat("%a",t,!0).charAt(0)},W.W=function(t){let e=this.toParts(t),i=(e[7]+6)%7,s=e.slice(0);s[2]=e[2]-i+3;let r=this.toParts(this.makeTime(s[0],0,1));return 4!==r[7]&&(e[1]=0,e[2]=1+(11-r[7])%7),(1+Math.floor((this.makeTime(s[0],s[1],s[2])-this.makeTime(r[0],r[1],r[2]))/6048e5)).toString()};function ts(t,e,i,s,r,o){let n=o&&o.after,a=o&&o.before,l={data:s,depth:i-1,id:t,level:i,parent:e||""},h=0,d=0,c,f;"function"==typeof a&&a(l,o);let p=(r[t]||[]).map(e=>{let s=ts(e.id,t,i+1,e,r,o),n=e.start||NaN,a=!0===e.milestone?n:e.end||NaN;return c=!G(c)||n<c?n:c,f=!G(f)||a>f?a:f,h=h+1+s.descendants,d=Math.max(s.height+1,d),s});return s&&(s.start=C(s.start,c),s.end=C(s.end,f)),P(l,{children:p,descendants:h,height:d}),"function"==typeof n&&n(l,o),l}let tr=function(t,e){let i,s;return ts("",null,1,null,(i=[],Object.keys(s=t.reduce((t,e)=>{let{parent:s="",id:r}=e;return void 0===t[s]&&(t[s]=[]),t[s].push(e),r&&i.push(r),t},{})).forEach(t=>{if(""!==t&&-1===i.indexOf(t)){let e=s[t].map(function(t){let{...e}=t;return e});s[""].push(...e),delete s[t]}}),s),e)};function to(){this.treeGrid||(this.treeGrid=new tl(this))}function tn(t,e,i,s,r,o,n,a,l){let h,d,c,f=C(this.options?.labels,o),p=this.pos,u=this.axis,m="treegrid"===u.type,g=t.apply(this,[e,i,s,r,f,n,a,l]);if(m){let{width:t=0,padding:e=5*!u.linkedParent}=f&&w(f.symbol,!0)?f.symbol:{},i=f&&G(f.indentation)?f.indentation:0;h=u.treeGrid.mapOfPosToGridNode,d=h?.[p],c=d?.depth||1,g.x+=t+2*e+(c-1)*i}return g}function ta(t){let e,{pos:i,axis:s,label:r,treeGrid:o,options:n}=this,a=o?.labelIcon,l=r?.element,{treeGrid:h,options:d,chart:c,tickPositions:f}=s,p=h.mapOfPosToGridNode,u=C(n?.labels,d?.labels),m=u&&w(u.symbol,!0)?u.symbol:{},g=p?.[i],{descendants:k,depth:b}=g||{},y=g&&k&&k>0,v="treegrid"===s.type&&l,P=f.indexOf(i)>-1,O="highcharts-treegrid-node-",A=O+"level-",E=c.styledMode;if(v&&g&&r.removeClass(RegExp(A+".*")).addClass(A+b),t.apply(this,Array.prototype.slice.call(arguments,1)),v&&y){var I;let t,i,s,n,l,d,c,f,p,k,b,y;e=h.isCollapsed(g),I={color:!E&&r.styles.color||"",collapsed:e,group:r.parentGroup,options:m,renderer:r.renderer,show:P,xy:r.xy},i=!(t=this.treeGrid).labelIcon,s=I.renderer,n=I.xy,d=(l=I.options).width||0,c=l.height||0,f=l.padding??this.axis.linkedParent?0:5,p={x:n.x-d/2-f,y:n.y-c/2},k=I.collapsed?90:180,b=I.show&&G(p.y),(y=t.labelIcon)||(t.labelIcon=y=s.path(s.symbols[l.type](l.x||0,l.y||0,d,c)).addClass("highcharts-label-icon").add(I.group)),y[b?"show":"hide"](),s.styledMode||y.attr({cursor:"pointer",fill:C(I.color,"#666666"),"stroke-width":1,stroke:l.lineColor,strokeWidth:l.lineWidth||0}),y[i?"attr":"animate"]({translateX:p.x,translateY:p.y,rotation:k}),r.addClass(O+(e?"collapsed":"expanded")).removeClass(O+(e?"expanded":"collapsed")),E||r.css({cursor:"pointer"}),[r,a].forEach(t=>{t&&!t.attachedTreeGridEvents&&(x(t.element,"mouseover",function(){r.addClass("highcharts-treegrid-node-active"),r.renderer.styledMode||r.css({textDecoration:"underline"})}),x(t.element,"mouseout",function(){let t;t=w(u.style)?u.style:{},r.removeClass("highcharts-treegrid-node-active"),r.renderer.styledMode||r.css({textDecoration:t.textDecoration||"none"})}),x(t.element,"click",function(){o.toggleCollapse()}),t.attachedTreeGridEvents=!0)})}else a&&(L(l),r?.css({cursor:"default"}),a.destroy(),o.labelIcon=void 0)}class tl{static compose(t){let e=t.prototype;e.toggleCollapse||(x(t,"init",to),N(e,"getLabelPosition",tn),N(e,"renderLabel",ta),e.collapse=function(t){this.treeGrid.collapse(t)},e.expand=function(t){this.treeGrid.expand(t)},e.toggleCollapse=function(t){this.treeGrid.toggleCollapse(t)})}constructor(t){this.tick=t}collapse(t){let{pos:e,axis:i}=this.tick,{treeGrid:s,brokenAxis:r}=i,o=s.mapOfPosToGridNode;r&&o&&r.setBreaks(s.collapse(o[e]),t??!0)}destroy(){this.labelIcon?.destroy()}expand(t){let{pos:e,axis:i}=this.tick,{treeGrid:s,brokenAxis:r}=i,o=s.mapOfPosToGridNode;r&&o&&r.setBreaks(s.expand(o[e]),t??!0)}toggleCollapse(t=!0){let{axis:e,pos:i}=this.tick,{brokenAxis:s,treeGrid:r}=e;if(s&&r.mapOfPosToGridNode){let o=!!(e.scrollbar&&e.staticScale),n=e.pos+e.len+(r.pendingSizeAdjustment||0);if(r.pendingSizeAdjustment=0,s.setBreaks(r.toggleCollapse(r.mapOfPosToGridNode[i]),o&&t),o){let t=e.toValue(e.toPixels(e.dataMax)),i=e.toValue(n)-e.tickmarkOffset,s=e.userMin??e.min;if(r.adjustedMax=t!==e.dataMax?t-e.tickmarkOffset:void 0,i>e.dataMax){let t=n-e.toPixels(e.dataMax+e.tickmarkOffset);i=r.adjustedMax??e.dataMax,(s=e.toValue(e.toPixels(s-e.tickmarkOffset)-t)+e.tickmarkOffset)<e.dataMin&&(t=e.toPixels(e.dataMin)-e.toPixels(s),s=e.dataMin,r.pendingSizeAdjustment=t)}e.setExtremes(b(s),b(i),!1,!1,{trigger:"toggleCollapse"})}t&&e.chart.redraw()}}}var th=d(620),td=d.n(th);let{getLevelOptions:tc}={getColor:function(t,e){let i,s,r,o,n,a,l=e.index,h=e.mapOptionsToLevel,d=e.parentColor,c=e.parentColorIndex,f=e.series,p=e.colors,u=e.siblings,m=f.points,g=f.chart.options.chart;if(t){let k;i=m[t.i],s=h[t.level]||{},i&&s.colorByPoint&&(o=i.index%(p?p.length:g.colorCount),r=p&&p[o]),f.chart.styledMode||(n=C(i&&i.options.color,s&&s.color,r,d&&((k=s&&s.colorVariation)&&"brightness"===k.key&&l&&u?td().parse(d).brighten(k.to*(l/u)).get():d),f.color)),a=C(i&&i.options.colorIndex,s&&s.colorIndex,o,c,e.colorIndex)}return{color:n,colorIndex:a}},getLevelOptions:function(t){let e,i,s,r,o,n,a={};if(w(t))for(r=G(t.from)?t.from:1,n=t.levels,i={},e=w(t.defaults)?t.defaults:{},B(n)&&(i=n.reduce((t,i)=>{let s,o,n;return w(i)&&G(i.level)&&(o=C((n=T({},i)).levelIsConstant,e.levelIsConstant),delete n.levelIsConstant,delete n.level,w(t[s=i.level+(o?0:r-1)])?T(!0,t[s],n):t[s]=n),t},{})),o=G(t.to)?t.to:1,s=0;s<=o;s++)a[s]=T({},e,w(i[s])?i[s]:{});return a},getNodeWidth:function(t,e){let{chart:i,options:s}=t,{nodeDistance:r=0,nodeWidth:o=0}=s,{plotSizeX:n=1}=i;if("auto"===o){if("string"==typeof r&&/%$/.test(r))return n/(e+parseFloat(r)/100*(e-1));let t=Number(r);return(n+t)/(e||1)-t}return/%$/.test(o)?n*parseFloat(o)/100+0:parseFloat(o)},setTreeValues:function t(e,i){let s=i.before,r=i.idRoot,o=i.mapIdToNode[r],n=!1!==i.levelIsConstant,a=i.points[e.i],l=a&&a.options||{},h=[],d=0;e.levelDynamic=e.level-(n?0:o.level),e.name=C(a&&a.name,""),e.visible=r===e.id||!0===i.visible,"function"==typeof s&&(e=s(e,i)),e.children.forEach((s,r)=>{let o=P({},i);P(o,{index:r,siblings:e.children.length,visible:e.visible}),s=t(s,o),h.push(s),s.visible&&(d+=s.val)});let c=C(l.value,d);return e.visible=c>=0&&(d>0||e.visible),e.children=h,e.childrenTotal=d,e.isLeaf=e.visible&&!d,e.val=c,e},updateRootId:function(t){let e,i;return w(t)&&(i=w(t.options)?t.options:{},e=C(t.rootNode,i.rootId,""),w(t.userOptions)&&(t.userOptions.rootId=e),t.rootNode=e),e}};function tf(t){return{from:t.collapseStart||0,to:t.collapseEnd||0,showPoints:!1}}function tp(t,e,i){var s;let r,o=[],n=[],a={},l=e||!1,h={},d=-1,c=tr(t,{after:function(t){let e=h[t.pos],i=0,s=0;e.children.forEach(function(t){s+=(t.descendants||0)+1,i=Math.max((t.height||0)+1,i)}),e.descendants=s,e.height=i,e.collapsed&&n.push(e)},before:function(t){let e,i,s=w(t.data,!0)?t.data:{},r=I(s.name)?s.name:"",n=a[t.parent],c=w(n,!0)?h[n.pos]:null;l&&w(c,!0)&&(e=A(c.children,function(t){return t.name===r}))?(i=e.pos,e.nodes.push(t)):i=d++,!h[i]&&(h[i]=e={depth:c?c.depth+1:0,name:r,id:s.id,nodes:[t],children:[],pos:i},-1!==i&&o.push(r),w(c,!0)&&c.children.push(e)),I(t.id)&&(a[t.id]=t),e&&!0===s.collapsed&&(e.collapsed=!0),t.pos=i}});return s=h,{categories:o,mapOfIdToNode:a,mapOfPosToGridNode:h=(r=function(t,e,s){let o=t.nodes,n=e+(-1===e?0:i-1),a=(n-e)/2,l=e+a;return o.forEach(function(t){let i=t.data;w(i,!0)&&(i.y=e+(i.seriesIndex||0),delete i.seriesIndex),t.pos=l}),s[l]=t,t.pos=l,t.tickmarkOffset=a+.5,t.collapseStart=n+.5,t.children.forEach(function(t){r(t,n+1,s),n=(t.collapseEnd||0)-.5}),t.collapseEnd=n+.5,s})(s["-1"],-1,{}),collapsedNodes:n,tree:c}}function tu(t){let e=t.target;e.axes.filter(t=>"treegrid"===t.type).forEach(function(i){let s=i.options,r=s.labels,o=i.uniqueNames,n=e.time.parse(s.max),a=!i.treeGrid.mapOfPosToGridNode||i.series.some(function(t){return!t.hasRendered||t.isDirtyData||t.isDirty}),l=0,h,d;if(a){let s=[];if(h=i.series.reduce(function(t,i){let r=i.options.data||[],n=r[0],a=Array.isArray(n)&&!n.find(t=>"object"==typeof t);return s.push(a),i.visible&&(r.forEach(function(s){(a||i.options.keys?.length)&&(s=i.pointClass.prototype.optionsToObject.call({series:i},s),i.pointClass.setGanttPointAliases(s,e)),w(s,!0)&&(s.seriesIndex=l,t.push(s))}),!0===o&&l++),t},[]),n&&h.length<n)for(let t=h.length;t<=n;t++)h.push({name:t+""});i.categories=(d=tp(h,o||!1,!0===o?l:1)).categories,i.treeGrid.mapOfPosToGridNode=d.mapOfPosToGridNode,i.hasNames=!0,i.treeGrid.tree=d.tree,i.series.forEach(function(t,e){let i=(t.options.data||[]).map(function(i){return(s[e]||B(i)&&t.options.keys?.length)&&h.forEach(function(t){var e;let s=B(e=i)?e:[e];s.indexOf(t.x||0)>=0&&s.indexOf(t.x2||0)>=0&&(i=t)}),w(i,!0)?T(i):i});t.visible&&t.setData(i,!1)}),i.treeGrid.mapOptionsToLevel=tc({defaults:r,from:1,levels:r?.levels,to:i.treeGrid.tree?.height}),"beforeRender"===t.type&&(i.treeGrid.collapsedNodes=d.collapsedNodes)}})}function tm(t,e){let i=this.treeGrid.mapOptionsToLevel||{},s="treegrid"===this.type,o=this.ticks,n=o[e],a,l,h;s&&this.treeGrid.mapOfPosToGridNode?((a=i[(h=this.treeGrid.mapOfPosToGridNode[e]).depth])&&(l={labels:a}),!n&&r?o[e]=n=new r(this,e,void 0,void 0,{category:h.name,tickmarkOffset:h.tickmarkOffset,options:l}):(n.parameters.category=h.name,n.options=l,n.addLabel())):t.apply(this,Array.prototype.slice.call(arguments,1))}function tg(t,e,i,s){let r=this,o="treegrid"===i.type;r.treeGrid||(r.treeGrid=new tb(r)),o&&(x(e,"beforeRender",tu),x(e,"beforeRedraw",tu),x(e,"addSeries",function(t){if(t.options.data){let e=tp(t.options.data,i.uniqueNames||!1,1);r.treeGrid.collapsedNodes=(r.treeGrid.collapsedNodes||[]).concat(e.collapsedNodes)}}),x(r,"foundExtremes",function(){r.treeGrid.collapsedNodes?.forEach(function(t){let e=r.treeGrid.collapse(t);r.brokenAxis&&(r.brokenAxis.setBreaks(e,!1),r.treeGrid.collapsedNodes&&(r.treeGrid.collapsedNodes=r.treeGrid.collapsedNodes.filter(e=>t.collapseStart!==e.collapseStart||t.collapseEnd!==e.collapseEnd)))})}),x(r,"afterBreaks",function(){"yAxis"===r.coll&&!r.staticScale&&r.chart.options.chart.height&&(r.isDirty=!0)}),i=T({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})),t.apply(r,[e,i,s]),o&&(r.hasNames=!0,r.options.showLastLabel=!0)}function tk(t){let e=this.options,i=this.chart.time,s="number"==typeof e.linkedTo?this.chart[this.coll]?.[e.linkedTo]:void 0;if("treegrid"===this.type){if(this.min=this.userMin??i.parse(e.min)??this.dataMin,this.max=this.userMax??i.parse(e.max)??this.dataMax,O(this,"foundExtremes"),this.setAxisTranslation(),this.tickInterval=1,this.tickmarkOffset=.5,this.tickPositions=this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[],s){let t=s.getExtremes();this.min=t.min??t.dataMin,this.max=t.max??t.dataMax,this.tickPositions=s.tickPositions}this.linkedParent=s}else t.apply(this,Array.prototype.slice.call(arguments,1))}function tx(t){let e=this;"treegrid"===this.type&&e.visible&&e.tickPositions.forEach(function(t){let i=e.ticks[t];i.label?.attachedTreeGridEvents&&(L(i.label.element),i.label.attachedTreeGridEvents=!1)}),t.apply(e,Array.prototype.slice.call(arguments,1))}class tb{static compose(t,e,i,s){var o,n,a;if(!t.keepProps.includes("treeGrid")){let e=t.prototype;t.keepProps.push("treeGrid"),N(e,"generateTick",tm),N(e,"init",tg),N(e,"setTickInterval",tk),N(e,"redraw",tx),e.utils={getNode:ts},r||(r=s)}return o=t,n=e,a=s,o.keepProps.includes("grid")||(o.keepProps.push("grid"),o.prototype.getMaxLabelDimensions=H,N(o.prototype,"unsquish",te),N(o.prototype,"getOffset",R),x(o,"init",J),x(o,"afterGetTitlePosition",D),x(o,"afterInit",_),x(o,"afterRender",F),x(o,"afterSetAxisTranslation",V),x(o,"afterSetOptions",X),x(o,"afterSetOptions",q),x(o,"afterSetScale",U),x(o,"afterTickSize",$),x(o,"trimTicks",tt),x(o,"destroy",Y),x(n,"afterSetChartSize",K),x(a,"afterGetLabelPosition",Q),x(a,"labelFormat",Z)),S.compose(t,i),tl.compose(s),t}constructor(t){this.pendingSizeAdjustment=0,this.axis=t}setCollapsedStatus(t){let e=this.axis,i=e.chart;e.series.forEach(function(e){let s=e.options.data;if(t.id&&s){let r=i.get(t.id),o=s[e.data.indexOf(r)];r&&o&&(r.collapsed=t.collapsed,o.collapsed=t.collapsed)}})}collapse(t){let e=this.axis,i=e.options.breaks||[],s=tf(t);return i.push(s),t.collapsed=!0,e.treeGrid.setCollapsedStatus(t),i}expand(t){let e=this.axis,i=tf(t);return t.collapsed=!1,e.treeGrid.setCollapsedStatus(t),e.options.breaks?.reduce(function(t,e){return(e.to!==i.to||e.from!==i.from)&&t.push(e),t},[])||[]}getTickPositions(){let t=this.axis,e=Math.floor(t.min/t.tickInterval)*t.tickInterval,i=Math.ceil(t.max/t.tickInterval)*t.tickInterval;return Object.keys(t.treeGrid.mapOfPosToGridNode||{}).reduce(function(s,r){let o=+r;return o>=e&&o<=i&&!t.brokenAxis?.isInAnyBreak(o)&&s.push(o),s},[])}isCollapsed(t){let e=this.axis.options.breaks||[],i=tf(t);return e.some(function(t){return t.from===i.from&&t.to===i.to})}toggleCollapse(t){return this.isCollapsed(t)?this.expand(t):this.collapse(t)}}let ty=p();tb.compose(ty.Axis,ty.Chart,ty.Series,ty.Tick);let tv=p();return c.default})());