yb-blades-tst
Version:
It allows developers to visualize data in a variety of chart types such as line, bar, column, pie, and more.
3 lines (2 loc) • 27.4 kB
JavaScript
import e,{useState as t,useEffect as i,useMemo as o,useRef as r}from"react";import n from"highcharts";import l from"highcharts-react-official";var s=function(){return s=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},s.apply(this,arguments)};function a(e,t,i,o){return new(i||(i=Promise))((function(r,n){function l(e){try{a(o.next(e))}catch(e){n(e)}}function s(e){try{a(o.throw(e))}catch(e){n(e)}}function a(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(l,s)}a((o=o.apply(e,t||[])).next())}))}function d(e,t){var i,o,r,n={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return l.next=s(0),l.throw=s(1),l.return=s(2),"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function s(s){return function(a){return function(s){if(i)throw new TypeError("Generator is already executing.");for(;l&&(l=0,s[0]&&(n=0)),n;)try{if(i=1,o&&(r=2&s[0]?o.return:s[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,s[1])).done)return r;switch(o=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,o=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if(!(r=n.trys,(r=r.length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){n=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){n.label=s[1];break}if(6===s[0]&&n.label<r[1]){n.label=r[1],r=s;break}if(r&&n.label<r[2]){n.label=r[2],n.ops.push(s);break}r[2]&&n.ops.pop(),n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e],o=0}finally{i=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,a])}}}function p(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}"function"==typeof SuppressedError&&SuppressedError;var u,h,c={exports:{}};h=function(e){var t=e?e._modules:{};function i(t,i,o,r){t.hasOwnProperty(i)||(t[i]=r.apply(null,o),"function"==typeof CustomEvent&&e.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:t[i]}})))}i(t,"Extensions/Breadcrumbs/BreadcrumbsDefaults.js",[],(function(){return{lang:{mainBreadcrumb:"Main"},options:{buttonTheme:{fill:"none",height:18,padding:2,"stroke-width":0,zIndex:7,states:{select:{fill:"none"}},style:{color:"#334eff"}},buttonSpacing:5,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}}})),i(t,"Extensions/Breadcrumbs/Breadcrumbs.js",[t["Extensions/Breadcrumbs/BreadcrumbsDefaults.js"],t["Core/Templating.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],(function(e,t,i,o){let{format:r}=t,{composed:n}=i,{addEvent:l,defined:s,extend:a,fireEvent:d,isString:p,merge:u,objectEach:h,pick:c,pushUnique:m}=o;function f(){if(this.breadcrumbs){let e=this.resetZoomButton&&this.resetZoomButton.getBBox(),t=this.breadcrumbs.options;e&&"right"===t.position.align&&"plotBox"===t.relativeTo&&this.breadcrumbs.alignBreadcrumbsGroup(-e.width-t.buttonSpacing)}}function w(){this.breadcrumbs&&(this.breadcrumbs.destroy(),this.breadcrumbs=void 0)}function g(){let e=this.breadcrumbs;if(e&&!e.options.floating&&e.level){let t=e.options,i=t.buttonTheme,o=(i.height||0)+2*(i.padding||0)+t.buttonSpacing,r=t.position.verticalAlign;"bottom"===r?(this.marginBottom=(this.marginBottom||0)+o,e.yOffset=o):"middle"!==r?(this.plotTop+=o,e.yOffset=-o):e.yOffset=void 0}}function b(){this.breadcrumbs&&this.breadcrumbs.redraw()}function v(e){!0===e.resetSelection&&this.breadcrumbs&&this.breadcrumbs.alignBreadcrumbsGroup()}class y{static compose(t,i){m(n,"Breadcrumbs")&&(l(t,"destroy",w),l(t,"afterShowResetZoom",f),l(t,"getMargins",g),l(t,"redraw",b),l(t,"selection",v),a(i.lang,e.lang))}constructor(e,t){this.elementList={},this.isDirty=!0,this.level=0,this.list=[];let i=u(e.options.drilldown&&e.options.drilldown.drillUpButton,y.defaultOptions,e.options.navigation&&e.options.navigation.breadcrumbs,t);this.chart=e,this.options=i||{}}updateProperties(e){this.setList(e),this.setLevel(),this.isDirty=!0}setList(e){this.list=e}setLevel(){this.level=this.list.length&&this.list.length-1}getLevel(){return this.level}getButtonText(e){let t=this.chart,i=this.options,o=t.options.lang,n=c(i.format,i.showFullPath?"{level.name}":"← {level.name}"),l=o&&c(o.drillUpText,o.mainBreadcrumb),a=i.formatter&&i.formatter(e)||r(n,{level:e.levelOptions},t)||"";return(p(a)&&!a.length||"← "===a)&&s(l)&&(a=i.showFullPath?l:"← "+l),a}redraw(){this.isDirty&&this.render(),this.group&&this.group.align(),this.isDirty=!1}render(){let e=this.chart,t=this.options;!this.group&&t&&(this.group=e.renderer.g("breadcrumbs-group").addClass("highcharts-no-tooltip highcharts-breadcrumbs").attr({zIndex:t.zIndex}).add()),t.showFullPath?this.renderFullPathButtons():this.renderSingleButton(),this.alignBreadcrumbsGroup()}renderFullPathButtons(){this.destroySingleButton(),this.resetElementListState(),this.updateListElements(),this.destroyListElements()}renderSingleButton(){let e=this.chart,t=this.list,i=this.options.buttonSpacing;this.destroyListElements();let o=this.group?this.group.getBBox().width:i,r=t[t.length-2];!e.drillUpButton&&this.level>0?e.drillUpButton=this.renderButton(r,o,i):e.drillUpButton&&(this.level>0?this.updateSingleButton():this.destroySingleButton())}alignBreadcrumbsGroup(e){if(this.group){let t=this.options,i=t.buttonTheme,o=t.position,r="chart"===t.relativeTo||"spacingBox"===t.relativeTo?void 0:"plotBox",n=this.group.getBBox(),l=2*(i.padding||0)+t.buttonSpacing;o.width=n.width+l,o.height=n.height+l;let s=u(o);e&&(s.x+=e),this.options.rtl&&(s.x+=o.width),s.y=c(s.y,this.yOffset,0),this.group.align(s,!0,r)}}renderButton(e,t,i){let o=this,r=this.chart,n=o.options,l=u(n.buttonTheme),s=r.renderer.button(o.getButtonText(e),t,i,(function(t){let i,r=n.events&&n.events.click;r&&(i=r.call(o,t,e)),!1!==i&&(n.showFullPath?t.newLevel=e.level:t.newLevel=o.level-1,d(o,"up",t))}),l).addClass("highcharts-breadcrumbs-button").add(o.group);return r.styledMode||s.attr(n.style),s}renderSeparator(e,t){let i=this.chart,o=this.options.separator,r=i.renderer.label(o.text,e,t,void 0,void 0,void 0,!1).addClass("highcharts-breadcrumbs-separator").add(this.group);return i.styledMode||r.css(o.style),r}update(e){u(!0,this.options,e),this.destroy(),this.isDirty=!0}updateSingleButton(){let e=this.chart,t=this.list[this.level-1];e.drillUpButton&&e.drillUpButton.attr({text:this.getButtonText(t)})}destroy(){this.destroySingleButton(),this.destroyListElements(!0),this.group&&this.group.destroy(),this.group=void 0}destroyListElements(e){let t=this.elementList;h(t,((i,o)=>{(e||!t[o].updated)&&((i=t[o]).button&&i.button.destroy(),i.separator&&i.separator.destroy(),delete i.button,delete i.separator,delete t[o])})),e&&(this.elementList={})}destroySingleButton(){this.chart.drillUpButton&&(this.chart.drillUpButton.destroy(),this.chart.drillUpButton=void 0)}resetElementListState(){h(this.elementList,(e=>{e.updated=!1}))}updateListElements(){let e,t,i=this.elementList,o=this.options.buttonSpacing,r=this.list,n=this.options.rtl,l=n?-1:1,s=function(e,t){return l*e.getBBox().width+l*t},a=function(e,t,i){e.translate(t-e.getBBox().width,i)},d=this.group?s(this.group,o):o;for(let p=0,u=r.length;p<u;++p){let h,c,m=p===u-1;i[(t=r[p]).level]?(h=(e=i[t.level]).button,e.separator||m?e.separator&&m&&(e.separator.destroy(),delete e.separator):(d+=l*o,e.separator=this.renderSeparator(d,o),n&&a(e.separator,d,o),d+=s(e.separator,o)),i[t.level].updated=!0):(h=this.renderButton(t,d,o),n&&a(h,d,o),d+=s(h,o),m||(c=this.renderSeparator(d,o),n&&a(c,d,o),d+=s(c,o)),i[t.level]={button:h,separator:c,updated:!0}),h&&h.setState(m?2:0)}}}return y.defaultOptions=e.options,y})),i(t,"Extensions/Drilldown/DrilldownDefaults.js",[],(function(){return{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}})),i(t,"Extensions/Drilldown/DrilldownSeries.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Utilities.js"]],(function(e,t){let{animObject:i}=e,{addEvent:o,extend:r,fireEvent:n,merge:l,pick:s,syncTimeout:a}=t;function d(e,t,i,o){e[i?"addClass":"removeClass"]("highcharts-drilldown-point"),o||e.css({cursor:t})}function p(e){let t=this,o=t.chart,n=o.drilldownLevels,l=i((o.options.drilldown||{}).animation),a=this.xAxis,d=o.styledMode;if(!e){let e;(n||[]).forEach((i=>{t.options._ddSeriesId===i.lowerSeriesOptions._ddSeriesId&&(e=i.shapeArgs,!d&&e&&(e.fill=i.color))})),e.x+=s(a.oldPos,a.pos)-a.pos,t.points.forEach((i=>{let o=i.shapeArgs;d||(o.fill=i.color),i.graphic&&i.graphic.attr(e).animate(r(i.shapeArgs,{fill:i.color||t.color}),l)})),o.drilldown&&o.drilldown.fadeInGroup(this.dataLabelsGroup),delete this.animate}}function u(e){let t=this,o=i((t.chart.options.drilldown||{}).animation);(t.trackerGroups||[]).forEach((e=>{t[e]&&t[e].on("mouseover")}));let r=t.group,n=r!==t.chart.columnGroup;n&&delete t.group,this.points.forEach((i=>{let s=i.graphic,a=e.shapeArgs;if(s&&a){let d=()=>{s.destroy(),r&&n&&(r=r.destroy())};delete i.graphic,t.chart.styledMode||(a.fill=e.color),o.duration?s.animate(a,l(o,{complete:d})):(s.attr(a),d())}}))}function h(e){let t=this,i=t.drilldownLevel;e||(t.points.forEach((e=>{let t=e.dataLabel;e.graphic&&e.graphic.hide(),t&&(t.hidden="hidden"===t.attr("visibility"),t.hidden||(t.hide(),t.connector?.hide()))})),a((()=>{if(t.points){let e=[];t.data.forEach((t=>{e.push(t)})),t.nodes&&(e=e.concat(t.nodes)),e.forEach(((e,t)=>{let o=t===(i&&i.pointIndex)?"show":"fadeIn",r=e.dataLabel;e.graphic&&e.visible&&e.graphic[o]("show"===o||void 0),r&&!r.hidden&&(r.fadeIn(),r.connector?.fadeIn())}))}}),Math.max(t.chart.options.drilldown.animation.duration-50,0)),delete this.animate)}function c(e){let t=this,i=t.chart,o=t.group;i&&o&&t.options&&i.options.drilldown&&i.options.drilldown.animation&&(e&&i.mapView?(o.attr({opacity:.01}),i.mapView.allowTransformAnimation=!1,t.options.inactiveOtherPoints=!0,t.options.enableMouseTracking=!1):(o.animate({opacity:1},i.options.drilldown.animation,(()=>{t.options&&(t.options.inactiveOtherPoints=!1,t.options.enableMouseTracking=s(t.userOptions&&t.userOptions.enableMouseTracking,!0),t.isDirty=!0,i.redraw())})),i.drilldown&&i.drilldown.fadeInGroup(this.dataLabelsGroup)))}function m(){let e=this.chart;e&&e.mapView&&(e.mapView.allowTransformAnimation=!1),this.options&&(this.options.inactiveOtherPoints=!0)}function f(e){let t=this.chart,i=this.group;t&&i&&(e?(i.attr({opacity:.01}),this.options&&(this.options.inactiveOtherPoints=!0)):(i.animate({opacity:1},(t.options.drilldown||{}).animation),t.drilldown&&t.drilldown.fadeInGroup(this.dataLabelsGroup)))}function w(){return this.drilldown&&!this.unbindDrilldownClick&&(this.unbindDrilldownClick=o(this,"click",b)),this}function g(){let e=this.series,t=e.chart.styledMode;this.drilldown&&e.halo&&"hover"===this.state?d(e.halo,"pointer",!0,t):e.halo&&d(e.halo,"auto",!1,t)}function b(e){let t=this.series;t.xAxis&&!1===(t.chart.options.drilldown||{}).allowPointDrilldown?t.xAxis.drilldownCategory(this.x,e):this.runDrilldown(void 0,void 0,e)}function v(e){let t=e.options||{};t.drilldown&&!this.unbindDrilldownClick?this.unbindDrilldownClick=o(this,"click",b):!t.drilldown&&void 0!==t.drilldown&&this.unbindDrilldownClick&&(this.unbindDrilldownClick=this.unbindDrilldownClick())}function y(){let e=this.chart,t=e.options.drilldown.activeDataLabelStyle,i=e.renderer,o=e.styledMode;for(let e of this.points){let r=e.options.dataLabels,n=s(e.dlOptions,r&&r.style,{});e.drilldown&&e.dataLabel&&("contrast"!==t.color||o||(n.color=i.getContrast(e.color||this.color)),r&&r.color&&(n.color=r.color),e.dataLabel.addClass("highcharts-drilldown-data-label"),o||e.dataLabel.css(t).css(n))}}function D(){let e=this.chart.styledMode;for(let t of this.points)t.drilldown&&t.graphic&&d(t.graphic,"pointer",!0,e)}function x(e){let t=this.chart,i=this.points,o=t.drilldownLevels[t.drilldownLevels.length-1],r=t.options.drilldown.animation;if(this.is("item")&&(r.duration=0),this.center){let n=o.shapeArgs,s=n.start,a=(n.end-s)/this.points.length,d=t.styledMode;if(!e){let e,p;for(let t=0,u=i.length;t<u;++t)e=(p=i[t]).shapeArgs,d||(n.fill=o.color,e.fill=p.color),p.graphic&&p.graphic.attr(l(n,{start:s+t*a,end:s+(t+1)*a}))[r?"animate":"attr"](e,r);t.drilldown&&t.drilldown.fadeInGroup(this.dataLabelsGroup),delete this.animate}}}function S(){this.runDrilldown()}function B(e,t,i){let o,r=this.series,l=r.chart,s=l.options.drilldown||{},a=(s.series||[]).length;for(l.ddDupes||(l.ddDupes=[]),l.colorCounter=l.symbolCounter=0;a--&&!o;)s.series&&s.series[a].id===this.drilldown&&this.drilldown&&-1===l.ddDupes.indexOf(this.drilldown)&&(o=s.series[a],l.ddDupes.push(this.drilldown));n(l,"drilldown",{point:this,seriesOptions:o,category:t,originalEvent:i,points:void 0!==t&&r.xAxis.getDDPoints(t).slice(0)},(t=>{let i=t.point.series&&t.point.series.chart,o=t.seriesOptions;i&&o&&(e?i.addSingleSeriesAsDrilldown(t.point,o):i.addSeriesAsDrilldown(t.point,o))}))}return{compose:function(e,t){let i=e.prototype.pointClass,r=i.prototype;if(!r.doDrilldown){let{column:n,map:l,pie:s}=t;if(o(i,"afterInit",w),o(i,"afterSetState",g),o(i,"update",v),r.doDrilldown=S,r.runDrilldown=B,o(e,"afterDrawDataLabels",y),o(e,"afterDrawTracker",D),n){let e=n.prototype;e.animateDrilldown=p,e.animateDrillupFrom=u,e.animateDrillupTo=h}if(l){let e=l.prototype;e.animateDrilldown=c,e.animateDrillupFrom=m,e.animateDrillupTo=f}if(s){let e=s.prototype;e.animateDrilldown=x,e.animateDrillupFrom=u,e.animateDrillupTo=h}}}}})),i(t,"Extensions/Drilldown/Drilldown.js",[t["Core/Animation/AnimationUtilities.js"],t["Extensions/Breadcrumbs/Breadcrumbs.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Extensions/Drilldown/DrilldownDefaults.js"],t["Extensions/Drilldown/DrilldownSeries.js"],t["Core/Utilities.js"]],(function(e,t,i,o,r,n,l){var s;let{animObject:a}=e,{noop:d}=o,{addEvent:p,defined:u,diffObjects:h,extend:c,fireEvent:m,merge:f,objectEach:w,pick:g,removeEvent:b,syncTimeout:v}=l,y=1;function D(e,t){this.getDDPoints(e).forEach((function(i){i&&i.series&&i.series.visible&&i.runDrilldown&&i.runDrilldown(!0,e,t)})),this.chart.applyDrilldown()}function x(e){return this.ddPoints&&this.ddPoints[e]||[]}function S(e){let t=[],i=e.drilldownLevels;return i&&i.length&&(t[0]||t.push({level:0,levelOptions:i[0].seriesOptions}),i.forEach((function(e){let i=t[t.length-1];e.levelNumber+1>i.level&&t.push({level:e.levelNumber+1,levelOptions:f({name:e.lowerSeries.name},e.pointOptions)})}))),t}class B{constructor(e){this.chart=e}addSeriesAsDrilldown(e,t){let i=this.chart||this;if(m(this,"addSeriesAsDrilldown",{seriesOptions:t}),i.mapView)if(e.series.isDrilling=!0,i.series.forEach((e=>{e.options.inactiveOtherPoints=!0,e.dataLabelsGroup?.destroy(),delete e.dataLabelsGroup})),i.options.drilldown&&!i.mapView.projection.hasGeoProjection&&r&&!u(h(i.options.drilldown,r).mapZooming)&&(i.options.drilldown.mapZooming=!1),i.options.drilldown&&i.options.drilldown.animation&&i.options.drilldown.mapZooming){i.mapView.allowTransformAnimation=!0;let o=a(i.options.drilldown.animation);if("boolean"!=typeof o){let r=o.complete,n=function(o){o&&o.applyDrilldown&&i.mapView&&(i.addSingleSeriesAsDrilldown(e,t),i.applyDrilldown(),i.mapView.allowTransformAnimation=!1)};o.complete=function(){r&&r.apply(this,arguments),n.apply(this,arguments)}}e.zoomTo(o)}else i.addSingleSeriesAsDrilldown(e,t),i.applyDrilldown();else i.addSingleSeriesAsDrilldown(e,t),i.applyDrilldown()}addSingleSeriesAsDrilldown(e,t){let o=this.chart||this,r=e.series,n=r.xAxis,l=r.yAxis,s=o.styledMode?{colorIndex:g(e.colorIndex,r.colorIndex)}:{color:e.color||r.color},a=r.options._levelNumber||0,p=r.points.indexOf(e);o.drilldownLevels||(o.drilldownLevels=[]),t=c(c({_ddSeriesId:y++},s),t);let u,h=[],m=[];(u=o.drilldownLevels[o.drilldownLevels.length-1])&&u.levelNumber!==a&&(u=void 0),r.chart.series.forEach((e=>{e.xAxis===n&&(e.options._ddSeriesId=e.options._ddSeriesId||y++,e.options.colorIndex=e.colorIndex,e.options._levelNumber=e.options._levelNumber||a,u?(h=u.levelSeries,m=u.levelSeriesOptions):(h.push(e),e.purgedOptions=f({_ddSeriesId:e.options._ddSeriesId,_levelNumber:e.options._levelNumber,selected:e.options.selected},e.userOptions),m.push(e.purgedOptions)))}));let w=c({levelNumber:a,seriesOptions:r.options,seriesPurgedOptions:r.purgedOptions,levelSeriesOptions:m,levelSeries:h,shapeArgs:e.shapeArgs,bBox:e.graphic?e.graphic.getBBox():{},color:e.isNull?i.parse(s.color).setOpacity(0).get():s.color,lowerSeriesOptions:t,pointOptions:r.options.data[p],pointIndex:p,oldExtremes:{xMin:n&&n.userMin,xMax:n&&n.userMax,yMin:l&&l.userMin,yMax:l&&l.userMax},resetZoomButton:u&&u.levelNumber===a?void 0:o.resetZoomButton},s);o.drilldownLevels.push(w),n&&n.names&&(n.names.length=0);let b=w.lowerSeries=o.addSeries(t,!1);b.options._levelNumber=a+1,n&&(n.oldPos=n.pos,n.userMin=n.userMax=null,l.userMin=l.userMax=null),b.isDrilling=!0,r.type===b.type&&(b.animate=b.animateDrilldown||d,b.options.animation=!0)}applyDrilldown(){let e,t=this.chart||this,i=t.drilldownLevels;i&&i.length>0&&(e=i[i.length-1].levelNumber,t.hasCartesianSeries=i.some((e=>e.lowerSeries.isCartesian)),(t.drilldownLevels||[]).forEach((i=>{t.mapView&&t.options.drilldown&&t.options.drilldown.mapZooming&&(t.redraw(),i.lowerSeries.isDrilling=!1,t.mapView.fitToBounds(i.lowerSeries.bounds),i.lowerSeries.isDrilling=!0),i.levelNumber===e&&i.levelSeries.forEach((o=>{if(t.mapView){if(o.options&&o.options._levelNumber===e&&o.group){let e={};t.options.drilldown&&(e=t.options.drilldown.animation),o.group.animate({opacity:0},e,(()=>{o.remove(!1),i.levelSeries.filter((e=>Object.keys(e).length)).length||(t.resetZoomButton&&(t.resetZoomButton.hide(),delete t.resetZoomButton),t.pointer?.reset(),m(t,"afterDrilldown"),t.mapView&&(t.series.forEach((e=>{e.isDirtyData=!0,e.isDrilling=!1})),t.mapView.fitToBounds(void 0,void 0),t.mapView.allowTransformAnimation=!0),m(t,"afterApplyDrilldown"))}))}}else o.options&&o.options._levelNumber===e&&o.remove(!1)}))}))),t.mapView||(t.resetZoomButton&&(t.resetZoomButton.hide(),delete t.resetZoomButton),t.pointer?.reset(),m(t,"afterDrilldown"),t.hasCartesianSeries||t.axes.forEach((e=>{e.destroy(!0),e.init(t,f(e.userOptions,e.options))})),t.redraw(),m(t,"afterApplyDrilldown"))}drillUp(e){let t=this.chart||this;if(!t.drilldownLevels||0===t.drilldownLevels.length)return;m(t,"beforeDrillUp");let i,o,r,n=t.drilldownLevels,l=n[n.length-1].levelNumber,s=t.series,a=t.drilldownLevels.length,d=(e,i)=>{let r;if(s.forEach((t=>{t.options._ddSeriesId===e._ddSeriesId&&(r=t)})),(r=r||t.addSeries(e,!1)).type===i.type&&r.animateDrillupTo&&(r.animate=r.animateDrillupTo),e===o.seriesPurgedOptions)return r},p=e=>{e.remove(!1),t.series.forEach((e=>{e.colorAxis&&(e.isDirtyData=!0),e.options.inactiveOtherPoints=!1})),t.redraw()},u=n.length;for(t.symbolCounter=t.colorCounter=0;u--;){let h,c;if((o=n[u]).levelNumber===l){if(n.pop(),!(h=o.lowerSeries).chart)for(i=s.length;i--;)if(s[i].options.id===o.lowerSeriesOptions.id&&s[i].options._levelNumber===l+1){h=s[i];break}h.xData=[],h.xAxis&&h.xAxis.names&&(0===a||u===a-1)&&(h.xAxis.names.length=0),o.levelSeriesOptions.forEach((e=>{let t=d(e,h);t&&(c=t)})),m(t,"drillup",{seriesOptions:o.seriesPurgedOptions||o.seriesOptions}),c&&(c.type===h.type&&(c.drilldownLevel=o,c.options.animation=t.options.drilldown.animation,h.animateDrillupFrom&&h.chart&&h.animateDrillupFrom(o)),c.options._levelNumber=l);let f=h;if(t.mapView||f.remove(!1),c&&c.xAxis&&(r=o.oldExtremes,c.xAxis.setExtremes(r.xMin,r.xMax,!1),c.yAxis.setExtremes(r.yMin,r.yMax,!1)),o.resetZoomButton&&(t.resetZoomButton=o.resetZoomButton),t.mapView){let i=o.levelNumber===l&&e,r=t.options.drilldown&&t.options.drilldown.animation&&t.options.drilldown.mapZooming;i?h.remove(!1):(h.dataLabelsGroup&&(h.dataLabelsGroup.destroy(),delete h.dataLabelsGroup),t.mapView&&c&&(r&&(h.isDrilling=!0,c.isDrilling=!0,t.redraw(!1),t.mapView.fitToBounds(h.bounds,void 0,!0,!1)),t.mapView.allowTransformAnimation=!0,m(t,"afterDrillUp",{seriesOptions:c?c.userOptions:void 0}),r?(t.mapView.setView(void 0,g(t.mapView.minZoom,1),!0,{complete:function(){Object.prototype.hasOwnProperty.call(this,"complete")&&p(h)}}),c._hasTracking=!1):(t.mapView.allowTransformAnimation=!1,h.group?h.group.animate({opacity:0},t.options.drilldown.animation,(()=>{p(h),t.mapView&&(t.mapView.allowTransformAnimation=!0)})):(p(h),t.mapView.allowTransformAnimation=!0)),c.isDrilling=!1))}else m(t,"afterDrillUp")}}t.mapView||t.redraw(),t.ddDupes&&(t.ddDupes.length=0),m(t,"drillupall")}fadeInGroup(e){let t=a(this.chart.options.drilldown.animation);e&&(e.hide(),v((()=>{e&&e.added&&e.fadeIn()}),Math.max(t.duration-50,0)))}update(e,t){let i=this.chart;f(!0,i.options.drilldown,e),g(t,!0)&&i.redraw()}}return function(e){function i(e){let t=this.chart,i=this.getLevel()-e.newLevel,o=i>1;for(let e=0;e<i;e++)e===i-1&&(o=!1),t.drillUp(o)}function o(){let e=this.options.drilldown,i=e&&e.breadcrumbs;this.breadcrumbs||(this.breadcrumbs=new t(this,i)),this.breadcrumbs.updateProperties(S(this))}function l(){this.breadcrumbs&&this.breadcrumbs.updateProperties(S(this))}function s(){this.drilldown=new B(this)}function a(){this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy())}function d(){this.resetZoomButton&&this.showResetZoom()}function u(){(this.xAxis||[]).forEach((e=>{e.ddPoints={},e.series.forEach((t=>{let i=t.xData||[],o=t.points;for(let r,n=0,l=i.length;n<l;n++)if("number"!=typeof(r=t.options.data[n])&&(r=t.pointClass.prototype.optionsToObject.call({series:t},r)).drilldown){e.ddPoints[i[n]]||(e.ddPoints[i[n]]=[]);let r=n-(t.cropStart||0);e.ddPoints[i[n]].push(!o||!(r>=0)||!(r<o.length)||o[r])}})),w(e.ticks,(e=>e.drillable()))}))}function h(e){let t=this.breadcrumbs,i=e.options.drilldown&&e.options.drilldown.breadcrumbs;t&&i&&t.update(i)}function c(e){this.attr({opacity:.1,visibility:"inherit"}).animate({opacity:g(this.newOpacity,1)},e||{duration:250})}function m(){let e=this.pos,t=this.label,i=this.axis,o="xAxis"===i.coll&&i.getDDPoints,r=o&&i.getDDPoints(e),n=i.chart.styledMode;o&&(t&&r&&r.length?(t.drillable=!0,t.basicStyles||n||(t.basicStyles=f(t.styles)),t.addClass("highcharts-drilldown-axis-label"),t.removeOnDrillableClick&&b(t.element,"click"),t.removeOnDrillableClick=p(t.element,"click",(function(t){t.preventDefault(),i.drilldownCategory(e,t)})),!n&&i.chart.options.drilldown&&t.css(i.chart.options.drilldown.activeAxisLabelStyle||{})):t&&t.drillable&&t.removeOnDrillableClick&&(n||(t.styles={},t.element.removeAttribute("style"),t.css(t.basicStyles)),t.removeOnDrillableClick(),t.removeClass("highcharts-drilldown-axis-label")))}e.compose=function(e,f,w,g,b,v,y){n.compose(g,b);let S=f.prototype;if(!S.drillUp){let n=v.prototype.Element,g=B.prototype,b=e.prototype,O=n.prototype,E=y.prototype;b.drilldownCategory=D,b.getDDPoints=x,t.compose(f,w),p(t,"up",i),S.addSeriesAsDrilldown=g.addSeriesAsDrilldown,S.addSingleSeriesAsDrilldown=g.addSingleSeriesAsDrilldown,S.applyDrilldown=g.applyDrilldown,S.drillUp=g.drillUp,p(f,"afterDrilldown",o),p(f,"afterDrillUp",l),p(f,"afterInit",s),p(f,"drillup",a),p(f,"drillupall",d),p(f,"render",u),p(f,"update",h),w.drilldown=r,O.fadeIn=c,E.drillable=m}}}(s||(s={})),s})),i(t,"masters/modules/drilldown.src.js",[t["Core/Globals.js"],t["Extensions/Drilldown/Drilldown.js"],t["Extensions/Breadcrumbs/Breadcrumbs.js"]],(function(e,t,i){return e.Breadcrumbs=e.Breadcrumbs||i,t.compose(e.Axis,e.Chart,e.defaultOptions,e.Series,e.seriesTypes,e.SVGRenderer,e.Tick),e}))},(u=c).exports?(h.default=h,u.exports=h):h("undefined"!=typeof Highcharts?Highcharts:void 0);var m={text:"Pie Chart",className:"bg-black"},f={reversed:!0,enabled:!0},w={series:{allowPointSelect:!0,cursor:"pointer",borderRadius:8,dataLabels:[{enabled:!0,distance:20,format:"{point.name}"},{enabled:!0,distance:-15,format:"{point.y}",style:{fontSize:"0.9em"}}],showInLegend:!0}},g={pointFormat:"{series.name}: <b>{point.y}</b>"},b={},v={},y={},D=function(){var e=t({}),o=e[0],r=e[1],n=t({}),l=n[0],p=n[1],u=t({}),h=u[0],c=u[1];i((function(){return function(){m()}}),[]);var m=function(){r({}),p({}),c({})};return{awaitingResponse:o,data:l,error:h,handleApi:function(e,t){for(var i=[],o=2;o<arguments.length;o++)i[o-2]=arguments[o];return a(void 0,function(e,t,i){if(i||2===arguments.length)for(var o,r=0,n=t.length;r<n;r++)!o&&r in t||(o||(o=Array.prototype.slice.call(t,0,r)),o[r]=t[r]);return e.concat(o||Array.prototype.slice.call(t))}([e,t],i,!0),void 0,(function(e,t,i){var o,n,l,a,u;return d(this,(function(i){switch(i.label){case 0:if(!t)return[2];r((function(e){var i;return s(s({},e),((i={})[t]=!0,i))})),i.label=1;case 1:return i.trys.push([1,7,8,9]),e.options?[4,fetch(e.url.fetchDetails.options)]:[3,3];case 2:return n=i.sent(),[3,5];case 3:return[4,fetch(e.url)];case 4:n=i.sent(),i.label=5;case 5:return[4,(o=n).json()];case 6:return l=i.sent(),o.ok?p((function(e){var i;return s(s({},e),((i={})[t]=l,i))})):c((function(e){var i;return s(s({},e),((i={})[t]=null==l?void 0:l.toString(),i))})),[3,9];case 7:return a=i.sent(),c(((u={})[t]=(null==a?void 0:a.message)||a.toString(),u)),[3,9];case 8:return r((function(e){var i;return s(s({},e),((i={})[t]=!1,i))})),[7];case 9:return[2]}}))}))}}},x={chart:"chart",filters:"filters"};function S(t){var a=t.fetchDetails,d=t.chartOptions,p=t.shouldFetch,u=t.chartProperties,h=t.title,c=t.legend,S=t.plotOptions;t.noData;var B=t.responsive,O=t.tooltip,E=t.subtitle,L=t.loading,A=t.caption,C=t.events,T=t.isDonut,P=t.donutInnerSize,j=t.seriesData,k=t.seriesKey,I=void 0===k?"series":k,M=D(),V=M.awaitingResponse,G=M.data,U=M.error,Z=M.handleApi,N=o((function(){return x}),[]),_=N.chart;N.filters;var F=r(null);i((function(){p&&Z(a,x.chart)}),[p]);var z=u?s(s({},u),{className:"bg-gray"}):{},R=function(e){e.innerSize=T?P:0};Object.defineProperties(z,{events:{value:s(s({},C),{drilldown:function(e){var t=e.point,i=e.target;if(!e.seriesOptions){var o=p?G[_]:j;for(var r in o)if(o[r]&&r.includes("drilldown")&&o[r].hasOwnProperty(t.drilldown)){var n=o[r][t.drilldown];n.name===t.series.name&&[void 0,null,"pie",""].includes(n.type)&&(R(n),i.addSeriesAsDrilldown(t,n))}i.applyDrilldown()}}}),writable:!1,configurable:!1,enumerable:!0},type:{value:"pie",writable:!1,configurable:!0},renderTo:{value:void 0,writable:!1,configurable:!1},custom:{value:{},writable:!1,configurable:!1}});var H=p?{chart:s({},z),drilldown:{series:[]}}:s({},d);H.title=h?s(s({},m),h):m,H.legend=c?s(s({},f),c):f,H.plotOptions=S?s(s({},w),S):w,H.tooltip=O?s(s({},g),O):g,H.subtitle=E?s(s({},b),E):b,H.loading=L?s(s({},v),L):v,H.caption=A?s(s({},y),A):y;return i((function(){var e,t,i;t=G[_],i=U[_],t&&!i&&T?e=t[I].map((function(e){return s(s({},e),{innerSize:P})})):!t||i||T||(e=t[I]),i?console.log(i):H.series=e}),[G[_],U[_],T,P]),B&&(H.responsive=B),e.createElement(e.Fragment,null,p&&V[_]&&e.createElement("div",null,"Getting chart data..."),!p&&H&&e.createElement(l,{highcharts:n,options:H,ref:F}),p&&!V[_]&&H&&e.createElement(l,{highcharts:n,options:H,ref:F}))}"object"==typeof n&&p(c.exports)(n);export{S as PieOrDonutChart};
//# sourceMappingURL=index.js.map