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
package/dist/bar.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* ApexCharts v8.
|
|
2
|
+
* ApexCharts v8.3.0
|
|
3
3
|
* (c) 2018-2026 ApexCharts
|
|
4
4
|
*/
|
|
5
|
-
!function(t){var e="undefined"!=typeof globalThis?globalThis:self,s=e.ApexCharts;if(s&&s.__internals)return t.call(e);if(s)throw new Error("ApexCharts: dist/bar.js cannot register: the ApexCharts on this page has no add-on surface (a script before 7.0, or a bundled apexcharts/core class). Load apexcharts.min.js, apexcharts.core.min.js or apexcharts.full.min.js.");if("function"==typeof define&&define.amd)return t.call(e);if("object"==typeof exports&&"undefined"!=typeof module||"undefined"==typeof window||"undefined"==typeof document)throw new Error("ApexCharts: dist/bar.js is a script-tag add-on and needs the ApexCharts script on the page. A bundler imports the matching apexcharts/ sub-path instead.");var a={file:"dist/bar.js",run:t,done:!1},i=e.__apexcharts_pending_addons__||(e.__apexcharts_pending_addons__=[]);i.push(a),"complete"!==document.readyState&&window.addEventListener("load",function(){if(!a.done){var s=e.ApexCharts;if(s)if(s.__internals){a.done=!0;var r=i.indexOf(a);-1!==r&&i.splice(r,1);try{t.call(e),s.__drainsAddons||e.console.warn("ApexCharts: dist/bar.js loaded before the ApexCharts script, which is older than 8.0 and does not pick up add-ons loaded first, so it registered only when the page finished loading. Put its tag after the ApexCharts script.")}catch(t){e.console.error("ApexCharts: dist/bar.js could not register with the ApexCharts script on this page: "+(t&&t.message))}}else e.console.error("ApexCharts: dist/bar.js cannot register: the ApexCharts on this page has no add-on surface (a script before 7.0, or a bundled apexcharts/core class). Load apexcharts.min.js, apexcharts.core.min.js or apexcharts.full.min.js.");else e.console.warn("ApexCharts: dist/bar.js is waiting for the ApexCharts script, which had not loaded when the page finished loading. It registers when an ApexCharts 8.0 or later script loads; if the page has none, add apexcharts.min.js (or apexcharts.core.min.js, or apexcharts.full.min.js).")}})}(function(){var t,e;t=this,e=function(t){"use strict";var e=Object.defineProperty,s=Object.defineProperties,a=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,n=(t,s,a)=>s in t?e(t,s,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[s]=a,l=(t,e)=>{for(var s in e||(e={}))r.call(e,s)&&n(t,s,e[s]);if(i)for(var s of i(e))o.call(e,s)&&n(t,s,e[s]);return t},h=(t,e)=>s(t,a(e));const d=globalThis.ApexCharts,c=globalThis.ApexCharts.__internals.__apex_Graphics,b=globalThis.ApexCharts.__internals.__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},u=globalThis.ApexCharts.__internals,p=u.__apex_Animations,x=u.__apex_Animations_computeStagger;u.__apex_Animations_applyAnimationPolicy,u.__apex_Animations_prefersReducedMotion,u.__apex_Animations_applyProgressiveReveal;const f=globalThis.ApexCharts.__internals.__apex_BrowserAPIs_BrowserAPIs,v=globalThis.ApexCharts.__internals.__apex_Environment_Environment,y=globalThis.ApexCharts.__internals;function m(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||!(v.isBrowser()&&t.globals.dataChanged&&t.globals.shouldAnimate))}function C(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 n=null==(o=t.globals.labels)?void 0:o[s];return null!=n&&""!==String(n)?"c:"+(Array.isArray(n)?n.join(" "):String(n)):"j:"+s}function w(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 I(t,e,s=!1,a=!1){var i,r;if(!m(t))return null;const o=t.globals.prevStreamFrame;if(!o)return null;const n=null==(i=o.seriesY)?void 0:i[e],l=null==(r=t.seriesData.series)?void 0:r[e];if(!Array.isArray(n)||!Array.isArray(l))return null;if(!n.length||!l.length)return null;const h=w(n.map((t,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=w(l.map((s,a)=>C(t,e,a))),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,n=t.length===e.length;e.forEach((t,e)=>{const l=s.has(t)&&!i.has(s.get(t))?s.get(t):-1;a[e]=l,-1!==l&&(i.add(l),l<r&&(o=!1),r=l),l!==e&&(n=!1)});const l=[];for(let e=0;e<t.length;e++)i.has(e)||l.push(e);return{toOld:a,exits:l,ordered:o,changed:!n}}(h,d);return(c.ordered||a)&&(c.changed||s)?{join:c,oldKeys:h,newKeys:d}:null}function P({w:t,elSeries:e,record:s,newKeys:a,isHorizontal:i,speed:r}){var o;if(!m(t))return;if(!s||!Array.isArray(s.paths)||!(null==e?void 0:e.node))return;const n=new Set(a),l=s.paths.filter(t=>t&&t.d&&null!=t.key&&!n.has(t.key));if(!l.length)return;const h=new c(t),d=null==(o=t.globals.colors)?void 0:o[parseInt(String(s.realIndex),10)];l.forEach(a=>{let o=a.fill||d||"#c8c8c8";0===String(o).indexOf("url(")&&(o=d||"#c8c8c8");const n=h.drawPath({d:a.d,stroke:"none",strokeWidth:0,fill:o,fillOpacity:1,classes:"apexcharts-bar-ghost"}),l=n.node;l.setAttribute("pointer-events","none"),n.attr("clip-path",`url(#gridRectBarMask${t.globals.cuid})`),e.node.insertBefore(l,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=l.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 g=l.style;g.transformBox="fill-box",g.transformOrigin=b,l.setAttribute("data:ghostKey",`${s.realIndex}::${a.key}`);try{const t=l.getBBox(),e=i?b.startsWith("left")?t.x:t.x+t.width:b.endsWith("bottom")?t.y+t.height:t.y;isFinite(e)&&l.setAttribute("data:ghostEdge",String(e))}catch(t){}const u=Math.max(1,r||1),p=performance.now(),x=e=>{if(t.globals.isDestroyed||!l.parentNode)return;const s=Math.max(0,Math.min(1,(e-p)/u)),a=1-Math.pow(1-s,3),r=1-a;g.transform=i?`scaleX(${r})`:`scaleY(${r})`,g.opacity=String(1-a),s<1?f.requestAnimationFrame(x):l.parentNode.removeChild(l)};f.requestAnimationFrame(x)})}y.__apex_Easing_easeInOutSine,y.__apex_Easing_DEFAULT_EASING_NAME,y.__apex_Easing_cubicBezier,y.__apex_Easing_registerEasing,y.__apex_Easing_resolveEasing;class S{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:n,y:d,y1:b,y2:u,i:p,j:x,realIndex:f,columnGroupIndex:v,barHeight:y,barWidth:m,barXPosition:C,barYPosition:w,visibleSeries:I,hl:P}=t,S=this.w,A=new c(this.barCtx.w);this.hlt=null==P?void 0:P.total;const k=S.waterfallData&&S.waterfallData.values,H=P&&null!=P.val?P.val:k&&k[f]&&null!=k[f][x]?k[f][x]:null,L=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[f]:this.barCtx.strokeWidth;let W,R;S.axisFlags.isXNumeric&&!S.globals.isBarHorizontal?(W=n+m*(I+1),R=d+y*(I+1)-L):(W=n+m*I,R=d+y*I);let _=null,D=null,X=n,F=d,T={};const O=S.config.dataLabels,j=this.barCtx.barOptions.dataLabels,Y=this.barCtx.barOptions.dataLabels.total;void 0!==w&&(this.barCtx.isRangeBar||this.barCtx.isPyramid)&&(R=w,F=w),void 0!==C&&this.barCtx.isVerticalGroupedRangeBar&&(W=C,X=C);const B=g(O.offsetX,S,f,x),z=g(O.offsetY,S,f,x),M=(null==P?void 0:P.hide)?void 0:null!==H?H:void 0!==u?[b,u]:"100%"===S.config.chart.stackType?S.globals.seriesPercent[f][x]:S.seriesData.series[f][x];let G,E={width:0,height:0};O.enabled&&(G=void 0===M?"":O.formatter(M,h(l({},S),{seriesIndex:f,dataPointIndex:x,w:S})),E=A.getTextRects(G,parseFloat(O.style.fontSize).toString(),O.style.fontFamily,void 0,!0,O.style.fontWeight));const V={x:null!=(e=null==P?void 0:P.x)?e:n,y:null!=(s=null==P?void 0:P.y)?s:d,neg:P&&null!=P.val?P.val<0:void 0,i:p,j:x,realIndex:f,columnGroupIndex:v,bcx:W,bcy:R,barHeight:null!=(a=null==P?void 0:P.barHeight)?a:y,barWidth:null!=(i=null==P?void 0:P.barWidth)?i:m,textRects:E,strokeWidth:L,dataLabelsX:X,dataLabelsY:F,dataLabelsConfig:O,barDataLabelsConfig:j,barTotalDataLabelsConfig:Y,offX:B,offY:z};if(T=this.barCtx.isHorizontal?this.calculateBarsDataLabelsPosition(V):this.calculateColumnsDataLabelsPosition(V),null!==H&&this.barCtx.isHorizontal&&"center"===j.position){const t=null==(o=null==(r=S.waterfallData.geometry)?void 0:r[f])?void 0:o[x];t&&t.horizontal&&(T.dataLabelsX=(t.levelStart+t.levelEnd)/2+B)}return _=this.drawCalculatedDataLabels({x:T.dataLabelsX,y:T.dataLabelsY,neg:V.neg,val:M,text:G,i:f,j:x,barWidth:V.barWidth,barHeight:V.barHeight,textRects:E,dataLabelsConfig:O}),S.config.chart.stacked&&Y.enabled&&!1!==this.hlt&&(D=this.drawTotalDataLabels({x:T.totalDataLabelsX,y:T.totalDataLabelsY,barWidth:m,barHeight:y,realIndex:f,j:x,textAnchor:T.totalDataLabelsAnchor,val:this.getStackedTotalDataLabel({realIndex:f,j:x}),rawVal:this.getStackedTotalValue({realIndex:f,j:x}),dataLabelsConfig:O,barTotalDataLabelsConfig:Y})),{dataLabelsPos:T,dataLabels:_,totalDataLabels:D}}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]))}getStackedTotalDataLabel({realIndex:t,j:e}){const s=this.w;let a=this.getStackedTotalValue({realIndex:t,j:e});return this.totalFormatter&&(a=this.totalFormatter(a,h(l({},s),{seriesIndex:t,dataPointIndex:e,w:s}))),a}calculateColumnsDataLabelsPosition(t){var e;const s=this.w;let a,i,{i:r,j:o,realIndex:n,y:l,bcx:h,barWidth:d,barHeight:b,textRects:g,dataLabelsX:u,dataLabelsY:p,dataLabelsConfig:x,barDataLabelsConfig:f,barTotalDataLabelsConfig:v,strokeWidth:y,offX:m,offY:C}=t;const w=h;b=Math.abs(b);const I="vertical"===s.config.plotOptions.bar.dataLabels.orientation,{zeroEncounters:P}=this.barCtx.barHelpers.getZeroValueEncounters({i:r,j:o});h-=y/2;const S=s.layout.gridWidth/s.globals.dataPoints;if(this.barCtx.isVerticalGroupedRangeBar?u+=d/2:(u=s.axisFlags.isXNumeric?h-d/2+m:h-S+d/2+m,!s.config.chart.stacked&&P>0&&s.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(u-=d*P)),I){const t=2;u=u+g.height/2-y/2-t}const A=null!=(e=t.neg)?e:s.seriesData.series[r][o]<0;let k=l;switch(this.barCtx.isReversed&&(k=l+(A?b:-b)),f.position){case"center":p=I?A?k-b/2+C:k+b/2-C:A?k-b/2+g.height/2+C:k+b/2+g.height/2-C;break;case"bottom":p=I?A?k-b+C:k+b-C:A?k-b+g.height+y+C:k+b-g.height/2+y-C;break;case"top":p=I?A?k+C:k-C:A?k-g.height/2-C:k+g.height+C}let H=k;const L=this.getTotalGroupContext(n),W=this.xStackTop(n,o),R=W?[]:this.barCtx.stacks||[];if(W&&(H=A?Math.max(k,W[5]):Math.min(k,W[4])),R.forEach((t,e)=>{L&&e!==L.groupIndex||t.prevY.forEach(t=>{H=A?Math.max(t[o],H):Math.min(t[o],H)})}),this.hlt&&(H=this.hlt.edge),this.drawsStackedTotal(n)&&v.enabled){const t=18,e=new c(this.barCtx.w).getTextRects(this.getStackedTotalDataLabel({realIndex:n,j:o}),x.fontSize);a=A?H-e.height/2-C-v.offsetY+t:H+e.height+C+v.offsetY-t;const r=S;i=w+(s.axisFlags.isXNumeric?-d/2:d/2-r)+v.offsetX}return s.config.chart.stacked||(p<0?p=0+y:p+g.height/3>s.layout.gridHeight&&(p=s.layout.gridHeight-y)),{bcx:h,bcy:l,dataLabelsX:u,dataLabelsY:p,totalDataLabelsX:i,totalDataLabelsY:a,totalDataLabelsAnchor:"middle"}}calculateBarsDataLabelsPosition(t){var e,s;const a=this.w;let{x:i,i:r,j:o,realIndex:n,bcy:l,barHeight:h,barWidth:d,textRects:b,dataLabelsX:g,strokeWidth:u,dataLabelsConfig:p,barDataLabelsConfig:x,barTotalDataLabelsConfig:f,offX:v,offY:y}=t;const m=a.layout.gridHeight/a.globals.dataPoints,{zeroEncounters:C}=this.barCtx.barHelpers.getZeroValueEncounters({i:r,j:o});let w,I,P;d=Math.abs(d),w=this.barCtx.isPyramid?l+h/2+y-(null!=(e=b.centerOffset)?e:0):l-(this.barCtx.isRangeBar?0:m)+h/2+b.height/2+y-3,!a.config.chart.stacked&&C>0&&a.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(w-=h*C);let S="start";const A=null!=(s=t.neg)?s:a.seriesData.series[r][o]<0;let k=i;if(this.barCtx.isReversed&&(k=i+(A?-d:d),S=A?"start":"end"),this.barCtx.isPyramid)g=a.layout.gridWidth/2+v;else switch(x.position){case"center":g=A?k+d/2-v:Math.max(b.width/2,k-d/2)+v;break;case"bottom":g=A?k+d-u-v:k-d+u+v;break;case"top":g=A?k-u-v:k-u+v}let H=k;const L=this.getTotalGroupContext(n);if((this.barCtx.stacks||[]).forEach((t,e)=>{L&&e!==L.groupIndex||t.prevX.forEach(t=>{H=A?Math.min(t[o],H):Math.max(t[o],H)})}),this.hlt&&(H=this.hlt.edge),this.drawsStackedTotal(n)&&f.enabled){const t=new c(this.barCtx.w).getTextRects(this.getStackedTotalDataLabel({realIndex:n,j:o}),p.fontSize);A?(I=H-u-v-f.offsetX,S="end"):I=H+v+f.offsetX+(this.barCtx.isReversed?-(d+u):u),P=w-b.height/2+t.height/2+f.offsetY+u,a.globals.barGroups.length>1&&!L&&(P-=a.globals.barGroups.length/2*(h/2))}if(!a.config.chart.stacked){const t=A&&"middle"!==p.textAnchor?"start"===p.textAnchor?"end":"start":p.textAnchor;let e;e="vertical"===x.orientation?b.height/2:"end"===t?b.width:"middle"===t?b.width/2:0;const s=("vertical"===x.orientation?b.height:b.width)-e;g+s>a.layout.gridWidth-u&&(g=a.layout.gridWidth-s-u),g-e<u&&(g=e+u)}return{bcx:i,bcy:l,dataLabelsX:g,dataLabelsY:w,totalDataLabelsX:I,totalDataLabelsY:P,totalDataLabelsAnchor:S}}drawCalculatedDataLabels({x:t,y:e,val:s,text:a,neg:i,i:r,j:o,textRects:n,barHeight:d,barWidth:g,dataLabelsConfig:u}){var p,x,f;const v=this.w;let y="rotate(0)";"vertical"===v.config.plotOptions.bar.dataLabels.orientation&&(y=`rotate(-90, ${t}, ${e})`);const m=new b(this.barCtx.w,this.barCtx.ctx),w=new c(this.barCtx.w),I=u.formatter;let P=null;const S=v.globals.collapsedSeriesIndices.indexOf(r)>-1,A=(v.globals.collapsingSeriesIndices||[]).indexOf(r)>-1;if(A){const t=null==(p=v.globals.prevDataLabels)?void 0:p.get(`${r}::${C(v,r,o)}`);t&&isFinite(t.val)&&(s=t.val,a=void 0)}if(u.enabled&&(!S||A)){P=w.group({class:"apexcharts-data-labels",transform:y});const c=v.config.dataLabels;((null==(x=c.animate)?void 0:x.enabled)||(null==(f=c.countUp)?void 0:f.enabled))&&(P.node.setAttribute("data:dlKey",`${r}::${C(v,r,o)}`),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=I(s,h(l({},v),{seriesIndex:r,dataPointIndex:o,w:v}))),!s&&v.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(a="");const b=null!=i?i:v.seriesData.series[r][o]<0,p=v.config.plotOptions.bar.dataLabels.position;"vertical"===v.config.plotOptions.bar.dataLabels.orientation&&("top"===p&&(u.textAnchor=b?"end":"start"),"center"===p&&(u.textAnchor="middle"),"bottom"===p&&(u.textAnchor=b?"end":"start")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels&&g<w.getTextRects(a,parseFloat(u.style.fontSize).toString()).width&&(a=""),v.config.chart.stacked&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels&&!A&&(this.barCtx.isHorizontal?n.width/1.6>Math.abs(g)&&(a=""):n.height/1.6>Math.abs(d)&&(a=""));const S=l({},u);this.barCtx.isHorizontal&&s<0&&("start"===u.textAnchor?S.textAnchor="end":"end"===u.textAnchor&&(S.textAnchor="start")),m.plotDataLabelsText({x:t,y:e,text:a,i:r,j:o,parent:P,dataLabelsConfig:S,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return P}drawTotalDataLabels({x:t,y:e,val:s,rawVal:a,realIndex:i,j:r,textAnchor:o,barTotalDataLabelsConfig:n}){var l,h;const d=new c(this.barCtx.w);let b;if(n.enabled&&void 0!==t&&void 0!==e&&this.drawsStackedTotal(i)){b=d.drawText({x:t,y:e,foreColor:n.style.color,text:s,textAnchor:o,fontFamily:n.style.fontFamily,fontSize:n.style.fontSize,fontWeight:n.style.fontWeight}),b.attr({class:"apexcharts-datalabel-total",cx:t,cy:e});const c=this.w.config.dataLabels;if((null==(l=c.animate)?void 0:l.enabled)||(null==(h=c.countUp)?void 0:h.enabled)){const{groupIndex:t}=this.barCtx.barHelpers.getGroupIndex(i);b.node.setAttribute("data:dlTotalKey",`${t}::${C(this.w,i,r)}`),b.node.setAttribute("data:dlTotalSeries",String(i)),"number"==typeof a&&isFinite(a)&&b.node.setAttribute("data:dlTotalVal",String(a))}}return b}}const A=globalThis.ApexCharts.__internals.__apex_Series,k=globalThis.ApexCharts.__internals.__apex_Fill,H=globalThis.ApexCharts.__internals.__apex_Utils;function L(t){var e,s,a,i,r,o,n;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!=(n=null==(o=null==(r=t.seriesData)?void 0:r.series)?void 0:o.length)?n:0)>1}class W{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 s=0;s<t.length;s++)if(t[s].length>0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[s].length),e.axisFlags.isXNumeric)for(let a=0;a<t[s].length;a++)e.seriesData.seriesX[s][a]>e.globals.minX&&e.seriesData.seriesX[s][a]<e.globals.maxX&&this.barCtx.visibleItems++;else this.barCtx.visibleItems=e.globals.dataPoints;this.arrBorderRadius=this.createBorderRadiusArr(e.seriesData.series),H.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=[];for(let s=0;s<t.length;s++){const a=t[s];Array.isArray(a)&&a.length>0&&e.push(a.some((t,e)=>t<a[e-1])?a.filter(t=>t===+t).sort((t,e)=>t-e):a)}if(!e.length)return 0;const s=new Array(e.length).fill(0);let a=NaN,i=1/0;for(;;){let t=1/0,r=-1;for(let a=0;a<e.length;a++){const i=e[a];for(;s[a]<i.length&&"number"!=typeof i[s[a]];)s[a]++;if(s[a]>=i.length)continue;const o=i[s[a]];o==o?o<t&&(t=o,r=a):(s[a]++,a--)}if(-1===r)break;if(s[r]++,a==a){const e=t-a;e>0&&e<i&&(i=e)}a=t}return isFinite(i)?i:0}initialPositions(t){const e=this.w;let s,a,i,r,o,n,l,h,d=e.globals.dataPoints;this.barCtx.isRangeBar&&(d=e.labelData.labels.length);let c=this.barCtx.seriesLen;if((e.config.plotOptions.bar.rangeBarGroupRows||L(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),n=r/c*parseInt(this.barCtx.barOptions.columnWidth,10)/100,e.axisFlags.isXNumeric){const t=this.barCtx.xRatio,e=this.barSlotXSpan();e>0&&e/t>0&&(r=e/t),n=r/c*parseInt(this.barCtx.barOptions.columnWidth,10)/100,n<1&&(n=1)}-1===String(this.barCtx.barOptions.columnWidth).indexOf("%")&&(n=parseInt(this.barCtx.barOptions.columnWidth,10)),l=e.layout.gridHeight-this.barCtx.baseLineY[this.barCtx.translationsIndex]-(this.barCtx.isReversed?e.layout.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.translationsIndex]:0),s=e.axisFlags.isXNumeric?this.barCtx.getBarXForNumericXAxis({x:s,j:0,realIndex:t,barWidth:n}).x:e.globals.padHorizontal+H.noExponents(r-n*this.barCtx.seriesLen)/2}return e.globals.barHeight=o,e.globals.barWidth=n,{x:s,y:a,yDivision:i,xDivision:r,barHeight:o,barWidth:n,zeroH:l,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 k(this.barCtx.w);let n=null;const l=this.barCtx.barOptions.distributed?s:e;let h=!1;this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map(a=>{t[e][s]>=a.from&&t[e][s]<=a.to&&(n=a.color,h=!0)});const d=this.getDumbbellConnectorFill(e,s)||(null==(i=r.config.series[e].data[s])?void 0:i.fill),c=this.barCtx.barOptions.isDumbbell?r.config.plotOptions.bar.dumbbell.connector:null;let b;return c&&c.color&&(n=c.color,b=c.opacity),{color:o.fillPath({seriesNumber:this.barCtx.barOptions.distributed?l:a,dataPointIndex:s,color:n,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]],n=s.globals.colors[r[1]];return o&&n?{type:"gradient",gradient:{type:this.barCtx.isHorizontal?"horizontal":"vertical",gradientFrom:o,gradientTo:n,opacityFrom:i.opacity,opacityTo:i.opacity,stops:[0,100],inverseColors:!this.barCtx.isHorizontal}}:null}getStrokeWidth(t,e,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){var e;const s=this.w,a=!this.w.config.chart.stacked||s.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(a?"top":"none"));if(a)return o;const n="last"===s.config.plotOptions.bar.borderRadiusWhenStacked,l=n?"top":"both",h=n?"bottom":"both",d=n?"none":"bottom",c=n?"none":"top";for(const e of this.getStackedSeriesIndices(i))for(let s=0;s<r;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)o[a[0]][s]=l;else{const t=a[0],e=a[a.length-1];for(const i of a)o[i][s]=i===t?d:i===e?"top":"none"}else if(i.length>0&&0===a.length)if(1===i.length)o[i[0]][s]=h;else{const t=Math.min(...i),e=Math.max(...i);for(const a of i)o[a][s]=a===t?c:a===e?"bottom":"none"}else if(a.length>0&&i.length>0){const t=a[a.length-1];for(const e of a)o[e][s]=e===t?"top":"none";const e=Math.max(...i);for(const t of i)o[t][s]=t===e?"bottom":"none"}}return o}barBackground({j:t,i:e,x1:s,x2:a,y1:i,y2:r,elSeries:o}){const n=this.w,l=new c(this.barCtx.w),h=new A(this.barCtx.w).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&h===e){t>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(t%=this.barCtx.barOptions.colors.backgroundBarColors.length);const e=this.barCtx.barOptions.colors.backgroundBarColors[t],h=l.drawRect(void 0!==s?s:0,void 0!==i?i:0,void 0!==a?a:n.layout.gridWidth,void 0!==r?r:n.layout.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,e,this.barCtx.barOptions.colors.backgroundBarOpacity);o.add(h),h.node.classList.add("apexcharts-backgroundBar")}}barRect({a:t,len:e,v1:s,v2:a,strokeWidth:i,realIndex:r,j:o,dir:n,horizontal:l}){const h=this.w,d=new c(h);(i=Array.isArray(i)?i[r]:i)||(i=0);const b=h.config.series[r].data[o],g=l?null==b?void 0:b.barHeightOffset:null==b?void 0:b.columnWidthOffset;g&&(t-=g/2,e+=g);const u=i/2,p=n*(this.barCtx.isReversed?-1:1),x="around"===h.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[r][o]?" Z":" z";let f,v,y,m,C,w;return l?(y=t+u,m=t+e-u,f=s+.001+u*p,v=a+.001-u*p,C=d.line(f,m),w=d.move(f,y)+d.line(v,y)+d.line(v,m)+C+x):(f=t+u,v=t+e-u,y=s+.001-u*p,m=a+.001+u*p,C=d.line(v,y),w=d.move(f,y)+d.line(f,m)+d.line(v,m)+C+x),{x1:f,x2:v,y1:y,y2:m,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:u,direction:p}}getColumnPaths({barWidth:t,barXPosition:e,y1:s,y2:a,strokeWidth:i,series:r,realIndex:o,i:n,j:l,w:h}){var d,c;const b=this.barRect({a:e,len:t,v1:s,v2:a,strokeWidth:i,realIndex:o,j:l,dir:r[n][l]>=0?1:-1}),{pathTo:g,squarePathTo:u,strokeCenter:p,direction:x}=b;s=b.y1,a=b.y2;let f=null;const v=null==(c=null==(d=this.barCtx.ctx)?void 0:d.morphTypeChange)?void 0:c.getInitialPathFor(o,l);if(v?f=v:h.globals.previousPaths.length>0&&(f=this.barCtx.getPreviousPath(o,l,g,u)),null==f&&(f=b.base),h.config.chart.stacked){const t=this.barCtx.groupCtx;t.yArrj.push(a-p*x),t.yArrjF.push(Math.abs(s-a+b.strokeWidth*x)),t.yArrjVal.push(this.barCtx.series[n][l])}return{pathTo:g,pathFrom:f,drawnBox:{x1:b.x1,x2:b.x2,y1:s,y2:a}}}getFunnelTrapezoidPaths({barYPosition:t,barHeight:e,series:s,i:a,j:i,realIndex:r,strokeWidth:o,w:n}){var l,h;const d=new c(this.barCtx.w),b=n.layout.gridWidth/2,g=t=>Math.abs(t/this.barCtx.invertedYRatio)/2,u=g(s[a][i]),p=i===s[a].length-1,x="taper"===n.config.plotOptions.funnel.lastShape?"taper":"flat";let f;f=p?"taper"===x?0:u:g(s[a][i+1]);const v=o/2,y=t+v,m=t+e-v,C=b-u,w=b+u,I=b-f,P=b+f,S=d.move(C,y)+d.line(w,y)+d.line(P,m)+d.line(I,m)+" Z";let A=null;const k=null==(h=null==(l=this.barCtx.ctx)?void 0:l.morphTypeChange)?void 0:h.getInitialPathFor(r,i);return k?A=k:n.globals.previousPaths.length>0&&(A=this.barCtx.getPreviousPath(r,i,S)),null==A&&(A=d.move(b,y)+d.line(b,y)+d.line(b,m)+d.line(b,m)+" Z"),{pathTo:S,pathFrom:A,x:w,x1:C,barXPosition:b}}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 n=0;const l=[];for(let t=0;t<i.length;t++){const e=n/r;n+=i[t];const a=n/r,h=e*s,d=a*s;l.push({y:h,height:d-h,topHalf:e*o,bottomHalf:a*o})}return l}getPyramidPaths({barYPosition:t,barHeight:e,topHalf:s,bottomHalf:a,realIndex:i,j:r,strokeWidth:o,w:n}){var l,h;const d=new c(this.barCtx.w),b=n.layout.gridWidth/2,g=o/2,u=t+g,p=t+e-g,x=b-s,f=b+s,v=b-a,y=b+a,m=d.move(x,u)+d.line(f,u)+d.line(y,p)+d.line(v,p)+" Z";let C=null;const w=null==(h=null==(l=this.barCtx.ctx)?void 0:l.morphTypeChange)?void 0:h.getInitialPathFor(i,r);return w?C=w:n.globals.previousPaths.length>0&&(C=this.barCtx.getPreviousPath(i,r,m)),null==C&&(C=d.move(b,u)+d.line(b,u)+d.line(b,p)+d.line(b,p)+" Z"),{pathTo:m,pathFrom:C,x:f,x1:x,barXPosition:b}}getBarpaths({barYPosition:t,barHeight:e,x1:s,x2:a,strokeWidth:i,series:r,realIndex:o,i:n,j:l,w:h}){var d,b;const g=new c(this.barCtx.w),u=this.barRect({a:t,len:e,v1:s,v2:a,strokeWidth:i,realIndex:o,j:l,dir:r[n][l]>=0?1:-1,horizontal:!0}),{y1:p,y2:x,sl:f,closing:v,squarePathTo:y,pathTo:m,strokeCenter:C,direction:w}=u;s=u.x1,a=u.x2;const I=this.barCtx.isFunnel,P=I?(s+a)/2:s;let S=null;const A=null==(b=null==(d=this.barCtx.ctx)?void 0:d.morphTypeChange)?void 0:b.getInitialPathFor(o,l);if(A?S=A:h.globals.previousPaths.length>0&&(S=this.barCtx.getPreviousPath(o,l,m,y)),null==S){const t=I?g.line(P,x):f;S=g.move(P,p)+g.line(P,p)+t+t+t+t+t+g.line(P,p)+v}if(h.config.chart.stacked){const t=this.barCtx.groupCtx;t.xArrj.push(a+C*w),t.xArrjF.push(Math.abs(s-a-u.strokeWidth*w)),t.xArrjVal.push(this.barCtx.series[n][l])}return{pathTo:m,pathFrom:S,drawnBox:{x1:s,x2:a,y1:p,y2:x}}}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,n=[],d=(a,i)=>{n.push({[t]:"x"===t?this.getXForValue(a,e,!1):this.getYForValue(a,s,r,!1),attrs:i})};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,n=0;for(let t=1;t<e.length;t++)e[t].value<e[r].value&&(r=t),e[t].value>e[n].value&&(n=t);const c=o.config.plotOptions.bar.dumbbell.dataLabels;e.forEach((t,e)=>{const o=h(l({},s),{strokeColor:t.color});!c.enabled||e!==r&&e!==n||(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!==n?-1:1}),d(t.value,o)})}}return n}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 c(this.barCtx.w),n=o.group({class:"apexcharts-bar-goals-groups"});n.node.classList.add("apexcharts-element-hidden"),this.barCtx.w.globals.delayedElements.push({el:n.node}),n.attr("clip-path",`url(#gridRectMarkerMask${this.barCtx.w.globals.cuid})`);let l=null;return this.barCtx.isHorizontal?Array.isArray(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;l=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),n.add(l),t.attrs.label&&n.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;l=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),n.add(l),e.attrs.label&&n.add(this.drawDumbbellLabel(e.attrs,{x:a-s,y:e.y,horizontal:!1,markerSize:e.attrs.strokeHeight||0}))}}),n}drawDumbbellLabel(t,e){const s=this.w,a=new c(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:n,barYPosition:l}=t,{x:h,x1:d,barYPosition:b}=e,g=l+e.barHeight,u=new c(this.barCtx.w),p=new H,x=u.move(n,g)+u.line(o,g)+u.line(h,b)+u.line(d,b)+u.line(n,g)+("around"===r.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[a][i]?" Z":" z");return u.drawPath({d:x,fill:p.shadeColor(.5,H.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.globals.seriesPercent[s][e];o&&i++,s<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),s=this.barCtx.columnGroupIndices;let a=s.indexOf(e);return a<0&&(s.push(e),a=s.length-1),{groupIndex:e,columnGroupIndex:a}}}const R=globalThis.ApexCharts.__internals.__apex_CoreUtils,_=globalThis.ApexCharts.__internals.__apex_Filters;class D{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)/D.xRatio(t)}static pxToDataX(t,e){return t.globals.minX+e*D.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 X{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 A(this.w);this.lastActiveBarSerieIndex=a.getActiveConfigSeriesIndex("desc",["bar","column"]),this.lastActiveBarSerieIndexByGroup=a.getActiveConfigSeriesIndexByGroup(["bar","column"]),this.columnGroupIndices=[];const i=a.getBarSeriesIndices(),r=new R(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 W(this)}setSeriesAxis(t){return this.yRatio.length>1&&(this.yaxisIndex=this.w.globals.seriesYAxisReverseMap[t],this.translationsIndex=t),this.translationsIndex}draw(t,e){var s,a,i,r,o;const n=this.w,d=new c(this.w),b=new R(this.w);t=b.getLogSeries(t),this.series=t,this.yRatio=b.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);const g=d.group({class:"apexcharts-bar-series apexcharts-plot-series"}),u=this.ctx.highlightFilter;n.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 p,x;const f=[],v=[],y=n.globals.comboCharts?e[c]:c,{columnGroupIndex:m}=this.barHelpers.getGroupIndex(y),w=d.group({class:"apexcharts-series",rel:c+1,seriesName:H.escapeString(n.seriesData.seriesNames[y]),"data:realIndex":y});A.addCollapsedClassToSeries(this.w,w,y),t[c].length>0&&(this.visibleI=this.visibleI+1);const I=this.setSeriesAxis(y);this.isReversed=n.config.yaxis[this.yaxisIndex]&&n.config.yaxis[this.yaxisIndex].reversed,this.isPyramid&&(this.pyramidLayout=this.barHelpers.computePyramidLayout(t[c]));const S=this.barHelpers.initialPositions(y),{y:k,yDivision:L,zeroW:W,x:R,xDivision:D,zeroH:X}=S;let F=S.barHeight,T=S.barWidth;x=k,p=R,this.isHorizontal||v.push(p+(null!=T?T:0)/2);const O=d.group({class:"apexcharts-datalabels","data:realIndex":y}),j=n.config.dataLabels,Y=!(null==(s=j.animate)?void 0:s.enabled)&&this.isLengthTransition(y);n.globals.dataChanged&&!Y&&((null==(a=j.animate)?void 0:a.enabled)||(null==(i=j.countUp)?void 0:i.enabled))||(n.globals.delayedElements.push({el:O.node,holdUntilComplete:Y}),O.node.classList.add("apexcharts-element-hidden"));const B=d.group({class:"apexcharts-bar-goals-markers"}),z=d.group({class:"apexcharts-bar-shadows"}),M=this.ctx,G=M._barShadows,E=M._barShadows=[],V=n.globals.dataChanged&&n.globals.shouldAnimate&&n.config.chart.animations.dynamicAnimation.enabled&&(null==G?void 0:G.length)===t[c].length-1;V||(n.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,y);let a=null;const i={indexes:{i:c,j:e,realIndex:y,translationsIndex:I,bc:b},x:p,y:x,strokeWidth:s,elSeries:w};this.isHorizontal?(a=this.drawBarPaths(h(l({},i),{barHeight:F,zeroW:W,yDivision:L})),T=this.series[c][e]/this.invertedYRatio):(a=this.drawColumnPaths(h(l({},i),{xDivision:D,barWidth:T,zeroH:X})),F=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=n.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:H.hexToRgba(n.globals.colors[c]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:a,realIndex:y,j:e});z.add(t),E.push(t),this._shadow=V&&[t,G[e-1].attr("d")],n.config.chart.dropShadow.enabled&&new _(this.w).dropShadow(t,n.config.chart.dropShadow,y)}this.pathArr.push(a);const g=this.barHelpers.drawGoalLine({barXPosition:a.barXPosition,barYPosition:a.barYPosition,goalX:a.goalX,goalY:a.goalY,barHeight:F,barWidth:T});g&&B.add(g),x=a.y,p=a.x,e>0&&v.push(p+(null!=T?T:0)/2),f.push(x),this.renderSeries(h(l({hl:null==u?void 0:u.bar(this,{i:c,j:e,realIndex:y,translationsIndex:I,paths:a,zeroH:X,zeroW:W}),realIndex:y,pathFill:d.color},d.useRangeColor?{lineFill:d.color}:{}),{j:e,i:c,columnGroupIndex:m,pathFrom:a.pathFrom,pathTo:a.pathTo,strokeWidth:s,elSeries:w,x:p,y:x,series:t,barHeight:Math.abs(a.barHeight?a.barHeight:F),barWidth:Math.abs(a.barWidth?a.barWidth:T),elDataLabelsWrap:O,elGoalsMarkers:B,elBarShadows:z,visibleSeries:this.visibleI,type:"bar"}))}if(n.globals.seriesXvalues[y]=v,n.globals.seriesYvalues[y]=f,n.globals.previousPaths.length>0){const e=[];for(let s=0;s<t[c].length;s++)e.push(C(n,y,s));P({w:n,elSeries:w,record:this._prevRecord(y),newKeys:e,isHorizontal:this.isHorizontal,speed:n.config.chart.animations.dynamicAnimation.speed})}g.add(w)}return g}renderSeries({hl:t,realIndex:e,pathFill:s,lineFill:a,j:i,i:r,columnGroupIndex:o,pathFrom:n,pathTo:d,strokeWidth:b,elSeries:g,x:u,y:f,y1:v,y2:y,series:m,barHeight:w,barWidth:I,barXPosition:P,barYPosition:A,elDataLabelsWrap:k,elGoalsMarkers:H,elBarShadows:L,visibleSeries:W,type:R,classes:D,fadeReveal:X=!1}){var F,T,O,j,Y,B,z;const M=this.w,G=new c(this.w,this.ctx),E=function(t,e){const s=t&&t.renderer;return s&&s.kind&&"svg"!==s.kind?s:e}(this.ctx,G);let V=!1;const N=this._pathToInterp;if(this._pathToInterp=null,g._bindingsDelegated||(g._bindingsDelegated=!0,G.setupEventDelegation(g,`.apexcharts-${R}-area`)),!a){let t=function(t){const e=M.config.stroke.colors;let s;return Array.isArray(e)&&e.length>0&&(s=e[t],s||(s=""),"function"==typeof s)?s({value:M.seriesData.series[t][i],dataPointIndex:i,w:M}):s};const s="function"==typeof M.globals.stroke.colors[e]?t(e):M.globals.stroke.colors[e];a=this.barOptions.distributed?M.globals.stroke.colors[i]:s}const $=M.config.chart.animations,Z=$.animateGradually;let K=0,q=0;if(Z&&!1!==Z.enabled&&(!M.globals.dataChanged||!this.isLayoutShift(e))){const t=M.globals.dataPoints||1,e=Z.delay||0,s=Math.min(e,.5*$.speed/Math.max(1,t));q=x({style:"sequential",index:i,baseDelay:s}),M.config.chart.stacked&&!M.globals.dataChanged&&(q+=r*s*.5),K=q/(e||1)}const U=new S(this).handleBarDataLabels({x:u,y:f,y1:v,y2:y,i:r,j:i,series:m,realIndex:e,columnGroupIndex:o,barHeight:w,barWidth:I,barXPosition:P,barYPosition:A,visibleSeries:W,hl:null==t?void 0:t.label});if(q>0){const t=M.config.dataLabels;if((null==(F=t.animate)?void 0:F.enabled)||(null==(T=t.countUp)?void 0:T.enabled)){const t=String(Math.round(q));null==(j=null==(O=U.dataLabels)?void 0:O.node)||j.setAttribute("data:dlDelay",t),null==(B=null==(Y=U.totalDataLabels)?void 0:Y.node)||B.setAttribute("data:dlDelay",t)}}let J=!1;M.globals.isBarHorizontal||(U.dataLabelsPos.dataLabelsX+Math.max(I,M.globals.barPadForNumericAxis)<0||U.dataLabelsPos.dataLabelsX-Math.max(I,M.globals.barPadForNumericAxis)>M.layout.gridWidth)&&(this._wasOnScreen(e,i)?J=!0:V=!0),M.config.series[r].data[i]&&M.config.series[r].data[i].strokeColor&&(a=M.config.series[r].data[i].strokeColor);const Q=s;if(this.isNullValue&&-1===M.globals.collapsingSeriesIndices.indexOf(e)&&(s="none"),!V){const o=!0===(null==(z=this.ctx.morphTypeChange)?void 0:z.isActive()),c=o?this.ctx.morphTypeChange.getSpeed():M.config.chart.animations.dynamicAnimation.speed,u=o&&this.ctx.morphTypeChange.claimsTargetMark(e,i);u&&(n=d,K=0);const x=E.renderPaths({i:r,j:i,realIndex:e,pathFrom:n,pathTo:d,stroke:a,strokeWidth:b,strokeLineCap:M.config.stroke.lineCap,fill:s,pathToInterp:N,animationDelay:K,initialSpeed:M.config.chart.animations.speed,dataChangeSpeed:c,className:`apexcharts-${R}-area${D?` ${D}`:""}`,chartType:R,bindEventsOnPaths:!1,fadeReveal:X});x.attr("clip-path",`url(#gridRectBarMask${M.globals.cuid})`),J&&x.node.classList.add("apexcharts-leaving");const f=this._shadow;f&&(this._shadow=null,new p(M,this.ctx).animatePathsGradually({el:f[0],fill:"none",pathFrom:f[1],pathTo:f[0].attr("d"),speed:c,delay:K})),u&&(x.node.setAttribute("opacity","0"),x.node.setAttribute("data-piece-hidden","1"));const m=M.config.forecastDataPoints;if(m.count>0&&i>=M.globals.dataPoints-m.count&&(x.node.setAttribute("stroke-dasharray",m.dashArray),x.node.setAttribute("stroke-width",m.strokeWidth),x.node.setAttribute("fill-opacity",m.fillOpacity)),void 0!==v&&void 0!==y&&(x.attr("data-range-y1",v),x.attr("data-range-y2",y)),new _(this.w).setSelectionFilter(x,e,i),g.add(x),x.attr({cy:U.dataLabelsPos.bcy,cx:U.dataLabelsPos.bcx,j:i,val:M.seriesData.series[r][i],barHeight:w,barWidth:I,"data:pathKey":C(M,e,i)}),null==t||t.paint(x,{delay:K,delayMs:q,speed:c,fill:Q,elSeries:g,elBarShadows:L,labels:U.dataLabels,pathFrom:n,pathTo:d}),"canvas"===E.kind){M.globals.barCanvasCoords||(M.globals.barCanvasCoords={}),M.globals.barCanvasCoords[e]||(M.globals.barCanvasCoords[e]={});const t=M.globals.barCanvasCoords[e][i];let s=(null==t?void 0:t.bounds)||null;const a=x.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)}),M.globals.barCanvasCoords[e][i]=h(l({cx:U.dataLabelsPos.bcx,cy:U.dataLabelsPos.bcy,barWidth:I,type:R},void 0!==v&&void 0!==y&&{rangeY1:v,rangeY2:y}),{bounds:s})}null!==U.dataLabels&&k.add(U.dataLabels),U.totalDataLabels&&k.add(U.totalDataLabels),g.add(k),H&&g.add(H),L&&g.add(L)}return g}drawBarPaths({indexes:t,barHeight:e,strokeWidth:s,zeroW:a,x:i,y:r,yDivision:o,elSeries:n}){const l=this.w,h=t.i,d=t.j;let c;if(l.config.plotOptions.bar.hideZeroBarsWhenGrouped){const{nonZeroColumns:t,zeroEncounters:s}=this.barHelpers.getZeroValueEncounters({i:h,j:d});t>0&&(e=this.seriesLen*e/t),c=r+e*this.visibleI,c-=e*s}else c=r+e*this.visibleI;const b=this.isFunnel&&"trapezoid"===l.config.plotOptions.funnel.shape,g=this.isPyramid&&this.pyramidLayout?this.pyramidLayout[d]:null,u=!!g;if(g)c=g.y,e=g.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=g?this.barHelpers.getPyramidPaths({barYPosition:c,barHeight:e,topHalf:g.topHalf,bottomHalf:g.bottomHalf,realIndex:t.realIndex,j:d,strokeWidth:s,w:l}):b?this.barHelpers.getFunnelTrapezoidPaths({barYPosition:c,barHeight:e,series:this.series,i:h,j:d,realIndex:t.realIndex,strokeWidth:s,w:l}):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:l}),(b||u)&&(a=p.x1,i=p.x),u||(r+=o),u&&(r=c),this.barHelpers.barBackground({j:d,i:h,y1:c-e*this.visibleI,y2:e*this.seriesLen,elSeries:n}),{pathTo:p.pathTo,pathFrom:p.pathFrom,x1: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:n}){const l=this.w,h=t.realIndex,d=t.translationsIndex,c=t.i,b=t.j,g=t.bc;let u;if(l.axisFlags.isXNumeric){const t=this.getBarXForNumericXAxis({x:e,j:b,realIndex:h,barWidth:i});e=t.x,u=t.barXPosition}else if(l.config.plotOptions.bar.hideZeroBarsWhenGrouped){const{nonZeroColumns:t,zeroEncounters:s}=this.barHelpers.getZeroValueEncounters({i:c,j:b});t>0&&(i=this.seriesLen*i/t),u=e+i*this.visibleI,u-=i*s}else u=e+i*this.visibleI;s=this.barHelpers.getYForValue(this.series[c][b],r,d);const p=this.barHelpers.getColumnPaths({barXPosition:u,barWidth:i,y1:r,y2:s,strokeWidth:o,isReversed:this.isReversed,series:this.series,realIndex:h,i:c,j:b,w:l});return l.axisFlags.isXNumeric||(e+=a),this.barHelpers.barBackground({bc:g,j:b,i:c,x1:u-o/2-i*this.visibleI,x2:i*this.seriesLen+o/2,elSeries:n}),{pathTo:p.pathTo,pathFrom:p.pathFrom,x:e,y:s,goalY:this.barHelpers.getGoalValues("y",null,r,h,b,d),barXPosition:u,barWidth:i}}getBarXForNumericXAxis({x:t,barWidth:e,realIndex:s,j:a}){const i=this.w;let r=s;return i.seriesData.seriesX[s].length||(r=i.globals.maxValsInArrayIndex),H.isNumber(i.seriesData.seriesX[r][a])&&(t=D.dataXToPx(i,i.seriesData.seriesX[r][a])-e*this.seriesLen/2),{barXPosition:t+(L(i)?0:e*this.visibleI),x:t}}_wasOnScreen(t,e){if(!m(this.w))return!1;const s=this._prevKeyedPaths(t);return!!s&&s.has(C(this.w,t,e))}_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;if(this._ltCache||(this._ltCache={}),void 0!==this._ltCache[t])return this._ltCache[t];const a=this.w;let i=!1;if(m(a)&&a.globals.previousPaths.length>0){const r=this._prevRecord(t),o=null!=(s=null==(e=a.seriesData.series[t])?void 0:e.length)?s:0;if(r)if(r.paths.length!==o)i=!0;else{const e=this._prevKeyedPaths(t);if(e)for(let s=0;s<o;s++)if(!e.has(C(a,t,s))){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=I(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 m(i)?null:s;let o=null,n=!1;const l=this._prevKeyedPaths(t);if(l){const s=l.get(C(i,t,e));s?o=s.d:n=!0}else void 0!==r.paths[e]?o=r.paths[e].d:n=!0;return o?this.cornerMorph(o,s,a):n&&m(i)?null:s}cornerMorph(t,e,s){const a=X.pathCommandCount(t),i=X.pathCommandCount(e);if(a===i)return t;const r=new c(this.w),o=t=>{const e=X.pathBox(t);return e?Math.min(e.maxX-e.minX,e.maxY-e.minY):0},n=a<i?o(t)>1:o(e)>1;if(a<i){const e=r.roundPathCorners(t,0);if(X.pathCommandCount(e)===i){if(n&&s){const t=r.roundPathCorners(s,0);X.pathCommandCount(t)===i&&(this._pathToInterp=t)}return e}}else{const s=r.roundPathCorners(e,0);if(X.pathCommandCount(s)===a){if(this._pathToInterp=s,n){const e=X.squareLike(t),s=e?r.roundPathCorners(e,0):null;if(s&&X.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=X.pathBox(t);if(!e)return null;const{minX:s,maxX:a,minY:i,maxY:r,start:o,vertical:n}=e,l=(t,e,s)=>Math.abs(t-e)<=Math.abs(t-s)?[e,s]:[s,e];let h,d,c,b;n?(h=Math.abs(o[0]-s)<=Math.abs(o[0]-a)?s:a,d=h===s?a:s,[c,b]=l(o[1],i,r)):(c=Math.abs(o[1]-i)<=Math.abs(o[1]-r)?i:r,b=c===i?r:i,[h,d]=l(o[0],s,a));const g=t.trim().endsWith("Z")?" Z":" z";return n?`M ${h} ${c} L ${h} ${b} L ${d} ${b} L ${d} ${c}${g}`:`M ${h} ${c} L ${d} ${c} L ${d} ${b} L ${h} ${b}${g}`}getPreviousFlip(t,e){const s=this.w,a=this._prevRecord(t);if(!a)return null;const i=this._prevKeyedPaths(t),r=i?i.get(C(s,t,e)):a.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}}d.use({bar:X,column:X,barStacked:class extends X{draw(t,e){const s=this.w;this.graphics=new c(this.w);const a=new R(this.w);t=a.getLogSeries(t),this.yRatio=a.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t),"100%"===s.config.chart.stackType&&(t=s.globals.comboCharts?e.map(t=>s.globals.seriesPercent[t]):s.globals.seriesPercent.slice()),this.series=t,this.barHelpers.initializeStackedPrevVars(this);const i=this.graphics.group({class:"apexcharts-bar-series apexcharts-plot-series"}),r=this.ctx.highlightFilter;let o=0,n=0;const d=s.config.chart.animations,b=d.enabled&&d.dynamicAnimation.enabled&&s.globals.previousPaths.length>0;let g=!1;for(let a=0,d=0;a<t.length;a++,d++){const c=s.globals.comboCharts?e[a]:a,{groupIndex:u,columnGroupIndex:p}=this.barHelpers.getGroupIndex(c);this.groupCtx=this.stacks[u];const x=[],f=[],v=this.setSeriesAxis(c);this.isReversed=s.config.yaxis[this.yaxisIndex]&&s.config.yaxis[this.yaxisIndex].reversed;let y=this.graphics.group({class:"apexcharts-series",seriesName:H.escapeString(s.seriesData.seriesNames[c]),rel:a+1,"data:realIndex":c});A.addCollapsedClassToSeries(this.w,y,c);const m=this.graphics.group({class:"apexcharts-datalabels","data:realIndex":c});A.addCollapsedClassToSeries(this.w,m,c),(s.globals.collapsingSeriesIndices||[]).indexOf(c)>-1&&m.node.style.setProperty("--apexcharts-dl-exit",`${s.config.chart.animations.dynamicAnimation.speed}ms`);const C=this.graphics.group({class:"apexcharts-bar-goals-markers"}),w=this.initialPositions(o,n,void 0,void 0,void 0,void 0,v),{xDivision:I,yDivision:P,zeroH:S,zeroW:k}=w;let L=w.barHeight,W=w.barWidth;n=w.y,o=w.x,s.globals.barHeight=L,s.globals.barWidth=W,this.barHelpers.initializeStackedXYVars(this),1===this.groupCtx.prevY.length&&this.groupCtx.prevY[0].every(t=>isNaN(t))&&(this.groupCtx.prevY[0]=this.groupCtx.prevY[0].map(()=>S),this.groupCtx.prevYF[0]=this.groupCtx.prevYF[0].map(()=>0));for(let e=0;e<s.globals.dataPoints;e++){const i=this.barHelpers.getStrokeWidth(a,e,c),u={indexes:{i:a,j:e,realIndex:c,translationsIndex:v,bc:d},strokeWidth:i,x:o,y:n,elSeries:y,columnGroupIndex:p};let w=null;this.isHorizontal?(w=this.drawStackedBarPaths(h(l({},u),{zeroW:k,barHeight:L,yDivision:P})),W=this.series[a][e]/this.invertedYRatio):(w=this.drawStackedColumnPaths(h(l({},u),{xDivision:I,barWidth:W,zeroH:S})),L=this.series[a][e]/this.yRatio[v]);const A=this.barHelpers.drawGoalLine({barXPosition:w.barXPosition,barYPosition:w.barYPosition,goalX:w.goalX,goalY:w.goalY,barHeight:L,barWidth:W});A&&C.add(A),n=w.y,o=w.x,x.push(o),f.push(n);const H=this.barHelpers.getPathFillColor(t,a,e,c);let R="";const _=s.globals.isBarHorizontal?"apexcharts-flip-x":"apexcharts-flip-y",D=this.cornerFlip(this.barHelpers.arrBorderRadius[c][e],s.seriesData.series[c][e]),X=b&&!D&&this.getPreviousFlip(c,e);(D||X)&&(R=_),X&&(R+=" apexcharts-flip-held",g=!0),y=this.renderSeries(h(l({hl:null==r?void 0:r.bar(this,{i:a,j:e,realIndex:c,translationsIndex:v,paths:w,zeroH:S,zeroW:k}),realIndex:c,pathFill:H.color},H.useRangeColor?{lineFill:H.color}:{}),{j:e,i:a,columnGroupIndex:p,pathFrom:w.pathFrom,pathTo:w.pathTo,strokeWidth:i,elSeries:y,x:o,y:n,series:t,barHeight:L,barWidth:W,elDataLabelsWrap:m,elGoalsMarkers:C,type:"bar",visibleSeries:p,classes:R}))}s.globals.seriesXvalues[c]=x,s.globals.seriesYvalues[c]=f,this.groupCtx.prevY.push(this.groupCtx.yArrj),this.groupCtx.prevYF.push(this.groupCtx.yArrjF),this.groupCtx.prevYVal.push(this.groupCtx.yArrjVal),this.groupCtx.prevX.push(this.groupCtx.xArrj),this.groupCtx.prevXF.push(this.groupCtx.xArrjF),this.groupCtx.prevXVal.push(this.groupCtx.xArrjVal),i.add(y)}return g&&this.settleHeldMirrors(),i}cornerFlip(t,e){return"bottom"===t&&e>0||"top"===t&&e<0}settleHeldMirrors(){const t=this.w;if(!v.isBrowser())return;const e=t.config.chart.animations,s=(e.dynamicAnimation.speed||0)+(e.speed||0)+100;setTimeout(()=>{!t.globals.isDestroyed&&H.elementExists(t.dom.baseEl)&&t.dom.baseEl.querySelectorAll(".apexcharts-flip-held").forEach(t=>{t.classList.remove("apexcharts-flip-held","apexcharts-flip-y","apexcharts-flip-x")})},s)}initialPositions(t,e,s,a,i,r,o){const n=this.w;let l,h;if(this.isHorizontal){a=n.layout.gridHeight/n.globals.dataPoints;const t=n.config.plotOptions.bar.barHeight;l=-1===String(t).indexOf("%")?parseInt(t,10):a*parseInt(t,10)/100,r=n.globals.padHorizontal+(this.isReversed?n.layout.gridWidth-this.baseLineInvertedY:this.baseLineInvertedY),e=(a-l)/2}else{h=s=n.layout.gridWidth/n.globals.dataPoints;const e=n.config.plotOptions.bar.columnWidth,a=n.axisFlags.isXNumeric?this.barHelpers.barSlotXSpan():0;a>0?h=(s=a/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:h*=parseInt(e,10)/100,-1===String(e).indexOf("%")&&(h=parseInt(e,10)),i=this.isReversed?this.baseLineY[o]:n.layout.gridHeight-this.baseLineY[o],t=n.globals.padHorizontal+(s-h)/2}const d=n.globals.barGroups.length||1;return{x:t,y:e,yDivision:a,xDivision:s,barHeight:(null!=l?l:0)/d,barWidth:(null!=h?h:0)/d,zeroH:i,zeroW:r}}drawStackedBarPaths({indexes:t,barHeight:e,strokeWidth:s,zeroW:a,x:i,y:r,columnGroupIndex:o,yDivision:n,elSeries:l}){var h,d,c,b,g;const u=this.w,p=r+o*e;let x;const f=t.i,v=t.j,y=t.realIndex,m=t.translationsIndex;let C=0;for(let t=0;t<this.groupCtx.prevXF.length;t++)C+=this.groupCtx.prevXF[t][v];const w=this.groupCtx.prevX.length;if(w>0){let t=a;this.groupCtx.prevXVal[w-1][v]<0?t=(null==(h=this.series[f])?void 0:h[v])>=0?this.groupCtx.prevX[w-1][v]+C-2*(this.isReversed?C:0):this.groupCtx.prevX[w-1][v]:this.groupCtx.prevXVal[w-1][v]>=0&&(t=(null==(d=this.series[f])?void 0:d[v])>=0?this.groupCtx.prevX[w-1][v]:this.groupCtx.prevX[w-1][v]-C+2*(this.isReversed?C:0)),x=t}else x=a;i=null===(null==(c=this.series[f])?void 0:c[v])?x:x+(null==(b=this.series[f])?void 0:b[v])/this.invertedYRatio-2*(this.isReversed?(null==(g=this.series[f])?void 0:g[v])/this.invertedYRatio:0);const I=this.barHelpers.getBarpaths({barYPosition:p,barHeight:e,x1:x,x2:i,strokeWidth:s,isReversed:this.isReversed,series:this.series,realIndex:t.realIndex,i:f,j:v,w:u});return this.barHelpers.barBackground({j:v,i:f,y1:p,y2:e,elSeries:l}),r+=n,{pathTo:I.pathTo,pathFrom:I.pathFrom,goalX:this.barHelpers.getGoalValues("x",a,null,y,v,m),barXPosition:x,barYPosition:p,x:i,y:r}}drawStackedColumnPaths({indexes:t,x:e,y:s,xDivision:a,barWidth:i,zeroH:r,columnGroupIndex:o,elSeries:n}){var l,h,d,c,b,g;const u=this.w,p=t.i,x=t.j,f=t.bc,v=t.realIndex,y=t.translationsIndex;if(u.axisFlags.isXNumeric){let t=u.seriesData.seriesX[v][x];t||(t=0),e=(t-u.globals.minX)/this.xRatio-i/2*u.globals.barGroups.length}const m=e+o*i;let C;const w=this.groupCtx,I=u.axisFlags.isXNumeric?u.seriesData.seriesX[v][x]:x,P=w.tops.get(I);if(P){const[t,e,s]=P;let a;e<0?a=(null==(l=this.series[p])?void 0:l[x])>=0?t-s+2*(this.isReversed?s:0):t:e>=0&&(a=(null==(h=this.series[p])?void 0:h[x])>=0?t:t+s-2*(this.isReversed?s:0)),void 0===a&&(a=u.layout.gridHeight),C=(null==(d=w.prevYF[0])?void 0:d.every(t=>0===t))&&w.prevYF.slice(1).every(t=>t.every(t=>isNaN(t)))?r:a}else C=r;s=(null==(c=this.series[p])?void 0:c[x])?C-(null==(b=this.series[p])?void 0:b[x])/this.yRatio[y]+2*(this.isReversed?(null==(g=this.series[p])?void 0:g[x])/this.yRatio[y]:0):C;const S=this.barHelpers.getColumnPaths({barXPosition:m,barWidth:i,y1:C,y2:s,yRatio:this.yRatio[y],strokeWidth:this.strokeWidth,isReversed:this.isReversed,series:this.series,realIndex:t.realIndex,i:p,j:x,w:u}),A=w.yArrj[x];return isNaN(A)||w.tops.set(I,[A,w.yArrjVal[x],(P?P[2]:0)+w.yArrjF[x],(P?P[3]:0)+(u.seriesData.series[v][x]||0),P?Math.min(P[0],P[4]):1/0,P?Math.max(P[0],P[5]):-1/0]),this.barHelpers.barBackground({bc:f,j:x,i:p,x1:m,x2:i,elSeries:n}),{pathTo:S.pathTo,pathFrom:S.pathFrom,goalY:this.barHelpers.getGoalValues("y",null,r,v,x,0),barXPosition:m,x:u.axisFlags.isXNumeric?e:e+a,y:s}}},rangeBar:class extends X{draw(t,e){var s,a,i,r,o,n,h,d,b;const g=this.w,u=new c(this.w);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=t,this.seriesRangeStart=g.rangeData.seriesRangeStart,this.seriesRangeEnd=g.rangeData.seriesRangeEnd,this.barHelpers.initVariables(t);const p=u.group({class:"apexcharts-rangebar-series apexcharts-plot-series"});for(let c=0;c<t.length;c++){let x,f;const v=g.globals.comboCharts?e[c]:c,{columnGroupIndex:y}=this.barHelpers.getGroupIndex(v),m=u.group({class:"apexcharts-series",seriesName:H.escapeString(g.seriesData.seriesNames[v]),rel:c+1,"data:realIndex":v});A.addCollapsedClassToSeries(this.w,m,v),t[c].length>0&&(this.visibleI=this.visibleI+1);const w=this.setSeriesAxis(v),I=this.barHelpers.initialPositions(v),{y:S,zeroW:k,x:L,zeroH:W}=I;let R=null!=(s=I.barWidth)?s:0,_=null!=(a=I.barHeight)?a:0;const D=null!=(i=I.yDivision)?i:0,X=null!=(r=I.xDivision)?r:0;f=S,x=L;const F=u.group({class:"apexcharts-datalabels","data:realIndex":v}),T=u.group({class:"apexcharts-rangebar-goals-markers"});for(let e=0;e<g.globals.dataPoints;e++){const s=this.barHelpers.getStrokeWidth(c,e,v),a=this.seriesRangeStart[c][e],i=this.seriesRangeEnd[c][e];let r=null,u=null,p=null;const C={x:x,y:f,strokeWidth:s,elSeries:m};let P=this.seriesLen;if(g.config.plotOptions.bar.rangeBarGroupRows&&(P=1),void 0===(null==(o=g.config.series[c].data)?void 0:o[e]))break;if(this.isHorizontal){p=f+_*this.visibleI;const t=(D-_*P)/2;if(null==(h=null==(n=g.config.series[c].data)?void 0:n[e])?void 0:h.x){const s=this.detectOverlappingBars({i:c,j:e,barYPosition:p,srty:t,barHeight:_,yDivision:D,initPositions:I});_=s.barHeight,p=s.barYPosition}r=this.drawRangeBarPaths(l({indexes:{i:c,j:e,realIndex:v},barHeight:_,barYPosition:p,zeroW:k,yDivision:D,y1:a,y2:i},C)),R=r.barWidth}else{g.axisFlags.isXNumeric&&(x=(g.seriesData.seriesX[c][e]-g.globals.minX)/this.xRatio-R/2),u=x+R*this.visibleI;const t=(X-R*P)/2;if(null==(b=null==(d=g.config.series[c].data)?void 0:d[e])?void 0:b.x){const s=this.detectOverlappingBars({i:c,j:e,barXPosition:u,srtx:t,barWidth:R,xDivision:X,initPositions:I});R=s.barWidth,u=s.barXPosition}r=this.drawRangeColumnPaths(l({indexes:{i:c,j:e,realIndex:v,translationsIndex:w},barWidth:R,barXPosition:u,zeroH:W,xDivision:X},C)),_=r.barHeight}const S=this.barHelpers.drawGoalLine({barXPosition:r.barXPosition,barYPosition:p,goalX:r.goalX,goalY:r.goalY,barHeight:_,barWidth:R});S&&T.add(S),f=r.y,x=r.x;const A=this.barHelpers.getPathFillColor(t,c,e,v);this.renderSeries({realIndex:v,pathFill:A.color,lineFill:A.useRangeColor?A.color:g.globals.stroke.colors[v],j:e,i:c,x:x,y:f,y1:a,y2:i,pathFrom:r.pathFrom,pathTo:r.pathTo,strokeWidth:s,elSeries:m,series:t,barHeight:_,barWidth:R,barXPosition:u,barYPosition:p,columnGroupIndex:y,elDataLabelsWrap:F,elGoalsMarkers:T,visibleSeries:this.visibleI,type:"rangebar"})}if(g.globals.previousPaths.length>0){const t=g.config.series[c].data||[],e=[];for(let s=0;s<t.length;s++)e.push(C(g,v,s));P({w:g,elSeries:m,record:this._prevRecord(v),newKeys:e,isHorizontal:this.isHorizontal,speed:g.config.chart.animations.dynamicAnimation.speed})}p.add(m)}return p}detectOverlappingBars({i:t,j:e,barYPosition:s,barXPosition:a,srty:i,srtx:r,barHeight:o,barWidth:n,yDivision:l,xDivision:h,initPositions:d}){var c,b,g,u;const p=this.w;let x=[];const f=null==(b=null==(c=p.globals.seriesRangeName)?void 0:c[t])?void 0:b[e],v=null==(u=null==(g=p.config.series[t].data)?void 0:g[e])?void 0:u.x,y=Array.isArray(v)?v.join(" "):v,m=p.labelData.labels.map(t=>Array.isArray(t)?t.join(" "):t).indexOf(y),C=p.rangeData.seriesRange[t].findIndex(t=>{var e;return t.x===y&&(null==(e=t.overlaps)?void 0:e.size)>0});return this.isHorizontal?(s=p.config.plotOptions.bar.rangeBarGroupRows?i+l*m:i+o*this.visibleI+l*m,C>-1&&!p.config.plotOptions.bar.rangeBarOverlap&&(x=Array.from(p.rangeData.seriesRange[t][C].overlaps),x.indexOf(f)>-1&&(s=(o=d.barHeight/x.length)*this.visibleI+l*(100-parseInt(this.barOptions.barHeight,10))/100/2+o*(this.visibleI+x.indexOf(f))+l*m))):(m>-1&&!p.labelData.timescaleLabels.length&&(a=p.config.plotOptions.bar.rangeBarGroupRows?r+h*m:r+n*this.visibleI+h*m),C>-1&&!p.config.plotOptions.bar.rangeBarOverlap&&(x=Array.from(p.rangeData.seriesRange[t][C].overlaps),x.indexOf(f)>-1&&(a=(n=d.barWidth/x.length)*this.visibleI+h*(100-parseInt(this.barOptions.barWidth,10))/100/2+n*(this.visibleI+x.indexOf(f))+h*m))),{barYPosition:s,barXPosition:a,barHeight:o,barWidth:n}}drawRangeColumnPaths({indexes:t,x:e,xDivision:s,barWidth:a,barXPosition:i,zeroH:r}){var o,n;const l=this.w,{i:h,j:d,realIndex:c,translationsIndex:b}=t,g=this.yRatio[b],u=this.getRangeValue(c,d);let p=Math.min(u.start,u.end),x=Math.max(u.start,u.end);const f=!(void 0===(null==(o=this.series[h])?void 0:o[d])||null===(null==(n=this.series[h])?void 0:n[d]));f?(p=r-p/g,x=r-x/g):p=r;const v=Math.abs(x-p),y=this.barHelpers.getColumnPaths({barXPosition:i,barWidth:a,y1:p,y2:x,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:c,i:c,j:d,w:l});if(f){const t=y.drawnBox,e=u.end>=u.start;this.recordColumnGeometry(c,d,{slotStart:t.x1,slotEnd:t.x2,levelStart:e?t.y1:t.y2,levelEnd:e?t.y2:t.y1,horizontal:!1})}if(l.axisFlags.isXNumeric){const t=this.getBarXForNumericXAxis({x:e,j:d,realIndex:c,barWidth:a});e=t.x,i=t.barXPosition}else e+=s;return{pathTo:y.pathTo,pathFrom:y.pathFrom,barHeight:v,x:e,y:u.start<0&&u.end<0?p:x,goalY:this.barHelpers.getGoalValues("y",null,r,c,d,b),barXPosition:i}}preventBarOverflow(t){const e=this.w;return t<0&&(t=0),t>e.layout.gridWidth&&(t=e.layout.gridWidth),t}drawRangeBarPaths({indexes:t,y:e,y1:s,y2:a,yDivision:i,barHeight:r,barYPosition:o,zeroW:n}){const l=this.w,{realIndex:h,j:d}=t,c=this.preventBarOverflow(n+s/this.invertedYRatio),b=this.preventBarOverflow(n+a/this.invertedYRatio),g=this.getRangeValue(h,d),u=Math.abs(b-c),p=this.barHelpers.getBarpaths({barYPosition:o,barHeight:r,x1:c,x2:b,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:h,realIndex:h,j:d,w:l});if(null!=g.start&&null!=g.end){const t=p.drawnBox;this.recordColumnGeometry(h,d,{slotStart:t.y1,slotEnd:t.y2,levelStart:t.x1,levelEnd:t.x2,horizontal:!0})}return l.axisFlags.isXNumeric||(e+=i),{pathTo:p.pathTo,pathFrom:p.pathFrom,barWidth:u,x:g.start<0&&g.end<0?c:b,goalX:this.barHelpers.getGoalValues("x",n,null,h,d,0),y:e}}recordColumnGeometry(t,e,s){const a=this.w.waterfallData&&this.w.waterfallData.geometry;a&&isFinite(s.slotStart)&&isFinite(s.levelEnd)&&(a[t]||(a[t]=[]),a[t][e]=s)}getRangeValue(t,e){const s=this.w;return{start:s.rangeData.seriesRangeStart[t][e],end:s.rangeData.seriesRangeEnd[t][e]}}}}),t.default=d,Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).ApexBar={})});
|
|
5
|
+
!function(t){var e="undefined"!=typeof globalThis?globalThis:self,s=e.ApexCharts;if(s&&s.__internals)return t.call(e);if(s)throw new Error("ApexCharts: dist/bar.js cannot register: the ApexCharts on this page has no add-on surface (a script before 7.0, or a bundled apexcharts/core class). Load apexcharts.min.js, apexcharts.core.min.js or apexcharts.full.min.js.");if("function"==typeof define&&define.amd)return t.call(e);if("object"==typeof exports&&"undefined"!=typeof module||"undefined"==typeof window||"undefined"==typeof document)throw new Error("ApexCharts: dist/bar.js is a script-tag add-on and needs the ApexCharts script on the page. A bundler imports the matching apexcharts/ sub-path instead.");var a={file:"dist/bar.js",run:t,done:!1},i=e.__apexcharts_pending_addons__||(e.__apexcharts_pending_addons__=[]);i.push(a),"complete"!==document.readyState&&window.addEventListener("load",function(){if(!a.done){var s=e.ApexCharts;if(s)if(s.__internals){a.done=!0;var r=i.indexOf(a);-1!==r&&i.splice(r,1);try{t.call(e),s.__drainsAddons||e.console.warn("ApexCharts: dist/bar.js loaded before the ApexCharts script, which is older than 8.0 and does not pick up add-ons loaded first, so it registered only when the page finished loading. Put its tag after the ApexCharts script.")}catch(t){e.console.error("ApexCharts: dist/bar.js could not register with the ApexCharts script on this page: "+(t&&t.message))}}else e.console.error("ApexCharts: dist/bar.js cannot register: the ApexCharts on this page has no add-on surface (a script before 7.0, or a bundled apexcharts/core class). Load apexcharts.min.js, apexcharts.core.min.js or apexcharts.full.min.js.");else e.console.warn("ApexCharts: dist/bar.js is waiting for the ApexCharts script, which had not loaded when the page finished loading. It registers when an ApexCharts 8.0 or later script loads; if the page has none, add apexcharts.min.js (or apexcharts.core.min.js, or apexcharts.full.min.js).")}})}(function(){var t,e;t=this,e=function(t){"use strict";var e=Object.defineProperty,s=Object.defineProperties,a=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,n=(t,s,a)=>s in t?e(t,s,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[s]=a,l=(t,e)=>{for(var s in e||(e={}))r.call(e,s)&&n(t,s,e[s]);if(i)for(var s of i(e))o.call(e,s)&&n(t,s,e[s]);return t},h=(t,e)=>s(t,a(e));const d=globalThis.ApexCharts,c=globalThis.ApexCharts.__internals.__apex_Graphics,b=globalThis.ApexCharts.__internals.__apex_DataLabels,u=(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 g{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:n,y:d,y1:b,y2:g,i:p,j:x,realIndex:f,columnGroupIndex:y,barHeight:m,barWidth:v,barXPosition:C,barYPosition:w,visibleSeries:I,hl:P,noLabel:k}=t,S=this.w,A=new c(this.barCtx.w);this.hlt=null==P?void 0:P.total;const H=S.waterfallData&&S.waterfallData.values,L=P&&null!=P.val?P.val:H&&H[f]&&null!=H[f][x]?H[f][x]:null,_=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[f]:this.barCtx.strokeWidth;let R,W;S.axisFlags.isXNumeric&&!S.globals.isBarHorizontal?(R=n+v*(I+1),W=d+m*(I+1)-_):(R=n+v*I,W=d+m*I);let D=null,X=null,F=n,T=d,j={};const O=S.config.dataLabels,Y=this.barCtx.barOptions.dataLabels,B=this.barCtx.barOptions.dataLabels.total;void 0!==w&&(this.barCtx.isRangeBar||this.barCtx.isPyramid)&&(W=w,T=w),void 0!==C&&this.barCtx.isVerticalGroupedRangeBar&&(R=C,F=C);const z=u(O.offsetX,S,f,x),M=u(O.offsetY,S,f,x),G=(null==P?void 0:P.hide)?void 0:null!==L?L:void 0!==g?[b,g]:"100%"===S.config.chart.stackType?S.globals.seriesPercent[f][x]:S.seriesData.series[f][x];let E,N={width:0,height:0};O.enabled&&(E=void 0===G?"":O.formatter(G,h(l({},S),{seriesIndex:f,dataPointIndex:x,w:S})),N=A.getTextRects(E,parseFloat(O.style.fontSize).toString(),O.style.fontFamily,void 0,!0,O.style.fontWeight));const V={x:null!=(e=null==P?void 0:P.x)?e:n,y:null!=(s=null==P?void 0:P.y)?s:d,neg:P&&null!=P.val?P.val<0:void 0,i:p,j:x,realIndex:f,columnGroupIndex:y,bcx:R,bcy:W,barHeight:null!=(a=null==P?void 0:P.barHeight)?a:m,barWidth:null!=(i=null==P?void 0:P.barWidth)?i:v,textRects:N,strokeWidth:_,dataLabelsX:F,dataLabelsY:T,dataLabelsConfig:O,barDataLabelsConfig:Y,barTotalDataLabelsConfig:B,offX:z,offY:M};if(j=this.barCtx.isHorizontal?this.calculateBarsDataLabelsPosition(V):this.calculateColumnsDataLabelsPosition(V),null!==L&&this.barCtx.isHorizontal&&"center"===Y.position){const t=null==(o=null==(r=S.waterfallData.geometry)?void 0:r[f])?void 0:o[x];t&&t.horizontal&&(j.dataLabelsX=(t.levelStart+t.levelEnd)/2+z)}return D=k?null:this.drawCalculatedDataLabels({x:j.dataLabelsX,y:j.dataLabelsY,neg:V.neg,val:G,text:E,i:f,j:x,barWidth:V.barWidth,barHeight:V.barHeight,textRects:N,dataLabelsConfig:O}),S.config.chart.stacked&&B.enabled&&!1!==this.hlt&&(X=this.drawTotalDataLabels({x:j.totalDataLabelsX,y:j.totalDataLabelsY,barWidth:v,barHeight:m,realIndex:f,j:x,textAnchor:j.totalDataLabelsAnchor,val:this.getStackedTotalDataLabel({realIndex:f,j:x}),rawVal:this.getStackedTotalValue({realIndex:f,j:x}),dataLabelsConfig:O,barTotalDataLabelsConfig:B})),{dataLabelsPos:j,dataLabels:D,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 c(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,h(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:n,bcx:l,barWidth:h,barHeight:d,textRects:c,dataLabelsX:b,dataLabelsY:u,barDataLabelsConfig:g,barTotalDataLabelsConfig:p,strokeWidth:x,offX:f,offY:y}=t;const m=l;d=Math.abs(d);const v="vertical"===s.config.plotOptions.bar.dataLabels.orientation,{zeroEncounters:C}=this.barCtx.barHelpers.getZeroValueEncounters({i:o,j:r});l-=x/2;const w=s.layout.gridWidth/s.globals.dataPoints;if(this.barCtx.isVerticalGroupedRangeBar?b+=h/2:(b=s.axisFlags.isXNumeric?l-h/2+f:l-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 I=null!=(e=t.neg)?e:s.seriesData.series[o][r]<0;let P=n;switch(this.barCtx.isReversed&&(P=n+(I?d:-d)),g.position){case"center":u=v?I?P-d/2+y:P+d/2-y:I?P-d/2+c.height/2+y:P+d/2+c.height/2-y;break;case"bottom":u=v?I?P-d+y:P+d-y:I?P-d+c.height+x+y:P+d-c.height/2+x-y;break;case"top":u=v?I?P+y:P-y:I?P-c.height/2-y:P+c.height+y}let k=P;const S=this.getTotalGroupContext(o),A=this.xStackTop(o,r),H=A?[]:this.barCtx.stacks||[];if(A&&(k=I?Math.max(P,A[5]):Math.min(P,A[4])),H.forEach((t,e)=>{S&&e!==S.groupIndex||t.prevY.forEach(t=>{k=I?Math.max(t[r],k):Math.min(t[r],k)})}),this.hlt&&(k=this.hlt.edge),this.drawsStackedTotal(o)&&p.enabled){const t=this.totalRects(o,r).height;a=I?k+.77*t-y-p.offsetY:k-.3*t+y+p.offsetY;const e=w;i=m+(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:l,bcy:n,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:n,barHeight:l,barWidth:h,textRects:d,dataLabelsX:c,strokeWidth:b,dataLabelsConfig:u,barDataLabelsConfig:g,barTotalDataLabelsConfig:p,offX:x,offY:f}=t;const y=a.layout.gridHeight/a.globals.dataPoints,{zeroEncounters:m}=this.barCtx.barHelpers.getZeroValueEncounters({i:o,j:r});let v,C,w;h=Math.abs(h),v=this.barCtx.isPyramid?n+l/2+f-(null!=(e=d.centerOffset)?e:0):n-(this.barCtx.isRangeBar?0:y)+l/2+d.height/2+f-3,!a.config.chart.stacked&&m>0&&a.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(v-=l*m);let I="start";const P=null!=(s=t.neg)?s:a.seriesData.series[o][r]<0;let k=i;if(this.barCtx.isReversed&&(k=i+(P?-h:h),I=P?"start":"end"),this.barCtx.isPyramid)c=a.layout.gridWidth/2+x;else switch(g.position){case"center":c=P?k+h/2-x:Math.max(d.width/2,k-h/2)+x;break;case"bottom":c=P?k+h-b-x:k-h+b+x;break;case"top":c=P?k-b-x:k-b+x}let S=k;const A=this.getTotalGroupContext(o),H=this.xStackTop(o,r),L=H?[]:this.barCtx.stacks||[];if(H&&(S=P?Math.min(k,H[4]):Math.max(k,H[5])),L.forEach((t,e)=>{A&&e!==A.groupIndex||t.prevX.forEach(t=>{S=P?Math.min(t[r],S):Math.max(t[r],S)})}),this.hlt&&(S=this.hlt.edge),this.drawsStackedTotal(o)&&p.enabled){const t=this.totalRects(o,r);P?(C=S-b-x-p.offsetX,I="end"):C=S+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&&!A&&(w-=a.globals.barGroups.length/2*(l/2))}if(!a.config.chart.stacked){const t=P&&"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:n,dataLabelsX:c,dataLabelsY:v,totalDataLabelsX:C,totalDataLabelsY:w,totalDataLabelsAnchor:I}}drawCalculatedDataLabels({x:t,y:e,val:s,text:a,neg:i,i:r,j:o,textRects:n,barHeight:d,barWidth:u,dataLabelsConfig:g}){var p,x,f;const y=this.w;let m="rotate(0)";"vertical"===y.config.plotOptions.bar.dataLabels.orientation&&(m=`rotate(-90, ${t}, ${e})`);const v=new b(this.barCtx.w,this.barCtx.ctx),C=new c(this.barCtx.w),w=g.formatter;let I=null;const P=y.globals.collapsedSeriesIndices.indexOf(r)>-1,k=(y.globals.collapsingSeriesIndices||[]).indexOf(r)>-1,S=`${r}::${this.barCtx._keys(r)[o]}`;if(k){const t=null==(p=y.globals.prevDataLabels)?void 0:p.get(S);t&&isFinite(t.val)&&(s=t.val,a=void 0)}if(g.enabled&&(!P||k)){I=C.group({class:"apexcharts-data-labels",transform:m});const c=y.config.dataLabels;((null==(x=c.animate)?void 0:x.enabled)||(null==(f=c.countUp)?void 0:f.enabled))&&(I.node.setAttribute("data:dlKey",S),I.node.setAttribute("data:dlJ",String(o)),"number"==typeof s&&isFinite(s)&&I.node.setAttribute("data:dlVal",String(s))),void 0===s?a="":void 0===a&&(a=w(s,h(l({},y),{seriesIndex:r,dataPointIndex:o,w:y}))),!s&&y.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(a="");let b=g.textAnchor;"vertical"===y.config.plotOptions.bar.dataLabels.orientation&&(b="center"===y.config.plotOptions.bar.dataLabels.position?"middle":(null!=i?i:y.seriesData.series[r][o]<0)?"end":"start"),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels&&u<n.width&&(a=""),y.config.chart.stacked&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels&&!k&&(this.barCtx.isHorizontal?n.width/1.6>Math.abs(u)&&(a=""):n.height/1.6>Math.abs(d)&&(a=""));const p=h(l({},g),{textAnchor:b});this.barCtx.isHorizontal&&s<0&&("start"===b?p.textAnchor="end":"end"===b&&(p.textAnchor="start")),v.plotDataLabelsText({x:t,y:e,text:a,i:r,j:o,parent:I,dataLabelsConfig:p,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return I}drawTotalDataLabels({x:t,y:e,val:s,rawVal:a,realIndex:i,j:r,textAnchor:o,barTotalDataLabelsConfig:n}){var l,h;const d=new c(this.barCtx.w);let b;if(n.enabled&&void 0!==t&&void 0!==e&&this.drawsStackedTotal(i)){b=d.drawText({x:t,y:e,foreColor:n.style.color,text:s,textAnchor:o,fontFamily:n.style.fontFamily,fontSize:n.style.fontSize,fontWeight:n.style.fontWeight}),b.attr({class:"apexcharts-datalabel-total",cx:t,cy:e});const c=this.w.config.dataLabels;if((null==(l=c.animate)?void 0:l.enabled)||(null==(h=c.countUp)?void 0:h.enabled)){const{groupIndex:t}=this.barCtx.barHelpers.getGroupIndex(i);b.node.setAttribute("data:dlTotalKey",`${t}::${this.barCtx._keys(i)[r]}`),b.node.setAttribute("data:dlTotalSeries",String(i)),"number"==typeof a&&isFinite(a)&&b.node.setAttribute("data:dlTotalVal",String(a))}}return b}}const p=globalThis.ApexCharts.__internals.__apex_Series,x=globalThis.ApexCharts.__internals.__apex_Fill,f=globalThis.ApexCharts.__internals.__apex_CoreUtils,y=globalThis.ApexCharts.__internals.__apex_Utils;function m(t){var e,s,a,i,r,o,n;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!=(n=null==(o=null==(r=t.seriesData)?void 0:r.series)?void 0:o.length)?n: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),y.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,n,l,h,d=e.globals.dataPoints;this.barCtx.isRangeBar&&(d=e.labelData.labels.length);let c=this.barCtx.seriesLen;if((e.config.plotOptions.bar.rangeBarGroupRows||m(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),n=r/c*parseInt(this.barCtx.barOptions.columnWidth,10)/100,e.axisFlags.isXNumeric){const t=this.barCtx.xRatio,e=this.barSlotXSpan();e>0&&e/t>0&&(r=e/t),n=r/c*parseInt(this.barCtx.barOptions.columnWidth,10)/100,n<1&&(n=1)}-1===String(this.barCtx.barOptions.columnWidth).indexOf("%")&&(n=parseInt(this.barCtx.barOptions.columnWidth,10)),l=e.layout.gridHeight-this.barCtx.baseLineY[this.barCtx.translationsIndex]-(this.barCtx.isReversed?e.layout.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.translationsIndex]:0),s=e.axisFlags.isXNumeric?this.barCtx.getBarXForNumericXAxis({x:s,j:0,realIndex:t,barWidth:n}).x:e.globals.padHorizontal+y.noExponents(r-n*this.barCtx.seriesLen)/2}return e.globals.barHeight=o,e.globals.barWidth=n,{x:s,y:a,yDivision:i,xDivision:r,barHeight:o,barWidth:n,zeroH:l,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 x(this.barCtx.w);let n=null;const l=this.barCtx.barOptions.distributed?s:e;let h=!1;this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map(a=>{t[e][s]>=a.from&&t[e][s]<=a.to&&(n=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;return c&&c.color&&(n=c.color,b=c.opacity),{color:o.fillPath({seriesNumber:this.barCtx.barOptions.distributed?l:a,dataPointIndex:s,color:n,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]],n=s.globals.colors[r[1]];return o&&n?{type:"gradient",gradient:{type:this.barCtx.isHorizontal?"horizontal":"vertical",gradientFrom:o,gradientTo:n,opacityFrom:i.opacity,opacityTo:i.opacity,stops:[0,100],inverseColors:!this.barCtx.isHorizontal}}:null}getStrokeWidth(t,e,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,n=o?"top":"both",l=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]=n;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]=l;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 n=this.w,l=new c(this.barCtx.w),h=new p(this.barCtx.w).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&h===e){t>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(t%=this.barCtx.barOptions.colors.backgroundBarColors.length);const e=this.barCtx.barOptions.colors.backgroundBarColors[t],h=l.drawRect(void 0!==s?s:0,void 0!==i?i:0,void 0!==a?a:n.layout.gridWidth,void 0!==r?r:n.layout.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,e,this.barCtx.barOptions.colors.backgroundBarOpacity);o.add(h),h.node.classList.add("apexcharts-backgroundBar")}}barRect({a:t,len:e,v1:s,v2:a,strokeWidth:i,realIndex:r,j:o,dir:n,horizontal:l}){const h=this.w,d=new c(h);(i=Array.isArray(i)?i[r]:i)||(i=0);const b=h.config.series[r].data[o],u=l?null==b?void 0:b.barHeightOffset:null==b?void 0:b.columnWidthOffset;u&&(t-=u/2,e+=u);const g=i/2,p=n*(this.barCtx.isReversed?-1:1),x="around"===h.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[r][o]?" Z":" z";let f,y,m,v,C,w;return l?(m=t+g,v=t+e-g,f=s+.001+g*p,y=a+.001-g*p,C=d.line(f,v),w=d.move(f,m)+d.line(y,m)+d.line(y,v)+C+x):(f=t+g,y=t+e-g,m=s+.001-g*p,v=a+.001+g*p,C=d.line(y,m),w=d.move(f,m)+d.line(f,v)+d.line(y,v)+C+x),{x1:f,x2:y,y1:m,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,m)+d.line(f,m)+C+C+C+C+C+d.line(f,m)+x,strokeWidth:i,strokeCenter:g,direction:p}}getColumnPaths({barWidth:t,barXPosition:e,y1:s,y2:a,strokeWidth:i,series:r,realIndex:o,i:n,j:l,w:h}){var d,c,b;const u=this.barRect({a:e,len:t,v1:s,v2:a,strokeWidth:i,realIndex:o,j:l,dir:r[n][l]>=0?1:-1}),{pathTo:g,squarePathTo:p,strokeCenter:x,direction:f}=u;s=u.y1,a=u.y2;let y=null;const m=null==(c=null==(d=this.barCtx.ctx)?void 0:d.morphTypeChange)?void 0:c.getInitialPathFor(o,l);if(m?y=m:h.globals.previousPaths.length>0&&(y=this.barCtx.getPreviousPath(o,l,g,p)),null==y&&(y=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[n][l])?b:null)}return{pathTo:g,pathFrom:y,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:n}){var l,h;const d=new c(this.barCtx.w),b=n.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"===n.config.plotOptions.funnel.lastShape?"taper":"flat";let f;f=p?"taper"===x?0:g:u(s[a][i+1]);const y=o/2,m=t+y,v=t+e-y,C=b-g,w=b+g,I=b-f,P=b+f,k=d.move(C,m)+d.line(w,m)+d.line(P,v)+d.line(I,v)+" Z";let S=null;const A=null==(h=null==(l=this.barCtx.ctx)?void 0:l.morphTypeChange)?void 0:h.getInitialPathFor(r,i);return A?S=A:n.globals.previousPaths.length>0&&(S=this.barCtx.getPreviousPath(r,i,k)),null==S&&(S=d.move(b,m)+d.line(b,m)+d.line(b,v)+d.line(b,v)+" Z"),{pathTo:k,pathFrom:S,x:w,x1:C,barXPosition:b}}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 n=0;const l=[];for(let t=0;t<i.length;t++){const e=n/r;n+=i[t];const a=n/r,h=e*s,d=a*s;l.push({y:h,height:d-h,topHalf:e*o,bottomHalf:a*o})}return l}getPyramidPaths({barYPosition:t,barHeight:e,topHalf:s,bottomHalf:a,realIndex:i,j:r,strokeWidth:o,w:n}){var l,h;const d=new c(this.barCtx.w),b=n.layout.gridWidth/2,u=o/2,g=t+u,p=t+e-u,x=b-s,f=b+s,y=b-a,m=b+a,v=d.move(x,g)+d.line(f,g)+d.line(m,p)+d.line(y,p)+" Z";let C=null;const w=null==(h=null==(l=this.barCtx.ctx)?void 0:l.morphTypeChange)?void 0:h.getInitialPathFor(i,r);return w?C=w:n.globals.previousPaths.length>0&&(C=this.barCtx.getPreviousPath(i,r,v)),null==C&&(C=d.move(b,g)+d.line(b,g)+d.line(b,p)+d.line(b,p)+" Z"),{pathTo:v,pathFrom:C,x:f,x1:x,barXPosition:b}}getBarpaths({barYPosition:t,barHeight:e,x1:s,x2:a,strokeWidth:i,series:r,realIndex:o,i:n,j:l,w:h}){var d,b,u;const g=new c(this.barCtx.w),p=this.barRect({a:t,len:e,v1:s,v2:a,strokeWidth:i,realIndex:o,j:l,dir:r[n][l]>=0?1:-1,horizontal:!0}),{y1:x,y2:f,sl:y,closing:m,squarePathTo:v,pathTo:C,strokeCenter:w,direction:I}=p;s=p.x1,a=p.x2;const P=this.barCtx.isFunnel,k=P?(s+a)/2:s;let S=null;const A=null==(b=null==(d=this.barCtx.ctx)?void 0:d.morphTypeChange)?void 0:b.getInitialPathFor(o,l);if(A?S=A:h.globals.previousPaths.length>0&&(S=this.barCtx.getPreviousPath(o,l,C,v)),null==S){const t=P?g.line(k,f):y;S=g.move(k,x)+g.line(k,x)+t+t+t+t+t+g.line(k,x)+m}if(h.config.chart.stacked){const t=this.barCtx.groupCtx;t.xArrj.push(a+w*I),t.xArrjF.push(Math.abs(s-a-p.strokeWidth*I)),t.xArrjVal.push(null!=(u=this.barCtx.series[n][l])?u:null)}return{pathTo:C,pathFrom:S,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,n=[],d=(i,l)=>{o.globals.invalidLogScale||(i=new f(o).getLogValAtSeriesIndex(i,a)),n.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,n=0;for(let t=1;t<e.length;t++)e[t].value<e[r].value&&(r=t),e[t].value>e[n].value&&(n=t);const c=o.config.plotOptions.bar.dumbbell.dataLabels;e.forEach((t,e)=>{const o=h(l({},s),{strokeColor:t.color});!c.enabled||e!==r&&e!==n||(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!==n?-1:1}),d(t.value,o)})}}return n}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 c(this.barCtx.w),n=o.group({class:"apexcharts-bar-goals-groups"});n.node.classList.add("apexcharts-element-hidden"),this.barCtx.w.globals.delayedElements.push({el:n.node}),n.attr("clip-path",`url(#gridRectMarkerMask${this.barCtx.w.globals.cuid})`);let l=null;return this.barCtx.isHorizontal?Array.isArray(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;l=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),n.add(l),t.attrs.label&&n.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;l=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),n.add(l),e.attrs.label&&n.add(this.drawDumbbellLabel(e.attrs,{x:a-s,y:e.y,horizontal:!1,markerSize:e.attrs.strokeHeight||0}))}}),n}drawDumbbellLabel(t,e){const s=this.w,a=new c(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:n,barYPosition:l}=t,{x:h,x1:d,barYPosition:b}=e,u=l+e.barHeight,g=new c(this.barCtx.w),p=new y,x=g.move(n,u)+g.line(o,u)+g.line(h,b)+g.line(d,b)+g.line(n,u)+("around"===r.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[a][i]?" Z":" z");return g.drawPath({d:x,fill:p.shadeColor(.5,y.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=globalThis.ApexCharts.__internals.__apex_Filters,w=globalThis.ApexCharts.__internals,I=w.__apex_Animations,P=w.__apex_Animations_computeStagger;w.__apex_Animations_applyAnimationPolicy,w.__apex_Animations_prefersReducedMotion,w.__apex_Animations_applyProgressiveReveal;const k=globalThis.ApexCharts.__internals.__apex_BrowserAPIs_BrowserAPIs,S=globalThis.ApexCharts.__internals.__apex_Environment_Environment,A=globalThis.ApexCharts.__internals;function H(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||!(S.isBrowser()&&t.globals.dataChanged&&t.globals.shouldAnimate))}function L(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 _(t,e,s=0|(s=>null==(s=t.seriesData.series[e])?void 0:s.length)()){return L(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 n=null==(o=t.globals.labels)?void 0:o[s];return null!=n&&""!==String(n)?"c:"+(Array.isArray(n)?n.join(" "):String(n)):"j:"+s}(t,e,a)))}function R(t,e,s=!1,a=!1){var i,r;if(!H(t))return null;const o=t.globals.prevStreamFrame;if(!o)return null;const n=null==(i=o.seriesY)?void 0:i[e],l=null==(r=t.seriesData.series)?void 0:r[e];if(!Array.isArray(n)||!Array.isArray(l))return null;if(!n.length||!l.length)return null;const h=L(n.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=_(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,n=t.length===e.length;e.forEach((t,e)=>{const l=s.has(t)&&!i.has(s.get(t))?s.get(t):-1;a[e]=l,-1!==l&&(i.add(l),l<r&&(o=!1),r=l),l!==e&&(n=!1)});const l=[];for(let e=0;e<t.length;e++)i.has(e)||l.push(e);return{toOld:a,exits:l,ordered:o,changed:!n}}(h,d);return(c.ordered||a)&&(c.changed||s)?{join:c,oldKeys:h,newKeys:d}:null}function W({w:t,elSeries:e,record:s,newKeys:a,isHorizontal:i,speed:r}){var o;if(!H(t))return;if(!s||!Array.isArray(s.paths)||!(null==e?void 0:e.node))return;const n=new Set(a),l=s.paths.filter(t=>t&&t.d&&null!=t.key&&!n.has(t.key));if(!l.length)return;const h=new c(t),d=null==(o=t.globals.colors)?void 0:o[parseInt(String(s.realIndex),10)];l.forEach(a=>{let o=a.fill||d||"#c8c8c8";0===String(o).indexOf("url(")&&(o=d||"#c8c8c8");const n=h.drawPath({d:a.d,stroke:"none",strokeWidth:0,fill:o,fillOpacity:1,classes:"apexcharts-bar-ghost"}),l=n.node;l.setAttribute("pointer-events","none"),n.attr("clip-path",`url(#gridRectBarMask${t.globals.cuid})`),e.node.insertBefore(l,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=l.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=l.style;u.transformBox="fill-box",u.transformOrigin=b,l.setAttribute("data:ghostKey",`${s.realIndex}::${a.key}`);try{const t=l.getBBox(),e=i?b.startsWith("left")?t.x:t.x+t.width:b.endsWith("bottom")?t.y+t.height:t.y;isFinite(e)&&l.setAttribute("data:ghostEdge",String(e))}catch(t){}const g=Math.max(1,r||1),p=performance.now(),x=e=>{if(t.globals.isDestroyed||!l.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):l.parentNode.removeChild(l)};k.requestAnimationFrame(x)})}A.__apex_Easing_easeInOutSine,A.__apex_Easing_DEFAULT_EASING_NAME,A.__apex_Easing_cubicBezier,A.__apex_Easing_registerEasing,A.__apex_Easing_resolveEasing;class D{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)/D.xRatio(t)}static pxToDataX(t,e){return t.globals.minX+e*D.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 X{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 p(this.w);this.lastActiveBarSerieIndex=a.getActiveConfigSeriesIndex("desc",["bar","column"]),this.lastActiveBarSerieIndexByGroup=a.getActiveConfigSeriesIndexByGroup(["bar","column"]),this.columnGroupIndices=[];const i=a.getBarSeriesIndices(),r=new f(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 n=this.w,d=new c(this.w),b=new f(this.w);t=b.getLogSeries(t),this.series=t,this.yRatio=b.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t,e);const u=d.group({class:"apexcharts-bar-series apexcharts-plot-series"}),g=this.ctx.highlightFilter;n.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 x,f;const m=[],v=[],w=n.globals.comboCharts?e[c]:c,{columnGroupIndex:I}=this.barHelpers.getGroupIndex(w),P=d.group({class:"apexcharts-series",rel:c+1,seriesName:y.escapeString(n.seriesData.seriesNames[w]),"data:realIndex":w});p.addCollapsedClassToSeries(this.w,P,w),t[c].length>0&&(this.visibleI=this.visibleI+1);const k=this.setSeriesAxis(w);this.isPyramid&&(this.pyramidLayout=this.barHelpers.computePyramidLayout(t[c]));const S=this.barHelpers.initialPositions(w),{y:A,yDivision:H,zeroW:L,x:_,xDivision:R,zeroH:D}=S;let X=S.barHeight,F=S.barWidth;f=A,x=_,this.isHorizontal||v.push(x+(null!=F?F:0)/2);const T=d.group({class:"apexcharts-datalabels","data:realIndex":w}),j=n.config.dataLabels,O=!(null==(s=j.animate)?void 0:s.enabled)&&this.isLengthTransition(w);n.globals.dataChanged&&!O&&((null==(a=j.animate)?void 0:a.enabled)||(null==(i=j.countUp)?void 0:i.enabled))||(n.globals.delayedElements.push({el:T.node,holdUntilComplete:O}),T.node.classList.add("apexcharts-element-hidden"));const Y=d.group({class:"apexcharts-bar-goals-markers"}),B=d.group({class:"apexcharts-bar-shadows"}),z=this.ctx,M=z._barShadows,G=z._barShadows=[],E=n.globals.dataChanged&&n.globals.shouldAnimate&&n.config.chart.animations.dynamicAnimation.enabled&&(null==M?void 0:M.length)===t[c].length-1;E||(n.globals.delayedElements.push({el:B.node}),B.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:k,bc:b},x:x,y:f,strokeWidth:s,elSeries:P};this.isHorizontal?(a=this.drawBarPaths(h(l(l({},i),this.barHelpers.rows&&{y:A+this.barHelpers.barRow(w,e)*H}),{barHeight:X,zeroW:L,yDivision:H})),F=this.series[c][e]/this.invertedYRatio):(a=this.drawColumnPaths(h(l({},i),{xDivision:R,barWidth:F,zeroH:D})),X=this.series[c][e]/this.yRatio[k]);const d=this.barHelpers.getPathFillColor(t,c,e,w);if(this.isFunnel&&!this.isPyramid&&this.barOptions.isFunnel3d&&"trapezoid"!==(null==(r=n.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:y.hexToRgba(n.globals.colors[c]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:a,realIndex:w,j:e});B.add(t),G.push(t),this._shadow=E&&[t,M[e-1].attr("d")],n.config.chart.dropShadow.enabled&&new C(this.w).dropShadow(t,n.config.chart.dropShadow,w)}this.pathArr.push(a);const u=this.barHelpers.drawGoalLine({barXPosition:a.barXPosition,barYPosition:a.barYPosition,goalX:a.goalX,goalY:a.goalY,barHeight:X,barWidth:F});u&&Y.add(u),f=a.y,x=a.x,e>0&&v.push(x+(null!=F?F:0)/2),m.push(f),this.renderSeries(h(l({hl:null==g?void 0:g.bar(this,{i:c,j:e,realIndex:w,translationsIndex:k,paths:a,zeroH:D,zeroW:L}),realIndex:w,pathFill:d.color},d.useRangeColor?{lineFill:d.color}:{}),{j:e,i:c,columnGroupIndex:I,pathFrom:a.pathFrom,pathTo:a.pathTo,strokeWidth:s,elSeries:P,x:x,y:f,series:t,barHeight:Math.abs(a.barHeight?a.barHeight:X),barWidth:Math.abs(a.barWidth?a.barWidth:F),barXPosition:a.barXPosition,elDataLabelsWrap:T,elGoalsMarkers:Y,elBarShadows:B,visibleSeries:this.visibleI,type:"bar"}))}n.globals.seriesXvalues[w]=v,n.globals.seriesYvalues[w]=m,n.globals.previousPaths.length>0&&W({w:n,elSeries:P,record:this._prevRecord(w),newKeys:this._keys(w),isHorizontal:this.isHorizontal,speed:n.config.chart.animations.dynamicAnimation.speed}),u.add(P)}return u}renderSeries({hl:t,realIndex:e,pathFill:s,lineFill:a,j:i,i:r,columnGroupIndex:o,pathFrom:n,pathTo:d,strokeWidth:b,elSeries:u,x:p,y:x,y1:f,y2:y,series:m,barHeight:v,barWidth:w,barXPosition:k,barYPosition:S,elDataLabelsWrap:A,elGoalsMarkers:H,elBarShadows:L,visibleSeries:_,type:R,classes:W,fadeReveal:D=!1,noLabel:X}){var F,T,j,O,Y,B,z;const M=this.w,G=new c(this.w,this.ctx),E=function(t,e){const s=t&&t.renderer;return s&&s.kind&&"svg"!==s.kind?s:e}(this.ctx,G);let N=!1;const V=this._pathToInterp;if(this._pathToInterp=null,u._bindingsDelegated||(u._bindingsDelegated=!0,G.setupEventDelegation(u,`.apexcharts-${R}-area`)),!a){let t=function(t){const e=M.config.stroke.colors;let s;return Array.isArray(e)&&e.length>0&&(s=e[t],s||(s=""),"function"==typeof s)?s({value:M.seriesData.series[t][i],dataPointIndex:i,w:M}):s};const s="function"==typeof M.globals.stroke.colors[e]?t(e):M.globals.stroke.colors[e];a=this.barOptions.distributed?M.globals.stroke.colors[i]:s}const $=M.config.chart.animations,Z=$.animateGradually;let K=0,q=0;if(Z&&!1!==Z.enabled&&(!M.globals.dataChanged||!this.isLayoutShift(e))){const t=M.globals.dataPoints||1,e=Z.delay||0,s=Math.min(e,.5*$.speed/Math.max(1,t));q=P({style:"sequential",index:i,baseDelay:s}),M.config.chart.stacked&&!M.globals.dataChanged&&(q+=r*s*.5),K=q/(e||1)}const U=new g(this).handleBarDataLabels({x:p,y:x,y1:f,y2:y,i:r,j:i,series:m,realIndex:e,columnGroupIndex:o,barHeight:v,barWidth:w,barXPosition:k,barYPosition:S,visibleSeries:_,hl:null==t?void 0:t.label,noLabel:X});if(q>0){const t=M.config.dataLabels;if((null==(F=t.animate)?void 0:F.enabled)||(null==(T=t.countUp)?void 0:T.enabled)){const t=String(Math.round(q));null==(O=null==(j=U.dataLabels)?void 0:j.node)||O.setAttribute("data:dlDelay",t),null==(B=null==(Y=U.totalDataLabels)?void 0:Y.node)||B.setAttribute("data:dlDelay",t)}}let J=!1;if(!M.globals.isBarHorizontal){const t=void 0===k?U.dataLabelsPos.dataLabelsX:k+w/2,s=Math.max(w,M.globals.barPadForNumericAxis);(t+s<0||t-s>M.layout.gridWidth)&&(this._wasOnScreen(e,i)?J=!0:N=!0)}const Q=M.config.series[e].data[i];Q&&Q.strokeColor&&(a=Q.strokeColor);const tt=s;if(this.isNullValue&&-1===M.globals.collapsingSeriesIndices.indexOf(e)&&(s="none"),!N){const o=!0===(null==(z=this.ctx.morphTypeChange)?void 0:z.isActive()),c=o?this.ctx.morphTypeChange.getSpeed():M.config.chart.animations.dynamicAnimation.speed,g=o&&this.ctx.morphTypeChange.claimsTargetMark(e,i);g&&(n=d,K=0);const p=E.renderPaths({i:r,j:i,realIndex:e,pathFrom:n,pathTo:d,stroke:a,strokeWidth:b,strokeLinecap:M.config.stroke.lineCap,fill:s,pathToInterp:V,animationDelay:K,initialSpeed:M.config.chart.animations.speed,dataChangeSpeed:c,className:`apexcharts-${R}-area${W?` ${W}`:""}`,chartType:R,bindEventsOnPaths:!1,fadeReveal:D});p.attr("clip-path",`url(#gridRectBarMask${M.globals.cuid})`),J&&p.node.classList.add("apexcharts-leaving");const x=this._shadow;x&&(this._shadow=null,new I(M,this.ctx).animatePathsGradually({el:x[0],fill:"none",pathFrom:x[1],pathTo:x[0].attr("d"),speed:c,delay:K})),g&&(p.node.setAttribute("opacity","0"),p.node.setAttribute("data-piece-hidden","1"));const m=M.config.forecastDataPoints;if(m.count>0&&i>=M.globals.dataPoints-m.count&&(p.node.setAttribute("stroke-dasharray",m.dashArray),p.node.setAttribute("stroke-width",m.strokeWidth),p.node.setAttribute("fill-opacity",m.fillOpacity)),void 0!==f&&void 0!==y&&(p.attr("data-range-y1",f),p.attr("data-range-y2",y)),new C(this.w).setSelectionFilter(p,e,i),u.add(p),p.attr({cy:U.dataLabelsPos.bcy,cx:U.dataLabelsPos.bcx,j:i,val:M.seriesData.series[e][i],barHeight:v,barWidth:w,"data:pathKey":this._keys(e)[i]}),null==t||t.paint(p,{delay:K,delayMs:q,speed:c,fill:tt,elSeries:u,elBarShadows:L,labels:U.dataLabels,pathFrom:n,pathTo:d}),"canvas"===E.kind){M.globals.barCanvasCoords||(M.globals.barCanvasCoords={}),M.globals.barCanvasCoords[e]||(M.globals.barCanvasCoords[e]={});const t=M.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)}),M.globals.barCanvasCoords[e][i]=h(l({cx:U.dataLabelsPos.bcx,cy:U.dataLabelsPos.bcy,barWidth:w,type:R},void 0!==f&&void 0!==y&&{rangeY1:f,rangeY2:y}),{bounds:s})}null!==U.dataLabels&&A.add(U.dataLabels),U.totalDataLabels&&A.add(U.totalDataLabels),u.add(A),H&&u.add(H),L&&u.add(L)}return u}drawBarPaths({indexes:t,barHeight:e,strokeWidth:s,zeroW:a,x:i,y:r,yDivision:o,elSeries:n}){const l=this.w,h=t.i,d=t.j;let c;if(l.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"===l.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:l}):b?this.barHelpers.getFunnelTrapezoidPaths({barYPosition:c,barHeight:e,series:this.series,i:h,j:d,realIndex:t.realIndex,strokeWidth:s,w:l}):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:l}),(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:n}),{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:n}){const l=this.w,h=t.realIndex,d=t.translationsIndex,c=t.i,b=t.j,u=t.bc;let g;if(l.axisFlags.isXNumeric){const t=this.getBarXForNumericXAxis({x:e,j:b,realIndex:h,barWidth:i});e=t.x,g=t.barXPosition}else if(l.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:l});return l.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:n}),{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=m(i);let o=s;return i.seriesData.seriesX[s].length||(o=i.globals.maxValsInArrayIndex),y.isNumber(i.seriesData.seriesX[o][a])&&(t=D.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(!H(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]=_(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 n=this.w;let l=!1;if(H(n)&&n.globals.previousPaths.length>0){const h=this._prevRecord(t),d=null!=(s=null==(e=n.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));l=(null!=(o=null==(r=null==(i=null==(a=n.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 l=h.paths.length!==d;else l=d>0}return this._ltCache[t]=l,l}isLayoutShift(t){if(this.isLengthTransition(t))return!0;if(this._layoutShiftCache||(this._layoutShiftCache={}),void 0!==this._layoutShiftCache[t])return this._layoutShiftCache[t];const e=R(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 H(i)?null:s;let o=null,n=!1;const l=this._prevKeyedPaths(t);if(l){const s=l.get(this._keys(t)[e]);s?o=s.d:n=!0}else void 0!==r.paths[e]?o=r.paths[e].d:n=!0;return o?this.cornerMorph(o,s,a):n&&H(i)?null:s}cornerMorph(t,e,s){const a=X.pathCommandCount(t),i=X.pathCommandCount(e);if(a===i)return t;const r=new c(this.w),o=t=>{const e=X.pathBox(t);return e?Math.min(e.maxX-e.minX,e.maxY-e.minY):0},n=a<i?o(t)>1:o(e)>1;if(a<i){const e=r.roundPathCorners(t,0);if(X.pathCommandCount(e)===i){if(n&&s){const t=r.roundPathCorners(s,0);X.pathCommandCount(t)===i&&(this._pathToInterp=t)}return e}}else{const s=r.roundPathCorners(e,0);if(X.pathCommandCount(s)===a){if(this._pathToInterp=s,n){const e=X.squareLike(t),s=e?r.roundPathCorners(e,0):null;if(s&&X.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=X.pathBox(t);if(!e)return null;const{minX:s,maxX:a,minY:i,maxY:r,start:o,vertical:n}=e,l=(t,e,s)=>Math.abs(t-e)<=Math.abs(t-s)?[e,s]:[s,e];let h,d,c,b;n?(h=Math.abs(o[0]-s)<=Math.abs(o[0]-a)?s:a,d=h===s?a:s,[c,b]=l(o[1],i,r)):(c=Math.abs(o[1]-i)<=Math.abs(o[1]-r)?i:r,b=c===i?r:i,[h,d]=l(o[0],s,a));const u=t.trim().endsWith("Z")?" Z":" z";return n?`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}}d.use({bar:X,column:X,barStacked:class extends X{draw(t,e){const s=this.w;this.graphics=new c(this.w);const a=new f(this.w);t=a.getLogSeries(t),this.yRatio=a.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t,e),"100%"===s.config.chart.stackType&&(t=s.globals.comboCharts?e.map(t=>s.globals.seriesPercent[t]):s.globals.seriesPercent.slice()),this.series=t,this.barHelpers.initializeStackedPrevVars(this);const i=this.graphics.group({class:"apexcharts-bar-series apexcharts-plot-series"}),r=this.ctx.highlightFilter;let o=0,n=0;const d=s.config.chart.animations,b=d.enabled&&d.dynamicAnimation.enabled&&s.globals.previousPaths.length>0;let u=!1;for(let a=0,d=0;a<t.length;a++,d++){const c=s.globals.comboCharts?e[a]:a,{groupIndex:g,columnGroupIndex:x}=this.barHelpers.getGroupIndex(c);this.groupCtx=this.stacks[g];const f=[],m=[],v=this.setSeriesAxis(c);let C=this.graphics.group({class:"apexcharts-series",seriesName:y.escapeString(s.seriesData.seriesNames[c]),rel:a+1,"data:realIndex":c});p.addCollapsedClassToSeries(this.w,C,c);const w=this.graphics.group({class:"apexcharts-datalabels","data:realIndex":c});p.addCollapsedClassToSeries(this.w,w,c),(s.globals.collapsingSeriesIndices||[]).indexOf(c)>-1&&w.node.style.setProperty("--apexcharts-dl-exit",`${s.config.chart.animations.dynamicAnimation.speed}ms`);const I=this.graphics.group({class:"apexcharts-bar-goals-markers"}),P=this.initialPositions(o,n,void 0,void 0,void 0,void 0,v),{xDivision:k,yDivision:S,zeroH:A,zeroW:H}=P;let L=P.barHeight,_=P.barWidth;n=P.y,o=P.x,s.globals.barHeight=L,s.globals.barWidth=_,this.barHelpers.initializeStackedXYVars(this),1===this.groupCtx.prevY.length&&this.groupCtx.prevY[0].every(t=>isNaN(t))&&(this.groupCtx.prevY[0]=this.groupCtx.prevY[0].map(()=>A),this.groupCtx.prevYF[0]=this.groupCtx.prevYF[0].map(()=>0));for(let e=0;e<s.globals.dataPoints;e++){const i=this.barHelpers.getStrokeWidth(a,e,c),g={indexes:{i:a,j:e,realIndex:c,translationsIndex:v,bc:d},strokeWidth:i,x:o,y:n,elSeries:C,columnGroupIndex:x};let p=null;this.isHorizontal?(p=this.drawStackedBarPaths(h(l(l({},g),this.barHelpers.rows&&{y:P.y+this.barHelpers.barRow(c,e)*S}),{zeroW:H,barHeight:L,yDivision:S})),_=this.series[a][e]/this.invertedYRatio):(p=this.drawStackedColumnPaths(h(l({},g),{xDivision:k,barWidth:_,zeroH:A})),L=this.series[a][e]/this.yRatio[v]);const y=this.barHelpers.drawGoalLine({barXPosition:p.barXPosition,barYPosition:p.barYPosition,goalX:p.goalX,goalY:p.goalY,barHeight:L,barWidth:_});y&&I.add(y),n=p.y,o=p.x,f.push(o),m.push(n);const R=this.barHelpers.getPathFillColor(t,a,e,c);let W="";const D=s.globals.isBarHorizontal?"apexcharts-flip-x":"apexcharts-flip-y",X=this.cornerFlip(this.barHelpers.arrBorderRadius[c][e],s.seriesData.series[c][e]),F=b&&!X&&this.getPreviousFlip(c,e);(X||F)&&(W=D),F&&(W+=" apexcharts-flip-held",u=!0),C=this.renderSeries(h(l({hl:null==r?void 0:r.bar(this,{i:a,j:e,realIndex:c,translationsIndex:v,paths:p,zeroH:A,zeroW:H}),realIndex:c,pathFill:R.color},R.useRangeColor?{lineFill:R.color}:{}),{j:e,i:a,columnGroupIndex:x,pathFrom:p.pathFrom,pathTo:p.pathTo,strokeWidth:i,elSeries:C,x:o,y:n,series:t,barHeight:L,barWidth:_,barXPosition:p.barXPosition,elDataLabelsWrap:w,elGoalsMarkers:I,type:"bar",visibleSeries:x,classes:W}))}s.globals.seriesXvalues[c]=f,s.globals.seriesYvalues[c]=m,this.groupCtx.prevY.push(this.groupCtx.yArrj),this.groupCtx.prevYF.push(this.groupCtx.yArrjF),this.groupCtx.prevYVal.push(this.groupCtx.yArrjVal),this.groupCtx.prevX.push(this.groupCtx.xArrj),this.groupCtx.prevXF.push(this.groupCtx.xArrjF),this.groupCtx.prevXVal.push(this.groupCtx.xArrjVal),i.add(C)}return u&&this.settleHeldMirrors(i),i}cornerFlip(t,e){return"bottom"===t&&e>0||"top"===t&&e<0}settleHeldMirrors(t){const e=this.w;if(!S.isBrowser())return;const s=e.config.chart.animations,a=(s.dynamicAnimation.speed||0)+(s.speed||0)+100,i=(t?t.node:e.dom.baseEl).querySelectorAll(".apexcharts-flip-held");setTimeout(()=>{i.forEach(t=>{t.classList.remove("apexcharts-flip-held","apexcharts-flip-y","apexcharts-flip-x")})},a)}initialPositions(t,e,s,a,i,r,o){const n=this.w;let l,h;if(this.isHorizontal){a=n.layout.gridHeight/n.globals.dataPoints;const t=n.config.plotOptions.bar.barHeight;l=-1===String(t).indexOf("%")?parseInt(t,10):a*parseInt(t,10)/100,r=n.globals.padHorizontal+(this.isReversed?n.layout.gridWidth-this.baseLineInvertedY:this.baseLineInvertedY),e=(a-l)/2}else{h=s=n.layout.gridWidth/n.globals.dataPoints;const e=n.config.plotOptions.bar.columnWidth,a=n.axisFlags.isXNumeric?this.barHelpers.barSlotXSpan():0;a>0?h=(s=a/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:h*=parseInt(e,10)/100,-1===String(e).indexOf("%")&&(h=parseInt(e,10)),i=this.isReversed?this.baseLineY[o]:n.layout.gridHeight-this.baseLineY[o],t=n.globals.padHorizontal+(s-h)/2}const d=n.globals.barGroups.length||1;return{x:t,y:e,yDivision:a,xDivision:s,barHeight:(null!=l?l:0)/d,barWidth:(null!=h?h:0)/d,zeroH:i,zeroW:r}}drawStackedBarPaths({indexes:t,barHeight:e,strokeWidth:s,zeroW:a,x:i,y:r,columnGroupIndex:o,yDivision:n,elSeries:l}){var h,d;const c=this.w,b=r+o*e;let u;const g=t.i,p=t.j,x=t.realIndex,f=t.translationsIndex,y=null!=(d=null==(h=this.series[g])?void 0:h[p])?d:null,m=this.groupCtx,v=c.axisFlags.isXNumeric?c.seriesData.seriesX[x][p]:p,C=m.tops.get(v);if(C){const[t,e,s]=C,a=2*(this.isReversed?s:0);u=e<0?y>=0?t+s-a:t:y>=0?t:t-s+a}else u=a;i=u+y/this.invertedYRatio*(this.isReversed?-1:1);const w=this.barHelpers.getBarpaths({barYPosition:b,barHeight:e,x1:u,x2:i,strokeWidth:s,isReversed:this.isReversed,series:this.series,realIndex:t.realIndex,i:g,j:p,w:c});return this._setTop(v,C,m.xArrj[p],m.xArrjVal[p],m.xArrjF[p],x,p),this.barHelpers.barBackground({j:p,i:g,y1:b,y2:e,elSeries:l}),r+=n,{pathTo:w.pathTo,pathFrom:w.pathFrom,goalX:this.barHelpers.getGoalValues("x",a,null,x,p,f),barXPosition:u,barYPosition:b,x:i,y:r}}drawStackedColumnPaths({indexes:t,x:e,y:s,xDivision:a,barWidth:i,zeroH:r,columnGroupIndex:o,elSeries:n}){var l,h,d;const c=this.w,b=t.i,u=t.j,g=t.bc,p=t.realIndex,x=t.translationsIndex,f=null!=(h=null==(l=this.series[b])?void 0:l[u])?h:null;if(c.axisFlags.isXNumeric){let t=c.seriesData.seriesX[p][u];t||(t=0),e=(t-c.globals.minX)/this.xRatio-i/2*c.globals.barGroups.length}const y=e+o*i;let m;const v=this.groupCtx,C=c.axisFlags.isXNumeric?c.seriesData.seriesX[p][u]:u,w=v.tops.get(C);if(w){const[t,e,s]=w;let a;e<0?a=f>=0?t-s+2*(this.isReversed?s:0):t:e>=0&&(a=f>=0?t:t+s-2*(this.isReversed?s:0)),void 0===a&&(a=c.layout.gridHeight),m=(null==(d=v.prevYF[0])?void 0:d.every(t=>0===t))&&v.prevYF.slice(1).every(t=>t.every(t=>isNaN(t)))?r:a}else m=r;s=m-f/this.yRatio[x]*(this.isReversed?-1:1);const I=this.barHelpers.getColumnPaths({barXPosition:y,barWidth:i,y1:m,y2:s,yRatio:this.yRatio[x],strokeWidth:c.config.stroke.show?this.strokeWidth:0,isReversed:this.isReversed,series:this.series,realIndex:t.realIndex,i:b,j:u,w:c});return this._setTop(C,w,v.yArrj[u],v.yArrjVal[u],v.yArrjF[u],p,u),this.barHelpers.barBackground({bc:g,j:u,i:b,x1:y,x2:i,elSeries:n}),{pathTo:I.pathTo,pathFrom:I.pathFrom,goalY:this.barHelpers.getGoalValues("y",null,r,p,u,x),barXPosition:y,x:c.axisFlags.isXNumeric?e:e+a,y:s}}_setTop(t,e,s,a,i,r,o){isNaN(s)||this.groupCtx.tops.set(t,[s,a,(e?e[2]:0)+i,(e?e[3]:0)+(this.w.seriesData.series[r][o]||0),e?Math.min(e[0],e[4]):1/0,e?Math.max(e[0],e[5]):-1/0])}},rangeBar:class extends X{draw(t,e){var s,a,i,r,o,n;const h=this.w,d=new c(this.w);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=t,this.seriesRangeStart=h.rangeData.seriesRangeStart,this.seriesRangeEnd=h.rangeData.seriesRangeEnd,this.barHelpers.initVariables(t,e);const b=d.group({class:"apexcharts-rangebar-series apexcharts-plot-series"});for(let c=0;c<t.length;c++){let u,g;const x=h.globals.comboCharts?e[c]:c,{columnGroupIndex:f}=this.barHelpers.getGroupIndex(x),m=d.group({class:"apexcharts-series",seriesName:y.escapeString(h.seriesData.seriesNames[x]),rel:c+1,"data:realIndex":x});p.addCollapsedClassToSeries(this.w,m,x),t[c].length>0&&(this.visibleI=this.visibleI+1);const v=this.setSeriesAxis(x);this.isHorizontal&&h.labelData.timescaleLabels.length&&(this.isReversed=!1);const C=this.barHelpers.initialPositions(x),{y:w,zeroW:I,x:P,zeroH:k}=C,S=null!=(s=C.yDivision)?s:0,A=null!=(a=C.xDivision)?a:0;g=w,u=P;const H=d.group({class:"apexcharts-datalabels","data:realIndex":x}),L=d.group({class:"apexcharts-rangebar-goals-markers"}),_=h.config.series[x].data;for(let e=0;e<h.globals.dataPoints;e++){const s=this.barHelpers.getStrokeWidth(c,e,x);let a=null!=(i=C.barWidth)?i:0,d=null!=(r=C.barHeight)?r:0;const b=this.seriesRangeStart[x][e],p=this.seriesRangeEnd[x][e];let y=null,w=null,P=null;const R={x:u,y:g,strokeWidth:s,elSeries:m};let W=this.seriesLen;if(h.config.plotOptions.bar.rangeBarGroupRows&&(W=1),void 0===(null==_?void 0:_[e]))break;if(this.isHorizontal){P=g+d*this.visibleI;const t=(S-d*W)/2;if(null!=(null==(o=_[e])?void 0:o.x)){const s=this.detectOverlappingBars({i:x,j:e,barYPosition:P,srty:t,barHeight:d,yDivision:S,initPositions:C});d=s.barHeight,P=s.barYPosition}y=this.drawRangeBarPaths(l({indexes:{i:c,j:e,realIndex:x},barHeight:d,barYPosition:P,zeroW:I,yDivision:S,y1:b,y2:p},R)),a=y.barWidth}else{h.axisFlags.isXNumeric&&(u=(h.seriesData.seriesX[x][e]-h.globals.minX)/this.xRatio-a/2),w=u+a*this.visibleI;const t=(A-a*W)/2;if(null!=(null==(n=_[e])?void 0:n.x)){const s=this.detectOverlappingBars({i:x,j:e,barXPosition:w,srtx:t,barWidth:a,xDivision:A,initPositions:C});a=s.barWidth,w=s.barXPosition}y=this.drawRangeColumnPaths(l({indexes:{i:c,j:e,realIndex:x,translationsIndex:v},barWidth:a,barXPosition:w,zeroH:k,xDivision:A},R)),d=y.barHeight,w=y.barXPosition}const D=this.barHelpers.drawGoalLine({barXPosition:w,barYPosition:P,goalX:y.goalX,goalY:y.goalY,barHeight:d,barWidth:a});D&&L.add(D),g=y.y,u=y.x;const X=this.barHelpers.getPathFillColor(t,c,e,x);this.renderSeries({realIndex:x,pathFill:X.color,lineFill:X.useRangeColor?X.color:h.globals.stroke.colors[x],j:e,i:c,x:u,y:g,y1:b,y2:p,pathFrom:y.pathFrom,pathTo:y.pathTo,strokeWidth:s,elSeries:m,series:t,barHeight:d,barWidth:a,barXPosition:w,barYPosition:P,columnGroupIndex:f,elDataLabelsWrap:H,elGoalsMarkers:L,visibleSeries:this.visibleI,type:"rangebar"})}h.globals.previousPaths.length>0&&W({w:h,elSeries:m,record:this._prevRecord(x),newKeys:this._keys(x),isHorizontal:this.isHorizontal,speed:h.config.chart.animations.dynamicAnimation.speed}),b.add(m)}return b}detectOverlappingBars({i:t,j:e,barYPosition:s,barXPosition:a,srty:i,srtx:r,barHeight:o,barWidth:n,yDivision:l,xDivision:h,initPositions:d}){var c,b,u,g;const p=this.w;let x=[];const f=null==(b=null==(c=p.globals.seriesRangeName)?void 0:c[t])?void 0:b[e],y=null==(g=null==(u=p.config.series[t].data)?void 0:u[e])?void 0:g.x,m=Array.isArray(y)?y.join(" "):y,v=p.labelData.labels.map(t=>Array.isArray(t)?t.join(" "):t).indexOf(m),C=p.rangeData.seriesRange[t].findIndex(t=>{var e;return t.x===m&&(null==(e=t.overlaps)?void 0:e.size)>0});return this.isHorizontal?(s=p.config.plotOptions.bar.rangeBarGroupRows?i+l*v:i+o*this.visibleI+l*v,C>-1&&!p.config.plotOptions.bar.rangeBarOverlap&&(x=Array.from(p.rangeData.seriesRange[t][C].overlaps),x.indexOf(f)>-1&&(s+=(o=d.barHeight/x.length)*x.indexOf(f)))):(v>-1&&!p.axisFlags.isXNumeric&&(a=p.config.plotOptions.bar.rangeBarGroupRows?r+h*v:r+n*this.visibleI+h*v),C>-1&&!p.config.plotOptions.bar.rangeBarOverlap&&(x=Array.from(p.rangeData.seriesRange[t][C].overlaps),x.indexOf(f)>-1&&(a+=(n=d.barWidth/x.length)*x.indexOf(f)))),{barYPosition:s,barXPosition:a,barHeight:o,barWidth:n}}drawRangeColumnPaths({indexes:t,x:e,xDivision:s,barWidth:a,barXPosition:i,zeroH:r}){var o,n;const l=this.w,{i:h,j:d,realIndex:c,translationsIndex:b}=t,u=this.yRatio[b]*(this.isReversed?-1:1),g=this.getRangeValue(c,d);let p=Math.min(g.start,g.end),x=Math.max(g.start,g.end);const f=!(void 0===(null==(o=this.series[h])?void 0:o[d])||null===(null==(n=this.series[h])?void 0:n[d]));f?(p=r-p/u,x=r-x/u):p=x=r;const y=Math.abs(x-p),m=this.barHelpers.getColumnPaths({barXPosition:i,barWidth:a,y1:p,y2:x,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:c,i:c,j:d,w:l});if(f){const t=m.drawnBox,e=g.end>=g.start;this.recordColumnGeometry(c,d,{slotStart:t.x1,slotEnd:t.x2,levelStart:e?t.y1:t.y2,levelEnd:e?t.y2:t.y1,horizontal:!1})}if(l.axisFlags.isXNumeric){const t=this.getBarXForNumericXAxis({x:e,j:d,realIndex:c,barWidth:a});e=t.x,i=t.barXPosition}else e+=s;return{pathTo:m.pathTo,pathFrom:m.pathFrom,barHeight:y,x:e,y:g.start<0&&g.end<0?p:x,goalY:this.barHelpers.getGoalValues("y",null,r,c,d,b),barXPosition:i}}_keys(t){const e=this._keyCache||(this._keyCache={}),s=this.w.config.series[t].data;return e[t]||(e[t]=L((s||[]).map((t,e)=>{var s;return"c:"+(null!=(s=null==t?void 0:t.x)?s:e)})))}preventBarOverflow(t){const e=this.w;return t<0&&(t=0),t>e.layout.gridWidth&&(t=e.layout.gridWidth),t}drawRangeBarPaths({indexes:t,y:e,y1:s,y2:a,yDivision:i,barHeight:r,barYPosition:o,zeroW:n}){const l=this.w,{realIndex:h,j:d}=t,c=this.invertedYRatio*(this.isReversed?-1:1),b=this.preventBarOverflow(n+s/c),u=this.preventBarOverflow(n+a/c),g=this.getRangeValue(h,d),p=Math.abs(u-b),x=this.barHelpers.getBarpaths({barYPosition:o,barHeight:r,x1:b,x2:u,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:h,realIndex:h,j:d,w:l});if(null!=g.start&&null!=g.end){const t=x.drawnBox;this.recordColumnGeometry(h,d,{slotStart:t.y1,slotEnd:t.y2,levelStart:t.x1,levelEnd:t.x2,horizontal:!0})}return l.axisFlags.isXNumeric||(e+=i),{pathTo:x.pathTo,pathFrom:x.pathFrom,barWidth:p,x:g.start<0&&g.end<0?b:u,goalX:this.barHelpers.getGoalValues("x",n,null,h,d,0),y:e}}recordColumnGeometry(t,e,s){const a=this.w.waterfallData&&this.w.waterfallData.geometry;a&&isFinite(s.slotStart)&&isFinite(s.levelEnd)&&(a[t]||(a[t]=[]),a[t][e]=s)}getRangeValue(t,e){const s=this.w;return{start:s.rangeData.seriesRangeStart[t][e],end:s.rangeData.seriesRangeEnd[t][e]}}}}),t.default=d,Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).ApexBar={})});
|