apexcharts 7.2.0 → 7.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +30 -11
- package/dist/apexcharts.common.js +2 -2
- package/dist/apexcharts.core.js +545 -463
- package/dist/apexcharts.core.min.js +2 -2
- package/dist/apexcharts.esm.js +1149 -801
- package/dist/apexcharts.js +684 -254
- package/dist/apexcharts.min.js +2 -2
- package/dist/apexcharts.ssr.common.js +2 -2
- package/dist/apexcharts.ssr.esm.js +684 -254
- package/dist/area.common.js +1 -1
- package/dist/area.esm.js +1 -1
- package/dist/bar.common.js +2 -2
- package/dist/bar.esm.js +20 -10
- package/dist/bar.js +2 -2
- package/dist/boxPlot.common.js +2 -2
- package/dist/boxPlot.esm.js +20 -10
- package/dist/bubble.common.js +1 -1
- package/dist/bubble.esm.js +1 -1
- package/dist/candlestick.common.js +2 -2
- package/dist/candlestick.esm.js +20 -10
- package/dist/candlestick.js +2 -2
- package/dist/column.common.js +2 -2
- package/dist/column.esm.js +20 -10
- package/dist/core.common.js +2 -2
- package/dist/core.esm.js +545 -463
- package/dist/donut.common.js +1 -1
- package/dist/donut.esm.js +1 -1
- package/dist/dumbbell.common.js +2 -2
- package/dist/dumbbell.esm.js +20 -10
- package/dist/features/all.common.js +2 -2
- package/dist/features/all.esm.js +364 -26
- package/dist/features/annotations.common.js +1 -1
- package/dist/features/annotations.esm.js +1 -1
- package/dist/features/annotations.js +1 -1
- package/dist/features/context-menu.common.js +1 -1
- package/dist/features/context-menu.esm.js +1 -1
- package/dist/features/context-menu.js +1 -1
- package/dist/features/drilldown.common.js +1 -1
- package/dist/features/drilldown.esm.js +1 -1
- package/dist/features/drilldown.js +1 -1
- package/dist/features/dumbbell.common.js +1 -1
- package/dist/features/dumbbell.esm.js +1 -1
- package/dist/features/dumbbell.js +1 -1
- package/dist/features/exports.common.js +2 -2
- package/dist/features/exports.esm.js +12 -14
- package/dist/features/exports.js +2 -2
- package/dist/features/facet.common.js +1 -1
- package/dist/features/facet.esm.js +1 -1
- package/dist/features/facet.js +1 -1
- package/dist/features/history.common.js +1 -1
- package/dist/features/history.esm.js +1 -1
- package/dist/features/history.js +1 -1
- package/dist/features/ink.common.js +1 -1
- package/dist/features/ink.esm.js +1 -1
- package/dist/features/ink.js +1 -1
- package/dist/features/keyboard.common.js +2 -2
- package/dist/features/keyboard.esm.js +14 -1
- package/dist/features/keyboard.js +2 -2
- package/dist/features/legend.common.js +1 -1
- package/dist/features/legend.esm.js +1 -1
- package/dist/features/legend.js +1 -1
- package/dist/features/link.common.js +1 -1
- package/dist/features/link.esm.js +38 -38
- package/dist/features/link.js +1 -1
- package/dist/features/marks.common.js +1 -1
- package/dist/features/marks.esm.js +1 -1
- package/dist/features/marks.js +1 -1
- package/dist/features/measure.common.js +1 -1
- package/dist/features/measure.esm.js +1 -1
- package/dist/features/measure.js +1 -1
- package/dist/features/morph.common.js +1 -1
- package/dist/features/morph.esm.js +1 -1
- package/dist/features/morph.js +1 -1
- package/dist/features/perspectives.common.js +1 -1
- package/dist/features/perspectives.esm.js +11 -11
- package/dist/features/perspectives.js +1 -1
- package/dist/features/raincloud.common.js +1 -1
- package/dist/features/raincloud.esm.js +1 -1
- package/dist/features/raincloud.js +1 -1
- package/dist/features/renderer-canvas.common.js +1 -1
- package/dist/features/renderer-canvas.esm.js +1 -1
- package/dist/features/renderer-canvas.js +1 -1
- package/dist/features/stats.common.js +1 -1
- package/dist/features/stats.esm.js +1 -1
- package/dist/features/stats.js +1 -1
- package/dist/features/storyboard.common.js +1 -1
- package/dist/features/storyboard.esm.js +11 -11
- package/dist/features/storyboard.js +1 -1
- package/dist/features/streamgraph.common.js +1 -1
- package/dist/features/streamgraph.esm.js +1 -1
- package/dist/features/streamgraph.js +1 -1
- package/dist/features/toolbar.common.js +2 -2
- package/dist/features/toolbar.esm.js +172 -25
- package/dist/features/toolbar.js +2 -2
- package/dist/features/trellis.common.js +1 -1
- package/dist/features/trellis.esm.js +1 -1
- package/dist/features/trellis.js +1 -1
- package/dist/features/waterfall.common.js +1 -1
- package/dist/features/waterfall.esm.js +1 -1
- package/dist/features/waterfall.js +1 -1
- package/dist/features/weave.common.js +2 -2
- package/dist/features/weave.esm.js +180 -2
- package/dist/features/weave.js +2 -2
- package/dist/heatmap.common.js +1 -1
- package/dist/heatmap.esm.js +1 -1
- package/dist/heatmap.js +1 -1
- package/dist/histogram.common.js +2 -2
- package/dist/histogram.esm.js +20 -10
- package/dist/line.common.js +1 -1
- package/dist/line.esm.js +1 -1
- package/dist/line.js +1 -1
- package/dist/pictograms.common.js +1 -1
- package/dist/pictograms.esm.js +1 -1
- package/dist/pictograms.js +1 -1
- package/dist/pie.common.js +1 -1
- package/dist/pie.esm.js +1 -1
- package/dist/pie.js +1 -1
- package/dist/polarArea.common.js +1 -1
- package/dist/polarArea.esm.js +1 -1
- package/dist/radar.common.js +1 -1
- package/dist/radar.esm.js +1 -1
- package/dist/radar.js +1 -1
- package/dist/radialBar.common.js +1 -1
- package/dist/radialBar.esm.js +1 -1
- package/dist/radialBar.js +1 -1
- package/dist/raincloud.common.js +2 -2
- package/dist/raincloud.esm.js +20 -10
- package/dist/rangeArea.common.js +1 -1
- package/dist/rangeArea.esm.js +1 -1
- package/dist/rangeBar.common.js +2 -2
- package/dist/rangeBar.esm.js +20 -10
- package/dist/scatter.common.js +1 -1
- package/dist/scatter.esm.js +1 -1
- package/dist/streamgraph.common.js +1 -1
- package/dist/streamgraph.esm.js +1 -1
- package/dist/sunburst.common.js +1 -1
- package/dist/sunburst.esm.js +1 -1
- package/dist/sunburst.js +1 -1
- package/dist/treemap.common.js +1 -1
- package/dist/treemap.esm.js +1 -1
- package/dist/treemap.js +1 -1
- package/dist/unit-shapes.common.js +1 -1
- package/dist/unit-shapes.esm.js +1 -1
- package/dist/unit-shapes.js +1 -1
- package/dist/unit.common.js +1 -1
- package/dist/unit.esm.js +79 -79
- package/dist/unit.js +1 -1
- package/dist/violin.common.js +2 -2
- package/dist/violin.esm.js +20 -10
- package/dist/violin.js +2 -2
- package/dist/waterfall.common.js +2 -2
- package/dist/waterfall.esm.js +20 -10
- package/package.json +2 -2
- package/src/apexcharts.js +39 -15
- package/src/charts/common/bar/Helpers.js +31 -12
- package/src/modules/Data.js +8 -2
- package/src/modules/Exports.js +14 -12
- package/src/modules/Formatters.js +24 -1
- package/src/modules/Range.js +28 -1
- package/src/modules/Toolbar.js +112 -2
- package/src/modules/ZoomPanSelection.js +85 -7
- package/src/modules/accessibility/KeyboardNavigation.js +14 -0
- package/src/modules/axes/YAxis.js +12 -15
- package/src/modules/helpers/UpdateHelpers.js +25 -8
- package/src/modules/settings/Globals.js +5 -10
- package/src/modules/settings/Options.js +15 -0
- package/src/modules/weave/PluginAPI.js +57 -1
- package/src/modules/weave/WeaveHost.js +148 -0
- package/src/ssr/DOMShim.js +50 -0
- package/src/types/internal.d.ts +1 -1
- package/src/utils/Utils.js +6 -9
- package/types/apexcharts.d.ts +17 -0
package/dist/radialBar.esm.js
CHANGED
package/dist/radialBar.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* ApexCharts v7.
|
|
2
|
+
* ApexCharts v7.4.0
|
|
3
3
|
* (c) 2018-2026 ApexCharts
|
|
4
4
|
*/
|
|
5
5
|
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ApexRadialBar={})}(this,function(e){"use strict";var t=Object.defineProperty,a=Object.defineProperties,i=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,l=(e,a,i)=>a in e?t(e,a,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[a]=i,o=(e,t)=>{for(var a in t||(t={}))n.call(t,a)&&l(e,a,t[a]);if(s)for(var a of s(t))r.call(t,a)&&l(e,a,t[a]);return e},h=(e,t)=>a(e,i(t));const c=globalThis.ApexCharts,d=globalThis.ApexCharts.__internals,g=d.__apex_Animations;d.__apex_Animations_computeStagger,d.__apex_Animations_applyAnimationPolicy,d.__apex_Animations_prefersReducedMotion,d.__apex_Animations_applyProgressiveReveal;const p=globalThis.ApexCharts.__internals.__apex_Fill,f=globalThis.ApexCharts.__internals.__apex_Utils,u=globalThis.ApexCharts.__internals.__apex_Graphics,b=globalThis.ApexCharts.__internals.__apex_Filters,m=globalThis.ApexCharts.__internals.__apex_Scales;class A{constructor(e){this.w=e}drawYAxisTexts(e,t,a,i){const s=this.w,n=s.config.yaxis[0],r=s.formatters.yLabelFormatters[0];return new u(this.w).drawText({x:e+n.labels.offsetX,y:t+n.labels.offsetY,text:r(i,a),textAnchor:"middle",fontSize:n.labels.style.fontSize,fontFamily:n.labels.style.fontFamily,foreColor:Array.isArray(n.labels.style.colors)?n.labels.style.colors[a]:n.labels.style.colors})}getMaxLabelWidth(e,{fontSize:t,fontFamily:a}={}){const i=new u(this.w);let s=0;return e.forEach(e=>{if(null==e||""===e)return;const n=i.getTextRects(`${e}`,t||"12px",a,"");s=Math.max(s,n.width)}),s}drawExternalLabel(e){return function(e,t){const{lines:a,lineHeight:i,anchor:s,elbow:n,labelX:r,labelY:l,side:o,connector:h,style:c,foreColor:d}=t,g=new u(e),p=g.group({class:t.groupClass||"apexcharts-outer-label-group"});if(h.show){const e=`M ${s.x} ${s.y} L ${n.x} ${n.y} L ${r} ${l}`,a=g.drawPath({d:e,stroke:h.color,strokeWidth:h.width,fill:"none",strokeLinecap:"round"});a.node.classList.add(t.connectorClass||"apexcharts-outer-label-connector"),p.add(a)}const f="right"===o?r+4:r-4,b=a.length,m=l-(b-1)*i/2,A=g.drawText({x:f,y:m,text:1===b?a[0]:a,textAnchor:"right"===o?"start":"end",fontSize:c.fontSize,fontFamily:c.fontFamily,fontWeight:c.fontWeight,foreColor:d,dominantBaseline:"central",cssClass:t.textClass||"apexcharts-outer-label"});if(b>1){const e=A.node.getElementsByTagName("tspan");for(let t=0;t<e.length;t++)e[t].setAttribute("x",`${f}`),e[t].setAttribute("dy",0===t?"0":`${i}`)}return p.add(A),p}(this.w,h(o({},e),{groupClass:"apexcharts-pie-name-label-group",textClass:"apexcharts-pie-name-label",connectorClass:"apexcharts-pie-label-connector"}))}}const x=globalThis.ApexCharts.__internals.__apex_Environment_Environment,w=Math.PI/180,y=180/Math.PI;function S(e,t,a,i){return{x:e+a*Math.cos((i-90)*w),y:t+a*Math.sin((i-90)*w)}}const v=e=>`${e.x} ${e.y}`;function L({cx:e,cy:t,rIn:a,rOut:i,a0:s,a1:n,r:r,spanDeg:l}){const o=(a,i)=>S(e,t,a,i),h=r/i*y,c=r/a*y,d=o(i,s+h),g=o(i,n-h),p=l-2*h>180?1:0,f=o(i,n),u=o(i-r,n),b=o(i,s),m=o(i-r,s),A=o(a,n-c),x=o(a,s+c),w=l-2*c>180?1:0,L=o(a,n),O=o(a+r,n),z=o(a,s),C=o(a+r,s);return["M",v(d),"A",i,i,0,p,1,v(g),"Q",v(f),v(u),"L",v(O),"Q",v(L),v(A),"A",a,a,0,w,0,v(x),"Q",v(z),v(C),"L",v(m),"Q",v(b),v(d),"Z"].join(" ")}class O{constructor(e,t){this.ctx=t,this.w=e,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animBeginArr=[0],this.animDur=0,this.donutDataLabels=this.w.config.plotOptions.pie.donut.labels,this.lineColorArr=void 0!==e.globals.stroke.colors?e.globals.stroke.colors:e.globals.colors,this.defaultSize=Math.min(e.layout.gridWidth,e.layout.gridHeight),this.centerY=e.layout.gridHeight/2,this.centerX=e.layout.gridWidth/2,"radialBar"===e.config.chart.type?this.fullAngle=360:this.fullAngle=Math.abs(e.config.plotOptions.pie.endAngle-e.config.plotOptions.pie.startAngle),this.initialAngle=e.config.plotOptions.pie.startAngle%this.fullAngle,e.globals.radialSize=this.defaultSize/2.05-e.config.stroke.width-(e.config.chart.sparkline.enabled?0:e.config.chart.dropShadow.blur),this.externalCfg=e.config.plotOptions.pie.dataLabels.external;const a=e.config.dataLabels.style;this.externalLabelStyle={fontSize:this.externalCfg.fontSize||a.fontSize,fontFamily:this.externalCfg.fontFamily||a.fontFamily,fontWeight:this.externalCfg.fontWeight||a.fontWeight},this.externalLabels=[],this.externalLabelMaxLines=1,this.externalLabelLineH=parseFloat(this.externalLabelStyle.fontSize)||12,e.globals.pieExternalLabelMarginY=0,this.showExternalLabels=this.externalCfg.show&&"polarArea"!==this.chartType,this.showExternalLabels&&!e.globals.noData&&this.reserveExternalLabelSpace(),this.donutSize=e.globals.radialSize*parseInt(e.config.plotOptions.pie.donut.size,10)/100;const i=e.config.plotOptions.pie.customScale,s=e.layout.gridWidth/2,n=e.layout.gridHeight/2;this.translateX=s-s*i,this.translateY=n-n*i,this.dataLabelsGroup=new u(this.w).group({class:"apexcharts-datalabels-group",transform:`translate(${this.translateX}, ${this.translateY}) scale(${i})`}),this.maxY=0,this.sliceLabels=[],this.sliceSizes=[],this.prevSliceSizes=[],this.sliceLabelGroups={},this.externalLabelGroups={},this.elHoverOutline=null,this.elHoverOutlinePath=null,this.hoverOutlineIndex=-1,this.prevSectorAngleArr=[]}getExternalLabelText(e){var t,a,i;const s=this.w,n=s.seriesData.seriesNames[e],r=this.externalCfg.formatter;return"function"==typeof r?r(n,{seriesIndex:e,percent:null==(a=null==(t=s.globals.seriesPercent)?void 0:t[e])?void 0:a[0],value:null==(i=s.globals.seriesTotals)?void 0:i[e],w:s}):null==n?"":`${n}`}getExternalLabelLines(e){const t=this.getExternalLabelText(e);return(Array.isArray(t)?t:`${null==t?"":t}`.split("\n")).map(e=>null==e?"":`${e}`)}reserveExternalLabelSpace(){const e=this.w,t=new A(e),a=(e.seriesData.seriesNames||[]).map((e,t)=>this.getExternalLabelLines(t)),i=t.getMaxLabelWidth(a.flat(),{fontSize:this.externalLabelStyle.fontSize,fontFamily:this.externalLabelStyle.fontFamily});this.externalLabelMaxLines=a.reduce((e,t)=>Math.max(e,t.length),1),this.externalLabelLineH=Math.round(1.35*(parseFloat(this.externalLabelStyle.fontSize)||12));const s=this.externalCfg.connector,n=this.externalLabelMaxLines*this.externalLabelLineH,r=i+(s.length||0)+(s.gap||0)+12,l=n/2+(s.gap||0)+6,o=Math.min(e.globals.radialSize,e.layout.gridWidth/2-r,e.layout.gridHeight/2-l);e.globals.radialSize=Math.max(o,.15*this.defaultSize),e.globals.pieExternalLabelMarginY=l;const h=e.config.chart.height?String(e.config.chart.height):"",c=""!==h&&"auto"!==h;this.centerY=c?e.layout.gridHeight/2:e.globals.radialSize+l}draw(e){var t;const a=this.w,i=new u(this.w),s=i.group({class:"apexcharts-pie"});if(a.globals.noData)return s;let n=0;for(let t=0;t<e.length;t++)n+=f.negToZero(e[t]);const r=[],l=i.group();0===n&&(n=1e-5),e.forEach(e=>{this.maxY=Math.max(this.maxY,e)}),a.config.yaxis[0].max&&(this.maxY=a.config.yaxis[0].max),"back"===a.config.grid.position&&"polarArea"===this.chartType&&this.drawPolarElements(s);const o=a.globals.collapsedSeriesIndices||[];let h=1;if("polarArea"===this.chartType){let t=0;for(let a=0;a<e.length;a++)-1===o.indexOf(a)&&t++;h=Math.max(1,t)}for(let t=0;t<e.length;t++){const i=this.fullAngle*f.negToZero(e[t])/n;r.push(i),"polarArea"===this.chartType?(r[t]=o.indexOf(t)>-1?0:this.fullAngle/h,this.sliceSizes.push(a.globals.radialSize*e[t]/(this.maxY||1))):this.sliceSizes.push(a.globals.radialSize)}const c=!0===(null==(t=this.ctx.morphTypeChange)?void 0:t.isActive());if(a.globals.dataChanged&&!c)if("polarArea"===this.chartType){const e=a.globals.previousPaths,t=a.globals.prevPolarAngles;if(Array.isArray(t)&&t.length===e.length)this.prevSectorAngleArr=t.slice();else for(let t=0;t<e.length;t++)this.prevSectorAngleArr.push(this.fullAngle/Math.max(1,e.length));let i=0;for(let t=0;t<e.length;t++)i=Math.max(i,f.negToZero(e[t]));a.config.yaxis[0].max&&(i=a.config.yaxis[0].max),this.prevSliceSizes=e.map(e=>a.globals.radialSize*f.negToZero(e)/(i||1))}else{let e,t=0;for(let e=0;e<a.globals.previousPaths.length;e++)t+=f.negToZero(a.globals.previousPaths[e]);for(let i=0;i<a.globals.previousPaths.length;i++)e=this.fullAngle*f.negToZero(a.globals.previousPaths[i])/t,this.prevSectorAngleArr.push(e)}if("polarArea"===this.chartType&&(a.globals.prevPolarAngles=r.slice()),this.donutSize<0&&(this.donutSize=0),"donut"===this.chartType){const e=i.drawCircle(this.donutSize);e.attr({cx:this.centerX,cy:this.centerY,fill:a.config.plotOptions.pie.donut.background?a.config.plotOptions.pie.donut.background:"transparent"}),l.add(e)}const d=this.drawArcs(r,e);if(this.sliceLabels.forEach(e=>{d.add(e)}),l.attr({transform:`translate(${this.translateX}, ${this.translateY}) scale(${a.config.plotOptions.pie.customScale})`}),l.add(d),s.add(l),this.donutDataLabels.show){const e=this.initialAnim&&!a.globals.resized&&!a.globals.dataChanged&&this.animDur>0,t=this.renderInnerDataLabels(this.dataLabelsGroup,this.donutDataLabels,{hollowSize:this.donutSize,centerX:this.centerX,centerY:this.centerY,opacity:e?0:this.donutDataLabels.show});if(e){const e=this.dataLabelsGroup.node;e.style.transition="opacity 280ms ease-out",setTimeout(()=>{e.style.opacity="1"},this.animDur)}s.add(t)}return"front"===a.config.grid.position&&"polarArea"===this.chartType&&this.drawPolarElements(s),s}drawArcs(e,t){var a,i,s,n,r;const l=this.w,o=new b(this.w),h=new u(this.w),c=new p(this.w),d=h.group({class:"apexcharts-slices"});this.elHoverOutline=h.group({class:"apexcharts-pie-hover-outline"}),this.elHoverOutline.node.style.pointerEvents="none",this.elHoverOutline.node.style.opacity="0",l.config.chart.animations.enabled&&(this.elHoverOutline.node.style.transition="opacity 180ms ease-out"),d.add(this.elHoverOutline);let g=this.initialAngle,m=this.initialAngle,w=this.initialAngle,y=this.initialAngle;this.strokeWidth=l.config.stroke.show?l.config.stroke.width:0;const S=!0===(null==(a=this.ctx.morphTypeChange)?void 0:a.isActive());for(let a=0;a<e.length;a++){const p=h.group({class:"apexcharts-series apexcharts-pie-series",seriesName:f.escapeString(l.seriesData.seriesNames[a]),rel:a+1,"data:realIndex":a});d.add(p),g=w,m=y,w=g+e[a],y=m+this.prevSectorAngleArr[a];const A=w<g?this.fullAngle+w-g:w-g,x=c.fillPath({seriesNumber:a,size:this.sliceSizes[a],value:t[a]}),v=S?this.ctx.morphTypeChange.getInitialPathFor(a,0):null,L="polarArea"===this.chartType&&l.globals.dataChanged&&!S?this.prevSliceSizes[a]||0:void 0,O=v||this.getChangedPath(m,y,L),z=h.drawPath({d:O,stroke:Array.isArray(this.lineColorArr)?null!=(i=this.lineColorArr[a])?i:this.lineColorArr[a%this.lineColorArr.length]:this.lineColorArr,strokeWidth:0,fill:x,fillOpacity:l.config.fill.opacity,classes:`apexcharts-pie-area apexcharts-${this.chartType.toLowerCase()}-slice-${a}`});if(z.attr({index:0,j:a}),o.setSelectionFilter(z,0,a),l.config.chart.dropShadow.enabled){const e=l.config.chart.dropShadow;o.dropShadow(z,e,a)}this.addListeners(z,this.donutDataLabels,a);let C={x:0,y:0};const k=(g+A/2)%this.fullAngle;let T={x:this.centerX,y:this.centerY};"pie"===this.chartType||"polarArea"===this.chartType?(C=f.polarToCartesian(this.centerX,this.centerY,l.globals.radialSize/1.25+l.config.plotOptions.pie.dataLabels.offset,k),T=f.polarToCartesian(this.centerX,this.centerY,l.globals.radialSize/2,k)):"donut"===this.chartType&&(C=f.polarToCartesian(this.centerX,this.centerY,(l.globals.radialSize+this.donutSize)/2+l.config.plotOptions.pie.dataLabels.offset,k),T=f.polarToCartesian(this.centerX,this.centerY,(l.globals.radialSize+this.donutSize)/2,k)),u.setAttrs(z.node,{"data:angle":A,"data:startAngle":g,"data:strokeWidth":this.strokeWidth,"data:value":t[a],"data:cx":T.x,"data:cy":T.y}),p.add(z);let P=!1;if(S){const e=this.getPiePath({me:this,startAngle:g,angle:A,size:this.sliceSizes[a]});z.node.setAttribute("data:pathFinal",e),P=!0===(null==(n=(s=this.ctx.morphTypeChange).claimsTargetMark)?void 0:n.call(s,a,0)),P&&(z.attr({d:e}),z.node.setAttribute("data:pathOrig",e),z.node.setAttribute("opacity","0"),z.node.setAttribute("data-piece-hidden","1"))}let Y=0;if(!this.initialAnim||l.globals.resized||l.globals.dataChanged?this.animBeginArr.push(0):(Y=A/this.fullAngle*l.config.chart.animations.speed,0===Y&&(Y=1),this.animDur=Y+this.animDur,this.animBeginArr.push(this.animDur)),P);else if(S&&v){const e=this.getPiePath({me:this,startAngle:g,angle:A,size:this.sliceSizes[a]}),t=this.ctx.morphTypeChange.getSpeed(),i=this.ctx.animations;z.node.setAttribute("data:pathOrig",e);const s=z.animate(t).plot(e,"polygons").attr({"stroke-width":this.strokeWidth});s&&"function"==typeof s.after?s.after(()=>i.animationCompleted(z)):i.animationCompleted(z)}else this.dynamicAnim&&l.globals.dataChanged?this.animatePaths(z,{size:this.sliceSizes[a],prevSize:L,endAngle:w,startAngle:g,prevStartAngle:m,prevEndAngle:y,animateStartingPos:!0,i:a,animBeginArr:this.animBeginArr,shouldSetPrevPaths:!0,dur:l.config.chart.animations.dynamicAnimation.speed}):this.animatePaths(z,{size:this.sliceSizes[a],endAngle:w,startAngle:g,i:a,totalItems:e.length-1,animBeginArr:this.animBeginArr,dur:Y});if(this.getExpandOffset()>0?z.node.addEventListener("mouseup",this.pieClicked.bind(this,a)):0===a&&b.drilldownBlocksSliceOffset(l)&&(null==(r=this.ctx.drilldown)||r.warnSliceOffsetDisabled()),void 0!==l.interact.selectedDataPoints[0]&&l.interact.selectedDataPoints[0].indexOf(a)>-1)if(this.initialAnim&&!l.globals.resized&&!l.globals.dataChanged&&this.animDur>0){const e=this,t=a;setTimeout(()=>e.pieClicked(t,{animate:!1}),this.animDur)}else this.pieClicked(a,{animate:!1});if(l.config.dataLabels.enabled){const t=C.x,i=C.y;let s=100*A/this.fullAngle+"%";if(0!==A&&l.config.plotOptions.pie.dataLabels.minAngleToShowLabel<e[a]){const e=l.config.dataLabels.formatter;void 0!==e&&(s=e(l.globals.seriesPercent[a][0],{seriesIndex:a,w:l}));const n=l.globals.dataLabels.style.colors[a],r=h.group({class:"apexcharts-datalabels"}),c=h.drawText({x:t,y:i,text:s,textAnchor:"middle",fontSize:l.config.dataLabels.style.fontSize,fontFamily:l.config.dataLabels.style.fontFamily,fontWeight:l.config.dataLabels.style.fontWeight,foreColor:n});if(r.add(c),l.config.dataLabels.dropShadow.enabled){const e=l.config.dataLabels.dropShadow;o.dropShadow(c,e)}c.node.classList.add("apexcharts-pie-label"),l.config.chart.animations.animate&&!1===l.globals.resized&&(c.node.classList.add("apexcharts-pie-label-delay"),c.node.style.animationDelay=l.config.chart.animations.speed/940+"s"),this.sliceLabels.push(r),this.sliceLabelGroups[a]=r.node}}if(this.showExternalLabels&&0!==A){const e=this.getExternalLabelLines(a);if(e.some(e=>""!==e)){const t=f.polarToCartesian(this.centerX,this.centerY,l.globals.radialSize,k),i=f.polarToCartesian(this.centerX,this.centerY,l.globals.radialSize+(this.externalCfg.connector.gap||0),k),s=i.x>=this.centerX,n=s?i.x+(this.externalCfg.connector.length||0):i.x-(this.externalCfg.connector.length||0);this.externalLabels.push({i:a,lines:e,anchor:t,elbow:i,side:s?"right":"left",labelX:n+parseFloat(this.externalCfg.offsetX||0),idealY:i.y+parseFloat(this.externalCfg.offsetY||0),connectorColor:this.externalCfg.connector.color||l.globals.colors[a],foreColor:this.externalCfg.color||l.config.chart.foreColor})}}}if(this.showExternalLabels&&this.externalLabels.length){this.placeExternalLabels();const e=x.isBrowser()&&(S||this.dynamicAnim&&l.globals.dataChanged||this.initialAnim&&!l.globals.resized&&!l.globals.dataChanged);this.externalLabels.forEach(t=>{const a=new A(l).drawExternalLabel({lines:t.lines,lineHeight:this.externalLabelLineH,anchor:t.anchor,elbow:t.elbow,labelX:t.labelX,labelY:t.labelY,side:t.side,connector:{show:this.externalCfg.connector.show,width:this.externalCfg.connector.width,color:t.connectorColor},style:this.externalLabelStyle,foreColor:t.foreColor});e&&(a.node.classList.add("apexcharts-element-hidden"),l.globals.delayedElements.push({el:a.node})),this.externalLabelGroups[t.i]=a.node,d.add(a)})}return d}placeExternalLabels(){const e=this.w,t=this.externalLabelMaxLines*this.externalLabelLineH+2,a=this.centerY+e.globals.radialSize+e.globals.pieExternalLabelMarginY;["left","right"].forEach(e=>{!function(e,t,a){const i=e.slice().sort((e,t)=>e.idealY-t.idealY);i.forEach(e=>{e.labelY=e.idealY});for(let e=1;e<i.length;e++)i[e].labelY-i[e-1].labelY<t&&(i[e].labelY=i[e-1].labelY+t);const s=i[i.length-1],n=s?s.labelY-a:0;if(n>0)for(let e=i.length-1;e>=0;e--)i[e].labelY-=n,e<i.length-1&&i[e+1].labelY-i[e].labelY<t&&(i[e].labelY=i[e+1].labelY-t)}(this.externalLabels.filter(t=>t.side===e),t,a)})}addListeners(e,t,a){const i=new u(this.w,this.ctx);e.node.addEventListener("mouseenter",i.pathMouseEnter.bind(i,e)),e.node.addEventListener("mouseleave",i.pathMouseLeave.bind(i,e)),e.node.addEventListener("mouseleave",this.revertDataLabelsInner.bind(this)),"number"==typeof a&&(e.node.addEventListener("mouseenter",this.showHoverOutline.bind(this,a)),e.node.addEventListener("mouseleave",this.hideHoverOutline.bind(this))),e.node.addEventListener("mousedown",i.pathMouseDown.bind(i,e)),this.donutDataLabels.total.showAlways||(e.node.addEventListener("mouseenter",this.printDataLabelsInner.bind(this,e.node,t)),e.node.addEventListener("mousedown",this.printDataLabelsInner.bind(this,e.node,t)))}animatePaths(e,t){const a=this.w;let i=t.endAngle<t.startAngle?this.fullAngle+t.endAngle-t.startAngle:t.endAngle-t.startAngle,s=i,n=t.startAngle;const r=t.startAngle;void 0!==t.prevStartAngle&&void 0!==t.prevEndAngle&&(n=t.prevEndAngle,s=t.prevEndAngle<t.prevStartAngle?this.fullAngle+t.prevEndAngle-t.prevStartAngle:t.prevEndAngle-t.prevStartAngle),t.i===a.config.series.length-1&&(i+r>this.fullAngle?t.endAngle=t.endAngle-(i+r):i+r<this.fullAngle&&(t.endAngle=t.endAngle+(this.fullAngle-(i+r)))),i===this.fullAngle&&(i=this.fullAngle-.01),this.animateArc(e,n,r,i,s,t)}animateArc(e,t,a,i,s,n){const r=this,l=this.w,o=new g(this.w),h=n.size;let c;(isNaN(t)||isNaN(s))&&(t=a,s=i,n.dur=0);let d=i,p=a;const f=t<a?this.fullAngle+t-a:t-a,u="number"==typeof n.prevSize;l.globals.dataChanged&&n.shouldSetPrevPaths&&n.prevEndAngle&&(c=r.getPiePath({me:r,startAngle:n.prevStartAngle,angle:n.prevEndAngle<n.prevStartAngle?this.fullAngle+n.prevEndAngle-n.prevStartAngle:n.prevEndAngle-n.prevStartAngle,size:u?n.prevSize:h}),e.attr({d:c})),0!==n.dur?e.animate(n.dur,n.animBeginArr[n.i]).after(function(){"pie"!==r.chartType&&"donut"!==r.chartType&&"polarArea"!==r.chartType||this.animate(l.config.chart.animations.dynamicAnimation.speed).attr({"stroke-width":r.strokeWidth}),n.i===l.config.series.length-1&&o.animationCompleted(e)}).during(l=>{d=f+(i-f)*l,n.animateStartingPos&&(d=s+(i-s)*l,p=t-s+(a-(t-s))*l),c=r.getPiePath({me:r,startAngle:p,angle:d,size:u?n.prevSize+(h-n.prevSize)*l:h}),e.node.setAttribute("data:pathOrig",c),e.attr({d:c})}):(c=r.getPiePath({me:r,startAngle:p,angle:i,size:h}),n.isTrack||(l.globals.animationEnded=!0),e.node.setAttribute("data:pathOrig",c),e.attr({d:c,"stroke-width":r.strokeWidth}))}pieClicked(e,t){const a=this.w,i=!(t&&!1===t.animate),s=a.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`);if(!s)return;if("true"===s.attr("data:pieClicked"))return s.attr({"data:pieClicked":"false"}),this.revertDataLabelsInner(),void this.offsetSlice(e,0,i);const n=a.dom.baseEl.getElementsByClassName("apexcharts-pie-area");Array.prototype.forEach.call(n,e=>{const t="true"===e.getAttribute("data:pieClicked");e.setAttribute("data:pieClicked","false"),t&&this.offsetSlice(parseInt(e.getAttribute("j"),10),0,i)}),a.interact.capturedDataPointIndex=e,s.attr("data:pieClicked","true"),this.offsetSlice(e,this.getExpandOffset(),i)}getExpandOffset(){const e=this.w.config.plotOptions.pie;if(!e.expandOnClick||"polarArea"===this.chartType)return 0;if(b.drilldownBlocksSliceOffset(this.w))return 0;const t=Number(e.expandOffset);return Number.isFinite(t)&&t>0?t:0}getSliceMovers(e){const t=this.w.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`);return[t?t.node:null,this.sliceLabelGroups[e],this.externalLabelGroups[e],this.hoverOutlineIndex===e&&this.elHoverOutlinePath?this.elHoverOutlinePath.node:null].filter(Boolean)}offsetSlice(e,t,a=!0){const i=this.w;if(!i.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`))return;const{dx:s,dy:n}=this.getSliceOffsetVector(e,t),r=`translate(${s} ${n})`,l=a&&i.config.chart.animations.enabled?"transform 320ms cubic-bezier(0.25, 0.8, 0.3, 1)":"";this.getSliceMovers(e).forEach(e=>{e.style.transition=l,e.setAttribute("transform",r)})}getSliceOffsetVector(e,t){const a=this.w.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`),i=a?parseFloat(a.attr("data:angle")):NaN;if(!t||!Number.isFinite(i)||i>=this.fullAngle)return{dx:0,dy:0};const s=parseFloat(a.attr("data:startAngle")),n=Math.PI*(s+i/2-90)/180;return{dx:t*Math.cos(n),dy:t*Math.sin(n)}}showHoverOutline(e){const t=this.w;if(!b.hoverOutlineOwnsHoverState(t))return;if(!this.elHoverOutline)return;const a=this.getHoverOutlinePath(e);if(!a)return;const i=t.config.plotOptions.pie.hoverOutline,s=i.color||t.globals.colors[e];if(!this.elHoverOutlinePath){const e=new u(t);this.elHoverOutlinePath=e.drawPath({d:a,fill:s,strokeWidth:0,classes:"apexcharts-pie-hover-outline-band"}),this.elHoverOutline.add(this.elHoverOutlinePath)}this.elHoverOutlinePath.attr({d:a,fill:s,"fill-opacity":i.opacity});const{dx:n,dy:r}=this.getSliceOffsetVector(e,this.isSliceOut(e)?this.getExpandOffset():0);this.elHoverOutlinePath.node.style.transition="",this.elHoverOutlinePath.node.setAttribute("transform",`translate(${n} ${r})`),this.hoverOutlineIndex=e,this.elHoverOutline.node.style.opacity="1"}hideHoverOutline(){this.elHoverOutline&&(this.elHoverOutline.node.style.opacity="0")}isSliceOut(e){const t=this.w.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`);return!!t&&"true"===t.attr("data:pieClicked")}getHoverOutlinePath(e){const t=this.w,a=t.config.plotOptions.pie.hoverOutline,i=t.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`);if(!i)return null;const s=parseFloat(i.attr("data:angle"));if(!Number.isFinite(s)||s<=0)return null;const n=this.sliceSizes[e],r=Number(a.size);if(!Number.isFinite(n)||!Number.isFinite(r)||r<=0)return null;const{startDeg:l,spanDeg:c}=this.getSliceExtent({me:this,startAngle:parseFloat(i.attr("data:startAngle")),angle:s,size:n});if(!(c>0))return null;const d=n+(this.strokeWidth||0)/2+(Number(a.gap)||0),g=d+r,p={cx:this.centerX,cy:this.centerY,rIn:d,rOut:g,a0:l,a1:l+c,spanDeg:c},f=Math.min(r/2,c*Math.PI/180/2*d);return f>.5?L(h(o({},p),{r:f})):function({cx:e,cy:t,rIn:a,rOut:i,a0:s,a1:n,spanDeg:r}){const l=(a,i)=>S(e,t,a,i),o=r>180?1:0,h=l(i,s),c=l(i,n),d=l(a,n),g=l(a,s);return["M",v(h),"A",i,i,0,o,1,v(c),"L",v(d),"A",a,a,0,o,0,v(g),"Z"].join(" ")}(p)}getChangedPath(e,t,a){let i="";return this.dynamicAnim&&this.w.globals.dataChanged&&(i=this.getPiePath({me:this,startAngle:e,angle:t-e,size:"number"==typeof a?a:this.size})),i}getSliceExtent({me:e,startAngle:t,angle:a,size:i}){const s=this.w;let n=t,r=a+t;Math.ceil(r)>=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(r=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01);let l=r-n;const o="pie"===e.chartType||"donut"===e.chartType||"polarArea"===e.chartType,h=s.config.plotOptions.pie.spacing;if(o&&h>0&&l>0){const t="donut"===e.chartType?(i+e.donutSize)/2:i,a=t>0?h/t*(180/Math.PI):0,s=Math.min(a/2,Math.max(0,l/2-.5));n+=s,l-=2*s}return r=n+l,Math.ceil(r)>this.fullAngle&&(r-=this.fullAngle),{startDeg:n,spanDeg:l,endDeg:r}}getPiePath({me:e,startAngle:t,angle:a,size:i}){let s;const n=this.w,r=new u(this.w),{startDeg:l,spanDeg:o,endDeg:h}=this.getSliceExtent({me:e,startAngle:t,angle:a,size:i}),c="pie"===e.chartType||"donut"===e.chartType||"polarArea"===e.chartType,d=Math.PI*(l-90)/180,g=n.config.plotOptions.pie.borderRadius;if(g>0&&c){const t=this.getRoundedSlicePath({me:e,startDeg:l,spanDeg:o,size:i,borderRadius:g});if(t)return t}const p=Math.PI*(h-90)/180,b=e.centerX+i*Math.cos(d),m=e.centerY+i*Math.sin(d),A=e.centerX+i*Math.cos(p),x=e.centerY+i*Math.sin(p),w=f.polarToCartesian(e.centerX,e.centerY,e.donutSize,h),y=f.polarToCartesian(e.centerX,e.centerY,e.donutSize,l),S=o>180?1:0,v=["M",b,m,"A",i,i,0,S,1,A,x];return s="donut"===e.chartType?[...v,"L",w.x,w.y,"A",e.donutSize,e.donutSize,0,S,0,y.x,y.y,"L",b,m,"z"].join(" "):"pie"===e.chartType||"polarArea"===e.chartType?[...v,"L",e.centerX,e.centerY,"L",b,m].join(" "):[...v].join(" "),r.roundPathCorners(s,2*this.strokeWidth)}getRoundedSlicePath({me:e,startDeg:t,spanDeg:a,size:i,borderRadius:s}){if(!(a>0))return null;const n=Math.PI/180,r=e.centerX,l=e.centerY,o="donut"===e.chartType,h=i,c=o?e.donutSize:0,d=a*n;let g=s;if(g=Math.min(g,d*h/2),o?(g=Math.min(g,d*c/2),g=Math.min(g,(h-c)/2)):g=Math.min(g,h/2),!(g>.5))return null;const p=t,f=t+a;return o?L({cx:r,cy:l,rIn:c,rOut:h,a0:p,a1:f,r:g,spanDeg:a}):function({cx:e,cy:t,rOut:a,a0:i,a1:s,r:n,spanDeg:r}){const l=(a,i)=>S(e,t,a,i),o=n/a*y,h=l(a,i+o),c=l(a,s-o),d=r-2*o>180?1:0,g=l(a,s),p=l(a-n,s),f=l(a,i),u=l(a-n,i);return["M",v(h),"A",a,a,0,d,1,v(c),"Q",v(g),v(p),"L",`${e} ${t}`,"L",v(u),"Q",v(f),v(h),"Z"].join(" ")}({cx:r,cy:l,rOut:h,a0:p,a1:f,r:g,spanDeg:a})}drawPolarElements(e){const t=this.w,a=new m(this.w),i=new u(this.w),s=new A(this.w),n=i.group(),r=i.group(),l=a.niceScale(0,Math.ceil(this.maxY),0),o=l.result.reverse(),h=l.result.length;this.maxY=l.niceMax;let c=t.globals.radialSize;const d=c/(h-1);for(let e=0;e<h-1;e++){const a=i.drawCircle(c);if(a.attr({cx:this.centerX,cy:this.centerY,fill:"none","stroke-width":t.config.plotOptions.polarArea.rings.strokeWidth,stroke:t.config.plotOptions.polarArea.rings.strokeColor}),t.config.yaxis[0].show){const a=s.drawYAxisTexts(this.centerX,this.centerY-c+parseInt(t.config.yaxis[0].labels.style.fontSize,10)/2,e,o[e]);r.add(a)}n.add(a),c-=d}this.drawSpokes(e),e.add(n),e.add(r)}renderInnerDataLabels(e,t,a){const i=this.w,s=new u(this.w),n=t.total.show;e.node.innerHTML="",e.node.style.opacity=a.opacity;const r=a.centerX,l=this.donutDataLabels.total.label?a.centerY:a.centerY-a.centerY/6;let o,h;o=void 0===t.name.color?i.globals.colors[0]:t.name.color;let c=t.name.fontSize,d=t.name.fontFamily,g=t.name.fontWeight;h=void 0===t.value.color?i.config.chart.foreColor:t.value.color;const p=t.value.formatter;let f="",b="";if(n?(o=t.total.color,c=t.total.fontSize,d=t.total.fontFamily,g=t.total.fontWeight,b=this.donutDataLabels.total.label?t.total.label:"",f=t.total.formatter(i)):1===i.seriesData.series.length&&(f=p(i.seriesData.series[0],i),b=i.seriesData.seriesNames[0]),b&&(b=t.name.formatter(b,t.total.show,i)),t.name.show){const a=s.drawText({x:r,y:l+parseFloat(t.name.offsetY),text:b,textAnchor:"middle",foreColor:o,fontSize:c,fontWeight:g,fontFamily:d});a.node.classList.add("apexcharts-datalabel-label"),e.add(a)}if(t.value.show){const a=t.name.show?parseFloat(t.value.offsetY)+16:t.value.offsetY,i=s.drawText({x:r,y:l+a,text:f,textAnchor:"middle",foreColor:h,fontWeight:t.value.fontWeight,fontSize:t.value.fontSize,fontFamily:t.value.fontFamily});i.node.classList.add("apexcharts-datalabel-value"),e.add(i)}return e}printInnerLabels(e,t,a,i){const s=this.w;let n;i?n=void 0===e.name.color?s.globals.colors[parseInt(i.parentNode.getAttribute("rel"),10)-1]:e.name.color:s.seriesData.series.length>1&&e.total.show&&(n=e.total.color);const r=s.dom.baseEl.querySelector(".apexcharts-datalabel-label"),l=s.dom.baseEl.querySelector(".apexcharts-datalabel-value");a=(0,e.value.formatter)(a,s),i||"function"!=typeof e.total.formatter||(a=e.total.formatter(s));const o=t===e.total.label;if(t=this.donutDataLabels.total.label?e.name.formatter(t,o,s):"",null!==r&&(r.textContent=t),null!==l&&(l.textContent=a),null!==r){r.style.fill=n}}printDataLabelsInner(e,t){const a=this.w,i=e.getAttribute("data:value"),s=a.seriesData.seriesNames[parseInt(e.parentNode.getAttribute("rel"),10)-1];a.seriesData.series.length>1&&this.printInnerLabels(t,s,i,e);const n=a.dom.baseEl.querySelector(".apexcharts-datalabels-group");if(null!==n){n.style.opacity="1"}}drawSpokes(e){const t=this.w,a=new u(this.w),i=t.config.plotOptions.polarArea.spokes;if(0===i.strokeWidth)return;const s=[],n=360/t.seriesData.series.length;for(let e=0;e<t.seriesData.series.length;e++)s.push(f.polarToCartesian(this.centerX,this.centerY,t.globals.radialSize,t.config.plotOptions.pie.startAngle+n*e));s.forEach((t,s)=>{const n=a.drawLine(t.x,t.y,this.centerX,this.centerY,Array.isArray(i.connectorColors)?i.connectorColors[s]:i.connectorColors);e.add(n)})}revertDataLabelsInner(){const e=this.w;if(this.donutDataLabels.show){const t=e.dom.Paper.findOne(".apexcharts-datalabels-group"),a=this.renderInnerDataLabels(t,this.donutDataLabels,{hollowSize:this.donutSize,centerX:this.centerX,centerY:this.centerY,opacity:this.donutDataLabels.show});e.dom.Paper.findOne(".apexcharts-radialbar, .apexcharts-pie").add(a)}}}const z=globalThis.ApexCharts.__internals.__apex_Series,C=globalThis.ApexCharts.__internals.__apex_BrowserAPIs_BrowserAPIs;c.use({radialBar:class extends O{constructor(e,t){super(e,t),this.ctx=t,this.w=e,this.animBeginArr=[0],this.animDur=0,this.startAngle=e.config.plotOptions.radialBar.startAngle,this.endAngle=e.config.plotOptions.radialBar.endAngle,this.totalAngle=Math.abs(e.config.plotOptions.radialBar.endAngle-e.config.plotOptions.radialBar.startAngle),this.trackStartAngle=e.config.plotOptions.radialBar.track.startAngle,this.trackEndAngle=e.config.plotOptions.radialBar.track.endAngle,this.barLabels=this.w.config.plotOptions.radialBar.barLabels,this.donutDataLabels=this.w.config.plotOptions.radialBar.dataLabels,this.radialDataLabels=this.donutDataLabels,this.trackStartAngle||(this.trackStartAngle=this.startAngle),this.trackEndAngle||(this.trackEndAngle=this.endAngle),360===this.endAngle&&(this.endAngle=359.99),this.margin=parseInt(e.config.plotOptions.radialBar.track.margin,10),this.onBarLabelClick=this.onBarLabelClick.bind(this)}draw(e){var t;const a=this.w,i=new u(this.w),s=i.group({class:"apexcharts-radialbar"});if(a.globals.noData)return s;const n=i.group(),r=a.layout.gridHeight/2,l=a.layout.gridWidth/2;let o=this.defaultSize/2.05;a.config.chart.sparkline.enabled||(o=o-a.config.stroke.width-a.config.chart.dropShadow.blur);const h=a.globals.fill.colors,c=a.config.plotOptions.radialBar,d=Array.isArray(c.bands)&&c.bands.length>0,g=d&&c.bandsStyle&&c.bandsStyle.hideTrackWhenPresent,p="needle"===c.shape;if(c.track.show&&!g){const t=this.drawTracks({size:o,centerX:l,centerY:r,colorArr:h,series:e});n.add(t)}if(d){const t=this.drawBands({size:o,centerX:l,centerY:r,series:e});n.add(t)}const f=this.drawArcs({size:o,centerX:l,centerY:r,colorArr:h,series:e,skipValueArc:p&&!(null==(t=c.needle)?void 0:t.showValueArc)});if(c.ticks&&c.ticks.show){const t=this.drawTicks({size:o,centerX:l,centerY:r,series:e});if(this.initialAnim&&!a.globals.dataChanged&&!a.globals.resized&&x.isBrowser()&&a.globals.shouldAnimate){const e=t.node;e.style.opacity="0",e.style.transition="opacity 280ms ease-out";const i=a.config.chart.animations.speed||800;setTimeout(()=>{e.style.opacity="1"},i)}n.add(t)}if(p){const t=this.drawNeedle({size:o,centerX:l,centerY:r,series:e});n.add(t)}let b=360;a.config.plotOptions.radialBar.startAngle<0&&(b=this.totalAngle);const m=(360-b)/360;if(a.globals.radialSize=o-o*m,this.radialDataLabels.value.show){const e=Math.max(this.radialDataLabels.value.offsetY,this.radialDataLabels.name.offsetY);a.globals.radialSize+=e*m}return n.add(f.g),"front"===a.config.plotOptions.radialBar.hollow.position&&(f.g.add(f.elHollow),f.dataLabels&&f.g.add(f.dataLabels)),s.add(n),s}drawTracks(e){const t=this.w,a=new u(this.w),i=a.group({class:"apexcharts-tracks"}),s=new b(this.w),n=new p(this.w),r=this.getStrokeWidth(e);e.size=e.size-r/2;for(let l=0;l<e.series.length;l++){const o=a.group({class:"apexcharts-radialbar-track apexcharts-track"});i.add(o),o.attr({rel:l+1}),e.size=e.size-r-this.margin;const h=t.config.plotOptions.radialBar.track,c=n.fillPath({seriesNumber:0,size:e.size,fillColors:Array.isArray(h.background)?h.background[l]:h.background,solid:!0}),d=this.trackStartAngle;let g=this.trackEndAngle;Math.abs(g)+Math.abs(d)>=360&&(g=360-Math.abs(this.startAngle)-.1);const p=a.drawPath({d:"",stroke:c,strokeWidth:r*parseInt(h.strokeWidth,10)/100,fill:"none",strokeOpacity:h.opacity,classes:"apexcharts-radialbar-area"});if(h.dropShadow.enabled){const e=h.dropShadow;s.dropShadow(p,e)}o.add(p),p.attr("id","apexcharts-radialbarTrack-"+l),this.animatePaths(p,{centerX:e.centerX,centerY:e.centerY,endAngle:g,startAngle:d,size:e.size,i:l,totalItems:2,animBeginArr:0,dur:0,isTrack:!0})}return i}drawArcs(e){var t;const a=this.w,i=new u(this.w),s=new p(this.w),n=new b(this.w),r=i.group(),l=this.getStrokeWidth(e);e.size=e.size-l/2;let o=a.config.plotOptions.radialBar.hollow.background;const h=e.size-l*e.series.length-this.margin*e.series.length-l*parseInt(a.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,c=h-a.config.plotOptions.radialBar.hollow.margin;void 0!==a.config.plotOptions.radialBar.hollow.image&&(o=this.drawHollowImage(e,r,h,o));const d=this.drawHollow({size:c,centerX:e.centerX,centerY:e.centerY,fill:o||"transparent"});if(a.config.plotOptions.radialBar.hollow.dropShadow.enabled){const e=a.config.plotOptions.radialBar.hollow.dropShadow;n.dropShadow(d,e)}let g=1;!this.radialDataLabels.total.show&&a.seriesData.series.length>1&&(g=0);let m=null;if(this.radialDataLabels.show){const t=a.dom.Paper.findOne(".apexcharts-datalabels-group");m=this.renderInnerDataLabels(t,this.radialDataLabels,{hollowSize:h,centerX:e.centerX,centerY:e.centerY,opacity:g})}"back"===a.config.plotOptions.radialBar.hollow.position&&(r.add(d),m&&r.add(m));let A=!1;a.config.plotOptions.radialBar.inverseOrder&&(A=!0);const x=!0===(null==(t=this.ctx.morphTypeChange)?void 0:t.isActive());for(let t=A?e.series.length-1:0;A?t>=0:t<e.series.length;A?t--:t++){const o=i.group({class:"apexcharts-series apexcharts-radial-series",seriesName:f.escapeString(a.seriesData.seriesNames[t])});r.add(o),o.attr({rel:t+1,"data:realIndex":t}),z.addCollapsedClassToSeries(this.w,o,t),e.size=e.size-l-this.margin;const h=s.fillPath({seriesNumber:t,size:e.size,value:e.series[t]}),c=this.startAngle;let d;const g=a.config.plotOptions.radialBar,p="number"==typeof g.min?g.min:0,b="number"==typeof g.max?g.max:100,m=b===p?1:b-p,A=e=>{const t=Math.min(Math.max(e,p),b);return Math.max(0,(t-p)/m)},w=A(f.negToZero(e.series[t]));let y,S=Math.round(this.totalAngle*w)+this.startAngle;a.globals.dataChanged&&(d=this.startAngle,y=Math.round(this.totalAngle*A(f.negToZero(a.globals.previousPaths[t])))+d);Math.abs(S)+Math.abs(c)>360&&(S-=.01);Math.abs(y)+Math.abs(d)>360&&(y-=.01);const v=S-c,L=Array.isArray(a.config.stroke.dashArray)?a.config.stroke.dashArray[t]:a.config.stroke.dashArray,O=x?this.ctx.morphTypeChange.getInitialPathFor(t,0):null,C=x?this.ctx.morphTypeChange.getFromType():null,k=!!O&&("bar"===C||"funnel"===C||"pyramid"===C||"pie"===C||"donut"===C||"polarArea"===C),T=i.drawPath({d:O||"",stroke:k||e.skipValueArc?"transparent":h,strokeWidth:k||e.skipValueArc?0:l,fill:k?h:"none",fillOpacity:a.config.fill.opacity,classes:"apexcharts-radialbar-area apexcharts-radialbar-slice-"+t,strokeDashArray:L}),P=c+v/2,Y=f.polarToCartesian(e.centerX,e.centerY,e.size,P);if(u.setAttrs(T.node,{"data:angle":v,"data:value":e.series[t],"data:cx":Y.x,"data:cy":Y.y}),a.config.chart.dropShadow.enabled){const e=a.config.chart.dropShadow;n.dropShadow(T,e,t)}if(n.setSelectionFilter(T,0,t),this.addListeners(T,this.radialDataLabels),o.add(T),T.attr({index:0,j:t}),this.barLabels.enabled){const s=f.polarToCartesian(e.centerX,e.centerY,e.size,c),n=this.barLabels.formatter(a.seriesData.seriesNames[t],{seriesIndex:t,w:a}),r=["apexcharts-radialbar-label"];this.barLabels.onClick||r.push("apexcharts-no-click");let l=this.barLabels.useSeriesColors?a.globals.colors[t]:a.config.chart.foreColor;l||(l=a.config.chart.foreColor);const h=s.x+this.barLabels.offsetX,d=s.y+this.barLabels.offsetY,g=i.drawText({x:h,y:d,text:n,textAnchor:"end",dominantBaseline:"middle",fontFamily:this.barLabels.fontFamily,fontWeight:this.barLabels.fontWeight,fontSize:this.barLabels.fontSize,foreColor:l,cssClass:r.join(" ")});g.on("click",this.onBarLabelClick),g.attr({rel:t+1}),0!==c&&g.attr({"transform-origin":`${h} ${d}`,transform:`rotate(${c} 0 0)`}),o.add(g)}let D=0;if(!this.initialAnim||a.globals.resized||a.globals.dataChanged||(D=a.config.chart.animations.speed),a.globals.dataChanged&&(D=a.config.chart.animations.dynamicAnimation.speed),this.animDur=D/(1.2*e.series.length)+this.animDur,this.animBeginArr.push(this.animDur),x&&O){const t=this.ctx.morphTypeChange.getSpeed(),a=this.getPiePath({me:this,startAngle:c,angle:v,size:e.size});if(k){const i=this.ctx.morphTypeChange.buildRingSegmentPath(e.centerX,e.centerY,e.size,l,c,c+v);T.animate(t).plot(i,"polygons").after(function(){this.attr({d:a,fill:"none",stroke:e.skipValueArc?"transparent":h,"stroke-width":e.skipValueArc?0:l})})}else T.animate(t).plot(a,"polygons").attr({"stroke-width":l})}else this.animatePaths(T,{centerX:e.centerX,centerY:e.centerY,endAngle:S,startAngle:c,prevEndAngle:y,prevStartAngle:d,size:e.size,i:t,totalItems:2,animBeginArr:this.animBeginArr,dur:D,shouldSetPrevPaths:!0})}return{g:r,elHollow:d,dataLabels:m}}_angleAtValue(e){const t=this.w.config.plotOptions.radialBar,a="number"==typeof t.min?t.min:0,i="number"==typeof t.max?t.max:100,s=i===a?a+1:i,n=(Math.max(a,Math.min(s,Number(e)))-a)/(s-a);return this.startAngle+n*(this.endAngle-this.startAngle)}_describeArc(e,t,a,i,s){const n=f.polarToCartesian(e,t,a,s),r=f.polarToCartesian(e,t,a,i),l=s-i,o=Math.abs(l)>180?1:0;return`M ${n.x} ${n.y} A ${a} ${a} 0 ${o} 0 ${r.x} ${r.y}`}drawBands(e){const t=this.w,a=new u(this.w),i=t.config.plotOptions.radialBar,s=i.bands||[],n=a.group({class:"apexcharts-gauge-bands"}),r=this.getStrokeWidth(e),l=e.size-r/2-r-this.margin,o=r*parseInt(i.bandsStyle.strokeWidth,10)/100,h="number"==typeof i.min?i.min:0,c="number"==typeof i.max?i.max:100,d=c===h?0:(i.bandsStyle.gap||0)*((this.endAngle-this.startAngle)/(c-h));for(let t=0;t<s.length;t++){const r=s[t];if(void 0===r.from||void 0===r.to)continue;const h=this._angleAtValue(r.from),c=this._angleAtValue(r.to),g=Math.min(h,c)+d/2,p=Math.max(h,c)-d/2;if(p-g<=0)continue;const f=a.drawPath({d:this._describeArc(e.centerX,e.centerY,l,g,p),stroke:r.color||"#ccc",strokeWidth:o,fill:"none",strokeLinecap:i.bandsStyle.linecap||"butt",classes:"apexcharts-gauge-band"});f.node.setAttribute("data-band-index",String(t)),n.add(f)}return n}drawTicks(e){var t,a,i,s;const n=this.w,r=new u(this.w),l=n.config.plotOptions.radialBar,o=l.ticks,h=r.group({class:"apexcharts-gauge-ticks"}),c=this.getStrokeWidth(e),d=e.size-c/2-c-this.margin,g="number"==typeof l.min?l.min:0,p="number"==typeof l.max?l.max:100,b=Math.max(2,null!=(a=null==(t=o.major)?void 0:t.count)?a:11),m=Math.max(0,null!=(s=null==(i=o.minor)?void 0:i.count)?s:0),A=(t,a,i)=>{var s,n,l;const c=this._angleAtValue(t),g=null!=(s=a.length)?s:8,p="inside"===a.placement?d-g:d,u="inside"===a.placement?d:d+g,b=f.polarToCartesian(e.centerX,e.centerY,p,c),m=f.polarToCartesian(e.centerX,e.centerY,u,c),A=r.drawLine(b.x,b.y,m.x,m.y,a.color||(i?"#666":"#999"),0,a.width||(i?2:1));if(h.add(A),i&&(null==(n=o.labels)?void 0:n.show)){const i=("inside"===a.placement?p:u)+("inside"===a.placement?-1:1)*(null!=(l=o.labels.offset)?l:6),s=f.polarToCartesian(e.centerX,e.centerY,i,c),n="function"==typeof o.labels.formatter?o.labels.formatter(t):String(t),d=r.drawText({x:s.x,y:s.y,text:n,textAnchor:"middle",dominantBaseline:"middle",fontFamily:o.labels.fontFamily,fontSize:o.labels.fontSize,fontWeight:o.labels.fontWeight,foreColor:o.labels.color,cssClass:"apexcharts-gauge-tick-label"});h.add(d)}};for(let e=0;e<b;e++){if(A(g+e/(b-1)*(p-g),o.major||{},!0),e<b-1&&m>0)for(let t=1;t<=m;t++){A(g+(e+t/(m+1))/(b-1)*(p-g),o.minor||{},!1)}}return h}drawNeedle(e){var t,a,i,s,n;const r=this.w,l=new u(this.w),o=r.config.plotOptions.radialBar.needle||{},h=l.group({class:"apexcharts-gauge-needle"});if(!e.series||0===e.series.length)return h;const c=this.getStrokeWidth(e),d=e.size-c/2-c-this.margin,g="string"==typeof o.length&&o.length.endsWith("%")?d*parseInt(o.length,10)/100:Number(o.length||.85*d),p=null!=(t=o.baseWidth)?t:4,f=null!=(a=o.tipWidth)?a:1,b=o.color||"#333",m=e.centerX,A=Number(null!=(i=o.offsetY)?i:0),w=e.centerY+A,y=`M ${m+p/2} ${w} A ${p/2} ${p/2} 0 0 1 ${m-p/2} ${w} L ${m-f/2} ${w-g} L ${m+f/2} ${w-g} Z`,S=l.drawPath({d:y,stroke:b,strokeWidth:0,fill:b,classes:"apexcharts-gauge-needle-shape"});h.add(S);const v=Number(e.series[0]),L=this._angleAtValue(v),O=this.initialAnim&&!r.globals.dataChanged&&!r.globals.resized,z=this.ctx,k="number"==typeof z._lastNeedleAngle?z._lastNeedleAngle:this.startAngle;z._lastNeedleAngle=L;if(x.isBrowser()&&r.globals.shouldAnimate&&(O||r.globals.dataChanged)&&k!==L){const e=h.node;e.setAttribute("transform-origin",`${m} ${w}`),e.setAttribute("transform",`rotate(${k})`);const t=(null==(s=o.animation)?void 0:s.duration)&&Number(o.animation.duration)||o.animationSpeed&&Number(o.animationSpeed)||(null==(n=r.config.chart.animations.dynamicAnimation)?void 0:n.speed)||r.config.chart.animations.speed||800,a=1.70158,i=a+1,l=O?e=>1+i*Math.pow(e-1,3)+a*Math.pow(e-1,2):e=>1-Math.pow(1-e,3);null!=r.globals.radialNeedleRAF&&(C.cancelAnimationFrame(r.globals.radialNeedleRAF),r.globals.radialNeedleRAF=null);const c=performance.now(),d=a=>{if(this.w.globals.isDestroyed)return void(r.globals.radialNeedleRAF=null);const i=Math.max(0,Math.min(1,(a-c)/t)),s=k+(L-k)*l(i);e.setAttribute("transform",`rotate(${s})`),r.globals.radialNeedleRAF=i<1?C.requestAnimationFrame(d):null};r.globals.radialNeedleRAF=C.requestAnimationFrame(d)}else h.attr({"transform-origin":`${m} ${w}`,transform:`rotate(${L})`});return h}drawHollow(e){var t;const a=new u(this.w),i=this.w.config.plotOptions.radialBar.hollow,s=a.drawCircle(2*e.size),n={class:"apexcharts-radialbar-hollow",cx:e.centerX,cy:e.centerY,r:e.size,fill:e.fill};return(i.stroke||i.strokeDasharray)&&(n.stroke=i.stroke||"transparent",n["stroke-width"]=null!=(t=i.strokeWidth)?t:1,i.strokeDasharray&&(n["stroke-dasharray"]=i.strokeDasharray)),s.attr(n),s}drawHollowImage(e,t,a,i){const s=this.w,n=new p(this.w),r=f.randomId(),l=s.config.plotOptions.radialBar.hollow.image;if(s.config.plotOptions.radialBar.hollow.imageClipped)n.clippedImgArea({width:a,height:a,image:l,patternID:`pattern${s.globals.cuid}${r}`}),i=`url(#pattern${s.globals.cuid}${r})`;else{const a=s.config.plotOptions.radialBar.hollow.imageWidth,i=s.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===a&&void 0===i){const a=s.dom.Paper.image(l,function(t){this.move(e.centerX-t.width/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,e.centerY-t.height/2+s.config.plotOptions.radialBar.hollow.imageOffsetY)});t.add(a)}else{const n=s.dom.Paper.image(l,function(){this.move(e.centerX-a/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,e.centerY-i/2+s.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(a,i)});t.add(n)}}return i}getStrokeWidth(e){const t=this.w;return e.size*(100-parseInt(t.config.plotOptions.radialBar.hollow.size,10))/100/(e.series.length+1)-this.margin}onBarLabelClick(e){var t;const a=e.target,i=parseInt(null!=(t=a.getAttribute("rel"))?t:"",10)-1,s=this.barLabels.onClick,n=this.w;s&&s(n.seriesData.seriesNames[i],{w:n,seriesIndex:i})}}}),e.default=c,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
package/dist/raincloud.common.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* ApexCharts v7.
|
|
2
|
+
* ApexCharts v7.4.0
|
|
3
3
|
* (c) 2018-2026 ApexCharts
|
|
4
4
|
*/
|
|
5
|
-
"use strict";var t=Object.defineProperty,e=Object.defineProperties,a=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,o=(e,a,s)=>a in e?t(e,a,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[a]=s,n=(t,e)=>{for(var a in e||(e={}))i.call(e,a)&&o(t,a,e[a]);if(s)for(var a of s(e))r.call(e,a)&&o(t,a,e[a]);return t},l=(t,s)=>e(t,a(s));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});function h(t){if(t&&t.__esModule)return t;const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t)for(const a in t)if("default"!==a){const s=Object.getOwnPropertyDescriptor(t,a);Object.defineProperty(e,a,s.get?s:{enumerable:!0,get:()=>t[a]})}return e.default=t,Object.freeze(e)}const d=h(require("apexcharts/core")),c="__apexcharts_series_transforms__";globalThis[c]||(globalThis[c]={});const u=d.__apex_Utils;function b(t,e){const a=t.length;if(0===a)return NaN;if(1===a)return t[0];const s=(a-1)*e,i=Math.floor(s),r=Math.ceil(s);return i===r?t[i]:t[i]+(t[r]-t[i])*(s-i)}function g(t,e={}){if(!Array.isArray(t)||0===t.length)return null;const a=t.slice().sort((t,e)=>t-e),s=b(a,.25),i=b(a,.5),r=b(a,.75),o=r-s;let n=a[0],l=a[a.length-1],h=[];if("tukey"===e.whiskers&&o>0){const t=s-1.5*o,e=r+1.5*o;let i=0;for(;i<a.length&&a[i]<t;)i++;let d=a.length-1;for(;d>=0&&a[d]>e;)d--;i<=d&&(n=a[i],l=a[d],h=a.slice(0,i).concat(a.slice(d+1)))}return{summary:[n,s,i,r,l],outliers:h,iqr:o}}function p(t,e={}){if(!Array.isArray(t)||0===t.length)return null;const a=t.slice().sort((t,e)=>t-e),s=a.length;let i=e.bandwidth;if(!("number"==typeof i&&i>0)){const t=function(t){const e=t.length;if(e<2)return 0;let a=0;for(let s=0;s<e;s++)a+=t[s];const s=a/e;let i=0;for(let a=0;a<e;a++){const e=t[a]-s;i+=e*e}return Math.sqrt(i/e)}(a),e=b(a,.75)-b(a,.25);i=.9*(e>0?Math.min(t,e/1.349):t)*Math.pow(s,-.2)}if(!isFinite(i)||i<=0){const t=a[0],e=Math.abs(t)>0?.001*Math.abs(t):.001;return{density:[[t-e,0],[t,1],[t+e,0]],bandwidth:e}}const r=Math.max(8,Math.floor(e.resolution||64)),o=a[0]-2*i,n=(a[s-1]+2*i-o)/(r-1),l=1/(s*i*Math.sqrt(2*Math.PI)),h=[];for(let t=0;t<r;t++){const e=o+t*n;let r=0;for(let t=0;t<s;t++){const s=(e-a[t])/i;r+=Math.exp(-.5*s*s)}h.push([e,r*l])}return{density:h,bandwidth:i}}function x(t,e){var a;if(!t||"object"!=typeof t||Array.isArray(t))return null;let s=null;if(Array.isArray(t.points)?s=t.points:Array.isArray(null==(a=t.y)?void 0:a.points)?s=t.y.points:e&&Array.isArray(t.y)&&"number"==typeof t.y[0]&&(s=t.y),!s)return null;const i=[];for(let t=0;t<s.length;t++){const e=u.parseNumber(s[t]);null!==e&&isFinite(e)&&i.push(e)}return i.length?i:null}const f=new WeakSet,m=new WeakSet;var y,v;y="raincloud","function"==typeof(v=function(t,e){var a,s;if(!Array.isArray(t))return t;const i=(null==(a=e.config.plotOptions)?void 0:a.violin)||{},r=i.kde||{},o=(null==(s=i.box)?void 0:s.whiskers)||"minmax";return t.map(t=>{if(!Array.isArray(null==t?void 0:t.data))return t;let e=!1;const a=t.data.map(t=>{var a,s;const i=Array.isArray(null==(a=null==t?void 0:t.y)?void 0:a.density)&&t.y.density.length>0,h=Array.isArray(null==(s=null==t?void 0:t.y)?void 0:s.summary)&&5===t.y.summary.length;if(i&&!f.has(t)){if(h&&!m.has(t))return t;const a=x(t,!1);if(!a)return t;const s=g(a,{whiskers:o});if(!s)return t;e=!0;const i=l(n({},t),{y:l(n({},t.y),{summary:s.summary})});return m.add(i),i}const d=x(t,!0);if(!d)return t;const c=p(d,{bandwidth:r.bandwidth,resolution:r.resolution});if(!c)return t;const u=g(d,{whiskers:o});e=!0;const b=l(n({},t),{y:n({density:c.density,points:d},u?{summary:u.summary}:{})});return f.add(b),b});return e?l(n({},t),{data:a}):t})})&&(globalThis[c][y]=v);const C=d.__apex_CoreUtils,w=d.__apex_Graphics,P=d.__apex_DataLabels,S=(t,e,a,s)=>{if("function"!=typeof t)return t;const i=t({series:e.seriesData.series,seriesIndex:a,dataPointIndex:s,w:e});return Number.isFinite(i)?i:0},I=d.__apex_BrowserAPIs_BrowserAPIs,L=d.__apex_Environment_Environment;function k(t){var e;const a=t.config.chart.animations;if(!a||!1===a.enabled)return!1;if(!a.dynamicAnimation||!1===a.dynamicAnimation.enabled)return!1;const s=null!=(e=a.largeDatasetThreshold)?e:0;return!(s>0&&t.globals.dataPoints>s)&&!!(L.isBrowser()&&t.globals.dataChanged&&t.globals.shouldAnimate)}function A(t,e,a){var s,i,r,o;if(null==(s=t.axisFlags)?void 0:s.isXNumeric){const s=null==(r=null==(i=t.seriesData)?void 0:i.seriesX)?void 0:r[e];if(s&&s.length&&null!=s[a])return"x:"+s[a]}const n=null==(o=t.globals.labels)?void 0:o[a];return null!=n&&""!==String(n)?"c:"+(Array.isArray(n)?n.join(" "):String(n)):"j:"+a}function W(t){const e=new Map;return t.map(t=>{const a=e.get(t)||0;return e.set(t,a+1),0===a?t:`${t}#${a}`})}function F(t,e,a=!1,s=!1){var i,r;if(!k(t))return null;const o=t.globals.prevStreamFrame;if(!o)return null;const n=null==(i=o.seriesY)?void 0:i[e],l=null==(r=t.seriesData.series)?void 0:r[e];if(!Array.isArray(n)||!Array.isArray(l))return null;if(!n.length||!l.length)return null;const h=W(n.map((t,a)=>function(t,e,a){var s,i;if(t.isXNumeric){const i=null==(s=t.seriesX)?void 0:s[e];if(i&&i.length&&null!=i[a])return"x:"+i[a]}const r=null==(i=t.labels)?void 0:i[a];return null!=r&&""!==String(r)?"c:"+(Array.isArray(r)?r.join(" "):String(r)):"j:"+a}(o,e,a))),d=W(l.map((a,s)=>A(t,e,s))),c=function(t,e){const a=new Map;t.forEach((t,e)=>{a.has(t)||a.set(t,e)});const s=new Array(e.length),i=new Set;let r=-1,o=!0,n=t.length===e.length;e.forEach((t,e)=>{const l=a.has(t)&&!i.has(a.get(t))?a.get(t):-1;s[e]=l,-1!==l&&(i.add(l),l<r&&(o=!1),r=l),l!==e&&(n=!1)});const l=[];for(let e=0;e<t.length;e++)i.has(e)||l.push(e);return{toOld:s,exits:l,ordered:o,changed:!n}}(h,d);return(c.ordered||s)&&(c.changed||a)?{join:c,oldKeys:h,newKeys:d}:null}function H({w:t,elSeries:e,record:a,newKeys:s,isHorizontal:i,speed:r}){var o;if(!k(t))return;if(!a||!Array.isArray(a.paths)||!(null==e?void 0:e.node))return;const n=new Set(s),l=a.paths.filter(t=>t&&t.d&&null!=t.key&&!n.has(t.key));if(!l.length)return;const h=new w(t),d=null==(o=t.globals.colors)?void 0:o[parseInt(String(a.realIndex),10)];l.forEach(a=>{let s=a.fill||d||"#c8c8c8";0===String(s).indexOf("url(")&&(s=d||"#c8c8c8");const o=h.drawPath({d:a.d,stroke:"none",strokeWidth:0,fill:s,fillOpacity:1,classes:"apexcharts-bar-ghost"}),n=o.node;n.setAttribute("pointer-events","none"),o.attr("clip-path",`url(#gridRectBarMask${t.globals.cuid})`),e.node.insertBefore(n,e.node.firstChild);const l=function(t){const e=/^M\s*([+-]?[\d.eE]+)[\s,]+([+-]?[\d.eE]+)/.exec(t||"");if(!e)return null;const a=parseFloat(e[1]),s=parseFloat(e[2]);return isFinite(a)&&isFinite(s)?{x:a,y:s}:null}(a.d);let c=i?"left center":"center bottom";try{const t=n.getBBox();l&&t&&(c=i?Math.abs(l.x-t.x)<=Math.abs(l.x-(t.x+t.width))?"left center":"right center":Math.abs(l.y-(t.y+t.height))<=Math.abs(l.y-t.y)?"center bottom":"center top")}catch(t){}const u=n.style;u.transformBox="fill-box",u.transformOrigin=c;const b=Math.max(1,r||1),g=performance.now(),p=e=>{if(t.globals.isDestroyed||!n.parentNode)return;const a=Math.max(0,Math.min(1,(e-g)/b)),s=1-Math.pow(1-a,3),r=1-s;u.transform=i?`scaleX(${r})`:`scaleY(${r})`,u.opacity=String(1-s),a<1?I.requestAnimationFrame(p):n.parentNode.removeChild(n)};I.requestAnimationFrame(p)})}class D{constructor(t){this.w=t.w,this.barCtx=t,this.totalFormatter=this.w.config.plotOptions.bar.dataLabels.total.formatter,this.totalFormatter||(this.totalFormatter=this.w.config.dataLabels.formatter)}handleBarDataLabels(t){var e,a;const{x:s,y:i,y1:r,y2:o,i:h,j:d,realIndex:c,columnGroupIndex:u,barHeight:b,barWidth:g,barXPosition:p,barYPosition:x,visibleSeries:f}=t,m=this.w,y=new w(this.barCtx.w),v=m.waterfallData&&m.waterfallData.values,C=v&&v[c]&&null!=v[c][d]?v[c][d]:null,P=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[c]:this.barCtx.strokeWidth;let I,L;m.axisFlags.isXNumeric&&!m.globals.isBarHorizontal?(I=s+g*(f+1),L=i+b*(f+1)-P):(I=s+g*f,L=i+b*f);let k=null,A=null,W=s,F=i,H={};const D=m.config.dataLabels,O=this.barCtx.barOptions.dataLabels,M=this.barCtx.barOptions.dataLabels.total;void 0!==x&&(this.barCtx.isRangeBar||this.barCtx.isPyramid)&&(L=x,F=x),void 0!==p&&this.barCtx.isVerticalGroupedRangeBar&&(I=p,W=p);const R=S(D.offsetX,m,c,d),X=S(D.offsetY,m,c,d);let T={width:0,height:0};if(m.config.dataLabels.enabled){const t=null!==C?C:m.seriesData.series[c][d];T=y.getTextRects(m.config.dataLabels.formatter?m.config.dataLabels.formatter(t,l(n({},m),{seriesIndex:c,dataPointIndex:d,w:m})):m.formatters.yLabelFormatters[0](t),parseFloat(D.style.fontSize).toString(),D.style.fontFamily,void 0,!0,D.style.fontWeight)}const B={x:s,y:i,i:h,j:d,realIndex:c,columnGroupIndex:u,bcx:I,bcy:L,barHeight:b,barWidth:g,textRects:T,strokeWidth:P,dataLabelsX:W,dataLabelsY:F,dataLabelsConfig:D,barDataLabelsConfig:O,barTotalDataLabelsConfig:M,offX:R,offY:X};if(H=this.barCtx.isHorizontal?this.calculateBarsDataLabelsPosition(B):this.calculateColumnsDataLabelsPosition(B),null!==C&&this.barCtx.isHorizontal&&"center"===O.position){const t=null==(a=null==(e=m.waterfallData.geometry)?void 0:e[c])?void 0:a[d];t&&t.horizontal&&(H.dataLabelsX=(t.levelStart+t.levelEnd)/2+R)}return k=this.drawCalculatedDataLabels({x:H.dataLabelsX,y:H.dataLabelsY,val:null!==C?C:this.barCtx.isRangeBar?[r,o]:"100%"===m.config.chart.stackType?m.globals.seriesPercent[c][d]:m.seriesData.series[c][d],i:c,j:d,barWidth:g,barHeight:b,textRects:T,dataLabelsConfig:D}),m.config.chart.stacked&&M.enabled&&(A=this.drawTotalDataLabels({x:H.totalDataLabelsX,y:H.totalDataLabelsY,barWidth:g,barHeight:b,realIndex:c,j:d,textAnchor:H.totalDataLabelsAnchor,val:this.getStackedTotalDataLabel({realIndex:c,j:d}),rawVal:this.getStackedTotalValue({realIndex:c,j:d}),dataLabelsConfig:D,barTotalDataLabelsConfig:M})),{dataLabelsPos:H,dataLabels:k,totalDataLabels:A}}hasMultipleSeriesGroups(){return this.w.labelData.seriesGroups.length>1}getTotalGroupContext(t){if(!this.hasMultipleSeriesGroups())return null;const e=this.barCtx.barHelpers.getSeriesGroupIndex(t);return e<0?null:{groupIndex:e,group:this.w.labelData.seriesGroups[e]}}drawsStackedTotal(t){const e=this.barCtx.lastActiveBarSerieIndexByGroup,a=this.getTotalGroupContext(t);return a&&e&&e.length>a.groupIndex?e[a.groupIndex]===t:this.barCtx.lastActiveBarSerieIndex===t}getStackedTotalValue({realIndex:t,j:e}){const a=this.w,s=this.getTotalGroupContext(t),i=a.seriesData.stackedSeriesTotalsByGroups;return s&&i&&i[s.groupIndex]?i[s.groupIndex][e]:this.barCtx.stackedSeriesTotals[e]}getStackedTotalDataLabel({realIndex:t,j:e}){const a=this.w;let s=this.getStackedTotalValue({realIndex:t,j:e});return this.totalFormatter&&(s=this.totalFormatter(s,l(n({},a),{seriesIndex:t,dataPointIndex:e,w:a}))),s}calculateColumnsDataLabelsPosition(t){const e=this.w;let a,s,{i:i,j:r,realIndex:o,y:n,bcx:l,barWidth:h,barHeight:d,textRects:c,dataLabelsX:u,dataLabelsY:b,dataLabelsConfig:g,barDataLabelsConfig:p,barTotalDataLabelsConfig:x,strokeWidth:f,offX:m,offY:y}=t;const v=l;d=Math.abs(d);const C="vertical"===e.config.plotOptions.bar.dataLabels.orientation,{zeroEncounters:P}=this.barCtx.barHelpers.getZeroValueEncounters({i:i,j:r});l-=f/2;const S=e.layout.gridWidth/e.globals.dataPoints;if(this.barCtx.isVerticalGroupedRangeBar?u+=h/2:(u=e.axisFlags.isXNumeric?l-h/2+m:l-S+h/2+m,!e.config.chart.stacked&&P>0&&e.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(u-=h*P)),C){const t=2;u=u+c.height/2-f/2-t}const I=e.seriesData.series[i][r]<0;let L=n;switch(this.barCtx.isReversed&&(L=n+(I?d:-d)),p.position){case"center":b=C?I?L-d/2+y:L+d/2-y:I?L-d/2+c.height/2+y:L+d/2+c.height/2-y;break;case"bottom":b=C?I?L-d+y:L+d-y:I?L-d+c.height+f+y:L+d-c.height/2+f-y;break;case"top":b=C?I?L+y:L-y:I?L-c.height/2-y:L+c.height+y}let k=L;const A=this.getTotalGroupContext(o);if((A?[A.group]:e.labelData.seriesGroups).forEach(t=>{var e;null==(e=this.barCtx[t.join(",")])||e.prevY.forEach(t=>{k=I?Math.max(t[r],k):Math.min(t[r],k)})}),this.drawsStackedTotal(o)&&x.enabled){const t=18,i=new w(this.barCtx.w).getTextRects(this.getStackedTotalDataLabel({realIndex:o,j:r}),g.fontSize);a=I?k-i.height/2-y-x.offsetY+t:k+i.height+y+x.offsetY-t;const n=S;s=v+(e.axisFlags.isXNumeric?-h/2:h/2-n)+x.offsetX}return e.config.chart.stacked||(b<0?b=0+f:b+c.height/3>e.layout.gridHeight&&(b=e.layout.gridHeight-f)),{bcx:l,bcy:n,dataLabelsX:u,dataLabelsY:b,totalDataLabelsX:s,totalDataLabelsY:a,totalDataLabelsAnchor:"middle"}}calculateBarsDataLabelsPosition(t){var e;const a=this.w;let{x:s,i:i,j:r,realIndex:o,bcy:n,barHeight:l,barWidth:h,textRects:d,dataLabelsX:c,strokeWidth:u,dataLabelsConfig:b,barDataLabelsConfig:g,barTotalDataLabelsConfig:p,offX:x,offY:f}=t;const m=a.layout.gridHeight/a.globals.dataPoints,{zeroEncounters:y}=this.barCtx.barHelpers.getZeroValueEncounters({i:i,j:r});let v,C,P;if(h=Math.abs(h),this.barCtx.isPyramid){v=n+l/2+f-(null!=(e=d.centerOffset)?e:0)}else v=n-(this.barCtx.isRangeBar?0:m)+l/2+d.height/2+f-3;!a.config.chart.stacked&&y>0&&a.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(v-=l*y);let S="start";const I=a.seriesData.series[i][r]<0;let L=s;if(this.barCtx.isReversed&&(L=s+(I?-h:h),S=I?"start":"end"),this.barCtx.isPyramid)c=a.layout.gridWidth/2+x;else switch(g.position){case"center":c=I?L+h/2-x:Math.max(d.width/2,L-h/2)+x;break;case"bottom":c=I?L+h-u-x:L-h+u+x;break;case"top":c=I?L-u-x:L-u+x}let k=L;const A=this.getTotalGroupContext(o);if((A?[A.group]:a.labelData.seriesGroups).forEach(t=>{var e;null==(e=this.barCtx[t.join(",")])||e.prevX.forEach(t=>{k=I?Math.min(t[r],k):Math.max(t[r],k)})}),this.drawsStackedTotal(o)&&p.enabled){const t=new w(this.barCtx.w).getTextRects(this.getStackedTotalDataLabel({realIndex:o,j:r}),b.fontSize);I?(C=k-u-x-p.offsetX,S="end"):C=k+x+p.offsetX+(this.barCtx.isReversed?-(h+u):u),P=v-d.height/2+t.height/2+p.offsetY+u,a.globals.barGroups.length>1&&!A&&(P-=a.globals.barGroups.length/2*(l/2))}if(!a.config.chart.stacked){const t=I&&"middle"!==b.textAnchor?"start"===b.textAnchor?"end":"start":b.textAnchor;let e;e="vertical"===g.orientation?d.height/2:"end"===t?d.width:"middle"===t?d.width/2:0;const s=("vertical"===g.orientation?d.height:d.width)-e;c+s>a.layout.gridWidth-u&&(c=a.layout.gridWidth-s-u),c-e<u&&(c=e+u)}return{bcx:s,bcy:n,dataLabelsX:c,dataLabelsY:v,totalDataLabelsX:C,totalDataLabelsY:P,totalDataLabelsAnchor:S}}drawCalculatedDataLabels({x:t,y:e,val:a,i:s,j:i,textRects:r,barHeight:o,barWidth:h,dataLabelsConfig:d}){var c,u,b;const g=this.w;let p="rotate(0)";"vertical"===g.config.plotOptions.bar.dataLabels.orientation&&(p=`rotate(-90, ${t}, ${e})`);const x=new P(this.barCtx.w,this.barCtx.ctx),f=new w(this.barCtx.w),m=d.formatter;let y=null;const v=g.globals.collapsedSeriesIndices.indexOf(s)>-1,C=(g.globals.collapsingSeriesIndices||[]).indexOf(s)>-1;if(C){const t=null==(c=g.globals.prevDataLabels)?void 0:c.get(`${s}::${A(g,s,i)}`);t&&isFinite(t.val)&&(a=t.val)}if(d.enabled&&(!v||C)){y=f.group({class:"apexcharts-data-labels",transform:p});const c=g.config.dataLabels;((null==(u=c.animate)?void 0:u.enabled)||(null==(b=c.countUp)?void 0:b.enabled))&&(y.node.setAttribute("data:dlKey",`${s}::${A(g,s,i)}`),y.node.setAttribute("data:dlJ",String(i)),"number"==typeof a&&isFinite(a)&&y.node.setAttribute("data:dlVal",String(a)));let v="";void 0!==a&&(v=m(a,l(n({},g),{seriesIndex:s,dataPointIndex:i,w:g}))),!a&&g.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(v="");const w=g.seriesData.series[s][i]<0,P=g.config.plotOptions.bar.dataLabels.position;if("vertical"===g.config.plotOptions.bar.dataLabels.orientation&&("top"===P&&(d.textAnchor=w?"end":"start"),"center"===P&&(d.textAnchor="middle"),"bottom"===P&&(d.textAnchor=w?"end":"start")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels){h<f.getTextRects(v,parseFloat(d.style.fontSize).toString()).width&&(v="")}g.config.chart.stacked&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels&&!C&&(this.barCtx.isHorizontal?r.width/1.6>Math.abs(h)&&(v=""):r.height/1.6>Math.abs(o)&&(v=""));const S=n({},d);this.barCtx.isHorizontal&&a<0&&("start"===d.textAnchor?S.textAnchor="end":"end"===d.textAnchor&&(S.textAnchor="start")),x.plotDataLabelsText({x:t,y:e,text:v,i:s,j:i,parent:y,dataLabelsConfig:S,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return y}drawTotalDataLabels({x:t,y:e,val:a,rawVal:s,realIndex:i,j:r,textAnchor:o,barTotalDataLabelsConfig:n}){var l,h;const d=new w(this.barCtx.w);let c;if(n.enabled&&void 0!==t&&void 0!==e&&this.drawsStackedTotal(i)){c=d.drawText({x:t,y:e,foreColor:n.style.color,text:a,textAnchor:o,fontFamily:n.style.fontFamily,fontSize:n.style.fontSize,fontWeight:n.style.fontWeight}),c.attr({class:"apexcharts-datalabel-total",cx:t,cy:e});const u=this.w.config.dataLabels;if((null==(l=u.animate)?void 0:l.enabled)||(null==(h=u.countUp)?void 0:h.enabled)){const{groupIndex:t}=this.barCtx.barHelpers.getGroupIndex(i);c.node.setAttribute("data:dlTotalKey",`${t}::${A(this.w,i,r)}`),c.node.setAttribute("data:dlTotalSeries",String(i)),"number"==typeof s&&isFinite(s)&&c.node.setAttribute("data:dlTotalVal",String(s))}}return c}}const O=d.__apex_Series,M=d.__apex_Fill;function R(t){var e,a,s,i,r,o,n;return"histogram"===(null==(a=null==(e=null==t?void 0:t.config)?void 0:e.chart)?void 0:a.requestedType)&&(!1!==(null==(i=null==(s=t.config.plotOptions)?void 0:s.histogram)?void 0:i.overlap)&&(null!=(n=null==(o=null==(r=t.seriesData)?void 0:r.series)?void 0:o.length)?n:0)>1)}class X{constructor(t){this.w=t.w,this.barCtx=t}initVariables(t){const e=this.w;this.barCtx.series=t,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(let a=0;a<t.length;a++)if(t[a].length>0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[a].length),e.axisFlags.isXNumeric)for(let s=0;s<t[a].length;s++)e.seriesData.seriesX[a][s]>e.globals.minX&&e.seriesData.seriesX[a][s]<e.globals.maxX&&this.barCtx.visibleItems++;else this.barCtx.visibleItems=e.globals.dataPoints;this.arrBorderRadius=this.createBorderRadiusArr(e.seriesData.series),u.isSafari()&&(this.arrBorderRadius=this.arrBorderRadius.map(t=>t.map(t=>"none"))),0===this.barCtx.seriesLen&&(this.barCtx.seriesLen=1)}barSlotXSpan(){const t=this.w;if(void 0!==this._slotXSpan)return this._slotXSpan;let e=0;if(t.globals.dataPoints<=1){const a=t.globals.maxX-t.globals.minX;e=a>0?a/4:0}else if(e=this._unionMinXGap(),!(e>0&&isFinite(e))){const a=t.globals.minXDiff;e=a>0&&isFinite(a)&&.5!==a?a:0}return this._slotXSpan=e,e}_unionMinXGap(){const t=this.w.seriesData.seriesX||[],e=[];for(let a=0;a<t.length;a++){const s=t[a];Array.isArray(s)&&s.length>0&&e.push(s)}if(!e.length)return 0;const a=new Array(e.length).fill(0);let s=NaN,i=1/0;for(;;){let t=1/0,r=-1;for(let s=0;s<e.length;s++){const i=e[s];for(;a[s]<i.length&&"number"!=typeof i[a[s]];)a[s]++;if(a[s]>=i.length)continue;const o=i[a[s]];o==o?o<t&&(t=o,r=s):(a[s]++,s--)}if(-1===r)break;if(a[r]++,s==s){const e=t-s;e>0&&e<i&&(i=e)}s=t}return isFinite(i)?i:0}initialPositions(t){const e=this.w;let a,s,i,r,o,n,l,h,d=e.globals.dataPoints;this.barCtx.isRangeBar&&(d=e.labelData.labels.length);let c=this.barCtx.seriesLen;if((e.config.plotOptions.bar.rangeBarGroupRows||R(e))&&(c=1),this.barCtx.isHorizontal)i=e.layout.gridHeight/d,o=i/c,e.axisFlags.isXNumeric&&(i=e.layout.gridHeight/this.barCtx.totalItems,o=i/this.barCtx.seriesLen),o=o*parseInt(this.barCtx.barOptions.barHeight,10)/100,-1===String(this.barCtx.barOptions.barHeight).indexOf("%")&&(o=parseInt(this.barCtx.barOptions.barHeight,10)),h=this.barCtx.baseLineInvertedY+e.globals.padHorizontal+(this.barCtx.isReversed?e.layout.gridWidth:0)-(this.barCtx.isReversed?2*this.barCtx.baseLineInvertedY:0),this.barCtx.isFunnel&&(h=e.layout.gridWidth/2),s=(i-o*this.barCtx.seriesLen)/2;else{if(r=e.layout.gridWidth/this.barCtx.visibleItems,e.config.xaxis.convertedCatToNumeric&&(r=e.layout.gridWidth/e.globals.dataPoints),n=r/c*parseInt(this.barCtx.barOptions.columnWidth,10)/100,e.axisFlags.isXNumeric){const t=this.barCtx.xRatio,e=this.barSlotXSpan();e>0&&e/t>0&&(r=e/t),n=r/c*parseInt(this.barCtx.barOptions.columnWidth,10)/100,n<1&&(n=1)}if(-1===String(this.barCtx.barOptions.columnWidth).indexOf("%")&&(n=parseInt(this.barCtx.barOptions.columnWidth,10)),l=e.layout.gridHeight-this.barCtx.baseLineY[this.barCtx.translationsIndex]-(this.barCtx.isReversed?e.layout.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.translationsIndex]:0),e.axisFlags.isXNumeric){a=this.barCtx.getBarXForNumericXAxis({x:a,j:0,realIndex:t,barWidth:n}).x}else a=e.globals.padHorizontal+u.noExponents(r-n*this.barCtx.seriesLen)/2}return e.globals.barHeight=o,e.globals.barWidth=n,{x:a,y:s,yDivision:i,xDivision:r,barHeight:o,barWidth:n,zeroH:l,zeroW:h}}initializeStackedPrevVars(t){t.w.labelData.seriesGroups.forEach(e=>{t[e]||(t[e]={}),t[e].prevY=[],t[e].prevX=[],t[e].prevYF=[],t[e].prevXF=[],t[e].prevYVal=[],t[e].prevXVal=[]})}initializeStackedXYVars(t){t.w.labelData.seriesGroups.forEach(e=>{t[e]||(t[e]={}),t[e].xArrj=[],t[e].xArrjF=[],t[e].xArrjVal=[],t[e].yArrj=[],t[e].yArrjF=[],t[e].yArrjVal=[]})}getPathFillColor(t,e,a,s){var i;const r=this.w,o=new M(this.barCtx.w);let n=null;const l=this.barCtx.barOptions.distributed?a:e;let h=!1;if(this.barCtx.barOptions.colors.ranges.length>0){this.barCtx.barOptions.colors.ranges.map(s=>{t[e][a]>=s.from&&t[e][a]<=s.to&&(n=s.color,h=!0)})}const d=this.getDumbbellConnectorFill(e,a)||(null==(i=r.config.series[e].data[a])?void 0:i.fill),c=this.barCtx.barOptions.isDumbbell?r.config.plotOptions.bar.dumbbell.connector:null;let u;c&&c.color&&(n=c.color,u=c.opacity);return{color:o.fillPath({seriesNumber:this.barCtx.barOptions.distributed?l:s,dataPointIndex:a,color:n,opacity:u,value:t[e][a],fillConfig:d,fillType:(null==d?void 0:d.type)?d.type:Array.isArray(r.config.fill.type)?r.config.fill.type[s]:r.config.fill.type}),useRangeColor:h}}getDumbbellConnectorFill(t,e){const a=this.w;if(!this.barCtx.barOptions.isDumbbell)return null;const s=a.dumbbellData;if(!s||"series"!==s.form)return null;const i=a.config.plotOptions.bar.dumbbell.connector;if(i.color)return null;const r=s.order[e];if(!r)return null;const o=a.globals.colors[r[0]],n=a.globals.colors[r[1]];return o&&n?{type:"gradient",gradient:{type:this.barCtx.isHorizontal?"horizontal":"vertical",gradientFrom:o,gradientTo:n,opacityFrom:i.opacity,opacityTo:i.opacity,stops:[0,100],inverseColors:!this.barCtx.isHorizontal}}:null}getStrokeWidth(t,e,a){let s=0;const i=this.w;return void 0===this.barCtx.series[t][e]||null===this.barCtx.series[t][e]||"bar"===i.config.chart.type&&!this.barCtx.series[t][e]?this.barCtx.isNullValue=!0:this.barCtx.isNullValue=!1,i.config.stroke.show&&(this.barCtx.isNullValue||(s=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[a]:this.barCtx.strokeWidth)),s}getStackedSeriesIndices(t){const e=this.w,a=e.labelData.seriesGroups,s=e.globals.columnSeries?new Set(e.globals.columnSeries.i):null,i=t=>!s||s.has(t);if(!a||a.length<2){const e=Array.from({length:t},(t,e)=>e).filter(i);return e.length?[e]:[]}const r=Array.from({length:a.length},()=>[]),o=[];for(let e=0;e<t;e++){if(!i(e))continue;const t=this.getSeriesGroupIndex(e);t>-1?r[t].push(e):o.push(e)}return o.length&&r.push(o),r.filter(t=>t.length>0)}createBorderRadiusArr(t){var e;const a=this.w,s=!this.w.config.chart.stacked||a.config.plotOptions.bar.borderRadius<=0,i=t.length,r=0|(null==(e=t[0])?void 0:e.length),o=Array.from({length:i},()=>Array(r).fill(s?"top":"none"));if(s)return o;const n="bar"===this.w.config.chart.type&&1===r,l=n?"top":"both",h=n?"top":"bottom";for(const e of this.getStackedSeriesIndices(i))for(let a=0;a<r;a++){const s=[],i=[];for(const r of e){const e=t[r][a];e>0?s.push(r):e<0&&i.push(r)}if(s.length>0&&0===i.length)if(1===s.length)o[s[0]][a]=l;else{const t=s[0],e=s[s.length-1];for(const i of s)o[i][a]=i===t?h:i===e?"top":"none"}else if(i.length>0&&0===s.length)if(1===i.length)o[i[0]][a]="both";else{const t=Math.max(...i),e=Math.min(...i);for(const s of i)o[s][a]=s===t?"bottom":s===e?"top":"none"}else if(s.length>0&&i.length>0){const t=s[s.length-1];for(const e of s)o[e][a]=e===t?"top":"none";const e=Math.max(...i);for(const t of i)o[t][a]=t===e?"bottom":"none"}}return o}barBackground({j:t,i:e,x1:a,x2:s,y1:i,y2:r,elSeries:o}){const n=this.w,l=new w(this.barCtx.w),h=new O(this.barCtx.w).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&h===e){t>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(t%=this.barCtx.barOptions.colors.backgroundBarColors.length);const e=this.barCtx.barOptions.colors.backgroundBarColors[t],h=l.drawRect(void 0!==a?a:0,void 0!==i?i:0,void 0!==s?s:n.layout.gridWidth,void 0!==r?r:n.layout.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,e,this.barCtx.barOptions.colors.backgroundBarOpacity);o.add(h),h.node.classList.add("apexcharts-backgroundBar")}}getColumnPaths({barWidth:t,barXPosition:e,y1:a,y2:s,strokeWidth:i,isReversed:r,series:o,seriesGroup:n,realIndex:l,i:h,j:d,w:c}){var u,b,g;const p=new w(this.barCtx.w);(i=Array.isArray(i)?i[l]:i)||(i=0);let x=t,f=e;(null==(u=c.config.series[l].data[d])?void 0:u.columnWidthOffset)&&(f=e-c.config.series[l].data[d].columnWidthOffset/2,x=t+c.config.series[l].data[d].columnWidthOffset);const m=i/2,y=f+m,v=f+x-m,C=(o[h][d]>=0?1:-1)*(r?-1:1);a+=.001-m*C,s+=.001+m*C;const P=p.line(v,a),S="around"===c.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[l][d]?" Z":" z",I=p.move(y,a)+p.line(y,s)+p.line(v,s)+P+S;let L=I;"none"!==this.arrBorderRadius[l][d]&&(L=p.roundPathCorners(L,c.config.plotOptions.bar.borderRadius));let k=null;const A=null==(g=null==(b=this.barCtx.ctx)?void 0:b.morphTypeChange)?void 0:g.getInitialPathFor(l,d);if(A?k=A:c.globals.previousPaths.length>0&&(k=this.barCtx.getPreviousPath(l,d,L,I)),null==k&&(k=p.move(y,a)+p.line(y,a)+P+P+P+P+P+p.line(y,a)+S),c.config.chart.stacked){let t=this.barCtx;t=this.barCtx[n],t.yArrj.push(s-m*C),t.yArrjF.push(Math.abs(a-s+i*C)),t.yArrjVal.push(this.barCtx.series[h][d])}return{pathTo:L,pathFrom:k,drawnBox:{x1:y,x2:v,y1:a,y2:s}}}getFunnelTrapezoidPaths({barYPosition:t,barHeight:e,series:a,i:s,j:i,realIndex:r,strokeWidth:o,w:n}){var l,h;const d=new w(this.barCtx.w),c=n.layout.gridWidth/2,u=t=>Math.abs(t/this.barCtx.invertedYRatio)/2,b=u(a[s][i]),g=i===a[s].length-1,p="taper"===n.config.plotOptions.funnel.lastShape?"taper":"flat";let x;x=g?"taper"===p?0:b:u(a[s][i+1]);const f=o/2,m=t+f,y=t+e-f,v=c-b,C=c+b,P=c-x,S=c+x,I=d.move(v,m)+d.line(C,m)+d.line(S,y)+d.line(P,y)+" Z";let L=null;const k=null==(h=null==(l=this.barCtx.ctx)?void 0:l.morphTypeChange)?void 0:h.getInitialPathFor(r,i);return k?L=k:n.globals.previousPaths.length>0&&(L=this.barCtx.getPreviousPath(r,i,I)),null==L&&(L=d.move(c,m)+d.line(c,m)+d.line(c,y)+d.line(c,y)+" Z"),{pathTo:I,pathFrom:L,x:C,x1:v,barXPosition:c}}computePyramidLayout(t){const e=this.w,a=e.layout.gridHeight,s=e.layout.gridWidth,i=t.map(t=>Math.abs(Number(t)||0)),r=i.reduce((t,e)=>t+e,0);if(0===r||a<=0)return i.map(()=>({y:0,height:0,topHalf:0,bottomHalf:0}));const o=s/2;let n=0;const l=[];for(let t=0;t<i.length;t++){const e=n/r;n+=i[t];const s=n/r,h=e*a,d=s*a;l.push({y:h,height:d-h,topHalf:e*o,bottomHalf:s*o})}return l}getPyramidPaths({barYPosition:t,barHeight:e,topHalf:a,bottomHalf:s,realIndex:i,j:r,strokeWidth:o,w:n}){var l,h;const d=new w(this.barCtx.w),c=n.layout.gridWidth/2,u=o/2,b=t+u,g=t+e-u,p=c-a,x=c+a,f=c-s,m=c+s,y=d.move(p,b)+d.line(x,b)+d.line(m,g)+d.line(f,g)+" Z";let v=null;const C=null==(h=null==(l=this.barCtx.ctx)?void 0:l.morphTypeChange)?void 0:h.getInitialPathFor(i,r);return C?v=C:n.globals.previousPaths.length>0&&(v=this.barCtx.getPreviousPath(i,r,y)),null==v&&(v=d.move(c,b)+d.line(c,b)+d.line(c,g)+d.line(c,g)+" Z"),{pathTo:y,pathFrom:v,x:x,x1:p,barXPosition:c}}getBarpaths({barYPosition:t,barHeight:e,x1:a,x2:s,strokeWidth:i,isReversed:r,series:o,seriesGroup:n,realIndex:l,i:h,j:d,w:c}){var u,b,g;const p=new w(this.barCtx.w);(i=Array.isArray(i)?i[l]:i)||(i=0);let x=t,f=e;(null==(u=c.config.series[l].data[d])?void 0:u.barHeightOffset)&&(x=t-c.config.series[l].data[d].barHeightOffset/2,f=e+c.config.series[l].data[d].barHeightOffset);const m=i/2,y=x+m,v=x+f-m,C=(o[h][d]>=0?1:-1)*(r?-1:1);a+=.001+m*C,s+=.001-m*C;const P=this.barCtx.isFunnel,S=P?(a+s)/2:a,I=p.line(a,v),L="around"===c.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[l][d]?" Z":" z",k=p.move(a,y)+p.line(s,y)+p.line(s,v)+I+L;let A=k;"none"!==this.arrBorderRadius[l][d]&&(A=p.roundPathCorners(A,c.config.plotOptions.bar.borderRadius));let W=null;const F=null==(g=null==(b=this.barCtx.ctx)?void 0:b.morphTypeChange)?void 0:g.getInitialPathFor(l,d);if(F?W=F:c.globals.previousPaths.length>0&&(W=this.barCtx.getPreviousPath(l,d,A,k)),null==W){const t=P?p.line(S,v):I;W=p.move(S,y)+p.line(S,y)+t+t+t+t+t+p.line(S,y)+L}if(c.config.chart.stacked){let t=this.barCtx;t=this.barCtx[n],t.xArrj.push(s+m*C),t.xArrjF.push(Math.abs(a-s-i*C)),t.xArrjVal.push(this.barCtx.series[h][d])}return{pathTo:A,pathFrom:W,drawnBox:{x1:a,x2:s,y1:y,y2:v}}}getXForValue(t,e,a=!0){let s=a?e:null;return null!=t&&(s=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),s}getYForValue(t,e,a,s=!0){let i=s?e:null;return null!=t&&(i=e-t/this.barCtx.yRatio[a]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[a]:0)),i}getGoalValues(t,e,a,s,i,r){const o=this.w,h=[],d=(s,i)=>{h.push({[t]:"x"===t?this.getXForValue(s,e,!1):this.getYForValue(s,a,r,!1),attrs:i})};if(o.seriesData.seriesGoals[s]&&o.seriesData.seriesGoals[s][i]&&Array.isArray(o.seriesData.seriesGoals[s][i])&&o.seriesData.seriesGoals[s][i].forEach(t=>{d(t.value,t)}),this.barCtx.barOptions.isDumbbell){const e=this.getDumbbellEnds(s,i);if(e.length){const a={strokeHeight:"x"===t?0:o.globals.markers.size[s],strokeWidth:"x"===t?o.globals.markers.size[s]:0,strokeDashArray:0,strokeLineCap:"round"};let r=0,h=0;for(let t=1;t<e.length;t++)e[t].value<e[r].value&&(r=t),e[t].value>e[h].value&&(h=t);const c=o.config.plotOptions.bar.dumbbell.dataLabels;e.forEach((t,e)=>{const o=l(n({},a),{strokeColor:t.color});!c.enabled||e!==r&&e!==h||(o.label={text:this.getDumbbellLabelText(t.value,s,i,t.index),color:c.colorFromMarker?t.color:Array.isArray(c.style.colors)?c.style.colors[t.index]||c.style.colors[0]:c.style.colors,outward:e===r&&r!==h?-1:1}),d(t.value,o)})}}return h}getDumbbellEnds(t,e){const a=this.w,s=[],i=a.dumbbellData;if(i&&"series"===i.form){const t=i.values[e]||[];for(let e=0;e<t.length;e++){const r=t[e];null!==r&&-1===i.hidden.indexOf(e)&&s.push({value:r,color:a.globals.colors[e],index:e})}return s}if(!a.rangeData.seriesRange.length)return s;const r=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:a.globals.colors,o=e=>Array.isArray(r[t])?r[t][e]:r[t];return[{value:a.rangeData.seriesRangeStart[t][e],color:o(0),index:0},{value:a.rangeData.seriesRangeEnd[t][e],color:o(1),index:1}]}getDumbbellLabelText(t,e,a,s){const i=this.w,r=i.config.plotOptions.bar.dumbbell.dataLabels;if("function"==typeof r.formatter)return r.formatter(t,{seriesIndex:e,dataPointIndex:a,endpointIndex:s,w:i});const o=this.barCtx.isHorizontal?i.formatters.xLabelFormatter:i.formatters.yLabelFormatters[0];return"function"==typeof o?o(t,a,i):String(t)}drawGoalLine({barXPosition:t,barYPosition:e,goalX:a,goalY:s,barWidth:i,barHeight:r}){if(!(Array.isArray(a)&&a.length>0||Array.isArray(s)&&s.length>0))return null;const o=new w(this.barCtx.w),n=o.group({class:"apexcharts-bar-goals-groups"});n.node.classList.add("apexcharts-element-hidden"),this.barCtx.w.globals.delayedElements.push({el:n.node}),n.attr("clip-path",`url(#gridRectMarkerMask${this.barCtx.w.globals.cuid})`);let l=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach(t=>{if(t.x>=-1&&t.x<=o.w.layout.gridWidth+1){const a=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:r/2,s=e+a+r/2;l=o.drawLine(t.x,s-2*a,t.x,s,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),n.add(l),t.attrs.label&&n.add(this.drawDumbbellLabel(t.attrs,{x:t.x,y:s-a,horizontal:!0,markerSize:t.attrs.strokeWidth||0}))}}):Array.isArray(s)&&s.forEach(e=>{if(e.y>=-1&&e.y<=o.w.layout.gridHeight+1){const a=void 0!==e.attrs.strokeWidth?e.attrs.strokeWidth:i/2,s=t+a+i/2;l=o.drawLine(s-2*a,e.y,s,e.y,e.attrs.strokeColor?e.attrs.strokeColor:void 0,e.attrs.strokeDashArray,e.attrs.strokeHeight?e.attrs.strokeHeight:2,e.attrs.strokeLineCap),n.add(l),e.attrs.label&&n.add(this.drawDumbbellLabel(e.attrs,{x:s-a,y:e.y,horizontal:!1,markerSize:e.attrs.strokeHeight||0}))}}),n}drawDumbbellLabel(t,e){const a=this.w,s=new w(a),i=a.config.plotOptions.bar.dumbbell.dataLabels,r=e.markerSize/2+i.offset,o=t.label.outward;return s.drawText({x:e.x+(e.horizontal?r*o:0),y:e.y-(e.horizontal?0:r*o),text:t.label.text,textAnchor:e.horizontal?o<0?"end":"start":"middle",dominantBaseline:e.horizontal?"central":o<0?"hanging":"auto",foreColor:t.label.color,fontSize:i.style.fontSize,fontFamily:i.style.fontFamily,fontWeight:i.style.fontWeight,cssClass:"apexcharts-dumbbell-label"})}drawBarShadow({prevPaths:t,currPaths:e,color:a,realIndex:s,j:i}){const r=this.w,{x:o,x1:n,barYPosition:l}=t,{x:h,x1:d,barYPosition:c}=e,b=l+e.barHeight,g=new w(this.barCtx.w),p=new u,x=g.move(n,b)+g.line(o,b)+g.line(h,c)+g.line(d,c)+g.line(n,b)+("around"===r.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[s][i]?" Z":" z");return g.drawPath({d:x,fill:p.shadeColor(.5,u.rgb2hex(a)),stroke:"none",strokeWidth:0,fillOpacity:1,classes:"apexcharts-bar-shadow apexcharts-decoration-element"})}getZeroValueEncounters({i:t,j:e}){var a;const s=this.w;let i=0,r=0;return(s.config.plotOptions.bar.horizontal?s.seriesData.series.map((t,e)=>e):(null==(a=s.globals.columnSeries)?void 0:a.i.map(t=>t))||[]).forEach(a=>{const o=s.globals.seriesPercent[a][e];o&&i++,a<t&&0===o&&r++}),{nonZeroColumns:i,zeroEncounters:r}}getSeriesGroupIndex(t){const e=this.w;return e.labelData.seriesGroups.findIndex(a=>a.indexOf(e.seriesData.seriesNames[t])>-1)}getGroupIndex(t){const e=this.w,a=e.labelData.seriesGroups.findIndex(a=>a.indexOf(e.seriesData.seriesNames[t])>-1),s=this.barCtx.columnGroupIndices;let i=s.indexOf(a);return i<0&&(s.push(a),i=s.length-1),{groupIndex:a,columnGroupIndex:i}}}const T=d.__apex_Filters,B=d.__apex_Animations_computeStagger;class j{static xRatio(t){const e=t.layout.gridWidth||1;return(t.globals.maxX-t.globals.minX)/e}static dataXToPx(t,e){return(e-t.globals.minX)/j.xRatio(t)}static pxToDataX(t,e){return t.globals.minX+e*j.xRatio(t)}static screenXToPlotPx(t,e){const a=t.dom.baseEl,s=a&&a.querySelector(".apexcharts-svg");if(!s)return e-t.layout.translateX;const i=s.getBoundingClientRect(),r=t.globals.svgWidth?i.width/t.globals.svgWidth:1;return(e-i.left)/(r||1)-t.layout.translateX}}class z{constructor(t,e,a){this.ctx=e,this.w=t,this.barOptions=t.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=t.config.stroke.width,this.isNullValue=!1,this.isRangeBar=t.rangeData.seriesRange.length&&this.isHorizontal,this.isVerticalGroupedRangeBar=!t.globals.isBarHorizontal&&t.rangeData.seriesRange.length&&t.config.plotOptions.bar.rangeBarGroupRows,this.isFunnel=this.barOptions.isFunnel,this.isPyramid=this.barOptions.isPyramid,this.pyramidLayout=null,this.xyRatios=a,this.xRatio=0,this.yRatio=[],this.invertedXRatio=0,this.invertedYRatio=0,this.baseLineY=[],this.baseLineInvertedY=0,null!==this.xyRatios&&(this.xRatio=a.xRatio,this.yRatio=a.yRatio,this.invertedXRatio=a.invertedXRatio,this.invertedYRatio=a.invertedYRatio,this.baseLineY=a.baseLineY,this.baseLineInvertedY=a.baseLineInvertedY),this.yaxisIndex=0,this.translationsIndex=0,this.seriesLen=0,this.pathArr=[],this._prevKeyed=null,this._ltCache=null,this._layoutShiftCache=null,this._pathToInterp=null,this.series=[],this.elSeries=null,this.visibleI=0,this.isReversed=!1;const s=new O(this.w);this.lastActiveBarSerieIndex=s.getActiveConfigSeriesIndex("desc",["bar","column"]),this.lastActiveBarSerieIndexByGroup=s.getActiveConfigSeriesIndexByGroup(["bar","column"]),this.columnGroupIndices=[];const i=s.getBarSeriesIndices(),r=new C(this.w);this.stackedSeriesTotals=r.getStackedSeriesTotals(this.w.config.series.map((t,e)=>-1===i.indexOf(e)?e:-1).filter(t=>-1!==t)),this.barHelpers=new X(this)}draw(t,e){var a,s,i;const r=this.w,o=new w(this.w),h=new C(this.w);t=h.getLogSeries(t),this.series=t,this.yRatio=h.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);const d=o.group({class:"apexcharts-bar-series apexcharts-plot-series"});r.config.dataLabels.enabled&&(this.totalItems,this.barOptions.dataLabels.maxItems);for(let h=0,c=0;h<t.length;h++,c++){let b,g;const p=[],x=[],f=r.globals.comboCharts?e[h]:h,{columnGroupIndex:m}=this.barHelpers.getGroupIndex(f),y=o.group({class:"apexcharts-series",rel:h+1,seriesName:u.escapeString(r.seriesData.seriesNames[f]),"data:realIndex":f});O.addCollapsedClassToSeries(this.w,y,f),t[h].length>0&&(this.visibleI=this.visibleI+1),this.yRatio.length>1&&(this.yaxisIndex=r.globals.seriesYAxisReverseMap[f],this.translationsIndex=f);const v=this.translationsIndex;this.isReversed=r.config.yaxis[this.yaxisIndex]&&r.config.yaxis[this.yaxisIndex].reversed,this.isPyramid&&(this.pyramidLayout=this.barHelpers.computePyramidLayout(t[h]));const C=this.barHelpers.initialPositions(f),{y:w,yDivision:P,zeroW:S,x:I,xDivision:L,zeroH:k}=C;let W=C.barHeight,F=C.barWidth;g=w,b=I,this.isHorizontal||x.push(b+(null!=F?F:0)/2);const D=o.group({class:"apexcharts-datalabels","data:realIndex":f});r.globals.delayedElements.push({el:D.node,holdUntilComplete:!(null==(a=r.config.dataLabels.animate)?void 0:a.enabled)&&this.isLengthTransition(f)}),D.node.classList.add("apexcharts-element-hidden");const M=o.group({class:"apexcharts-bar-goals-markers"}),R=o.group({class:"apexcharts-bar-shadows"});r.globals.delayedElements.push({el:R.node}),R.node.classList.add("apexcharts-element-hidden");for(let e=0;e<t[h].length;e++){const a=this.barHelpers.getStrokeWidth(h,e,f);let o=null;const d={indexes:{i:h,j:e,realIndex:f,translationsIndex:v,bc:c},x:b,y:g,strokeWidth:a,elSeries:y};this.isHorizontal?(o=this.drawBarPaths(l(n({},d),{barHeight:W,zeroW:S,yDivision:P})),F=this.series[h][e]/this.invertedYRatio):(o=this.drawColumnPaths(l(n({},d),{xDivision:L,barWidth:F,zeroH:k})),W=this.series[h][e]/this.yRatio[v]);const C=this.barHelpers.getPathFillColor(t,h,e,f);if(this.isFunnel&&!this.isPyramid&&this.barOptions.isFunnel3d&&"trapezoid"!==(null==(s=r.config.plotOptions.funnel)?void 0:s.shape)&&this.pathArr.length&&e>0){const t=this.barHelpers.drawBarShadow({color:"string"==typeof C.color&&-1===(null==(i=C.color)?void 0:i.indexOf("url"))?C.color:u.hexToRgba(r.globals.colors[h]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:o,realIndex:f,j:e});if(R.add(t),r.config.chart.dropShadow.enabled){new T(this.w).dropShadow(t,r.config.chart.dropShadow,f)}}this.pathArr.push(o);const w=this.barHelpers.drawGoalLine({barXPosition:o.barXPosition,barYPosition:o.barYPosition,goalX:o.goalX,goalY:o.goalY,barHeight:W,barWidth:F});w&&M.add(w),g=o.y,b=o.x,e>0&&x.push(b+(null!=F?F:0)/2),p.push(g),this.renderSeries(l(n({realIndex:f,pathFill:C.color},C.useRangeColor?{lineFill:C.color}:{}),{j:e,i:h,columnGroupIndex:m,pathFrom:o.pathFrom,pathTo:o.pathTo,strokeWidth:a,elSeries:y,x:b,y:g,series:t,barHeight:Math.abs(o.barHeight?o.barHeight:W),barWidth:Math.abs(o.barWidth?o.barWidth:F),elDataLabelsWrap:D,elGoalsMarkers:M,elBarShadows:R,visibleSeries:this.visibleI,type:"bar"}))}if(r.globals.seriesXvalues[f]=x,r.globals.seriesYvalues[f]=p,r.globals.previousPaths.length>0){const e=[];for(let a=0;a<t[h].length;a++)e.push(A(r,f,a));H({w:r,elSeries:y,record:this._prevRecord(f),newKeys:e,isHorizontal:this.isHorizontal,speed:r.config.chart.animations.dynamicAnimation.speed})}d.add(y)}return d}renderSeries({realIndex:t,pathFill:e,lineFill:a,j:s,i:i,columnGroupIndex:r,pathFrom:o,pathTo:n,strokeWidth:l,elSeries:h,x:d,y:c,y1:u,y2:b,series:g,barHeight:p,barWidth:x,barXPosition:f,barYPosition:m,elDataLabelsWrap:y,elGoalsMarkers:v,elBarShadows:C,visibleSeries:P,type:S,classes:I}){var L,k,W,F,H,O,M;const R=this.w,X=new w(this.w,this.ctx),j=function(t,e){const a=t&&t.renderer;return a&&a.kind&&"svg"!==a.kind?a:e}(this.ctx,X);let z=!1;const _=this._pathToInterp;if(this._pathToInterp=null,h._bindingsDelegated||(h._bindingsDelegated=!0,X.setupEventDelegation(h,`.apexcharts-${S}-area`)),!a){let e=function(t){const e=R.config.stroke.colors;let a;return Array.isArray(e)&&e.length>0&&(a=e[t],a||(a=""),"function"==typeof a)?a({value:R.seriesData.series[t][s],dataPointIndex:s,w:R}):a};const i="function"==typeof R.globals.stroke.colors[t]?e(t):R.globals.stroke.colors[t];a=this.barOptions.distributed?R.globals.stroke.colors[s]:i}const Y=R.config.chart.animations,$=Y.animateGradually;let G=0,E=0;if($&&!1!==$.enabled&&!(R.globals.dataChanged&&this.isLayoutShift(t))){const t=R.globals.dataPoints||1,e=$.delay||0,a=Math.min(e,.5*Y.speed/Math.max(1,t));E=B({style:"sequential",index:s,baseDelay:a}),R.config.chart.stacked&&!R.globals.dataChanged&&(E+=i*a*.5);G=E/(e||1)}const V=new D(this).handleBarDataLabels({x:d,y:c,y1:u,y2:b,i:i,j:s,series:g,realIndex:t,columnGroupIndex:r,barHeight:p,barWidth:x,barXPosition:f,barYPosition:m,visibleSeries:P});if(E>0){const t=R.config.dataLabels;if((null==(L=t.animate)?void 0:L.enabled)||(null==(k=t.countUp)?void 0:k.enabled)){const t=String(Math.round(E));null==(F=null==(W=V.dataLabels)?void 0:W.node)||F.setAttribute("data:dlDelay",t),null==(O=null==(H=V.totalDataLabels)?void 0:H.node)||O.setAttribute("data:dlDelay",t)}}if(R.globals.isBarHorizontal||(V.dataLabelsPos.dataLabelsX+Math.max(x,R.globals.barPadForNumericAxis)<0||V.dataLabelsPos.dataLabelsX-Math.max(x,R.globals.barPadForNumericAxis)>R.layout.gridWidth)&&(z=!0),R.config.series[i].data[s]&&R.config.series[i].data[s].strokeColor&&(a=R.config.series[i].data[s].strokeColor),this.isNullValue&&-1===R.globals.collapsingSeriesIndices.indexOf(t)&&(e="none"),!z){const r=!0===(null==(M=this.ctx.morphTypeChange)?void 0:M.isActive()),d=r?this.ctx.morphTypeChange.getSpeed():R.config.chart.animations.dynamicAnimation.speed,c=r&&this.ctx.morphTypeChange.claimsTargetMark(t,s);c&&(o=n,G=0);const g=j.renderPaths({i:i,j:s,realIndex:t,pathFrom:o,pathTo:n,stroke:a,strokeWidth:l,strokeLineCap:R.config.stroke.lineCap,fill:e,pathToInterp:_,animationDelay:G,initialSpeed:R.config.chart.animations.speed,dataChangeSpeed:d,className:`apexcharts-${S}-area${I?` ${I}`:""}`,chartType:S,bindEventsOnPaths:!1});g.attr("clip-path",`url(#gridRectBarMask${R.globals.cuid})`),c&&(g.node.setAttribute("opacity","0"),g.node.setAttribute("data-piece-hidden","1"));const f=R.config.forecastDataPoints;f.count>0&&s>=R.globals.dataPoints-f.count&&(g.node.setAttribute("stroke-dasharray",f.dashArray),g.node.setAttribute("stroke-width",f.strokeWidth),g.node.setAttribute("fill-opacity",f.fillOpacity)),void 0!==u&&void 0!==b&&(g.attr("data-range-y1",u),g.attr("data-range-y2",b));new T(this.w).setSelectionFilter(g,t,s),h.add(g),g.attr({cy:V.dataLabelsPos.bcy,cx:V.dataLabelsPos.bcx,j:s,val:R.seriesData.series[i][s],barHeight:p,barWidth:x,"data:pathKey":A(R,t,s)}),"canvas"===j.kind&&(R.globals.barCanvasCoords||(R.globals.barCanvasCoords={}),R.globals.barCanvasCoords[t]||(R.globals.barCanvasCoords[t]={}),R.globals.barCanvasCoords[t][s]={cx:V.dataLabelsPos.bcx,cy:V.dataLabelsPos.bcy,barWidth:x}),null!==V.dataLabels&&y.add(V.dataLabels),V.totalDataLabels&&y.add(V.totalDataLabels),h.add(y),v&&h.add(v),C&&h.add(C)}return h}drawBarPaths({indexes:t,barHeight:e,strokeWidth:a,zeroW:s,x:i,y:r,yDivision:o,elSeries:n}){const l=this.w,h=t.i,d=t.j;let c;if(l.axisFlags.isXNumeric)c=(r=(l.seriesData.seriesX[h][d]-l.globals.minX)/this.invertedXRatio-e)+e*this.visibleI;else if(l.config.plotOptions.bar.hideZeroBarsWhenGrouped){const{nonZeroColumns:t,zeroEncounters:a}=this.barHelpers.getZeroValueEncounters({i:h,j:d});t>0&&(e=this.seriesLen*e/t),c=r+e*this.visibleI,c-=e*a}else c=r+e*this.visibleI;const u=this.isFunnel&&"trapezoid"===l.config.plotOptions.funnel.shape,b=this.isPyramid&&this.pyramidLayout?this.pyramidLayout[d]:null,g=!!b;if(b)c=b.y,e=b.height;else if(this.isFunnel&&!u){const t=null!=s?s:0;s=t-(this.barHelpers.getXForValue(this.series[h][d],t)-t)/2}let p;return i=this.barHelpers.getXForValue(this.series[h][d],null!=s?s:0),p=b?this.barHelpers.getPyramidPaths({barYPosition:c,barHeight:e,topHalf:b.topHalf,bottomHalf:b.bottomHalf,realIndex:t.realIndex,j:d,strokeWidth:a,w:l}):u?this.barHelpers.getFunnelTrapezoidPaths({barYPosition:c,barHeight:e,series:this.series,i:h,j:d,realIndex:t.realIndex,strokeWidth:a,w:l}):this.barHelpers.getBarpaths({barYPosition:c,barHeight:e,x1:s,x2:i,strokeWidth:a,isReversed:this.isReversed,series:this.series,realIndex:t.realIndex,i:h,j:d,w:l}),(u||g)&&(s=p.x1,i=p.x),l.axisFlags.isXNumeric||g||(r+=o),g&&(r=c),this.barHelpers.barBackground({j:d,i:h,y1:c-e*this.visibleI,y2:e*this.seriesLen,elSeries:n}),{pathTo:p.pathTo,pathFrom:p.pathFrom,x1:s,x:i,y:r,goalX:this.barHelpers.getGoalValues("x",s,null,t.realIndex,d,0),barYPosition:c,barHeight:e}}drawColumnPaths({indexes:t,x:e,y:a,xDivision:s,barWidth:i,zeroH:r,strokeWidth:o,elSeries:n}){const l=this.w,h=t.realIndex,d=t.translationsIndex,c=t.i,u=t.j,b=t.bc;let g;if(l.axisFlags.isXNumeric){const t=this.getBarXForNumericXAxis({x:e,j:u,realIndex:h,barWidth:i});e=t.x,g=t.barXPosition}else if(l.config.plotOptions.bar.hideZeroBarsWhenGrouped){const{nonZeroColumns:t,zeroEncounters:a}=this.barHelpers.getZeroValueEncounters({i:c,j:u});t>0&&(i=this.seriesLen*i/t),g=e+i*this.visibleI,g-=i*a}else g=e+i*this.visibleI;a=this.barHelpers.getYForValue(this.series[c][u],r,d);const p=this.barHelpers.getColumnPaths({barXPosition:g,barWidth:i,y1:r,y2:a,strokeWidth:o,isReversed:this.isReversed,series:this.series,realIndex:h,i:c,j:u,w:l});return l.axisFlags.isXNumeric||(e+=s),this.barHelpers.barBackground({bc:b,j:u,i:c,x1:g-o/2-i*this.visibleI,x2:i*this.seriesLen+o/2,elSeries:n}),{pathTo:p.pathTo,pathFrom:p.pathFrom,x:e,y:a,goalY:this.barHelpers.getGoalValues("y",null,r,h,u,d),barXPosition:g,barWidth:i}}getBarXForNumericXAxis({x:t,barWidth:e,realIndex:a,j:s}){const i=this.w;let r=a;return i.seriesData.seriesX[a].length||(r=i.globals.maxValsInArrayIndex),u.isNumber(i.seriesData.seriesX[r][s])&&(t=j.dataXToPx(i,i.seriesData.seriesX[r][s])-e*this.seriesLen/2),{barXPosition:t+(R(i)?0:e*this.visibleI),x:t}}_prevRecord(t){const e=this.w;let a=null;for(let s=0;s<e.globals.previousPaths.length;s++){const i=e.globals.previousPaths[s];i.paths&&i.paths.length>0&&parseInt(i.realIndex,10)===parseInt(String(t),10)&&(a=i)}return a}_prevKeyedPaths(t){if(this._prevKeyed||(this._prevKeyed={}),void 0!==this._prevKeyed[t])return this._prevKeyed[t];const e=this._prevRecord(t);let a=null;if(e&&e.paths.every(t=>null!=t.key)){const t=new Map;e.paths.forEach(e=>{t.set(e.key,e)}),a=t}return this._prevKeyed[t]=a,a}isLengthTransition(t){var e,a;if(this._ltCache||(this._ltCache={}),void 0!==this._ltCache[t])return this._ltCache[t];const s=this.w;let i=!1;if(k(s)&&s.globals.previousPaths.length>0){const r=this._prevRecord(t),o=null!=(a=null==(e=s.seriesData.series[t])?void 0:e.length)?a:0;if(r)if(r.paths.length!==o)i=!0;else{const e=this._prevKeyedPaths(t);if(e)for(let a=0;a<o;a++)if(!e.has(A(s,t,a))){i=!0;break}}else i=o>0}return this._ltCache[t]=i,i}isLayoutShift(t){if(this.isLengthTransition(t))return!0;if(this._layoutShiftCache||(this._layoutShiftCache={}),void 0!==this._layoutShiftCache[t])return this._layoutShiftCache[t];const e=F(this.w,t,!0,!0),a=!(!e||!e.join.changed);return this._layoutShiftCache[t]=a,a}getPreviousPath(t,e,a,s){const i=this.w;this._pathToInterp=null;const r=this._prevRecord(t);if(!r)return k(i)?null:a;let o=null,n=!1;const l=this._prevKeyedPaths(t);if(l){const a=l.get(A(i,t,e));a?o=a.d:n=!0}else void 0!==r.paths[e]?o=r.paths[e].d:n=!0;if(o){const t=z.pathCommandCount(o),e=z.pathCommandCount(a);if(t===e)return o;const r=new w(i),n=t=>{const e=z.pathBox(t);return e?Math.min(e.maxX-e.minX,e.maxY-e.minY):0},l=t<e?n(o)>1:n(a)>1;if(t<e){const t=r.roundPathCorners(o,0);if(z.pathCommandCount(t)===e){if(l&&s){const t=r.roundPathCorners(s,0);z.pathCommandCount(t)===e&&(this._pathToInterp=t)}return t}}else{const e=r.roundPathCorners(a,0);if(z.pathCommandCount(e)===t){if(this._pathToInterp=e,l){const e=z.squareLike(o),a=e?r.roundPathCorners(e,0):null;if(a&&z.pathCommandCount(a)===t)return a}return o}}}return n&&k(i)?null:a}static pathBox(t){if(!t)return null;const e=[],a=/([MLC])([^MLCZz]*)/g;let s;for(;null!==(s=a.exec(t));){const t=s[2].trim().split(/[\s,]+/).map(Number);t.length<2||t.some(isNaN)||e.push([t[t.length-2],t[t.length-1]])}if(e.length<3)return null;const i=e.map(t=>t[0]),r=e.map(t=>t[1]);return{minX:Math.min(...i),maxX:Math.max(...i),minY:Math.min(...r),maxY:Math.max(...r),start:e[0],vertical:Math.abs(e[1][0]-e[0][0])<Math.abs(e[1][1]-e[0][1])}}static squareLike(t){const e=z.pathBox(t);if(!e)return null;const{minX:a,maxX:s,minY:i,maxY:r,start:o,vertical:n}=e,l=(t,e,a)=>Math.abs(t-e)<=Math.abs(t-a)?[e,a]:[a,e];let h,d,c,u;n?(h=Math.abs(o[0]-a)<=Math.abs(o[0]-s)?a:s,d=h===a?s:a,[c,u]=l(o[1],i,r)):(c=Math.abs(o[1]-i)<=Math.abs(o[1]-r)?i:r,u=c===i?r:i,[h,d]=l(o[0],a,s));const b=t.trim().endsWith("Z")?" Z":" z";return n?`M ${h} ${c} L ${h} ${u} L ${d} ${u} L ${d} ${c}${b}`:`M ${h} ${c} L ${d} ${c} L ${d} ${u} L ${h} ${u}${b}`}getPreviousFlip(t,e){const a=this.w,s=this._prevRecord(t);if(!s)return null;const i=this._prevKeyedPaths(t),r=i?i.get(A(a,t,e)):s.paths[e];return r?!!r.flip:null}static pathCommandCount(t){if(!t)return 0;const e=t.match(/[A-Za-z]/g);return e?e.length:0}}const _=t=>{const e=function(t){const e=[];let a=t[0],s=t[1],i=e[0]=$(a,s),r=1;for(let o=t.length-1;r<o;r++)a=s,s=t[r+1],e[r]=.5*(i+(i=$(a,s)));return e[r]=i,e}(t),a=t.length-1,s=[];let i,r,o,n;for(let s=0;s<a;s++)o=$(t[s],t[s+1]),Math.abs(o)<1e-6?e[s]=e[s+1]=0:(i=e[s]/o,r=e[s+1]/o,n=i*i+r*r,n>9&&(n=3*o/Math.sqrt(n),e[s]=n*i,e[s+1]=n*r));for(let i=0;i<=a;i++)n=(t[Math.min(a,i+1)][0]-t[Math.max(0,i-1)][0])/(6*(1+e[i]*e[i])),s.push([n||0,e[i]*n||0]);return s},Y={points(t){const e=_(t),a=t[1],s=t[0],i=[],r=e[1],o=e[0];i.push(s,[s[0]+o[0],s[1]+o[1],a[0]-r[0],a[1]-r[1],a[0],a[1]]);for(let a=2,s=e.length;a<s;a++){const s=t[a],r=e[a];i.push([s[0]-r[0],s[1]-r[1],s[0],s[1]])}return i},slice(t,e,a){const s=t.slice(e,a);if(e){if(a-e>1&&s[1].length<6){const t=s[0].length;s[1]=[2*s[0][t-2]-s[0][t-4],2*s[0][t-1]-s[0][t-3]].concat(s[1])}s[0]=s[0].slice(-2)}return s}};function $(t,e){return(e[1]-t[1])/(e[0]-t[0])}function G({graphics:t,w:e,elSeries:a,pointsByCat:s,options:i,distributed:r,realIndex:o,wrapClass:n,pointClass:l}){if(!i||!1===i.show||!s.length)return;const h=null!=i.opacity?i.opacity:.9,d=null!=i.strokeColor?i.strokeColor:"#fff",c=null!=i.strokeWidth?i.strokeWidth:1,u=e.config.chart.animations.enabled&&!e.globals.resized&&!e.globals.dataChanged,b=t.group({class:u?`${n} apexcharts-element-hidden`:n});u&&e.globals.delayedElements.push({el:b.node}),s.forEach(({groups:a,j:s})=>{const n=r?e.globals.colors[s]:e.globals.colors[o],u=i.fillColor,g="series"===u?n:"series-dark"===u?E(n,.45):u||E(n,.45);a.forEach(a=>{const i=t.drawPath({d:a.d,fill:null!=a.fill?a.fill:g,stroke:c>0?d:"none",strokeWidth:c,fillOpacity:h,classes:l});i.attr("data:realIndex",o),i.attr("j",s),i.attr("clip-path",`url(#gridRectBarMask${e.globals.cuid})`),i.node.style.pointerEvents="none",b.add(i)})}),a.add(b)}function E(t,e){const a=u.parseHex(t);if(!a)return t;const s=Math.max(0,1-e);return`rgb(${Math.round(a[0]*s)},${Math.round(a[1]*s)},${Math.round(a[2]*s)})`}function V(t,e){if(!t.length)return"#000";if(1===t.length)return t[0];const a=Math.max(0,Math.min(1,e))*(t.length-1),s=Math.floor(a),i=a-s,r=u.parseHex(t[s])||[0,0,0],o=u.parseHex(t[Math.min(s+1,t.length-1)])||r,n=(t,e)=>Math.round(t+(e-t)*i);return`rgb(${n(r[0],o[0])},${n(r[1],o[1])},${n(r[2],o[2])})`}function N(t){let e=(2654435769^t)>>>0;return e=Math.imul(e^e>>>16,73244475),e=Math.imul(e^e>>>16,73244475),((e^e>>>16)>>>0)/4294967296}function Z(t,e,a){return`M ${t-a} ${e} a ${a} ${a} 0 1 0 ${2*a} 0 a ${a} ${a} 0 1 0 ${-2*a} 0 `}function K(t,e,a){return`M ${t-a} ${e-a} h ${2*a} v ${2*a} h ${-2*a} z `}function q(t){const e=[];for(let a=0;a<t.length;a+=2)e.push(t[a+1],t[a]);return e}function U(t){return"right"===t||"bottom"===t?1:"left"===t||"top"===t?-1:0}function J(t,e){let a=e;if("string"==typeof t&&t.trim().endsWith("%")){const e=parseFloat(t);isFinite(e)&&(a=e/100)}else"number"==typeof t&&isFinite(t)&&(a=t);return Math.min(.5,Math.max(0,a))}function Q({halfExtent:t,cloudSign:e,rainSign:a,boxFrac:s,rainFrac:i}){const r=s*t,o=0===a?t:i*t,n=0===a?0:a*(t-o);if(0===e)return{cloudBaseOff:0,cloudMaxPx:t,boxCenterOff:0,boxHalfPx:r,rainCenterOff:n,rainHalfPx:o};const l=0===a?0:i,h=2*Math.max(0,1-l-s)*t,d=e*(t-h);return{cloudBaseOff:d,cloudMaxPx:h,boxCenterOff:d-e*r,boxHalfPx:r,rainCenterOff:n,rainHalfPx:o}}d.default.use({violin:class extends z{draw(t,e,a){var s;const i=this.w,r=new w(this.w),o=new M(this.w);this.violinOptions=i.config.plotOptions.violin,this.pointsOptions=this.violinOptions.points,this.boxOptions=this.violinOptions.box||{},this.cloudSign=U(this.violinOptions.side),this.rainSign=!1===this.pointsOptions.show?0:U(this.pointsOptions.position),this.boxShown=!0===this.boxOptions.show,this.boxFrac=this.boxShown?J(this.boxOptions.width,.15):0,this.rainFrac=J(this.pointsOptions.laneWidth,.4),this.bandwidthScale=this.violinOptions.bandwidthScale||1,this.normalize=this.violinOptions.normalize||"individual",this.distributed=i.config.plotOptions.bar.distributed,this.isHorizontal=i.config.plotOptions.bar.horizontal,this.coreUtils=new C(this.w),t=this.coreUtils.getLogSeries(t),this.series=t,this.yRatio=this.coreUtils.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);const n=r.group({class:"apexcharts-violin-series apexcharts-plot-series"});for(let e=0;e<t.length;e++){let l,h;const d=[],c=[],b=i.globals.comboCharts?a[e]:e,{columnGroupIndex:g}=this.barHelpers.getGroupIndex(b),p=r.group({class:"apexcharts-series",seriesName:u.escapeString(i.seriesData.seriesNames[b]),rel:e+1,"data:realIndex":b});O.addCollapsedClassToSeries(this.w,p,b),t[e].length>0&&(this.visibleI=this.visibleI+1);let x=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[b][0],x=b);const f=this.barHelpers.initialPositions(b),{y:m,barHeight:y,yDivision:v,zeroW:C,x:w,barWidth:P,xDivision:S,zeroH:I}=f;h=m,l=w,c.push(l+(null!=P?P:0)/2);const L=r.group({class:"apexcharts-datalabels","data:realIndex":b});if(this.seriesMaxWeight=0,"group"===this.normalize){(i.violinData.seriesViolinDensity[b]||[]).forEach(t=>{t&&t.maxWeight>this.seriesMaxWeight&&(this.seriesMaxWeight=t.maxWeight)})}const k=[];for(let a=0;a<i.globals.dataPoints;a++){const r=this.barHelpers.getStrokeWidth(e,a,b),n=this.isHorizontal?this.drawHorizontalViolin({indexes:{i:e,j:a,realIndex:b,translationsIndex:x},y:h,yDivision:v,barHeight:y,zeroW:C}):this.drawVerticalViolin({indexes:{i:e,j:a,realIndex:b,translationsIndex:x},x:l,xDivision:S,barWidth:P,zeroH:I});l=n.x,h=n.y,a>0&&c.push(n.center),d.push(n.alongRepresentative);const u=this.buildPointsSubPath({realIndex:b,j:a,center:n.center,halfExtent:n.halfExtent,alongFn:n.alongFn,density:n.density,maxWeight:n.maxWeight,cloudBase:n.cloudBase,cloudMaxPx:n.cloudMaxPx,rainCenter:n.rainCenter,rainHalfPx:n.rainHalfPx});u.length&&k.push({groups:u,j:a});const f=o.fillPath({seriesNumber:this.distributed?a:b,dataPointIndex:a,color:this.distributed?i.globals.colors[a]:void 0,value:t[e][a]});this.renderSeries({realIndex:b,pathFill:f,lineFill:i.globals.stroke.colors[b],j:a,i:e,pathFrom:n.pathFrom,pathTo:n.pathTo,strokeWidth:r,elSeries:p,x:l,y:h,series:t,columnGroupIndex:g,barHeight:y,barWidth:P,elDataLabelsWrap:L,visibleSeries:this.visibleI,type:"violin"});const m=p.node.querySelector(`path.apexcharts-violin-area[j='${a}']`);if(m&&isFinite(n.alongRepresentative)&&m.setAttribute(this.isHorizontal?"cx":"cy",`${n.alongRepresentative}`),n.boxPaths){const r=null!=(s=this.boxOptions.strokeWidth)?s:1;n.boxPaths.forEach(s=>{this.renderSeries({realIndex:b,pathFill:s.filled?this.boxOptions.fillColor||f:"none",lineFill:i.globals.stroke.colors[b],j:a,i:e,pathFrom:s.pathFrom,pathTo:s.pathTo,strokeWidth:r,elSeries:p,x:l,y:h,series:t,columnGroupIndex:g,barHeight:y,barWidth:P,elDataLabelsWrap:L,visibleSeries:this.visibleI,type:"violin",classes:"apexcharts-raincloud-box"})})}}G({graphics:r,w:i,elSeries:p,pointsByCat:k,options:this.pointsOptions,distributed:this.distributed,realIndex:b,wrapClass:"apexcharts-violin-points-wrap",pointClass:"apexcharts-violin-points"}),i.globals.seriesXvalues[b]=c,i.globals.seriesYvalues[b]=d,n.add(p)}return n}drawVerticalViolin({indexes:t,x:e,xDivision:a,barWidth:s,zeroH:i}){var r,o,n,l,h,d,c;const u=this.w,{realIndex:b,j:g,translationsIndex:p}=t,x=this.yRatio[p];u.axisFlags.isXNumeric&&(e=(u.seriesData.seriesX[b][g]-u.globals.minX)/this.xRatio-s/2);const f=e+s*this.visibleI+s/2,m=s/2,y=this.getDensity(b,g),v=this.effectiveMaxWeight(y),C=t=>i-this.logVal(t,b)/x,w=Q({halfExtent:m,cloudSign:null!=(r=this.cloudSign)?r:0,rainSign:null!=(o=this.rainSign)?o:0,boxFrac:null!=(n=this.boxFrac)?n:0,rainFrac:null!=(l=this.rainFrac)?l:0}),P=f+w.cloudBaseOff,S=this.buildBodyPath({nodes:y.nodes,center:P,halfExtent:w.cloudMaxPx,maxWeight:v,vertical:!0,alongFn:C,collapsed:!1,sideSign:this.cloudSign});let I=null;const L=null==(d=null==(h=this.ctx)?void 0:h.morphTypeChange)?void 0:d.getInitialPathFor(b,g);return L?I=L:u.globals.previousPaths.length>0&&(I=this.getPreviousPath(b,g,S)),null==I&&(I=this.buildBodyPath({nodes:y.nodes,center:P,halfExtent:w.cloudMaxPx,maxWeight:v,vertical:!0,alongFn:C,collapsed:!0,sideSign:this.cloudSign})),u.axisFlags.isXNumeric||(e+=a),{pathTo:S,pathFrom:I,x:e,y:i,center:f,halfExtent:m,alongFn:C,density:y,maxWeight:v,cloudBase:P,cloudMaxPx:w.cloudMaxPx,rainCenter:f+w.rainCenterOff,rainHalfPx:w.rainHalfPx,boxPaths:this.buildBoxSubPaths({realIndex:b,j:g,boxCenter:f+w.boxCenterOff,boxHalfPx:w.boxHalfPx,alongFn:C,vertical:!0}),alongRepresentative:C(null!=(c=this.series[t.i][g])?c:0)}}drawHorizontalViolin({indexes:t,y:e,yDivision:a,barHeight:s,zeroW:i}){var r,o,n,l,h,d,c;const u=this.w,{realIndex:b,j:g}=t,p=this.invertedYRatio;u.axisFlags.isXNumeric&&(e=(u.seriesData.seriesX[b][g]-u.globals.minX)/this.invertedXRatio-s/2);const x=e+s*this.visibleI+s/2,f=s/2,m=this.getDensity(b,g),y=this.effectiveMaxWeight(m),v=t=>i+this.logVal(t,b)/p,C=Q({halfExtent:f,cloudSign:null!=(r=this.cloudSign)?r:0,rainSign:null!=(o=this.rainSign)?o:0,boxFrac:null!=(n=this.boxFrac)?n:0,rainFrac:null!=(l=this.rainFrac)?l:0}),w=x+C.cloudBaseOff,P=this.buildBodyPath({nodes:m.nodes,center:w,halfExtent:C.cloudMaxPx,maxWeight:y,vertical:!1,alongFn:v,collapsed:!1,sideSign:this.cloudSign});let S=null;const I=null==(d=null==(h=this.ctx)?void 0:h.morphTypeChange)?void 0:d.getInitialPathFor(b,g);return I?S=I:u.globals.previousPaths.length>0&&(S=this.getPreviousPath(b,g,P)),null==S&&(S=this.buildBodyPath({nodes:m.nodes,center:w,halfExtent:C.cloudMaxPx,maxWeight:y,vertical:!1,alongFn:v,collapsed:!0,sideSign:this.cloudSign})),u.axisFlags.isXNumeric||(e+=a),{pathTo:P,pathFrom:S,x:i,y:e,center:x,halfExtent:f,alongFn:v,maxWeight:y,density:m,cloudBase:w,cloudMaxPx:C.cloudMaxPx,rainCenter:x+C.rainCenterOff,rainHalfPx:C.rainHalfPx,boxPaths:this.buildBoxSubPaths({realIndex:b,j:g,boxCenter:x+C.boxCenterOff,boxHalfPx:C.boxHalfPx,alongFn:v,vertical:!1}),alongRepresentative:v(null!=(c=this.series[t.i][g])?c:0)}}getDensity(t,e){var a;const s=null==(a=this.w.violinData.seriesViolinDensity[t])?void 0:a[e];if(!s||!s.values.length)return{nodes:[],maxWeight:0};const i=s.values.map((t,e)=>e);i.sort((t,e)=>s.values[t]-s.values[e]);const r=[];let o=null;for(const t of i){const e=s.values[t];null!==o&&e===o||(r.push({v:e,w:s.weights[t]}),o=e)}return{nodes:r,maxWeight:s.maxWeight}}effectiveMaxWeight(t){return"group"===this.normalize&&this.seriesMaxWeight>0?this.seriesMaxWeight:t.maxWeight}buildBodyPath({nodes:t,center:e,halfExtent:a,maxWeight:s,vertical:i,alongFn:r,collapsed:o,sideSign:n=0}){const l=new w(this.w);if(0===t.length){const t=r(0);return i?l.move(e,t)+l.line(e,t):l.move(t,e)+l.line(t,e)}const h=t=>{if(o||s<=0)return 0;const e=t/s*a*this.bandwidthScale;return Math.min(a,Math.max(0,e))},d=[],c=[];for(let a=0;a<t.length;a++){const s=r(t[a].v),o=h(t[a].w),l=0===n?e+o:e+n*o,u=0===n?e-o:e;i?(d.push([l,s]),c.push([u,s])):(d.push([s,l]),c.push([s,u]))}return c.reverse(),this.smoothSegment(d,i,!1)+this.smoothSegment(c,i,!0)+"z"}buildBoxSubPaths({realIndex:t,j:e,boxCenter:a,boxHalfPx:s,alongFn:i,vertical:r}){var o,n;const l=this.w;if(!this.boxShown||s<=0)return null;const h=null==(o=l.violinData.seriesViolinSummary[t])?void 0:o[e];if(!h)return null;const d=s*Math.min(1,Math.max(0,null!=(n=this.boxOptions.capWidth)?n:.5)),[c,u,b,g,p]=h.map(t=>i(t)),x=(t,e)=>{const s=new w(this.w),i=(t,e)=>r?[t,e]:[e,t],o=t=>t.map(([t,e],a)=>0===a?s.move(t,e):s.line(t,e)).join(""),n=a;return{whiskers:o([i(n,c),i(n,u)])+o([i(n,g),i(n,p)])+o([i(n-t,c),i(n+t,c)])+o([i(n-t,p),i(n+t,p)]),box:o([i(n-e,u),i(n+e,u),i(n+e,g),i(n-e,g)])+"z"+o([i(n-e,b),i(n+e,b)])}},f=x(d,s),m=x(0,0),y=(a,s)=>{let i=null;return l.globals.previousPaths.length>0&&(i=this.getPreviousPath(t,e,a)),null==i?s:i};return[{pathTo:f.whiskers,pathFrom:y(f.whiskers,m.whiskers),filled:!1},{pathTo:f.box,pathFrom:y(f.box,m.box),filled:!0}]}smoothSegment(t,e,a){const s=new w(this.w),i=t[0];let r=a?s.line(i[0],i[1]):s.move(i[0],i[1]);if(t.length<3||!this.strictlyMonotonic(t,e)){for(let e=1;e<t.length;e++)r+=s.line(t[e][0],t[e][1]);return r}const o=t.map(([t,a])=>e?[a,t]:[t,a]),n=Y.points(o);return r+=(t=>{let e="";for(let a=0;a<t.length;a++){const s=t[a],i=s.length;i>4?(e+=`C${s[0]}, ${s[1]}`,e+=`, ${s[2]}, ${s[3]}`,e+=`, ${s[4]}, ${s[5]}`):i>2&&(e+=`S${s[0]}, ${s[1]}`,e+=`, ${s[2]}, ${s[3]}`)}return e})(e?n.map(q):n),r}strictlyMonotonic(t,e){const a=e?1:0;for(let e=1;e<t.length;e++)if(t[e][a]===t[e-1][a])return!1;return!0}buildPointsSubPath({realIndex:t,j:e,center:a,halfExtent:s,alongFn:i,density:r,maxWeight:o,cloudBase:n,cloudMaxPx:l,rainCenter:h,rainHalfPx:d}){var c;const u=0!==this.rainSign,b=u?h:0!==this.cloudSign?n:a,g=u?d:0!==this.cloudSign?l:s;return function({w:t,points:e,seedA:a,seedB:s,center:i,halfExtent:r,alongFn:o,isHorizontal:n,options:l,clampAt:h,sideSign:d}){const c=l;if(!c||!1===c.show)return[];if(!e||!e.length)return[];const u=c.maxPoints||3e3,b=e.length>u?Math.ceil(e.length/u):1,g=null!=c.size?c.size:2.5,p=r*(null!=c.jitter?c.jitter:.5),x=!1!==c.constrainToViolin&&"function"==typeof h,f="square"===c.shape,m=c.colorScale,y=m&&Array.isArray(m.colors)&&m.colors.length>0,v=y?Math.max(2,m.steps||24):1,C=y&&null!=m.min?m.min:t.globals.minY,w=(y&&null!=m.max?m.max:t.globals.maxY)-C||1,P=y?new Array(v).fill(""):[""];for(let t=0;t<e.length;t+=b){const r=e[t],l=o(r);let c=2*(N(7919*a+100003*s+t)-.5)*p;if(x){const t=h(r);c>t&&(c=t),c<-t&&(c=-t)}d&&(c=Math.abs(c)*d);const u=n?l:i+c,b=n?i+c:l,m=f?K(u,b,g):Z(u,b,g);if(y){let t=(r-C)/w;t<0&&(t=0),t>1&&(t=1),P[Math.round(t*(v-1))]+=m}else P[0]+=m}if(!y)return P[0]?[{fill:null,d:P[0]}]:[];const S=[];for(let t=0;t<v;t++)P[t]&&S.push({fill:V(m.colors,t/(v-1)),d:P[t]});return S}({w:this.w,points:null==(c=this.w.violinData.seriesViolinPoints[t])?void 0:c[e],seedA:t,seedB:e,center:b,halfExtent:g,alongFn:i,isHorizontal:this.isHorizontal,options:this.pointsOptions,clampAt:u?null:t=>this.halfWidthAtValue(t,r,g,o),sideSign:u?0:this.cloudSign})}halfWidthAtValue(t,e,a,s){const{nodes:i}=e,r=null!=s?s:e.maxWeight;if(!i.length||r<=0)return 0;const o=t=>Math.min(a,t/r*a*this.bandwidthScale);if(t<=i[0].v)return o(i[0].w);if(t>=i[i.length-1].v)return o(i[i.length-1].w);for(let e=1;e<i.length;e++)if(t<=i[e].v){const a=i[e-1],s=i[e],r=s.v===a.v?0:(t-a.v)/(s.v-a.v);return o(a.w+(s.w-a.w)*r)}return 0}logVal(t,e){return this.coreUtils.getLogValAtSeriesIndex(t,e)}}}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>d.default});
|
|
5
|
+
"use strict";var t=Object.defineProperty,e=Object.defineProperties,a=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,o=(e,a,s)=>a in e?t(e,a,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[a]=s,n=(t,e)=>{for(var a in e||(e={}))i.call(e,a)&&o(t,a,e[a]);if(s)for(var a of s(e))r.call(e,a)&&o(t,a,e[a]);return t},l=(t,s)=>e(t,a(s));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});function h(t){if(t&&t.__esModule)return t;const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t)for(const a in t)if("default"!==a){const s=Object.getOwnPropertyDescriptor(t,a);Object.defineProperty(e,a,s.get?s:{enumerable:!0,get:()=>t[a]})}return e.default=t,Object.freeze(e)}const d=h(require("apexcharts/core")),c="__apexcharts_series_transforms__";globalThis[c]||(globalThis[c]={});const u=d.__apex_Utils;function b(t,e){const a=t.length;if(0===a)return NaN;if(1===a)return t[0];const s=(a-1)*e,i=Math.floor(s),r=Math.ceil(s);return i===r?t[i]:t[i]+(t[r]-t[i])*(s-i)}function g(t,e={}){if(!Array.isArray(t)||0===t.length)return null;const a=t.slice().sort((t,e)=>t-e),s=b(a,.25),i=b(a,.5),r=b(a,.75),o=r-s;let n=a[0],l=a[a.length-1],h=[];if("tukey"===e.whiskers&&o>0){const t=s-1.5*o,e=r+1.5*o;let i=0;for(;i<a.length&&a[i]<t;)i++;let d=a.length-1;for(;d>=0&&a[d]>e;)d--;i<=d&&(n=a[i],l=a[d],h=a.slice(0,i).concat(a.slice(d+1)))}return{summary:[n,s,i,r,l],outliers:h,iqr:o}}function p(t,e={}){if(!Array.isArray(t)||0===t.length)return null;const a=t.slice().sort((t,e)=>t-e),s=a.length;let i=e.bandwidth;if(!("number"==typeof i&&i>0)){const t=function(t){const e=t.length;if(e<2)return 0;let a=0;for(let s=0;s<e;s++)a+=t[s];const s=a/e;let i=0;for(let a=0;a<e;a++){const e=t[a]-s;i+=e*e}return Math.sqrt(i/e)}(a),e=b(a,.75)-b(a,.25);i=.9*(e>0?Math.min(t,e/1.349):t)*Math.pow(s,-.2)}if(!isFinite(i)||i<=0){const t=a[0],e=Math.abs(t)>0?.001*Math.abs(t):.001;return{density:[[t-e,0],[t,1],[t+e,0]],bandwidth:e}}const r=Math.max(8,Math.floor(e.resolution||64)),o=a[0]-2*i,n=(a[s-1]+2*i-o)/(r-1),l=1/(s*i*Math.sqrt(2*Math.PI)),h=[];for(let t=0;t<r;t++){const e=o+t*n;let r=0;for(let t=0;t<s;t++){const s=(e-a[t])/i;r+=Math.exp(-.5*s*s)}h.push([e,r*l])}return{density:h,bandwidth:i}}function x(t,e){var a;if(!t||"object"!=typeof t||Array.isArray(t))return null;let s=null;if(Array.isArray(t.points)?s=t.points:Array.isArray(null==(a=t.y)?void 0:a.points)?s=t.y.points:e&&Array.isArray(t.y)&&"number"==typeof t.y[0]&&(s=t.y),!s)return null;const i=[];for(let t=0;t<s.length;t++){const e=u.parseNumber(s[t]);null!==e&&isFinite(e)&&i.push(e)}return i.length?i:null}const f=new WeakSet,m=new WeakSet;var y,v;y="raincloud","function"==typeof(v=function(t,e){var a,s;if(!Array.isArray(t))return t;const i=(null==(a=e.config.plotOptions)?void 0:a.violin)||{},r=i.kde||{},o=(null==(s=i.box)?void 0:s.whiskers)||"minmax";return t.map(t=>{if(!Array.isArray(null==t?void 0:t.data))return t;let e=!1;const a=t.data.map(t=>{var a,s;const i=Array.isArray(null==(a=null==t?void 0:t.y)?void 0:a.density)&&t.y.density.length>0,h=Array.isArray(null==(s=null==t?void 0:t.y)?void 0:s.summary)&&5===t.y.summary.length;if(i&&!f.has(t)){if(h&&!m.has(t))return t;const a=x(t,!1);if(!a)return t;const s=g(a,{whiskers:o});if(!s)return t;e=!0;const i=l(n({},t),{y:l(n({},t.y),{summary:s.summary})});return m.add(i),i}const d=x(t,!0);if(!d)return t;const c=p(d,{bandwidth:r.bandwidth,resolution:r.resolution});if(!c)return t;const u=g(d,{whiskers:o});e=!0;const b=l(n({},t),{y:n({density:c.density,points:d},u?{summary:u.summary}:{})});return f.add(b),b});return e?l(n({},t),{data:a}):t})})&&(globalThis[c][y]=v);const C=d.__apex_CoreUtils,w=d.__apex_Graphics,P=d.__apex_DataLabels,S=(t,e,a,s)=>{if("function"!=typeof t)return t;const i=t({series:e.seriesData.series,seriesIndex:a,dataPointIndex:s,w:e});return Number.isFinite(i)?i:0},I=d.__apex_BrowserAPIs_BrowserAPIs,L=d.__apex_Environment_Environment;function k(t){var e;const a=t.config.chart.animations;if(!a||!1===a.enabled)return!1;if(!a.dynamicAnimation||!1===a.dynamicAnimation.enabled)return!1;const s=null!=(e=a.largeDatasetThreshold)?e:0;return!(s>0&&t.globals.dataPoints>s)&&!!(L.isBrowser()&&t.globals.dataChanged&&t.globals.shouldAnimate)}function A(t,e,a){var s,i,r,o;if(null==(s=t.axisFlags)?void 0:s.isXNumeric){const s=null==(r=null==(i=t.seriesData)?void 0:i.seriesX)?void 0:r[e];if(s&&s.length&&null!=s[a])return"x:"+s[a]}const n=null==(o=t.globals.labels)?void 0:o[a];return null!=n&&""!==String(n)?"c:"+(Array.isArray(n)?n.join(" "):String(n)):"j:"+a}function W(t){const e=new Map;return t.map(t=>{const a=e.get(t)||0;return e.set(t,a+1),0===a?t:`${t}#${a}`})}function F(t,e,a=!1,s=!1){var i,r;if(!k(t))return null;const o=t.globals.prevStreamFrame;if(!o)return null;const n=null==(i=o.seriesY)?void 0:i[e],l=null==(r=t.seriesData.series)?void 0:r[e];if(!Array.isArray(n)||!Array.isArray(l))return null;if(!n.length||!l.length)return null;const h=W(n.map((t,a)=>function(t,e,a){var s,i;if(t.isXNumeric){const i=null==(s=t.seriesX)?void 0:s[e];if(i&&i.length&&null!=i[a])return"x:"+i[a]}const r=null==(i=t.labels)?void 0:i[a];return null!=r&&""!==String(r)?"c:"+(Array.isArray(r)?r.join(" "):String(r)):"j:"+a}(o,e,a))),d=W(l.map((a,s)=>A(t,e,s))),c=function(t,e){const a=new Map;t.forEach((t,e)=>{a.has(t)||a.set(t,e)});const s=new Array(e.length),i=new Set;let r=-1,o=!0,n=t.length===e.length;e.forEach((t,e)=>{const l=a.has(t)&&!i.has(a.get(t))?a.get(t):-1;s[e]=l,-1!==l&&(i.add(l),l<r&&(o=!1),r=l),l!==e&&(n=!1)});const l=[];for(let e=0;e<t.length;e++)i.has(e)||l.push(e);return{toOld:s,exits:l,ordered:o,changed:!n}}(h,d);return(c.ordered||s)&&(c.changed||a)?{join:c,oldKeys:h,newKeys:d}:null}function H({w:t,elSeries:e,record:a,newKeys:s,isHorizontal:i,speed:r}){var o;if(!k(t))return;if(!a||!Array.isArray(a.paths)||!(null==e?void 0:e.node))return;const n=new Set(s),l=a.paths.filter(t=>t&&t.d&&null!=t.key&&!n.has(t.key));if(!l.length)return;const h=new w(t),d=null==(o=t.globals.colors)?void 0:o[parseInt(String(a.realIndex),10)];l.forEach(a=>{let s=a.fill||d||"#c8c8c8";0===String(s).indexOf("url(")&&(s=d||"#c8c8c8");const o=h.drawPath({d:a.d,stroke:"none",strokeWidth:0,fill:s,fillOpacity:1,classes:"apexcharts-bar-ghost"}),n=o.node;n.setAttribute("pointer-events","none"),o.attr("clip-path",`url(#gridRectBarMask${t.globals.cuid})`),e.node.insertBefore(n,e.node.firstChild);const l=function(t){const e=/^M\s*([+-]?[\d.eE]+)[\s,]+([+-]?[\d.eE]+)/.exec(t||"");if(!e)return null;const a=parseFloat(e[1]),s=parseFloat(e[2]);return isFinite(a)&&isFinite(s)?{x:a,y:s}:null}(a.d);let c=i?"left center":"center bottom";try{const t=n.getBBox();l&&t&&(c=i?Math.abs(l.x-t.x)<=Math.abs(l.x-(t.x+t.width))?"left center":"right center":Math.abs(l.y-(t.y+t.height))<=Math.abs(l.y-t.y)?"center bottom":"center top")}catch(t){}const u=n.style;u.transformBox="fill-box",u.transformOrigin=c;const b=Math.max(1,r||1),g=performance.now(),p=e=>{if(t.globals.isDestroyed||!n.parentNode)return;const a=Math.max(0,Math.min(1,(e-g)/b)),s=1-Math.pow(1-a,3),r=1-s;u.transform=i?`scaleX(${r})`:`scaleY(${r})`,u.opacity=String(1-s),a<1?I.requestAnimationFrame(p):n.parentNode.removeChild(n)};I.requestAnimationFrame(p)})}class D{constructor(t){this.w=t.w,this.barCtx=t,this.totalFormatter=this.w.config.plotOptions.bar.dataLabels.total.formatter,this.totalFormatter||(this.totalFormatter=this.w.config.dataLabels.formatter)}handleBarDataLabels(t){var e,a;const{x:s,y:i,y1:r,y2:o,i:h,j:d,realIndex:c,columnGroupIndex:u,barHeight:b,barWidth:g,barXPosition:p,barYPosition:x,visibleSeries:f}=t,m=this.w,y=new w(this.barCtx.w),v=m.waterfallData&&m.waterfallData.values,C=v&&v[c]&&null!=v[c][d]?v[c][d]:null,P=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[c]:this.barCtx.strokeWidth;let I,L;m.axisFlags.isXNumeric&&!m.globals.isBarHorizontal?(I=s+g*(f+1),L=i+b*(f+1)-P):(I=s+g*f,L=i+b*f);let k=null,A=null,W=s,F=i,H={};const D=m.config.dataLabels,O=this.barCtx.barOptions.dataLabels,M=this.barCtx.barOptions.dataLabels.total;void 0!==x&&(this.barCtx.isRangeBar||this.barCtx.isPyramid)&&(L=x,F=x),void 0!==p&&this.barCtx.isVerticalGroupedRangeBar&&(I=p,W=p);const R=S(D.offsetX,m,c,d),X=S(D.offsetY,m,c,d);let T={width:0,height:0};if(m.config.dataLabels.enabled){const t=null!==C?C:m.seriesData.series[c][d];T=y.getTextRects(m.config.dataLabels.formatter?m.config.dataLabels.formatter(t,l(n({},m),{seriesIndex:c,dataPointIndex:d,w:m})):m.formatters.yLabelFormatters[0](t),parseFloat(D.style.fontSize).toString(),D.style.fontFamily,void 0,!0,D.style.fontWeight)}const B={x:s,y:i,i:h,j:d,realIndex:c,columnGroupIndex:u,bcx:I,bcy:L,barHeight:b,barWidth:g,textRects:T,strokeWidth:P,dataLabelsX:W,dataLabelsY:F,dataLabelsConfig:D,barDataLabelsConfig:O,barTotalDataLabelsConfig:M,offX:R,offY:X};if(H=this.barCtx.isHorizontal?this.calculateBarsDataLabelsPosition(B):this.calculateColumnsDataLabelsPosition(B),null!==C&&this.barCtx.isHorizontal&&"center"===O.position){const t=null==(a=null==(e=m.waterfallData.geometry)?void 0:e[c])?void 0:a[d];t&&t.horizontal&&(H.dataLabelsX=(t.levelStart+t.levelEnd)/2+R)}return k=this.drawCalculatedDataLabels({x:H.dataLabelsX,y:H.dataLabelsY,val:null!==C?C:this.barCtx.isRangeBar?[r,o]:"100%"===m.config.chart.stackType?m.globals.seriesPercent[c][d]:m.seriesData.series[c][d],i:c,j:d,barWidth:g,barHeight:b,textRects:T,dataLabelsConfig:D}),m.config.chart.stacked&&M.enabled&&(A=this.drawTotalDataLabels({x:H.totalDataLabelsX,y:H.totalDataLabelsY,barWidth:g,barHeight:b,realIndex:c,j:d,textAnchor:H.totalDataLabelsAnchor,val:this.getStackedTotalDataLabel({realIndex:c,j:d}),rawVal:this.getStackedTotalValue({realIndex:c,j:d}),dataLabelsConfig:D,barTotalDataLabelsConfig:M})),{dataLabelsPos:H,dataLabels:k,totalDataLabels:A}}hasMultipleSeriesGroups(){return this.w.labelData.seriesGroups.length>1}getTotalGroupContext(t){if(!this.hasMultipleSeriesGroups())return null;const e=this.barCtx.barHelpers.getSeriesGroupIndex(t);return e<0?null:{groupIndex:e,group:this.w.labelData.seriesGroups[e]}}drawsStackedTotal(t){const e=this.barCtx.lastActiveBarSerieIndexByGroup,a=this.getTotalGroupContext(t);return a&&e&&e.length>a.groupIndex?e[a.groupIndex]===t:this.barCtx.lastActiveBarSerieIndex===t}getStackedTotalValue({realIndex:t,j:e}){const a=this.w,s=this.getTotalGroupContext(t),i=a.seriesData.stackedSeriesTotalsByGroups;return s&&i&&i[s.groupIndex]?i[s.groupIndex][e]:this.barCtx.stackedSeriesTotals[e]}getStackedTotalDataLabel({realIndex:t,j:e}){const a=this.w;let s=this.getStackedTotalValue({realIndex:t,j:e});return this.totalFormatter&&(s=this.totalFormatter(s,l(n({},a),{seriesIndex:t,dataPointIndex:e,w:a}))),s}calculateColumnsDataLabelsPosition(t){const e=this.w;let a,s,{i:i,j:r,realIndex:o,y:n,bcx:l,barWidth:h,barHeight:d,textRects:c,dataLabelsX:u,dataLabelsY:b,dataLabelsConfig:g,barDataLabelsConfig:p,barTotalDataLabelsConfig:x,strokeWidth:f,offX:m,offY:y}=t;const v=l;d=Math.abs(d);const C="vertical"===e.config.plotOptions.bar.dataLabels.orientation,{zeroEncounters:P}=this.barCtx.barHelpers.getZeroValueEncounters({i:i,j:r});l-=f/2;const S=e.layout.gridWidth/e.globals.dataPoints;if(this.barCtx.isVerticalGroupedRangeBar?u+=h/2:(u=e.axisFlags.isXNumeric?l-h/2+m:l-S+h/2+m,!e.config.chart.stacked&&P>0&&e.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(u-=h*P)),C){const t=2;u=u+c.height/2-f/2-t}const I=e.seriesData.series[i][r]<0;let L=n;switch(this.barCtx.isReversed&&(L=n+(I?d:-d)),p.position){case"center":b=C?I?L-d/2+y:L+d/2-y:I?L-d/2+c.height/2+y:L+d/2+c.height/2-y;break;case"bottom":b=C?I?L-d+y:L+d-y:I?L-d+c.height+f+y:L+d-c.height/2+f-y;break;case"top":b=C?I?L+y:L-y:I?L-c.height/2-y:L+c.height+y}let k=L;const A=this.getTotalGroupContext(o);if((A?[A.group]:e.labelData.seriesGroups).forEach(t=>{var e;null==(e=this.barCtx[t.join(",")])||e.prevY.forEach(t=>{k=I?Math.max(t[r],k):Math.min(t[r],k)})}),this.drawsStackedTotal(o)&&x.enabled){const t=18,i=new w(this.barCtx.w).getTextRects(this.getStackedTotalDataLabel({realIndex:o,j:r}),g.fontSize);a=I?k-i.height/2-y-x.offsetY+t:k+i.height+y+x.offsetY-t;const n=S;s=v+(e.axisFlags.isXNumeric?-h/2:h/2-n)+x.offsetX}return e.config.chart.stacked||(b<0?b=0+f:b+c.height/3>e.layout.gridHeight&&(b=e.layout.gridHeight-f)),{bcx:l,bcy:n,dataLabelsX:u,dataLabelsY:b,totalDataLabelsX:s,totalDataLabelsY:a,totalDataLabelsAnchor:"middle"}}calculateBarsDataLabelsPosition(t){var e;const a=this.w;let{x:s,i:i,j:r,realIndex:o,bcy:n,barHeight:l,barWidth:h,textRects:d,dataLabelsX:c,strokeWidth:u,dataLabelsConfig:b,barDataLabelsConfig:g,barTotalDataLabelsConfig:p,offX:x,offY:f}=t;const m=a.layout.gridHeight/a.globals.dataPoints,{zeroEncounters:y}=this.barCtx.barHelpers.getZeroValueEncounters({i:i,j:r});let v,C,P;if(h=Math.abs(h),this.barCtx.isPyramid){v=n+l/2+f-(null!=(e=d.centerOffset)?e:0)}else v=n-(this.barCtx.isRangeBar?0:m)+l/2+d.height/2+f-3;!a.config.chart.stacked&&y>0&&a.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(v-=l*y);let S="start";const I=a.seriesData.series[i][r]<0;let L=s;if(this.barCtx.isReversed&&(L=s+(I?-h:h),S=I?"start":"end"),this.barCtx.isPyramid)c=a.layout.gridWidth/2+x;else switch(g.position){case"center":c=I?L+h/2-x:Math.max(d.width/2,L-h/2)+x;break;case"bottom":c=I?L+h-u-x:L-h+u+x;break;case"top":c=I?L-u-x:L-u+x}let k=L;const A=this.getTotalGroupContext(o);if((A?[A.group]:a.labelData.seriesGroups).forEach(t=>{var e;null==(e=this.barCtx[t.join(",")])||e.prevX.forEach(t=>{k=I?Math.min(t[r],k):Math.max(t[r],k)})}),this.drawsStackedTotal(o)&&p.enabled){const t=new w(this.barCtx.w).getTextRects(this.getStackedTotalDataLabel({realIndex:o,j:r}),b.fontSize);I?(C=k-u-x-p.offsetX,S="end"):C=k+x+p.offsetX+(this.barCtx.isReversed?-(h+u):u),P=v-d.height/2+t.height/2+p.offsetY+u,a.globals.barGroups.length>1&&!A&&(P-=a.globals.barGroups.length/2*(l/2))}if(!a.config.chart.stacked){const t=I&&"middle"!==b.textAnchor?"start"===b.textAnchor?"end":"start":b.textAnchor;let e;e="vertical"===g.orientation?d.height/2:"end"===t?d.width:"middle"===t?d.width/2:0;const s=("vertical"===g.orientation?d.height:d.width)-e;c+s>a.layout.gridWidth-u&&(c=a.layout.gridWidth-s-u),c-e<u&&(c=e+u)}return{bcx:s,bcy:n,dataLabelsX:c,dataLabelsY:v,totalDataLabelsX:C,totalDataLabelsY:P,totalDataLabelsAnchor:S}}drawCalculatedDataLabels({x:t,y:e,val:a,i:s,j:i,textRects:r,barHeight:o,barWidth:h,dataLabelsConfig:d}){var c,u,b;const g=this.w;let p="rotate(0)";"vertical"===g.config.plotOptions.bar.dataLabels.orientation&&(p=`rotate(-90, ${t}, ${e})`);const x=new P(this.barCtx.w,this.barCtx.ctx),f=new w(this.barCtx.w),m=d.formatter;let y=null;const v=g.globals.collapsedSeriesIndices.indexOf(s)>-1,C=(g.globals.collapsingSeriesIndices||[]).indexOf(s)>-1;if(C){const t=null==(c=g.globals.prevDataLabels)?void 0:c.get(`${s}::${A(g,s,i)}`);t&&isFinite(t.val)&&(a=t.val)}if(d.enabled&&(!v||C)){y=f.group({class:"apexcharts-data-labels",transform:p});const c=g.config.dataLabels;((null==(u=c.animate)?void 0:u.enabled)||(null==(b=c.countUp)?void 0:b.enabled))&&(y.node.setAttribute("data:dlKey",`${s}::${A(g,s,i)}`),y.node.setAttribute("data:dlJ",String(i)),"number"==typeof a&&isFinite(a)&&y.node.setAttribute("data:dlVal",String(a)));let v="";void 0!==a&&(v=m(a,l(n({},g),{seriesIndex:s,dataPointIndex:i,w:g}))),!a&&g.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(v="");const w=g.seriesData.series[s][i]<0,P=g.config.plotOptions.bar.dataLabels.position;if("vertical"===g.config.plotOptions.bar.dataLabels.orientation&&("top"===P&&(d.textAnchor=w?"end":"start"),"center"===P&&(d.textAnchor="middle"),"bottom"===P&&(d.textAnchor=w?"end":"start")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels){h<f.getTextRects(v,parseFloat(d.style.fontSize).toString()).width&&(v="")}g.config.chart.stacked&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels&&!C&&(this.barCtx.isHorizontal?r.width/1.6>Math.abs(h)&&(v=""):r.height/1.6>Math.abs(o)&&(v=""));const S=n({},d);this.barCtx.isHorizontal&&a<0&&("start"===d.textAnchor?S.textAnchor="end":"end"===d.textAnchor&&(S.textAnchor="start")),x.plotDataLabelsText({x:t,y:e,text:v,i:s,j:i,parent:y,dataLabelsConfig:S,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return y}drawTotalDataLabels({x:t,y:e,val:a,rawVal:s,realIndex:i,j:r,textAnchor:o,barTotalDataLabelsConfig:n}){var l,h;const d=new w(this.barCtx.w);let c;if(n.enabled&&void 0!==t&&void 0!==e&&this.drawsStackedTotal(i)){c=d.drawText({x:t,y:e,foreColor:n.style.color,text:a,textAnchor:o,fontFamily:n.style.fontFamily,fontSize:n.style.fontSize,fontWeight:n.style.fontWeight}),c.attr({class:"apexcharts-datalabel-total",cx:t,cy:e});const u=this.w.config.dataLabels;if((null==(l=u.animate)?void 0:l.enabled)||(null==(h=u.countUp)?void 0:h.enabled)){const{groupIndex:t}=this.barCtx.barHelpers.getGroupIndex(i);c.node.setAttribute("data:dlTotalKey",`${t}::${A(this.w,i,r)}`),c.node.setAttribute("data:dlTotalSeries",String(i)),"number"==typeof s&&isFinite(s)&&c.node.setAttribute("data:dlTotalVal",String(s))}}return c}}const O=d.__apex_Series,M=d.__apex_Fill;function R(t){var e,a,s,i,r,o,n;return"histogram"===(null==(a=null==(e=null==t?void 0:t.config)?void 0:e.chart)?void 0:a.requestedType)&&(!1!==(null==(i=null==(s=t.config.plotOptions)?void 0:s.histogram)?void 0:i.overlap)&&(null!=(n=null==(o=null==(r=t.seriesData)?void 0:r.series)?void 0:o.length)?n:0)>1)}class X{constructor(t){this.w=t.w,this.barCtx=t}initVariables(t){const e=this.w;this.barCtx.series=t,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(let a=0;a<t.length;a++)if(t[a].length>0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[a].length),e.axisFlags.isXNumeric)for(let s=0;s<t[a].length;s++)e.seriesData.seriesX[a][s]>e.globals.minX&&e.seriesData.seriesX[a][s]<e.globals.maxX&&this.barCtx.visibleItems++;else this.barCtx.visibleItems=e.globals.dataPoints;this.arrBorderRadius=this.createBorderRadiusArr(e.seriesData.series),u.isSafari()&&(this.arrBorderRadius=this.arrBorderRadius.map(t=>t.map(t=>"none"))),0===this.barCtx.seriesLen&&(this.barCtx.seriesLen=1)}barSlotXSpan(){const t=this.w;if(void 0!==this._slotXSpan)return this._slotXSpan;let e=0;if(t.globals.dataPoints<=1){const a=t.globals.maxX-t.globals.minX;e=a>0?a/4:0}else if(e=this._unionMinXGap(),!(e>0&&isFinite(e))){const a=t.globals.minXDiff;e=a>0&&isFinite(a)&&.5!==a?a:0}return this._slotXSpan=e,e}_unionMinXGap(){const t=this.w.seriesData.seriesX||[],e=[];for(let a=0;a<t.length;a++){const s=t[a];Array.isArray(s)&&s.length>0&&e.push(s)}if(!e.length)return 0;const a=new Array(e.length).fill(0);let s=NaN,i=1/0;for(;;){let t=1/0,r=-1;for(let s=0;s<e.length;s++){const i=e[s];for(;a[s]<i.length&&"number"!=typeof i[a[s]];)a[s]++;if(a[s]>=i.length)continue;const o=i[a[s]];o==o?o<t&&(t=o,r=s):(a[s]++,s--)}if(-1===r)break;if(a[r]++,s==s){const e=t-s;e>0&&e<i&&(i=e)}s=t}return isFinite(i)?i:0}initialPositions(t){const e=this.w;let a,s,i,r,o,n,l,h,d=e.globals.dataPoints;this.barCtx.isRangeBar&&(d=e.labelData.labels.length);let c=this.barCtx.seriesLen;if((e.config.plotOptions.bar.rangeBarGroupRows||R(e))&&(c=1),this.barCtx.isHorizontal)i=e.layout.gridHeight/d,o=i/c,e.axisFlags.isXNumeric&&(i=e.layout.gridHeight/this.barCtx.totalItems,o=i/this.barCtx.seriesLen),o=o*parseInt(this.barCtx.barOptions.barHeight,10)/100,-1===String(this.barCtx.barOptions.barHeight).indexOf("%")&&(o=parseInt(this.barCtx.barOptions.barHeight,10)),h=this.barCtx.baseLineInvertedY+e.globals.padHorizontal+(this.barCtx.isReversed?e.layout.gridWidth:0)-(this.barCtx.isReversed?2*this.barCtx.baseLineInvertedY:0),this.barCtx.isFunnel&&(h=e.layout.gridWidth/2),s=(i-o*this.barCtx.seriesLen)/2;else{if(r=e.layout.gridWidth/this.barCtx.visibleItems,e.config.xaxis.convertedCatToNumeric&&(r=e.layout.gridWidth/e.globals.dataPoints),n=r/c*parseInt(this.barCtx.barOptions.columnWidth,10)/100,e.axisFlags.isXNumeric){const t=this.barCtx.xRatio,e=this.barSlotXSpan();e>0&&e/t>0&&(r=e/t),n=r/c*parseInt(this.barCtx.barOptions.columnWidth,10)/100,n<1&&(n=1)}if(-1===String(this.barCtx.barOptions.columnWidth).indexOf("%")&&(n=parseInt(this.barCtx.barOptions.columnWidth,10)),l=e.layout.gridHeight-this.barCtx.baseLineY[this.barCtx.translationsIndex]-(this.barCtx.isReversed?e.layout.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.translationsIndex]:0),e.axisFlags.isXNumeric){a=this.barCtx.getBarXForNumericXAxis({x:a,j:0,realIndex:t,barWidth:n}).x}else a=e.globals.padHorizontal+u.noExponents(r-n*this.barCtx.seriesLen)/2}return e.globals.barHeight=o,e.globals.barWidth=n,{x:a,y:s,yDivision:i,xDivision:r,barHeight:o,barWidth:n,zeroH:l,zeroW:h}}initializeStackedPrevVars(t){t.w.labelData.seriesGroups.forEach(e=>{t[e]||(t[e]={}),t[e].prevY=[],t[e].prevX=[],t[e].prevYF=[],t[e].prevXF=[],t[e].prevYVal=[],t[e].prevXVal=[]})}initializeStackedXYVars(t){t.w.labelData.seriesGroups.forEach(e=>{t[e]||(t[e]={}),t[e].xArrj=[],t[e].xArrjF=[],t[e].xArrjVal=[],t[e].yArrj=[],t[e].yArrjF=[],t[e].yArrjVal=[]})}getPathFillColor(t,e,a,s){var i;const r=this.w,o=new M(this.barCtx.w);let n=null;const l=this.barCtx.barOptions.distributed?a:e;let h=!1;if(this.barCtx.barOptions.colors.ranges.length>0){this.barCtx.barOptions.colors.ranges.map(s=>{t[e][a]>=s.from&&t[e][a]<=s.to&&(n=s.color,h=!0)})}const d=this.getDumbbellConnectorFill(e,a)||(null==(i=r.config.series[e].data[a])?void 0:i.fill),c=this.barCtx.barOptions.isDumbbell?r.config.plotOptions.bar.dumbbell.connector:null;let u;c&&c.color&&(n=c.color,u=c.opacity);return{color:o.fillPath({seriesNumber:this.barCtx.barOptions.distributed?l:s,dataPointIndex:a,color:n,opacity:u,value:t[e][a],fillConfig:d,fillType:(null==d?void 0:d.type)?d.type:Array.isArray(r.config.fill.type)?r.config.fill.type[s]:r.config.fill.type}),useRangeColor:h}}getDumbbellConnectorFill(t,e){const a=this.w;if(!this.barCtx.barOptions.isDumbbell)return null;const s=a.dumbbellData;if(!s||"series"!==s.form)return null;const i=a.config.plotOptions.bar.dumbbell.connector;if(i.color)return null;const r=s.order[e];if(!r)return null;const o=a.globals.colors[r[0]],n=a.globals.colors[r[1]];return o&&n?{type:"gradient",gradient:{type:this.barCtx.isHorizontal?"horizontal":"vertical",gradientFrom:o,gradientTo:n,opacityFrom:i.opacity,opacityTo:i.opacity,stops:[0,100],inverseColors:!this.barCtx.isHorizontal}}:null}getStrokeWidth(t,e,a){let s=0;const i=this.w;return void 0===this.barCtx.series[t][e]||null===this.barCtx.series[t][e]||"bar"===i.config.chart.type&&!this.barCtx.series[t][e]?this.barCtx.isNullValue=!0:this.barCtx.isNullValue=!1,i.config.stroke.show&&(this.barCtx.isNullValue||(s=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[a]:this.barCtx.strokeWidth)),s}getStackedSeriesIndices(t){const e=this.w,a=e.labelData.seriesGroups,s=e.globals.columnSeries?new Set(e.globals.columnSeries.i):null,i=t=>!s||s.has(t);if(!a||a.length<2){const e=Array.from({length:t},(t,e)=>e).filter(i);return e.length?[e]:[]}const r=Array.from({length:a.length},()=>[]),o=[];for(let e=0;e<t;e++){if(!i(e))continue;const t=this.getSeriesGroupIndex(e);t>-1?r[t].push(e):o.push(e)}return o.length&&r.push(o),r.filter(t=>t.length>0)}createBorderRadiusArr(t){var e;const a=this.w,s=!this.w.config.chart.stacked||a.config.plotOptions.bar.borderRadius<=0,i=t.length,r=0|(null==(e=t[0])?void 0:e.length),o=Array.from({length:i},()=>Array(r).fill(s?"top":"none"));if(s)return o;const n="last"===a.config.plotOptions.bar.borderRadiusWhenStacked,l=n?"top":"both",h=n?"bottom":"both",d=n?"none":"bottom",c=n?"none":"top";for(const e of this.getStackedSeriesIndices(i))for(let a=0;a<r;a++){const s=[],i=[];for(const r of e){const e=t[r][a];e>0?s.push(r):e<0&&i.push(r)}if(s.length>0&&0===i.length)if(1===s.length)o[s[0]][a]=l;else{const t=s[0],e=s[s.length-1];for(const i of s)o[i][a]=i===t?d:i===e?"top":"none"}else if(i.length>0&&0===s.length)if(1===i.length)o[i[0]][a]=h;else{const t=Math.min(...i),e=Math.max(...i);for(const s of i)o[s][a]=s===t?c:s===e?"bottom":"none"}else if(s.length>0&&i.length>0){const t=s[s.length-1];for(const e of s)o[e][a]=e===t?"top":"none";const e=Math.max(...i);for(const t of i)o[t][a]=t===e?"bottom":"none"}}return o}barBackground({j:t,i:e,x1:a,x2:s,y1:i,y2:r,elSeries:o}){const n=this.w,l=new w(this.barCtx.w),h=new O(this.barCtx.w).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&h===e){t>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(t%=this.barCtx.barOptions.colors.backgroundBarColors.length);const e=this.barCtx.barOptions.colors.backgroundBarColors[t],h=l.drawRect(void 0!==a?a:0,void 0!==i?i:0,void 0!==s?s:n.layout.gridWidth,void 0!==r?r:n.layout.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,e,this.barCtx.barOptions.colors.backgroundBarOpacity);o.add(h),h.node.classList.add("apexcharts-backgroundBar")}}getColumnPaths({barWidth:t,barXPosition:e,y1:a,y2:s,strokeWidth:i,isReversed:r,series:o,seriesGroup:n,realIndex:l,i:h,j:d,w:c}){var u,b,g;const p=new w(this.barCtx.w);(i=Array.isArray(i)?i[l]:i)||(i=0);let x=t,f=e;(null==(u=c.config.series[l].data[d])?void 0:u.columnWidthOffset)&&(f=e-c.config.series[l].data[d].columnWidthOffset/2,x=t+c.config.series[l].data[d].columnWidthOffset);const m=i/2,y=f+m,v=f+x-m,C=(o[h][d]>=0?1:-1)*(r?-1:1);a+=.001-m*C,s+=.001+m*C;const P=p.line(v,a),S="around"===c.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[l][d]?" Z":" z",I=p.move(y,a)+p.line(y,s)+p.line(v,s)+P+S;let L=I;"none"!==this.arrBorderRadius[l][d]&&(L=p.roundPathCorners(L,c.config.plotOptions.bar.borderRadius));let k=null;const A=null==(g=null==(b=this.barCtx.ctx)?void 0:b.morphTypeChange)?void 0:g.getInitialPathFor(l,d);if(A?k=A:c.globals.previousPaths.length>0&&(k=this.barCtx.getPreviousPath(l,d,L,I)),null==k&&(k=p.move(y,a)+p.line(y,a)+P+P+P+P+P+p.line(y,a)+S),c.config.chart.stacked){let t=this.barCtx;t=this.barCtx[n],t.yArrj.push(s-m*C),t.yArrjF.push(Math.abs(a-s+i*C)),t.yArrjVal.push(this.barCtx.series[h][d])}return{pathTo:L,pathFrom:k,drawnBox:{x1:y,x2:v,y1:a,y2:s}}}getFunnelTrapezoidPaths({barYPosition:t,barHeight:e,series:a,i:s,j:i,realIndex:r,strokeWidth:o,w:n}){var l,h;const d=new w(this.barCtx.w),c=n.layout.gridWidth/2,u=t=>Math.abs(t/this.barCtx.invertedYRatio)/2,b=u(a[s][i]),g=i===a[s].length-1,p="taper"===n.config.plotOptions.funnel.lastShape?"taper":"flat";let x;x=g?"taper"===p?0:b:u(a[s][i+1]);const f=o/2,m=t+f,y=t+e-f,v=c-b,C=c+b,P=c-x,S=c+x,I=d.move(v,m)+d.line(C,m)+d.line(S,y)+d.line(P,y)+" Z";let L=null;const k=null==(h=null==(l=this.barCtx.ctx)?void 0:l.morphTypeChange)?void 0:h.getInitialPathFor(r,i);return k?L=k:n.globals.previousPaths.length>0&&(L=this.barCtx.getPreviousPath(r,i,I)),null==L&&(L=d.move(c,m)+d.line(c,m)+d.line(c,y)+d.line(c,y)+" Z"),{pathTo:I,pathFrom:L,x:C,x1:v,barXPosition:c}}computePyramidLayout(t){const e=this.w,a=e.layout.gridHeight,s=e.layout.gridWidth,i=t.map(t=>Math.abs(Number(t)||0)),r=i.reduce((t,e)=>t+e,0);if(0===r||a<=0)return i.map(()=>({y:0,height:0,topHalf:0,bottomHalf:0}));const o=s/2;let n=0;const l=[];for(let t=0;t<i.length;t++){const e=n/r;n+=i[t];const s=n/r,h=e*a,d=s*a;l.push({y:h,height:d-h,topHalf:e*o,bottomHalf:s*o})}return l}getPyramidPaths({barYPosition:t,barHeight:e,topHalf:a,bottomHalf:s,realIndex:i,j:r,strokeWidth:o,w:n}){var l,h;const d=new w(this.barCtx.w),c=n.layout.gridWidth/2,u=o/2,b=t+u,g=t+e-u,p=c-a,x=c+a,f=c-s,m=c+s,y=d.move(p,b)+d.line(x,b)+d.line(m,g)+d.line(f,g)+" Z";let v=null;const C=null==(h=null==(l=this.barCtx.ctx)?void 0:l.morphTypeChange)?void 0:h.getInitialPathFor(i,r);return C?v=C:n.globals.previousPaths.length>0&&(v=this.barCtx.getPreviousPath(i,r,y)),null==v&&(v=d.move(c,b)+d.line(c,b)+d.line(c,g)+d.line(c,g)+" Z"),{pathTo:y,pathFrom:v,x:x,x1:p,barXPosition:c}}getBarpaths({barYPosition:t,barHeight:e,x1:a,x2:s,strokeWidth:i,isReversed:r,series:o,seriesGroup:n,realIndex:l,i:h,j:d,w:c}){var u,b,g;const p=new w(this.barCtx.w);(i=Array.isArray(i)?i[l]:i)||(i=0);let x=t,f=e;(null==(u=c.config.series[l].data[d])?void 0:u.barHeightOffset)&&(x=t-c.config.series[l].data[d].barHeightOffset/2,f=e+c.config.series[l].data[d].barHeightOffset);const m=i/2,y=x+m,v=x+f-m,C=(o[h][d]>=0?1:-1)*(r?-1:1);a+=.001+m*C,s+=.001-m*C;const P=this.barCtx.isFunnel,S=P?(a+s)/2:a,I=p.line(a,v),L="around"===c.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[l][d]?" Z":" z",k=p.move(a,y)+p.line(s,y)+p.line(s,v)+I+L;let A=k;"none"!==this.arrBorderRadius[l][d]&&(A=p.roundPathCorners(A,c.config.plotOptions.bar.borderRadius));let W=null;const F=null==(g=null==(b=this.barCtx.ctx)?void 0:b.morphTypeChange)?void 0:g.getInitialPathFor(l,d);if(F?W=F:c.globals.previousPaths.length>0&&(W=this.barCtx.getPreviousPath(l,d,A,k)),null==W){const t=P?p.line(S,v):I;W=p.move(S,y)+p.line(S,y)+t+t+t+t+t+p.line(S,y)+L}if(c.config.chart.stacked){let t=this.barCtx;t=this.barCtx[n],t.xArrj.push(s+m*C),t.xArrjF.push(Math.abs(a-s-i*C)),t.xArrjVal.push(this.barCtx.series[h][d])}return{pathTo:A,pathFrom:W,drawnBox:{x1:a,x2:s,y1:y,y2:v}}}getXForValue(t,e,a=!0){let s=a?e:null;return null!=t&&(s=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),s}getYForValue(t,e,a,s=!0){let i=s?e:null;return null!=t&&(i=e-t/this.barCtx.yRatio[a]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[a]:0)),i}getGoalValues(t,e,a,s,i,r){const o=this.w,h=[],d=(s,i)=>{h.push({[t]:"x"===t?this.getXForValue(s,e,!1):this.getYForValue(s,a,r,!1),attrs:i})};if(o.seriesData.seriesGoals[s]&&o.seriesData.seriesGoals[s][i]&&Array.isArray(o.seriesData.seriesGoals[s][i])&&o.seriesData.seriesGoals[s][i].forEach(t=>{d(t.value,t)}),this.barCtx.barOptions.isDumbbell){const e=this.getDumbbellEnds(s,i);if(e.length){const a={strokeHeight:"x"===t?0:o.globals.markers.size[s],strokeWidth:"x"===t?o.globals.markers.size[s]:0,strokeDashArray:0,strokeLineCap:"round"};let r=0,h=0;for(let t=1;t<e.length;t++)e[t].value<e[r].value&&(r=t),e[t].value>e[h].value&&(h=t);const c=o.config.plotOptions.bar.dumbbell.dataLabels;e.forEach((t,e)=>{const o=l(n({},a),{strokeColor:t.color});!c.enabled||e!==r&&e!==h||(o.label={text:this.getDumbbellLabelText(t.value,s,i,t.index),color:c.colorFromMarker?t.color:Array.isArray(c.style.colors)?c.style.colors[t.index]||c.style.colors[0]:c.style.colors,outward:e===r&&r!==h?-1:1}),d(t.value,o)})}}return h}getDumbbellEnds(t,e){const a=this.w,s=[],i=a.dumbbellData;if(i&&"series"===i.form){const t=i.values[e]||[];for(let e=0;e<t.length;e++){const r=t[e];null!==r&&-1===i.hidden.indexOf(e)&&s.push({value:r,color:a.globals.colors[e],index:e})}return s}if(!a.rangeData.seriesRange.length)return s;const r=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:a.globals.colors,o=e=>Array.isArray(r[t])?r[t][e]:r[t];return[{value:a.rangeData.seriesRangeStart[t][e],color:o(0),index:0},{value:a.rangeData.seriesRangeEnd[t][e],color:o(1),index:1}]}getDumbbellLabelText(t,e,a,s){const i=this.w,r=i.config.plotOptions.bar.dumbbell.dataLabels;if("function"==typeof r.formatter)return r.formatter(t,{seriesIndex:e,dataPointIndex:a,endpointIndex:s,w:i});const o=this.barCtx.isHorizontal?i.formatters.xLabelFormatter:i.formatters.yLabelFormatters[0];return"function"==typeof o?o(t,a,i):String(t)}drawGoalLine({barXPosition:t,barYPosition:e,goalX:a,goalY:s,barWidth:i,barHeight:r}){if(!(Array.isArray(a)&&a.length>0||Array.isArray(s)&&s.length>0))return null;const o=new w(this.barCtx.w),n=o.group({class:"apexcharts-bar-goals-groups"});n.node.classList.add("apexcharts-element-hidden"),this.barCtx.w.globals.delayedElements.push({el:n.node}),n.attr("clip-path",`url(#gridRectMarkerMask${this.barCtx.w.globals.cuid})`);let l=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach(t=>{if(t.x>=-1&&t.x<=o.w.layout.gridWidth+1){const a=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:r/2,s=e+a+r/2;l=o.drawLine(t.x,s-2*a,t.x,s,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),n.add(l),t.attrs.label&&n.add(this.drawDumbbellLabel(t.attrs,{x:t.x,y:s-a,horizontal:!0,markerSize:t.attrs.strokeWidth||0}))}}):Array.isArray(s)&&s.forEach(e=>{if(e.y>=-1&&e.y<=o.w.layout.gridHeight+1){const a=void 0!==e.attrs.strokeWidth?e.attrs.strokeWidth:i/2,s=t+a+i/2;l=o.drawLine(s-2*a,e.y,s,e.y,e.attrs.strokeColor?e.attrs.strokeColor:void 0,e.attrs.strokeDashArray,e.attrs.strokeHeight?e.attrs.strokeHeight:2,e.attrs.strokeLineCap),n.add(l),e.attrs.label&&n.add(this.drawDumbbellLabel(e.attrs,{x:s-a,y:e.y,horizontal:!1,markerSize:e.attrs.strokeHeight||0}))}}),n}drawDumbbellLabel(t,e){const a=this.w,s=new w(a),i=a.config.plotOptions.bar.dumbbell.dataLabels,r=e.markerSize/2+i.offset,o=t.label.outward;return s.drawText({x:e.x+(e.horizontal?r*o:0),y:e.y-(e.horizontal?0:r*o),text:t.label.text,textAnchor:e.horizontal?o<0?"end":"start":"middle",dominantBaseline:e.horizontal?"central":o<0?"hanging":"auto",foreColor:t.label.color,fontSize:i.style.fontSize,fontFamily:i.style.fontFamily,fontWeight:i.style.fontWeight,cssClass:"apexcharts-dumbbell-label"})}drawBarShadow({prevPaths:t,currPaths:e,color:a,realIndex:s,j:i}){const r=this.w,{x:o,x1:n,barYPosition:l}=t,{x:h,x1:d,barYPosition:c}=e,b=l+e.barHeight,g=new w(this.barCtx.w),p=new u,x=g.move(n,b)+g.line(o,b)+g.line(h,c)+g.line(d,c)+g.line(n,b)+("around"===r.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[s][i]?" Z":" z");return g.drawPath({d:x,fill:p.shadeColor(.5,u.rgb2hex(a)),stroke:"none",strokeWidth:0,fillOpacity:1,classes:"apexcharts-bar-shadow apexcharts-decoration-element"})}getZeroValueEncounters({i:t,j:e}){var a;const s=this.w;let i=0,r=0;return(s.config.plotOptions.bar.horizontal?s.seriesData.series.map((t,e)=>e):(null==(a=s.globals.columnSeries)?void 0:a.i.map(t=>t))||[]).forEach(a=>{const o=s.globals.seriesPercent[a][e];o&&i++,a<t&&0===o&&r++}),{nonZeroColumns:i,zeroEncounters:r}}getSeriesGroupIndex(t){const e=this.w;return e.labelData.seriesGroups.findIndex(a=>a.indexOf(e.seriesData.seriesNames[t])>-1)}getGroupIndex(t){const e=this.w,a=e.labelData.seriesGroups.findIndex(a=>a.indexOf(e.seriesData.seriesNames[t])>-1),s=this.barCtx.columnGroupIndices;let i=s.indexOf(a);return i<0&&(s.push(a),i=s.length-1),{groupIndex:a,columnGroupIndex:i}}}const T=d.__apex_Filters,B=d.__apex_Animations_computeStagger;class j{static xRatio(t){const e=t.layout.gridWidth||1;return(t.globals.maxX-t.globals.minX)/e}static dataXToPx(t,e){return(e-t.globals.minX)/j.xRatio(t)}static pxToDataX(t,e){return t.globals.minX+e*j.xRatio(t)}static screenXToPlotPx(t,e){const a=t.dom.baseEl,s=a&&a.querySelector(".apexcharts-svg");if(!s)return e-t.layout.translateX;const i=s.getBoundingClientRect(),r=t.globals.svgWidth?i.width/t.globals.svgWidth:1;return(e-i.left)/(r||1)-t.layout.translateX}}class z{constructor(t,e,a){this.ctx=e,this.w=t,this.barOptions=t.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=t.config.stroke.width,this.isNullValue=!1,this.isRangeBar=t.rangeData.seriesRange.length&&this.isHorizontal,this.isVerticalGroupedRangeBar=!t.globals.isBarHorizontal&&t.rangeData.seriesRange.length&&t.config.plotOptions.bar.rangeBarGroupRows,this.isFunnel=this.barOptions.isFunnel,this.isPyramid=this.barOptions.isPyramid,this.pyramidLayout=null,this.xyRatios=a,this.xRatio=0,this.yRatio=[],this.invertedXRatio=0,this.invertedYRatio=0,this.baseLineY=[],this.baseLineInvertedY=0,null!==this.xyRatios&&(this.xRatio=a.xRatio,this.yRatio=a.yRatio,this.invertedXRatio=a.invertedXRatio,this.invertedYRatio=a.invertedYRatio,this.baseLineY=a.baseLineY,this.baseLineInvertedY=a.baseLineInvertedY),this.yaxisIndex=0,this.translationsIndex=0,this.seriesLen=0,this.pathArr=[],this._prevKeyed=null,this._ltCache=null,this._layoutShiftCache=null,this._pathToInterp=null,this.series=[],this.elSeries=null,this.visibleI=0,this.isReversed=!1;const s=new O(this.w);this.lastActiveBarSerieIndex=s.getActiveConfigSeriesIndex("desc",["bar","column"]),this.lastActiveBarSerieIndexByGroup=s.getActiveConfigSeriesIndexByGroup(["bar","column"]),this.columnGroupIndices=[];const i=s.getBarSeriesIndices(),r=new C(this.w);this.stackedSeriesTotals=r.getStackedSeriesTotals(this.w.config.series.map((t,e)=>-1===i.indexOf(e)?e:-1).filter(t=>-1!==t)),this.barHelpers=new X(this)}draw(t,e){var a,s,i;const r=this.w,o=new w(this.w),h=new C(this.w);t=h.getLogSeries(t),this.series=t,this.yRatio=h.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);const d=o.group({class:"apexcharts-bar-series apexcharts-plot-series"});r.config.dataLabels.enabled&&(this.totalItems,this.barOptions.dataLabels.maxItems);for(let h=0,c=0;h<t.length;h++,c++){let b,g;const p=[],x=[],f=r.globals.comboCharts?e[h]:h,{columnGroupIndex:m}=this.barHelpers.getGroupIndex(f),y=o.group({class:"apexcharts-series",rel:h+1,seriesName:u.escapeString(r.seriesData.seriesNames[f]),"data:realIndex":f});O.addCollapsedClassToSeries(this.w,y,f),t[h].length>0&&(this.visibleI=this.visibleI+1),this.yRatio.length>1&&(this.yaxisIndex=r.globals.seriesYAxisReverseMap[f],this.translationsIndex=f);const v=this.translationsIndex;this.isReversed=r.config.yaxis[this.yaxisIndex]&&r.config.yaxis[this.yaxisIndex].reversed,this.isPyramid&&(this.pyramidLayout=this.barHelpers.computePyramidLayout(t[h]));const C=this.barHelpers.initialPositions(f),{y:w,yDivision:P,zeroW:S,x:I,xDivision:L,zeroH:k}=C;let W=C.barHeight,F=C.barWidth;g=w,b=I,this.isHorizontal||x.push(b+(null!=F?F:0)/2);const D=o.group({class:"apexcharts-datalabels","data:realIndex":f});r.globals.delayedElements.push({el:D.node,holdUntilComplete:!(null==(a=r.config.dataLabels.animate)?void 0:a.enabled)&&this.isLengthTransition(f)}),D.node.classList.add("apexcharts-element-hidden");const M=o.group({class:"apexcharts-bar-goals-markers"}),R=o.group({class:"apexcharts-bar-shadows"});r.globals.delayedElements.push({el:R.node}),R.node.classList.add("apexcharts-element-hidden");for(let e=0;e<t[h].length;e++){const a=this.barHelpers.getStrokeWidth(h,e,f);let o=null;const d={indexes:{i:h,j:e,realIndex:f,translationsIndex:v,bc:c},x:b,y:g,strokeWidth:a,elSeries:y};this.isHorizontal?(o=this.drawBarPaths(l(n({},d),{barHeight:W,zeroW:S,yDivision:P})),F=this.series[h][e]/this.invertedYRatio):(o=this.drawColumnPaths(l(n({},d),{xDivision:L,barWidth:F,zeroH:k})),W=this.series[h][e]/this.yRatio[v]);const C=this.barHelpers.getPathFillColor(t,h,e,f);if(this.isFunnel&&!this.isPyramid&&this.barOptions.isFunnel3d&&"trapezoid"!==(null==(s=r.config.plotOptions.funnel)?void 0:s.shape)&&this.pathArr.length&&e>0){const t=this.barHelpers.drawBarShadow({color:"string"==typeof C.color&&-1===(null==(i=C.color)?void 0:i.indexOf("url"))?C.color:u.hexToRgba(r.globals.colors[h]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:o,realIndex:f,j:e});if(R.add(t),r.config.chart.dropShadow.enabled){new T(this.w).dropShadow(t,r.config.chart.dropShadow,f)}}this.pathArr.push(o);const w=this.barHelpers.drawGoalLine({barXPosition:o.barXPosition,barYPosition:o.barYPosition,goalX:o.goalX,goalY:o.goalY,barHeight:W,barWidth:F});w&&M.add(w),g=o.y,b=o.x,e>0&&x.push(b+(null!=F?F:0)/2),p.push(g),this.renderSeries(l(n({realIndex:f,pathFill:C.color},C.useRangeColor?{lineFill:C.color}:{}),{j:e,i:h,columnGroupIndex:m,pathFrom:o.pathFrom,pathTo:o.pathTo,strokeWidth:a,elSeries:y,x:b,y:g,series:t,barHeight:Math.abs(o.barHeight?o.barHeight:W),barWidth:Math.abs(o.barWidth?o.barWidth:F),elDataLabelsWrap:D,elGoalsMarkers:M,elBarShadows:R,visibleSeries:this.visibleI,type:"bar"}))}if(r.globals.seriesXvalues[f]=x,r.globals.seriesYvalues[f]=p,r.globals.previousPaths.length>0){const e=[];for(let a=0;a<t[h].length;a++)e.push(A(r,f,a));H({w:r,elSeries:y,record:this._prevRecord(f),newKeys:e,isHorizontal:this.isHorizontal,speed:r.config.chart.animations.dynamicAnimation.speed})}d.add(y)}return d}renderSeries({realIndex:t,pathFill:e,lineFill:a,j:s,i:i,columnGroupIndex:r,pathFrom:o,pathTo:n,strokeWidth:l,elSeries:h,x:d,y:c,y1:u,y2:b,series:g,barHeight:p,barWidth:x,barXPosition:f,barYPosition:m,elDataLabelsWrap:y,elGoalsMarkers:v,elBarShadows:C,visibleSeries:P,type:S,classes:I}){var L,k,W,F,H,O,M;const R=this.w,X=new w(this.w,this.ctx),j=function(t,e){const a=t&&t.renderer;return a&&a.kind&&"svg"!==a.kind?a:e}(this.ctx,X);let z=!1;const _=this._pathToInterp;if(this._pathToInterp=null,h._bindingsDelegated||(h._bindingsDelegated=!0,X.setupEventDelegation(h,`.apexcharts-${S}-area`)),!a){let e=function(t){const e=R.config.stroke.colors;let a;return Array.isArray(e)&&e.length>0&&(a=e[t],a||(a=""),"function"==typeof a)?a({value:R.seriesData.series[t][s],dataPointIndex:s,w:R}):a};const i="function"==typeof R.globals.stroke.colors[t]?e(t):R.globals.stroke.colors[t];a=this.barOptions.distributed?R.globals.stroke.colors[s]:i}const Y=R.config.chart.animations,$=Y.animateGradually;let G=0,E=0;if($&&!1!==$.enabled&&!(R.globals.dataChanged&&this.isLayoutShift(t))){const t=R.globals.dataPoints||1,e=$.delay||0,a=Math.min(e,.5*Y.speed/Math.max(1,t));E=B({style:"sequential",index:s,baseDelay:a}),R.config.chart.stacked&&!R.globals.dataChanged&&(E+=i*a*.5);G=E/(e||1)}const V=new D(this).handleBarDataLabels({x:d,y:c,y1:u,y2:b,i:i,j:s,series:g,realIndex:t,columnGroupIndex:r,barHeight:p,barWidth:x,barXPosition:f,barYPosition:m,visibleSeries:P});if(E>0){const t=R.config.dataLabels;if((null==(L=t.animate)?void 0:L.enabled)||(null==(k=t.countUp)?void 0:k.enabled)){const t=String(Math.round(E));null==(F=null==(W=V.dataLabels)?void 0:W.node)||F.setAttribute("data:dlDelay",t),null==(O=null==(H=V.totalDataLabels)?void 0:H.node)||O.setAttribute("data:dlDelay",t)}}if(R.globals.isBarHorizontal||(V.dataLabelsPos.dataLabelsX+Math.max(x,R.globals.barPadForNumericAxis)<0||V.dataLabelsPos.dataLabelsX-Math.max(x,R.globals.barPadForNumericAxis)>R.layout.gridWidth)&&(z=!0),R.config.series[i].data[s]&&R.config.series[i].data[s].strokeColor&&(a=R.config.series[i].data[s].strokeColor),this.isNullValue&&-1===R.globals.collapsingSeriesIndices.indexOf(t)&&(e="none"),!z){const r=!0===(null==(M=this.ctx.morphTypeChange)?void 0:M.isActive()),d=r?this.ctx.morphTypeChange.getSpeed():R.config.chart.animations.dynamicAnimation.speed,c=r&&this.ctx.morphTypeChange.claimsTargetMark(t,s);c&&(o=n,G=0);const g=j.renderPaths({i:i,j:s,realIndex:t,pathFrom:o,pathTo:n,stroke:a,strokeWidth:l,strokeLineCap:R.config.stroke.lineCap,fill:e,pathToInterp:_,animationDelay:G,initialSpeed:R.config.chart.animations.speed,dataChangeSpeed:d,className:`apexcharts-${S}-area${I?` ${I}`:""}`,chartType:S,bindEventsOnPaths:!1});g.attr("clip-path",`url(#gridRectBarMask${R.globals.cuid})`),c&&(g.node.setAttribute("opacity","0"),g.node.setAttribute("data-piece-hidden","1"));const f=R.config.forecastDataPoints;f.count>0&&s>=R.globals.dataPoints-f.count&&(g.node.setAttribute("stroke-dasharray",f.dashArray),g.node.setAttribute("stroke-width",f.strokeWidth),g.node.setAttribute("fill-opacity",f.fillOpacity)),void 0!==u&&void 0!==b&&(g.attr("data-range-y1",u),g.attr("data-range-y2",b));new T(this.w).setSelectionFilter(g,t,s),h.add(g),g.attr({cy:V.dataLabelsPos.bcy,cx:V.dataLabelsPos.bcx,j:s,val:R.seriesData.series[i][s],barHeight:p,barWidth:x,"data:pathKey":A(R,t,s)}),"canvas"===j.kind&&(R.globals.barCanvasCoords||(R.globals.barCanvasCoords={}),R.globals.barCanvasCoords[t]||(R.globals.barCanvasCoords[t]={}),R.globals.barCanvasCoords[t][s]={cx:V.dataLabelsPos.bcx,cy:V.dataLabelsPos.bcy,barWidth:x}),null!==V.dataLabels&&y.add(V.dataLabels),V.totalDataLabels&&y.add(V.totalDataLabels),h.add(y),v&&h.add(v),C&&h.add(C)}return h}drawBarPaths({indexes:t,barHeight:e,strokeWidth:a,zeroW:s,x:i,y:r,yDivision:o,elSeries:n}){const l=this.w,h=t.i,d=t.j;let c;if(l.axisFlags.isXNumeric)c=(r=(l.seriesData.seriesX[h][d]-l.globals.minX)/this.invertedXRatio-e)+e*this.visibleI;else if(l.config.plotOptions.bar.hideZeroBarsWhenGrouped){const{nonZeroColumns:t,zeroEncounters:a}=this.barHelpers.getZeroValueEncounters({i:h,j:d});t>0&&(e=this.seriesLen*e/t),c=r+e*this.visibleI,c-=e*a}else c=r+e*this.visibleI;const u=this.isFunnel&&"trapezoid"===l.config.plotOptions.funnel.shape,b=this.isPyramid&&this.pyramidLayout?this.pyramidLayout[d]:null,g=!!b;if(b)c=b.y,e=b.height;else if(this.isFunnel&&!u){const t=null!=s?s:0;s=t-(this.barHelpers.getXForValue(this.series[h][d],t)-t)/2}let p;return i=this.barHelpers.getXForValue(this.series[h][d],null!=s?s:0),p=b?this.barHelpers.getPyramidPaths({barYPosition:c,barHeight:e,topHalf:b.topHalf,bottomHalf:b.bottomHalf,realIndex:t.realIndex,j:d,strokeWidth:a,w:l}):u?this.barHelpers.getFunnelTrapezoidPaths({barYPosition:c,barHeight:e,series:this.series,i:h,j:d,realIndex:t.realIndex,strokeWidth:a,w:l}):this.barHelpers.getBarpaths({barYPosition:c,barHeight:e,x1:s,x2:i,strokeWidth:a,isReversed:this.isReversed,series:this.series,realIndex:t.realIndex,i:h,j:d,w:l}),(u||g)&&(s=p.x1,i=p.x),l.axisFlags.isXNumeric||g||(r+=o),g&&(r=c),this.barHelpers.barBackground({j:d,i:h,y1:c-e*this.visibleI,y2:e*this.seriesLen,elSeries:n}),{pathTo:p.pathTo,pathFrom:p.pathFrom,x1:s,x:i,y:r,goalX:this.barHelpers.getGoalValues("x",s,null,t.realIndex,d,0),barYPosition:c,barHeight:e}}drawColumnPaths({indexes:t,x:e,y:a,xDivision:s,barWidth:i,zeroH:r,strokeWidth:o,elSeries:n}){const l=this.w,h=t.realIndex,d=t.translationsIndex,c=t.i,u=t.j,b=t.bc;let g;if(l.axisFlags.isXNumeric){const t=this.getBarXForNumericXAxis({x:e,j:u,realIndex:h,barWidth:i});e=t.x,g=t.barXPosition}else if(l.config.plotOptions.bar.hideZeroBarsWhenGrouped){const{nonZeroColumns:t,zeroEncounters:a}=this.barHelpers.getZeroValueEncounters({i:c,j:u});t>0&&(i=this.seriesLen*i/t),g=e+i*this.visibleI,g-=i*a}else g=e+i*this.visibleI;a=this.barHelpers.getYForValue(this.series[c][u],r,d);const p=this.barHelpers.getColumnPaths({barXPosition:g,barWidth:i,y1:r,y2:a,strokeWidth:o,isReversed:this.isReversed,series:this.series,realIndex:h,i:c,j:u,w:l});return l.axisFlags.isXNumeric||(e+=s),this.barHelpers.barBackground({bc:b,j:u,i:c,x1:g-o/2-i*this.visibleI,x2:i*this.seriesLen+o/2,elSeries:n}),{pathTo:p.pathTo,pathFrom:p.pathFrom,x:e,y:a,goalY:this.barHelpers.getGoalValues("y",null,r,h,u,d),barXPosition:g,barWidth:i}}getBarXForNumericXAxis({x:t,barWidth:e,realIndex:a,j:s}){const i=this.w;let r=a;return i.seriesData.seriesX[a].length||(r=i.globals.maxValsInArrayIndex),u.isNumber(i.seriesData.seriesX[r][s])&&(t=j.dataXToPx(i,i.seriesData.seriesX[r][s])-e*this.seriesLen/2),{barXPosition:t+(R(i)?0:e*this.visibleI),x:t}}_prevRecord(t){const e=this.w;let a=null;for(let s=0;s<e.globals.previousPaths.length;s++){const i=e.globals.previousPaths[s];i.paths&&i.paths.length>0&&parseInt(i.realIndex,10)===parseInt(String(t),10)&&(a=i)}return a}_prevKeyedPaths(t){if(this._prevKeyed||(this._prevKeyed={}),void 0!==this._prevKeyed[t])return this._prevKeyed[t];const e=this._prevRecord(t);let a=null;if(e&&e.paths.every(t=>null!=t.key)){const t=new Map;e.paths.forEach(e=>{t.set(e.key,e)}),a=t}return this._prevKeyed[t]=a,a}isLengthTransition(t){var e,a;if(this._ltCache||(this._ltCache={}),void 0!==this._ltCache[t])return this._ltCache[t];const s=this.w;let i=!1;if(k(s)&&s.globals.previousPaths.length>0){const r=this._prevRecord(t),o=null!=(a=null==(e=s.seriesData.series[t])?void 0:e.length)?a:0;if(r)if(r.paths.length!==o)i=!0;else{const e=this._prevKeyedPaths(t);if(e)for(let a=0;a<o;a++)if(!e.has(A(s,t,a))){i=!0;break}}else i=o>0}return this._ltCache[t]=i,i}isLayoutShift(t){if(this.isLengthTransition(t))return!0;if(this._layoutShiftCache||(this._layoutShiftCache={}),void 0!==this._layoutShiftCache[t])return this._layoutShiftCache[t];const e=F(this.w,t,!0,!0),a=!(!e||!e.join.changed);return this._layoutShiftCache[t]=a,a}getPreviousPath(t,e,a,s){const i=this.w;this._pathToInterp=null;const r=this._prevRecord(t);if(!r)return k(i)?null:a;let o=null,n=!1;const l=this._prevKeyedPaths(t);if(l){const a=l.get(A(i,t,e));a?o=a.d:n=!0}else void 0!==r.paths[e]?o=r.paths[e].d:n=!0;if(o){const t=z.pathCommandCount(o),e=z.pathCommandCount(a);if(t===e)return o;const r=new w(i),n=t=>{const e=z.pathBox(t);return e?Math.min(e.maxX-e.minX,e.maxY-e.minY):0},l=t<e?n(o)>1:n(a)>1;if(t<e){const t=r.roundPathCorners(o,0);if(z.pathCommandCount(t)===e){if(l&&s){const t=r.roundPathCorners(s,0);z.pathCommandCount(t)===e&&(this._pathToInterp=t)}return t}}else{const e=r.roundPathCorners(a,0);if(z.pathCommandCount(e)===t){if(this._pathToInterp=e,l){const e=z.squareLike(o),a=e?r.roundPathCorners(e,0):null;if(a&&z.pathCommandCount(a)===t)return a}return o}}}return n&&k(i)?null:a}static pathBox(t){if(!t)return null;const e=[],a=/([MLC])([^MLCZz]*)/g;let s;for(;null!==(s=a.exec(t));){const t=s[2].trim().split(/[\s,]+/).map(Number);t.length<2||t.some(isNaN)||e.push([t[t.length-2],t[t.length-1]])}if(e.length<3)return null;const i=e.map(t=>t[0]),r=e.map(t=>t[1]);return{minX:Math.min(...i),maxX:Math.max(...i),minY:Math.min(...r),maxY:Math.max(...r),start:e[0],vertical:Math.abs(e[1][0]-e[0][0])<Math.abs(e[1][1]-e[0][1])}}static squareLike(t){const e=z.pathBox(t);if(!e)return null;const{minX:a,maxX:s,minY:i,maxY:r,start:o,vertical:n}=e,l=(t,e,a)=>Math.abs(t-e)<=Math.abs(t-a)?[e,a]:[a,e];let h,d,c,u;n?(h=Math.abs(o[0]-a)<=Math.abs(o[0]-s)?a:s,d=h===a?s:a,[c,u]=l(o[1],i,r)):(c=Math.abs(o[1]-i)<=Math.abs(o[1]-r)?i:r,u=c===i?r:i,[h,d]=l(o[0],a,s));const b=t.trim().endsWith("Z")?" Z":" z";return n?`M ${h} ${c} L ${h} ${u} L ${d} ${u} L ${d} ${c}${b}`:`M ${h} ${c} L ${d} ${c} L ${d} ${u} L ${h} ${u}${b}`}getPreviousFlip(t,e){const a=this.w,s=this._prevRecord(t);if(!s)return null;const i=this._prevKeyedPaths(t),r=i?i.get(A(a,t,e)):s.paths[e];return r?!!r.flip:null}static pathCommandCount(t){if(!t)return 0;const e=t.match(/[A-Za-z]/g);return e?e.length:0}}const _=t=>{const e=function(t){const e=[];let a=t[0],s=t[1],i=e[0]=$(a,s),r=1;for(let o=t.length-1;r<o;r++)a=s,s=t[r+1],e[r]=.5*(i+(i=$(a,s)));return e[r]=i,e}(t),a=t.length-1,s=[];let i,r,o,n;for(let s=0;s<a;s++)o=$(t[s],t[s+1]),Math.abs(o)<1e-6?e[s]=e[s+1]=0:(i=e[s]/o,r=e[s+1]/o,n=i*i+r*r,n>9&&(n=3*o/Math.sqrt(n),e[s]=n*i,e[s+1]=n*r));for(let i=0;i<=a;i++)n=(t[Math.min(a,i+1)][0]-t[Math.max(0,i-1)][0])/(6*(1+e[i]*e[i])),s.push([n||0,e[i]*n||0]);return s},Y={points(t){const e=_(t),a=t[1],s=t[0],i=[],r=e[1],o=e[0];i.push(s,[s[0]+o[0],s[1]+o[1],a[0]-r[0],a[1]-r[1],a[0],a[1]]);for(let a=2,s=e.length;a<s;a++){const s=t[a],r=e[a];i.push([s[0]-r[0],s[1]-r[1],s[0],s[1]])}return i},slice(t,e,a){const s=t.slice(e,a);if(e){if(a-e>1&&s[1].length<6){const t=s[0].length;s[1]=[2*s[0][t-2]-s[0][t-4],2*s[0][t-1]-s[0][t-3]].concat(s[1])}s[0]=s[0].slice(-2)}return s}};function $(t,e){return(e[1]-t[1])/(e[0]-t[0])}function G({graphics:t,w:e,elSeries:a,pointsByCat:s,options:i,distributed:r,realIndex:o,wrapClass:n,pointClass:l}){if(!i||!1===i.show||!s.length)return;const h=null!=i.opacity?i.opacity:.9,d=null!=i.strokeColor?i.strokeColor:"#fff",c=null!=i.strokeWidth?i.strokeWidth:1,u=e.config.chart.animations.enabled&&!e.globals.resized&&!e.globals.dataChanged,b=t.group({class:u?`${n} apexcharts-element-hidden`:n});u&&e.globals.delayedElements.push({el:b.node}),s.forEach(({groups:a,j:s})=>{const n=r?e.globals.colors[s]:e.globals.colors[o],u=i.fillColor,g="series"===u?n:"series-dark"===u?E(n,.45):u||E(n,.45);a.forEach(a=>{const i=t.drawPath({d:a.d,fill:null!=a.fill?a.fill:g,stroke:c>0?d:"none",strokeWidth:c,fillOpacity:h,classes:l});i.attr("data:realIndex",o),i.attr("j",s),i.attr("clip-path",`url(#gridRectBarMask${e.globals.cuid})`),i.node.style.pointerEvents="none",b.add(i)})}),a.add(b)}function E(t,e){const a=u.parseHex(t);if(!a)return t;const s=Math.max(0,1-e);return`rgb(${Math.round(a[0]*s)},${Math.round(a[1]*s)},${Math.round(a[2]*s)})`}function V(t,e){if(!t.length)return"#000";if(1===t.length)return t[0];const a=Math.max(0,Math.min(1,e))*(t.length-1),s=Math.floor(a),i=a-s,r=u.parseHex(t[s])||[0,0,0],o=u.parseHex(t[Math.min(s+1,t.length-1)])||r,n=(t,e)=>Math.round(t+(e-t)*i);return`rgb(${n(r[0],o[0])},${n(r[1],o[1])},${n(r[2],o[2])})`}function N(t){let e=(2654435769^t)>>>0;return e=Math.imul(e^e>>>16,73244475),e=Math.imul(e^e>>>16,73244475),((e^e>>>16)>>>0)/4294967296}function Z(t,e,a){return`M ${t-a} ${e} a ${a} ${a} 0 1 0 ${2*a} 0 a ${a} ${a} 0 1 0 ${-2*a} 0 `}function K(t,e,a){return`M ${t-a} ${e-a} h ${2*a} v ${2*a} h ${-2*a} z `}function q(t){const e=[];for(let a=0;a<t.length;a+=2)e.push(t[a+1],t[a]);return e}function U(t){return"right"===t||"bottom"===t?1:"left"===t||"top"===t?-1:0}function J(t,e){let a=e;if("string"==typeof t&&t.trim().endsWith("%")){const e=parseFloat(t);isFinite(e)&&(a=e/100)}else"number"==typeof t&&isFinite(t)&&(a=t);return Math.min(.5,Math.max(0,a))}function Q({halfExtent:t,cloudSign:e,rainSign:a,boxFrac:s,rainFrac:i}){const r=s*t,o=0===a?t:i*t,n=0===a?0:a*(t-o);if(0===e)return{cloudBaseOff:0,cloudMaxPx:t,boxCenterOff:0,boxHalfPx:r,rainCenterOff:n,rainHalfPx:o};const l=0===a?0:i,h=2*Math.max(0,1-l-s)*t,d=e*(t-h);return{cloudBaseOff:d,cloudMaxPx:h,boxCenterOff:d-e*r,boxHalfPx:r,rainCenterOff:n,rainHalfPx:o}}d.default.use({violin:class extends z{draw(t,e,a){var s;const i=this.w,r=new w(this.w),o=new M(this.w);this.violinOptions=i.config.plotOptions.violin,this.pointsOptions=this.violinOptions.points,this.boxOptions=this.violinOptions.box||{},this.cloudSign=U(this.violinOptions.side),this.rainSign=!1===this.pointsOptions.show?0:U(this.pointsOptions.position),this.boxShown=!0===this.boxOptions.show,this.boxFrac=this.boxShown?J(this.boxOptions.width,.15):0,this.rainFrac=J(this.pointsOptions.laneWidth,.4),this.bandwidthScale=this.violinOptions.bandwidthScale||1,this.normalize=this.violinOptions.normalize||"individual",this.distributed=i.config.plotOptions.bar.distributed,this.isHorizontal=i.config.plotOptions.bar.horizontal,this.coreUtils=new C(this.w),t=this.coreUtils.getLogSeries(t),this.series=t,this.yRatio=this.coreUtils.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);const n=r.group({class:"apexcharts-violin-series apexcharts-plot-series"});for(let e=0;e<t.length;e++){let l,h;const d=[],c=[],b=i.globals.comboCharts?a[e]:e,{columnGroupIndex:g}=this.barHelpers.getGroupIndex(b),p=r.group({class:"apexcharts-series",seriesName:u.escapeString(i.seriesData.seriesNames[b]),rel:e+1,"data:realIndex":b});O.addCollapsedClassToSeries(this.w,p,b),t[e].length>0&&(this.visibleI=this.visibleI+1);let x=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[b][0],x=b);const f=this.barHelpers.initialPositions(b),{y:m,barHeight:y,yDivision:v,zeroW:C,x:w,barWidth:P,xDivision:S,zeroH:I}=f;h=m,l=w,c.push(l+(null!=P?P:0)/2);const L=r.group({class:"apexcharts-datalabels","data:realIndex":b});if(this.seriesMaxWeight=0,"group"===this.normalize){(i.violinData.seriesViolinDensity[b]||[]).forEach(t=>{t&&t.maxWeight>this.seriesMaxWeight&&(this.seriesMaxWeight=t.maxWeight)})}const k=[];for(let a=0;a<i.globals.dataPoints;a++){const r=this.barHelpers.getStrokeWidth(e,a,b),n=this.isHorizontal?this.drawHorizontalViolin({indexes:{i:e,j:a,realIndex:b,translationsIndex:x},y:h,yDivision:v,barHeight:y,zeroW:C}):this.drawVerticalViolin({indexes:{i:e,j:a,realIndex:b,translationsIndex:x},x:l,xDivision:S,barWidth:P,zeroH:I});l=n.x,h=n.y,a>0&&c.push(n.center),d.push(n.alongRepresentative);const u=this.buildPointsSubPath({realIndex:b,j:a,center:n.center,halfExtent:n.halfExtent,alongFn:n.alongFn,density:n.density,maxWeight:n.maxWeight,cloudBase:n.cloudBase,cloudMaxPx:n.cloudMaxPx,rainCenter:n.rainCenter,rainHalfPx:n.rainHalfPx});u.length&&k.push({groups:u,j:a});const f=o.fillPath({seriesNumber:this.distributed?a:b,dataPointIndex:a,color:this.distributed?i.globals.colors[a]:void 0,value:t[e][a]});this.renderSeries({realIndex:b,pathFill:f,lineFill:i.globals.stroke.colors[b],j:a,i:e,pathFrom:n.pathFrom,pathTo:n.pathTo,strokeWidth:r,elSeries:p,x:l,y:h,series:t,columnGroupIndex:g,barHeight:y,barWidth:P,elDataLabelsWrap:L,visibleSeries:this.visibleI,type:"violin"});const m=p.node.querySelector(`path.apexcharts-violin-area[j='${a}']`);if(m&&isFinite(n.alongRepresentative)&&m.setAttribute(this.isHorizontal?"cx":"cy",`${n.alongRepresentative}`),n.boxPaths){const r=null!=(s=this.boxOptions.strokeWidth)?s:1;n.boxPaths.forEach(s=>{this.renderSeries({realIndex:b,pathFill:s.filled?this.boxOptions.fillColor||f:"none",lineFill:i.globals.stroke.colors[b],j:a,i:e,pathFrom:s.pathFrom,pathTo:s.pathTo,strokeWidth:r,elSeries:p,x:l,y:h,series:t,columnGroupIndex:g,barHeight:y,barWidth:P,elDataLabelsWrap:L,visibleSeries:this.visibleI,type:"violin",classes:"apexcharts-raincloud-box"})})}}G({graphics:r,w:i,elSeries:p,pointsByCat:k,options:this.pointsOptions,distributed:this.distributed,realIndex:b,wrapClass:"apexcharts-violin-points-wrap",pointClass:"apexcharts-violin-points"}),i.globals.seriesXvalues[b]=c,i.globals.seriesYvalues[b]=d,n.add(p)}return n}drawVerticalViolin({indexes:t,x:e,xDivision:a,barWidth:s,zeroH:i}){var r,o,n,l,h,d,c;const u=this.w,{realIndex:b,j:g,translationsIndex:p}=t,x=this.yRatio[p];u.axisFlags.isXNumeric&&(e=(u.seriesData.seriesX[b][g]-u.globals.minX)/this.xRatio-s/2);const f=e+s*this.visibleI+s/2,m=s/2,y=this.getDensity(b,g),v=this.effectiveMaxWeight(y),C=t=>i-this.logVal(t,b)/x,w=Q({halfExtent:m,cloudSign:null!=(r=this.cloudSign)?r:0,rainSign:null!=(o=this.rainSign)?o:0,boxFrac:null!=(n=this.boxFrac)?n:0,rainFrac:null!=(l=this.rainFrac)?l:0}),P=f+w.cloudBaseOff,S=this.buildBodyPath({nodes:y.nodes,center:P,halfExtent:w.cloudMaxPx,maxWeight:v,vertical:!0,alongFn:C,collapsed:!1,sideSign:this.cloudSign});let I=null;const L=null==(d=null==(h=this.ctx)?void 0:h.morphTypeChange)?void 0:d.getInitialPathFor(b,g);return L?I=L:u.globals.previousPaths.length>0&&(I=this.getPreviousPath(b,g,S)),null==I&&(I=this.buildBodyPath({nodes:y.nodes,center:P,halfExtent:w.cloudMaxPx,maxWeight:v,vertical:!0,alongFn:C,collapsed:!0,sideSign:this.cloudSign})),u.axisFlags.isXNumeric||(e+=a),{pathTo:S,pathFrom:I,x:e,y:i,center:f,halfExtent:m,alongFn:C,density:y,maxWeight:v,cloudBase:P,cloudMaxPx:w.cloudMaxPx,rainCenter:f+w.rainCenterOff,rainHalfPx:w.rainHalfPx,boxPaths:this.buildBoxSubPaths({realIndex:b,j:g,boxCenter:f+w.boxCenterOff,boxHalfPx:w.boxHalfPx,alongFn:C,vertical:!0}),alongRepresentative:C(null!=(c=this.series[t.i][g])?c:0)}}drawHorizontalViolin({indexes:t,y:e,yDivision:a,barHeight:s,zeroW:i}){var r,o,n,l,h,d,c;const u=this.w,{realIndex:b,j:g}=t,p=this.invertedYRatio;u.axisFlags.isXNumeric&&(e=(u.seriesData.seriesX[b][g]-u.globals.minX)/this.invertedXRatio-s/2);const x=e+s*this.visibleI+s/2,f=s/2,m=this.getDensity(b,g),y=this.effectiveMaxWeight(m),v=t=>i+this.logVal(t,b)/p,C=Q({halfExtent:f,cloudSign:null!=(r=this.cloudSign)?r:0,rainSign:null!=(o=this.rainSign)?o:0,boxFrac:null!=(n=this.boxFrac)?n:0,rainFrac:null!=(l=this.rainFrac)?l:0}),w=x+C.cloudBaseOff,P=this.buildBodyPath({nodes:m.nodes,center:w,halfExtent:C.cloudMaxPx,maxWeight:y,vertical:!1,alongFn:v,collapsed:!1,sideSign:this.cloudSign});let S=null;const I=null==(d=null==(h=this.ctx)?void 0:h.morphTypeChange)?void 0:d.getInitialPathFor(b,g);return I?S=I:u.globals.previousPaths.length>0&&(S=this.getPreviousPath(b,g,P)),null==S&&(S=this.buildBodyPath({nodes:m.nodes,center:w,halfExtent:C.cloudMaxPx,maxWeight:y,vertical:!1,alongFn:v,collapsed:!0,sideSign:this.cloudSign})),u.axisFlags.isXNumeric||(e+=a),{pathTo:P,pathFrom:S,x:i,y:e,center:x,halfExtent:f,alongFn:v,maxWeight:y,density:m,cloudBase:w,cloudMaxPx:C.cloudMaxPx,rainCenter:x+C.rainCenterOff,rainHalfPx:C.rainHalfPx,boxPaths:this.buildBoxSubPaths({realIndex:b,j:g,boxCenter:x+C.boxCenterOff,boxHalfPx:C.boxHalfPx,alongFn:v,vertical:!1}),alongRepresentative:v(null!=(c=this.series[t.i][g])?c:0)}}getDensity(t,e){var a;const s=null==(a=this.w.violinData.seriesViolinDensity[t])?void 0:a[e];if(!s||!s.values.length)return{nodes:[],maxWeight:0};const i=s.values.map((t,e)=>e);i.sort((t,e)=>s.values[t]-s.values[e]);const r=[];let o=null;for(const t of i){const e=s.values[t];null!==o&&e===o||(r.push({v:e,w:s.weights[t]}),o=e)}return{nodes:r,maxWeight:s.maxWeight}}effectiveMaxWeight(t){return"group"===this.normalize&&this.seriesMaxWeight>0?this.seriesMaxWeight:t.maxWeight}buildBodyPath({nodes:t,center:e,halfExtent:a,maxWeight:s,vertical:i,alongFn:r,collapsed:o,sideSign:n=0}){const l=new w(this.w);if(0===t.length){const t=r(0);return i?l.move(e,t)+l.line(e,t):l.move(t,e)+l.line(t,e)}const h=t=>{if(o||s<=0)return 0;const e=t/s*a*this.bandwidthScale;return Math.min(a,Math.max(0,e))},d=[],c=[];for(let a=0;a<t.length;a++){const s=r(t[a].v),o=h(t[a].w),l=0===n?e+o:e+n*o,u=0===n?e-o:e;i?(d.push([l,s]),c.push([u,s])):(d.push([s,l]),c.push([s,u]))}return c.reverse(),this.smoothSegment(d,i,!1)+this.smoothSegment(c,i,!0)+"z"}buildBoxSubPaths({realIndex:t,j:e,boxCenter:a,boxHalfPx:s,alongFn:i,vertical:r}){var o,n;const l=this.w;if(!this.boxShown||s<=0)return null;const h=null==(o=l.violinData.seriesViolinSummary[t])?void 0:o[e];if(!h)return null;const d=s*Math.min(1,Math.max(0,null!=(n=this.boxOptions.capWidth)?n:.5)),[c,u,b,g,p]=h.map(t=>i(t)),x=(t,e)=>{const s=new w(this.w),i=(t,e)=>r?[t,e]:[e,t],o=t=>t.map(([t,e],a)=>0===a?s.move(t,e):s.line(t,e)).join(""),n=a;return{whiskers:o([i(n,c),i(n,u)])+o([i(n,g),i(n,p)])+o([i(n-t,c),i(n+t,c)])+o([i(n-t,p),i(n+t,p)]),box:o([i(n-e,u),i(n+e,u),i(n+e,g),i(n-e,g)])+"z"+o([i(n-e,b),i(n+e,b)])}},f=x(d,s),m=x(0,0),y=(a,s)=>{let i=null;return l.globals.previousPaths.length>0&&(i=this.getPreviousPath(t,e,a)),null==i?s:i};return[{pathTo:f.whiskers,pathFrom:y(f.whiskers,m.whiskers),filled:!1},{pathTo:f.box,pathFrom:y(f.box,m.box),filled:!0}]}smoothSegment(t,e,a){const s=new w(this.w),i=t[0];let r=a?s.line(i[0],i[1]):s.move(i[0],i[1]);if(t.length<3||!this.strictlyMonotonic(t,e)){for(let e=1;e<t.length;e++)r+=s.line(t[e][0],t[e][1]);return r}const o=t.map(([t,a])=>e?[a,t]:[t,a]),n=Y.points(o);return r+=(t=>{let e="";for(let a=0;a<t.length;a++){const s=t[a],i=s.length;i>4?(e+=`C${s[0]}, ${s[1]}`,e+=`, ${s[2]}, ${s[3]}`,e+=`, ${s[4]}, ${s[5]}`):i>2&&(e+=`S${s[0]}, ${s[1]}`,e+=`, ${s[2]}, ${s[3]}`)}return e})(e?n.map(q):n),r}strictlyMonotonic(t,e){const a=e?1:0;for(let e=1;e<t.length;e++)if(t[e][a]===t[e-1][a])return!1;return!0}buildPointsSubPath({realIndex:t,j:e,center:a,halfExtent:s,alongFn:i,density:r,maxWeight:o,cloudBase:n,cloudMaxPx:l,rainCenter:h,rainHalfPx:d}){var c;const u=0!==this.rainSign,b=u?h:0!==this.cloudSign?n:a,g=u?d:0!==this.cloudSign?l:s;return function({w:t,points:e,seedA:a,seedB:s,center:i,halfExtent:r,alongFn:o,isHorizontal:n,options:l,clampAt:h,sideSign:d}){const c=l;if(!c||!1===c.show)return[];if(!e||!e.length)return[];const u=c.maxPoints||3e3,b=e.length>u?Math.ceil(e.length/u):1,g=null!=c.size?c.size:2.5,p=r*(null!=c.jitter?c.jitter:.5),x=!1!==c.constrainToViolin&&"function"==typeof h,f="square"===c.shape,m=c.colorScale,y=m&&Array.isArray(m.colors)&&m.colors.length>0,v=y?Math.max(2,m.steps||24):1,C=y&&null!=m.min?m.min:t.globals.minY,w=(y&&null!=m.max?m.max:t.globals.maxY)-C||1,P=y?new Array(v).fill(""):[""];for(let t=0;t<e.length;t+=b){const r=e[t],l=o(r);let c=2*(N(7919*a+100003*s+t)-.5)*p;if(x){const t=h(r);c>t&&(c=t),c<-t&&(c=-t)}d&&(c=Math.abs(c)*d);const u=n?l:i+c,b=n?i+c:l,m=f?K(u,b,g):Z(u,b,g);if(y){let t=(r-C)/w;t<0&&(t=0),t>1&&(t=1),P[Math.round(t*(v-1))]+=m}else P[0]+=m}if(!y)return P[0]?[{fill:null,d:P[0]}]:[];const S=[];for(let t=0;t<v;t++)P[t]&&S.push({fill:V(m.colors,t/(v-1)),d:P[t]});return S}({w:this.w,points:null==(c=this.w.violinData.seriesViolinPoints[t])?void 0:c[e],seedA:t,seedB:e,center:b,halfExtent:g,alongFn:i,isHorizontal:this.isHorizontal,options:this.pointsOptions,clampAt:u?null:t=>this.halfWidthAtValue(t,r,g,o),sideSign:u?0:this.cloudSign})}halfWidthAtValue(t,e,a,s){const{nodes:i}=e,r=null!=s?s:e.maxWeight;if(!i.length||r<=0)return 0;const o=t=>Math.min(a,t/r*a*this.bandwidthScale);if(t<=i[0].v)return o(i[0].w);if(t>=i[i.length-1].v)return o(i[i.length-1].w);for(let e=1;e<i.length;e++)if(t<=i[e].v){const a=i[e-1],s=i[e],r=s.v===a.v?0:(t-a.v)/(s.v-a.v);return o(a.w+(s.w-a.w)*r)}return 0}logVal(t,e){return this.coreUtils.getLogValAtSeriesIndex(t,e)}}}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>d.default});
|
package/dist/raincloud.esm.js
CHANGED
|
@@ -18,7 +18,7 @@ var __spreadValues = (a, b) => {
|
|
|
18
18
|
};
|
|
19
19
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
20
|
/*!
|
|
21
|
-
* ApexCharts v7.
|
|
21
|
+
* ApexCharts v7.4.0
|
|
22
22
|
* (c) 2018-2026 ApexCharts
|
|
23
23
|
*/
|
|
24
24
|
import * as _core from "apexcharts/core";
|
|
@@ -1485,6 +1485,14 @@ class Helpers {
|
|
|
1485
1485
|
* second at the top, and nothing else touched. Stacked totals already resolve
|
|
1486
1486
|
* per group (see drawsStackedTotal, #4173); corners never got the same fix.
|
|
1487
1487
|
*
|
|
1488
|
+
* plotOptions.bar.borderRadiusWhenStacked picks which ends round: 'all'
|
|
1489
|
+
* caps both the baseline and the far end, 'last' only the far end (#4845).
|
|
1490
|
+
*
|
|
1491
|
+
* A single-data-point chart used to hand its baseline segment 'top' (and a
|
|
1492
|
+
* solo segment 'top' instead of 'both'), which on a horizontal stack rounded
|
|
1493
|
+
* the first segment on its INNER edge and left a pill in the middle of the
|
|
1494
|
+
* bar (#4845). One data point is resolved like any other now.
|
|
1495
|
+
*
|
|
1488
1496
|
* @param {any[]} series
|
|
1489
1497
|
* @returns {string[][]}
|
|
1490
1498
|
*/
|
|
@@ -1499,9 +1507,11 @@ class Helpers {
|
|
|
1499
1507
|
() => Array(numColumns).fill(alwaysApplyRadius ? "top" : "none")
|
|
1500
1508
|
);
|
|
1501
1509
|
if (alwaysApplyRadius) return output;
|
|
1502
|
-
const
|
|
1503
|
-
const
|
|
1504
|
-
const
|
|
1510
|
+
const lastOnly = w.config.plotOptions.bar.borderRadiusWhenStacked === "last";
|
|
1511
|
+
const soloPositive = lastOnly ? "top" : "both";
|
|
1512
|
+
const soloNegative = lastOnly ? "bottom" : "both";
|
|
1513
|
+
const positiveBase = lastOnly ? "none" : "bottom";
|
|
1514
|
+
const negativeBase = lastOnly ? "none" : "top";
|
|
1505
1515
|
for (const stack of this.getStackedSeriesIndices(numSeries)) {
|
|
1506
1516
|
for (let j = 0; j < numColumns; j++) {
|
|
1507
1517
|
const positiveIndices = [];
|
|
@@ -1513,22 +1523,22 @@ class Helpers {
|
|
|
1513
1523
|
}
|
|
1514
1524
|
if (positiveIndices.length > 0 && negativeIndices.length === 0) {
|
|
1515
1525
|
if (positiveIndices.length === 1) {
|
|
1516
|
-
output[positiveIndices[0]][j] =
|
|
1526
|
+
output[positiveIndices[0]][j] = soloPositive;
|
|
1517
1527
|
} else {
|
|
1518
1528
|
const first = positiveIndices[0];
|
|
1519
1529
|
const last = positiveIndices[positiveIndices.length - 1];
|
|
1520
1530
|
for (const i of positiveIndices) {
|
|
1521
|
-
output[i][j] = i === first ?
|
|
1531
|
+
output[i][j] = i === first ? positiveBase : i === last ? "top" : "none";
|
|
1522
1532
|
}
|
|
1523
1533
|
}
|
|
1524
1534
|
} else if (negativeIndices.length > 0 && positiveIndices.length === 0) {
|
|
1525
1535
|
if (negativeIndices.length === 1) {
|
|
1526
|
-
output[negativeIndices[0]][j] =
|
|
1536
|
+
output[negativeIndices[0]][j] = soloNegative;
|
|
1527
1537
|
} else {
|
|
1528
|
-
const
|
|
1529
|
-
const
|
|
1538
|
+
const nearest = Math.min(...negativeIndices);
|
|
1539
|
+
const farthest = Math.max(...negativeIndices);
|
|
1530
1540
|
for (const i of negativeIndices) {
|
|
1531
|
-
output[i][j] = i ===
|
|
1541
|
+
output[i][j] = i === nearest ? negativeBase : i === farthest ? "bottom" : "none";
|
|
1532
1542
|
}
|
|
1533
1543
|
}
|
|
1534
1544
|
} else if (positiveIndices.length > 0 && negativeIndices.length > 0) {
|