highcharts
Version:
JavaScript charting framework
14 lines • 22 kB
JavaScript
!/**
* Highcharts JS v12.5.0 (2026-01-12)
* @module highcharts/modules/drilldown
* @requires highcharts
*
* Highcharts Drilldown module
*
* (c) 2009-2026 Highsoft AS
*
* Author: Torstein Honsi
* 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.Templating):"function"==typeof define&&define.amd?define("highcharts/modules/drilldown",["highcharts/highcharts"],function(t){return e(t,t.Templating)}):"object"==typeof exports?exports["highcharts/modules/drilldown"]=e(t._Highcharts,t._Highcharts.Templating):t.Highcharts=e(t.Highcharts,t.Highcharts.Templating)}("u"<typeof window?this:window,(t,e)=>(()=>{"use strict";var i,o={944:e=>{e.exports=t},984:t=>{t.exports=e}},r={};function l(t){var e=r[t];if(void 0!==e)return e.exports;var i=r[t]={exports:{}};return o[t](i,i.exports,l),i.exports}l.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return l.d(e,{a:e}),e},l.d=(t,e)=>{for(var i in e)l.o(e,i)&&!l.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},l.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var s={};l.d(s,{default:()=>tb});var n=l(944),a=l.n(n);let d={mainBreadcrumb:"Main"};var p=l(984);let{format:h}=l.n(p)(),{composed:u}=a(),{addEvent:c,defined:m,extend:w,fireEvent:f,isString:g,merge:b,objectEach:v,pick:y,pushUnique:x}=a();function D(){if(this.breadcrumbs){let t=this.resetZoomButton&&this.resetZoomButton.getBBox(),e=this.breadcrumbs.options;t&&"right"===e.position.align&&"plotBox"===e.relativeTo&&this.breadcrumbs.alignBreadcrumbsGroup(-t.width-e.buttonSpacing)}}function S(){this.breadcrumbs&&(this.breadcrumbs.destroy(),this.breadcrumbs=void 0)}function B(){let t=this.breadcrumbs;if(t&&!t.options.floating&&t.level){let e=t.options,i=e.buttonTheme,o=(i.height||0)+2*(i.padding||0)+e.buttonSpacing,r=e.position.verticalAlign;"bottom"===r?(this.marginBottom=(this.marginBottom||0)+o,t.yOffset=o):"middle"!==r?(this.plotTop+=o,t.yOffset=-o):t.yOffset=void 0}}function L(){this.breadcrumbs&&this.breadcrumbs.redraw()}function O(t){!0===t.resetSelection&&this.breadcrumbs&&this.breadcrumbs.alignBreadcrumbsGroup()}class A{static compose(t,e){x(u,"Breadcrumbs")&&(c(t,"destroy",S),c(t,"afterShowResetZoom",D),c(t,"getMargins",B),c(t,"redraw",L),c(t,"selection",O),w(e.lang,d))}constructor(t,e){this.elementList={},this.isDirty=!0,this.level=0,this.list=[];const i=b(t.options.drilldown&&t.options.drilldown.drillUpButton,A.defaultOptions,t.options.navigation&&t.options.navigation.breadcrumbs,e);this.chart=t,this.options=i||{}}updateProperties(t){this.setList(t),this.setLevel(),this.isDirty=!0}setList(t){this.list=t}setLevel(){this.level=this.list.length&&this.list.length-1}getLevel(){return this.level}getButtonText(t){let e=this.chart,i=this.options,o=e.options.lang,r=y(i.format,i.showFullPath?"{level.name}":"← {level.name}"),l=o&&y(o.drillUpText,o.mainBreadcrumb),s=i.formatter&&i.formatter(t)||h(r,{level:t.levelOptions},e)||"";return(g(s)&&!s.length||"← "===s)&&m(l)&&(s=i.showFullPath?l:"← "+l),s}redraw(){this.isDirty&&this.render(),this.group&&this.group.align(),this.isDirty=!1}render(){let t=this.chart,e=this.options;!this.group&&e&&(this.group=t.renderer.g("breadcrumbs-group").addClass("highcharts-no-tooltip highcharts-breadcrumbs").attr({zIndex:e.zIndex}).add()),e.showFullPath?this.renderFullPathButtons():this.renderSingleButton(),this.alignBreadcrumbsGroup()}renderFullPathButtons(){this.destroySingleButton(),this.resetElementListState(),this.updateListElements(),this.destroyListElements()}renderSingleButton(){let t=this.chart,e=this.list,i=this.options.buttonSpacing;this.destroyListElements();let o=this.group?this.group.getBBox().width:i,r=e[e.length-2];!t.drillUpButton&&this.level>0?t.drillUpButton=this.renderButton(r,o,i):t.drillUpButton&&(this.level>0?this.updateSingleButton():this.destroySingleButton())}alignBreadcrumbsGroup(t){if(this.group){let e=this.options,i=e.buttonTheme,o=e.position,r="chart"===e.relativeTo||"spacingBox"===e.relativeTo?void 0:"plotBox",l=this.group.getBBox(),s=2*(i.padding||0)+e.buttonSpacing;o.width=l.width+s,o.height=l.height+s;let n=b(o);t&&(n.x+=t),this.options.rtl&&(n.x+=o.width),n.y=y(n.y,this.yOffset,0),this.group.align(n,!0,r)}}renderButton(t,e,i){let o=this,r=this.chart,l=o.options,s=b(l.buttonTheme),n=r.renderer.button(o.getButtonText(t),e,i,function(e){let i,r=l.events&&l.events.click;r&&(i=r.call(o,e,t)),!1!==i&&(l.showFullPath?e.newLevel=t.level:e.newLevel=o.level-1,f(o,"up",e))},s).addClass("highcharts-breadcrumbs-button").add(o.group);return r.styledMode||n.attr(l.style),n}renderSeparator(t,e){let i=this.chart,o=this.options.separator,r=i.renderer.label(o.text,t,e,void 0,void 0,void 0,!1).addClass("highcharts-breadcrumbs-separator").add(this.group);return i.styledMode||r.css(o.style),r}update(t){b(!0,this.options,t),this.destroy(),this.isDirty=!0}updateSingleButton(){let t=this.chart,e=this.list[this.level-1];t.drillUpButton&&t.drillUpButton.attr({text:this.getButtonText(e)})}destroy(){this.destroySingleButton(),this.destroyListElements(!0),this.group&&this.group.destroy(),this.group=void 0}destroyListElements(t){let e=this.elementList;v(e,(i,o)=>{(t||!e[o].updated)&&((i=e[o]).button&&i.button.destroy(),i.separator&&i.separator.destroy(),delete i.button,delete i.separator,delete e[o])}),t&&(this.elementList={})}destroySingleButton(){this.chart.drillUpButton&&(this.chart.drillUpButton.destroy(),this.chart.drillUpButton=void 0)}resetElementListState(){v(this.elementList,t=>{t.updated=!1})}updateListElements(){let t=this.elementList,e=this.options.buttonSpacing,i=this.list,o=this.options.rtl,r=o?-1:1,l=function(t,e){return r*t.getBBox().width+r*e},s=function(t,e,i){t.translate(e-t.getBBox().width,i)},n=this.group?l(this.group,e):e,a,d;for(let p=0,h=i.length;p<h;++p){let u,c,m=p===h-1;t[(d=i[p]).level]?(u=(a=t[d.level]).button,a.separator||m?a.separator&&m&&(a.separator.destroy(),delete a.separator):(n+=r*e,a.separator=this.renderSeparator(n,e),o&&s(a.separator,n,e),n+=l(a.separator,e)),t[d.level].updated=!0):(u=this.renderButton(d,n,e),o&&s(u,n,e),n+=l(u,e),m||(c=this.renderSeparator(n,e),o&&s(c,n,e),n+=l(c,e)),t[d.level]={button:u,separator:c,updated:!0}),u&&u.setState(2*!!m)}}}A.defaultOptions={buttonSpacing:5,buttonTheme:{fill:"none",height:18,padding:2,"stroke-width":0,zIndex:7,states:{select:{fill:"none"}},style:{color:"#334eff"}},floating:!1,format:void 0,relativeTo:"plotBox",rtl:!1,position:{align:"left",verticalAlign:"top",x:0,y:void 0},separator:{text:"/",style:{color:"#666666",fontSize:"0.8em"}},showFullPath:!0,style:{},useHTML:!1,zIndex:7};let T={activeAxisLabelStyle:{cursor:"pointer",color:"#0022ff",fontWeight:"bold",textDecoration:"underline"},activeDataLabelStyle:{cursor:"pointer",color:"#0022ff",fontWeight:"bold",textDecoration:"underline"},animation:{duration:500},drillUpButton:{position:{align:"right",x:-10,y:10}},mapZooming:!0},{animObject:E}=a(),{addEvent:P,extend:C,fireEvent:M,merge:I,pick:V,syncTimeout:k}=a();function Z(t,e,i,o){t[i?"addClass":"removeClass"]("highcharts-drilldown-point"),o||t.css({cursor:e})}function _(t){let e=this,i=e.chart,{drilldownLevels:o,styledMode:r}=i,l=E(i.options.drilldown?.animation),s=this.xAxis;if(!t){let t;o?.forEach(i=>{e.options._ddSeriesId===i.lowerSeriesOptions._ddSeriesId&&(t=i.shapeArgs,!r&&t&&(t.fill=i.color))}),t.x+=V(s.oldPos,s.pos)-s.pos,e.points.forEach(i=>{let o=i.shapeArgs;r||(o.fill=i.color),i.graphic&&i.graphic.attr(t).animate(C(i.shapeArgs,{fill:i.color||e.color}),l)}),this.dataLabelsGroups?.forEach(t=>i.drilldown?.fadeInGroup(t)),delete this.animate}}function G(t){let e=this,i=E((e.chart.options.drilldown||{}).animation);e.trackerGroups?.forEach(t=>{"dataLabelsGroup"===t?e.dataLabelsGroups?.forEach(t=>{t?.on("mouseover",()=>{})}):e[t]?.on("mouseover")});let o=e.group,r=o!==e.chart.columnGroup;r&&delete e.group,(this.points||this.data).forEach(l=>{let s=l.graphic,n=t.shapeArgs;if(s&&n){let a=()=>{s.destroy(),o&&r&&(o=o.destroy())};delete l.graphic,e.chart.styledMode||(n.fill=t.color),i.duration?s.animate(n,I(i,{complete:a})):(s.attr(n),a())}})}function N(t){let e=this,i=e.drilldownLevel;t||(e.points.forEach(t=>{let e=t.dataLabel;t.graphic&&t.graphic.hide(),e&&(e.hidden="hidden"===e.attr("visibility"),e.hidden||(e.hide(),e.connector?.hide()))}),k(()=>{if(e.points){let t=[];e.data.forEach(e=>{t.push(e)}),e.nodes&&(t=t.concat(e.nodes)),t.forEach((t,e)=>{let o=e===(i&&i.pointIndex)?"show":"fadeIn",r=t.dataLabel;t.graphic&&t.visible&&t.graphic[o]("show"===o||void 0),r&&!r.hidden&&(r.fadeIn(),r.connector?.fadeIn())})}},Math.max(e.chart.options.drilldown.animation.duration-50,0)),delete this.animate)}function U(t){let e=this,i=e.chart,o=e.group;i&&o&&e.options&&i.options.drilldown?.animation&&(t&&i.mapView?(o.attr({opacity:.01}),i.mapView.allowTransformAnimation=!1,e.options.inactiveOtherPoints=!0,e.options.enableMouseTracking=!1):(o.animate({opacity:1},i.options.drilldown.animation,()=>{e.options&&(e.options.inactiveOtherPoints=!1,e.options.enableMouseTracking=V(e.userOptions?.enableMouseTracking,!0))}),e.dataLabelsGroups?.forEach(t=>i.drilldown?.fadeInGroup(t))))}function j(){let t=this.chart;t?.mapView&&(t.mapView.allowTransformAnimation=!1),this.options&&(this.options.inactiveOtherPoints=!0)}function F(t){let e=this.chart,i=this.group;e&&i&&(t?(i.attr({opacity:.01}),this.options&&(this.options.inactiveOtherPoints=!0)):(i.animate({opacity:1},(e.options.drilldown||{}).animation),this.dataLabelsGroups?.forEach(t=>e.drilldown?.fadeInGroup(t))))}function H(){return this.drilldown&&!this.unbindDrilldownClick&&(this.unbindDrilldownClick=P(this,"click",R)),this}function z(){let t=this.series,e=t.chart.styledMode;this.drilldown&&t.halo&&"hover"===this.state?Z(t.halo,"pointer",!0,e):t.halo&&Z(t.halo,"auto",!1,e)}function R(t){let e=this.series;e.xAxis&&!1===(e.chart.options.drilldown||{}).allowPointDrilldown?e.xAxis.drilldownCategory(this.x,t):this.runDrilldown(void 0,void 0,t)}function W(t){let e=t.options||{};e.drilldown&&!this.unbindDrilldownClick?this.unbindDrilldownClick=P(this,"click",R):!e.drilldown&&void 0!==e.drilldown&&this.unbindDrilldownClick&&(this.unbindDrilldownClick=this.unbindDrilldownClick())}function q(){let t=this.chart,e=t.options.drilldown.activeDataLabelStyle,i=t.renderer,o=t.styledMode;for(let t of this.points){let r=t.options.dataLabels,l=V(t.dlOptions,r&&r.style,{});t.drilldown&&t.dataLabel&&("contrast"!==e.color||o||(l.color=i.getContrast(t.color||this.color)),r&&r.color&&(l.color=r.color),t.dataLabel.addClass("highcharts-drilldown-data-label"),o||t.dataLabel.css(e).css(l))}}function J(){let t=this.chart.styledMode;for(let e of this.points)e.drilldown&&e.graphic&&Z(e.graphic,"pointer",!0,t)}function K(t){let e=this.chart,i=this.points,o=e.drilldownLevels[e.drilldownLevels.length-1],r=e.options.drilldown.animation;if(this.is("item")&&(r.duration=0),this.center){let l=o.shapeArgs,s=l.start,n=(l.end-s)/this.points.length,a=e.styledMode;if(!t){let t,d;for(let e=0,p=i.length;e<p;++e)t=(d=i[e]).shapeArgs,a||(l.fill=o.color,t.fill=d.color),d.graphic&&d.graphic.attr(I(l,{start:s+e*n,end:s+(e+1)*n}))[r?"animate":"attr"](t,r);this.dataLabelsGroups?.forEach(t=>e.drilldown?.fadeInGroup(t)),delete this.animate}}}function Q(){this.runDrilldown()}function X(t,e,i){let o=this.series,r=o.chart,l=r.options.drilldown||{},s=(l.series||[]).length,n;for(r.ddDupes||(r.ddDupes=[]),r.colorCounter=r.symbolCounter=0;s--&&!n;)l.series&&l.series[s].id===this.drilldown&&this.drilldown&&-1===r.ddDupes.indexOf(this.drilldown)&&(n=l.series[s],r.ddDupes.push(this.drilldown));M(r,"drilldown",{point:this,seriesOptions:n,category:e,originalEvent:i,points:void 0!==e&&o.xAxis.getDDPoints(e).slice(0)},e=>{let i=e.point.series?.chart,o=e.seriesOptions;i&&o&&(t?i.addSingleSeriesAsDrilldown(e.point,o):i.addSeriesAsDrilldown(e.point,o))})}let Y=function(t,e){let i=t.prototype.pointClass,o=i.prototype;if(!o.doDrilldown){let{column:r,map:l,pie:s}=e;if(P(i,"afterInit",H),P(i,"afterSetState",z),P(i,"update",W),o.doDrilldown=Q,o.runDrilldown=X,P(t,"afterDrawDataLabels",q),P(t,"afterDrawTracker",J),r){let t=r.prototype;t.animateDrilldown=_,t.animateDrillupFrom=G,t.animateDrillupTo=N}if(l){let t=l.prototype;t.animateDrilldown=U,t.animateDrillupFrom=j,t.animateDrillupTo=F}if(s){let t=s.prototype;t.animateDrilldown=K,t.animateDrillupFrom=G,t.animateDrillupTo=N}}},{animObject:$}=a(),{noop:tt}=a(),{addEvent:te,defined:ti,diffObjects:to,extend:tr,fireEvent:tl,merge:ts,objectEach:tn,pick:ta,removeEvent:td,syncTimeout:tp}=a(),th=1;function tu(t,e){this.getDDPoints(t).forEach(function(i){i&&i.series&&i.series.visible&&i.runDrilldown&&i.runDrilldown(!0,t,e)}),this.chart.applyDrilldown()}function tc(t){return this.ddPoints&&this.ddPoints[t]||[]}function tm(t){let e=[],i=t.drilldownLevels;return i&&i.length&&(e[0]||e.push({level:0,levelOptions:i[0].seriesOptions}),i.forEach(function(t){let i=e[e.length-1];t.levelNumber+1>i.level&&e.push({level:t.levelNumber+1,levelOptions:ts({name:t.lowerSeries.name},t.pointOptions)})})),e}class tw{constructor(t){this.chart=t}addSeriesAsDrilldown(t,e){let i=this.chart||this;if(tl(this,"addSeriesAsDrilldown",{seriesOptions:e}),i.mapView)if(t.series.isDrilling=!0,i.series.forEach(t=>{t.options.inactiveOtherPoints=!0,t.dataLabelsGroups?.forEach(t=>t?.destroy()),t.dataLabelsGroups=[]}),i.options.drilldown&&!i.mapView.projection.hasGeoProjection&&T&&(ti(to(i.options.drilldown,T).mapZooming)||(i.options.drilldown.mapZooming=!1)),i.options.drilldown&&i.options.drilldown.animation&&i.options.drilldown.mapZooming){i.mapView.allowTransformAnimation=!0;let o=$(i.options.drilldown.animation);if("boolean"!=typeof o){let r=o.complete,l=function(o){o&&o.applyDrilldown&&i.mapView&&(i.addSingleSeriesAsDrilldown(t,e),i.applyDrilldown(),i.mapView.allowTransformAnimation=!1)};o.complete=function(){r&&r.apply(this,arguments),l.apply(this,arguments)}}t.zoomTo(o)}else i.addSingleSeriesAsDrilldown(t,e),i.applyDrilldown();else i.addSingleSeriesAsDrilldown(t,e),i.applyDrilldown()}addSingleSeriesAsDrilldown(t,e){let i=this.chart||this,o=t.series,r=o.xAxis,l=o.yAxis,s=i.styledMode?{colorIndex:ta(t.colorIndex,o.colorIndex)}:{color:t.color||o.color},n=o.options._levelNumber||0;i.drilldownLevels||(i.drilldownLevels=[]),e=tr(tr({_ddSeriesId:th++},s),e);let a=[],d=[],p;(p=i.drilldownLevels[i.drilldownLevels.length-1])&&p.levelNumber!==n&&(p=void 0),o.chart.series.forEach(t=>{t.xAxis===r&&(t.options._ddSeriesId=t.options._ddSeriesId||th++,t.options.colorIndex=t.colorIndex,t.options._levelNumber=t.options._levelNumber||n,p?(a=p.levelSeries,d=p.levelSeriesOptions):(a.push(t),t.purgedOptions=ts({_ddSeriesId:t.options._ddSeriesId,_levelNumber:t.options._levelNumber,selected:t.options.selected},t.userOptions),d.push(t.purgedOptions)))});let h=tr({levelNumber:n,seriesOptions:o.options,seriesPurgedOptions:o.purgedOptions,levelSeriesOptions:d,levelSeries:a,shapeArgs:t.shapeArgs,bBox:t.graphic?t.graphic.getBBox():{},color:t.isNull?"rgba(0,0,0,0)":s.color,lowerSeriesOptions:e,pointOptions:t.options,pointIndex:t.index,oldExtremes:{xMin:r&&r.userMin,xMax:r&&r.userMax,yMin:l&&l.userMin,yMax:l&&l.userMax},resetZoomButton:p&&p.levelNumber===n?void 0:i.resetZoomButton},s);i.drilldownLevels.push(h),r&&r.names&&(r.names.length=0);let u=h.lowerSeries=i.addSeries(e,!1);u.options._levelNumber=n+1,r&&(r.oldPos=r.pos,r.userMin=r.userMax=null,l.userMin=l.userMax=null),u.isDrilling=!0,o.type===u.type&&(u.animate=u.animateDrilldown||tt,u.options.animation=!0)}applyDrilldown(){let t,e=this.chart||this,i=e.drilldownLevels;i&&i.length>0&&(t=i[i.length-1].levelNumber,e.hasCartesianSeries=i.some(t=>t.lowerSeries.isCartesian),(e.drilldownLevels||[]).forEach(i=>{e.mapView&&e.options.drilldown&&e.options.drilldown.mapZooming&&(e.redraw(),i.lowerSeries.isDrilling=!1,e.mapView.fitToBounds(i.lowerSeries.bounds),i.lowerSeries.isDrilling=!0),i.levelNumber===t&&i.levelSeries.forEach(o=>{if(e.mapView){if(o.options&&o.options._levelNumber===t&&o.group){let t={};e.options.drilldown&&(t=e.options.drilldown.animation),o.group.animate({opacity:0},t,()=>{o.remove(!1),i.levelSeries.filter(t=>Object.keys(t).length).length||(e.resetZoomButton&&(e.resetZoomButton.hide(),delete e.resetZoomButton),e.pointer?.reset(),tl(e,"afterDrilldown"),e.mapView&&(e.series.forEach(t=>{t.isDirtyData=!0,t.isDrilling=!1}),e.mapView.fitToBounds(void 0,void 0),e.mapView.allowTransformAnimation=!0),tl(e,"afterApplyDrilldown"))})}}else o.options&&o.options._levelNumber===t&&o.remove(!1)})})),e.mapView||(e.resetZoomButton&&(e.resetZoomButton.hide(),delete e.resetZoomButton),e.pointer?.reset(),tl(e,"afterDrilldown"),e.hasCartesianSeries||e.axes.forEach(t=>{t.destroy(!0),t.init(e,ts(t.userOptions,t.options))}),e.redraw(),tl(e,"afterApplyDrilldown"))}drillUp(t){let e=this.chart||this;if(!e.drilldownLevels||0===e.drilldownLevels.length)return;tl(e,"beforeDrillUp");let i=e.drilldownLevels,o=i[i.length-1].levelNumber,r=e.series,l=e.drilldownLevels.length,s=(t,i)=>{let o;if(r.forEach(e=>{e.options._ddSeriesId===t._ddSeriesId&&(o=e)}),(o=o||e.addSeries(t,!1)).type===i.type&&o.animateDrillupTo&&(o.animate=o.animateDrillupTo),t===p.seriesPurgedOptions)return o},n=t=>{t.remove(!1),e.series.forEach(t=>{t.colorAxis&&(t.isDirtyData=!0),t.options.inactiveOtherPoints=!1}),e.redraw()},a=i.length,d,p,h;for(e.symbolCounter=e.colorCounter=0;a--;){let u,c;if((p=i[a]).levelNumber===o){if(i.pop(),!(u=p.lowerSeries).chart){for(d=r.length;d--;)if(r[d].options.id===p.lowerSeriesOptions.id&&r[d].options._levelNumber===o+1){u=r[d];break}}u.dataTable.setColumn("x",[]),u.xAxis&&u.xAxis.names&&(0===l||a===l-1)&&(u.xAxis.names.length=0),p.levelSeriesOptions.forEach(t=>{let e=s(t,u);e&&(c=e)}),tl(e,"drillup",{seriesOptions:p.seriesPurgedOptions||p.seriesOptions}),c&&(c.type===u.type&&(c.drilldownLevel=p,c.options.animation=e.options.drilldown.animation,u.animateDrillupFrom&&u.chart&&u.animateDrillupFrom(p)),c.options._levelNumber=o);let m=u;if(e.mapView||m.remove(!1),c&&c.xAxis&&(h=p.oldExtremes,c.xAxis.setExtremes(h.xMin,h.xMax,!1),c.yAxis.setExtremes(h.yMin,h.yMax,!1)),p.resetZoomButton&&(e.resetZoomButton=p.resetZoomButton),e.mapView){let i=p.levelNumber===o&&t,r=e.options.drilldown&&e.options.drilldown.animation&&e.options.drilldown.mapZooming;i?u.remove(!1):(u.dataLabelsGroups?.forEach(t=>{t?.destroy()}),u.dataLabelsGroups=[],e.mapView&&c&&(r&&(u.isDrilling=!0,c.isDrilling=!0,e.redraw(!1),e.mapView.fitToBounds(u.bounds,void 0,!0,!1)),e.mapView.allowTransformAnimation=!0,tl(e,"afterDrillUp",{seriesOptions:c?c.userOptions:void 0}),r?(e.mapView.setView(void 0,ta(e.mapView.minZoom,1),!0,{complete:function(){Object.prototype.hasOwnProperty.call(this,"complete")&&n(u)}}),c._hasTracking=!1):(e.mapView.allowTransformAnimation=!1,u.group?u.group.animate({opacity:0},e.options.drilldown.animation,()=>{n(u),e.mapView&&(e.mapView.allowTransformAnimation=!0)}):(n(u),e.mapView.allowTransformAnimation=!0)),c.isDrilling=!1))}else tl(e,"afterDrillUp")}}e.mapView||t||e.redraw(),e.ddDupes&&(e.ddDupes.length=0),tl(e,"drillupall")}fadeInGroup(t){let e=$(this.chart.options.drilldown.animation);t&&(t.hide(),tp(()=>{t&&t.added&&t.fadeIn()},Math.max(e.duration-50,0)))}update(t,e){let i=this.chart;ts(!0,i.options.drilldown,t),ta(e,!0)&&i.redraw()}}!function(t){function e(t){let e=this.chart,i=this.getLevel()-t.newLevel,o=i>1;for(let t=0;t<i;t++)t===i-1&&(o=!1),e.drillUp(o)}function i(){let t=this.options.drilldown,e=t&&t.breadcrumbs;this.breadcrumbs||(this.breadcrumbs=new A(this,e)),this.breadcrumbs.updateProperties(tm(this))}function o(){this.breadcrumbs&&this.breadcrumbs.updateProperties(tm(this))}function r(){this.drilldown=new tw(this)}function l(){this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy())}function s(){this.resetZoomButton&&this.showResetZoom()}function n(){(this.xAxis||[]).forEach(t=>{t.ddPoints={},t.series.forEach(e=>{let i=e.getColumn("x"),o=e.points;for(let r=0,l=i.length,s;r<l;r++)if("number"!=typeof(s=e.options.data[r])&&(s=e.pointClass.prototype.optionsToObject.call({series:e},s)).drilldown){t.ddPoints[i[r]]||(t.ddPoints[i[r]]=[]);let l=r-(e.cropStart||0);t.ddPoints[i[r]].push(!o||!(l>=0)||!(l<o.length)||o[l])}}),tn(t.ticks,t=>t.drillable())})}function a(t){let e=this.breadcrumbs,i=t.options.drilldown&&t.options.drilldown.breadcrumbs;e&&i&&e.update(i)}function d(t){this.attr({opacity:.1,visibility:"inherit"}).animate({opacity:ta(this.newOpacity,1)},t||{duration:250})}function p(){let t=this.pos,e=this.label,i=this.axis,o="xAxis"===i.coll&&i.getDDPoints,r=o&&i.getDDPoints(t),l=i.chart.styledMode;o&&(e&&r&&r.length?(e.drillable=!0,e.basicStyles||l||(e.basicStyles=ts(e.styles)),e.addClass("highcharts-drilldown-axis-label"),e.removeOnDrillableClick&&td(e.element,"click"),e.removeOnDrillableClick=te(e.element,"click",function(e){e.preventDefault(),i.drilldownCategory(t,e)}),!l&&i.chart.options.drilldown&&e.css(i.chart.options.drilldown.activeAxisLabelStyle||{})):e&&e.drillable&&e.removeOnDrillableClick&&(l||(e.styles={},e.element.removeAttribute("style"),e.css(e.basicStyles)),e.removeOnDrillableClick(),e.removeClass("highcharts-drilldown-axis-label")))}t.compose=function(t,h,u,c,m,w,f){Y(c,m);let g=h.prototype;if(!g.drillUp){let c=w.prototype.Element,m=tw.prototype,b=t.prototype,v=c.prototype,y=f.prototype;b.drilldownCategory=tu,b.getDDPoints=tc,A.compose(h,u),te(A,"up",e),g.addSeriesAsDrilldown=m.addSeriesAsDrilldown,g.addSingleSeriesAsDrilldown=m.addSingleSeriesAsDrilldown,g.applyDrilldown=m.applyDrilldown,g.drillUp=m.drillUp,te(h,"afterDrilldown",i),te(h,"afterDrillUp",o),te(h,"afterInit",r),te(h,"drillup",l),te(h,"drillupall",s),te(h,"render",n),te(h,"update",a),u.drilldown=T,v.fadeIn=d,y.drillable=p}}}(i||(i={}));let tf=i,tg=a();tg.Breadcrumbs=tg.Breadcrumbs||A,tf.compose(tg.Axis,tg.Chart,tg.defaultOptions,tg.Series,tg.seriesTypes,tg.SVGRenderer,tg.Tick);let tb=a();return s.default})());