apexcharts 8.2.0 → 8.3.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/README.md +7 -7
- package/dist/apexcharts.common.js +2 -2
- package/dist/apexcharts.core.js +271 -173
- package/dist/apexcharts.core.min.js +2 -2
- package/dist/apexcharts.css +35 -0
- package/dist/apexcharts.esm.js +1722 -1527
- package/dist/apexcharts.full.js +1459 -1075
- package/dist/apexcharts.full.min.js +2 -2
- package/dist/apexcharts.js +994 -715
- package/dist/apexcharts.min.js +2 -2
- package/dist/apexcharts.ssr.common.js +2 -2
- package/dist/apexcharts.ssr.esm.js +994 -715
- package/dist/area.common.js +2 -2
- package/dist/area.esm.js +91 -40
- package/dist/bar.common.js +2 -2
- package/dist/bar.esm.js +433 -394
- package/dist/bar.js +2 -2
- package/dist/boxPlot.common.js +2 -2
- package/dist/boxPlot.esm.js +364 -322
- package/dist/bubble.common.js +2 -2
- package/dist/bubble.esm.js +91 -40
- package/dist/candlestick.common.js +2 -2
- package/dist/candlestick.esm.js +364 -322
- package/dist/candlestick.js +2 -2
- package/dist/column.common.js +2 -2
- package/dist/column.esm.js +433 -394
- package/dist/core.common.js +2 -2
- package/dist/core.esm.js +271 -173
- 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 +433 -394
- package/dist/features/all.common.js +2 -2
- package/dist/features/all.esm.js +250 -187
- 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 +2 -2
- package/dist/features/drilldown.esm.js +4 -2
- package/dist/features/drilldown.js +2 -2
- 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 +1 -1
- package/dist/features/exports.esm.js +1 -1
- package/dist/features/exports.js +1 -1
- 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/highlight-filter.common.js +2 -2
- package/dist/features/highlight-filter.esm.js +14 -9
- package/dist/features/highlight-filter.js +2 -2
- 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 +97 -145
- package/dist/features/keyboard.js +2 -2
- package/dist/features/legend.common.js +2 -2
- package/dist/features/legend.esm.js +63 -43
- package/dist/features/legend.js +2 -2
- package/dist/features/link.common.js +1 -1
- package/dist/features/link.esm.js +1 -1
- 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 +1 -1
- 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 +2 -2
- package/dist/features/renderer-canvas.esm.js +2 -1
- package/dist/features/renderer-canvas.js +2 -2
- 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 +1 -1
- package/dist/features/storyboard.js +1 -1
- package/dist/features/streamgraph.common.js +2 -2
- package/dist/features/streamgraph.esm.js +3 -2
- package/dist/features/streamgraph.js +2 -2
- package/dist/features/toolbar.common.js +2 -2
- package/dist/features/toolbar.esm.js +92 -2
- package/dist/features/toolbar.js +2 -2
- package/dist/features/trellis.common.js +2 -2
- package/dist/features/trellis.esm.js +83 -47
- package/dist/features/trellis.js +2 -2
- 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 +1 -1
- package/dist/features/weave.esm.js +1 -1
- package/dist/features/weave.js +1 -1
- package/dist/full.common.js +2 -2
- package/dist/full.esm.js +950 -795
- package/dist/heatmap.common.js +2 -2
- package/dist/heatmap.esm.js +3 -17
- package/dist/heatmap.js +2 -2
- package/dist/histogram.common.js +2 -2
- package/dist/histogram.esm.js +433 -394
- package/dist/icicle.common.js +2 -2
- package/dist/icicle.esm.js +54 -38
- package/dist/icicle.js +2 -2
- package/dist/line.common.js +2 -2
- package/dist/line.esm.js +91 -40
- package/dist/line.js +2 -2
- package/dist/locales/en.json +2 -1
- package/dist/locales/ro.json +3 -2
- 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 +2 -2
- package/dist/radar.esm.js +5 -4
- package/dist/radar.js +2 -2
- 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 +72 -26
- package/dist/rangeArea.common.js +2 -2
- package/dist/rangeArea.esm.js +91 -40
- package/dist/rangeBar.common.js +2 -2
- package/dist/rangeBar.esm.js +433 -394
- package/dist/scatter.common.js +2 -2
- package/dist/scatter.esm.js +91 -40
- package/dist/streamgraph.common.js +2 -2
- package/dist/streamgraph.esm.js +93 -41
- package/dist/sunburst.common.js +2 -2
- package/dist/sunburst.esm.js +103 -93
- package/dist/sunburst.js +2 -2
- package/dist/treemap.common.js +2 -2
- package/dist/treemap.esm.js +105 -86
- package/dist/treemap.js +2 -2
- 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 +2 -2
- package/dist/unit.esm.js +280 -202
- package/dist/unit.js +2 -2
- package/dist/violin.common.js +2 -2
- package/dist/violin.esm.js +72 -26
- package/dist/violin.js +2 -2
- package/dist/waterfall.common.js +2 -2
- package/dist/waterfall.esm.js +432 -393
- package/package.json +1 -1
- package/src/apexcharts.js +13 -6
- package/src/assets/apexcharts.css +35 -0
- package/src/charts/Bar.js +62 -55
- package/src/charts/BarStacked.js +80 -88
- package/src/charts/BoxCandleStick.js +28 -31
- package/src/charts/Icicle.js +37 -37
- package/src/charts/Line.js +118 -42
- package/src/charts/Radar.js +5 -7
- package/src/charts/RangeBar.js +47 -43
- package/src/charts/Sunburst.js +101 -98
- package/src/charts/Treemap.js +108 -66
- package/src/charts/Unit.js +368 -250
- package/src/charts/Violin.js +48 -30
- package/src/charts/common/Breadcrumb.js +2 -2
- package/src/charts/common/Hierarchy.js +32 -11
- package/src/charts/common/Jitter.js +32 -7
- package/src/charts/common/bar/DataLabels.js +76 -81
- package/src/charts/common/bar/Helpers.js +43 -7
- package/src/charts/common/line/Helpers.js +12 -15
- package/src/charts/common/partition/NodeTooltip.js +8 -1
- package/src/charts/common/partition/Partition.js +33 -1
- package/src/charts/common/treemap/Helpers.js +3 -11
- package/src/locales/en.json +2 -1
- package/src/locales/ro.json +3 -2
- package/src/modules/Core.js +4 -0
- package/src/modules/CoreUtils.js +18 -42
- package/src/modules/Data.js +23 -24
- package/src/modules/DataLabels.js +6 -6
- package/src/modules/Graphics.js +62 -49
- package/src/modules/Markers.js +3 -1
- package/src/modules/Range.js +44 -29
- package/src/modules/RendererController.js +17 -3
- package/src/modules/Scales.js +32 -9
- package/src/modules/Series.js +39 -18
- package/src/modules/Theme.js +1 -1
- package/src/modules/ZoomPanSelection.js +119 -2
- package/src/modules/accessibility/KeyboardNavigation.js +114 -186
- package/src/modules/animations/LengthTransition.js +22 -2
- package/src/modules/drilldown/Breadcrumb.js +5 -2
- package/src/modules/helpers/Destroy.js +1 -1
- package/src/modules/highlightFilter/HighlightFilter.js +8 -9
- package/src/modules/highlightFilter/TreemapPart.js +2 -2
- package/src/modules/legend/HeatmapGradientLegend.js +76 -45
- package/src/modules/legend/Helpers.js +2 -0
- package/src/modules/legend/Legend.js +11 -12
- package/src/modules/settings/Options.js +7 -0
- package/src/modules/streamgraph/StreamLabels.js +1 -0
- package/src/modules/tooltip/Tooltip.js +20 -4
- package/src/modules/tooltip/Utils.js +8 -0
- package/src/modules/trellis/Trellis.js +6 -0
- package/src/modules/trellis/TrellisChrome.js +18 -7
- package/src/modules/trellis/TrellisSync.js +2 -0
- package/src/renderers/canvas/CanvasGraphics.js +1 -0
- package/src/ssr/DOMShim.js +10 -0
- package/src/types/internal.d.ts +9 -3
- package/types/apexcharts.d.ts +31 -12
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* ApexCharts v8.
|
|
2
|
+
* ApexCharts v8.3.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,l=(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},n=(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=d.__apex_CoreUtils,b=d.__apex_Graphics,u=d.__apex_DataLabels,g=(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},p=d.__apex_Animations,x=d.__apex_Animations_computeStagger,f=d.__apex_BrowserAPIs_BrowserAPIs,m=d.__apex_Environment_Environment;function y(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)&&!!(m.isBrowser()&&t.globals.dataChanged&&t.globals.shouldAnimate)}function v(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 l=null==(o=t.globals.labels)?void 0:o[a];return null!=l&&""!==String(l)?"c:"+(Array.isArray(l)?l.join(" "):String(l)):"j:"+a}function C(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 w(t,e,a=!1,s=!1){var i,r;if(!y(t))return null;const o=t.globals.prevStreamFrame;if(!o)return null;const l=null==(i=o.seriesY)?void 0:i[e],n=null==(r=t.seriesData.series)?void 0:r[e];if(!Array.isArray(l)||!Array.isArray(n))return null;if(!l.length||!n.length)return null;const h=C(l.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=C(n.map((a,s)=>v(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,l=t.length===e.length;e.forEach((t,e)=>{const n=a.has(t)&&!i.has(a.get(t))?a.get(t):-1;s[e]=n,-1!==n&&(i.add(n),n<r&&(o=!1),r=n),n!==e&&(l=!1)});const n=[];for(let e=0;e<t.length;e++)i.has(e)||n.push(e);return{toOld:s,exits:n,ordered:o,changed:!l}}(h,d);return(c.ordered||s)&&(c.changed||a)?{join:c,oldKeys:h,newKeys:d}:null}function P({w:t,elSeries:e,record:a,newKeys:s,isHorizontal:i,speed:r}){var o;if(!y(t))return;if(!a||!Array.isArray(a.paths)||!(null==e?void 0:e.node))return;const l=new Set(s),n=a.paths.filter(t=>t&&t.d&&null!=t.key&&!l.has(t.key));if(!n.length)return;const h=new b(t),d=null==(o=t.globals.colors)?void 0:o[parseInt(String(a.realIndex),10)];n.forEach(s=>{let o=s.fill||d||"#c8c8c8";0===String(o).indexOf("url(")&&(o=d||"#c8c8c8");const l=h.drawPath({d:s.d,stroke:"none",strokeWidth:0,fill:o,fillOpacity:1,classes:"apexcharts-bar-ghost"}),n=l.node;n.setAttribute("pointer-events","none"),l.attr("clip-path",`url(#gridRectBarMask${t.globals.cuid})`),e.node.insertBefore(n,e.node.firstChild);const c=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}(s.d);let b=i?"left center":"center bottom";try{const t=n.getBBox();c&&t&&(b=i?Math.abs(c.x-t.x)<=Math.abs(c.x-(t.x+t.width))?"left center":"right center":Math.abs(c.y-(t.y+t.height))<=Math.abs(c.y-t.y)?"center bottom":"center top")}catch(t){}const u=n.style;u.transformBox="fill-box",u.transformOrigin=b,n.setAttribute("data:ghostKey",`${a.realIndex}::${s.key}`);try{const t=n.getBBox(),e=i?b.startsWith("left")?t.x:t.x+t.width:b.endsWith("bottom")?t.y+t.height:t.y;isFinite(e)&&n.setAttribute("data:ghostEdge",String(e))}catch(t){}const g=Math.max(1,r||1),p=performance.now(),x=e=>{if(t.globals.isDestroyed||!n.parentNode)return;const a=Math.max(0,Math.min(1,(e-p)/g)),s=1-Math.pow(1-a,3),r=1-s;u.transform=i?`scaleX(${r})`:`scaleY(${r})`,u.opacity=String(1-s),a<1?f.requestAnimationFrame(x):n.parentNode.removeChild(n)};f.requestAnimationFrame(x)})}class I{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,s,i,r,o;const{x:h,y:d,y1:c,y2:u,i:p,j:x,realIndex:f,columnGroupIndex:m,barHeight:y,barWidth:v,barXPosition:C,barYPosition:w,visibleSeries:P,hl:I}=t,k=this.w,L=new b(this.barCtx.w);this.hlt=null==I?void 0:I.total;const S=k.waterfallData&&k.waterfallData.values,H=I&&null!=I.val?I.val:S&&S[f]&&null!=S[f][x]?S[f][x]:null,A=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[f]:this.barCtx.strokeWidth;let D,W;k.axisFlags.isXNumeric&&!k.globals.isBarHorizontal?(D=h+v*(P+1),W=d+y*(P+1)-A):(D=h+v*P,W=d+y*P);let O=null,X=null,F=h,R=d,T={};const M=k.config.dataLabels,B=this.barCtx.barOptions.dataLabels,_=this.barCtx.barOptions.dataLabels.total;void 0!==w&&(this.barCtx.isRangeBar||this.barCtx.isPyramid)&&(W=w,R=w),void 0!==C&&this.barCtx.isVerticalGroupedRangeBar&&(D=C,F=C);const z=g(M.offsetX,k,f,x),j=g(M.offsetY,k,f,x),Y=(null==I?void 0:I.hide)?void 0:null!==H?H:void 0!==u?[c,u]:"100%"===k.config.chart.stackType?k.globals.seriesPercent[f][x]:k.seriesData.series[f][x];let G,$={width:0,height:0};M.enabled&&(G=void 0===Y?"":M.formatter(Y,n(l({},k),{seriesIndex:f,dataPointIndex:x,w:k})),$=L.getTextRects(G,parseFloat(M.style.fontSize).toString(),M.style.fontFamily,void 0,!0,M.style.fontWeight));const V={x:null!=(e=null==I?void 0:I.x)?e:h,y:null!=(a=null==I?void 0:I.y)?a:d,neg:I&&null!=I.val?I.val<0:void 0,i:p,j:x,realIndex:f,columnGroupIndex:m,bcx:D,bcy:W,barHeight:null!=(s=null==I?void 0:I.barHeight)?s:y,barWidth:null!=(i=null==I?void 0:I.barWidth)?i:v,textRects:$,strokeWidth:A,dataLabelsX:F,dataLabelsY:R,dataLabelsConfig:M,barDataLabelsConfig:B,barTotalDataLabelsConfig:_,offX:z,offY:j};if(T=this.barCtx.isHorizontal?this.calculateBarsDataLabelsPosition(V):this.calculateColumnsDataLabelsPosition(V),null!==H&&this.barCtx.isHorizontal&&"center"===B.position){const t=null==(o=null==(r=k.waterfallData.geometry)?void 0:r[f])?void 0:o[x];t&&t.horizontal&&(T.dataLabelsX=(t.levelStart+t.levelEnd)/2+z)}return O=this.drawCalculatedDataLabels({x:T.dataLabelsX,y:T.dataLabelsY,neg:V.neg,val:Y,text:G,i:f,j:x,barWidth:V.barWidth,barHeight:V.barHeight,textRects:$,dataLabelsConfig:M}),k.config.chart.stacked&&_.enabled&&!1!==this.hlt&&(X=this.drawTotalDataLabels({x:T.totalDataLabelsX,y:T.totalDataLabelsY,barWidth:v,barHeight:y,realIndex:f,j:x,textAnchor:T.totalDataLabelsAnchor,val:this.getStackedTotalDataLabel({realIndex:f,j:x}),rawVal:this.getStackedTotalValue({realIndex:f,j:x}),dataLabelsConfig:M,barTotalDataLabelsConfig:_})),{dataLabelsPos:T,dataLabels:O,totalDataLabels:X}}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}}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}){if(this.hlt)return this.hlt.val;const a=this.w,s=this.xStackTop(t,e);if(s)return s[3];const i=this.getTotalGroupContext(t),r=a.seriesData.stackedSeriesTotalsByGroups;return i&&r&&r[i.groupIndex]?r[i.groupIndex][e]:this.barCtx.stackedSeriesTotals[e]}xStackTop(t,e){var a,s;const i=this.w;return i.axisFlags.isXNumeric&&(null==(s=null==(a=this.barCtx.stacks)?void 0:a[i.labelData.seriesGroupIndex[t]])?void 0:s.tops.get(i.seriesData.seriesX[t][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,n(l({},a),{seriesIndex:t,dataPointIndex:e,w:a}))),s}calculateColumnsDataLabelsPosition(t){var e;const a=this.w;let s,i,{i:r,j:o,realIndex:l,y:n,bcx:h,barWidth:d,barHeight:c,textRects:u,dataLabelsX:g,dataLabelsY:p,dataLabelsConfig:x,barDataLabelsConfig:f,barTotalDataLabelsConfig:m,strokeWidth:y,offX:v,offY:C}=t;const w=h;c=Math.abs(c);const P="vertical"===a.config.plotOptions.bar.dataLabels.orientation,{zeroEncounters:I}=this.barCtx.barHelpers.getZeroValueEncounters({i:r,j:o});h-=y/2;const k=a.layout.gridWidth/a.globals.dataPoints;if(this.barCtx.isVerticalGroupedRangeBar?g+=d/2:(g=a.axisFlags.isXNumeric?h-d/2+v:h-k+d/2+v,!a.config.chart.stacked&&I>0&&a.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(g-=d*I)),P){const t=2;g=g+u.height/2-y/2-t}const L=null!=(e=t.neg)?e:a.seriesData.series[r][o]<0;let S=n;switch(this.barCtx.isReversed&&(S=n+(L?c:-c)),f.position){case"center":p=P?L?S-c/2+C:S+c/2-C:L?S-c/2+u.height/2+C:S+c/2+u.height/2-C;break;case"bottom":p=P?L?S-c+C:S+c-C:L?S-c+u.height+y+C:S+c-u.height/2+y-C;break;case"top":p=P?L?S+C:S-C:L?S-u.height/2-C:S+u.height+C}let H=S;const A=this.getTotalGroupContext(l),D=this.xStackTop(l,o),W=D?[]:this.barCtx.stacks||[];if(D&&(H=L?Math.max(S,D[5]):Math.min(S,D[4])),W.forEach((t,e)=>{A&&e!==A.groupIndex||t.prevY.forEach(t=>{H=L?Math.max(t[o],H):Math.min(t[o],H)})}),this.hlt&&(H=this.hlt.edge),this.drawsStackedTotal(l)&&m.enabled){const t=18,e=new b(this.barCtx.w).getTextRects(this.getStackedTotalDataLabel({realIndex:l,j:o}),x.fontSize);s=L?H-e.height/2-C-m.offsetY+t:H+e.height+C+m.offsetY-t;const r=k;i=w+(a.axisFlags.isXNumeric?-d/2:d/2-r)+m.offsetX}return a.config.chart.stacked||(p<0?p=0+y:p+u.height/3>a.layout.gridHeight&&(p=a.layout.gridHeight-y)),{bcx:h,bcy:n,dataLabelsX:g,dataLabelsY:p,totalDataLabelsX:i,totalDataLabelsY:s,totalDataLabelsAnchor:"middle"}}calculateBarsDataLabelsPosition(t){var e,a;const s=this.w;let{x:i,i:r,j:o,realIndex:l,bcy:n,barHeight:h,barWidth:d,textRects:c,dataLabelsX:u,strokeWidth:g,dataLabelsConfig:p,barDataLabelsConfig:x,barTotalDataLabelsConfig:f,offX:m,offY:y}=t;const v=s.layout.gridHeight/s.globals.dataPoints,{zeroEncounters:C}=this.barCtx.barHelpers.getZeroValueEncounters({i:r,j:o});let w,P,I;if(d=Math.abs(d),this.barCtx.isPyramid){w=n+h/2+y-(null!=(e=c.centerOffset)?e:0)}else w=n-(this.barCtx.isRangeBar?0:v)+h/2+c.height/2+y-3;!s.config.chart.stacked&&C>0&&s.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(w-=h*C);let k="start";const L=null!=(a=t.neg)?a:s.seriesData.series[r][o]<0;let S=i;if(this.barCtx.isReversed&&(S=i+(L?-d:d),k=L?"start":"end"),this.barCtx.isPyramid)u=s.layout.gridWidth/2+m;else switch(x.position){case"center":u=L?S+d/2-m:Math.max(c.width/2,S-d/2)+m;break;case"bottom":u=L?S+d-g-m:S-d+g+m;break;case"top":u=L?S-g-m:S-g+m}let H=S;const A=this.getTotalGroupContext(l);if((this.barCtx.stacks||[]).forEach((t,e)=>{A&&e!==A.groupIndex||t.prevX.forEach(t=>{H=L?Math.min(t[o],H):Math.max(t[o],H)})}),this.hlt&&(H=this.hlt.edge),this.drawsStackedTotal(l)&&f.enabled){const t=new b(this.barCtx.w).getTextRects(this.getStackedTotalDataLabel({realIndex:l,j:o}),p.fontSize);L?(P=H-g-m-f.offsetX,k="end"):P=H+m+f.offsetX+(this.barCtx.isReversed?-(d+g):g),I=w-c.height/2+t.height/2+f.offsetY+g,s.globals.barGroups.length>1&&!A&&(I-=s.globals.barGroups.length/2*(h/2))}if(!s.config.chart.stacked){const t=L&&"middle"!==p.textAnchor?"start"===p.textAnchor?"end":"start":p.textAnchor;let e;e="vertical"===x.orientation?c.height/2:"end"===t?c.width:"middle"===t?c.width/2:0;const a=("vertical"===x.orientation?c.height:c.width)-e;u+a>s.layout.gridWidth-g&&(u=s.layout.gridWidth-a-g),u-e<g&&(u=e+g)}return{bcx:i,bcy:n,dataLabelsX:u,dataLabelsY:w,totalDataLabelsX:P,totalDataLabelsY:I,totalDataLabelsAnchor:k}}drawCalculatedDataLabels({x:t,y:e,val:a,text:s,neg:i,i:r,j:o,textRects:h,barHeight:d,barWidth:c,dataLabelsConfig:g}){var p,x,f;const m=this.w;let y="rotate(0)";"vertical"===m.config.plotOptions.bar.dataLabels.orientation&&(y=`rotate(-90, ${t}, ${e})`);const C=new u(this.barCtx.w,this.barCtx.ctx),w=new b(this.barCtx.w),P=g.formatter;let I=null;const k=m.globals.collapsedSeriesIndices.indexOf(r)>-1,L=(m.globals.collapsingSeriesIndices||[]).indexOf(r)>-1;if(L){const t=null==(p=m.globals.prevDataLabels)?void 0:p.get(`${r}::${v(m,r,o)}`);t&&isFinite(t.val)&&(a=t.val,s=void 0)}if(g.enabled&&(!k||L)){I=w.group({class:"apexcharts-data-labels",transform:y});const b=m.config.dataLabels;((null==(x=b.animate)?void 0:x.enabled)||(null==(f=b.countUp)?void 0:f.enabled))&&(I.node.setAttribute("data:dlKey",`${r}::${v(m,r,o)}`),I.node.setAttribute("data:dlJ",String(o)),"number"==typeof a&&isFinite(a)&&I.node.setAttribute("data:dlVal",String(a))),void 0===a?s="":void 0===s&&(s=P(a,n(l({},m),{seriesIndex:r,dataPointIndex:o,w:m}))),!a&&m.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(s="");const u=null!=i?i:m.seriesData.series[r][o]<0,p=m.config.plotOptions.bar.dataLabels.position;if("vertical"===m.config.plotOptions.bar.dataLabels.orientation&&("top"===p&&(g.textAnchor=u?"end":"start"),"center"===p&&(g.textAnchor="middle"),"bottom"===p&&(g.textAnchor=u?"end":"start")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels){c<w.getTextRects(s,parseFloat(g.style.fontSize).toString()).width&&(s="")}m.config.chart.stacked&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels&&!L&&(this.barCtx.isHorizontal?h.width/1.6>Math.abs(c)&&(s=""):h.height/1.6>Math.abs(d)&&(s=""));const k=l({},g);this.barCtx.isHorizontal&&a<0&&("start"===g.textAnchor?k.textAnchor="end":"end"===g.textAnchor&&(k.textAnchor="start")),C.plotDataLabelsText({x:t,y:e,text:s,i:r,j:o,parent:I,dataLabelsConfig:k,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return I}drawTotalDataLabels({x:t,y:e,val:a,rawVal:s,realIndex:i,j:r,textAnchor:o,barTotalDataLabelsConfig:l}){var n,h;const d=new b(this.barCtx.w);let c;if(l.enabled&&void 0!==t&&void 0!==e&&this.drawsStackedTotal(i)){c=d.drawText({x:t,y:e,foreColor:l.style.color,text:a,textAnchor:o,fontFamily:l.style.fontFamily,fontSize:l.style.fontSize,fontWeight:l.style.fontWeight}),c.attr({class:"apexcharts-datalabel-total",cx:t,cy:e});const b=this.w.config.dataLabels;if((null==(n=b.animate)?void 0:n.enabled)||(null==(h=b.countUp)?void 0:h.enabled)){const{groupIndex:t}=this.barCtx.barHelpers.getGroupIndex(i);c.node.setAttribute("data:dlTotalKey",`${t}::${v(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 k=d.__apex_Series,L=d.__apex_Fill,S=d.__apex_Utils;function H(t){var e,a,s,i,r,o,l;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!=(l=null==(o=null==(r=t.seriesData)?void 0:r.series)?void 0:o.length)?l:0)>1)}class A{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),S.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.some((t,e)=>t<s[e-1])?s.filter(t=>t===+t).sort((t,e)=>t-e):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,l,n,h,d=e.globals.dataPoints;this.barCtx.isRangeBar&&(d=e.labelData.labels.length);let c=this.barCtx.seriesLen;if((e.config.plotOptions.bar.rangeBarGroupRows||H(e))&&(c=1),this.barCtx.isHorizontal)i=e.layout.gridHeight/d,o=i/c,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),l=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),l=r/c*parseInt(this.barCtx.barOptions.columnWidth,10)/100,l<1&&(l=1)}if(-1===String(this.barCtx.barOptions.columnWidth).indexOf("%")&&(l=parseInt(this.barCtx.barOptions.columnWidth,10)),n=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:l}).x}else a=e.globals.padHorizontal+S.noExponents(r-l*this.barCtx.seriesLen)/2}return e.globals.barHeight=o,e.globals.barWidth=l,{x:a,y:s,yDivision:i,xDivision:r,barHeight:o,barWidth:l,zeroH:n,zeroW:h}}initializeStackedPrevVars(t){t.stacks=t.w.labelData.seriesGroups.map(()=>({prevY:[],prevX:[],prevYF:[],prevXF:[],prevYVal:[],prevXVal:[],tops:new Map}))}initializeStackedXYVars(t){t.stacks.forEach(t=>{t.xArrj=[],t.xArrjF=[],t.xArrjVal=[],t.yArrj=[],t.yArrjF=[],t.yArrjVal=[]})}getPathFillColor(t,e,a,s){var i;const r=this.w,o=new L(this.barCtx.w);let l=null;const n=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&&(l=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 b;c&&c.color&&(l=c.color,b=c.opacity);return{color:o.fillPath({seriesNumber:this.barCtx.barOptions.distributed?n:s,dataPointIndex:a,color:l,opacity:b,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]],l=a.globals.colors[r[1]];return o&&l?{type:"gradient",gradient:{type:this.barCtx.isHorizontal?"horizontal":"vertical",gradientFrom:o,gradientTo:l,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 l="last"===a.config.plotOptions.bar.borderRadiusWhenStacked,n=l?"top":"both",h=l?"bottom":"both",d=l?"none":"bottom",c=l?"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]=n;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 l=this.w,n=new b(this.barCtx.w),h=new k(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=n.drawRect(void 0!==a?a:0,void 0!==i?i:0,void 0!==s?s:l.layout.gridWidth,void 0!==r?r:l.layout.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,e,this.barCtx.barOptions.colors.backgroundBarOpacity);o.add(h),h.node.classList.add("apexcharts-backgroundBar")}}barRect({a:t,len:e,v1:a,v2:s,strokeWidth:i,realIndex:r,j:o,dir:l,horizontal:n}){const h=this.w,d=new b(h);(i=Array.isArray(i)?i[r]:i)||(i=0);const c=h.config.series[r].data[o],u=n?null==c?void 0:c.barHeightOffset:null==c?void 0:c.columnWidthOffset;u&&(t-=u/2,e+=u);const g=i/2,p=l*(this.barCtx.isReversed?-1:1),x="around"===h.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[r][o]?" Z":" z";let f,m,y,v,C,w;n?(y=t+g,v=t+e-g,f=a+.001+g*p,m=s+.001-g*p,C=d.line(f,v),w=d.move(f,y)+d.line(m,y)+d.line(m,v)+C+x):(f=t+g,m=t+e-g,y=a+.001-g*p,v=s+.001+g*p,C=d.line(m,y),w=d.move(f,y)+d.line(f,v)+d.line(m,v)+C+x);return{x1:f,x2:m,y1:y,y2:v,sl:C,closing:x,squarePathTo:w,pathTo:"none"!==this.arrBorderRadius[r][o]?d.roundPathCorners(w,h.config.plotOptions.bar.borderRadius):w,base:d.move(f,y)+d.line(f,y)+C+C+C+C+C+d.line(f,y)+x,strokeWidth:i,strokeCenter:g,direction:p}}getColumnPaths({barWidth:t,barXPosition:e,y1:a,y2:s,strokeWidth:i,series:r,realIndex:o,i:l,j:n,w:h}){var d,c;const b=this.barRect({a:e,len:t,v1:a,v2:s,strokeWidth:i,realIndex:o,j:n,dir:r[l][n]>=0?1:-1}),{pathTo:u,squarePathTo:g,strokeCenter:p,direction:x}=b;a=b.y1,s=b.y2;let f=null;const m=null==(c=null==(d=this.barCtx.ctx)?void 0:d.morphTypeChange)?void 0:c.getInitialPathFor(o,n);if(m?f=m:h.globals.previousPaths.length>0&&(f=this.barCtx.getPreviousPath(o,n,u,g)),null==f&&(f=b.base),h.config.chart.stacked){const t=this.barCtx.groupCtx;t.yArrj.push(s-p*x),t.yArrjF.push(Math.abs(a-s+b.strokeWidth*x)),t.yArrjVal.push(this.barCtx.series[l][n])}return{pathTo:u,pathFrom:f,drawnBox:{x1:b.x1,x2:b.x2,y1:a,y2:s}}}getFunnelTrapezoidPaths({barYPosition:t,barHeight:e,series:a,i:s,j:i,realIndex:r,strokeWidth:o,w:l}){var n,h;const d=new b(this.barCtx.w),c=l.layout.gridWidth/2,u=t=>Math.abs(t/this.barCtx.invertedYRatio)/2,g=u(a[s][i]),p=i===a[s].length-1,x="taper"===l.config.plotOptions.funnel.lastShape?"taper":"flat";let f;f=p?"taper"===x?0:g:u(a[s][i+1]);const m=o/2,y=t+m,v=t+e-m,C=c-g,w=c+g,P=c-f,I=c+f,k=d.move(C,y)+d.line(w,y)+d.line(I,v)+d.line(P,v)+" Z";let L=null;const S=null==(h=null==(n=this.barCtx.ctx)?void 0:n.morphTypeChange)?void 0:h.getInitialPathFor(r,i);return S?L=S:l.globals.previousPaths.length>0&&(L=this.barCtx.getPreviousPath(r,i,k)),null==L&&(L=d.move(c,y)+d.line(c,y)+d.line(c,v)+d.line(c,v)+" Z"),{pathTo:k,pathFrom:L,x:w,x1:C,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 l=0;const n=[];for(let t=0;t<i.length;t++){const e=l/r;l+=i[t];const s=l/r,h=e*a,d=s*a;n.push({y:h,height:d-h,topHalf:e*o,bottomHalf:s*o})}return n}getPyramidPaths({barYPosition:t,barHeight:e,topHalf:a,bottomHalf:s,realIndex:i,j:r,strokeWidth:o,w:l}){var n,h;const d=new b(this.barCtx.w),c=l.layout.gridWidth/2,u=o/2,g=t+u,p=t+e-u,x=c-a,f=c+a,m=c-s,y=c+s,v=d.move(x,g)+d.line(f,g)+d.line(y,p)+d.line(m,p)+" Z";let C=null;const w=null==(h=null==(n=this.barCtx.ctx)?void 0:n.morphTypeChange)?void 0:h.getInitialPathFor(i,r);return w?C=w:l.globals.previousPaths.length>0&&(C=this.barCtx.getPreviousPath(i,r,v)),null==C&&(C=d.move(c,g)+d.line(c,g)+d.line(c,p)+d.line(c,p)+" Z"),{pathTo:v,pathFrom:C,x:f,x1:x,barXPosition:c}}getBarpaths({barYPosition:t,barHeight:e,x1:a,x2:s,strokeWidth:i,series:r,realIndex:o,i:l,j:n,w:h}){var d,c;const u=new b(this.barCtx.w),g=this.barRect({a:t,len:e,v1:a,v2:s,strokeWidth:i,realIndex:o,j:n,dir:r[l][n]>=0?1:-1,horizontal:!0}),{y1:p,y2:x,sl:f,closing:m,squarePathTo:y,pathTo:v,strokeCenter:C,direction:w}=g;a=g.x1,s=g.x2;const P=this.barCtx.isFunnel,I=P?(a+s)/2:a;let k=null;const L=null==(c=null==(d=this.barCtx.ctx)?void 0:d.morphTypeChange)?void 0:c.getInitialPathFor(o,n);if(L?k=L:h.globals.previousPaths.length>0&&(k=this.barCtx.getPreviousPath(o,n,v,y)),null==k){const t=P?u.line(I,x):f;k=u.move(I,p)+u.line(I,p)+t+t+t+t+t+u.line(I,p)+m}if(h.config.chart.stacked){const t=this.barCtx.groupCtx;t.xArrj.push(s+C*w),t.xArrjF.push(Math.abs(a-s-g.strokeWidth*w)),t.xArrjVal.push(this.barCtx.series[l][n])}return{pathTo:v,pathFrom:k,drawnBox:{x1:a,x2:s,y1:p,y2:x}}}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=n(l({},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 b(this.barCtx.w),l=o.group({class:"apexcharts-bar-goals-groups"});l.node.classList.add("apexcharts-element-hidden"),this.barCtx.w.globals.delayedElements.push({el:l.node}),l.attr("clip-path",`url(#gridRectMarkerMask${this.barCtx.w.globals.cuid})`);let n=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;n=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),l.add(n),t.attrs.label&&l.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;n=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),l.add(n),e.attrs.label&&l.add(this.drawDumbbellLabel(e.attrs,{x:s-a,y:e.y,horizontal:!1,markerSize:e.attrs.strokeHeight||0}))}}),l}drawDumbbellLabel(t,e){const a=this.w,s=new b(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:l,barYPosition:n}=t,{x:h,x1:d,barYPosition:c}=e,u=n+e.barHeight,g=new b(this.barCtx.w),p=new S,x=g.move(l,u)+g.line(o,u)+g.line(h,c)+g.line(d,c)+g.line(l,u)+("around"===r.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[s][i]?" Z":" z");return g.drawPath({d:x,fill:p.shadeColor(.5,S.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){var e;return null!=(e=this.w.labelData.seriesGroupIndex[t])?e:-1}getGroupIndex(t){const e=this.getSeriesGroupIndex(t),a=this.barCtx.columnGroupIndices;let s=a.indexOf(e);return s<0&&(a.push(e),s=a.length-1),{groupIndex:e,columnGroupIndex:s}}}const D=d.__apex_Filters;class W{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)/W.xRatio(t)}static pxToDataX(t,e){return t.globals.minX+e*W.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 O{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 k(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 A(this)}setSeriesAxis(t){return this.yRatio.length>1&&(this.yaxisIndex=this.w.globals.seriesYAxisReverseMap[t],this.translationsIndex=t),this.translationsIndex}draw(t,e){var a,s,i,r,o;const h=this.w,d=new b(this.w),u=new c(this.w);t=u.getLogSeries(t),this.series=t,this.yRatio=u.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);const g=d.group({class:"apexcharts-bar-series apexcharts-plot-series"}),p=this.ctx.highlightFilter;h.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn("WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering - ApexCharts");for(let c=0,b=0;c<t.length;c++,b++){let u,x;const f=[],m=[],y=h.globals.comboCharts?e[c]:c,{columnGroupIndex:C}=this.barHelpers.getGroupIndex(y),w=d.group({class:"apexcharts-series",rel:c+1,seriesName:S.escapeString(h.seriesData.seriesNames[y]),"data:realIndex":y});k.addCollapsedClassToSeries(this.w,w,y),t[c].length>0&&(this.visibleI=this.visibleI+1);const I=this.setSeriesAxis(y);this.isReversed=h.config.yaxis[this.yaxisIndex]&&h.config.yaxis[this.yaxisIndex].reversed,this.isPyramid&&(this.pyramidLayout=this.barHelpers.computePyramidLayout(t[c]));const L=this.barHelpers.initialPositions(y),{y:H,yDivision:A,zeroW:W,x:O,xDivision:X,zeroH:F}=L;let R=L.barHeight,T=L.barWidth;x=H,u=O,this.isHorizontal||m.push(u+(null!=T?T:0)/2);const M=d.group({class:"apexcharts-datalabels","data:realIndex":y}),B=h.config.dataLabels,_=!(null==(a=B.animate)?void 0:a.enabled)&&this.isLengthTransition(y);h.globals.dataChanged&&!_&&!(!(null==(s=B.animate)?void 0:s.enabled)&&!(null==(i=B.countUp)?void 0:i.enabled))||(h.globals.delayedElements.push({el:M.node,holdUntilComplete:_}),M.node.classList.add("apexcharts-element-hidden"));const z=d.group({class:"apexcharts-bar-goals-markers"}),j=d.group({class:"apexcharts-bar-shadows"}),Y=this.ctx,G=Y._barShadows,$=Y._barShadows=[],V=h.globals.dataChanged&&h.globals.shouldAnimate&&h.config.chart.animations.dynamicAnimation.enabled&&(null==G?void 0:G.length)===t[c].length-1;V||(h.globals.delayedElements.push({el:j.node}),j.node.classList.add("apexcharts-element-hidden"));for(let e=0;e<t[c].length;e++){const a=this.barHelpers.getStrokeWidth(c,e,y);let s=null;const i={indexes:{i:c,j:e,realIndex:y,translationsIndex:I,bc:b},x:u,y:x,strokeWidth:a,elSeries:w};this.isHorizontal?(s=this.drawBarPaths(n(l({},i),{barHeight:R,zeroW:W,yDivision:A})),T=this.series[c][e]/this.invertedYRatio):(s=this.drawColumnPaths(n(l({},i),{xDivision:X,barWidth:T,zeroH:F})),R=this.series[c][e]/this.yRatio[I]);const d=this.barHelpers.getPathFillColor(t,c,e,y);if(this.isFunnel&&!this.isPyramid&&this.barOptions.isFunnel3d&&"trapezoid"!==(null==(r=h.config.plotOptions.funnel)?void 0:r.shape)&&this.pathArr.length&&e>0){const t=this.barHelpers.drawBarShadow({color:"string"==typeof d.color&&-1===(null==(o=d.color)?void 0:o.indexOf("url"))?d.color:S.hexToRgba(h.globals.colors[c]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:s,realIndex:y,j:e});if(j.add(t),$.push(t),this._shadow=V&&[t,G[e-1].attr("d")],h.config.chart.dropShadow.enabled){new D(this.w).dropShadow(t,h.config.chart.dropShadow,y)}}this.pathArr.push(s);const g=this.barHelpers.drawGoalLine({barXPosition:s.barXPosition,barYPosition:s.barYPosition,goalX:s.goalX,goalY:s.goalY,barHeight:R,barWidth:T});g&&z.add(g),x=s.y,u=s.x,e>0&&m.push(u+(null!=T?T:0)/2),f.push(x),this.renderSeries(n(l({hl:null==p?void 0:p.bar(this,{i:c,j:e,realIndex:y,translationsIndex:I,paths:s,zeroH:F,zeroW:W}),realIndex:y,pathFill:d.color},d.useRangeColor?{lineFill:d.color}:{}),{j:e,i:c,columnGroupIndex:C,pathFrom:s.pathFrom,pathTo:s.pathTo,strokeWidth:a,elSeries:w,x:u,y:x,series:t,barHeight:Math.abs(s.barHeight?s.barHeight:R),barWidth:Math.abs(s.barWidth?s.barWidth:T),elDataLabelsWrap:M,elGoalsMarkers:z,elBarShadows:j,visibleSeries:this.visibleI,type:"bar"}))}if(h.globals.seriesXvalues[y]=m,h.globals.seriesYvalues[y]=f,h.globals.previousPaths.length>0){const e=[];for(let a=0;a<t[c].length;a++)e.push(v(h,y,a));P({w:h,elSeries:w,record:this._prevRecord(y),newKeys:e,isHorizontal:this.isHorizontal,speed:h.config.chart.animations.dynamicAnimation.speed})}g.add(w)}return g}renderSeries({hl:t,realIndex:e,pathFill:a,lineFill:s,j:i,i:r,columnGroupIndex:o,pathFrom:h,pathTo:d,strokeWidth:c,elSeries:u,x:g,y:f,y1:m,y2:y,series:C,barHeight:w,barWidth:P,barXPosition:k,barYPosition:L,elDataLabelsWrap:S,elGoalsMarkers:H,elBarShadows:A,visibleSeries:W,type:O,classes:X,fadeReveal:F=!1}){var R,T,M,B,_,z,j;const Y=this.w,G=new b(this.w,this.ctx),$=function(t,e){const a=t&&t.renderer;return a&&a.kind&&"svg"!==a.kind?a:e}(this.ctx,G);let V=!1;const E=this._pathToInterp;if(this._pathToInterp=null,u._bindingsDelegated||(u._bindingsDelegated=!0,G.setupEventDelegation(u,`.apexcharts-${O}-area`)),!s){let t=function(t){const e=Y.config.stroke.colors;let a;return Array.isArray(e)&&e.length>0&&(a=e[t],a||(a=""),"function"==typeof a)?a({value:Y.seriesData.series[t][i],dataPointIndex:i,w:Y}):a};const a="function"==typeof Y.globals.stroke.colors[e]?t(e):Y.globals.stroke.colors[e];s=this.barOptions.distributed?Y.globals.stroke.colors[i]:a}const N=Y.config.chart.animations,Z=N.animateGradually;let K=0,q=0;if(Z&&!1!==Z.enabled&&!(Y.globals.dataChanged&&this.isLayoutShift(e))){const t=Y.globals.dataPoints||1,e=Z.delay||0,a=Math.min(e,.5*N.speed/Math.max(1,t));q=x({style:"sequential",index:i,baseDelay:a}),Y.config.chart.stacked&&!Y.globals.dataChanged&&(q+=r*a*.5);K=q/(e||1)}const U=new I(this).handleBarDataLabels({x:g,y:f,y1:m,y2:y,i:r,j:i,series:C,realIndex:e,columnGroupIndex:o,barHeight:w,barWidth:P,barXPosition:k,barYPosition:L,visibleSeries:W,hl:null==t?void 0:t.label});if(q>0){const t=Y.config.dataLabels;if((null==(R=t.animate)?void 0:R.enabled)||(null==(T=t.countUp)?void 0:T.enabled)){const t=String(Math.round(q));null==(B=null==(M=U.dataLabels)?void 0:M.node)||B.setAttribute("data:dlDelay",t),null==(z=null==(_=U.totalDataLabels)?void 0:_.node)||z.setAttribute("data:dlDelay",t)}}let J=!1;Y.globals.isBarHorizontal||(U.dataLabelsPos.dataLabelsX+Math.max(P,Y.globals.barPadForNumericAxis)<0||U.dataLabelsPos.dataLabelsX-Math.max(P,Y.globals.barPadForNumericAxis)>Y.layout.gridWidth)&&(this._wasOnScreen(e,i)?J=!0:V=!0),Y.config.series[r].data[i]&&Y.config.series[r].data[i].strokeColor&&(s=Y.config.series[r].data[i].strokeColor);const Q=a;if(this.isNullValue&&-1===Y.globals.collapsingSeriesIndices.indexOf(e)&&(a="none"),!V){const o=!0===(null==(j=this.ctx.morphTypeChange)?void 0:j.isActive()),b=o?this.ctx.morphTypeChange.getSpeed():Y.config.chart.animations.dynamicAnimation.speed,g=o&&this.ctx.morphTypeChange.claimsTargetMark(e,i);g&&(h=d,K=0);const x=$.renderPaths({i:r,j:i,realIndex:e,pathFrom:h,pathTo:d,stroke:s,strokeWidth:c,strokeLineCap:Y.config.stroke.lineCap,fill:a,pathToInterp:E,animationDelay:K,initialSpeed:Y.config.chart.animations.speed,dataChangeSpeed:b,className:`apexcharts-${O}-area${X?` ${X}`:""}`,chartType:O,bindEventsOnPaths:!1,fadeReveal:F});x.attr("clip-path",`url(#gridRectBarMask${Y.globals.cuid})`),J&&x.node.classList.add("apexcharts-leaving");const f=this._shadow;f&&(this._shadow=null,new p(Y,this.ctx).animatePathsGradually({el:f[0],fill:"none",pathFrom:f[1],pathTo:f[0].attr("d"),speed:b,delay:K})),g&&(x.node.setAttribute("opacity","0"),x.node.setAttribute("data-piece-hidden","1"));const C=Y.config.forecastDataPoints;C.count>0&&i>=Y.globals.dataPoints-C.count&&(x.node.setAttribute("stroke-dasharray",C.dashArray),x.node.setAttribute("stroke-width",C.strokeWidth),x.node.setAttribute("fill-opacity",C.fillOpacity)),void 0!==m&&void 0!==y&&(x.attr("data-range-y1",m),x.attr("data-range-y2",y));if(new D(this.w).setSelectionFilter(x,e,i),u.add(x),x.attr({cy:U.dataLabelsPos.bcy,cx:U.dataLabelsPos.bcx,j:i,val:Y.seriesData.series[r][i],barHeight:w,barWidth:P,"data:pathKey":v(Y,e,i)}),null==t||t.paint(x,{delay:K,delayMs:q,speed:b,fill:Q,elSeries:u,elBarShadows:A,labels:U.dataLabels,pathFrom:h,pathTo:d}),"canvas"===$.kind){Y.globals.barCanvasCoords||(Y.globals.barCanvasCoords={}),Y.globals.barCanvasCoords[e]||(Y.globals.barCanvasCoords[e]={});const t=Y.globals.barCanvasCoords[e][i];let a=(null==t?void 0:t.bounds)||null;const s=x.bbox();(s.width>0||s.height>0)&&(a={left:Math.min(a?a.left:1/0,s.x),top:Math.min(a?a.top:1/0,s.y),right:Math.max(a?a.right:-1/0,s.x+s.width),bottom:Math.max(a?a.bottom:-1/0,s.y+s.height)}),Y.globals.barCanvasCoords[e][i]=n(l({cx:U.dataLabelsPos.bcx,cy:U.dataLabelsPos.bcy,barWidth:P,type:O},void 0!==m&&void 0!==y&&{rangeY1:m,rangeY2:y}),{bounds:a})}null!==U.dataLabels&&S.add(U.dataLabels),U.totalDataLabels&&S.add(U.totalDataLabels),u.add(S),H&&u.add(H),A&&u.add(A)}return u}drawBarPaths({indexes:t,barHeight:e,strokeWidth:a,zeroW:s,x:i,y:r,yDivision:o,elSeries:l}){const n=this.w,h=t.i,d=t.j;let c;if(n.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 b=this.isFunnel&&"trapezoid"===n.config.plotOptions.funnel.shape,u=this.isPyramid&&this.pyramidLayout?this.pyramidLayout[d]:null,g=!!u;if(u)c=u.y,e=u.height;else if(this.isFunnel&&!b){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=u?this.barHelpers.getPyramidPaths({barYPosition:c,barHeight:e,topHalf:u.topHalf,bottomHalf:u.bottomHalf,realIndex:t.realIndex,j:d,strokeWidth:a,w:n}):b?this.barHelpers.getFunnelTrapezoidPaths({barYPosition:c,barHeight:e,series:this.series,i:h,j:d,realIndex:t.realIndex,strokeWidth:a,w:n}):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:n}),(b||g)&&(s=p.x1,i=p.x),g||(r+=o),g&&(r=c),this.barHelpers.barBackground({j:d,i:h,y1:c-e*this.visibleI,y2:e*this.seriesLen,elSeries:l}),{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:l}){const n=this.w,h=t.realIndex,d=t.translationsIndex,c=t.i,b=t.j,u=t.bc;let g;if(n.axisFlags.isXNumeric){const t=this.getBarXForNumericXAxis({x:e,j:b,realIndex:h,barWidth:i});e=t.x,g=t.barXPosition}else if(n.config.plotOptions.bar.hideZeroBarsWhenGrouped){const{nonZeroColumns:t,zeroEncounters:a}=this.barHelpers.getZeroValueEncounters({i:c,j:b});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][b],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:b,w:n});return n.axisFlags.isXNumeric||(e+=s),this.barHelpers.barBackground({bc:u,j:b,i:c,x1:g-o/2-i*this.visibleI,x2:i*this.seriesLen+o/2,elSeries:l}),{pathTo:p.pathTo,pathFrom:p.pathFrom,x:e,y:a,goalY:this.barHelpers.getGoalValues("y",null,r,h,b,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),S.isNumber(i.seriesData.seriesX[r][s])&&(t=W.dataXToPx(i,i.seriesData.seriesX[r][s])-e*this.seriesLen/2),{barXPosition:t+(H(i)?0:e*this.visibleI),x:t}}_wasOnScreen(t,e){if(!y(this.w))return!1;const a=this._prevKeyedPaths(t);return!!a&&a.has(v(this.w,t,e))}_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(y(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(v(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=w(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 y(i)?null:a;let o=null,l=!1;const n=this._prevKeyedPaths(t);if(n){const a=n.get(v(i,t,e));a?o=a.d:l=!0}else void 0!==r.paths[e]?o=r.paths[e].d:l=!0;return o?this.cornerMorph(o,a,s):l&&y(i)?null:a}cornerMorph(t,e,a){const s=O.pathCommandCount(t),i=O.pathCommandCount(e);if(s===i)return t;const r=new b(this.w),o=t=>{const e=O.pathBox(t);return e?Math.min(e.maxX-e.minX,e.maxY-e.minY):0},l=s<i?o(t)>1:o(e)>1;if(s<i){const e=r.roundPathCorners(t,0);if(O.pathCommandCount(e)===i){if(l&&a){const t=r.roundPathCorners(a,0);O.pathCommandCount(t)===i&&(this._pathToInterp=t)}return e}}else{const a=r.roundPathCorners(e,0);if(O.pathCommandCount(a)===s){if(this._pathToInterp=a,l){const e=O.squareLike(t),a=e?r.roundPathCorners(e,0):null;if(a&&O.pathCommandCount(a)===s)return a}return t}}return e}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=O.pathBox(t);if(!e)return null;const{minX:a,maxX:s,minY:i,maxY:r,start:o,vertical:l}=e,n=(t,e,a)=>Math.abs(t-e)<=Math.abs(t-a)?[e,a]:[a,e];let h,d,c,b;l?(h=Math.abs(o[0]-a)<=Math.abs(o[0]-s)?a:s,d=h===a?s:a,[c,b]=n(o[1],i,r)):(c=Math.abs(o[1]-i)<=Math.abs(o[1]-r)?i:r,b=c===i?r:i,[h,d]=n(o[0],a,s));const u=t.trim().endsWith("Z")?" Z":" z";return l?`M ${h} ${c} L ${h} ${b} L ${d} ${b} L ${d} ${c}${u}`:`M ${h} ${c} L ${d} ${c} L ${d} ${b} L ${h} ${b}${u}`}getPreviousFlip(t,e){const a=this.w,s=this._prevRecord(t);if(!s)return null;const i=this._prevKeyedPaths(t),r=i?i.get(v(a,t,e)):s.paths[e];return r?!!r.flip:null}static pathCommandCount(t){if(!t)return 0;const e=t.match(/[MmLlHhVvCcSsQqTtAaZz]/g);return e?e.length:0}}function X({w:t,points:e,seedA:a,seedB:s,center:i,halfExtent:r,alongFn:o,isHorizontal:l,options:n,clampAt:h,sideSign:d}){const c=n;if(!c||!1===c.show)return[];if(!e||!e.length)return[];const b=c.maxPoints||3e3,u=e.length>b?Math.ceil(e.length/b):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+=u){const r=e[t],n=o(r);let c=2*(M(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 b=l?n:i+c,u=l?i+c:n,m=f?_(b,u,g):B(b,u,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 I=[];for(let t=0;t<v;t++)P[t]&&I.push({fill:T(m.colors,t/(v-1)),d:P[t]});return I}function F({graphics:t,w:e,elSeries:a,pointsByCat:s,options:i,distributed:r,realIndex:o,wrapClass:l,pointClass:n}){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,b=e.config.chart.animations.enabled&&!e.globals.resized&&!e.globals.dataChanged,u=t.group({class:b?`${l} apexcharts-element-hidden`:l});b&&e.globals.delayedElements.push({el:u.node}),s.forEach(({groups:a,j:s})=>{const l=r?e.globals.colors[s]:e.globals.colors[o],b=i.fillColor,g="series"===b?l:"series-dark"===b?R(l,.45):b||R(l,.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:n});i.attr("data:realIndex",o),i.attr("j",s),i.attr("clip-path",`url(#gridRectBarMask${e.globals.cuid})`),i.node.style.pointerEvents="none",u.add(i)})}),a.add(u)}function R(t,e){const a=S.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 T(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=S.parseHex(t[s])||[0,0,0],o=S.parseHex(t[Math.min(s+1,t.length-1)])||r,l=(t,e)=>Math.round(t+(e-t)*i);return`rgb(${l(r[0],o[0])},${l(r[1],o[1])},${l(r[2],o[2])})`}function M(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 B(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 _(t,e,a){return`M ${t-a} ${e-a} h ${2*a} v ${2*a} h ${-2*a} z `}class z extends O{_identityLost(t,e){if(!y(this.w))return!1;const a=this._prevKeyedPaths(t);if(!a||0===a.size||!e||0===e.length)return!1;let s=0;for(let i=0;i<e.length;i++)a.has(v(this.w,t,i))&&s++;return s/a.size<.5}_prevBoxHalf(t,e,a){if(!this.isBoxPlot)return null;this._prevHalves||(this._prevHalves={});let s=this._prevHalves[t];if(void 0===s){s=null;const e=this._prevRecord(t);if(e&&e.paths.every(t=>null!=t.key)){s=new Map;for(const t of e.paths){const e=s.get(t.key)||[];e.push(t.d),s.set(t.key,e)}}this._prevHalves[t]=s}const i=s&&s.get(v(this.w,t,e));return i&&2===i.length?i[a]:null}draw(t,e,a){var s;const i=this.w,r=new b(this.w),o=i.globals.comboCharts?e:i.config.chart.type,h=new L(this.w);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=i.config.plotOptions.bar.horizontal,this.isOHLC=this.candlestickOptions&&"ohlc"===this.candlestickOptions.type,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 d=r.group({class:`apexcharts-${o}-series apexcharts-plot-series`});this.isBoxPlot="boxPlot"===o;for(let e=0;e<t.length;e++){let c,b;const u=[],g=[],p=i.globals.comboCharts?a[e]:e,{columnGroupIndex:x}=this.barHelpers.getGroupIndex(p),f=r.group({class:"apexcharts-series",seriesName:S.escapeString(i.seriesData.seriesNames[p]),rel:e+1,"data:realIndex":p});k.addCollapsedClassToSeries(this.w,f,p),t[e].length>0&&(this.visibleI=this.visibleI+1);const m=this.setSeriesAxis(p),y=this.barHelpers.initialPositions(p),{y:C,barHeight:w,yDivision:I,zeroW:L,x:H,barWidth:A,xDivision:D,zeroH:W}=y;b=C,c=H,g.push(c+(null!=A?A:0)/2);const O=r.group({class:"apexcharts-datalabels","data:realIndex":p}),R=r.group({class:"apexcharts-bar-goals-markers"}),T=this.isBoxPlot?this.boxOptions.points:null,M=[],B=i.layout.gridWidth,_=Math.max(null!=A?A:0,i.globals.barPadForNumericAxis||0),z=0===t[e].length?0:i.globals.dataPoints,j=this._identityLost(p,t[e]);for(let a=0;a<z;a++){const r=this.barHelpers.getStrokeWidth(e,a,p);let d=null;const y={indexes:{i:e,j:a,realIndex:p,translationsIndex:m},x:c,y:b,strokeWidth:r,elSeries:f};if(d=this.isHorizontal?this.drawHorizontalBoxPaths(n(l({},y),{yDivision:I,barHeight:w,zeroW:L})):this.drawVerticalBoxPaths(n(l({},y),{xDivision:D,barWidth:A,zeroH:W,cullBounds:{lo:-_,hi:B+_}})),b=d.y,c=d.x,a>0&&g.push(c+(null!=A?A:0)/2),u.push(b),d.culled)continue;const v=this.barHelpers.drawGoalLine({barXPosition:d.barXPosition,barYPosition:d.barYPosition,goalX:d.goalX,goalY:d.goalY,barHeight:w,barWidth:A});if(v&&R.add(v),d.pathTo.forEach((s,l)=>{var n;const u=!this.isBoxPlot&&this.candlestickOptions.wick.useFillColor?d.color[l]:i.globals.stroke.colors[p],g=h.fillPath({seriesNumber:p,dataPointIndex:a,color:d.color[l],value:t[e][a]});this.renderSeries({realIndex:p,pathFill:g,lineFill:u,j:a,i:e,pathFrom:null!=(n=this._prevBoxHalf(p,a,l))?n:d.pathFrom,fadeReveal:j,pathTo:s,strokeWidth:r,elSeries:f,x:c,y:b,series:t,columnGroupIndex:x,barHeight:w,barWidth:A,elDataLabelsWrap:O,elGoalsMarkers:R,visibleSeries:this.visibleI,type:o})}),T&&!1!==T.show){const t=null==(s=i.candleData.seriesBoxPoints[p])?void 0:s[a];if(t&&t.length){const e=t=>this.coreUtils.getLogValAtSeriesIndex(t,p);let s,r,o;if(this.isHorizontal){const t=this.invertedYRatio,a=null!=w?w:0,i=null!=L?L:0;s=d.barYPosition+a/2,r=a/2,o=a=>i+e(a)/t}else{const t=this.yRatio[m],a=null!=A?A:0,i=null!=W?W:0;s=d.barXPosition+a/2,r=a/2,o=a=>i-e(a)/t}const l=X({w:i,points:t,seedA:p,seedB:a,center:s,halfExtent:r,alongFn:o,isHorizontal:this.isHorizontal,options:T});l.length&&M.push({groups:l,j:a})}}}if(T&&F({graphics:r,w:i,elSeries:f,pointsByCat:M,options:T,distributed:i.config.plotOptions.bar.distributed,realIndex:p,wrapClass:"apexcharts-boxPlot-points-wrap",pointClass:"apexcharts-boxPlot-points"}),i.globals.seriesXvalues[p]=g,i.globals.seriesYvalues[p]=u,i.globals.previousPaths.length>0&&!j){const a=[];for(let s=0;s<t[e].length;s++)a.push(v(i,p,s));P({w:i,elSeries:f,record:this._prevRecord(p),newKeys:a,isHorizontal:this.isHorizontal,speed:i.config.chart.animations.dynamicAnimation.speed})}d.add(f)}return d}drawVerticalBoxPaths({indexes:t,x:e,xDivision:a,barWidth:s,zeroH:i,strokeWidth:r,cullBounds:o=null}){var l,n,h,d;const c=this.w,u=new b(this.w),g=t.i,p=t.j,{colors:x}=c.config.plotOptions.candlestick,{colors:f}=this.boxOptions,m=t.realIndex,y=t=>Array.isArray(t)?t[m]:t,v=y(x.upward),C=y(x.downward),w=this.yRatio[t.translationsIndex],P=this.getOHLCValue(m,p);let I=i,k=i,L=P.o<P.c?[v]:[C];this.isBoxPlot&&(L=[y(f.lower),y(f.upper)]);let S,H=Math.min(P.o,P.c),A=Math.max(P.o,P.c),D=P.m,W=e+s*this.visibleI;if(c.axisFlags.isXNumeric){const t=this.getBarXForNumericXAxis({x:e,barWidth:s,realIndex:m,j:p});e=t.x,W=t.barXPosition}if(void 0===(null==(l=this.series[g])?void 0:l[p])||null===(null==(n=this.series[g])?void 0:n[p])?(H=i,A=i):(H=i-H/w,A=i-A/w,I=i-P.h/w,k=i-P.l/w,D=i-P.m/w),o&&(W+s<o.lo||W>o.hi)&&!this._wasOnScreen(m,p))return{pathTo:null,pathFrom:null,x:c.axisFlags.isXNumeric?e:e+a,y:A,barXPosition:W,color:L,culled:!0};if(this.isOHLC){const t=W+s/2,e=i-P.o/w,a=i-P.c/w;S=[u.move(t,I)+u.line(t,k)+u.move(t,e)+u.line(W,e)+u.move(t,a)+u.line(W+s,a)]}else S=this.isBoxPlot?[u.move(W,H)+u.line(W+s/2,H)+u.line(W+s/2,I)+u.line(W+s/4,I)+u.line(W+s-s/4,I)+u.line(W+s/2,I)+u.line(W+s/2,H)+u.line(W+s,H)+u.line(W+s,D)+u.line(W,D)+u.line(W,H+r/2),u.move(W,D)+u.line(W+s,D)+u.line(W+s,A)+u.line(W+s/2,A)+u.line(W+s/2,k)+u.line(W+s-s/4,k)+u.line(W+s/4,k)+u.line(W+s/2,k)+u.line(W+s/2,A)+u.line(W,A)+u.line(W,D)+"z"]:[u.move(W,A)+u.line(W+s/2,A)+u.line(W+s/2,I)+u.line(W+s/2,A)+u.line(W+s,A)+u.line(W+s,H)+u.line(W+s/2,H)+u.line(W+s/2,k)+u.line(W+s/2,H)+u.line(W,H)+u.line(W,A-r/2)];let O=null;const X=null==(d=null==(h=this.ctx)?void 0:h.morphTypeChange)?void 0:d.getInitialPathFor(m,p);return X?O=X:c.globals.previousPaths.length>0&&(O=this.getPreviousPath(m,p,S[0])),null==O&&(O=u.move(W+s/2,H)+u.move(W,H)),c.axisFlags.isXNumeric||(e+=a),{pathTo:S,pathFrom:O,x:e,y:A,goalY:this.barHelpers.getGoalValues("y",null,i,m,p,t.translationsIndex),barXPosition:W,color:L}}drawHorizontalBoxPaths({indexes:t,y:e,yDivision:a,barHeight:s,zeroW:i,strokeWidth:r}){var o,l,n,h;const d=this.w,c=new b(this.w),u=t.i,g=t.j,p=t.realIndex,{colors:x}=d.config.plotOptions.candlestick,{colors:f}=this.boxOptions,m=t=>Array.isArray(t)?t[p]:t,y=this.invertedYRatio,v=this.getOHLCValue(p,g);let C=v.o<v.c?[m(x.upward)]:[m(x.downward)];this.isBoxPlot&&(C=[m(f.lower),m(f.upper)]);let w=i,P=i,I=Math.min(v.o,v.c),k=Math.max(v.o,v.c),L=v.m;const S=e+s*this.visibleI;void 0===(null==(o=this.series[u])?void 0:o[g])||null===(null==(l=this.series[u])?void 0:l[g])?(I=i,k=i):(I=i+I/y,k=i+k/y,w=i+v.h/y,P=i+v.l/y,L=i+v.m/y);const H=[c.move(I,S)+c.line(I,S+s/2)+c.line(w,S+s/2)+c.line(w,S+s/2-s/4)+c.line(w,S+s/2+s/4)+c.line(w,S+s/2)+c.line(I,S+s/2)+c.line(I,S+s)+c.line(L,S+s)+c.line(L,S)+c.line(I+r/2,S),c.move(L,S)+c.line(L,S+s)+c.line(k,S+s)+c.line(k,S+s/2)+c.line(P,S+s/2)+c.line(P,S+s-s/4)+c.line(P,S+s/4)+c.line(P,S+s/2)+c.line(k,S+s/2)+c.line(k,S)+c.line(L,S)+"z"];let A=null;const D=null==(h=null==(n=this.ctx)?void 0:n.morphTypeChange)?void 0:h.getInitialPathFor(p,g);return D?A=D:d.globals.previousPaths.length>0&&(A=this.getPreviousPath(p,g,H[0])),null==A&&(A=c.move(I,S+s/2)+c.move(I,S)),{pathTo:H,pathFrom:A,x:k,y:e+=a,goalX:this.barHelpers.getGoalValues("x",i,null,p,g,0),barYPosition:S,color:C}}getOHLCValue(t,e){const a=this.w,s=this.coreUtils,i=a=>a[t]&&null!=a[t][e]?s.getLogValAtSeriesIndex(a[t][e],t):0,r=i(a.candleData.seriesCandleH),o=i(a.candleData.seriesCandleO),l=i(a.candleData.seriesCandleM),n=i(a.candleData.seriesCandleC),h=i(a.candleData.seriesCandleL);return{o:this.isBoxPlot?r:o,h:this.isBoxPlot?o:r,m:l,l:this.isBoxPlot?n:h,c:this.isBoxPlot?h:n}}}d.default.use({candlestick:z,boxPlot:z}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>d.default});
|
|
5
|
+
"use strict";var t=Object.defineProperty,e=Object.defineProperties,s=Object.getOwnPropertyDescriptors,a=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,o=(e,s,a)=>s in e?t(e,s,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[s]=a,l=(t,e)=>{for(var s in e||(e={}))i.call(e,s)&&o(t,s,e[s]);if(a)for(var s of a(e))r.call(e,s)&&o(t,s,e[s]);return t},n=(t,a)=>e(t,s(a));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 s in t)if("default"!==s){const a=Object.getOwnPropertyDescriptor(t,s);Object.defineProperty(e,s,a.get?a:{enumerable:!0,get:()=>t[s]})}return e.default=t,Object.freeze(e)}const d=h(require("apexcharts/core")),c=d.__apex_CoreUtils,b=d.__apex_Graphics,u=d.__apex_DataLabels,g=(t,e,s,a)=>{if("function"!=typeof t)return t;const i=t({series:e.seriesData.series,seriesIndex:s,dataPointIndex:a,w:e});return Number.isFinite(i)?i:0};class p{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,s,a,i,r,o;const{x:h,y:d,y1:c,y2:u,i:p,j:x,realIndex:f,columnGroupIndex:m,barHeight:y,barWidth:v,barXPosition:C,barYPosition:w,visibleSeries:P,hl:k,noLabel:I}=t,L=this.w,S=new b(this.barCtx.w);this.hlt=null==k?void 0:k.total;const H=L.waterfallData&&L.waterfallData.values,A=k&&null!=k.val?k.val:H&&H[f]&&null!=H[f][x]?H[f][x]:null,D=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[f]:this.barCtx.strokeWidth;let W,O;L.axisFlags.isXNumeric&&!L.globals.isBarHorizontal?(W=h+v*(P+1),O=d+y*(P+1)-D):(W=h+v*P,O=d+y*P);let R=null,X=null,F=h,_=d,B={};const M=L.config.dataLabels,T=this.barCtx.barOptions.dataLabels,z=this.barCtx.barOptions.dataLabels.total;void 0!==w&&(this.barCtx.isRangeBar||this.barCtx.isPyramid)&&(O=w,_=w),void 0!==C&&this.barCtx.isVerticalGroupedRangeBar&&(W=C,F=C);const j=g(M.offsetX,L,f,x),Y=g(M.offsetY,L,f,x),G=(null==k?void 0:k.hide)?void 0:null!==A?A:void 0!==u?[c,u]:"100%"===L.config.chart.stackType?L.globals.seriesPercent[f][x]:L.seriesData.series[f][x];let $,V={width:0,height:0};M.enabled&&($=void 0===G?"":M.formatter(G,n(l({},L),{seriesIndex:f,dataPointIndex:x,w:L})),V=S.getTextRects($,parseFloat(M.style.fontSize).toString(),M.style.fontFamily,void 0,!0,M.style.fontWeight));const E={x:null!=(e=null==k?void 0:k.x)?e:h,y:null!=(s=null==k?void 0:k.y)?s:d,neg:k&&null!=k.val?k.val<0:void 0,i:p,j:x,realIndex:f,columnGroupIndex:m,bcx:W,bcy:O,barHeight:null!=(a=null==k?void 0:k.barHeight)?a:y,barWidth:null!=(i=null==k?void 0:k.barWidth)?i:v,textRects:V,strokeWidth:D,dataLabelsX:F,dataLabelsY:_,dataLabelsConfig:M,barDataLabelsConfig:T,barTotalDataLabelsConfig:z,offX:j,offY:Y};if(B=this.barCtx.isHorizontal?this.calculateBarsDataLabelsPosition(E):this.calculateColumnsDataLabelsPosition(E),null!==A&&this.barCtx.isHorizontal&&"center"===T.position){const t=null==(o=null==(r=L.waterfallData.geometry)?void 0:r[f])?void 0:o[x];t&&t.horizontal&&(B.dataLabelsX=(t.levelStart+t.levelEnd)/2+j)}return R=I?null:this.drawCalculatedDataLabels({x:B.dataLabelsX,y:B.dataLabelsY,neg:E.neg,val:G,text:$,i:f,j:x,barWidth:E.barWidth,barHeight:E.barHeight,textRects:V,dataLabelsConfig:M}),L.config.chart.stacked&&z.enabled&&!1!==this.hlt&&(X=this.drawTotalDataLabels({x:B.totalDataLabelsX,y:B.totalDataLabelsY,barWidth:v,barHeight:y,realIndex:f,j:x,textAnchor:B.totalDataLabelsAnchor,val:this.getStackedTotalDataLabel({realIndex:f,j:x}),rawVal:this.getStackedTotalValue({realIndex:f,j:x}),dataLabelsConfig:M,barTotalDataLabelsConfig:z})),{dataLabelsPos:B,dataLabels:R,totalDataLabels:X}}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}}drawsStackedTotal(t){const e=this.barCtx.lastActiveBarSerieIndexByGroup,s=this.getTotalGroupContext(t);return s&&e&&e.length>s.groupIndex?e[s.groupIndex]===t:this.barCtx.lastActiveBarSerieIndex===t}getStackedTotalValue({realIndex:t,j:e}){if(this.hlt)return this.hlt.val;const s=this.w,a=this.xStackTop(t,e);if(a)return a[3];const i=this.getTotalGroupContext(t),r=s.seriesData.stackedSeriesTotalsByGroups;return i&&r&&r[i.groupIndex]?r[i.groupIndex][e]:this.barCtx.stackedSeriesTotals[e]}xStackTop(t,e){var s,a;const i=this.w;return i.axisFlags.isXNumeric&&(null==(a=null==(s=this.barCtx.stacks)?void 0:s[i.labelData.seriesGroupIndex[t]])?void 0:a.tops.get(i.seriesData.seriesX[t][e]))}totalRects(t,e){const s=this.barCtx.barOptions.dataLabels.total.style;return new b(this.w).getTextRects(this.getStackedTotalDataLabel({realIndex:t,j:e}),s.fontSize,s.fontFamily,void 0,!0,s.fontWeight)}getStackedTotalDataLabel({realIndex:t,j:e}){const s=this.w;let a=this.getStackedTotalValue({realIndex:t,j:e});return this.totalFormatter&&(a=this.totalFormatter(a,n(l({},s),{seriesIndex:t,dataPointIndex:e,w:s}))),a}calculateColumnsDataLabelsPosition(t){var e;const s=this.w;let a,i,{j:r,realIndex:o,y:l,bcx:n,barWidth:h,barHeight:d,textRects:c,dataLabelsX:b,dataLabelsY:u,barDataLabelsConfig:g,barTotalDataLabelsConfig:p,strokeWidth:x,offX:f,offY:m}=t;const y=n;d=Math.abs(d);const v="vertical"===s.config.plotOptions.bar.dataLabels.orientation,{zeroEncounters:C}=this.barCtx.barHelpers.getZeroValueEncounters({i:o,j:r});n-=x/2;const w=s.layout.gridWidth/s.globals.dataPoints;if(this.barCtx.isVerticalGroupedRangeBar?b+=h/2:(b=s.axisFlags.isXNumeric?n-h/2+f:n-w+h/2+f,!s.config.chart.stacked&&C>0&&s.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(b-=h*C)),v){const t=2;b=b+c.height/2-x/2-t}const P=null!=(e=t.neg)?e:s.seriesData.series[o][r]<0;let k=l;switch(this.barCtx.isReversed&&(k=l+(P?d:-d)),g.position){case"center":u=v?P?k-d/2+m:k+d/2-m:P?k-d/2+c.height/2+m:k+d/2+c.height/2-m;break;case"bottom":u=v?P?k-d+m:k+d-m:P?k-d+c.height+x+m:k+d-c.height/2+x-m;break;case"top":u=v?P?k+m:k-m:P?k-c.height/2-m:k+c.height+m}let I=k;const L=this.getTotalGroupContext(o),S=this.xStackTop(o,r),H=S?[]:this.barCtx.stacks||[];if(S&&(I=P?Math.max(k,S[5]):Math.min(k,S[4])),H.forEach((t,e)=>{L&&e!==L.groupIndex||t.prevY.forEach(t=>{I=P?Math.max(t[r],I):Math.min(t[r],I)})}),this.hlt&&(I=this.hlt.edge),this.drawsStackedTotal(o)&&p.enabled){const t=this.totalRects(o,r).height;a=P?I+.77*t-m-p.offsetY:I-.3*t+m+p.offsetY;const e=w;i=y+(s.axisFlags.isXNumeric?-h/2:h/2-e)+p.offsetX}return s.config.chart.stacked||(u<0?u=0+x:u+c.height/3>s.layout.gridHeight&&(u=s.layout.gridHeight-x)),{bcx:n,bcy:l,dataLabelsX:b,dataLabelsY:u,totalDataLabelsX:i,totalDataLabelsY:a,totalDataLabelsAnchor:"middle"}}calculateBarsDataLabelsPosition(t){var e,s;const a=this.w;let{x:i,j:r,realIndex:o,bcy:l,barHeight:n,barWidth:h,textRects:d,dataLabelsX:c,strokeWidth:b,dataLabelsConfig:u,barDataLabelsConfig:g,barTotalDataLabelsConfig:p,offX:x,offY:f}=t;const m=a.layout.gridHeight/a.globals.dataPoints,{zeroEncounters:y}=this.barCtx.barHelpers.getZeroValueEncounters({i:o,j:r});let v,C,w;if(h=Math.abs(h),this.barCtx.isPyramid){v=l+n/2+f-(null!=(e=d.centerOffset)?e:0)}else v=l-(this.barCtx.isRangeBar?0:m)+n/2+d.height/2+f-3;!a.config.chart.stacked&&y>0&&a.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(v-=n*y);let P="start";const k=null!=(s=t.neg)?s:a.seriesData.series[o][r]<0;let I=i;if(this.barCtx.isReversed&&(I=i+(k?-h:h),P=k?"start":"end"),this.barCtx.isPyramid)c=a.layout.gridWidth/2+x;else switch(g.position){case"center":c=k?I+h/2-x:Math.max(d.width/2,I-h/2)+x;break;case"bottom":c=k?I+h-b-x:I-h+b+x;break;case"top":c=k?I-b-x:I-b+x}let L=I;const S=this.getTotalGroupContext(o),H=this.xStackTop(o,r),A=H?[]:this.barCtx.stacks||[];if(H&&(L=k?Math.min(I,H[4]):Math.max(I,H[5])),A.forEach((t,e)=>{S&&e!==S.groupIndex||t.prevX.forEach(t=>{L=k?Math.min(t[r],L):Math.max(t[r],L)})}),this.hlt&&(L=this.hlt.edge),this.drawsStackedTotal(o)&&p.enabled){const t=this.totalRects(o,r);k?(C=L-b-x-p.offsetX,P="end"):C=L+x+p.offsetX+(this.barCtx.isReversed?-(h+b):b),w=v-d.height/2+t.height/2+p.offsetY+b,a.globals.barGroups.length>1&&!S&&(w-=a.globals.barGroups.length/2*(n/2))}if(!a.config.chart.stacked){const t=k&&"middle"!==u.textAnchor?"start"===u.textAnchor?"end":"start":u.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-b&&(c=a.layout.gridWidth-s-b),c-e<b&&(c=e+b)}return{bcx:i,bcy:l,dataLabelsX:c,dataLabelsY:v,totalDataLabelsX:C,totalDataLabelsY:w,totalDataLabelsAnchor:P}}drawCalculatedDataLabels({x:t,y:e,val:s,text:a,neg:i,i:r,j:o,textRects:h,barHeight:d,barWidth:c,dataLabelsConfig:g}){var p,x,f;const m=this.w;let y="rotate(0)";"vertical"===m.config.plotOptions.bar.dataLabels.orientation&&(y=`rotate(-90, ${t}, ${e})`);const v=new u(this.barCtx.w,this.barCtx.ctx),C=new b(this.barCtx.w),w=g.formatter;let P=null;const k=m.globals.collapsedSeriesIndices.indexOf(r)>-1,I=(m.globals.collapsingSeriesIndices||[]).indexOf(r)>-1,L=`${r}::${this.barCtx._keys(r)[o]}`;if(I){const t=null==(p=m.globals.prevDataLabels)?void 0:p.get(L);t&&isFinite(t.val)&&(s=t.val,a=void 0)}if(g.enabled&&(!k||I)){P=C.group({class:"apexcharts-data-labels",transform:y});const b=m.config.dataLabels;((null==(x=b.animate)?void 0:x.enabled)||(null==(f=b.countUp)?void 0:f.enabled))&&(P.node.setAttribute("data:dlKey",L),P.node.setAttribute("data:dlJ",String(o)),"number"==typeof s&&isFinite(s)&&P.node.setAttribute("data:dlVal",String(s))),void 0===s?a="":void 0===a&&(a=w(s,n(l({},m),{seriesIndex:r,dataPointIndex:o,w:m}))),!s&&m.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(a="");let u=g.textAnchor;"vertical"===m.config.plotOptions.bar.dataLabels.orientation&&(u="center"===m.config.plotOptions.bar.dataLabels.position?"middle":(null!=i?i:m.seriesData.series[r][o]<0)?"end":"start"),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels&&c<h.width&&(a=""),m.config.chart.stacked&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels&&!I&&(this.barCtx.isHorizontal?h.width/1.6>Math.abs(c)&&(a=""):h.height/1.6>Math.abs(d)&&(a=""));const p=n(l({},g),{textAnchor:u});this.barCtx.isHorizontal&&s<0&&("start"===u?p.textAnchor="end":"end"===u&&(p.textAnchor="start")),v.plotDataLabelsText({x:t,y:e,text:a,i:r,j:o,parent:P,dataLabelsConfig:p,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return P}drawTotalDataLabels({x:t,y:e,val:s,rawVal:a,realIndex:i,j:r,textAnchor:o,barTotalDataLabelsConfig:l}){var n,h;const d=new b(this.barCtx.w);let c;if(l.enabled&&void 0!==t&&void 0!==e&&this.drawsStackedTotal(i)){c=d.drawText({x:t,y:e,foreColor:l.style.color,text:s,textAnchor:o,fontFamily:l.style.fontFamily,fontSize:l.style.fontSize,fontWeight:l.style.fontWeight}),c.attr({class:"apexcharts-datalabel-total",cx:t,cy:e});const b=this.w.config.dataLabels;if((null==(n=b.animate)?void 0:n.enabled)||(null==(h=b.countUp)?void 0:h.enabled)){const{groupIndex:t}=this.barCtx.barHelpers.getGroupIndex(i);c.node.setAttribute("data:dlTotalKey",`${t}::${this.barCtx._keys(i)[r]}`),c.node.setAttribute("data:dlTotalSeries",String(i)),"number"==typeof a&&isFinite(a)&&c.node.setAttribute("data:dlTotalVal",String(a))}}return c}}const x=d.__apex_Series,f=d.__apex_Fill,m=d.__apex_Utils;function y(t){var e,s,a,i,r,o,l;return"histogram"===(null==(s=null==(e=null==t?void 0:t.config)?void 0:e.chart)?void 0:s.requestedType)&&(!1!==(null==(i=null==(a=t.config.plotOptions)?void 0:a.histogram)?void 0:i.overlap)&&(null!=(l=null==(o=null==(r=t.seriesData)?void 0:r.series)?void 0:o.length)?l:0)>1)}class v{constructor(t){this.w=t.w,this.barCtx=t}initVariables(t,e){const s=this.w;this.seriesIndex=e,this.barCtx.series=t,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(let e=0;e<t.length;e++)if(t[e].length>0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[e].length),s.axisFlags.isXNumeric)for(let a=0;a<t[e].length;a++)s.seriesData.seriesX[e][a]>s.globals.minX&&s.seriesData.seriesX[e][a]<s.globals.maxX&&this.barCtx.visibleItems++;else this.barCtx.visibleItems=s.globals.dataPoints;const a=s.labelData.labels;this.rows=s.globals.isBarHorizontal&&s.axisFlags.isXNumeric&&!this.barCtx.isRangeBar&&s.seriesData.seriesX.some(t=>null==t?void 0:t.some((t,e)=>t!==a[e]))?new Map(a.map((t,e)=>[t,e])):null,this.arrBorderRadius=this.createBorderRadiusArr(s.seriesData.series),m.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 s=t.globals.maxX-t.globals.minX;e=s>0?s/4:0}else if(e=this._unionMinXGap(),!(e>0&&isFinite(e))){const s=t.globals.minXDiff;e=s>0&&isFinite(s)&&.5!==s?s:0}return this._slotXSpan=e,e}_unionMinXGap(){const t=this.w.seriesData.seriesX||[],e=this.seriesIndex,s=[];for(let a=0;a<t.length;a++){const i=t[a];e&&e.indexOf(a)<0||Array.isArray(i)&&i.length>0&&s.push(i.some((t,e)=>t<i[e-1])?i.filter(t=>t===+t).sort((t,e)=>t-e):i)}if(!s.length)return 0;const a=new Array(s.length).fill(0);let i=NaN,r=1/0;for(;;){let t=1/0,e=-1;for(let i=0;i<s.length;i++){const r=s[i];for(;a[i]<r.length&&"number"!=typeof r[a[i]];)a[i]++;if(a[i]>=r.length)continue;const o=r[a[i]];o==o?o<t&&(t=o,e=i):(a[i]++,i--)}if(-1===e)break;if(a[e]++,i==i){const e=t-i;e>0&&e<r&&(r=e)}i=t}return isFinite(r)?r:0}barRow(t,e){var s,a,i;return null!=(i=null==(a=this.rows)?void 0:a.get(null==(s=this.w.seriesData.seriesX[t])?void 0:s[e]))?i:e}initialPositions(t){const e=this.w;let s,a,i,r,o,l,n,h,d=e.globals.dataPoints;this.barCtx.isRangeBar&&(d=e.labelData.labels.length);let c=this.barCtx.seriesLen;if((e.config.plotOptions.bar.rangeBarGroupRows||y(e))&&(c=1),this.barCtx.isHorizontal)i=e.layout.gridHeight/d,o=i/c,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),a=(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),l=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),l=r/c*parseInt(this.barCtx.barOptions.columnWidth,10)/100,l<1&&(l=1)}if(-1===String(this.barCtx.barOptions.columnWidth).indexOf("%")&&(l=parseInt(this.barCtx.barOptions.columnWidth,10)),n=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){s=this.barCtx.getBarXForNumericXAxis({x:s,j:0,realIndex:t,barWidth:l}).x}else s=e.globals.padHorizontal+m.noExponents(r-l*this.barCtx.seriesLen)/2}return e.globals.barHeight=o,e.globals.barWidth=l,{x:s,y:a,yDivision:i,xDivision:r,barHeight:o,barWidth:l,zeroH:n,zeroW:h}}initializeStackedPrevVars(t){t.stacks=t.w.labelData.seriesGroups.map(()=>({prevY:[],prevX:[],prevYF:[],prevXF:[],prevYVal:[],prevXVal:[],tops:new Map}))}initializeStackedXYVars(t){t.stacks.forEach(t=>{t.xArrj=[],t.xArrjF=[],t.xArrjVal=[],t.yArrj=[],t.yArrjF=[],t.yArrjVal=[]})}getPathFillColor(t,e,s,a){var i;const r=this.w,o=new f(this.barCtx.w);let l=null;const n=this.barCtx.barOptions.distributed?s:e;let h=!1;if(this.barCtx.barOptions.colors.ranges.length>0){this.barCtx.barOptions.colors.ranges.map(a=>{t[e][s]>=a.from&&t[e][s]<=a.to&&(l=a.color,h=!0)})}const d=this.getDumbbellConnectorFill(e,s)||(null==(i=r.config.series[a].data[s])?void 0:i.fill),c=this.barCtx.barOptions.isDumbbell?r.config.plotOptions.bar.dumbbell.connector:null;let b;c&&c.color&&(l=c.color,b=c.opacity);return{color:o.fillPath({seriesNumber:this.barCtx.barOptions.distributed?n:a,dataPointIndex:s,color:l,opacity:b,value:t[e][s],fillConfig:d,fillType:(null==d?void 0:d.type)?d.type:Array.isArray(r.config.fill.type)?r.config.fill.type[a]:r.config.fill.type}),useRangeColor:h}}getDumbbellConnectorFill(t,e){const s=this.w;if(!this.barCtx.barOptions.isDumbbell)return null;const a=s.dumbbellData;if(!a||"series"!==a.form)return null;const i=s.config.plotOptions.bar.dumbbell.connector;if(i.color)return null;const r=a.order[e];if(!r)return null;const o=s.globals.colors[r[0]],l=s.globals.colors[r[1]];return o&&l?{type:"gradient",gradient:{type:this.barCtx.isHorizontal?"horizontal":"vertical",gradientFrom:o,gradientTo:l,opacityFrom:i.opacity,opacityTo:i.opacity,stops:[0,100],inverseColors:!this.barCtx.isHorizontal}}:null}getStrokeWidth(t,e,s){let a=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||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[s]:this.barCtx.strokeWidth)),a}getStackedSeriesIndices(t){const e=this.w,s=e.labelData.seriesGroups,a=e.globals.columnSeries?new Set(e.globals.columnSeries.i):null,i=t=>!a||a.has(t);if(!s||s.length<2){const e=Array.from({length:t},(t,e)=>e).filter(i);return e.length?[e]:[]}const r=Array.from({length:s.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){const e=this.w,s=!this.w.config.chart.stacked||e.config.plotOptions.bar.borderRadius<=0,a=t.length,i=Math.max(0,...t.map(t=>0|(null==t?void 0:t.length))),r=Array.from({length:a},()=>Array(i).fill(s?"top":"none"));if(s)return r;const o="last"===e.config.plotOptions.bar.borderRadiusWhenStacked,l=o?"top":"both",n=o?"bottom":"both",h=o?"none":"bottom",d=o?"none":"top";for(const e of this.getStackedSeriesIndices(a))for(let s=0;s<i;s++){const a=[],i=[];for(const r of e){const e=t[r][s];e>0?a.push(r):e<0&&i.push(r)}if(a.length>0&&0===i.length)if(1===a.length)r[a[0]][s]=l;else{const t=a[0],e=a[a.length-1];for(const i of a)r[i][s]=i===t?h:i===e?"top":"none"}else if(i.length>0&&0===a.length)if(1===i.length)r[i[0]][s]=n;else{const t=Math.min(...i),e=Math.max(...i);for(const a of i)r[a][s]=a===t?d:a===e?"bottom":"none"}else if(a.length>0&&i.length>0){const t=a[a.length-1];for(const e of a)r[e][s]=e===t?"top":"none";const e=Math.max(...i);for(const t of i)r[t][s]=t===e?"bottom":"none"}}return r}barBackground({j:t,i:e,x1:s,x2:a,y1:i,y2:r,elSeries:o}){const l=this.w,n=new b(this.barCtx.w),h=new x(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=n.drawRect(void 0!==s?s:0,void 0!==i?i:0,void 0!==a?a:l.layout.gridWidth,void 0!==r?r:l.layout.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,e,this.barCtx.barOptions.colors.backgroundBarOpacity);o.add(h),h.node.classList.add("apexcharts-backgroundBar")}}barRect({a:t,len:e,v1:s,v2:a,strokeWidth:i,realIndex:r,j:o,dir:l,horizontal:n}){const h=this.w,d=new b(h);(i=Array.isArray(i)?i[r]:i)||(i=0);const c=h.config.series[r].data[o],u=n?null==c?void 0:c.barHeightOffset:null==c?void 0:c.columnWidthOffset;u&&(t-=u/2,e+=u);const g=i/2,p=l*(this.barCtx.isReversed?-1:1),x="around"===h.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[r][o]?" Z":" z";let f,m,y,v,C,w;n?(y=t+g,v=t+e-g,f=s+.001+g*p,m=a+.001-g*p,C=d.line(f,v),w=d.move(f,y)+d.line(m,y)+d.line(m,v)+C+x):(f=t+g,m=t+e-g,y=s+.001-g*p,v=a+.001+g*p,C=d.line(m,y),w=d.move(f,y)+d.line(f,v)+d.line(m,v)+C+x);return{x1:f,x2:m,y1:y,y2:v,sl:C,closing:x,squarePathTo:w,pathTo:"none"!==this.arrBorderRadius[r][o]?d.roundPathCorners(w,h.config.plotOptions.bar.borderRadius):w,base:d.move(f,y)+d.line(f,y)+C+C+C+C+C+d.line(f,y)+x,strokeWidth:i,strokeCenter:g,direction:p}}getColumnPaths({barWidth:t,barXPosition:e,y1:s,y2:a,strokeWidth:i,series:r,realIndex:o,i:l,j:n,w:h}){var d,c,b;const u=this.barRect({a:e,len:t,v1:s,v2:a,strokeWidth:i,realIndex:o,j:n,dir:r[l][n]>=0?1:-1}),{pathTo:g,squarePathTo:p,strokeCenter:x,direction:f}=u;s=u.y1,a=u.y2;let m=null;const y=null==(c=null==(d=this.barCtx.ctx)?void 0:d.morphTypeChange)?void 0:c.getInitialPathFor(o,n);if(y?m=y:h.globals.previousPaths.length>0&&(m=this.barCtx.getPreviousPath(o,n,g,p)),null==m&&(m=u.base),h.config.chart.stacked){const t=this.barCtx.groupCtx;t.yArrj.push(a-x*f),t.yArrjF.push(Math.abs(s-a+u.strokeWidth*f)),t.yArrjVal.push(null!=(b=this.barCtx.series[l][n])?b:null)}return{pathTo:g,pathFrom:m,drawnBox:{x1:u.x1,x2:u.x2,y1:s,y2:a}}}getFunnelTrapezoidPaths({barYPosition:t,barHeight:e,series:s,i:a,j:i,realIndex:r,strokeWidth:o,w:l}){var n,h;const d=new b(this.barCtx.w),c=l.layout.gridWidth/2,u=t=>Math.abs(t/this.barCtx.invertedYRatio)/2,g=u(s[a][i]),p=i===s[a].length-1,x="taper"===l.config.plotOptions.funnel.lastShape?"taper":"flat";let f;f=p?"taper"===x?0:g:u(s[a][i+1]);const m=o/2,y=t+m,v=t+e-m,C=c-g,w=c+g,P=c-f,k=c+f,I=d.move(C,y)+d.line(w,y)+d.line(k,v)+d.line(P,v)+" Z";let L=null;const S=null==(h=null==(n=this.barCtx.ctx)?void 0:n.morphTypeChange)?void 0:h.getInitialPathFor(r,i);return S?L=S:l.globals.previousPaths.length>0&&(L=this.barCtx.getPreviousPath(r,i,I)),null==L&&(L=d.move(c,y)+d.line(c,y)+d.line(c,v)+d.line(c,v)+" Z"),{pathTo:I,pathFrom:L,x:w,x1:C,barXPosition:c}}computePyramidLayout(t){const e=this.w,s=e.layout.gridHeight,a=e.layout.gridWidth,i=t.map(t=>Math.abs(Number(t)||0)),r=i.reduce((t,e)=>t+e,0);if(0===r||s<=0)return i.map(()=>({y:0,height:0,topHalf:0,bottomHalf:0}));const o=a/2;let l=0;const n=[];for(let t=0;t<i.length;t++){const e=l/r;l+=i[t];const a=l/r,h=e*s,d=a*s;n.push({y:h,height:d-h,topHalf:e*o,bottomHalf:a*o})}return n}getPyramidPaths({barYPosition:t,barHeight:e,topHalf:s,bottomHalf:a,realIndex:i,j:r,strokeWidth:o,w:l}){var n,h;const d=new b(this.barCtx.w),c=l.layout.gridWidth/2,u=o/2,g=t+u,p=t+e-u,x=c-s,f=c+s,m=c-a,y=c+a,v=d.move(x,g)+d.line(f,g)+d.line(y,p)+d.line(m,p)+" Z";let C=null;const w=null==(h=null==(n=this.barCtx.ctx)?void 0:n.morphTypeChange)?void 0:h.getInitialPathFor(i,r);return w?C=w:l.globals.previousPaths.length>0&&(C=this.barCtx.getPreviousPath(i,r,v)),null==C&&(C=d.move(c,g)+d.line(c,g)+d.line(c,p)+d.line(c,p)+" Z"),{pathTo:v,pathFrom:C,x:f,x1:x,barXPosition:c}}getBarpaths({barYPosition:t,barHeight:e,x1:s,x2:a,strokeWidth:i,series:r,realIndex:o,i:l,j:n,w:h}){var d,c,u;const g=new b(this.barCtx.w),p=this.barRect({a:t,len:e,v1:s,v2:a,strokeWidth:i,realIndex:o,j:n,dir:r[l][n]>=0?1:-1,horizontal:!0}),{y1:x,y2:f,sl:m,closing:y,squarePathTo:v,pathTo:C,strokeCenter:w,direction:P}=p;s=p.x1,a=p.x2;const k=this.barCtx.isFunnel,I=k?(s+a)/2:s;let L=null;const S=null==(c=null==(d=this.barCtx.ctx)?void 0:d.morphTypeChange)?void 0:c.getInitialPathFor(o,n);if(S?L=S:h.globals.previousPaths.length>0&&(L=this.barCtx.getPreviousPath(o,n,C,v)),null==L){const t=k?g.line(I,f):m;L=g.move(I,x)+g.line(I,x)+t+t+t+t+t+g.line(I,x)+y}if(h.config.chart.stacked){const t=this.barCtx.groupCtx;t.xArrj.push(a+w*P),t.xArrjF.push(Math.abs(s-a-p.strokeWidth*P)),t.xArrjVal.push(null!=(u=this.barCtx.series[l][n])?u:null)}return{pathTo:C,pathFrom:L,drawnBox:{x1:s,x2:a,y1:x,y2:f}}}getXForValue(t,e,s=!0){let a=s?e:null;return null!=t&&(a=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),a}getYForValue(t,e,s,a=!0){let i=a?e:null;return null!=t&&(i=e-t/this.barCtx.yRatio[s]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[s]:0)),i}getGoalValues(t,e,s,a,i,r){const o=this.w,h=[],d=(i,l)=>{o.globals.invalidLogScale||(i=new c(o).getLogValAtSeriesIndex(i,a)),h.push({[t]:"x"===t?this.getXForValue(i,e,!1):this.getYForValue(i,s,r,!1),attrs:l})};if(o.seriesData.seriesGoals[a]&&o.seriesData.seriesGoals[a][i]&&Array.isArray(o.seriesData.seriesGoals[a][i])&&o.seriesData.seriesGoals[a][i].forEach(t=>{d(t.value,t)}),this.barCtx.barOptions.isDumbbell){const e=this.getDumbbellEnds(a,i);if(e.length){const s={strokeHeight:"x"===t?0:o.globals.markers.size[a],strokeWidth:"x"===t?o.globals.markers.size[a]: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=n(l({},s),{strokeColor:t.color});!c.enabled||e!==r&&e!==h||(o.label={text:this.getDumbbellLabelText(t.value,a,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 s=this.w,a=[],i=s.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)&&a.push({value:r,color:s.globals.colors[e],index:e})}return a}if(!s.rangeData.seriesRange.length)return a;const r=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:s.globals.colors,o=e=>Array.isArray(r[t])?r[t][e]:r[t];return[{value:s.rangeData.seriesRangeStart[t][e],color:o(0),index:0},{value:s.rangeData.seriesRangeEnd[t][e],color:o(1),index:1}]}getDumbbellLabelText(t,e,s,a){const i=this.w,r=i.config.plotOptions.bar.dumbbell.dataLabels;if("function"==typeof r.formatter)return r.formatter(t,{seriesIndex:e,dataPointIndex:s,endpointIndex:a,w:i});const o=this.barCtx.isHorizontal?i.formatters.xLabelFormatter:i.formatters.yLabelFormatters[0];return"function"==typeof o?o(t,s,i):String(t)}drawGoalLine({barXPosition:t,barYPosition:e,goalX:s,goalY:a,barWidth:i,barHeight:r}){if(!(Array.isArray(s)&&s.length>0||Array.isArray(a)&&a.length>0))return null;const o=new b(this.barCtx.w),l=o.group({class:"apexcharts-bar-goals-groups"});l.node.classList.add("apexcharts-element-hidden"),this.barCtx.w.globals.delayedElements.push({el:l.node}),l.attr("clip-path",`url(#gridRectMarkerMask${this.barCtx.w.globals.cuid})`);let n=null;return this.barCtx.isHorizontal?Array.isArray(s)&&s.forEach(t=>{if(t.x>=-1&&t.x<=o.w.layout.gridWidth+1){const s=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:r/2,a=e+s+r/2;n=o.drawLine(t.x,a-2*s,t.x,a,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),l.add(n),t.attrs.label&&l.add(this.drawDumbbellLabel(t.attrs,{x:t.x,y:a-s,horizontal:!0,markerSize:t.attrs.strokeWidth||0}))}}):Array.isArray(a)&&a.forEach(e=>{if(e.y>=-1&&e.y<=o.w.layout.gridHeight+1){const s=void 0!==e.attrs.strokeWidth?e.attrs.strokeWidth:i/2,a=t+s+i/2;n=o.drawLine(a-2*s,e.y,a,e.y,e.attrs.strokeColor?e.attrs.strokeColor:void 0,e.attrs.strokeDashArray,e.attrs.strokeHeight?e.attrs.strokeHeight:2,e.attrs.strokeLineCap),l.add(n),e.attrs.label&&l.add(this.drawDumbbellLabel(e.attrs,{x:a-s,y:e.y,horizontal:!1,markerSize:e.attrs.strokeHeight||0}))}}),l}drawDumbbellLabel(t,e){const s=this.w,a=new b(s),i=s.config.plotOptions.bar.dumbbell.dataLabels,r=e.markerSize/2+i.offset,o=t.label.outward;return a.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:s,realIndex:a,j:i}){const r=this.w,{x:o,x1:l,barYPosition:n}=t,{x:h,x1:d,barYPosition:c}=e,u=n+e.barHeight,g=new b(this.barCtx.w),p=new m,x=g.move(l,u)+g.line(o,u)+g.line(h,c)+g.line(d,c)+g.line(l,u)+("around"===r.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[a][i]?" Z":" z");return g.drawPath({d:x,fill:p.shadeColor(.5,m.rgb2hex(s)),stroke:"none",strokeWidth:0,fillOpacity:1,classes:"apexcharts-bar-shadow apexcharts-decoration-element"})}getZeroValueEncounters({i:t,j:e}){var s;const a=this.w;let i=0,r=0;return(a.config.plotOptions.bar.horizontal?a.seriesData.series.map((t,e)=>e):(null==(s=a.globals.columnSeries)?void 0:s.i.map(t=>t))||[]).forEach(s=>{const o=a.seriesData.series[s][e];o&&i++,s<t&&!o&&r++}),{nonZeroColumns:i,zeroEncounters:r}}getSeriesGroupIndex(t){var e;return null!=(e=this.w.labelData.seriesGroupIndex[t])?e:-1}getGroupIndex(t){const e=this.getSeriesGroupIndex(t),s=this.barCtx.columnGroupIndices;let a=s.indexOf(e);return a<0&&(s.push(e),a=s.length-1),{groupIndex:e,columnGroupIndex:a}}}const C=d.__apex_Filters,w=d.__apex_Animations,P=d.__apex_Animations_computeStagger,k=d.__apex_BrowserAPIs_BrowserAPIs,I=d.__apex_Environment_Environment;function L(t){var e;const s=t.config.chart.animations;if(!s||!1===s.enabled)return!1;if(!s.dynamicAnimation||!1===s.dynamicAnimation.enabled)return!1;const a=null!=(e=s.largeDatasetThreshold)?e:0;return!(a>0&&t.globals.dataPoints>a)&&!!(I.isBrowser()&&t.globals.dataChanged&&t.globals.shouldAnimate)}function S(t){const e=new Map;return t.map(t=>{const s=e.get(t)||0;return e.set(t,s+1),0===s?t:`${t}#${s}`})}function H(t,e,s=0|(s=>null==(s=t.seriesData.series[e])?void 0:s.length)()){return S(Array.from({length:s},(s,a)=>function(t,e,s){var a,i,r,o;if(null==(a=t.axisFlags)?void 0:a.isXNumeric){const a=null==(r=null==(i=t.seriesData)?void 0:i.seriesX)?void 0:r[e];if(a&&a.length&&null!=a[s])return"x:"+a[s]}const l=null==(o=t.globals.labels)?void 0:o[s];return null!=l&&""!==String(l)?"c:"+(Array.isArray(l)?l.join(" "):String(l)):"j:"+s}(t,e,a)))}function A(t,e,s=!1,a=!1){var i,r;if(!L(t))return null;const o=t.globals.prevStreamFrame;if(!o)return null;const l=null==(i=o.seriesY)?void 0:i[e],n=null==(r=t.seriesData.series)?void 0:r[e];if(!Array.isArray(l)||!Array.isArray(n))return null;if(!l.length||!n.length)return null;const h=S(l.map((t,s)=>function(t,e,s){var a,i;if(t.isXNumeric){const i=null==(a=t.seriesX)?void 0:a[e];if(i&&i.length&&null!=i[s])return"x:"+i[s]}const r=null==(i=t.labels)?void 0:i[s];return null!=r&&""!==String(r)?"c:"+(Array.isArray(r)?r.join(" "):String(r)):"j:"+s}(o,e,s))),d=H(t,e),c=function(t,e){const s=new Map;t.forEach((t,e)=>{s.has(t)||s.set(t,e)});const a=new Array(e.length),i=new Set;let r=-1,o=!0,l=t.length===e.length;e.forEach((t,e)=>{const n=s.has(t)&&!i.has(s.get(t))?s.get(t):-1;a[e]=n,-1!==n&&(i.add(n),n<r&&(o=!1),r=n),n!==e&&(l=!1)});const n=[];for(let e=0;e<t.length;e++)i.has(e)||n.push(e);return{toOld:a,exits:n,ordered:o,changed:!l}}(h,d);return(c.ordered||a)&&(c.changed||s)?{join:c,oldKeys:h,newKeys:d}:null}function D({w:t,elSeries:e,record:s,newKeys:a,isHorizontal:i,speed:r}){var o;if(!L(t))return;if(!s||!Array.isArray(s.paths)||!(null==e?void 0:e.node))return;const l=new Set(a),n=s.paths.filter(t=>t&&t.d&&null!=t.key&&!l.has(t.key));if(!n.length)return;const h=new b(t),d=null==(o=t.globals.colors)?void 0:o[parseInt(String(s.realIndex),10)];n.forEach(a=>{let o=a.fill||d||"#c8c8c8";0===String(o).indexOf("url(")&&(o=d||"#c8c8c8");const l=h.drawPath({d:a.d,stroke:"none",strokeWidth:0,fill:o,fillOpacity:1,classes:"apexcharts-bar-ghost"}),n=l.node;n.setAttribute("pointer-events","none"),l.attr("clip-path",`url(#gridRectBarMask${t.globals.cuid})`),e.node.insertBefore(n,e.node.firstChild);const c=function(t){const e=/^M\s*([+-]?[\d.eE]+)[\s,]+([+-]?[\d.eE]+)/.exec(t||"");if(!e)return null;const s=parseFloat(e[1]),a=parseFloat(e[2]);return isFinite(s)&&isFinite(a)?{x:s,y:a}:null}(a.d);let b=i?"left center":"center bottom";try{const t=n.getBBox();c&&t&&(b=i?Math.abs(c.x-t.x)<=Math.abs(c.x-(t.x+t.width))?"left center":"right center":Math.abs(c.y-(t.y+t.height))<=Math.abs(c.y-t.y)?"center bottom":"center top")}catch(t){}const u=n.style;u.transformBox="fill-box",u.transformOrigin=b,n.setAttribute("data:ghostKey",`${s.realIndex}::${a.key}`);try{const t=n.getBBox(),e=i?b.startsWith("left")?t.x:t.x+t.width:b.endsWith("bottom")?t.y+t.height:t.y;isFinite(e)&&n.setAttribute("data:ghostEdge",String(e))}catch(t){}const g=Math.max(1,r||1),p=performance.now(),x=e=>{if(t.globals.isDestroyed||!n.parentNode)return;const s=Math.max(0,Math.min(1,(e-p)/g)),a=1-Math.pow(1-s,3),r=1-a;u.transform=i?`scaleX(${r})`:`scaleY(${r})`,u.opacity=String(1-a),s<1?k.requestAnimationFrame(x):n.parentNode.removeChild(n)};k.requestAnimationFrame(x)})}class W{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)/W.xRatio(t)}static pxToDataX(t,e){return t.globals.minX+e*W.xRatio(t)}static screenXToPlotPx(t,e){const s=t.dom.baseEl,a=s&&s.querySelector(".apexcharts-svg");if(!a)return e-t.layout.translateX;const i=a.getBoundingClientRect(),r=t.globals.svgWidth?i.width/t.globals.svgWidth:1;return(e-i.left)/(r||1)-t.layout.translateX}}class O{constructor(t,e,s){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=s,this.xRatio=0,this.yRatio=[],this.invertedXRatio=0,this.invertedYRatio=0,this.baseLineY=[],this.baseLineInvertedY=0,null!==this.xyRatios&&(this.xRatio=s.xRatio,this.yRatio=s.yRatio,this.invertedXRatio=s.invertedXRatio,this.invertedYRatio=s.invertedYRatio,this.baseLineY=s.baseLineY,this.baseLineInvertedY=s.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 a=new x(this.w);this.lastActiveBarSerieIndex=a.getActiveConfigSeriesIndex("desc",["bar","column"]),this.lastActiveBarSerieIndexByGroup=a.getActiveConfigSeriesIndexByGroup(["bar","column"]),this.columnGroupIndices=[];const i=a.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 v(this)}setSeriesAxis(t){var e;return this.yRatio.length>1&&(this.yaxisIndex=this.w.globals.seriesYAxisReverseMap[t],this.translationsIndex=t),this.isReversed=null==(e=this.w.config.yaxis[this.yaxisIndex])?void 0:e.reversed,this.translationsIndex}draw(t,e){var s,a,i,r,o;const h=this.w,d=new b(this.w),u=new c(this.w);t=u.getLogSeries(t),this.series=t,this.yRatio=u.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t,e);const g=d.group({class:"apexcharts-bar-series apexcharts-plot-series"}),p=this.ctx.highlightFilter;h.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn("WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering - ApexCharts");for(let c=0,b=0;c<t.length;c++,b++){let u,f;const y=[],v=[],w=h.globals.comboCharts?e[c]:c,{columnGroupIndex:P}=this.barHelpers.getGroupIndex(w),k=d.group({class:"apexcharts-series",rel:c+1,seriesName:m.escapeString(h.seriesData.seriesNames[w]),"data:realIndex":w});x.addCollapsedClassToSeries(this.w,k,w),t[c].length>0&&(this.visibleI=this.visibleI+1);const I=this.setSeriesAxis(w);this.isPyramid&&(this.pyramidLayout=this.barHelpers.computePyramidLayout(t[c]));const L=this.barHelpers.initialPositions(w),{y:S,yDivision:H,zeroW:A,x:W,xDivision:O,zeroH:R}=L;let X=L.barHeight,F=L.barWidth;f=S,u=W,this.isHorizontal||v.push(u+(null!=F?F:0)/2);const _=d.group({class:"apexcharts-datalabels","data:realIndex":w}),B=h.config.dataLabels,M=!(null==(s=B.animate)?void 0:s.enabled)&&this.isLengthTransition(w);h.globals.dataChanged&&!M&&!(!(null==(a=B.animate)?void 0:a.enabled)&&!(null==(i=B.countUp)?void 0:i.enabled))||(h.globals.delayedElements.push({el:_.node,holdUntilComplete:M}),_.node.classList.add("apexcharts-element-hidden"));const T=d.group({class:"apexcharts-bar-goals-markers"}),z=d.group({class:"apexcharts-bar-shadows"}),j=this.ctx,Y=j._barShadows,G=j._barShadows=[],$=h.globals.dataChanged&&h.globals.shouldAnimate&&h.config.chart.animations.dynamicAnimation.enabled&&(null==Y?void 0:Y.length)===t[c].length-1;$||(h.globals.delayedElements.push({el:z.node}),z.node.classList.add("apexcharts-element-hidden"));for(let e=0;e<t[c].length;e++){const s=this.barHelpers.getStrokeWidth(c,e,w);let a=null;const i={indexes:{i:c,j:e,realIndex:w,translationsIndex:I,bc:b},x:u,y:f,strokeWidth:s,elSeries:k};this.isHorizontal?(a=this.drawBarPaths(n(l(l({},i),this.barHelpers.rows&&{y:S+this.barHelpers.barRow(w,e)*H}),{barHeight:X,zeroW:A,yDivision:H})),F=this.series[c][e]/this.invertedYRatio):(a=this.drawColumnPaths(n(l({},i),{xDivision:O,barWidth:F,zeroH:R})),X=this.series[c][e]/this.yRatio[I]);const d=this.barHelpers.getPathFillColor(t,c,e,w);if(this.isFunnel&&!this.isPyramid&&this.barOptions.isFunnel3d&&"trapezoid"!==(null==(r=h.config.plotOptions.funnel)?void 0:r.shape)&&this.pathArr.length&&e>0){const t=this.barHelpers.drawBarShadow({color:"string"==typeof d.color&&-1===(null==(o=d.color)?void 0:o.indexOf("url"))?d.color:m.hexToRgba(h.globals.colors[c]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:a,realIndex:w,j:e});if(z.add(t),G.push(t),this._shadow=$&&[t,Y[e-1].attr("d")],h.config.chart.dropShadow.enabled){new C(this.w).dropShadow(t,h.config.chart.dropShadow,w)}}this.pathArr.push(a);const g=this.barHelpers.drawGoalLine({barXPosition:a.barXPosition,barYPosition:a.barYPosition,goalX:a.goalX,goalY:a.goalY,barHeight:X,barWidth:F});g&&T.add(g),f=a.y,u=a.x,e>0&&v.push(u+(null!=F?F:0)/2),y.push(f),this.renderSeries(n(l({hl:null==p?void 0:p.bar(this,{i:c,j:e,realIndex:w,translationsIndex:I,paths:a,zeroH:R,zeroW:A}),realIndex:w,pathFill:d.color},d.useRangeColor?{lineFill:d.color}:{}),{j:e,i:c,columnGroupIndex:P,pathFrom:a.pathFrom,pathTo:a.pathTo,strokeWidth:s,elSeries:k,x:u,y:f,series:t,barHeight:Math.abs(a.barHeight?a.barHeight:X),barWidth:Math.abs(a.barWidth?a.barWidth:F),barXPosition:a.barXPosition,elDataLabelsWrap:_,elGoalsMarkers:T,elBarShadows:z,visibleSeries:this.visibleI,type:"bar"}))}h.globals.seriesXvalues[w]=v,h.globals.seriesYvalues[w]=y,h.globals.previousPaths.length>0&&D({w:h,elSeries:k,record:this._prevRecord(w),newKeys:this._keys(w),isHorizontal:this.isHorizontal,speed:h.config.chart.animations.dynamicAnimation.speed}),g.add(k)}return g}renderSeries({hl:t,realIndex:e,pathFill:s,lineFill:a,j:i,i:r,columnGroupIndex:o,pathFrom:h,pathTo:d,strokeWidth:c,elSeries:u,x:g,y:x,y1:f,y2:m,series:y,barHeight:v,barWidth:k,barXPosition:I,barYPosition:L,elDataLabelsWrap:S,elGoalsMarkers:H,elBarShadows:A,visibleSeries:D,type:W,classes:O,fadeReveal:R=!1,noLabel:X}){var F,_,B,M,T,z,j;const Y=this.w,G=new b(this.w,this.ctx),$=function(t,e){const s=t&&t.renderer;return s&&s.kind&&"svg"!==s.kind?s:e}(this.ctx,G);let V=!1;const E=this._pathToInterp;if(this._pathToInterp=null,u._bindingsDelegated||(u._bindingsDelegated=!0,G.setupEventDelegation(u,`.apexcharts-${W}-area`)),!a){let t=function(t){const e=Y.config.stroke.colors;let s;return Array.isArray(e)&&e.length>0&&(s=e[t],s||(s=""),"function"==typeof s)?s({value:Y.seriesData.series[t][i],dataPointIndex:i,w:Y}):s};const s="function"==typeof Y.globals.stroke.colors[e]?t(e):Y.globals.stroke.colors[e];a=this.barOptions.distributed?Y.globals.stroke.colors[i]:s}const N=Y.config.chart.animations,Z=N.animateGradually;let K=0,q=0;if(Z&&!1!==Z.enabled&&!(Y.globals.dataChanged&&this.isLayoutShift(e))){const t=Y.globals.dataPoints||1,e=Z.delay||0,s=Math.min(e,.5*N.speed/Math.max(1,t));q=P({style:"sequential",index:i,baseDelay:s}),Y.config.chart.stacked&&!Y.globals.dataChanged&&(q+=r*s*.5);K=q/(e||1)}const U=new p(this).handleBarDataLabels({x:g,y:x,y1:f,y2:m,i:r,j:i,series:y,realIndex:e,columnGroupIndex:o,barHeight:v,barWidth:k,barXPosition:I,barYPosition:L,visibleSeries:D,hl:null==t?void 0:t.label,noLabel:X});if(q>0){const t=Y.config.dataLabels;if((null==(F=t.animate)?void 0:F.enabled)||(null==(_=t.countUp)?void 0:_.enabled)){const t=String(Math.round(q));null==(M=null==(B=U.dataLabels)?void 0:B.node)||M.setAttribute("data:dlDelay",t),null==(z=null==(T=U.totalDataLabels)?void 0:T.node)||z.setAttribute("data:dlDelay",t)}}let J=!1;if(!Y.globals.isBarHorizontal){const t=void 0===I?U.dataLabelsPos.dataLabelsX:I+k/2,s=Math.max(k,Y.globals.barPadForNumericAxis);(t+s<0||t-s>Y.layout.gridWidth)&&(this._wasOnScreen(e,i)?J=!0:V=!0)}const Q=Y.config.series[e].data[i];Q&&Q.strokeColor&&(a=Q.strokeColor);const tt=s;if(this.isNullValue&&-1===Y.globals.collapsingSeriesIndices.indexOf(e)&&(s="none"),!V){const o=!0===(null==(j=this.ctx.morphTypeChange)?void 0:j.isActive()),b=o?this.ctx.morphTypeChange.getSpeed():Y.config.chart.animations.dynamicAnimation.speed,g=o&&this.ctx.morphTypeChange.claimsTargetMark(e,i);g&&(h=d,K=0);const p=$.renderPaths({i:r,j:i,realIndex:e,pathFrom:h,pathTo:d,stroke:a,strokeWidth:c,strokeLinecap:Y.config.stroke.lineCap,fill:s,pathToInterp:E,animationDelay:K,initialSpeed:Y.config.chart.animations.speed,dataChangeSpeed:b,className:`apexcharts-${W}-area${O?` ${O}`:""}`,chartType:W,bindEventsOnPaths:!1,fadeReveal:R});p.attr("clip-path",`url(#gridRectBarMask${Y.globals.cuid})`),J&&p.node.classList.add("apexcharts-leaving");const x=this._shadow;x&&(this._shadow=null,new w(Y,this.ctx).animatePathsGradually({el:x[0],fill:"none",pathFrom:x[1],pathTo:x[0].attr("d"),speed:b,delay:K})),g&&(p.node.setAttribute("opacity","0"),p.node.setAttribute("data-piece-hidden","1"));const y=Y.config.forecastDataPoints;y.count>0&&i>=Y.globals.dataPoints-y.count&&(p.node.setAttribute("stroke-dasharray",y.dashArray),p.node.setAttribute("stroke-width",y.strokeWidth),p.node.setAttribute("fill-opacity",y.fillOpacity)),void 0!==f&&void 0!==m&&(p.attr("data-range-y1",f),p.attr("data-range-y2",m));if(new C(this.w).setSelectionFilter(p,e,i),u.add(p),p.attr({cy:U.dataLabelsPos.bcy,cx:U.dataLabelsPos.bcx,j:i,val:Y.seriesData.series[e][i],barHeight:v,barWidth:k,"data:pathKey":this._keys(e)[i]}),null==t||t.paint(p,{delay:K,delayMs:q,speed:b,fill:tt,elSeries:u,elBarShadows:A,labels:U.dataLabels,pathFrom:h,pathTo:d}),"canvas"===$.kind){Y.globals.barCanvasCoords||(Y.globals.barCanvasCoords={}),Y.globals.barCanvasCoords[e]||(Y.globals.barCanvasCoords[e]={});const t=Y.globals.barCanvasCoords[e][i];let s=(null==t?void 0:t.bounds)||null;const a=p.bbox();(a.width>0||a.height>0)&&(s={left:Math.min(s?s.left:1/0,a.x),top:Math.min(s?s.top:1/0,a.y),right:Math.max(s?s.right:-1/0,a.x+a.width),bottom:Math.max(s?s.bottom:-1/0,a.y+a.height)}),Y.globals.barCanvasCoords[e][i]=n(l({cx:U.dataLabelsPos.bcx,cy:U.dataLabelsPos.bcy,barWidth:k,type:W},void 0!==f&&void 0!==m&&{rangeY1:f,rangeY2:m}),{bounds:s})}null!==U.dataLabels&&S.add(U.dataLabels),U.totalDataLabels&&S.add(U.totalDataLabels),u.add(S),H&&u.add(H),A&&u.add(A)}return u}drawBarPaths({indexes:t,barHeight:e,strokeWidth:s,zeroW:a,x:i,y:r,yDivision:o,elSeries:l}){const n=this.w,h=t.i,d=t.j;let c;if(n.config.plotOptions.bar.hideZeroBarsWhenGrouped){const{nonZeroColumns:s,zeroEncounters:a}=this.barHelpers.getZeroValueEncounters({i:t.realIndex,j:d});s>0&&(e=this.seriesLen*e/s),c=r+e*this.visibleI,c-=e*a}else c=r+e*this.visibleI;const b=this.isFunnel&&"trapezoid"===n.config.plotOptions.funnel.shape,u=this.isPyramid&&this.pyramidLayout?this.pyramidLayout[d]:null,g=!!u;if(u)c=u.y,e=u.height;else if(this.isFunnel&&!b){const t=null!=a?a:0;a=t-(this.barHelpers.getXForValue(this.series[h][d],t)-t)/2}let p;return i=this.barHelpers.getXForValue(this.series[h][d],null!=a?a:0),p=u?this.barHelpers.getPyramidPaths({barYPosition:c,barHeight:e,topHalf:u.topHalf,bottomHalf:u.bottomHalf,realIndex:t.realIndex,j:d,strokeWidth:s,w:n}):b?this.barHelpers.getFunnelTrapezoidPaths({barYPosition:c,barHeight:e,series:this.series,i:h,j:d,realIndex:t.realIndex,strokeWidth:s,w:n}):this.barHelpers.getBarpaths({barYPosition:c,barHeight:e,x1:a,x2:i,strokeWidth:s,isReversed:this.isReversed,series:this.series,realIndex:t.realIndex,i:h,j:d,w:n}),(b||g)&&(a=p.x1,i=p.x),g||(r+=o),g&&(r=c),this.barHelpers.barBackground({j:d,i:h,y1:c-e*this.visibleI,y2:e*this.seriesLen,elSeries:l}),{pathTo:p.pathTo,pathFrom:p.pathFrom,x1:a,x:i,y:r,goalX:this.barHelpers.getGoalValues("x",a,null,t.realIndex,d,0),barYPosition:c,barHeight:e}}drawColumnPaths({indexes:t,x:e,y:s,xDivision:a,barWidth:i,zeroH:r,strokeWidth:o,elSeries:l}){const n=this.w,h=t.realIndex,d=t.translationsIndex,c=t.i,b=t.j,u=t.bc;let g;if(n.axisFlags.isXNumeric){const t=this.getBarXForNumericXAxis({x:e,j:b,realIndex:h,barWidth:i});e=t.x,g=t.barXPosition}else if(n.config.plotOptions.bar.hideZeroBarsWhenGrouped){const{nonZeroColumns:t,zeroEncounters:s}=this.barHelpers.getZeroValueEncounters({i:h,j:b});t>0&&(i=this.seriesLen*i/t),g=e+i*this.visibleI,g-=i*s}else g=e+i*this.visibleI;s=this.barHelpers.getYForValue(this.series[c][b],r,d);const p=this.barHelpers.getColumnPaths({barXPosition:g,barWidth:i,y1:r,y2:s,strokeWidth:o,isReversed:this.isReversed,series:this.series,realIndex:h,i:c,j:b,w:n});return n.axisFlags.isXNumeric||(e+=a),this.barHelpers.barBackground({bc:u,j:b,i:c,x1:g-o/2-i*this.visibleI,x2:i*this.seriesLen+o/2,elSeries:l}),{pathTo:p.pathTo,pathFrom:p.pathFrom,x:e,y:s,goalY:this.barHelpers.getGoalValues("y",null,r,h,b,d),barXPosition:g,barWidth:i}}getBarXForNumericXAxis({x:t,barWidth:e,realIndex:s,j:a}){const i=this.w,r=y(i);let o=s;return i.seriesData.seriesX[s].length||(o=i.globals.maxValsInArrayIndex),m.isNumber(i.seriesData.seriesX[o][a])&&(t=W.dataXToPx(i,i.seriesData.seriesX[o][a])-e*(r?1:this.seriesLen)/2),{barXPosition:t+(r?0:e*this.visibleI),x:t}}_wasOnScreen(t,e){if(!L(this.w))return!1;const s=this._prevKeyedPaths(t);return!!s&&s.has(this._keys(t)[e])}_keys(t){const e=this._keyCache||(this._keyCache={});return e[t]||(e[t]=H(this.w,t))}_prevRecord(t){const e=this.w;let s=null;for(let a=0;a<e.globals.previousPaths.length;a++){const i=e.globals.previousPaths[a];i.paths&&i.paths.length>0&&parseInt(i.realIndex,10)===parseInt(String(t),10)&&(s=i)}return s}_prevKeyedPaths(t){if(this._prevKeyed||(this._prevKeyed={}),void 0!==this._prevKeyed[t])return this._prevKeyed[t];const e=this._prevRecord(t);let s=null;if(e&&e.paths.every(t=>null!=t.key)){const t=new Map;e.paths.forEach(e=>{t.set(e.key,e)}),s=t}return this._prevKeyed[t]=s,s}isLengthTransition(t){var e,s,a,i,r,o;if(this._ltCache||(this._ltCache={}),void 0!==this._ltCache[t])return this._ltCache[t];const l=this.w;let n=!1;if(L(l)&&l.globals.previousPaths.length>0){const h=this._prevRecord(t),d=null!=(s=null==(e=l.seriesData.series[t])?void 0:e.length)?s:0,c=h&&this._prevKeyedPaths(t);if(h)if(c){const e=new Set(this._keys(t));n=(null!=(o=null==(r=null==(i=null==(a=l.globals.prevStreamFrame)?void 0:a.seriesY)?void 0:i[t])?void 0:r.length)?o:d)!==d||[...c.keys()].some(t=>!e.has(t))}else n=h.paths.length!==d;else n=d>0}return this._ltCache[t]=n,n}isLayoutShift(t){if(this.isLengthTransition(t))return!0;if(this._layoutShiftCache||(this._layoutShiftCache={}),void 0!==this._layoutShiftCache[t])return this._layoutShiftCache[t];const e=A(this.w,t,!0,!0),s=!(!e||!e.join.changed);return this._layoutShiftCache[t]=s,s}getPreviousPath(t,e,s,a){const i=this.w;this._pathToInterp=null;const r=this._prevRecord(t);if(!r)return L(i)?null:s;let o=null,l=!1;const n=this._prevKeyedPaths(t);if(n){const s=n.get(this._keys(t)[e]);s?o=s.d:l=!0}else void 0!==r.paths[e]?o=r.paths[e].d:l=!0;return o?this.cornerMorph(o,s,a):l&&L(i)?null:s}cornerMorph(t,e,s){const a=O.pathCommandCount(t),i=O.pathCommandCount(e);if(a===i)return t;const r=new b(this.w),o=t=>{const e=O.pathBox(t);return e?Math.min(e.maxX-e.minX,e.maxY-e.minY):0},l=a<i?o(t)>1:o(e)>1;if(a<i){const e=r.roundPathCorners(t,0);if(O.pathCommandCount(e)===i){if(l&&s){const t=r.roundPathCorners(s,0);O.pathCommandCount(t)===i&&(this._pathToInterp=t)}return e}}else{const s=r.roundPathCorners(e,0);if(O.pathCommandCount(s)===a){if(this._pathToInterp=s,l){const e=O.squareLike(t),s=e?r.roundPathCorners(e,0):null;if(s&&O.pathCommandCount(s)===a)return s}return t}}return e}static pathBox(t){if(!t)return null;const e=[],s=/([MLC])([^MLCZz]*)/g;let a;for(;null!==(a=s.exec(t));){const t=a[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=O.pathBox(t);if(!e)return null;const{minX:s,maxX:a,minY:i,maxY:r,start:o,vertical:l}=e,n=(t,e,s)=>Math.abs(t-e)<=Math.abs(t-s)?[e,s]:[s,e];let h,d,c,b;l?(h=Math.abs(o[0]-s)<=Math.abs(o[0]-a)?s:a,d=h===s?a:s,[c,b]=n(o[1],i,r)):(c=Math.abs(o[1]-i)<=Math.abs(o[1]-r)?i:r,b=c===i?r:i,[h,d]=n(o[0],s,a));const u=t.trim().endsWith("Z")?" Z":" z";return l?`M ${h} ${c} L ${h} ${b} L ${d} ${b} L ${d} ${c}${u}`:`M ${h} ${c} L ${d} ${c} L ${d} ${b} L ${h} ${b}${u}`}getPreviousFlip(t,e){const s=this._prevRecord(t);if(!s)return null;const a=this._prevKeyedPaths(t),i=a?a.get(this._keys(t)[e]):s.paths[e];return i?!!i.flip:null}static pathCommandCount(t){if(!t)return 0;const e=t.match(/[MmLlHhVvCcSsQqTtAaZz]/g);return e?e.length:0}}function R({points:t,extent:e,seedA:s,seedB:a,center:i,halfExtent:r,alongFn:o,isHorizontal:l,options:n,clampAt:h,sideSign:d}){var c,b;const u=n;if(!u||!1===u.show)return[];if(!t||!t.length)return[];const g=u.maxPoints||3e3,p=t.length>g?Math.ceil(t.length/g):1,x=null!=u.size?u.size:2.5,f=r*(null!=u.jitter?u.jitter:.5),m=!1!==u.constrainToViolin&&"function"==typeof h,y="square"===u.shape,v=u.colorScale,C=v&&Array.isArray(v.colors)&&v.colors.length>0,w=C?Math.max(2,v.steps||24):1,P=null!=(c=null==v?void 0:v.min)?c:e[0],k=(null!=(b=null==v?void 0:v.max)?b:e[1])-P||1,I=C?new Array(w).fill(""):[""];for(let e=0;e<t.length;e+=p){const r=t[e],n=o(r);let c=2*(B(7919*s+100003*a+e)-.5)*f;if(m){const t=h(r);c>t&&(c=t),c<-t&&(c=-t)}d&&(c=Math.abs(c)*d);const b=l?n:i+c,u=l?i+c:n,g=y?T(b,u,x):M(b,u,x);if(C){let t=(r-P)/k;t<0&&(t=0),t>1&&(t=1),I[Math.round(t*(w-1))]+=g}else I[0]+=g}if(!C)return I[0]?[{fill:null,d:I[0]}]:[];const L=[];for(let t=0;t<w;t++)I[t]&&L.push({fill:_(v.colors,t/(w-1)),d:I[t]});return L}function X({graphics:t,w:e,elSeries:s,pointsByCat:a,options:i,distributed:r,realIndex:o,wrapClass:l,pointClass:n}){if(!i||!1===i.show||!a.length)return;const h=null!=i.opacity?i.opacity:.9,d=null!=i.strokeColor?i.strokeColor:"#fff",c=null!=i.strokeWidth?i.strokeWidth:1,b=e.config.chart.animations.enabled&&!e.globals.resized&&!e.globals.dataChanged,u=t.group({class:b?`${l} apexcharts-element-hidden`:l});b&&e.globals.delayedElements.push({el:u.node}),a.forEach(({groups:s,j:a})=>{const l=r?e.globals.colors[a]:e.globals.colors[o],b=i.fillColor,g="series"===b?l:"series-dark"===b?F(l,.45):b||F(l,.45);s.forEach(s=>{const i=t.drawPath({d:s.d,fill:null!=s.fill?s.fill:g,stroke:c>0?d:"none",strokeWidth:c,fillOpacity:h,classes:n});i.attr("data:realIndex",o),i.attr("j",a),i.attr("clip-path",`url(#gridRectBarMask${e.globals.cuid})`),i.node.style.pointerEvents="none",u.add(i)})}),s.add(u)}function F(t,e){const s=m.parseColor(t)||m.parseColor(m.resolveColor(t));if(!s)return t;const a=Math.max(0,1-e);return`rgb(${Math.round(s[0]*a)},${Math.round(s[1]*a)},${Math.round(s[2]*a)})`}function _(t,e){if(!t.length)return"#000";if(1===t.length)return t[0];const s=Math.max(0,Math.min(1,e))*(t.length-1),a=Math.floor(s),i=s-a,r=m.parseHex(t[a])||[0,0,0],o=m.parseHex(t[Math.min(a+1,t.length-1)])||r,l=(t,e)=>Math.round(t+(e-t)*i);return`rgb(${l(r[0],o[0])},${l(r[1],o[1])},${l(r[2],o[2])})`}function B(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 M(t,e,s){return`M ${t-s} ${e} a ${s} ${s} 0 1 0 ${2*s} 0 a ${s} ${s} 0 1 0 ${-2*s} 0 `}function T(t,e,s){return`M ${t-s} ${e-s} h ${2*s} v ${2*s} h ${-2*s} z `}class z extends O{_identityLost(t,e){if(!L(this.w))return!1;const s=this._prevKeyedPaths(t);if(!s||0===s.size||!e||0===e.length)return!1;let a=0;for(let i=0;i<e.length;i++)s.has(this._keys(t)[i])&&a++;return a/s.size<.5}_prevBoxHalf(t,e,s){if(!this.isBoxPlot)return null;this._prevHalves||(this._prevHalves={});let a=this._prevHalves[t];if(void 0===a){a=null;const e=this._prevRecord(t);if(e&&e.paths.every(t=>null!=t.key)){a=new Map;for(const t of e.paths){const e=a.get(t.key)||[];e.push(t.d),a.set(t.key,e)}}this._prevHalves[t]=a}const i=a&&a.get(this._keys(t)[e]);return i&&2===i.length?i[s]:null}draw(t,e,s){var a,i;const r=this.w,o=new b(this.w),h=r.globals.comboCharts?e:r.config.chart.type,d=new f(this.w);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=r.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,s);const u=o.group({class:`apexcharts-${h}-series apexcharts-plot-series`});this.isBoxPlot="boxPlot"===h,this.isOHLC=!this.isBoxPlot&&"ohlc"===(null==(a=this.candlestickOptions)?void 0:a.type);const g=function(t,e){let s=1/0,a=-1/0;return t.slice(0,e.seriesData.series.length).flat(2).forEach(t=>{t===+t&&(t<s&&(s=t),t>a&&(a=t))}),[s,a]}(r.candleData.seriesBoxPoints,r);for(let e=0;e<t.length;e++){let a,c;const b=[],p=[],f=r.globals.comboCharts?s[e]:e,{columnGroupIndex:y}=this.barHelpers.getGroupIndex(f),v=o.group({class:"apexcharts-series",seriesName:m.escapeString(r.seriesData.seriesNames[f]),rel:e+1,"data:realIndex":f});x.addCollapsedClassToSeries(this.w,v,f),t[e].length>0&&(this.visibleI=this.visibleI+1);const C=this.setSeriesAxis(f),w=this.barHelpers.initialPositions(f),{y:P,barHeight:k,yDivision:I,zeroW:L,x:S,barWidth:H,xDivision:A,zeroH:W}=w;c=P,a=S,p.push(a+(null!=H?H:0)/2);const O=o.group({class:"apexcharts-datalabels","data:realIndex":f}),F=o.group({class:"apexcharts-bar-goals-markers"}),_=this.isBoxPlot?this.boxOptions.points:null,B=[],M=r.layout.gridWidth,T=Math.max(null!=H?H:0,r.globals.barPadForNumericAxis||0),z=0===t[e].length?0:r.globals.dataPoints,j=this._identityLost(f,t[e]);for(let s=0;s<z;s++){const o=this.barHelpers.getStrokeWidth(e,s,f);let u=null;const x={indexes:{i:e,j:s,realIndex:f,translationsIndex:C},x:a,y:c,strokeWidth:o,elSeries:v};if(u=this.isHorizontal?this.drawHorizontalBoxPaths(n(l({},x),{yDivision:I,barHeight:k,zeroW:L})):this.drawVerticalBoxPaths(n(l({},x),{xDivision:A,barWidth:H,zeroH:W,cullBounds:{lo:-T,hi:M+T}})),c=u.y,a=u.x,s>0&&p.push(a+(null!=H?H:0)/2),b.push(c),u.culled)continue;const m=this.barHelpers.drawGoalLine({barXPosition:u.barXPosition,barYPosition:u.barYPosition,goalX:u.goalX,goalY:u.goalY,barHeight:k,barWidth:H});if(m&&F.add(m),u.pathTo.forEach((i,l)=>{var n;const b=!this.isBoxPlot&&this.candlestickOptions.wick.useFillColor?u.color[l]:r.globals.stroke.colors[f],g=d.fillPath({seriesNumber:f,dataPointIndex:s,color:u.color[l],value:t[e][s]});this.renderSeries({realIndex:f,pathFill:g,lineFill:b,j:s,i:e,pathFrom:null!=(n=this._prevBoxHalf(f,s,l))?n:u.pathFrom,fadeReveal:j,noLabel:l>0,pathTo:i,strokeWidth:o,elSeries:v,x:a,y:c,series:t,columnGroupIndex:y,barHeight:k,barWidth:H,elDataLabelsWrap:O,elGoalsMarkers:F,visibleSeries:this.visibleI,type:h})}),_&&!1!==_.show){const t=null==(i=r.candleData.seriesBoxPoints[f])?void 0:i[s];if(t&&t.length){const e=t=>this.coreUtils.getLogValAtSeriesIndex(t,f);let a,i,r;if(this.isHorizontal){const t=this.invertedYRatio*(this.isReversed?-1:1),s=null!=k?k:0,o=null!=L?L:0;a=u.barYPosition+s/2,i=s/2,r=s=>o+e(s)/t}else{const t=this.yRatio[C]*(this.isReversed?-1:1),s=null!=H?H:0,o=null!=W?W:0;a=u.barXPosition+s/2,i=s/2,r=s=>o-e(s)/t}const o=R({points:t,extent:g,seedA:f,seedB:s,center:a,halfExtent:i,alongFn:r,isHorizontal:this.isHorizontal,options:_});o.length&&B.push({groups:o,j:s})}}}_&&X({graphics:o,w:r,elSeries:v,pointsByCat:B,options:_,distributed:r.config.plotOptions.bar.distributed,realIndex:f,wrapClass:"apexcharts-boxPlot-points-wrap",pointClass:"apexcharts-boxPlot-points"}),r.globals.seriesXvalues[f]=p,r.globals.seriesYvalues[f]=b,r.globals.previousPaths.length>0&&!j&&D({w:r,elSeries:v,record:this._prevRecord(f),newKeys:this._keys(f).filter((s,a)=>null!=t[e][a]),isHorizontal:this.isHorizontal,speed:r.config.chart.animations.dynamicAnimation.speed}),u.add(v)}return u}drawVerticalBoxPaths({indexes:t,x:e,xDivision:s,barWidth:a,zeroH:i,strokeWidth:r,cullBounds:o=null}){var l,n,h;const d=this.w,c=new b(this.w),u=t.i,g=t.j,{colors:p}=d.config.plotOptions.candlestick,{colors:x}=this.boxOptions,f=t.realIndex,m=t=>Array.isArray(t)?t[f]:t,y=m(p.upward),v=m(p.downward),C=this.yRatio[t.translationsIndex]*(this.isReversed?-1:1),w=this.getOHLCValue(f,g);let P=i,k=i,I=w.o<w.c?[y]:[v];this.isBoxPlot&&(I=[m(x.lower),m(x.upper)]);let L=Math.min(w.o,w.c),S=Math.max(w.o,w.c),H=w.m,A=e+a*this.visibleI;if(d.axisFlags.isXNumeric){const t=this.getBarXForNumericXAxis({x:e,barWidth:a,realIndex:f,j:g});e=t.x,A=t.barXPosition}const D=null==(null==(l=this.series[u])?void 0:l[g]);if(D?(L=i,S=i):(L=i-L/C,S=i-S/C,P=i-w.h/C,k=i-w.l/C,H=i-w.m/C),D||o&&(A+a<o.lo||A>o.hi)&&!this._wasOnScreen(f,g))return{pathTo:null,pathFrom:null,x:d.axisFlags.isXNumeric?e:e+s,y:S,barXPosition:A,color:I,culled:!0};let W;if(this.isOHLC){const t=A+a/2,e=i-w.o/C,s=i-w.c/C;W=[c.move(t,P)+c.line(t,k)+c.move(t,e)+c.line(A,e)+c.move(t,s)+c.line(A+a,s)]}else W=this.isBoxPlot?[c.move(A,L)+c.line(A+a/2,L)+c.line(A+a/2,P)+c.line(A+a/4,P)+c.line(A+a-a/4,P)+c.line(A+a/2,P)+c.line(A+a/2,L)+c.line(A+a,L)+c.line(A+a,H)+c.line(A,H)+c.line(A,L+r/2),c.move(A,H)+c.line(A+a,H)+c.line(A+a,S)+c.line(A+a/2,S)+c.line(A+a/2,k)+c.line(A+a-a/4,k)+c.line(A+a/4,k)+c.line(A+a/2,k)+c.line(A+a/2,S)+c.line(A,S)+c.line(A,H)+"z"]:[c.move(A,S)+c.line(A+a/2,S)+c.line(A+a/2,P)+c.line(A+a/2,S)+c.line(A+a,S)+c.line(A+a,L)+c.line(A+a/2,L)+c.line(A+a/2,k)+c.line(A+a/2,L)+c.line(A,L)+c.line(A,S-r/2)];let O=null;const R=null==(h=null==(n=this.ctx)?void 0:n.morphTypeChange)?void 0:h.getInitialPathFor(f,g);return R?O=R:d.globals.previousPaths.length>0&&(O=this.getPreviousPath(f,g,W[0])),null==O&&(O=c.move(A+a/2,L)+c.move(A,L)),d.axisFlags.isXNumeric||(e+=s),{pathTo:W,pathFrom:O,x:e,y:S,goalY:this.barHelpers.getGoalValues("y",null,i,f,g,t.translationsIndex),barXPosition:A,color:I}}drawHorizontalBoxPaths({indexes:t,y:e,yDivision:s,barHeight:a,zeroW:i,strokeWidth:r}){var o,l,n;const h=this.w,d=new b(this.w),c=t.i,u=t.j,g=t.realIndex,{colors:p}=h.config.plotOptions.candlestick,{colors:x}=this.boxOptions,f=t=>Array.isArray(t)?t[g]:t,m=this.invertedYRatio*(this.isReversed?-1:1),y=this.getOHLCValue(g,u);let v=y.o<y.c?[f(p.upward)]:[f(p.downward)];this.isBoxPlot&&(v=[f(x.lower),f(x.upper)]);let C=i,w=i,P=Math.min(y.o,y.c),k=Math.max(y.o,y.c),I=y.m;const L=e+a*this.visibleI,S=null==(null==(o=this.series[c])?void 0:o[u]);S?(P=i,k=i):(P=i+P/m,k=i+k/m,C=i+y.h/m,w=i+y.l/m,I=i+y.m/m);const H=[d.move(P,L)+d.line(P,L+a/2)+d.line(C,L+a/2)+d.line(C,L+a/2-a/4)+d.line(C,L+a/2+a/4)+d.line(C,L+a/2)+d.line(P,L+a/2)+d.line(P,L+a)+d.line(I,L+a)+d.line(I,L)+d.line(P+r/2,L),d.move(I,L)+d.line(I,L+a)+d.line(k,L+a)+d.line(k,L+a/2)+d.line(w,L+a/2)+d.line(w,L+a-a/4)+d.line(w,L+a/4)+d.line(w,L+a/2)+d.line(k,L+a/2)+d.line(k,L)+d.line(I,L)+"z"];let A=null;const D=null==(n=null==(l=this.ctx)?void 0:l.morphTypeChange)?void 0:n.getInitialPathFor(g,u);return D?A=D:h.globals.previousPaths.length>0&&(A=this.getPreviousPath(g,u,H[0])),null==A&&(A=d.move(P,L+a/2)+d.move(P,L)),{pathTo:H,pathFrom:A,x:k,y:e+=s,goalX:this.barHelpers.getGoalValues("x",i,null,g,u,0),barYPosition:L,color:v,culled:S}}getOHLCValue(t,e){const s=this.w,a=this.coreUtils,i=s=>s[t]&&null!=s[t][e]?a.getLogValAtSeriesIndex(s[t][e],t):0,r=i(s.candleData.seriesCandleH),o=i(s.candleData.seriesCandleO),l=i(s.candleData.seriesCandleM),n=i(s.candleData.seriesCandleC),h=i(s.candleData.seriesCandleL);return{o:this.isBoxPlot?r:o,h:this.isBoxPlot?o:r,m:l,l:this.isBoxPlot?n:h,c:this.isBoxPlot?h:n}}}d.default.use({candlestick:z,boxPlot:z}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>d.default});
|