apexcharts 8.2.0 → 8.3.1
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 +19793 -19713
- package/dist/apexcharts.core.min.js +2 -2
- package/dist/apexcharts.css +38 -8
- package/dist/apexcharts.esm.js +1882 -1625
- package/dist/apexcharts.full.js +22044 -21634
- package/dist/apexcharts.full.min.js +2 -2
- package/dist/apexcharts.js +21414 -21124
- package/dist/apexcharts.min.js +2 -2
- package/dist/apexcharts.ssr.common.js +2 -2
- package/dist/apexcharts.ssr.esm.js +21413 -21123
- 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 +478 -406
- package/dist/bar.js +2 -2
- package/dist/boxPlot.common.js +2 -2
- package/dist/boxPlot.esm.js +409 -334
- 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 +409 -334
- package/dist/candlestick.js +2 -2
- package/dist/column.common.js +2 -2
- package/dist/column.esm.js +478 -406
- package/dist/core.common.js +2 -2
- package/dist/core.esm.js +19793 -19713
- package/dist/donut.common.js +2 -2
- package/dist/donut.esm.js +3 -9
- package/dist/dumbbell.common.js +2 -2
- package/dist/dumbbell.esm.js +478 -406
- package/dist/features/all.common.js +2 -2
- package/dist/features/all.esm.js +442 -324
- package/dist/features/annotations.common.js +2 -2
- package/dist/features/annotations.esm.js +65 -48
- package/dist/features/annotations.js +2 -2
- 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 +2 -2
- package/dist/features/exports.esm.js +10 -4
- package/dist/features/exports.js +2 -2
- package/dist/features/facet.common.js +1 -1
- package/dist/features/facet.esm.js +1 -1
- package/dist/features/facet.js +1 -1
- package/dist/features/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 +64 -44
- 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 +2 -2
- package/dist/features/morph.esm.js +9 -5
- package/dist/features/morph.js +2 -2
- package/dist/features/perspectives.common.js +2 -2
- package/dist/features/perspectives.esm.js +4 -1
- package/dist/features/perspectives.js +2 -2
- package/dist/features/raincloud.common.js +2 -2
- package/dist/features/raincloud.esm.js +26 -27
- package/dist/features/raincloud.js +2 -2
- 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 +2 -2
- package/dist/features/stats.esm.js +52 -59
- package/dist/features/stats.js +2 -2
- package/dist/features/storyboard.common.js +2 -2
- package/dist/features/storyboard.esm.js +4 -1
- package/dist/features/storyboard.js +2 -2
- package/dist/features/streamgraph.common.js +2 -2
- package/dist/features/streamgraph.esm.js +48 -14
- package/dist/features/streamgraph.js +2 -2
- package/dist/features/toolbar.common.js +2 -2
- package/dist/features/toolbar.esm.js +148 -18
- package/dist/features/toolbar.js +2 -2
- package/dist/features/trellis.common.js +2 -2
- package/dist/features/trellis.esm.js +150 -63
- 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 +2 -2
- package/dist/features/weave.esm.js +13 -12
- package/dist/features/weave.js +2 -2
- package/dist/full.common.js +2 -2
- package/dist/full.esm.js +1068 -842
- 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 +529 -464
- package/dist/icicle.common.js +2 -2
- package/dist/icicle.esm.js +80 -46
- 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 +2 -2
- package/dist/pie.esm.js +3 -9
- package/dist/pie.js +2 -2
- package/dist/polarArea.common.js +2 -2
- package/dist/polarArea.esm.js +3 -9
- 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 +2 -2
- package/dist/radialBar.esm.js +5 -12
- package/dist/radialBar.js +2 -2
- package/dist/raincloud.common.js +2 -2
- package/dist/raincloud.esm.js +97 -52
- 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 +478 -406
- 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 +138 -53
- package/dist/sunburst.common.js +2 -2
- package/dist/sunburst.esm.js +116 -94
- package/dist/sunburst.js +2 -2
- package/dist/treemap.common.js +2 -2
- package/dist/treemap.esm.js +138 -104
- 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 +477 -405
- package/package.json +1 -1
- package/src/apexcharts.js +40 -59
- package/src/assets/apexcharts.css +38 -8
- 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 +68 -47
- package/src/charts/Line.js +118 -42
- package/src/charts/Pie.js +2 -8
- package/src/charts/Radar.js +5 -7
- package/src/charts/Radial.js +2 -6
- package/src/charts/RangeBar.js +47 -43
- package/src/charts/Sunburst.js +101 -98
- package/src/charts/Treemap.js +150 -88
- 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/Stats.js +30 -23
- 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 +29 -7
- package/src/charts/common/partition/Partition.js +33 -1
- package/src/charts/common/treemap/Helpers.js +3 -11
- package/src/charts/common/treemap/Nested.js +2 -3
- package/src/features/raincloud.js +16 -10
- package/src/features/stats.js +67 -62
- package/src/locales/en.json +2 -1
- package/src/locales/ro.json +3 -2
- package/src/modules/Animations.js +102 -95
- package/src/modules/AxisMapping.js +47 -12
- 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/Exports.js +12 -5
- package/src/modules/Fill.js +17 -8
- package/src/modules/Filters.js +50 -50
- package/src/modules/Graphics.js +69 -51
- package/src/modules/Markers.js +3 -1
- package/src/modules/MorphTypeChange.js +13 -7
- 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 +41 -19
- package/src/modules/Theme.js +1 -1
- package/src/modules/Toolbar.js +3 -2
- package/src/modules/UnitMarkRegistry.js +0 -5
- package/src/modules/ZoomPanSelection.js +123 -2
- package/src/modules/accessibility/KeyboardNavigation.js +114 -186
- package/src/modules/animations/Easing.js +2 -1
- package/src/modules/animations/LengthTransition.js +22 -2
- package/src/modules/annotations/Helpers.js +68 -52
- package/src/modules/axes/Grid.js +21 -7
- package/src/modules/axes/YAxis.js +8 -9
- package/src/modules/dimensions/Dimensions.js +9 -3
- package/src/modules/dimensions/Grid.js +2 -2
- package/src/modules/dimensions/XAxis.js +2 -5
- package/src/modules/drilldown/Breadcrumb.js +5 -2
- package/src/modules/helpers/Destroy.js +1 -1
- package/src/modules/helpers/UpdateHelpers.js +33 -15
- 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 +8 -1
- package/src/modules/legend/Legend.js +11 -12
- package/src/modules/license/LicenseEnforcer.js +5 -0
- package/src/modules/settings/Defaults.js +28 -56
- package/src/modules/settings/Globals.js +5 -0
- package/src/modules/settings/Options.js +7 -7
- package/src/modules/settings/TypeAliases.js +33 -16
- package/src/modules/streamgraph/StreamLabels.js +1 -0
- package/src/modules/tooltip/Labels.js +73 -76
- package/src/modules/tooltip/Marker.js +25 -21
- package/src/modules/tooltip/Position.js +88 -51
- package/src/modules/tooltip/Tooltip.js +242 -255
- package/src/modules/tooltip/Utils.js +71 -130
- package/src/modules/tooltip/constants.js +5 -5
- 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/modules/trellis/TrellisTooltip.js +2 -11
- package/src/modules/weave/WeaveHost.js +18 -12
- package/src/renderers/canvas/CanvasGraphics.js +1 -0
- package/src/ssr/DOMShim.js +10 -0
- package/src/svg/SVGFilter.js +26 -17
- package/src/types/internal.d.ts +9 -3
- package/src/utils/Utils.js +0 -14
- package/types/apexcharts.d.ts +33 -12
package/dist/candlestick.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* ApexCharts v8.
|
|
2
|
+
* ApexCharts v8.3.1
|
|
3
3
|
* (c) 2018-2026 ApexCharts
|
|
4
4
|
*/
|
|
5
|
-
!function(t){var e="undefined"!=typeof globalThis?globalThis:self,a=e.ApexCharts;if(a&&a.__internals)return t.call(e);if(a)throw new Error("ApexCharts: dist/candlestick.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/candlestick.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 s={file:"dist/candlestick.js",run:t,done:!1},i=e.__apexcharts_pending_addons__||(e.__apexcharts_pending_addons__=[]);i.push(s),"complete"!==document.readyState&&window.addEventListener("load",function(){if(!s.done){var a=e.ApexCharts;if(a)if(a.__internals){s.done=!0;var r=i.indexOf(s);-1!==r&&i.splice(r,1);try{t.call(e),a.__drainsAddons||e.console.warn("ApexCharts: dist/candlestick.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/candlestick.js could not register with the ApexCharts script on this page: "+(t&&t.message))}}else e.console.error("ApexCharts: dist/candlestick.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/candlestick.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,a=Object.defineProperties,s=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,n=(t,a,s)=>a in t?e(t,a,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[a]=s,l=(t,e)=>{for(var a in e||(e={}))r.call(e,a)&&n(t,a,e[a]);if(i)for(var a of i(e))o.call(e,a)&&n(t,a,e[a]);return t},h=(t,e)=>a(t,s(e));const d=globalThis.ApexCharts,c=globalThis.ApexCharts.__internals.__apex_CoreUtils,b=globalThis.ApexCharts.__internals.__apex_Graphics,u=globalThis.ApexCharts.__internals.__apex_DataLabels,p=(t,e,a,s)=>{if("function"!=typeof t)return t;const i=t({series:e.seriesData.series,seriesIndex:a,dataPointIndex:s,w:e});return Number.isFinite(i)?i:0},g=globalThis.ApexCharts.__internals,x=g.__apex_Animations,f=g.__apex_Animations_computeStagger;g.__apex_Animations_applyAnimationPolicy,g.__apex_Animations_prefersReducedMotion,g.__apex_Animations_applyProgressiveReveal;const m=globalThis.ApexCharts.__internals.__apex_BrowserAPIs_BrowserAPIs,y=globalThis.ApexCharts.__internals.__apex_Environment_Environment,v=globalThis.ApexCharts.__internals;function C(t){var e;const a=t.config.chart.animations;if(!a||!1===a.enabled)return!1;if(!a.dynamicAnimation||!1===a.dynamicAnimation.enabled)return!1;const s=null!=(e=a.largeDatasetThreshold)?e:0;return!(s>0&&t.globals.dataPoints>s||!(y.isBrowser()&&t.globals.dataChanged&&t.globals.shouldAnimate))}function w(t,e,a){var s,i,r,o;if(null==(s=t.axisFlags)?void 0:s.isXNumeric){const s=null==(r=null==(i=t.seriesData)?void 0:i.seriesX)?void 0:r[e];if(s&&s.length&&null!=s[a])return"x:"+s[a]}const n=null==(o=t.globals.labels)?void 0:o[a];return null!=n&&""!==String(n)?"c:"+(Array.isArray(n)?n.join(" "):String(n)):"j:"+a}function P(t){const e=new Map;return t.map(t=>{const a=e.get(t)||0;return e.set(t,a+1),0===a?t:`${t}#${a}`})}function k(t,e,a=!1,s=!1){var i,r;if(!C(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=P(n.map((t,a)=>function(t,e,a){var s,i;if(t.isXNumeric){const i=null==(s=t.seriesX)?void 0:s[e];if(i&&i.length&&null!=i[a])return"x:"+i[a]}const r=null==(i=t.labels)?void 0:i[a];return null!=r&&""!==String(r)?"c:"+(Array.isArray(r)?r.join(" "):String(r)):"j:"+a}(o,e,a))),d=P(l.map((a,s)=>w(t,e,s))),c=function(t,e){const a=new Map;t.forEach((t,e)=>{a.has(t)||a.set(t,e)});const s=new Array(e.length),i=new Set;let r=-1,o=!0,n=t.length===e.length;e.forEach((t,e)=>{const l=a.has(t)&&!i.has(a.get(t))?a.get(t):-1;s[e]=l,-1!==l&&(i.add(l),l<r&&(o=!1),r=l),l!==e&&(n=!1)});const l=[];for(let e=0;e<t.length;e++)i.has(e)||l.push(e);return{toOld:s,exits:l,ordered:o,changed:!n}}(h,d);return(c.ordered||s)&&(c.changed||a)?{join:c,oldKeys:h,newKeys:d}:null}function I({w:t,elSeries:e,record:a,newKeys:s,isHorizontal:i,speed:r}){var o;if(!C(t))return;if(!a||!Array.isArray(a.paths)||!(null==e?void 0:e.node))return;const n=new Set(s),l=a.paths.filter(t=>t&&t.d&&null!=t.key&&!n.has(t.key));if(!l.length)return;const h=new b(t),d=null==(o=t.globals.colors)?void 0:o[parseInt(String(a.realIndex),10)];l.forEach(s=>{let o=s.fill||d||"#c8c8c8";0===String(o).indexOf("url(")&&(o=d||"#c8c8c8");const n=h.drawPath({d:s.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 a=parseFloat(e[1]),s=parseFloat(e[2]);return isFinite(a)&&isFinite(s)?{x:a,y:s}:null}(s.d);let b=i?"left center":"center bottom";try{const t=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",`${a.realIndex}::${s.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 p=Math.max(1,r||1),g=performance.now(),x=e=>{if(t.globals.isDestroyed||!l.parentNode)return;const a=Math.max(0,Math.min(1,(e-g)/p)),s=1-Math.pow(1-a,3),r=1-s;u.transform=i?`scaleX(${r})`:`scaleY(${r})`,u.opacity=String(1-s),a<1?m.requestAnimationFrame(x):l.parentNode.removeChild(l)};m.requestAnimationFrame(x)})}v.__apex_Easing_easeInOutSine,v.__apex_Easing_DEFAULT_EASING_NAME,v.__apex_Easing_cubicBezier,v.__apex_Easing_registerEasing,v.__apex_Easing_resolveEasing;class A{constructor(t){this.w=t.w,this.barCtx=t,this.totalFormatter=this.w.config.plotOptions.bar.dataLabels.total.formatter,this.totalFormatter||(this.totalFormatter=this.w.config.dataLabels.formatter)}handleBarDataLabels(t){var e,a,s,i,r,o;const{x:n,y:d,y1:c,y2:u,i:g,j:x,realIndex:f,columnGroupIndex:m,barHeight:y,barWidth:v,barXPosition:C,barYPosition:w,visibleSeries:P,hl:k}=t,I=this.w,A=new b(this.barCtx.w);this.hlt=null==k?void 0:k.total;const L=I.waterfallData&&I.waterfallData.values,_=k&&null!=k.val?k.val:L&&L[f]&&null!=L[f][x]?L[f][x]:null,S=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[f]:this.barCtx.strokeWidth;let H,D;I.axisFlags.isXNumeric&&!I.globals.isBarHorizontal?(H=n+v*(P+1),D=d+y*(P+1)-S):(H=n+v*P,D=d+y*P);let W=null,T=null,F=n,O=d,X={};const R=I.config.dataLabels,B=this.barCtx.barOptions.dataLabels,M=this.barCtx.barOptions.dataLabels.total;void 0!==w&&(this.barCtx.isRangeBar||this.barCtx.isPyramid)&&(D=w,O=w),void 0!==C&&this.barCtx.isVerticalGroupedRangeBar&&(H=C,F=C);const j=p(R.offsetX,I,f,x),z=p(R.offsetY,I,f,x),Y=(null==k?void 0:k.hide)?void 0:null!==_?_:void 0!==u?[c,u]:"100%"===I.config.chart.stackType?I.globals.seriesPercent[f][x]:I.seriesData.series[f][x];let G,E={width:0,height:0};R.enabled&&(G=void 0===Y?"":R.formatter(Y,h(l({},I),{seriesIndex:f,dataPointIndex:x,w:I})),E=A.getTextRects(G,parseFloat(R.style.fontSize).toString(),R.style.fontFamily,void 0,!0,R.style.fontWeight));const $={x:null!=(e=null==k?void 0:k.x)?e:n,y:null!=(a=null==k?void 0:k.y)?a:d,neg:k&&null!=k.val?k.val<0:void 0,i:g,j:x,realIndex:f,columnGroupIndex:m,bcx:H,bcy:D,barHeight:null!=(s=null==k?void 0:k.barHeight)?s:y,barWidth:null!=(i=null==k?void 0:k.barWidth)?i:v,textRects:E,strokeWidth:S,dataLabelsX:F,dataLabelsY:O,dataLabelsConfig:R,barDataLabelsConfig:B,barTotalDataLabelsConfig:M,offX:j,offY:z};if(X=this.barCtx.isHorizontal?this.calculateBarsDataLabelsPosition($):this.calculateColumnsDataLabelsPosition($),null!==_&&this.barCtx.isHorizontal&&"center"===B.position){const t=null==(o=null==(r=I.waterfallData.geometry)?void 0:r[f])?void 0:o[x];t&&t.horizontal&&(X.dataLabelsX=(t.levelStart+t.levelEnd)/2+j)}return W=this.drawCalculatedDataLabels({x:X.dataLabelsX,y:X.dataLabelsY,neg:$.neg,val:Y,text:G,i:f,j:x,barWidth:$.barWidth,barHeight:$.barHeight,textRects:E,dataLabelsConfig:R}),I.config.chart.stacked&&M.enabled&&!1!==this.hlt&&(T=this.drawTotalDataLabels({x:X.totalDataLabelsX,y:X.totalDataLabelsY,barWidth:v,barHeight:y,realIndex:f,j:x,textAnchor:X.totalDataLabelsAnchor,val:this.getStackedTotalDataLabel({realIndex:f,j:x}),rawVal:this.getStackedTotalValue({realIndex:f,j:x}),dataLabelsConfig:R,barTotalDataLabelsConfig:M})),{dataLabelsPos:X,dataLabels:W,totalDataLabels:T}}hasMultipleSeriesGroups(){return this.w.labelData.seriesGroups.length>1}getTotalGroupContext(t){if(!this.hasMultipleSeriesGroups())return null;const e=this.barCtx.barHelpers.getSeriesGroupIndex(t);return e<0?null:{groupIndex:e}}drawsStackedTotal(t){const e=this.barCtx.lastActiveBarSerieIndexByGroup,a=this.getTotalGroupContext(t);return a&&e&&e.length>a.groupIndex?e[a.groupIndex]===t:this.barCtx.lastActiveBarSerieIndex===t}getStackedTotalValue({realIndex:t,j:e}){if(this.hlt)return this.hlt.val;const a=this.w,s=this.xStackTop(t,e);if(s)return s[3];const i=this.getTotalGroupContext(t),r=a.seriesData.stackedSeriesTotalsByGroups;return i&&r&&r[i.groupIndex]?r[i.groupIndex][e]:this.barCtx.stackedSeriesTotals[e]}xStackTop(t,e){var a,s;const i=this.w;return i.axisFlags.isXNumeric&&(null==(s=null==(a=this.barCtx.stacks)?void 0:a[i.labelData.seriesGroupIndex[t]])?void 0:s.tops.get(i.seriesData.seriesX[t][e]))}getStackedTotalDataLabel({realIndex:t,j:e}){const a=this.w;let s=this.getStackedTotalValue({realIndex:t,j:e});return this.totalFormatter&&(s=this.totalFormatter(s,h(l({},a),{seriesIndex:t,dataPointIndex:e,w:a}))),s}calculateColumnsDataLabelsPosition(t){var e;const a=this.w;let s,i,{i:r,j:o,realIndex:n,y:l,bcx:h,barWidth:d,barHeight:c,textRects:u,dataLabelsX:p,dataLabelsY:g,dataLabelsConfig:x,barDataLabelsConfig:f,barTotalDataLabelsConfig:m,strokeWidth:y,offX:v,offY:C}=t;const w=h;c=Math.abs(c);const P="vertical"===a.config.plotOptions.bar.dataLabels.orientation,{zeroEncounters:k}=this.barCtx.barHelpers.getZeroValueEncounters({i:r,j:o});h-=y/2;const I=a.layout.gridWidth/a.globals.dataPoints;if(this.barCtx.isVerticalGroupedRangeBar?p+=d/2:(p=a.axisFlags.isXNumeric?h-d/2+v:h-I+d/2+v,!a.config.chart.stacked&&k>0&&a.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(p-=d*k)),P){const t=2;p=p+u.height/2-y/2-t}const A=null!=(e=t.neg)?e:a.seriesData.series[r][o]<0;let L=l;switch(this.barCtx.isReversed&&(L=l+(A?c:-c)),f.position){case"center":g=P?A?L-c/2+C:L+c/2-C:A?L-c/2+u.height/2+C:L+c/2+u.height/2-C;break;case"bottom":g=P?A?L-c+C:L+c-C:A?L-c+u.height+y+C:L+c-u.height/2+y-C;break;case"top":g=P?A?L+C:L-C:A?L-u.height/2-C:L+u.height+C}let _=L;const S=this.getTotalGroupContext(n),H=this.xStackTop(n,o),D=H?[]:this.barCtx.stacks||[];if(H&&(_=A?Math.max(L,H[5]):Math.min(L,H[4])),D.forEach((t,e)=>{S&&e!==S.groupIndex||t.prevY.forEach(t=>{_=A?Math.max(t[o],_):Math.min(t[o],_)})}),this.hlt&&(_=this.hlt.edge),this.drawsStackedTotal(n)&&m.enabled){const t=18,e=new b(this.barCtx.w).getTextRects(this.getStackedTotalDataLabel({realIndex:n,j:o}),x.fontSize);s=A?_-e.height/2-C-m.offsetY+t:_+e.height+C+m.offsetY-t;const r=I;i=w+(a.axisFlags.isXNumeric?-d/2:d/2-r)+m.offsetX}return a.config.chart.stacked||(g<0?g=0+y:g+u.height/3>a.layout.gridHeight&&(g=a.layout.gridHeight-y)),{bcx:h,bcy:l,dataLabelsX:p,dataLabelsY:g,totalDataLabelsX:i,totalDataLabelsY:s,totalDataLabelsAnchor:"middle"}}calculateBarsDataLabelsPosition(t){var e,a;const s=this.w;let{x:i,i:r,j:o,realIndex:n,bcy:l,barHeight:h,barWidth:d,textRects:c,dataLabelsX:u,strokeWidth:p,dataLabelsConfig:g,barDataLabelsConfig:x,barTotalDataLabelsConfig:f,offX:m,offY:y}=t;const v=s.layout.gridHeight/s.globals.dataPoints,{zeroEncounters:C}=this.barCtx.barHelpers.getZeroValueEncounters({i:r,j:o});let w,P,k;d=Math.abs(d),w=this.barCtx.isPyramid?l+h/2+y-(null!=(e=c.centerOffset)?e:0):l-(this.barCtx.isRangeBar?0:v)+h/2+c.height/2+y-3,!s.config.chart.stacked&&C>0&&s.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(w-=h*C);let I="start";const A=null!=(a=t.neg)?a:s.seriesData.series[r][o]<0;let L=i;if(this.barCtx.isReversed&&(L=i+(A?-d:d),I=A?"start":"end"),this.barCtx.isPyramid)u=s.layout.gridWidth/2+m;else switch(x.position){case"center":u=A?L+d/2-m:Math.max(c.width/2,L-d/2)+m;break;case"bottom":u=A?L+d-p-m:L-d+p+m;break;case"top":u=A?L-p-m:L-p+m}let _=L;const S=this.getTotalGroupContext(n);if((this.barCtx.stacks||[]).forEach((t,e)=>{S&&e!==S.groupIndex||t.prevX.forEach(t=>{_=A?Math.min(t[o],_):Math.max(t[o],_)})}),this.hlt&&(_=this.hlt.edge),this.drawsStackedTotal(n)&&f.enabled){const t=new b(this.barCtx.w).getTextRects(this.getStackedTotalDataLabel({realIndex:n,j:o}),g.fontSize);A?(P=_-p-m-f.offsetX,I="end"):P=_+m+f.offsetX+(this.barCtx.isReversed?-(d+p):p),k=w-c.height/2+t.height/2+f.offsetY+p,s.globals.barGroups.length>1&&!S&&(k-=s.globals.barGroups.length/2*(h/2))}if(!s.config.chart.stacked){const t=A&&"middle"!==g.textAnchor?"start"===g.textAnchor?"end":"start":g.textAnchor;let e;e="vertical"===x.orientation?c.height/2:"end"===t?c.width:"middle"===t?c.width/2:0;const a=("vertical"===x.orientation?c.height:c.width)-e;u+a>s.layout.gridWidth-p&&(u=s.layout.gridWidth-a-p),u-e<p&&(u=e+p)}return{bcx:i,bcy:l,dataLabelsX:u,dataLabelsY:w,totalDataLabelsX:P,totalDataLabelsY:k,totalDataLabelsAnchor:I}}drawCalculatedDataLabels({x:t,y:e,val:a,text:s,neg:i,i:r,j:o,textRects:n,barHeight:d,barWidth:c,dataLabelsConfig:p}){var g,x,f;const m=this.w;let y="rotate(0)";"vertical"===m.config.plotOptions.bar.dataLabels.orientation&&(y=`rotate(-90, ${t}, ${e})`);const v=new u(this.barCtx.w,this.barCtx.ctx),C=new b(this.barCtx.w),P=p.formatter;let k=null;const I=m.globals.collapsedSeriesIndices.indexOf(r)>-1,A=(m.globals.collapsingSeriesIndices||[]).indexOf(r)>-1;if(A){const t=null==(g=m.globals.prevDataLabels)?void 0:g.get(`${r}::${w(m,r,o)}`);t&&isFinite(t.val)&&(a=t.val,s=void 0)}if(p.enabled&&(!I||A)){k=C.group({class:"apexcharts-data-labels",transform:y});const b=m.config.dataLabels;((null==(x=b.animate)?void 0:x.enabled)||(null==(f=b.countUp)?void 0:f.enabled))&&(k.node.setAttribute("data:dlKey",`${r}::${w(m,r,o)}`),k.node.setAttribute("data:dlJ",String(o)),"number"==typeof a&&isFinite(a)&&k.node.setAttribute("data:dlVal",String(a))),void 0===a?s="":void 0===s&&(s=P(a,h(l({},m),{seriesIndex:r,dataPointIndex:o,w:m}))),!a&&m.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(s="");const u=null!=i?i:m.seriesData.series[r][o]<0,g=m.config.plotOptions.bar.dataLabels.position;"vertical"===m.config.plotOptions.bar.dataLabels.orientation&&("top"===g&&(p.textAnchor=u?"end":"start"),"center"===g&&(p.textAnchor="middle"),"bottom"===g&&(p.textAnchor=u?"end":"start")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels&&c<C.getTextRects(s,parseFloat(p.style.fontSize).toString()).width&&(s=""),m.config.chart.stacked&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels&&!A&&(this.barCtx.isHorizontal?n.width/1.6>Math.abs(c)&&(s=""):n.height/1.6>Math.abs(d)&&(s=""));const I=l({},p);this.barCtx.isHorizontal&&a<0&&("start"===p.textAnchor?I.textAnchor="end":"end"===p.textAnchor&&(I.textAnchor="start")),v.plotDataLabelsText({x:t,y:e,text:s,i:r,j:o,parent:k,dataLabelsConfig:I,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return k}drawTotalDataLabels({x:t,y:e,val:a,rawVal:s,realIndex:i,j:r,textAnchor:o,barTotalDataLabelsConfig:n}){var l,h;const d=new b(this.barCtx.w);let c;if(n.enabled&&void 0!==t&&void 0!==e&&this.drawsStackedTotal(i)){c=d.drawText({x:t,y:e,foreColor:n.style.color,text:a,textAnchor:o,fontFamily:n.style.fontFamily,fontSize:n.style.fontSize,fontWeight:n.style.fontWeight}),c.attr({class:"apexcharts-datalabel-total",cx:t,cy:e});const b=this.w.config.dataLabels;if((null==(l=b.animate)?void 0:l.enabled)||(null==(h=b.countUp)?void 0:h.enabled)){const{groupIndex:t}=this.barCtx.barHelpers.getGroupIndex(i);c.node.setAttribute("data:dlTotalKey",`${t}::${w(this.w,i,r)}`),c.node.setAttribute("data:dlTotalSeries",String(i)),"number"==typeof s&&isFinite(s)&&c.node.setAttribute("data:dlTotalVal",String(s))}}return c}}const L=globalThis.ApexCharts.__internals.__apex_Series,_=globalThis.ApexCharts.__internals.__apex_Fill,S=globalThis.ApexCharts.__internals.__apex_Utils;function H(t){var e,a,s,i,r,o,n;return"histogram"===(null==(a=null==(e=null==t?void 0:t.config)?void 0:e.chart)?void 0:a.requestedType)&&!1!==(null==(i=null==(s=t.config.plotOptions)?void 0:s.histogram)?void 0:i.overlap)&&(null!=(n=null==(o=null==(r=t.seriesData)?void 0:r.series)?void 0:o.length)?n:0)>1}class D{constructor(t){this.w=t.w,this.barCtx=t}initVariables(t){const e=this.w;this.barCtx.series=t,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(let a=0;a<t.length;a++)if(t[a].length>0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[a].length),e.axisFlags.isXNumeric)for(let s=0;s<t[a].length;s++)e.seriesData.seriesX[a][s]>e.globals.minX&&e.seriesData.seriesX[a][s]<e.globals.maxX&&this.barCtx.visibleItems++;else this.barCtx.visibleItems=e.globals.dataPoints;this.arrBorderRadius=this.createBorderRadiusArr(e.seriesData.series),S.isSafari()&&(this.arrBorderRadius=this.arrBorderRadius.map(t=>t.map(t=>"none"))),0===this.barCtx.seriesLen&&(this.barCtx.seriesLen=1)}barSlotXSpan(){const t=this.w;if(void 0!==this._slotXSpan)return this._slotXSpan;let e=0;if(t.globals.dataPoints<=1){const a=t.globals.maxX-t.globals.minX;e=a>0?a/4:0}else if(e=this._unionMinXGap(),!(e>0&&isFinite(e))){const a=t.globals.minXDiff;e=a>0&&isFinite(a)&&.5!==a?a:0}return this._slotXSpan=e,e}_unionMinXGap(){const t=this.w.seriesData.seriesX||[],e=[];for(let a=0;a<t.length;a++){const s=t[a];Array.isArray(s)&&s.length>0&&e.push(s.some((t,e)=>t<s[e-1])?s.filter(t=>t===+t).sort((t,e)=>t-e):s)}if(!e.length)return 0;const a=new Array(e.length).fill(0);let s=NaN,i=1/0;for(;;){let t=1/0,r=-1;for(let s=0;s<e.length;s++){const i=e[s];for(;a[s]<i.length&&"number"!=typeof i[a[s]];)a[s]++;if(a[s]>=i.length)continue;const o=i[a[s]];o==o?o<t&&(t=o,r=s):(a[s]++,s--)}if(-1===r)break;if(a[r]++,s==s){const e=t-s;e>0&&e<i&&(i=e)}s=t}return isFinite(i)?i:0}initialPositions(t){const e=this.w;let a,s,i,r,o,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||H(e))&&(c=1),this.barCtx.isHorizontal)i=e.layout.gridHeight/d,o=i/c,o=o*parseInt(this.barCtx.barOptions.barHeight,10)/100,-1===String(this.barCtx.barOptions.barHeight).indexOf("%")&&(o=parseInt(this.barCtx.barOptions.barHeight,10)),h=this.barCtx.baseLineInvertedY+e.globals.padHorizontal+(this.barCtx.isReversed?e.layout.gridWidth:0)-(this.barCtx.isReversed?2*this.barCtx.baseLineInvertedY:0),this.barCtx.isFunnel&&(h=e.layout.gridWidth/2),s=(i-o*this.barCtx.seriesLen)/2;else{if(r=e.layout.gridWidth/this.barCtx.visibleItems,e.config.xaxis.convertedCatToNumeric&&(r=e.layout.gridWidth/e.globals.dataPoints),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),a=e.axisFlags.isXNumeric?this.barCtx.getBarXForNumericXAxis({x:a,j:0,realIndex:t,barWidth:n}).x:e.globals.padHorizontal+S.noExponents(r-n*this.barCtx.seriesLen)/2}return e.globals.barHeight=o,e.globals.barWidth=n,{x:a,y:s,yDivision:i,xDivision:r,barHeight:o,barWidth:n,zeroH:l,zeroW:h}}initializeStackedPrevVars(t){t.stacks=t.w.labelData.seriesGroups.map(()=>({prevY:[],prevX:[],prevYF:[],prevXF:[],prevYVal:[],prevXVal:[],tops:new Map}))}initializeStackedXYVars(t){t.stacks.forEach(t=>{t.xArrj=[],t.xArrjF=[],t.xArrjVal=[],t.yArrj=[],t.yArrjF=[],t.yArrjVal=[]})}getPathFillColor(t,e,a,s){var i;const r=this.w,o=new _(this.barCtx.w);let n=null;const l=this.barCtx.barOptions.distributed?a:e;let h=!1;this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map(s=>{t[e][a]>=s.from&&t[e][a]<=s.to&&(n=s.color,h=!0)});const d=this.getDumbbellConnectorFill(e,a)||(null==(i=r.config.series[e].data[a])?void 0:i.fill),c=this.barCtx.barOptions.isDumbbell?r.config.plotOptions.bar.dumbbell.connector:null;let b;return c&&c.color&&(n=c.color,b=c.opacity),{color:o.fillPath({seriesNumber:this.barCtx.barOptions.distributed?l:s,dataPointIndex:a,color:n,opacity:b,value:t[e][a],fillConfig:d,fillType:(null==d?void 0:d.type)?d.type:Array.isArray(r.config.fill.type)?r.config.fill.type[s]:r.config.fill.type}),useRangeColor:h}}getDumbbellConnectorFill(t,e){const a=this.w;if(!this.barCtx.barOptions.isDumbbell)return null;const s=a.dumbbellData;if(!s||"series"!==s.form)return null;const i=a.config.plotOptions.bar.dumbbell.connector;if(i.color)return null;const r=s.order[e];if(!r)return null;const o=a.globals.colors[r[0]],n=a.globals.colors[r[1]];return o&&n?{type:"gradient",gradient:{type:this.barCtx.isHorizontal?"horizontal":"vertical",gradientFrom:o,gradientTo:n,opacityFrom:i.opacity,opacityTo:i.opacity,stops:[0,100],inverseColors:!this.barCtx.isHorizontal}}:null}getStrokeWidth(t,e,a){let s=0;const i=this.w;return void 0===this.barCtx.series[t][e]||null===this.barCtx.series[t][e]||"bar"===i.config.chart.type&&!this.barCtx.series[t][e]?this.barCtx.isNullValue=!0:this.barCtx.isNullValue=!1,i.config.stroke.show&&(this.barCtx.isNullValue||(s=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[a]:this.barCtx.strokeWidth)),s}getStackedSeriesIndices(t){const e=this.w,a=e.labelData.seriesGroups,s=e.globals.columnSeries?new Set(e.globals.columnSeries.i):null,i=t=>!s||s.has(t);if(!a||a.length<2){const e=Array.from({length:t},(t,e)=>e).filter(i);return e.length?[e]:[]}const r=Array.from({length:a.length},()=>[]),o=[];for(let e=0;e<t;e++){if(!i(e))continue;const t=this.getSeriesGroupIndex(e);t>-1?r[t].push(e):o.push(e)}return o.length&&r.push(o),r.filter(t=>t.length>0)}createBorderRadiusArr(t){var e;const a=this.w,s=!this.w.config.chart.stacked||a.config.plotOptions.bar.borderRadius<=0,i=t.length,r=0|(null==(e=t[0])?void 0:e.length),o=Array.from({length:i},()=>Array(r).fill(s?"top":"none"));if(s)return o;const n="last"===a.config.plotOptions.bar.borderRadiusWhenStacked,l=n?"top":"both",h=n?"bottom":"both",d=n?"none":"bottom",c=n?"none":"top";for(const e of this.getStackedSeriesIndices(i))for(let a=0;a<r;a++){const s=[],i=[];for(const r of e){const e=t[r][a];e>0?s.push(r):e<0&&i.push(r)}if(s.length>0&&0===i.length)if(1===s.length)o[s[0]][a]=l;else{const t=s[0],e=s[s.length-1];for(const i of s)o[i][a]=i===t?d:i===e?"top":"none"}else if(i.length>0&&0===s.length)if(1===i.length)o[i[0]][a]=h;else{const t=Math.min(...i),e=Math.max(...i);for(const s of i)o[s][a]=s===t?c:s===e?"bottom":"none"}else if(s.length>0&&i.length>0){const t=s[s.length-1];for(const e of s)o[e][a]=e===t?"top":"none";const e=Math.max(...i);for(const t of i)o[t][a]=t===e?"bottom":"none"}}return o}barBackground({j:t,i:e,x1:a,x2:s,y1:i,y2:r,elSeries:o}){const n=this.w,l=new b(this.barCtx.w),h=new L(this.barCtx.w).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&h===e){t>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(t%=this.barCtx.barOptions.colors.backgroundBarColors.length);const e=this.barCtx.barOptions.colors.backgroundBarColors[t],h=l.drawRect(void 0!==a?a:0,void 0!==i?i:0,void 0!==s?s:n.layout.gridWidth,void 0!==r?r:n.layout.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,e,this.barCtx.barOptions.colors.backgroundBarOpacity);o.add(h),h.node.classList.add("apexcharts-backgroundBar")}}barRect({a:t,len:e,v1:a,v2:s,strokeWidth:i,realIndex:r,j:o,dir:n,horizontal:l}){const h=this.w,d=new b(h);(i=Array.isArray(i)?i[r]:i)||(i=0);const c=h.config.series[r].data[o],u=l?null==c?void 0:c.barHeightOffset:null==c?void 0:c.columnWidthOffset;u&&(t-=u/2,e+=u);const p=i/2,g=n*(this.barCtx.isReversed?-1:1),x="around"===h.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[r][o]?" Z":" z";let f,m,y,v,C,w;return l?(y=t+p,v=t+e-p,f=a+.001+p*g,m=s+.001-p*g,C=d.line(f,v),w=d.move(f,y)+d.line(m,y)+d.line(m,v)+C+x):(f=t+p,m=t+e-p,y=a+.001-p*g,v=s+.001+p*g,C=d.line(m,y),w=d.move(f,y)+d.line(f,v)+d.line(m,v)+C+x),{x1:f,x2:m,y1:y,y2:v,sl:C,closing:x,squarePathTo:w,pathTo:"none"!==this.arrBorderRadius[r][o]?d.roundPathCorners(w,h.config.plotOptions.bar.borderRadius):w,base:d.move(f,y)+d.line(f,y)+C+C+C+C+C+d.line(f,y)+x,strokeWidth:i,strokeCenter:p,direction:g}}getColumnPaths({barWidth:t,barXPosition:e,y1:a,y2:s,strokeWidth:i,series:r,realIndex:o,i:n,j:l,w:h}){var d,c;const b=this.barRect({a:e,len:t,v1:a,v2:s,strokeWidth:i,realIndex:o,j:l,dir:r[n][l]>=0?1:-1}),{pathTo:u,squarePathTo:p,strokeCenter:g,direction:x}=b;a=b.y1,s=b.y2;let f=null;const m=null==(c=null==(d=this.barCtx.ctx)?void 0:d.morphTypeChange)?void 0:c.getInitialPathFor(o,l);if(m?f=m:h.globals.previousPaths.length>0&&(f=this.barCtx.getPreviousPath(o,l,u,p)),null==f&&(f=b.base),h.config.chart.stacked){const t=this.barCtx.groupCtx;t.yArrj.push(s-g*x),t.yArrjF.push(Math.abs(a-s+b.strokeWidth*x)),t.yArrjVal.push(this.barCtx.series[n][l])}return{pathTo:u,pathFrom:f,drawnBox:{x1:b.x1,x2:b.x2,y1:a,y2:s}}}getFunnelTrapezoidPaths({barYPosition:t,barHeight:e,series:a,i:s,j:i,realIndex:r,strokeWidth:o,w:n}){var l,h;const d=new b(this.barCtx.w),c=n.layout.gridWidth/2,u=t=>Math.abs(t/this.barCtx.invertedYRatio)/2,p=u(a[s][i]),g=i===a[s].length-1,x="taper"===n.config.plotOptions.funnel.lastShape?"taper":"flat";let f;f=g?"taper"===x?0:p:u(a[s][i+1]);const m=o/2,y=t+m,v=t+e-m,C=c-p,w=c+p,P=c-f,k=c+f,I=d.move(C,y)+d.line(w,y)+d.line(k,v)+d.line(P,v)+" Z";let A=null;const L=null==(h=null==(l=this.barCtx.ctx)?void 0:l.morphTypeChange)?void 0:h.getInitialPathFor(r,i);return L?A=L:n.globals.previousPaths.length>0&&(A=this.barCtx.getPreviousPath(r,i,I)),null==A&&(A=d.move(c,y)+d.line(c,y)+d.line(c,v)+d.line(c,v)+" Z"),{pathTo:I,pathFrom:A,x:w,x1:C,barXPosition:c}}computePyramidLayout(t){const e=this.w,a=e.layout.gridHeight,s=e.layout.gridWidth,i=t.map(t=>Math.abs(Number(t)||0)),r=i.reduce((t,e)=>t+e,0);if(0===r||a<=0)return i.map(()=>({y:0,height:0,topHalf:0,bottomHalf:0}));const o=s/2;let n=0;const l=[];for(let t=0;t<i.length;t++){const e=n/r;n+=i[t];const s=n/r,h=e*a,d=s*a;l.push({y:h,height:d-h,topHalf:e*o,bottomHalf:s*o})}return l}getPyramidPaths({barYPosition:t,barHeight:e,topHalf:a,bottomHalf:s,realIndex:i,j:r,strokeWidth:o,w:n}){var l,h;const d=new b(this.barCtx.w),c=n.layout.gridWidth/2,u=o/2,p=t+u,g=t+e-u,x=c-a,f=c+a,m=c-s,y=c+s,v=d.move(x,p)+d.line(f,p)+d.line(y,g)+d.line(m,g)+" 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(c,p)+d.line(c,p)+d.line(c,g)+d.line(c,g)+" Z"),{pathTo:v,pathFrom:C,x:f,x1:x,barXPosition:c}}getBarpaths({barYPosition:t,barHeight:e,x1:a,x2:s,strokeWidth:i,series:r,realIndex:o,i:n,j:l,w:h}){var d,c;const u=new b(this.barCtx.w),p=this.barRect({a:t,len:e,v1:a,v2:s,strokeWidth:i,realIndex:o,j:l,dir:r[n][l]>=0?1:-1,horizontal:!0}),{y1:g,y2:x,sl:f,closing:m,squarePathTo:y,pathTo:v,strokeCenter:C,direction:w}=p;a=p.x1,s=p.x2;const P=this.barCtx.isFunnel,k=P?(a+s)/2:a;let I=null;const A=null==(c=null==(d=this.barCtx.ctx)?void 0:d.morphTypeChange)?void 0:c.getInitialPathFor(o,l);if(A?I=A:h.globals.previousPaths.length>0&&(I=this.barCtx.getPreviousPath(o,l,v,y)),null==I){const t=P?u.line(k,x):f;I=u.move(k,g)+u.line(k,g)+t+t+t+t+t+u.line(k,g)+m}if(h.config.chart.stacked){const t=this.barCtx.groupCtx;t.xArrj.push(s+C*w),t.xArrjF.push(Math.abs(a-s-p.strokeWidth*w)),t.xArrjVal.push(this.barCtx.series[n][l])}return{pathTo:v,pathFrom:I,drawnBox:{x1:a,x2:s,y1:g,y2:x}}}getXForValue(t,e,a=!0){let s=a?e:null;return null!=t&&(s=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),s}getYForValue(t,e,a,s=!0){let i=s?e:null;return null!=t&&(i=e-t/this.barCtx.yRatio[a]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[a]:0)),i}getGoalValues(t,e,a,s,i,r){const o=this.w,n=[],d=(s,i)=>{n.push({[t]:"x"===t?this.getXForValue(s,e,!1):this.getYForValue(s,a,r,!1),attrs:i})};if(o.seriesData.seriesGoals[s]&&o.seriesData.seriesGoals[s][i]&&Array.isArray(o.seriesData.seriesGoals[s][i])&&o.seriesData.seriesGoals[s][i].forEach(t=>{d(t.value,t)}),this.barCtx.barOptions.isDumbbell){const e=this.getDumbbellEnds(s,i);if(e.length){const a={strokeHeight:"x"===t?0:o.globals.markers.size[s],strokeWidth:"x"===t?o.globals.markers.size[s]:0,strokeDashArray:0,strokeLineCap:"round"};let r=0,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({},a),{strokeColor:t.color});!c.enabled||e!==r&&e!==n||(o.label={text:this.getDumbbellLabelText(t.value,s,i,t.index),color:c.colorFromMarker?t.color:Array.isArray(c.style.colors)?c.style.colors[t.index]||c.style.colors[0]:c.style.colors,outward:e===r&&r!==n?-1:1}),d(t.value,o)})}}return n}getDumbbellEnds(t,e){const a=this.w,s=[],i=a.dumbbellData;if(i&&"series"===i.form){const t=i.values[e]||[];for(let e=0;e<t.length;e++){const r=t[e];null!==r&&-1===i.hidden.indexOf(e)&&s.push({value:r,color:a.globals.colors[e],index:e})}return s}if(!a.rangeData.seriesRange.length)return s;const r=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:a.globals.colors,o=e=>Array.isArray(r[t])?r[t][e]:r[t];return[{value:a.rangeData.seriesRangeStart[t][e],color:o(0),index:0},{value:a.rangeData.seriesRangeEnd[t][e],color:o(1),index:1}]}getDumbbellLabelText(t,e,a,s){const i=this.w,r=i.config.plotOptions.bar.dumbbell.dataLabels;if("function"==typeof r.formatter)return r.formatter(t,{seriesIndex:e,dataPointIndex:a,endpointIndex:s,w:i});const o=this.barCtx.isHorizontal?i.formatters.xLabelFormatter:i.formatters.yLabelFormatters[0];return"function"==typeof o?o(t,a,i):String(t)}drawGoalLine({barXPosition:t,barYPosition:e,goalX:a,goalY:s,barWidth:i,barHeight:r}){if(!(Array.isArray(a)&&a.length>0||Array.isArray(s)&&s.length>0))return null;const o=new b(this.barCtx.w),n=o.group({class:"apexcharts-bar-goals-groups"});n.node.classList.add("apexcharts-element-hidden"),this.barCtx.w.globals.delayedElements.push({el:n.node}),n.attr("clip-path",`url(#gridRectMarkerMask${this.barCtx.w.globals.cuid})`);let l=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach(t=>{if(t.x>=-1&&t.x<=o.w.layout.gridWidth+1){const a=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:r/2,s=e+a+r/2;l=o.drawLine(t.x,s-2*a,t.x,s,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),n.add(l),t.attrs.label&&n.add(this.drawDumbbellLabel(t.attrs,{x:t.x,y:s-a,horizontal:!0,markerSize:t.attrs.strokeWidth||0}))}}):Array.isArray(s)&&s.forEach(e=>{if(e.y>=-1&&e.y<=o.w.layout.gridHeight+1){const a=void 0!==e.attrs.strokeWidth?e.attrs.strokeWidth:i/2,s=t+a+i/2;l=o.drawLine(s-2*a,e.y,s,e.y,e.attrs.strokeColor?e.attrs.strokeColor:void 0,e.attrs.strokeDashArray,e.attrs.strokeHeight?e.attrs.strokeHeight:2,e.attrs.strokeLineCap),n.add(l),e.attrs.label&&n.add(this.drawDumbbellLabel(e.attrs,{x:s-a,y:e.y,horizontal:!1,markerSize:e.attrs.strokeHeight||0}))}}),n}drawDumbbellLabel(t,e){const a=this.w,s=new b(a),i=a.config.plotOptions.bar.dumbbell.dataLabels,r=e.markerSize/2+i.offset,o=t.label.outward;return s.drawText({x:e.x+(e.horizontal?r*o:0),y:e.y-(e.horizontal?0:r*o),text:t.label.text,textAnchor:e.horizontal?o<0?"end":"start":"middle",dominantBaseline:e.horizontal?"central":o<0?"hanging":"auto",foreColor:t.label.color,fontSize:i.style.fontSize,fontFamily:i.style.fontFamily,fontWeight:i.style.fontWeight,cssClass:"apexcharts-dumbbell-label"})}drawBarShadow({prevPaths:t,currPaths:e,color:a,realIndex:s,j:i}){const r=this.w,{x:o,x1:n,barYPosition:l}=t,{x:h,x1:d,barYPosition:c}=e,u=l+e.barHeight,p=new b(this.barCtx.w),g=new S,x=p.move(n,u)+p.line(o,u)+p.line(h,c)+p.line(d,c)+p.line(n,u)+("around"===r.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[s][i]?" Z":" z");return p.drawPath({d:x,fill:g.shadeColor(.5,S.rgb2hex(a)),stroke:"none",strokeWidth:0,fillOpacity:1,classes:"apexcharts-bar-shadow apexcharts-decoration-element"})}getZeroValueEncounters({i:t,j:e}){var a;const s=this.w;let i=0,r=0;return(s.config.plotOptions.bar.horizontal?s.seriesData.series.map((t,e)=>e):(null==(a=s.globals.columnSeries)?void 0:a.i.map(t=>t))||[]).forEach(a=>{const o=s.globals.seriesPercent[a][e];o&&i++,a<t&&0===o&&r++}),{nonZeroColumns:i,zeroEncounters:r}}getSeriesGroupIndex(t){var e;return null!=(e=this.w.labelData.seriesGroupIndex[t])?e:-1}getGroupIndex(t){const e=this.getSeriesGroupIndex(t),a=this.barCtx.columnGroupIndices;let s=a.indexOf(e);return s<0&&(a.push(e),s=a.length-1),{groupIndex:e,columnGroupIndex:s}}}const W=globalThis.ApexCharts.__internals.__apex_Filters;class T{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)/T.xRatio(t)}static pxToDataX(t,e){return t.globals.minX+e*T.xRatio(t)}static screenXToPlotPx(t,e){const a=t.dom.baseEl,s=a&&a.querySelector(".apexcharts-svg");if(!s)return e-t.layout.translateX;const i=s.getBoundingClientRect(),r=t.globals.svgWidth?i.width/t.globals.svgWidth:1;return(e-i.left)/(r||1)-t.layout.translateX}}class F{constructor(t,e,a){this.ctx=e,this.w=t,this.barOptions=t.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=t.config.stroke.width,this.isNullValue=!1,this.isRangeBar=t.rangeData.seriesRange.length&&this.isHorizontal,this.isVerticalGroupedRangeBar=!t.globals.isBarHorizontal&&t.rangeData.seriesRange.length&&t.config.plotOptions.bar.rangeBarGroupRows,this.isFunnel=this.barOptions.isFunnel,this.isPyramid=this.barOptions.isPyramid,this.pyramidLayout=null,this.xyRatios=a,this.xRatio=0,this.yRatio=[],this.invertedXRatio=0,this.invertedYRatio=0,this.baseLineY=[],this.baseLineInvertedY=0,null!==this.xyRatios&&(this.xRatio=a.xRatio,this.yRatio=a.yRatio,this.invertedXRatio=a.invertedXRatio,this.invertedYRatio=a.invertedYRatio,this.baseLineY=a.baseLineY,this.baseLineInvertedY=a.baseLineInvertedY),this.yaxisIndex=0,this.translationsIndex=0,this.seriesLen=0,this.pathArr=[],this._prevKeyed=null,this._ltCache=null,this._layoutShiftCache=null,this._pathToInterp=null,this.series=[],this.elSeries=null,this.visibleI=0,this.isReversed=!1;const s=new L(this.w);this.lastActiveBarSerieIndex=s.getActiveConfigSeriesIndex("desc",["bar","column"]),this.lastActiveBarSerieIndexByGroup=s.getActiveConfigSeriesIndexByGroup(["bar","column"]),this.columnGroupIndices=[];const i=s.getBarSeriesIndices(),r=new c(this.w);this.stackedSeriesTotals=r.getStackedSeriesTotals(this.w.config.series.map((t,e)=>-1===i.indexOf(e)?e:-1).filter(t=>-1!==t)),this.barHelpers=new D(this)}setSeriesAxis(t){return this.yRatio.length>1&&(this.yaxisIndex=this.w.globals.seriesYAxisReverseMap[t],this.translationsIndex=t),this.translationsIndex}draw(t,e){var a,s,i,r,o;const n=this.w,d=new b(this.w),u=new c(this.w);t=u.getLogSeries(t),this.series=t,this.yRatio=u.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);const p=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 u,x;const f=[],m=[],y=n.globals.comboCharts?e[c]:c,{columnGroupIndex:v}=this.barHelpers.getGroupIndex(y),C=d.group({class:"apexcharts-series",rel:c+1,seriesName:S.escapeString(n.seriesData.seriesNames[y]),"data:realIndex":y});L.addCollapsedClassToSeries(this.w,C,y),t[c].length>0&&(this.visibleI=this.visibleI+1);const P=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 k=this.barHelpers.initialPositions(y),{y:A,yDivision:_,zeroW:H,x:D,xDivision:T,zeroH:F}=k;let O=k.barHeight,X=k.barWidth;x=A,u=D,this.isHorizontal||m.push(u+(null!=X?X:0)/2);const R=d.group({class:"apexcharts-datalabels","data:realIndex":y}),B=n.config.dataLabels,M=!(null==(a=B.animate)?void 0:a.enabled)&&this.isLengthTransition(y);n.globals.dataChanged&&!M&&((null==(s=B.animate)?void 0:s.enabled)||(null==(i=B.countUp)?void 0:i.enabled))||(n.globals.delayedElements.push({el:R.node,holdUntilComplete:M}),R.node.classList.add("apexcharts-element-hidden"));const j=d.group({class:"apexcharts-bar-goals-markers"}),z=d.group({class:"apexcharts-bar-shadows"}),Y=this.ctx,G=Y._barShadows,E=Y._barShadows=[],$=n.globals.dataChanged&&n.globals.shouldAnimate&&n.config.chart.animations.dynamicAnimation.enabled&&(null==G?void 0:G.length)===t[c].length-1;$||(n.globals.delayedElements.push({el:z.node}),z.node.classList.add("apexcharts-element-hidden"));for(let e=0;e<t[c].length;e++){const a=this.barHelpers.getStrokeWidth(c,e,y);let s=null;const i={indexes:{i:c,j:e,realIndex:y,translationsIndex:P,bc:b},x:u,y:x,strokeWidth:a,elSeries:C};this.isHorizontal?(s=this.drawBarPaths(h(l({},i),{barHeight:O,zeroW:H,yDivision:_})),X=this.series[c][e]/this.invertedYRatio):(s=this.drawColumnPaths(h(l({},i),{xDivision:T,barWidth:X,zeroH:F})),O=this.series[c][e]/this.yRatio[P]);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:S.hexToRgba(n.globals.colors[c]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:s,realIndex:y,j:e});z.add(t),E.push(t),this._shadow=$&&[t,G[e-1].attr("d")],n.config.chart.dropShadow.enabled&&new W(this.w).dropShadow(t,n.config.chart.dropShadow,y)}this.pathArr.push(s);const p=this.barHelpers.drawGoalLine({barXPosition:s.barXPosition,barYPosition:s.barYPosition,goalX:s.goalX,goalY:s.goalY,barHeight:O,barWidth:X});p&&j.add(p),x=s.y,u=s.x,e>0&&m.push(u+(null!=X?X:0)/2),f.push(x),this.renderSeries(h(l({hl:null==g?void 0:g.bar(this,{i:c,j:e,realIndex:y,translationsIndex:P,paths:s,zeroH:F,zeroW:H}),realIndex:y,pathFill:d.color},d.useRangeColor?{lineFill:d.color}:{}),{j:e,i:c,columnGroupIndex:v,pathFrom:s.pathFrom,pathTo:s.pathTo,strokeWidth:a,elSeries:C,x:u,y:x,series:t,barHeight:Math.abs(s.barHeight?s.barHeight:O),barWidth:Math.abs(s.barWidth?s.barWidth:X),elDataLabelsWrap:R,elGoalsMarkers:j,elBarShadows:z,visibleSeries:this.visibleI,type:"bar"}))}if(n.globals.seriesXvalues[y]=m,n.globals.seriesYvalues[y]=f,n.globals.previousPaths.length>0){const e=[];for(let a=0;a<t[c].length;a++)e.push(w(n,y,a));I({w:n,elSeries:C,record:this._prevRecord(y),newKeys:e,isHorizontal:this.isHorizontal,speed:n.config.chart.animations.dynamicAnimation.speed})}p.add(C)}return p}renderSeries({hl:t,realIndex:e,pathFill:a,lineFill:s,j:i,i:r,columnGroupIndex:o,pathFrom:n,pathTo:d,strokeWidth:c,elSeries:u,x:p,y:g,y1:m,y2:y,series:v,barHeight:C,barWidth:P,barXPosition:k,barYPosition:I,elDataLabelsWrap:L,elGoalsMarkers:_,elBarShadows:S,visibleSeries:H,type:D,classes:T,fadeReveal:F=!1}){var O,X,R,B,M,j,z;const Y=this.w,G=new b(this.w,this.ctx),E=function(t,e){const a=t&&t.renderer;return a&&a.kind&&"svg"!==a.kind?a:e}(this.ctx,G);let $=!1;const V=this._pathToInterp;if(this._pathToInterp=null,u._bindingsDelegated||(u._bindingsDelegated=!0,G.setupEventDelegation(u,`.apexcharts-${D}-area`)),!s){let t=function(t){const e=Y.config.stroke.colors;let a;return Array.isArray(e)&&e.length>0&&(a=e[t],a||(a=""),"function"==typeof a)?a({value:Y.seriesData.series[t][i],dataPointIndex:i,w:Y}):a};const a="function"==typeof Y.globals.stroke.colors[e]?t(e):Y.globals.stroke.colors[e];s=this.barOptions.distributed?Y.globals.stroke.colors[i]:a}const N=Y.config.chart.animations,Z=N.animateGradually;let K=0,U=0;if(Z&&!1!==Z.enabled&&(!Y.globals.dataChanged||!this.isLayoutShift(e))){const t=Y.globals.dataPoints||1,e=Z.delay||0,a=Math.min(e,.5*N.speed/Math.max(1,t));U=f({style:"sequential",index:i,baseDelay:a}),Y.config.chart.stacked&&!Y.globals.dataChanged&&(U+=r*a*.5),K=U/(e||1)}const q=new A(this).handleBarDataLabels({x:p,y:g,y1:m,y2:y,i:r,j:i,series:v,realIndex:e,columnGroupIndex:o,barHeight:C,barWidth:P,barXPosition:k,barYPosition:I,visibleSeries:H,hl:null==t?void 0:t.label});if(U>0){const t=Y.config.dataLabels;if((null==(O=t.animate)?void 0:O.enabled)||(null==(X=t.countUp)?void 0:X.enabled)){const t=String(Math.round(U));null==(B=null==(R=q.dataLabels)?void 0:R.node)||B.setAttribute("data:dlDelay",t),null==(j=null==(M=q.totalDataLabels)?void 0:M.node)||j.setAttribute("data:dlDelay",t)}}let J=!1;Y.globals.isBarHorizontal||(q.dataLabelsPos.dataLabelsX+Math.max(P,Y.globals.barPadForNumericAxis)<0||q.dataLabelsPos.dataLabelsX-Math.max(P,Y.globals.barPadForNumericAxis)>Y.layout.gridWidth)&&(this._wasOnScreen(e,i)?J=!0:$=!0),Y.config.series[r].data[i]&&Y.config.series[r].data[i].strokeColor&&(s=Y.config.series[r].data[i].strokeColor);const Q=a;if(this.isNullValue&&-1===Y.globals.collapsingSeriesIndices.indexOf(e)&&(a="none"),!$){const o=!0===(null==(z=this.ctx.morphTypeChange)?void 0:z.isActive()),b=o?this.ctx.morphTypeChange.getSpeed():Y.config.chart.animations.dynamicAnimation.speed,p=o&&this.ctx.morphTypeChange.claimsTargetMark(e,i);p&&(n=d,K=0);const g=E.renderPaths({i:r,j:i,realIndex:e,pathFrom:n,pathTo:d,stroke:s,strokeWidth:c,strokeLineCap:Y.config.stroke.lineCap,fill:a,pathToInterp:V,animationDelay:K,initialSpeed:Y.config.chart.animations.speed,dataChangeSpeed:b,className:`apexcharts-${D}-area${T?` ${T}`:""}`,chartType:D,bindEventsOnPaths:!1,fadeReveal:F});g.attr("clip-path",`url(#gridRectBarMask${Y.globals.cuid})`),J&&g.node.classList.add("apexcharts-leaving");const f=this._shadow;f&&(this._shadow=null,new x(Y,this.ctx).animatePathsGradually({el:f[0],fill:"none",pathFrom:f[1],pathTo:f[0].attr("d"),speed:b,delay:K})),p&&(g.node.setAttribute("opacity","0"),g.node.setAttribute("data-piece-hidden","1"));const v=Y.config.forecastDataPoints;if(v.count>0&&i>=Y.globals.dataPoints-v.count&&(g.node.setAttribute("stroke-dasharray",v.dashArray),g.node.setAttribute("stroke-width",v.strokeWidth),g.node.setAttribute("fill-opacity",v.fillOpacity)),void 0!==m&&void 0!==y&&(g.attr("data-range-y1",m),g.attr("data-range-y2",y)),new W(this.w).setSelectionFilter(g,e,i),u.add(g),g.attr({cy:q.dataLabelsPos.bcy,cx:q.dataLabelsPos.bcx,j:i,val:Y.seriesData.series[r][i],barHeight:C,barWidth:P,"data:pathKey":w(Y,e,i)}),null==t||t.paint(g,{delay:K,delayMs:U,speed:b,fill:Q,elSeries:u,elBarShadows:S,labels:q.dataLabels,pathFrom:n,pathTo:d}),"canvas"===E.kind){Y.globals.barCanvasCoords||(Y.globals.barCanvasCoords={}),Y.globals.barCanvasCoords[e]||(Y.globals.barCanvasCoords[e]={});const t=Y.globals.barCanvasCoords[e][i];let a=(null==t?void 0:t.bounds)||null;const s=g.bbox();(s.width>0||s.height>0)&&(a={left:Math.min(a?a.left:1/0,s.x),top:Math.min(a?a.top:1/0,s.y),right:Math.max(a?a.right:-1/0,s.x+s.width),bottom:Math.max(a?a.bottom:-1/0,s.y+s.height)}),Y.globals.barCanvasCoords[e][i]=h(l({cx:q.dataLabelsPos.bcx,cy:q.dataLabelsPos.bcy,barWidth:P,type:D},void 0!==m&&void 0!==y&&{rangeY1:m,rangeY2:y}),{bounds:a})}null!==q.dataLabels&&L.add(q.dataLabels),q.totalDataLabels&&L.add(q.totalDataLabels),u.add(L),_&&u.add(_),S&&u.add(S)}return u}drawBarPaths({indexes:t,barHeight:e,strokeWidth:a,zeroW:s,x:i,y:r,yDivision:o,elSeries:n}){const l=this.w,h=t.i,d=t.j;let c;if(l.config.plotOptions.bar.hideZeroBarsWhenGrouped){const{nonZeroColumns:t,zeroEncounters:a}=this.barHelpers.getZeroValueEncounters({i:h,j:d});t>0&&(e=this.seriesLen*e/t),c=r+e*this.visibleI,c-=e*a}else c=r+e*this.visibleI;const b=this.isFunnel&&"trapezoid"===l.config.plotOptions.funnel.shape,u=this.isPyramid&&this.pyramidLayout?this.pyramidLayout[d]:null,p=!!u;if(u)c=u.y,e=u.height;else if(this.isFunnel&&!b){const t=null!=s?s:0;s=t-(this.barHelpers.getXForValue(this.series[h][d],t)-t)/2}let g;return i=this.barHelpers.getXForValue(this.series[h][d],null!=s?s:0),g=u?this.barHelpers.getPyramidPaths({barYPosition:c,barHeight:e,topHalf:u.topHalf,bottomHalf:u.bottomHalf,realIndex:t.realIndex,j:d,strokeWidth:a,w:l}):b?this.barHelpers.getFunnelTrapezoidPaths({barYPosition:c,barHeight:e,series:this.series,i:h,j:d,realIndex:t.realIndex,strokeWidth:a,w:l}):this.barHelpers.getBarpaths({barYPosition:c,barHeight:e,x1:s,x2:i,strokeWidth:a,isReversed:this.isReversed,series:this.series,realIndex:t.realIndex,i:h,j:d,w:l}),(b||p)&&(s=g.x1,i=g.x),p||(r+=o),p&&(r=c),this.barHelpers.barBackground({j:d,i:h,y1:c-e*this.visibleI,y2:e*this.seriesLen,elSeries:n}),{pathTo:g.pathTo,pathFrom:g.pathFrom,x1:s,x:i,y:r,goalX:this.barHelpers.getGoalValues("x",s,null,t.realIndex,d,0),barYPosition:c,barHeight:e}}drawColumnPaths({indexes:t,x:e,y:a,xDivision:s,barWidth:i,zeroH:r,strokeWidth:o,elSeries:n}){const l=this.w,h=t.realIndex,d=t.translationsIndex,c=t.i,b=t.j,u=t.bc;let p;if(l.axisFlags.isXNumeric){const t=this.getBarXForNumericXAxis({x:e,j:b,realIndex:h,barWidth:i});e=t.x,p=t.barXPosition}else if(l.config.plotOptions.bar.hideZeroBarsWhenGrouped){const{nonZeroColumns:t,zeroEncounters:a}=this.barHelpers.getZeroValueEncounters({i:c,j:b});t>0&&(i=this.seriesLen*i/t),p=e+i*this.visibleI,p-=i*a}else p=e+i*this.visibleI;a=this.barHelpers.getYForValue(this.series[c][b],r,d);const g=this.barHelpers.getColumnPaths({barXPosition:p,barWidth:i,y1:r,y2:a,strokeWidth:o,isReversed:this.isReversed,series:this.series,realIndex:h,i:c,j:b,w:l});return l.axisFlags.isXNumeric||(e+=s),this.barHelpers.barBackground({bc:u,j:b,i:c,x1:p-o/2-i*this.visibleI,x2:i*this.seriesLen+o/2,elSeries:n}),{pathTo:g.pathTo,pathFrom:g.pathFrom,x:e,y:a,goalY:this.barHelpers.getGoalValues("y",null,r,h,b,d),barXPosition:p,barWidth:i}}getBarXForNumericXAxis({x:t,barWidth:e,realIndex:a,j:s}){const i=this.w;let r=a;return i.seriesData.seriesX[a].length||(r=i.globals.maxValsInArrayIndex),S.isNumber(i.seriesData.seriesX[r][s])&&(t=T.dataXToPx(i,i.seriesData.seriesX[r][s])-e*this.seriesLen/2),{barXPosition:t+(H(i)?0:e*this.visibleI),x:t}}_wasOnScreen(t,e){if(!C(this.w))return!1;const a=this._prevKeyedPaths(t);return!!a&&a.has(w(this.w,t,e))}_prevRecord(t){const e=this.w;let a=null;for(let s=0;s<e.globals.previousPaths.length;s++){const i=e.globals.previousPaths[s];i.paths&&i.paths.length>0&&parseInt(i.realIndex,10)===parseInt(String(t),10)&&(a=i)}return a}_prevKeyedPaths(t){if(this._prevKeyed||(this._prevKeyed={}),void 0!==this._prevKeyed[t])return this._prevKeyed[t];const e=this._prevRecord(t);let a=null;if(e&&e.paths.every(t=>null!=t.key)){const t=new Map;e.paths.forEach(e=>{t.set(e.key,e)}),a=t}return this._prevKeyed[t]=a,a}isLengthTransition(t){var e,a;if(this._ltCache||(this._ltCache={}),void 0!==this._ltCache[t])return this._ltCache[t];const s=this.w;let i=!1;if(C(s)&&s.globals.previousPaths.length>0){const r=this._prevRecord(t),o=null!=(a=null==(e=s.seriesData.series[t])?void 0:e.length)?a:0;if(r)if(r.paths.length!==o)i=!0;else{const e=this._prevKeyedPaths(t);if(e)for(let a=0;a<o;a++)if(!e.has(w(s,t,a))){i=!0;break}}else i=o>0}return this._ltCache[t]=i,i}isLayoutShift(t){if(this.isLengthTransition(t))return!0;if(this._layoutShiftCache||(this._layoutShiftCache={}),void 0!==this._layoutShiftCache[t])return this._layoutShiftCache[t];const e=k(this.w,t,!0,!0),a=!(!e||!e.join.changed);return this._layoutShiftCache[t]=a,a}getPreviousPath(t,e,a,s){const i=this.w;this._pathToInterp=null;const r=this._prevRecord(t);if(!r)return C(i)?null:a;let o=null,n=!1;const l=this._prevKeyedPaths(t);if(l){const a=l.get(w(i,t,e));a?o=a.d:n=!0}else void 0!==r.paths[e]?o=r.paths[e].d:n=!0;return o?this.cornerMorph(o,a,s):n&&C(i)?null:a}cornerMorph(t,e,a){const s=F.pathCommandCount(t),i=F.pathCommandCount(e);if(s===i)return t;const r=new b(this.w),o=t=>{const e=F.pathBox(t);return e?Math.min(e.maxX-e.minX,e.maxY-e.minY):0},n=s<i?o(t)>1:o(e)>1;if(s<i){const e=r.roundPathCorners(t,0);if(F.pathCommandCount(e)===i){if(n&&a){const t=r.roundPathCorners(a,0);F.pathCommandCount(t)===i&&(this._pathToInterp=t)}return e}}else{const a=r.roundPathCorners(e,0);if(F.pathCommandCount(a)===s){if(this._pathToInterp=a,n){const e=F.squareLike(t),a=e?r.roundPathCorners(e,0):null;if(a&&F.pathCommandCount(a)===s)return a}return t}}return e}static pathBox(t){if(!t)return null;const e=[],a=/([MLC])([^MLCZz]*)/g;let s;for(;null!==(s=a.exec(t));){const t=s[2].trim().split(/[\s,]+/).map(Number);t.length<2||t.some(isNaN)||e.push([t[t.length-2],t[t.length-1]])}if(e.length<3)return null;const i=e.map(t=>t[0]),r=e.map(t=>t[1]);return{minX:Math.min(...i),maxX:Math.max(...i),minY:Math.min(...r),maxY:Math.max(...r),start:e[0],vertical:Math.abs(e[1][0]-e[0][0])<Math.abs(e[1][1]-e[0][1])}}static squareLike(t){const e=F.pathBox(t);if(!e)return null;const{minX:a,maxX:s,minY:i,maxY:r,start:o,vertical:n}=e,l=(t,e,a)=>Math.abs(t-e)<=Math.abs(t-a)?[e,a]:[a,e];let h,d,c,b;n?(h=Math.abs(o[0]-a)<=Math.abs(o[0]-s)?a:s,d=h===a?s:a,[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],a,s));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 a=this.w,s=this._prevRecord(t);if(!s)return null;const i=this._prevKeyedPaths(t),r=i?i.get(w(a,t,e)):s.paths[e];return r?!!r.flip:null}static pathCommandCount(t){if(!t)return 0;const e=t.match(/[MmLlHhVvCcSsQqTtAaZz]/g);return e?e.length:0}}function O({w:t,points:e,seedA:a,seedB:s,center:i,halfExtent:r,alongFn:o,isHorizontal:n,options:l,clampAt:h,sideSign:d}){const c=l;if(!c||!1===c.show)return[];if(!e||!e.length)return[];const b=c.maxPoints||3e3,u=e.length>b?Math.ceil(e.length/b):1,p=null!=c.size?c.size:2.5,g=r*(null!=c.jitter?c.jitter:.5),x=!1!==c.constrainToViolin&&"function"==typeof h,f="square"===c.shape,m=c.colorScale,y=m&&Array.isArray(m.colors)&&m.colors.length>0,v=y?Math.max(2,m.steps||24):1,C=y&&null!=m.min?m.min:t.globals.minY,w=(y&&null!=m.max?m.max:t.globals.maxY)-C||1,P=y?new Array(v).fill(""):[""];for(let t=0;t<e.length;t+=u){const r=e[t],l=o(r);let c=2*(M(7919*a+100003*s+t)-.5)*g;if(x){const t=h(r);c>t&&(c=t),c<-t&&(c=-t)}d&&(c=Math.abs(c)*d);const b=n?l:i+c,u=n?i+c:l,m=f?z(b,u,p):j(b,u,p);if(y){let t=(r-C)/w;t<0&&(t=0),t>1&&(t=1),P[Math.round(t*(v-1))]+=m}else P[0]+=m}if(!y)return P[0]?[{fill:null,d:P[0]}]:[];const k=[];for(let t=0;t<v;t++)P[t]&&k.push({fill:B(m.colors,t/(v-1)),d:P[t]});return k}function X({graphics:t,w:e,elSeries:a,pointsByCat:s,options:i,distributed:r,realIndex:o,wrapClass:n,pointClass:l}){if(!i||!1===i.show||!s.length)return;const h=null!=i.opacity?i.opacity:.9,d=null!=i.strokeColor?i.strokeColor:"#fff",c=null!=i.strokeWidth?i.strokeWidth:1,b=e.config.chart.animations.enabled&&!e.globals.resized&&!e.globals.dataChanged,u=t.group({class:b?`${n} apexcharts-element-hidden`:n});b&&e.globals.delayedElements.push({el:u.node}),s.forEach(({groups:a,j:s})=>{const n=r?e.globals.colors[s]:e.globals.colors[o],b=i.fillColor,p="series"===b?n:"series-dark"===b?R(n,.45):b||R(n,.45);a.forEach(a=>{const i=t.drawPath({d:a.d,fill:null!=a.fill?a.fill:p,stroke:c>0?d:"none",strokeWidth:c,fillOpacity:h,classes:l});i.attr("data:realIndex",o),i.attr("j",s),i.attr("clip-path",`url(#gridRectBarMask${e.globals.cuid})`),i.node.style.pointerEvents="none",u.add(i)})}),a.add(u)}function R(t,e){const a=S.parseHex(t);if(!a)return t;const s=Math.max(0,1-e);return`rgb(${Math.round(a[0]*s)},${Math.round(a[1]*s)},${Math.round(a[2]*s)})`}function B(t,e){if(!t.length)return"#000";if(1===t.length)return t[0];const a=Math.max(0,Math.min(1,e))*(t.length-1),s=Math.floor(a),i=a-s,r=S.parseHex(t[s])||[0,0,0],o=S.parseHex(t[Math.min(s+1,t.length-1)])||r,n=(t,e)=>Math.round(t+(e-t)*i);return`rgb(${n(r[0],o[0])},${n(r[1],o[1])},${n(r[2],o[2])})`}function M(t){let e=(2654435769^t)>>>0;return e=Math.imul(e^e>>>16,73244475),e=Math.imul(e^e>>>16,73244475),((e^e>>>16)>>>0)/4294967296}function j(t,e,a){return`M ${t-a} ${e} a ${a} ${a} 0 1 0 ${2*a} 0 a ${a} ${a} 0 1 0 ${-2*a} 0 `}function z(t,e,a){return`M ${t-a} ${e-a} h ${2*a} v ${2*a} h ${-2*a} z `}class Y extends F{_identityLost(t,e){if(!C(this.w))return!1;const a=this._prevKeyedPaths(t);if(!a||0===a.size||!e||0===e.length)return!1;let s=0;for(let i=0;i<e.length;i++)a.has(w(this.w,t,i))&&s++;return s/a.size<.5}_prevBoxHalf(t,e,a){if(!this.isBoxPlot)return null;this._prevHalves||(this._prevHalves={});let s=this._prevHalves[t];if(void 0===s){s=null;const e=this._prevRecord(t);if(e&&e.paths.every(t=>null!=t.key)){s=new Map;for(const t of e.paths){const e=s.get(t.key)||[];e.push(t.d),s.set(t.key,e)}}this._prevHalves[t]=s}const i=s&&s.get(w(this.w,t,e));return i&&2===i.length?i[a]:null}draw(t,e,a){var s;const i=this.w,r=new b(this.w),o=i.globals.comboCharts?e:i.config.chart.type,n=new _(this.w);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=i.config.plotOptions.bar.horizontal,this.isOHLC=this.candlestickOptions&&"ohlc"===this.candlestickOptions.type,this.coreUtils=new c(this.w),t=this.coreUtils.getLogSeries(t),this.series=t,this.yRatio=this.coreUtils.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);const d=r.group({class:`apexcharts-${o}-series apexcharts-plot-series`});this.isBoxPlot="boxPlot"===o;for(let e=0;e<t.length;e++){let c,b;const u=[],p=[],g=i.globals.comboCharts?a[e]:e,{columnGroupIndex:x}=this.barHelpers.getGroupIndex(g),f=r.group({class:"apexcharts-series",seriesName:S.escapeString(i.seriesData.seriesNames[g]),rel:e+1,"data:realIndex":g});L.addCollapsedClassToSeries(this.w,f,g),t[e].length>0&&(this.visibleI=this.visibleI+1);const m=this.setSeriesAxis(g),y=this.barHelpers.initialPositions(g),{y:v,barHeight:C,yDivision:P,zeroW:k,x:A,barWidth:_,xDivision:H,zeroH:D}=y;b=v,c=A,p.push(c+(null!=_?_:0)/2);const W=r.group({class:"apexcharts-datalabels","data:realIndex":g}),T=r.group({class:"apexcharts-bar-goals-markers"}),F=this.isBoxPlot?this.boxOptions.points:null,R=[],B=i.layout.gridWidth,M=Math.max(null!=_?_:0,i.globals.barPadForNumericAxis||0),j=0===t[e].length?0:i.globals.dataPoints,z=this._identityLost(g,t[e]);for(let a=0;a<j;a++){const r=this.barHelpers.getStrokeWidth(e,a,g);let d=null;const y={indexes:{i:e,j:a,realIndex:g,translationsIndex:m},x:c,y:b,strokeWidth:r,elSeries:f};if(d=this.isHorizontal?this.drawHorizontalBoxPaths(h(l({},y),{yDivision:P,barHeight:C,zeroW:k})):this.drawVerticalBoxPaths(h(l({},y),{xDivision:H,barWidth:_,zeroH:D,cullBounds:{lo:-M,hi:B+M}})),b=d.y,c=d.x,a>0&&p.push(c+(null!=_?_:0)/2),u.push(b),d.culled)continue;const v=this.barHelpers.drawGoalLine({barXPosition:d.barXPosition,barYPosition:d.barYPosition,goalX:d.goalX,goalY:d.goalY,barHeight:C,barWidth:_});if(v&&T.add(v),d.pathTo.forEach((s,l)=>{var h;const u=!this.isBoxPlot&&this.candlestickOptions.wick.useFillColor?d.color[l]:i.globals.stroke.colors[g],p=n.fillPath({seriesNumber:g,dataPointIndex:a,color:d.color[l],value:t[e][a]});this.renderSeries({realIndex:g,pathFill:p,lineFill:u,j:a,i:e,pathFrom:null!=(h=this._prevBoxHalf(g,a,l))?h:d.pathFrom,fadeReveal:z,pathTo:s,strokeWidth:r,elSeries:f,x:c,y:b,series:t,columnGroupIndex:x,barHeight:C,barWidth:_,elDataLabelsWrap:W,elGoalsMarkers:T,visibleSeries:this.visibleI,type:o})}),F&&!1!==F.show){const t=null==(s=i.candleData.seriesBoxPoints[g])?void 0:s[a];if(t&&t.length){const e=t=>this.coreUtils.getLogValAtSeriesIndex(t,g);let s,r,o;if(this.isHorizontal){const t=this.invertedYRatio,a=null!=C?C:0,i=null!=k?k:0;s=d.barYPosition+a/2,r=a/2,o=a=>i+e(a)/t}else{const t=this.yRatio[m],a=null!=_?_:0,i=null!=D?D:0;s=d.barXPosition+a/2,r=a/2,o=a=>i-e(a)/t}const n=O({w:i,points:t,seedA:g,seedB:a,center:s,halfExtent:r,alongFn:o,isHorizontal:this.isHorizontal,options:F});n.length&&R.push({groups:n,j:a})}}}if(F&&X({graphics:r,w:i,elSeries:f,pointsByCat:R,options:F,distributed:i.config.plotOptions.bar.distributed,realIndex:g,wrapClass:"apexcharts-boxPlot-points-wrap",pointClass:"apexcharts-boxPlot-points"}),i.globals.seriesXvalues[g]=p,i.globals.seriesYvalues[g]=u,i.globals.previousPaths.length>0&&!z){const a=[];for(let s=0;s<t[e].length;s++)a.push(w(i,g,s));I({w:i,elSeries:f,record:this._prevRecord(g),newKeys:a,isHorizontal:this.isHorizontal,speed:i.config.chart.animations.dynamicAnimation.speed})}d.add(f)}return d}drawVerticalBoxPaths({indexes:t,x:e,xDivision:a,barWidth:s,zeroH:i,strokeWidth:r,cullBounds:o=null}){var n,l,h,d;const c=this.w,u=new b(this.w),p=t.i,g=t.j,{colors:x}=c.config.plotOptions.candlestick,{colors:f}=this.boxOptions,m=t.realIndex,y=t=>Array.isArray(t)?t[m]:t,v=y(x.upward),C=y(x.downward),w=this.yRatio[t.translationsIndex],P=this.getOHLCValue(m,g);let k=i,I=i,A=P.o<P.c?[v]:[C];this.isBoxPlot&&(A=[y(f.lower),y(f.upper)]);let L,_=Math.min(P.o,P.c),S=Math.max(P.o,P.c),H=P.m,D=e+s*this.visibleI;if(c.axisFlags.isXNumeric){const t=this.getBarXForNumericXAxis({x:e,barWidth:s,realIndex:m,j:g});e=t.x,D=t.barXPosition}if(void 0===(null==(n=this.series[p])?void 0:n[g])||null===(null==(l=this.series[p])?void 0:l[g])?(_=i,S=i):(_=i-_/w,S=i-S/w,k=i-P.h/w,I=i-P.l/w,H=i-P.m/w),o&&(D+s<o.lo||D>o.hi)&&!this._wasOnScreen(m,g))return{pathTo:null,pathFrom:null,x:c.axisFlags.isXNumeric?e:e+a,y:S,barXPosition:D,color:A,culled:!0};if(this.isOHLC){const t=D+s/2,e=i-P.o/w,a=i-P.c/w;L=[u.move(t,k)+u.line(t,I)+u.move(t,e)+u.line(D,e)+u.move(t,a)+u.line(D+s,a)]}else L=this.isBoxPlot?[u.move(D,_)+u.line(D+s/2,_)+u.line(D+s/2,k)+u.line(D+s/4,k)+u.line(D+s-s/4,k)+u.line(D+s/2,k)+u.line(D+s/2,_)+u.line(D+s,_)+u.line(D+s,H)+u.line(D,H)+u.line(D,_+r/2),u.move(D,H)+u.line(D+s,H)+u.line(D+s,S)+u.line(D+s/2,S)+u.line(D+s/2,I)+u.line(D+s-s/4,I)+u.line(D+s/4,I)+u.line(D+s/2,I)+u.line(D+s/2,S)+u.line(D,S)+u.line(D,H)+"z"]:[u.move(D,S)+u.line(D+s/2,S)+u.line(D+s/2,k)+u.line(D+s/2,S)+u.line(D+s,S)+u.line(D+s,_)+u.line(D+s/2,_)+u.line(D+s/2,I)+u.line(D+s/2,_)+u.line(D,_)+u.line(D,S-r/2)];let W=null;const T=null==(d=null==(h=this.ctx)?void 0:h.morphTypeChange)?void 0:d.getInitialPathFor(m,g);return T?W=T:c.globals.previousPaths.length>0&&(W=this.getPreviousPath(m,g,L[0])),null==W&&(W=u.move(D+s/2,_)+u.move(D,_)),c.axisFlags.isXNumeric||(e+=a),{pathTo:L,pathFrom:W,x:e,y:S,goalY:this.barHelpers.getGoalValues("y",null,i,m,g,t.translationsIndex),barXPosition:D,color:A}}drawHorizontalBoxPaths({indexes:t,y:e,yDivision:a,barHeight:s,zeroW:i,strokeWidth:r}){var o,n,l,h;const d=this.w,c=new b(this.w),u=t.i,p=t.j,g=t.realIndex,{colors:x}=d.config.plotOptions.candlestick,{colors:f}=this.boxOptions,m=t=>Array.isArray(t)?t[g]:t,y=this.invertedYRatio,v=this.getOHLCValue(g,p);let C=v.o<v.c?[m(x.upward)]:[m(x.downward)];this.isBoxPlot&&(C=[m(f.lower),m(f.upper)]);let w=i,P=i,k=Math.min(v.o,v.c),I=Math.max(v.o,v.c),A=v.m;const L=e+s*this.visibleI;void 0===(null==(o=this.series[u])?void 0:o[p])||null===(null==(n=this.series[u])?void 0:n[p])?(k=i,I=i):(k=i+k/y,I=i+I/y,w=i+v.h/y,P=i+v.l/y,A=i+v.m/y);const _=[c.move(k,L)+c.line(k,L+s/2)+c.line(w,L+s/2)+c.line(w,L+s/2-s/4)+c.line(w,L+s/2+s/4)+c.line(w,L+s/2)+c.line(k,L+s/2)+c.line(k,L+s)+c.line(A,L+s)+c.line(A,L)+c.line(k+r/2,L),c.move(A,L)+c.line(A,L+s)+c.line(I,L+s)+c.line(I,L+s/2)+c.line(P,L+s/2)+c.line(P,L+s-s/4)+c.line(P,L+s/4)+c.line(P,L+s/2)+c.line(I,L+s/2)+c.line(I,L)+c.line(A,L)+"z"];let S=null;const H=null==(h=null==(l=this.ctx)?void 0:l.morphTypeChange)?void 0:h.getInitialPathFor(g,p);return H?S=H:d.globals.previousPaths.length>0&&(S=this.getPreviousPath(g,p,_[0])),null==S&&(S=c.move(k,L+s/2)+c.move(k,L)),{pathTo:_,pathFrom:S,x:I,y:e+=a,goalX:this.barHelpers.getGoalValues("x",i,null,g,p,0),barYPosition:L,color:C}}getOHLCValue(t,e){const a=this.w,s=this.coreUtils,i=a=>a[t]&&null!=a[t][e]?s.getLogValAtSeriesIndex(a[t][e],t):0,r=i(a.candleData.seriesCandleH),o=i(a.candleData.seriesCandleO),n=i(a.candleData.seriesCandleM),l=i(a.candleData.seriesCandleC),h=i(a.candleData.seriesCandleL);return{o:this.isBoxPlot?r:o,h:this.isBoxPlot?o:r,m:n,l:this.isBoxPlot?l:h,c:this.isBoxPlot?h:l}}}d.use({candlestick:Y,boxPlot:Y}),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).ApexCandlestick={})});
|
|
5
|
+
!function(t){var e="undefined"!=typeof globalThis?globalThis:self,a=e.ApexCharts;if(a&&a.__internals)return t.call(e);if(a)throw new Error("ApexCharts: dist/candlestick.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/candlestick.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 s={file:"dist/candlestick.js",run:t,done:!1},i=e.__apexcharts_pending_addons__||(e.__apexcharts_pending_addons__=[]);i.push(s),"complete"!==document.readyState&&window.addEventListener("load",function(){if(!s.done){var a=e.ApexCharts;if(a)if(a.__internals){s.done=!0;var r=i.indexOf(s);-1!==r&&i.splice(r,1);try{t.call(e),a.__drainsAddons||e.console.warn("ApexCharts: dist/candlestick.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/candlestick.js could not register with the ApexCharts script on this page: "+(t&&t.message))}}else e.console.error("ApexCharts: dist/candlestick.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/candlestick.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,a=Object.defineProperties,s=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,n=(t,a,s)=>a in t?e(t,a,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[a]=s,l=(t,e)=>{for(var a in e||(e={}))r.call(e,a)&&n(t,a,e[a]);if(i)for(var a of i(e))o.call(e,a)&&n(t,a,e[a]);return t},h=(t,e)=>a(t,s(e));const d=globalThis.ApexCharts,c=globalThis.ApexCharts.__internals.__apex_CoreUtils,u=globalThis.ApexCharts.__internals.__apex_Graphics,b=globalThis.ApexCharts.__internals.__apex_DataLabels,p=(t,e,a,s)=>{if("function"!=typeof t)return t;const i=t({series:e.seriesData.series,seriesIndex:a,dataPointIndex:s,w:e});return Number.isFinite(i)?i:0};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,a,s,i,r,o;const{x:n,y:d,y1:c,y2:b,i:g,j:x,realIndex:f,columnGroupIndex:m,barHeight:y,barWidth:v,barXPosition:C,barYPosition:w,visibleSeries:k,hl:P,noLabel:I}=t,_=this.w,L=new u(this.barCtx.w);this.hlt=null==P?void 0:P.total;const A=_.waterfallData&&_.waterfallData.values,S=P&&null!=P.val?P.val:A&&A[f]&&null!=A[f][x]?A[f][x]:null,H=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[f]:this.barCtx.strokeWidth;let D,W;_.axisFlags.isXNumeric&&!_.globals.isBarHorizontal?(D=n+v*(k+1),W=d+y*(k+1)-H):(D=n+v*k,W=d+y*k);let R=null,T=null,X=n,F=d,O={};const B=_.config.dataLabels,M=this.barCtx.barOptions.dataLabels,j=this.barCtx.barOptions.dataLabels.total;void 0!==w&&(this.barCtx.isRangeBar||this.barCtx.isPyramid)&&(W=w,F=w),void 0!==C&&this.barCtx.isVerticalGroupedRangeBar&&(D=C,X=C);const z=p(B.offsetX,_,f,x),Y=p(B.offsetY,_,f,x),G=(null==P?void 0:P.hide)?void 0:null!==S?S:void 0!==b?[c,b]:"100%"===_.config.chart.stackType?_.globals.seriesPercent[f][x]:_.seriesData.series[f][x];let E,$={width:0,height:0};B.enabled&&(E=void 0===G?"":B.formatter(G,h(l({},_),{seriesIndex:f,dataPointIndex:x,w:_})),$=L.getTextRects(E,parseFloat(B.style.fontSize).toString(),B.style.fontFamily,void 0,!0,B.style.fontWeight));const V={x:null!=(e=null==P?void 0:P.x)?e:n,y:null!=(a=null==P?void 0:P.y)?a:d,neg:P&&null!=P.val?P.val<0:void 0,i:g,j:x,realIndex:f,columnGroupIndex:m,bcx:D,bcy:W,barHeight:null!=(s=null==P?void 0:P.barHeight)?s:y,barWidth:null!=(i=null==P?void 0:P.barWidth)?i:v,textRects:$,strokeWidth:H,dataLabelsX:X,dataLabelsY:F,dataLabelsConfig:B,barDataLabelsConfig:M,barTotalDataLabelsConfig:j,offX:z,offY:Y};if(O=this.barCtx.isHorizontal?this.calculateBarsDataLabelsPosition(V):this.calculateColumnsDataLabelsPosition(V),null!==S&&this.barCtx.isHorizontal&&"center"===M.position){const t=null==(o=null==(r=_.waterfallData.geometry)?void 0:r[f])?void 0:o[x];t&&t.horizontal&&(O.dataLabelsX=(t.levelStart+t.levelEnd)/2+z)}return R=I?null:this.drawCalculatedDataLabels({x:O.dataLabelsX,y:O.dataLabelsY,neg:V.neg,val:G,text:E,i:f,j:x,barWidth:V.barWidth,barHeight:V.barHeight,textRects:$,dataLabelsConfig:B}),_.config.chart.stacked&&j.enabled&&!1!==this.hlt&&(T=this.drawTotalDataLabels({x:O.totalDataLabelsX,y:O.totalDataLabelsY,barWidth:v,barHeight:y,realIndex:f,j:x,textAnchor:O.totalDataLabelsAnchor,val:this.getStackedTotalDataLabel({realIndex:f,j:x}),rawVal:this.getStackedTotalValue({realIndex:f,j:x}),dataLabelsConfig:B,barTotalDataLabelsConfig:j})),{dataLabelsPos:O,dataLabels:R,totalDataLabels:T}}hasMultipleSeriesGroups(){return this.w.labelData.seriesGroups.length>1}getTotalGroupContext(t){if(!this.hasMultipleSeriesGroups())return null;const e=this.barCtx.barHelpers.getSeriesGroupIndex(t);return e<0?null:{groupIndex:e}}drawsStackedTotal(t){const e=this.barCtx.lastActiveBarSerieIndexByGroup,a=this.getTotalGroupContext(t);return a&&e&&e.length>a.groupIndex?e[a.groupIndex]===t:this.barCtx.lastActiveBarSerieIndex===t}getStackedTotalValue({realIndex:t,j:e}){if(this.hlt)return this.hlt.val;const a=this.w,s=this.xStackTop(t,e);if(s)return s[3];const i=this.getTotalGroupContext(t),r=a.seriesData.stackedSeriesTotalsByGroups;return i&&r&&r[i.groupIndex]?r[i.groupIndex][e]:this.barCtx.stackedSeriesTotals[e]}xStackTop(t,e){var a,s;const i=this.w;return i.axisFlags.isXNumeric&&(null==(s=null==(a=this.barCtx.stacks)?void 0:a[i.labelData.seriesGroupIndex[t]])?void 0:s.tops.get(i.seriesData.seriesX[t][e]))}totalRects(t,e){const a=this.barCtx.barOptions.dataLabels.total.style;return new u(this.w).getTextRects(this.getStackedTotalDataLabel({realIndex:t,j:e}),a.fontSize,a.fontFamily,void 0,!0,a.fontWeight)}getStackedTotalDataLabel({realIndex:t,j:e}){const a=this.w;let s=this.getStackedTotalValue({realIndex:t,j:e});return this.totalFormatter&&(s=this.totalFormatter(s,h(l({},a),{seriesIndex:t,dataPointIndex:e,w:a}))),s}calculateColumnsDataLabelsPosition(t){var e;const a=this.w;let s,i,{j:r,realIndex:o,y:n,bcx:l,barWidth:h,barHeight:d,textRects:c,dataLabelsX:u,dataLabelsY:b,barDataLabelsConfig:p,barTotalDataLabelsConfig:g,strokeWidth:x,offX:f,offY:m}=t;const y=l;d=Math.abs(d);const v="vertical"===a.config.plotOptions.bar.dataLabels.orientation,{zeroEncounters:C}=this.barCtx.barHelpers.getZeroValueEncounters({i:o,j:r});l-=x/2;const w=a.layout.gridWidth/a.globals.dataPoints;if(this.barCtx.isVerticalGroupedRangeBar?u+=h/2:(u=a.axisFlags.isXNumeric?l-h/2+f:l-w+h/2+f,!a.config.chart.stacked&&C>0&&a.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(u-=h*C)),v){const t=2;u=u+c.height/2-x/2-t}const k=null!=(e=t.neg)?e:a.seriesData.series[o][r]<0;let P=n;switch(this.barCtx.isReversed&&(P=n+(k?d:-d)),p.position){case"center":b=v?k?P-d/2+m:P+d/2-m:k?P-d/2+c.height/2+m:P+d/2+c.height/2-m;break;case"bottom":b=v?k?P-d+m:P+d-m:k?P-d+c.height+x+m:P+d-c.height/2+x-m;break;case"top":b=v?k?P+m:P-m:k?P-c.height/2-m:P+c.height+m}let I=P;const _=this.getTotalGroupContext(o),L=this.xStackTop(o,r),A=L?[]:this.barCtx.stacks||[];if(L&&(I=k?Math.max(P,L[5]):Math.min(P,L[4])),A.forEach((t,e)=>{_&&e!==_.groupIndex||t.prevY.forEach(t=>{I=k?Math.max(t[r],I):Math.min(t[r],I)})}),this.hlt&&(I=this.hlt.edge),this.drawsStackedTotal(o)&&g.enabled){const t=this.totalRects(o,r).height;s=k?I+.77*t-m-g.offsetY:I-.3*t+m+g.offsetY;const e=w;i=y+(a.axisFlags.isXNumeric?-h/2:h/2-e)+g.offsetX}return a.config.chart.stacked||(b<0?b=0+x:b+c.height/3>a.layout.gridHeight&&(b=a.layout.gridHeight-x)),{bcx:l,bcy:n,dataLabelsX:u,dataLabelsY:b,totalDataLabelsX:i,totalDataLabelsY:s,totalDataLabelsAnchor:"middle"}}calculateBarsDataLabelsPosition(t){var e,a;const s=this.w;let{x:i,j:r,realIndex:o,bcy:n,barHeight:l,barWidth:h,textRects:d,dataLabelsX:c,strokeWidth:u,dataLabelsConfig:b,barDataLabelsConfig:p,barTotalDataLabelsConfig:g,offX:x,offY:f}=t;const m=s.layout.gridHeight/s.globals.dataPoints,{zeroEncounters:y}=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:m)+l/2+d.height/2+f-3,!s.config.chart.stacked&&y>0&&s.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(v-=l*y);let k="start";const P=null!=(a=t.neg)?a:s.seriesData.series[o][r]<0;let I=i;if(this.barCtx.isReversed&&(I=i+(P?-h:h),k=P?"start":"end"),this.barCtx.isPyramid)c=s.layout.gridWidth/2+x;else switch(p.position){case"center":c=P?I+h/2-x:Math.max(d.width/2,I-h/2)+x;break;case"bottom":c=P?I+h-u-x:I-h+u+x;break;case"top":c=P?I-u-x:I-u+x}let _=I;const L=this.getTotalGroupContext(o),A=this.xStackTop(o,r),S=A?[]:this.barCtx.stacks||[];if(A&&(_=P?Math.min(I,A[4]):Math.max(I,A[5])),S.forEach((t,e)=>{L&&e!==L.groupIndex||t.prevX.forEach(t=>{_=P?Math.min(t[r],_):Math.max(t[r],_)})}),this.hlt&&(_=this.hlt.edge),this.drawsStackedTotal(o)&&g.enabled){const t=this.totalRects(o,r);P?(C=_-u-x-g.offsetX,k="end"):C=_+x+g.offsetX+(this.barCtx.isReversed?-(h+u):u),w=v-d.height/2+t.height/2+g.offsetY+u,s.globals.barGroups.length>1&&!L&&(w-=s.globals.barGroups.length/2*(l/2))}if(!s.config.chart.stacked){const t=P&&"middle"!==b.textAnchor?"start"===b.textAnchor?"end":"start":b.textAnchor;let e;e="vertical"===p.orientation?d.height/2:"end"===t?d.width:"middle"===t?d.width/2:0;const a=("vertical"===p.orientation?d.height:d.width)-e;c+a>s.layout.gridWidth-u&&(c=s.layout.gridWidth-a-u),c-e<u&&(c=e+u)}return{bcx:i,bcy:n,dataLabelsX:c,dataLabelsY:v,totalDataLabelsX:C,totalDataLabelsY:w,totalDataLabelsAnchor:k}}drawCalculatedDataLabels({x:t,y:e,val:a,text:s,neg:i,i:r,j:o,textRects:n,barHeight:d,barWidth:c,dataLabelsConfig:p}){var g,x,f;const m=this.w;let y="rotate(0)";"vertical"===m.config.plotOptions.bar.dataLabels.orientation&&(y=`rotate(-90, ${t}, ${e})`);const v=new b(this.barCtx.w,this.barCtx.ctx),C=new u(this.barCtx.w),w=p.formatter;let k=null;const P=m.globals.collapsedSeriesIndices.indexOf(r)>-1,I=(m.globals.collapsingSeriesIndices||[]).indexOf(r)>-1,_=`${r}::${this.barCtx._keys(r)[o]}`;if(I){const t=null==(g=m.globals.prevDataLabels)?void 0:g.get(_);t&&isFinite(t.val)&&(a=t.val,s=void 0)}if(p.enabled&&(!P||I)){k=C.group({class:"apexcharts-data-labels",transform:y});const u=m.config.dataLabels;((null==(x=u.animate)?void 0:x.enabled)||(null==(f=u.countUp)?void 0:f.enabled))&&(k.node.setAttribute("data:dlKey",_),k.node.setAttribute("data:dlJ",String(o)),"number"==typeof a&&isFinite(a)&&k.node.setAttribute("data:dlVal",String(a))),void 0===a?s="":void 0===s&&(s=w(a,h(l({},m),{seriesIndex:r,dataPointIndex:o,w:m}))),!a&&m.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(s="");let b=p.textAnchor;"vertical"===m.config.plotOptions.bar.dataLabels.orientation&&(b="center"===m.config.plotOptions.bar.dataLabels.position?"middle":(null!=i?i:m.seriesData.series[r][o]<0)?"end":"start"),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels&&c<n.width&&(s=""),m.config.chart.stacked&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels&&!I&&(this.barCtx.isHorizontal?n.width/1.6>Math.abs(c)&&(s=""):n.height/1.6>Math.abs(d)&&(s=""));const g=h(l({},p),{textAnchor:b});this.barCtx.isHorizontal&&a<0&&("start"===b?g.textAnchor="end":"end"===b&&(g.textAnchor="start")),v.plotDataLabelsText({x:t,y:e,text:s,i:r,j:o,parent:k,dataLabelsConfig:g,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return k}drawTotalDataLabels({x:t,y:e,val:a,rawVal:s,realIndex:i,j:r,textAnchor:o,barTotalDataLabelsConfig:n}){var l,h;const d=new u(this.barCtx.w);let c;if(n.enabled&&void 0!==t&&void 0!==e&&this.drawsStackedTotal(i)){c=d.drawText({x:t,y:e,foreColor:n.style.color,text:a,textAnchor:o,fontFamily:n.style.fontFamily,fontSize:n.style.fontSize,fontWeight:n.style.fontWeight}),c.attr({class:"apexcharts-datalabel-total",cx:t,cy:e});const u=this.w.config.dataLabels;if((null==(l=u.animate)?void 0:l.enabled)||(null==(h=u.countUp)?void 0:h.enabled)){const{groupIndex:t}=this.barCtx.barHelpers.getGroupIndex(i);c.node.setAttribute("data:dlTotalKey",`${t}::${this.barCtx._keys(i)[r]}`),c.node.setAttribute("data:dlTotalSeries",String(i)),"number"==typeof s&&isFinite(s)&&c.node.setAttribute("data:dlTotalVal",String(s))}}return c}}const x=globalThis.ApexCharts.__internals.__apex_Series,f=globalThis.ApexCharts.__internals.__apex_Fill,m=globalThis.ApexCharts.__internals.__apex_Utils;function y(t){var e,a,s,i,r,o,n;return"histogram"===(null==(a=null==(e=null==t?void 0:t.config)?void 0:e.chart)?void 0:a.requestedType)&&!1!==(null==(i=null==(s=t.config.plotOptions)?void 0:s.histogram)?void 0:i.overlap)&&(null!=(n=null==(o=null==(r=t.seriesData)?void 0:r.series)?void 0:o.length)?n:0)>1}class v{constructor(t){this.w=t.w,this.barCtx=t}initVariables(t,e){const a=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),a.axisFlags.isXNumeric)for(let s=0;s<t[e].length;s++)a.seriesData.seriesX[e][s]>a.globals.minX&&a.seriesData.seriesX[e][s]<a.globals.maxX&&this.barCtx.visibleItems++;else this.barCtx.visibleItems=a.globals.dataPoints;const s=a.labelData.labels;this.rows=a.globals.isBarHorizontal&&a.axisFlags.isXNumeric&&!this.barCtx.isRangeBar&&a.seriesData.seriesX.some(t=>null==t?void 0:t.some((t,e)=>t!==s[e]))?new Map(s.map((t,e)=>[t,e])):null,this.arrBorderRadius=this.createBorderRadiusArr(a.seriesData.series),m.isSafari()&&(this.arrBorderRadius=this.arrBorderRadius.map(t=>t.map(t=>"none"))),0===this.barCtx.seriesLen&&(this.barCtx.seriesLen=1)}barSlotXSpan(){const t=this.w;if(void 0!==this._slotXSpan)return this._slotXSpan;let e=0;if(t.globals.dataPoints<=1){const a=t.globals.maxX-t.globals.minX;e=a>0?a/4:0}else if(e=this._unionMinXGap(),!(e>0&&isFinite(e))){const a=t.globals.minXDiff;e=a>0&&isFinite(a)&&.5!==a?a:0}return this._slotXSpan=e,e}_unionMinXGap(){const t=this.w.seriesData.seriesX||[],e=this.seriesIndex,a=[];for(let s=0;s<t.length;s++){const i=t[s];e&&e.indexOf(s)<0||Array.isArray(i)&&i.length>0&&a.push(i.some((t,e)=>t<i[e-1])?i.filter(t=>t===+t).sort((t,e)=>t-e):i)}if(!a.length)return 0;const s=new Array(a.length).fill(0);let i=NaN,r=1/0;for(;;){let t=1/0,e=-1;for(let i=0;i<a.length;i++){const r=a[i];for(;s[i]<r.length&&"number"!=typeof r[s[i]];)s[i]++;if(s[i]>=r.length)continue;const o=r[s[i]];o==o?o<t&&(t=o,e=i):(s[i]++,i--)}if(-1===e)break;if(s[e]++,i==i){const e=t-i;e>0&&e<r&&(r=e)}i=t}return isFinite(r)?r:0}barRow(t,e){var a,s,i;return null!=(i=null==(s=this.rows)?void 0:s.get(null==(a=this.w.seriesData.seriesX[t])?void 0:a[e]))?i:e}initialPositions(t){const e=this.w;let a,s,i,r,o,n,l,h,d=e.globals.dataPoints;this.barCtx.isRangeBar&&(d=e.labelData.labels.length);let c=this.barCtx.seriesLen;if((e.config.plotOptions.bar.rangeBarGroupRows||y(e))&&(c=1),this.barCtx.isHorizontal)i=e.layout.gridHeight/d,o=i/c,o=o*parseInt(this.barCtx.barOptions.barHeight,10)/100,-1===String(this.barCtx.barOptions.barHeight).indexOf("%")&&(o=parseInt(this.barCtx.barOptions.barHeight,10)),h=this.barCtx.baseLineInvertedY+e.globals.padHorizontal+(this.barCtx.isReversed?e.layout.gridWidth:0)-(this.barCtx.isReversed?2*this.barCtx.baseLineInvertedY:0),this.barCtx.isFunnel&&(h=e.layout.gridWidth/2),s=(i-o*this.barCtx.seriesLen)/2;else{if(r=e.layout.gridWidth/this.barCtx.visibleItems,e.config.xaxis.convertedCatToNumeric&&(r=e.layout.gridWidth/e.globals.dataPoints),n=r/c*parseInt(this.barCtx.barOptions.columnWidth,10)/100,e.axisFlags.isXNumeric){const t=this.barCtx.xRatio,e=this.barSlotXSpan();e>0&&e/t>0&&(r=e/t),n=r/c*parseInt(this.barCtx.barOptions.columnWidth,10)/100,n<1&&(n=1)}-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),a=e.axisFlags.isXNumeric?this.barCtx.getBarXForNumericXAxis({x:a,j:0,realIndex:t,barWidth:n}).x:e.globals.padHorizontal+m.noExponents(r-n*this.barCtx.seriesLen)/2}return e.globals.barHeight=o,e.globals.barWidth=n,{x:a,y:s,yDivision:i,xDivision:r,barHeight:o,barWidth:n,zeroH:l,zeroW:h}}initializeStackedPrevVars(t){t.stacks=t.w.labelData.seriesGroups.map(()=>({prevY:[],prevX:[],prevYF:[],prevXF:[],prevYVal:[],prevXVal:[],tops:new Map}))}initializeStackedXYVars(t){t.stacks.forEach(t=>{t.xArrj=[],t.xArrjF=[],t.xArrjVal=[],t.yArrj=[],t.yArrjF=[],t.yArrjVal=[]})}getPathFillColor(t,e,a,s){var i;const r=this.w,o=new f(this.barCtx.w);let n=null;const l=this.barCtx.barOptions.distributed?a:e;let h=!1;this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map(s=>{t[e][a]>=s.from&&t[e][a]<=s.to&&(n=s.color,h=!0)});const d=this.getDumbbellConnectorFill(e,a)||(null==(i=r.config.series[s].data[a])?void 0:i.fill),c=this.barCtx.barOptions.isDumbbell?r.config.plotOptions.bar.dumbbell.connector:null;let u;return c&&c.color&&(n=c.color,u=c.opacity),{color:o.fillPath({seriesNumber:this.barCtx.barOptions.distributed?l:s,dataPointIndex:a,color:n,opacity:u,value:t[e][a],fillConfig:d,fillType:(null==d?void 0:d.type)?d.type:Array.isArray(r.config.fill.type)?r.config.fill.type[s]:r.config.fill.type}),useRangeColor:h}}getDumbbellConnectorFill(t,e){const a=this.w;if(!this.barCtx.barOptions.isDumbbell)return null;const s=a.dumbbellData;if(!s||"series"!==s.form)return null;const i=a.config.plotOptions.bar.dumbbell.connector;if(i.color)return null;const r=s.order[e];if(!r)return null;const o=a.globals.colors[r[0]],n=a.globals.colors[r[1]];return o&&n?{type:"gradient",gradient:{type:this.barCtx.isHorizontal?"horizontal":"vertical",gradientFrom:o,gradientTo:n,opacityFrom:i.opacity,opacityTo:i.opacity,stops:[0,100],inverseColors:!this.barCtx.isHorizontal}}:null}getStrokeWidth(t,e,a){let s=0;const i=this.w;return void 0===this.barCtx.series[t][e]||null===this.barCtx.series[t][e]||"bar"===i.config.chart.type&&!this.barCtx.series[t][e]?this.barCtx.isNullValue=!0:this.barCtx.isNullValue=!1,i.config.stroke.show&&(this.barCtx.isNullValue||(s=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[a]:this.barCtx.strokeWidth)),s}getStackedSeriesIndices(t){const e=this.w,a=e.labelData.seriesGroups,s=e.globals.columnSeries?new Set(e.globals.columnSeries.i):null,i=t=>!s||s.has(t);if(!a||a.length<2){const e=Array.from({length:t},(t,e)=>e).filter(i);return e.length?[e]:[]}const r=Array.from({length:a.length},()=>[]),o=[];for(let e=0;e<t;e++){if(!i(e))continue;const t=this.getSeriesGroupIndex(e);t>-1?r[t].push(e):o.push(e)}return o.length&&r.push(o),r.filter(t=>t.length>0)}createBorderRadiusArr(t){const e=this.w,a=!this.w.config.chart.stacked||e.config.plotOptions.bar.borderRadius<=0,s=t.length,i=Math.max(0,...t.map(t=>0|(null==t?void 0:t.length))),r=Array.from({length:s},()=>Array(i).fill(a?"top":"none"));if(a)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(s))for(let a=0;a<i;a++){const s=[],i=[];for(const r of e){const e=t[r][a];e>0?s.push(r):e<0&&i.push(r)}if(s.length>0&&0===i.length)if(1===s.length)r[s[0]][a]=n;else{const t=s[0],e=s[s.length-1];for(const i of s)r[i][a]=i===t?h:i===e?"top":"none"}else if(i.length>0&&0===s.length)if(1===i.length)r[i[0]][a]=l;else{const t=Math.min(...i),e=Math.max(...i);for(const s of i)r[s][a]=s===t?d:s===e?"bottom":"none"}else if(s.length>0&&i.length>0){const t=s[s.length-1];for(const e of s)r[e][a]=e===t?"top":"none";const e=Math.max(...i);for(const t of i)r[t][a]=t===e?"bottom":"none"}}return r}barBackground({j:t,i:e,x1:a,x2:s,y1:i,y2:r,elSeries:o}){const n=this.w,l=new u(this.barCtx.w),h=new x(this.barCtx.w).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&h===e){t>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(t%=this.barCtx.barOptions.colors.backgroundBarColors.length);const e=this.barCtx.barOptions.colors.backgroundBarColors[t],h=l.drawRect(void 0!==a?a:0,void 0!==i?i:0,void 0!==s?s:n.layout.gridWidth,void 0!==r?r:n.layout.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,e,this.barCtx.barOptions.colors.backgroundBarOpacity);o.add(h),h.node.classList.add("apexcharts-backgroundBar")}}barRect({a:t,len:e,v1:a,v2:s,strokeWidth:i,realIndex:r,j:o,dir:n,horizontal:l}){const h=this.w,d=new u(h);(i=Array.isArray(i)?i[r]:i)||(i=0);const c=h.config.series[r].data[o],b=l?null==c?void 0:c.barHeightOffset:null==c?void 0:c.columnWidthOffset;b&&(t-=b/2,e+=b);const p=i/2,g=n*(this.barCtx.isReversed?-1:1),x="around"===h.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[r][o]?" Z":" z";let f,m,y,v,C,w;return l?(y=t+p,v=t+e-p,f=a+.001+p*g,m=s+.001-p*g,C=d.line(f,v),w=d.move(f,y)+d.line(m,y)+d.line(m,v)+C+x):(f=t+p,m=t+e-p,y=a+.001-p*g,v=s+.001+p*g,C=d.line(m,y),w=d.move(f,y)+d.line(f,v)+d.line(m,v)+C+x),{x1:f,x2:m,y1:y,y2:v,sl:C,closing:x,squarePathTo:w,pathTo:"none"!==this.arrBorderRadius[r][o]?d.roundPathCorners(w,h.config.plotOptions.bar.borderRadius):w,base:d.move(f,y)+d.line(f,y)+C+C+C+C+C+d.line(f,y)+x,strokeWidth:i,strokeCenter:p,direction:g}}getColumnPaths({barWidth:t,barXPosition:e,y1:a,y2:s,strokeWidth:i,series:r,realIndex:o,i:n,j:l,w:h}){var d,c,u;const b=this.barRect({a:e,len:t,v1:a,v2:s,strokeWidth:i,realIndex:o,j:l,dir:r[n][l]>=0?1:-1}),{pathTo:p,squarePathTo:g,strokeCenter:x,direction:f}=b;a=b.y1,s=b.y2;let m=null;const y=null==(c=null==(d=this.barCtx.ctx)?void 0:d.morphTypeChange)?void 0:c.getInitialPathFor(o,l);if(y?m=y:h.globals.previousPaths.length>0&&(m=this.barCtx.getPreviousPath(o,l,p,g)),null==m&&(m=b.base),h.config.chart.stacked){const t=this.barCtx.groupCtx;t.yArrj.push(s-x*f),t.yArrjF.push(Math.abs(a-s+b.strokeWidth*f)),t.yArrjVal.push(null!=(u=this.barCtx.series[n][l])?u:null)}return{pathTo:p,pathFrom:m,drawnBox:{x1:b.x1,x2:b.x2,y1:a,y2:s}}}getFunnelTrapezoidPaths({barYPosition:t,barHeight:e,series:a,i:s,j:i,realIndex:r,strokeWidth:o,w:n}){var l,h;const d=new u(this.barCtx.w),c=n.layout.gridWidth/2,b=t=>Math.abs(t/this.barCtx.invertedYRatio)/2,p=b(a[s][i]),g=i===a[s].length-1,x="taper"===n.config.plotOptions.funnel.lastShape?"taper":"flat";let f;f=g?"taper"===x?0:p:b(a[s][i+1]);const m=o/2,y=t+m,v=t+e-m,C=c-p,w=c+p,k=c-f,P=c+f,I=d.move(C,y)+d.line(w,y)+d.line(P,v)+d.line(k,v)+" Z";let _=null;const L=null==(h=null==(l=this.barCtx.ctx)?void 0:l.morphTypeChange)?void 0:h.getInitialPathFor(r,i);return L?_=L:n.globals.previousPaths.length>0&&(_=this.barCtx.getPreviousPath(r,i,I)),null==_&&(_=d.move(c,y)+d.line(c,y)+d.line(c,v)+d.line(c,v)+" Z"),{pathTo:I,pathFrom:_,x:w,x1:C,barXPosition:c}}computePyramidLayout(t){const e=this.w,a=e.layout.gridHeight,s=e.layout.gridWidth,i=t.map(t=>Math.abs(Number(t)||0)),r=i.reduce((t,e)=>t+e,0);if(0===r||a<=0)return i.map(()=>({y:0,height:0,topHalf:0,bottomHalf:0}));const o=s/2;let n=0;const l=[];for(let t=0;t<i.length;t++){const e=n/r;n+=i[t];const s=n/r,h=e*a,d=s*a;l.push({y:h,height:d-h,topHalf:e*o,bottomHalf:s*o})}return l}getPyramidPaths({barYPosition:t,barHeight:e,topHalf:a,bottomHalf:s,realIndex:i,j:r,strokeWidth:o,w:n}){var l,h;const d=new u(this.barCtx.w),c=n.layout.gridWidth/2,b=o/2,p=t+b,g=t+e-b,x=c-a,f=c+a,m=c-s,y=c+s,v=d.move(x,p)+d.line(f,p)+d.line(y,g)+d.line(m,g)+" 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(c,p)+d.line(c,p)+d.line(c,g)+d.line(c,g)+" Z"),{pathTo:v,pathFrom:C,x:f,x1:x,barXPosition:c}}getBarpaths({barYPosition:t,barHeight:e,x1:a,x2:s,strokeWidth:i,series:r,realIndex:o,i:n,j:l,w:h}){var d,c,b;const p=new u(this.barCtx.w),g=this.barRect({a:t,len:e,v1:a,v2:s,strokeWidth:i,realIndex:o,j:l,dir:r[n][l]>=0?1:-1,horizontal:!0}),{y1:x,y2:f,sl:m,closing:y,squarePathTo:v,pathTo:C,strokeCenter:w,direction:k}=g;a=g.x1,s=g.x2;const P=this.barCtx.isFunnel,I=P?(a+s)/2:a;let _=null;const L=null==(c=null==(d=this.barCtx.ctx)?void 0:d.morphTypeChange)?void 0:c.getInitialPathFor(o,l);if(L?_=L:h.globals.previousPaths.length>0&&(_=this.barCtx.getPreviousPath(o,l,C,v)),null==_){const t=P?p.line(I,f):m;_=p.move(I,x)+p.line(I,x)+t+t+t+t+t+p.line(I,x)+y}if(h.config.chart.stacked){const t=this.barCtx.groupCtx;t.xArrj.push(s+w*k),t.xArrjF.push(Math.abs(a-s-g.strokeWidth*k)),t.xArrjVal.push(null!=(b=this.barCtx.series[n][l])?b:null)}return{pathTo:C,pathFrom:_,drawnBox:{x1:a,x2:s,y1:x,y2:f}}}getXForValue(t,e,a=!0){let s=a?e:null;return null!=t&&(s=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),s}getYForValue(t,e,a,s=!0){let i=s?e:null;return null!=t&&(i=e-t/this.barCtx.yRatio[a]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[a]:0)),i}getGoalValues(t,e,a,s,i,r){const o=this.w,n=[],d=(i,l)=>{o.globals.invalidLogScale||(i=new c(o).getLogValAtSeriesIndex(i,s)),n.push({[t]:"x"===t?this.getXForValue(i,e,!1):this.getYForValue(i,a,r,!1),attrs:l})};if(o.seriesData.seriesGoals[s]&&o.seriesData.seriesGoals[s][i]&&Array.isArray(o.seriesData.seriesGoals[s][i])&&o.seriesData.seriesGoals[s][i].forEach(t=>{d(t.value,t)}),this.barCtx.barOptions.isDumbbell){const e=this.getDumbbellEnds(s,i);if(e.length){const a={strokeHeight:"x"===t?0:o.globals.markers.size[s],strokeWidth:"x"===t?o.globals.markers.size[s]:0,strokeDashArray:0,strokeLineCap:"round"};let r=0,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({},a),{strokeColor:t.color});!c.enabled||e!==r&&e!==n||(o.label={text:this.getDumbbellLabelText(t.value,s,i,t.index),color:c.colorFromMarker?t.color:Array.isArray(c.style.colors)?c.style.colors[t.index]||c.style.colors[0]:c.style.colors,outward:e===r&&r!==n?-1:1}),d(t.value,o)})}}return n}getDumbbellEnds(t,e){const a=this.w,s=[],i=a.dumbbellData;if(i&&"series"===i.form){const t=i.values[e]||[];for(let e=0;e<t.length;e++){const r=t[e];null!==r&&-1===i.hidden.indexOf(e)&&s.push({value:r,color:a.globals.colors[e],index:e})}return s}if(!a.rangeData.seriesRange.length)return s;const r=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:a.globals.colors,o=e=>Array.isArray(r[t])?r[t][e]:r[t];return[{value:a.rangeData.seriesRangeStart[t][e],color:o(0),index:0},{value:a.rangeData.seriesRangeEnd[t][e],color:o(1),index:1}]}getDumbbellLabelText(t,e,a,s){const i=this.w,r=i.config.plotOptions.bar.dumbbell.dataLabels;if("function"==typeof r.formatter)return r.formatter(t,{seriesIndex:e,dataPointIndex:a,endpointIndex:s,w:i});const o=this.barCtx.isHorizontal?i.formatters.xLabelFormatter:i.formatters.yLabelFormatters[0];return"function"==typeof o?o(t,a,i):String(t)}drawGoalLine({barXPosition:t,barYPosition:e,goalX:a,goalY:s,barWidth:i,barHeight:r}){if(!(Array.isArray(a)&&a.length>0||Array.isArray(s)&&s.length>0))return null;const o=new u(this.barCtx.w),n=o.group({class:"apexcharts-bar-goals-groups"});n.node.classList.add("apexcharts-element-hidden"),this.barCtx.w.globals.delayedElements.push({el:n.node}),n.attr("clip-path",`url(#gridRectMarkerMask${this.barCtx.w.globals.cuid})`);let l=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach(t=>{if(t.x>=-1&&t.x<=o.w.layout.gridWidth+1){const a=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:r/2,s=e+a+r/2;l=o.drawLine(t.x,s-2*a,t.x,s,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),n.add(l),t.attrs.label&&n.add(this.drawDumbbellLabel(t.attrs,{x:t.x,y:s-a,horizontal:!0,markerSize:t.attrs.strokeWidth||0}))}}):Array.isArray(s)&&s.forEach(e=>{if(e.y>=-1&&e.y<=o.w.layout.gridHeight+1){const a=void 0!==e.attrs.strokeWidth?e.attrs.strokeWidth:i/2,s=t+a+i/2;l=o.drawLine(s-2*a,e.y,s,e.y,e.attrs.strokeColor?e.attrs.strokeColor:void 0,e.attrs.strokeDashArray,e.attrs.strokeHeight?e.attrs.strokeHeight:2,e.attrs.strokeLineCap),n.add(l),e.attrs.label&&n.add(this.drawDumbbellLabel(e.attrs,{x:s-a,y:e.y,horizontal:!1,markerSize:e.attrs.strokeHeight||0}))}}),n}drawDumbbellLabel(t,e){const a=this.w,s=new u(a),i=a.config.plotOptions.bar.dumbbell.dataLabels,r=e.markerSize/2+i.offset,o=t.label.outward;return s.drawText({x:e.x+(e.horizontal?r*o:0),y:e.y-(e.horizontal?0:r*o),text:t.label.text,textAnchor:e.horizontal?o<0?"end":"start":"middle",dominantBaseline:e.horizontal?"central":o<0?"hanging":"auto",foreColor:t.label.color,fontSize:i.style.fontSize,fontFamily:i.style.fontFamily,fontWeight:i.style.fontWeight,cssClass:"apexcharts-dumbbell-label"})}drawBarShadow({prevPaths:t,currPaths:e,color:a,realIndex:s,j:i}){const r=this.w,{x:o,x1:n,barYPosition:l}=t,{x:h,x1:d,barYPosition:c}=e,b=l+e.barHeight,p=new u(this.barCtx.w),g=new m,x=p.move(n,b)+p.line(o,b)+p.line(h,c)+p.line(d,c)+p.line(n,b)+("around"===r.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[s][i]?" Z":" z");return p.drawPath({d:x,fill:g.shadeColor(.5,m.rgb2hex(a)),stroke:"none",strokeWidth:0,fillOpacity:1,classes:"apexcharts-bar-shadow apexcharts-decoration-element"})}getZeroValueEncounters({i:t,j:e}){var a;const s=this.w;let i=0,r=0;return(s.config.plotOptions.bar.horizontal?s.seriesData.series.map((t,e)=>e):(null==(a=s.globals.columnSeries)?void 0:a.i.map(t=>t))||[]).forEach(a=>{const o=s.seriesData.series[a][e];o&&i++,a<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),a=this.barCtx.columnGroupIndices;let s=a.indexOf(e);return s<0&&(a.push(e),s=a.length-1),{groupIndex:e,columnGroupIndex:s}}}const C=globalThis.ApexCharts.__internals.__apex_Filters,w=globalThis.ApexCharts.__internals,k=w.__apex_Animations,P=w.__apex_Animations_computeStagger;w.__apex_Animations_applyAnimationPolicy,w.__apex_Animations_prefersReducedMotion,w.__apex_Animations_applyProgressiveReveal;const I=globalThis.ApexCharts.__internals.__apex_BrowserAPIs_BrowserAPIs,_=globalThis.ApexCharts.__internals.__apex_Environment_Environment,L=globalThis.ApexCharts.__internals;function A(t){var e;const a=t.config.chart.animations;if(!a||!1===a.enabled)return!1;if(!a.dynamicAnimation||!1===a.dynamicAnimation.enabled)return!1;const s=null!=(e=a.largeDatasetThreshold)?e:0;return!(s>0&&t.globals.dataPoints>s||!(_.isBrowser()&&t.globals.dataChanged&&t.globals.shouldAnimate))}function S(t){const e=new Map;return t.map(t=>{const a=e.get(t)||0;return e.set(t,a+1),0===a?t:`${t}#${a}`})}function H(t,e,a=0|(a=>null==(a=t.seriesData.series[e])?void 0:a.length)()){return S(Array.from({length:a},(a,s)=>function(t,e,a){var s,i,r,o;if(null==(s=t.axisFlags)?void 0:s.isXNumeric){const s=null==(r=null==(i=t.seriesData)?void 0:i.seriesX)?void 0:r[e];if(s&&s.length&&null!=s[a])return"x:"+s[a]}const n=null==(o=t.globals.labels)?void 0:o[a];return null!=n&&""!==String(n)?"c:"+(Array.isArray(n)?n.join(" "):String(n)):"j:"+a}(t,e,s)))}function D(t,e,a=!1,s=!1){var i,r;if(!A(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=S(n.map((t,a)=>function(t,e,a){var s,i;if(t.isXNumeric){const i=null==(s=t.seriesX)?void 0:s[e];if(i&&i.length&&null!=i[a])return"x:"+i[a]}const r=null==(i=t.labels)?void 0:i[a];return null!=r&&""!==String(r)?"c:"+(Array.isArray(r)?r.join(" "):String(r)):"j:"+a}(o,e,a))),d=H(t,e),c=function(t,e){const a=new Map;t.forEach((t,e)=>{a.has(t)||a.set(t,e)});const s=new Array(e.length),i=new Set;let r=-1,o=!0,n=t.length===e.length;e.forEach((t,e)=>{const l=a.has(t)&&!i.has(a.get(t))?a.get(t):-1;s[e]=l,-1!==l&&(i.add(l),l<r&&(o=!1),r=l),l!==e&&(n=!1)});const l=[];for(let e=0;e<t.length;e++)i.has(e)||l.push(e);return{toOld:s,exits:l,ordered:o,changed:!n}}(h,d);return(c.ordered||s)&&(c.changed||a)?{join:c,oldKeys:h,newKeys:d}:null}function W({w:t,elSeries:e,record:a,newKeys:s,isHorizontal:i,speed:r}){var o;if(!A(t))return;if(!a||!Array.isArray(a.paths)||!(null==e?void 0:e.node))return;const n=new Set(s),l=a.paths.filter(t=>t&&t.d&&null!=t.key&&!n.has(t.key));if(!l.length)return;const h=new u(t),d=null==(o=t.globals.colors)?void 0:o[parseInt(String(a.realIndex),10)];l.forEach(s=>{let o=s.fill||d||"#c8c8c8";0===String(o).indexOf("url(")&&(o=d||"#c8c8c8");const n=h.drawPath({d:s.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 a=parseFloat(e[1]),s=parseFloat(e[2]);return isFinite(a)&&isFinite(s)?{x:a,y:s}:null}(s.d);let u=i?"left center":"center bottom";try{const t=l.getBBox();c&&t&&(u=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 b=l.style;b.transformBox="fill-box",b.transformOrigin=u,l.setAttribute("data:ghostKey",`${a.realIndex}::${s.key}`);try{const t=l.getBBox(),e=i?u.startsWith("left")?t.x:t.x+t.width:u.endsWith("bottom")?t.y+t.height:t.y;isFinite(e)&&l.setAttribute("data:ghostEdge",String(e))}catch(t){}const p=Math.max(1,r||1),g=performance.now(),x=e=>{if(t.globals.isDestroyed||!l.parentNode)return;const a=Math.max(0,Math.min(1,(e-g)/p)),s=1-Math.pow(1-a,3),r=1-s;b.transform=i?`scaleX(${r})`:`scaleY(${r})`,b.opacity=String(1-s),a<1?I.requestAnimationFrame(x):l.parentNode.removeChild(l)};I.requestAnimationFrame(x)})}L.__apex_Easing_easeInOutSine,L.__apex_Easing_DEFAULT_EASING_NAME,L.__apex_Easing_cubicBezier,L.__apex_Easing_registerEasing,L.__apex_Easing_resolveEasing;class R{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)/R.xRatio(t)}static pxToDataX(t,e){return t.globals.minX+e*R.xRatio(t)}static plotRect(t){var e,a,s;const i=(null==(e=t.dom.Paper)?void 0:e.node)||(null==(a=t.dom.baseEl)?void 0:a.querySelector(".apexcharts-svg")),r=(null==(s=i||t.dom.elWrap)?void 0:s.getBoundingClientRect())||{left:0,top:0,width:0},o=(i&&t.globals.svgWidth?r.width/t.globals.svgWidth:1)||1;return{left:r.left+t.layout.translateX*o,top:r.top+t.layout.translateY*o,width:t.layout.gridWidth*o,height:t.layout.gridHeight*o,zoom:o}}static screenXToPlotPx(t,e,a=R.plotRect(t)){return(e-a.left)/a.zoom}}class T{constructor(t,e,a){this.ctx=e,this.w=t,this.barOptions=t.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=t.config.stroke.width,this.isNullValue=!1,this.isRangeBar=t.rangeData.seriesRange.length&&this.isHorizontal,this.isVerticalGroupedRangeBar=!t.globals.isBarHorizontal&&t.rangeData.seriesRange.length&&t.config.plotOptions.bar.rangeBarGroupRows,this.isFunnel=this.barOptions.isFunnel,this.isPyramid=this.barOptions.isPyramid,this.pyramidLayout=null,this.xyRatios=a,this.xRatio=0,this.yRatio=[],this.invertedXRatio=0,this.invertedYRatio=0,this.baseLineY=[],this.baseLineInvertedY=0,null!==this.xyRatios&&(this.xRatio=a.xRatio,this.yRatio=a.yRatio,this.invertedXRatio=a.invertedXRatio,this.invertedYRatio=a.invertedYRatio,this.baseLineY=a.baseLineY,this.baseLineInvertedY=a.baseLineInvertedY),this.yaxisIndex=0,this.translationsIndex=0,this.seriesLen=0,this.pathArr=[],this._prevKeyed=null,this._ltCache=null,this._layoutShiftCache=null,this._pathToInterp=null,this.series=[],this.elSeries=null,this.visibleI=0,this.isReversed=!1;const s=new x(this.w);this.lastActiveBarSerieIndex=s.getActiveConfigSeriesIndex("desc",["bar","column"]),this.lastActiveBarSerieIndexByGroup=s.getActiveConfigSeriesIndexByGroup(["bar","column"]),this.columnGroupIndices=[];const i=s.getBarSeriesIndices(),r=new c(this.w);this.stackedSeriesTotals=r.getStackedSeriesTotals(this.w.config.series.map((t,e)=>-1===i.indexOf(e)?e:-1).filter(t=>-1!==t)),this.barHelpers=new 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 a,s,i,r,o;const n=this.w,d=new u(this.w),b=new c(this.w);t=b.getLogSeries(t),this.series=t,this.yRatio=b.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t,e);const p=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,u=0;c<t.length;c++,u++){let b,f;const y=[],v=[],w=n.globals.comboCharts?e[c]:c,{columnGroupIndex:k}=this.barHelpers.getGroupIndex(w),P=d.group({class:"apexcharts-series",rel:c+1,seriesName:m.escapeString(n.seriesData.seriesNames[w]),"data:realIndex":w});x.addCollapsedClassToSeries(this.w,P,w),t[c].length>0&&(this.visibleI=this.visibleI+1);const I=this.setSeriesAxis(w);this.isPyramid&&(this.pyramidLayout=this.barHelpers.computePyramidLayout(t[c]));const _=this.barHelpers.initialPositions(w),{y:L,yDivision:A,zeroW:S,x:H,xDivision:D,zeroH:R}=_;let T=_.barHeight,X=_.barWidth;f=L,b=H,this.isHorizontal||v.push(b+(null!=X?X:0)/2);const F=d.group({class:"apexcharts-datalabels","data:realIndex":w}),O=n.config.dataLabels,B=!(null==(a=O.animate)?void 0:a.enabled)&&this.isLengthTransition(w);n.globals.dataChanged&&!B&&((null==(s=O.animate)?void 0:s.enabled)||(null==(i=O.countUp)?void 0:i.enabled))||(n.globals.delayedElements.push({el:F.node,holdUntilComplete:B}),F.node.classList.add("apexcharts-element-hidden"));const M=d.group({class:"apexcharts-bar-goals-markers"}),j=d.group({class:"apexcharts-bar-shadows"}),z=this.ctx,Y=z._barShadows,G=z._barShadows=[],E=n.globals.dataChanged&&n.globals.shouldAnimate&&n.config.chart.animations.dynamicAnimation.enabled&&(null==Y?void 0:Y.length)===t[c].length-1;E||(n.globals.delayedElements.push({el:j.node}),j.node.classList.add("apexcharts-element-hidden"));for(let e=0;e<t[c].length;e++){const a=this.barHelpers.getStrokeWidth(c,e,w);let s=null;const i={indexes:{i:c,j:e,realIndex:w,translationsIndex:I,bc:u},x:b,y:f,strokeWidth:a,elSeries:P};this.isHorizontal?(s=this.drawBarPaths(h(l(l({},i),this.barHelpers.rows&&{y:L+this.barHelpers.barRow(w,e)*A}),{barHeight:T,zeroW:S,yDivision:A})),X=this.series[c][e]/this.invertedYRatio):(s=this.drawColumnPaths(h(l({},i),{xDivision:D,barWidth:X,zeroH:R})),T=this.series[c][e]/this.yRatio[I]);const d=this.barHelpers.getPathFillColor(t,c,e,w);if(this.isFunnel&&!this.isPyramid&&this.barOptions.isFunnel3d&&"trapezoid"!==(null==(r=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:m.hexToRgba(n.globals.colors[c]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:s,realIndex:w,j:e});j.add(t),G.push(t),this._shadow=E&&[t,Y[e-1].attr("d")],n.config.chart.dropShadow.enabled&&new C(this.w).dropShadow(t,n.config.chart.dropShadow,w)}this.pathArr.push(s);const p=this.barHelpers.drawGoalLine({barXPosition:s.barXPosition,barYPosition:s.barYPosition,goalX:s.goalX,goalY:s.goalY,barHeight:T,barWidth:X});p&&M.add(p),f=s.y,b=s.x,e>0&&v.push(b+(null!=X?X:0)/2),y.push(f),this.renderSeries(h(l({hl:null==g?void 0:g.bar(this,{i:c,j:e,realIndex:w,translationsIndex:I,paths:s,zeroH:R,zeroW:S}),realIndex:w,pathFill:d.color},d.useRangeColor?{lineFill:d.color}:{}),{j:e,i:c,columnGroupIndex:k,pathFrom:s.pathFrom,pathTo:s.pathTo,strokeWidth:a,elSeries:P,x:b,y:f,series:t,barHeight:Math.abs(s.barHeight?s.barHeight:T),barWidth:Math.abs(s.barWidth?s.barWidth:X),barXPosition:s.barXPosition,elDataLabelsWrap:F,elGoalsMarkers:M,elBarShadows:j,visibleSeries:this.visibleI,type:"bar"}))}n.globals.seriesXvalues[w]=v,n.globals.seriesYvalues[w]=y,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}),p.add(P)}return p}renderSeries({hl:t,realIndex:e,pathFill:a,lineFill:s,j:i,i:r,columnGroupIndex:o,pathFrom:n,pathTo:d,strokeWidth:c,elSeries:b,x:p,y:x,y1:f,y2:m,series:y,barHeight:v,barWidth:w,barXPosition:I,barYPosition:_,elDataLabelsWrap:L,elGoalsMarkers:A,elBarShadows:S,visibleSeries:H,type:D,classes:W,fadeReveal:R=!1,noLabel:T}){var X,F,O,B,M,j,z;const Y=this.w,G=new u(this.w,this.ctx),E=function(t,e){const a=t&&t.renderer;return a&&a.kind&&"svg"!==a.kind?a:e}(this.ctx,G);let $=!1;const V=this._pathToInterp;if(this._pathToInterp=null,b._bindingsDelegated||(b._bindingsDelegated=!0,G.setupEventDelegation(b,`.apexcharts-${D}-area`)),!s){let t=function(t){const e=Y.config.stroke.colors;let a;return Array.isArray(e)&&e.length>0&&(a=e[t],a||(a=""),"function"==typeof a)?a({value:Y.seriesData.series[t][i],dataPointIndex:i,w:Y}):a};const a="function"==typeof Y.globals.stroke.colors[e]?t(e):Y.globals.stroke.colors[e];s=this.barOptions.distributed?Y.globals.stroke.colors[i]:a}const N=Y.config.chart.animations,Z=N.animateGradually;let K=0,U=0;if(Z&&!1!==Z.enabled&&(!Y.globals.dataChanged||!this.isLayoutShift(e))){const t=Y.globals.dataPoints||1,e=Z.delay||0,a=Math.min(e,.5*N.speed/Math.max(1,t));U=P({style:"sequential",index:i,baseDelay:a}),Y.config.chart.stacked&&!Y.globals.dataChanged&&(U+=r*a*.5),K=U/(e||1)}const q=new g(this).handleBarDataLabels({x:p,y:x,y1:f,y2:m,i:r,j:i,series:y,realIndex:e,columnGroupIndex:o,barHeight:v,barWidth:w,barXPosition:I,barYPosition:_,visibleSeries:H,hl:null==t?void 0:t.label,noLabel:T});if(U>0){const t=Y.config.dataLabels;if((null==(X=t.animate)?void 0:X.enabled)||(null==(F=t.countUp)?void 0:F.enabled)){const t=String(Math.round(U));null==(B=null==(O=q.dataLabels)?void 0:O.node)||B.setAttribute("data:dlDelay",t),null==(j=null==(M=q.totalDataLabels)?void 0:M.node)||j.setAttribute("data:dlDelay",t)}}let J=!1;if(!Y.globals.isBarHorizontal){const t=void 0===I?q.dataLabelsPos.dataLabelsX:I+w/2,a=Math.max(w,Y.globals.barPadForNumericAxis);(t+a<0||t-a>Y.layout.gridWidth)&&(this._wasOnScreen(e,i)?J=!0:$=!0)}const Q=Y.config.series[e].data[i];Q&&Q.strokeColor&&(s=Q.strokeColor);const tt=a;if(this.isNullValue&&-1===Y.globals.collapsingSeriesIndices.indexOf(e)&&(a="none"),!$){const o=!0===(null==(z=this.ctx.morphTypeChange)?void 0:z.isActive()),u=o?this.ctx.morphTypeChange.getSpeed():Y.config.chart.animations.dynamicAnimation.speed,p=o&&this.ctx.morphTypeChange.claimsTargetMark(e,i);p&&(n=d,K=0);const g=E.renderPaths({i:r,j:i,realIndex:e,pathFrom:n,pathTo:d,stroke:s,strokeWidth:c,strokeLinecap:Y.config.stroke.lineCap,fill:a,pathToInterp:V,animationDelay:K,initialSpeed:Y.config.chart.animations.speed,dataChangeSpeed:u,className:`apexcharts-${D}-area${W?` ${W}`:""}`,chartType:D,bindEventsOnPaths:!1,fadeReveal:R});g.attr("clip-path",`url(#gridRectBarMask${Y.globals.cuid})`),J&&g.node.classList.add("apexcharts-leaving");const x=this._shadow;x&&(this._shadow=null,new k(Y,this.ctx).animatePathsGradually({el:x[0],fill:"none",pathFrom:x[1],pathTo:x[0].attr("d"),speed:u,delay:K})),p&&(g.node.setAttribute("opacity","0"),g.node.setAttribute("data-piece-hidden","1"));const y=Y.config.forecastDataPoints;if(y.count>0&&i>=Y.globals.dataPoints-y.count&&(g.node.setAttribute("stroke-dasharray",y.dashArray),g.node.setAttribute("stroke-width",y.strokeWidth),g.node.setAttribute("fill-opacity",y.fillOpacity)),void 0!==f&&void 0!==m&&(g.attr("data-range-y1",f),g.attr("data-range-y2",m)),new C(this.w).setSelectionFilter(g,e,i),b.add(g),g.attr({cy:q.dataLabelsPos.bcy,cx:q.dataLabelsPos.bcx,j:i,val:Y.seriesData.series[e][i],barHeight:v,barWidth:w,"data:pathKey":this._keys(e)[i]}),null==t||t.paint(g,{delay:K,delayMs:U,speed:u,fill:tt,elSeries:b,elBarShadows:S,labels:q.dataLabels,pathFrom:n,pathTo:d}),"canvas"===E.kind){Y.globals.barCanvasCoords||(Y.globals.barCanvasCoords={}),Y.globals.barCanvasCoords[e]||(Y.globals.barCanvasCoords[e]={});const t=Y.globals.barCanvasCoords[e][i];let a=(null==t?void 0:t.bounds)||null;const s=g.bbox();(s.width>0||s.height>0)&&(a={left:Math.min(a?a.left:1/0,s.x),top:Math.min(a?a.top:1/0,s.y),right:Math.max(a?a.right:-1/0,s.x+s.width),bottom:Math.max(a?a.bottom:-1/0,s.y+s.height)}),Y.globals.barCanvasCoords[e][i]=h(l({cx:q.dataLabelsPos.bcx,cy:q.dataLabelsPos.bcy,barWidth:w,type:D},void 0!==f&&void 0!==m&&{rangeY1:f,rangeY2:m}),{bounds:a})}null!==q.dataLabels&&L.add(q.dataLabels),q.totalDataLabels&&L.add(q.totalDataLabels),b.add(L),A&&b.add(A),S&&b.add(S)}return b}drawBarPaths({indexes:t,barHeight:e,strokeWidth:a,zeroW:s,x:i,y:r,yDivision:o,elSeries:n}){const l=this.w,h=t.i,d=t.j;let c;if(l.config.plotOptions.bar.hideZeroBarsWhenGrouped){const{nonZeroColumns:a,zeroEncounters:s}=this.barHelpers.getZeroValueEncounters({i:t.realIndex,j:d});a>0&&(e=this.seriesLen*e/a),c=r+e*this.visibleI,c-=e*s}else c=r+e*this.visibleI;const u=this.isFunnel&&"trapezoid"===l.config.plotOptions.funnel.shape,b=this.isPyramid&&this.pyramidLayout?this.pyramidLayout[d]:null,p=!!b;if(b)c=b.y,e=b.height;else if(this.isFunnel&&!u){const t=null!=s?s:0;s=t-(this.barHelpers.getXForValue(this.series[h][d],t)-t)/2}let g;return i=this.barHelpers.getXForValue(this.series[h][d],null!=s?s:0),g=b?this.barHelpers.getPyramidPaths({barYPosition:c,barHeight:e,topHalf:b.topHalf,bottomHalf:b.bottomHalf,realIndex:t.realIndex,j:d,strokeWidth:a,w:l}):u?this.barHelpers.getFunnelTrapezoidPaths({barYPosition:c,barHeight:e,series:this.series,i:h,j:d,realIndex:t.realIndex,strokeWidth:a,w:l}):this.barHelpers.getBarpaths({barYPosition:c,barHeight:e,x1:s,x2:i,strokeWidth:a,isReversed:this.isReversed,series:this.series,realIndex:t.realIndex,i:h,j:d,w:l}),(u||p)&&(s=g.x1,i=g.x),p||(r+=o),p&&(r=c),this.barHelpers.barBackground({j:d,i:h,y1:c-e*this.visibleI,y2:e*this.seriesLen,elSeries:n}),{pathTo:g.pathTo,pathFrom:g.pathFrom,x1:s,x:i,y:r,goalX:this.barHelpers.getGoalValues("x",s,null,t.realIndex,d,0),barYPosition:c,barHeight:e}}drawColumnPaths({indexes:t,x:e,y:a,xDivision:s,barWidth:i,zeroH:r,strokeWidth:o,elSeries:n}){const l=this.w,h=t.realIndex,d=t.translationsIndex,c=t.i,u=t.j,b=t.bc;let p;if(l.axisFlags.isXNumeric){const t=this.getBarXForNumericXAxis({x:e,j:u,realIndex:h,barWidth:i});e=t.x,p=t.barXPosition}else if(l.config.plotOptions.bar.hideZeroBarsWhenGrouped){const{nonZeroColumns:t,zeroEncounters:a}=this.barHelpers.getZeroValueEncounters({i:h,j:u});t>0&&(i=this.seriesLen*i/t),p=e+i*this.visibleI,p-=i*a}else p=e+i*this.visibleI;a=this.barHelpers.getYForValue(this.series[c][u],r,d);const g=this.barHelpers.getColumnPaths({barXPosition:p,barWidth:i,y1:r,y2:a,strokeWidth:o,isReversed:this.isReversed,series:this.series,realIndex:h,i:c,j:u,w:l});return l.axisFlags.isXNumeric||(e+=s),this.barHelpers.barBackground({bc:b,j:u,i:c,x1:p-o/2-i*this.visibleI,x2:i*this.seriesLen+o/2,elSeries:n}),{pathTo:g.pathTo,pathFrom:g.pathFrom,x:e,y:a,goalY:this.barHelpers.getGoalValues("y",null,r,h,u,d),barXPosition:p,barWidth:i}}getBarXForNumericXAxis({x:t,barWidth:e,realIndex:a,j:s}){const i=this.w,r=y(i);let o=a;return i.seriesData.seriesX[a].length||(o=i.globals.maxValsInArrayIndex),m.isNumber(i.seriesData.seriesX[o][s])&&(t=R.dataXToPx(i,i.seriesData.seriesX[o][s])-e*(r?1:this.seriesLen)/2),{barXPosition:t+(r?0:e*this.visibleI),x:t}}_wasOnScreen(t,e){if(!A(this.w))return!1;const a=this._prevKeyedPaths(t);return!!a&&a.has(this._keys(t)[e])}_keys(t){const e=this._keyCache||(this._keyCache={});return e[t]||(e[t]=H(this.w,t))}_prevRecord(t){const e=this.w;let a=null;for(let s=0;s<e.globals.previousPaths.length;s++){const i=e.globals.previousPaths[s];i.paths&&i.paths.length>0&&parseInt(i.realIndex,10)===parseInt(String(t),10)&&(a=i)}return a}_prevKeyedPaths(t){if(this._prevKeyed||(this._prevKeyed={}),void 0!==this._prevKeyed[t])return this._prevKeyed[t];const e=this._prevRecord(t);let a=null;if(e&&e.paths.every(t=>null!=t.key)){const t=new Map;e.paths.forEach(e=>{t.set(e.key,e)}),a=t}return this._prevKeyed[t]=a,a}isLengthTransition(t){var e,a,s,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(A(n)&&n.globals.previousPaths.length>0){const h=this._prevRecord(t),d=null!=(a=null==(e=n.seriesData.series[t])?void 0:e.length)?a: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==(s=n.globals.prevStreamFrame)?void 0:s.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=D(this.w,t,!0,!0),a=!(!e||!e.join.changed);return this._layoutShiftCache[t]=a,a}getPreviousPath(t,e,a,s){const i=this.w;this._pathToInterp=null;const r=this._prevRecord(t);if(!r)return A(i)?null:a;let o=null,n=!1;const l=this._prevKeyedPaths(t);if(l){const a=l.get(this._keys(t)[e]);a?o=a.d:n=!0}else void 0!==r.paths[e]?o=r.paths[e].d:n=!0;return o?this.cornerMorph(o,a,s):n&&A(i)?null:a}cornerMorph(t,e,a){const s=T.pathCommandCount(t),i=T.pathCommandCount(e);if(s===i)return t;const r=new u(this.w),o=t=>{const e=T.pathBox(t);return e?Math.min(e.maxX-e.minX,e.maxY-e.minY):0},n=s<i?o(t)>1:o(e)>1;if(s<i){const e=r.roundPathCorners(t,0);if(T.pathCommandCount(e)===i){if(n&&a){const t=r.roundPathCorners(a,0);T.pathCommandCount(t)===i&&(this._pathToInterp=t)}return e}}else{const a=r.roundPathCorners(e,0);if(T.pathCommandCount(a)===s){if(this._pathToInterp=a,n){const e=T.squareLike(t),a=e?r.roundPathCorners(e,0):null;if(a&&T.pathCommandCount(a)===s)return a}return t}}return e}static pathBox(t){if(!t)return null;const e=[],a=/([MLC])([^MLCZz]*)/g;let s;for(;null!==(s=a.exec(t));){const t=s[2].trim().split(/[\s,]+/).map(Number);t.length<2||t.some(isNaN)||e.push([t[t.length-2],t[t.length-1]])}if(e.length<3)return null;const i=e.map(t=>t[0]),r=e.map(t=>t[1]);return{minX:Math.min(...i),maxX:Math.max(...i),minY:Math.min(...r),maxY:Math.max(...r),start:e[0],vertical:Math.abs(e[1][0]-e[0][0])<Math.abs(e[1][1]-e[0][1])}}static squareLike(t){const e=T.pathBox(t);if(!e)return null;const{minX:a,maxX:s,minY:i,maxY:r,start:o,vertical:n}=e,l=(t,e,a)=>Math.abs(t-e)<=Math.abs(t-a)?[e,a]:[a,e];let h,d,c,u;n?(h=Math.abs(o[0]-a)<=Math.abs(o[0]-s)?a:s,d=h===a?s:a,[c,u]=l(o[1],i,r)):(c=Math.abs(o[1]-i)<=Math.abs(o[1]-r)?i:r,u=c===i?r:i,[h,d]=l(o[0],a,s));const b=t.trim().endsWith("Z")?" Z":" z";return n?`M ${h} ${c} L ${h} ${u} L ${d} ${u} L ${d} ${c}${b}`:`M ${h} ${c} L ${d} ${c} L ${d} ${u} L ${h} ${u}${b}`}getPreviousFlip(t,e){const a=this._prevRecord(t);if(!a)return null;const s=this._prevKeyedPaths(t),i=s?s.get(this._keys(t)[e]):a.paths[e];return i?!!i.flip:null}static pathCommandCount(t){if(!t)return 0;const e=t.match(/[MmLlHhVvCcSsQqTtAaZz]/g);return e?e.length:0}}function X({points:t,extent:e,seedA:a,seedB:s,center:i,halfExtent:r,alongFn:o,isHorizontal:n,options:l,clampAt:h,sideSign:d}){var c,u;const b=l;if(!b||!1===b.show)return[];if(!t||!t.length)return[];const p=b.maxPoints||3e3,g=t.length>p?Math.ceil(t.length/p):1,x=null!=b.size?b.size:2.5,f=r*(null!=b.jitter?b.jitter:.5),m=!1!==b.constrainToViolin&&"function"==typeof h,y="square"===b.shape,v=b.colorScale,C=v&&Array.isArray(v.colors)&&v.colors.length>0,w=C?Math.max(2,v.steps||24):1,k=null!=(c=null==v?void 0:v.min)?c:e[0],P=(null!=(u=null==v?void 0:v.max)?u:e[1])-k||1,I=C?new Array(w).fill(""):[""];for(let e=0;e<t.length;e+=g){const r=t[e],l=o(r);let c=2*(M(7919*a+100003*s+e)-.5)*f;if(m){const t=h(r);c>t&&(c=t),c<-t&&(c=-t)}d&&(c=Math.abs(c)*d);const u=n?l:i+c,b=n?i+c:l,p=y?z(u,b,x):j(u,b,x);if(C){let t=(r-k)/P;t<0&&(t=0),t>1&&(t=1),I[Math.round(t*(w-1))]+=p}else I[0]+=p}if(!C)return I[0]?[{fill:null,d:I[0]}]:[];const _=[];for(let t=0;t<w;t++)I[t]&&_.push({fill:B(v.colors,t/(w-1)),d:I[t]});return _}function F({graphics:t,w:e,elSeries:a,pointsByCat:s,options:i,distributed:r,realIndex:o,wrapClass:n,pointClass:l}){if(!i||!1===i.show||!s.length)return;const h=null!=i.opacity?i.opacity:.9,d=null!=i.strokeColor?i.strokeColor:"#fff",c=null!=i.strokeWidth?i.strokeWidth:1,u=e.config.chart.animations.enabled&&!e.globals.resized&&!e.globals.dataChanged,b=t.group({class:u?`${n} apexcharts-element-hidden`:n});u&&e.globals.delayedElements.push({el:b.node}),s.forEach(({groups:a,j:s})=>{const n=r?e.globals.colors[s]:e.globals.colors[o],u=i.fillColor,p="series"===u?n:"series-dark"===u?O(n,.45):u||O(n,.45);a.forEach(a=>{const i=t.drawPath({d:a.d,fill:null!=a.fill?a.fill:p,stroke:c>0?d:"none",strokeWidth:c,fillOpacity:h,classes:l});i.attr("data:realIndex",o),i.attr("j",s),i.attr("clip-path",`url(#gridRectBarMask${e.globals.cuid})`),i.node.style.pointerEvents="none",b.add(i)})}),a.add(b)}function O(t,e){const a=m.parseColor(t)||m.parseColor(m.resolveColor(t));if(!a)return t;const s=Math.max(0,1-e);return`rgb(${Math.round(a[0]*s)},${Math.round(a[1]*s)},${Math.round(a[2]*s)})`}function B(t,e){if(!t.length)return"#000";if(1===t.length)return t[0];const a=Math.max(0,Math.min(1,e))*(t.length-1),s=Math.floor(a),i=a-s,r=m.parseHex(t[s])||[0,0,0],o=m.parseHex(t[Math.min(s+1,t.length-1)])||r,n=(t,e)=>Math.round(t+(e-t)*i);return`rgb(${n(r[0],o[0])},${n(r[1],o[1])},${n(r[2],o[2])})`}function M(t){let e=(2654435769^t)>>>0;return e=Math.imul(e^e>>>16,73244475),e=Math.imul(e^e>>>16,73244475),((e^e>>>16)>>>0)/4294967296}function j(t,e,a){return`M ${t-a} ${e} a ${a} ${a} 0 1 0 ${2*a} 0 a ${a} ${a} 0 1 0 ${-2*a} 0 `}function z(t,e,a){return`M ${t-a} ${e-a} h ${2*a} v ${2*a} h ${-2*a} z `}class Y extends T{_identityLost(t,e){if(!A(this.w))return!1;const a=this._prevKeyedPaths(t);if(!a||0===a.size||!e||0===e.length)return!1;let s=0;for(let i=0;i<e.length;i++)a.has(this._keys(t)[i])&&s++;return s/a.size<.5}_prevBoxHalf(t,e,a){if(!this.isBoxPlot)return null;this._prevHalves||(this._prevHalves={});let s=this._prevHalves[t];if(void 0===s){s=null;const e=this._prevRecord(t);if(e&&e.paths.every(t=>null!=t.key)){s=new Map;for(const t of e.paths){const e=s.get(t.key)||[];e.push(t.d),s.set(t.key,e)}}this._prevHalves[t]=s}const i=s&&s.get(this._keys(t)[e]);return i&&2===i.length?i[a]:null}draw(t,e,a){var s,i;const r=this.w,o=new u(this.w),n=r.globals.comboCharts?e:r.config.chart.type,d=new f(this.w);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=r.config.plotOptions.bar.horizontal,this.coreUtils=new c(this.w),t=this.coreUtils.getLogSeries(t),this.series=t,this.yRatio=this.coreUtils.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t,a);const b=o.group({class:`apexcharts-${n}-series apexcharts-plot-series`});this.isBoxPlot="boxPlot"===n,this.isOHLC=!this.isBoxPlot&&"ohlc"===(null==(s=this.candlestickOptions)?void 0:s.type);const p=function(t,e){let a=1/0,s=-1/0;return t.slice(0,e.seriesData.series.length).flat(2).forEach(t=>{t===+t&&(t<a&&(a=t),t>s&&(s=t))}),[a,s]}(r.candleData.seriesBoxPoints,r);for(let e=0;e<t.length;e++){let s,c;const u=[],g=[],f=r.globals.comboCharts?a[e]:e,{columnGroupIndex:y}=this.barHelpers.getGroupIndex(f),v=o.group({class:"apexcharts-series",seriesName:m.escapeString(r.seriesData.seriesNames[f]),rel:e+1,"data:realIndex":f});x.addCollapsedClassToSeries(this.w,v,f),t[e].length>0&&(this.visibleI=this.visibleI+1);const C=this.setSeriesAxis(f),w=this.barHelpers.initialPositions(f),{y:k,barHeight:P,yDivision:I,zeroW:_,x:L,barWidth:A,xDivision:S,zeroH:H}=w;c=k,s=L,g.push(s+(null!=A?A:0)/2);const D=o.group({class:"apexcharts-datalabels","data:realIndex":f}),R=o.group({class:"apexcharts-bar-goals-markers"}),T=this.isBoxPlot?this.boxOptions.points:null,O=[],B=r.layout.gridWidth,M=Math.max(null!=A?A:0,r.globals.barPadForNumericAxis||0),j=0===t[e].length?0:r.globals.dataPoints,z=this._identityLost(f,t[e]);for(let a=0;a<j;a++){const o=this.barHelpers.getStrokeWidth(e,a,f);let b=null;const x={indexes:{i:e,j:a,realIndex:f,translationsIndex:C},x:s,y:c,strokeWidth:o,elSeries:v};if(b=this.isHorizontal?this.drawHorizontalBoxPaths(h(l({},x),{yDivision:I,barHeight:P,zeroW:_})):this.drawVerticalBoxPaths(h(l({},x),{xDivision:S,barWidth:A,zeroH:H,cullBounds:{lo:-M,hi:B+M}})),c=b.y,s=b.x,a>0&&g.push(s+(null!=A?A:0)/2),u.push(c),b.culled)continue;const m=this.barHelpers.drawGoalLine({barXPosition:b.barXPosition,barYPosition:b.barYPosition,goalX:b.goalX,goalY:b.goalY,barHeight:P,barWidth:A});if(m&&R.add(m),b.pathTo.forEach((i,l)=>{var h;const u=!this.isBoxPlot&&this.candlestickOptions.wick.useFillColor?b.color[l]:r.globals.stroke.colors[f],p=d.fillPath({seriesNumber:f,dataPointIndex:a,color:b.color[l],value:t[e][a]});this.renderSeries({realIndex:f,pathFill:p,lineFill:u,j:a,i:e,pathFrom:null!=(h=this._prevBoxHalf(f,a,l))?h:b.pathFrom,fadeReveal:z,noLabel:l>0,pathTo:i,strokeWidth:o,elSeries:v,x:s,y:c,series:t,columnGroupIndex:y,barHeight:P,barWidth:A,elDataLabelsWrap:D,elGoalsMarkers:R,visibleSeries:this.visibleI,type:n})}),T&&!1!==T.show){const t=null==(i=r.candleData.seriesBoxPoints[f])?void 0:i[a];if(t&&t.length){const e=t=>this.coreUtils.getLogValAtSeriesIndex(t,f);let s,i,r;if(this.isHorizontal){const t=this.invertedYRatio*(this.isReversed?-1:1),a=null!=P?P:0,o=null!=_?_:0;s=b.barYPosition+a/2,i=a/2,r=a=>o+e(a)/t}else{const t=this.yRatio[C]*(this.isReversed?-1:1),a=null!=A?A:0,o=null!=H?H:0;s=b.barXPosition+a/2,i=a/2,r=a=>o-e(a)/t}const o=X({points:t,extent:p,seedA:f,seedB:a,center:s,halfExtent:i,alongFn:r,isHorizontal:this.isHorizontal,options:T});o.length&&O.push({groups:o,j:a})}}}T&&F({graphics:o,w:r,elSeries:v,pointsByCat:O,options:T,distributed:r.config.plotOptions.bar.distributed,realIndex:f,wrapClass:"apexcharts-boxPlot-points-wrap",pointClass:"apexcharts-boxPlot-points"}),r.globals.seriesXvalues[f]=g,r.globals.seriesYvalues[f]=u,r.globals.previousPaths.length>0&&!z&&W({w:r,elSeries:v,record:this._prevRecord(f),newKeys:this._keys(f).filter((a,s)=>null!=t[e][s]),isHorizontal:this.isHorizontal,speed:r.config.chart.animations.dynamicAnimation.speed}),b.add(v)}return b}drawVerticalBoxPaths({indexes:t,x:e,xDivision:a,barWidth:s,zeroH:i,strokeWidth:r,cullBounds:o=null}){var n,l,h;const d=this.w,c=new u(this.w),b=t.i,p=t.j,{colors:g}=d.config.plotOptions.candlestick,{colors:x}=this.boxOptions,f=t.realIndex,m=t=>Array.isArray(t)?t[f]:t,y=m(g.upward),v=m(g.downward),C=this.yRatio[t.translationsIndex]*(this.isReversed?-1:1),w=this.getOHLCValue(f,p);let k=i,P=i,I=w.o<w.c?[y]:[v];this.isBoxPlot&&(I=[m(x.lower),m(x.upper)]);let _=Math.min(w.o,w.c),L=Math.max(w.o,w.c),A=w.m,S=e+s*this.visibleI;if(d.axisFlags.isXNumeric){const t=this.getBarXForNumericXAxis({x:e,barWidth:s,realIndex:f,j:p});e=t.x,S=t.barXPosition}const H=null==(null==(n=this.series[b])?void 0:n[p]);if(H?(_=i,L=i):(_=i-_/C,L=i-L/C,k=i-w.h/C,P=i-w.l/C,A=i-w.m/C),H||o&&(S+s<o.lo||S>o.hi)&&!this._wasOnScreen(f,p))return{pathTo:null,pathFrom:null,x:d.axisFlags.isXNumeric?e:e+a,y:L,barXPosition:S,color:I,culled:!0};let D;if(this.isOHLC){const t=S+s/2,e=i-w.o/C,a=i-w.c/C;D=[c.move(t,k)+c.line(t,P)+c.move(t,e)+c.line(S,e)+c.move(t,a)+c.line(S+s,a)]}else D=this.isBoxPlot?[c.move(S,_)+c.line(S+s/2,_)+c.line(S+s/2,k)+c.line(S+s/4,k)+c.line(S+s-s/4,k)+c.line(S+s/2,k)+c.line(S+s/2,_)+c.line(S+s,_)+c.line(S+s,A)+c.line(S,A)+c.line(S,_+r/2),c.move(S,A)+c.line(S+s,A)+c.line(S+s,L)+c.line(S+s/2,L)+c.line(S+s/2,P)+c.line(S+s-s/4,P)+c.line(S+s/4,P)+c.line(S+s/2,P)+c.line(S+s/2,L)+c.line(S,L)+c.line(S,A)+"z"]:[c.move(S,L)+c.line(S+s/2,L)+c.line(S+s/2,k)+c.line(S+s/2,L)+c.line(S+s,L)+c.line(S+s,_)+c.line(S+s/2,_)+c.line(S+s/2,P)+c.line(S+s/2,_)+c.line(S,_)+c.line(S,L-r/2)];let W=null;const R=null==(h=null==(l=this.ctx)?void 0:l.morphTypeChange)?void 0:h.getInitialPathFor(f,p);return R?W=R:d.globals.previousPaths.length>0&&(W=this.getPreviousPath(f,p,D[0])),null==W&&(W=c.move(S+s/2,_)+c.move(S,_)),d.axisFlags.isXNumeric||(e+=a),{pathTo:D,pathFrom:W,x:e,y:L,goalY:this.barHelpers.getGoalValues("y",null,i,f,p,t.translationsIndex),barXPosition:S,color:I}}drawHorizontalBoxPaths({indexes:t,y:e,yDivision:a,barHeight:s,zeroW:i,strokeWidth:r}){var o,n,l;const h=this.w,d=new u(this.w),c=t.i,b=t.j,p=t.realIndex,{colors:g}=h.config.plotOptions.candlestick,{colors:x}=this.boxOptions,f=t=>Array.isArray(t)?t[p]:t,m=this.invertedYRatio*(this.isReversed?-1:1),y=this.getOHLCValue(p,b);let v=y.o<y.c?[f(g.upward)]:[f(g.downward)];this.isBoxPlot&&(v=[f(x.lower),f(x.upper)]);let C=i,w=i,k=Math.min(y.o,y.c),P=Math.max(y.o,y.c),I=y.m;const _=e+s*this.visibleI,L=null==(null==(o=this.series[c])?void 0:o[b]);L?(k=i,P=i):(k=i+k/m,P=i+P/m,C=i+y.h/m,w=i+y.l/m,I=i+y.m/m);const A=[d.move(k,_)+d.line(k,_+s/2)+d.line(C,_+s/2)+d.line(C,_+s/2-s/4)+d.line(C,_+s/2+s/4)+d.line(C,_+s/2)+d.line(k,_+s/2)+d.line(k,_+s)+d.line(I,_+s)+d.line(I,_)+d.line(k+r/2,_),d.move(I,_)+d.line(I,_+s)+d.line(P,_+s)+d.line(P,_+s/2)+d.line(w,_+s/2)+d.line(w,_+s-s/4)+d.line(w,_+s/4)+d.line(w,_+s/2)+d.line(P,_+s/2)+d.line(P,_)+d.line(I,_)+"z"];let S=null;const H=null==(l=null==(n=this.ctx)?void 0:n.morphTypeChange)?void 0:l.getInitialPathFor(p,b);return H?S=H:h.globals.previousPaths.length>0&&(S=this.getPreviousPath(p,b,A[0])),null==S&&(S=d.move(k,_+s/2)+d.move(k,_)),{pathTo:A,pathFrom:S,x:P,y:e+=a,goalX:this.barHelpers.getGoalValues("x",i,null,p,b,0),barYPosition:_,color:v,culled:L}}getOHLCValue(t,e){const a=this.w,s=this.coreUtils,i=a=>a[t]&&null!=a[t][e]?s.getLogValAtSeriesIndex(a[t][e],t):0,r=i(a.candleData.seriesCandleH),o=i(a.candleData.seriesCandleO),n=i(a.candleData.seriesCandleM),l=i(a.candleData.seriesCandleC),h=i(a.candleData.seriesCandleL);return{o:this.isBoxPlot?r:o,h:this.isBoxPlot?o:r,m:n,l:this.isBoxPlot?l:h,c:this.isBoxPlot?h:l}}}d.use({candlestick:Y,boxPlot:Y}),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).ApexCandlestick={})});
|