UNPKG

apexcharts

Version:

A JavaScript Chart Library

6 lines 66.3 kB
/*!
 * ApexCharts v7.0.0
 * (c) 2018-2026 ApexCharts
 */
"use strict";var t=Object.defineProperty,e=Object.defineProperties,s=Object.getOwnPropertyDescriptors,a=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,o=(e,s,a)=>s in e?t(e,s,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[s]=a,n=(t,e)=>{for(var s in e||(e={}))i.call(e,s)&&o(t,s,e[s]);if(a)for(var s of a(e))r.call(e,s)&&o(t,s,e[s]);return t},l=(t,a)=>e(t,s(a));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});function h(t){if(t&&t.__esModule)return t;const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t)for(const s in t)if("default"!==s){const a=Object.getOwnPropertyDescriptor(t,s);Object.defineProperty(e,s,a.get?a:{enumerable:!0,get:()=>t[s]})}return e.default=t,Object.freeze(e)}const d=h(require("apexcharts/core")),c=d.__apex_Utils,u="__apexcharts_series_transforms__";function b(t,e){t&&"string"==typeof t&&"function"==typeof e&&(globalThis[u][t]=e)}globalThis[u]||(globalThis[u]={});const g="__apexcharts_row_sources__";function p(t,e){t&&"string"==typeof t&&"function"==typeof e&&(globalThis[g][t]=e)}globalThis[g]||(globalThis[g]={});function x(t,e){const s=t.length;if(0===s)return NaN;if(1===s)return t[0];const a=(s-1)*e,i=Math.floor(a),r=Math.ceil(a);return i===r?t[i]:t[i]+(t[r]-t[i])*(a-i)}function f(t){const e=t.length;if(e<2)return 0;let s=0;for(let a=0;a<e;a++)s+=t[a];const a=s/e;let i=0;for(let s=0;s<e;s++){const e=t[s]-a;i+=e*e}return Math.sqrt(i/e)}function y(t,e={}){if(!Array.isArray(t)||0===t.length)return null;const s=t.slice().sort((t,e)=>t-e);let a=s[0],i=s[s.length-1];const r=e.range;if(Array.isArray(r)&&2===r.length){const t=Number(r[0]),e=Number(r[1]);isFinite(t)&&isFinite(e)&&e>t&&(a=t,i=e)}if(!(i>a)){const t=Math.abs(a)>0?.05*Math.abs(a):.5;return{edges:[a-t,a+t],binWidth:2*t,rule:"single",capped:!1}}const o=i-a;let n,l;if("number"==typeof e.binWidth&&e.binWidth>0)n=e.binWidth,l="binWidth";else if("number"==typeof e.bins&&e.bins>=1)n=o/Math.floor(e.bins),l="count";else{const t=function(t,e,s){const a=t.length,i=t=>e/Math.max(1,Math.ceil(t));switch(s){case"sqrt":return{width:i(Math.sqrt(a)),rule:"sqrt"};case"rice":return{width:i(2*Math.cbrt(a)),rule:"rice"};case"scott":{const e=f(t);return e>0?{width:3.49*e*Math.pow(a,-1/3),rule:"scott"}:{width:i(Math.log2(a)+1),rule:"sturges"}}case"fd":{const e=x(t,.75)-x(t,.25);return e>0?{width:2*e*Math.pow(a,-1/3),rule:"fd"}:{width:i(Math.log2(a)+1),rule:"sturges"}}case"auto":{const e=i(Math.log2(a)+1),s=x(t,.75)-x(t,.25);if(s<=0)return{width:e,rule:"sturges"};const r=2*s*Math.pow(a,-1/3);return r<e?{width:r,rule:"fd"}:{width:e,rule:"sturges"}}default:return{width:i(Math.log2(a)+1),rule:"sturges"}}}(s,o,"string"==typeof e.bins?e.bins:"auto");n=t.width,l=t.rule}(!isFinite(n)||n<=0)&&(n=o);let h=Math.ceil(o/n);(!isFinite(h)||h<1)&&(h=1);let d=!1;h>1e3&&(h=1e3,n=o/h,d=!0),n=o/h;const c=new Array(h+1);for(let t=0;t<=h;t++)c[t]=a+t*n;return c[h]=Math.max(c[h],i),{edges:c,binWidth:n,rule:l,capped:d}}function v(t,e){const s=e.length-1;if(!(t>=e[0])||t>e[s])return-1;if(t===e[s])return s-1;const a=(e[s]-e[0])/s;if(a>0){let i=Math.floor((t-e[0])/a);return i<0&&(i=0),i>s-1&&(i=s-1),t<e[i]?i--:t>=e[i+1]&&i++,i<0||i>s-1?-1:i}let i=0,r=s-1;for(;i<=r;){const s=i+r>>1;if(t<e[s])r=s-1;else{if(!(t>=e[s+1]))return s;i=s+1}}return-1}function m(t){const e=[];if(!Array.isArray(t))return e;for(let s=0;s<t.length;s++){const a=t[s];let i=a;Array.isArray(a)?i=1===a.length?a[0]:a[1]:a&&"object"==typeof a&&(i=void 0!==a.y?a.y:a.x);const r=c.parseNumber(i);null!==r&&isFinite(r)&&e.push(r)}return e}const C=new WeakSet;function w(t,e){var s;if(!t||"object"!=typeof t||Array.isArray(t))return null;let a=null;if(Array.isArray(t.points)?a=t.points:Array.isArray(null==(s=t.y)?void 0:s.points)?a=t.y.points:e&&Array.isArray(t.y)&&"number"==typeof t.y[0]&&(a=t.y),!a)return null;const i=[];for(let t=0;t<a.length;t++){const e=c.parseNumber(a[t]);null!==e&&isFinite(e)&&i.push(e)}return i.length?i:null}function I(t,e,s){const a=s&&null!=s.maxRows?s.maxRows:3e3,i=function(t,e){let s=0,a=0;for(const e of t)s+=e.length,e.length>a&&(a=e.length);if(s<=e)return{clusters:t,stride:1,total:s,kept:s};const i=e=>{let s=0;for(const a of t)s+=Math.ceil(a.length/e);return s};let r=Math.max(2,Math.ceil(s/e));for(;r<a&&i(r)>e;)r++;let o=0;return{clusters:t.map(t=>{const e=[];for(let s=0;s<t.length;s+=r)e.push(t[s]);return o+=e.length,e}),stride:r,total:s,kept:o}}(e.map(t=>t.rows),a);i.stride;const r=t.globals&&t.globals.colors||[];return e.map((t,e)=>{const s=r[t.realIndex]||r[0];return{name:t.name,data:i.clusters[e].map((a,i)=>n({id:`${t.realIndex}:${e}:${i}`,x:t.name,y:a},s?{fillColor:s}:{}))}})}function P(t){if(!isFinite(t))return String(t);const e=Math.round(t);return Math.abs(t-e)<1e-6?String(e):String(Number(t.toFixed(2)))}function A(t){return(e,s)=>{var a;const i=t(e);if(!Array.isArray(i)||!i.length)return null;const r=e.globals&&e.globals.collapsedSeriesIndices||[],o=e.globals&&((null==(a=e.globals.categoryLabels)?void 0:a.length)?e.globals.categoryLabels:e.globals.labels)||[],n=[];return i.forEach((t,s)=>{var a;if(-1!==r.indexOf(s))return;if(!Array.isArray(t))return;const l=e.seriesData&&(null==(a=e.seriesData.seriesNames)?void 0:a[s]);t.forEach((t,e)=>{const a=null!=o[e]?String(o[e]):`#${e+1}`;n.push({name:i.length>1&&l?`${l} ${a}`:a,realIndex:s,rows:Array.isArray(t)?t.slice():[]})})}),n.length?I(e,n,s):null}}const R=A(t=>{var e;return null==(e=t.candleData)?void 0:e.seriesBoxPoints}),H=A(t=>{var e;return null==(e=t.violinData)?void 0:e.seriesViolinPoints});b("histogram",function(t,e){var s;const a=e.config,i=e.globals;if(!Array.isArray(t))return t;i.histogramRawSeries||(i.histogramRawSeries=t.map(t=>l(n({},t),{data:Array.isArray(null==t?void 0:t.data)?t.data.slice():null==t?void 0:t.data})));const r=i.histogramRawSeries,o=(null==(s=a.plotOptions)?void 0:s.histogram)||{},h=r.map(t=>m(null==t?void 0:t.data));let d=[];if(1===h.length)d=h[0];else for(const t of h)d=d.concat(t);const c=y(d,{bins:o.bins,binWidth:o.binWidth,range:o.range});if(!c)return e.histogramData={edges:[],binWidth:0,counts:[],rule:"",capped:!1},r;const{edges:u,binWidth:b}=c,g=h.map(t=>function(t,e){const s=new Array(Math.max(0,e.length-1)).fill(0);for(let a=0;a<t.length;a++){const i=v(t[a],e);i>=0&&s[i]++}return s}(t,u));e.histogramData={edges:u,binWidth:b,counts:g,rule:c.rule,capped:c.capped};const p=i.collapsedSeriesIndices||[];return r.map((t,e)=>{if(-1!==p.indexOf(e))return l(n({},t),{data:[]});const s=function(t,e={}){let s=t.slice();if(e.cumulative){let t=0;s=s.map(e=>t+=e)}const a=t.reduce((t,e)=>t+e,0);if(a<=0)return s;if("relative"===e.normalize)return s.map(t=>t/a*100);if("density"===e.normalize){const t=e.binWidth;if("number"==typeof t&&t>0)return s.map(e=>e/(a*t))}return s}(g[e],{normalize:o.normalize,cumulative:o.cumulative,binWidth:b}),a=[];for(let t=0;t<s.length;t++)a.push({x:(u[t]+u[t+1])/2,y:s[t]});return l(n({},t),{data:a})})}),b("boxPlot",function(t,e){var s,a;if(!Array.isArray(t))return t;const i=(null==(a=null==(s=e.config.plotOptions)?void 0:s.boxPlot)?void 0:a.whiskers)||"minmax";return t.map(t=>{if(!Array.isArray(null==t?void 0:t.data))return t;let e=!1;const s=t.data.map(t=>{if(Array.isArray(null==t?void 0:t.y)&&5===t.y.length&&!C.has(t))return t;const s=w(t,!1);if(!s)return t;const a=function(t,e={}){if(!Array.isArray(t)||0===t.length)return null;const s=t.slice().sort((t,e)=>t-e),a=x(s,.25),i=x(s,.5),r=x(s,.75),o=r-a;let n=s[0],l=s[s.length-1],h=[];if("tukey"===e.whiskers&&o>0){const t=a-1.5*o,e=r+1.5*o;let i=0;for(;i<s.length&&s[i]<t;)i++;let d=s.length-1;for(;d>=0&&s[d]>e;)d--;i<=d&&(n=s[i],l=s[d],h=s.slice(0,i).concat(s.slice(d+1)))}return{summary:[n,a,i,r,l],outliers:h,iqr:o}}(s,{whiskers:i});if(!a)return t;e=!0;const r=l(n({},t),{y:a.summary,points:s});return C.add(r),r});return e?l(n({},t),{data:s}):t})}),b("violin",function(t,e){var s,a;if(!Array.isArray(t))return t;const i=(null==(a=null==(s=e.config.plotOptions)?void 0:s.violin)?void 0:a.kde)||{};return t.map(t=>{if(!Array.isArray(null==t?void 0:t.data))return t;let e=!1;const s=t.data.map(t=>{var s;if(Array.isArray(null==(s=null==t?void 0:t.y)?void 0:s.density)&&t.y.density.length&&!C.has(t))return t;const a=w(t,!0);if(!a)return t;const r=function(t,e={}){if(!Array.isArray(t)||0===t.length)return null;const s=t.slice().sort((t,e)=>t-e),a=s.length;let i=e.bandwidth;if(!("number"==typeof i&&i>0)){const t=f(s),e=x(s,.75)-x(s,.25);i=.9*(e>0?Math.min(t,e/1.349):t)*Math.pow(a,-.2)}if(!isFinite(i)||i<=0){const t=s[0],e=Math.abs(t)>0?.001*Math.abs(t):.001;return{density:[[t-e,0],[t,1],[t+e,0]],bandwidth:e}}const r=Math.max(8,Math.floor(e.resolution||64)),o=s[0]-2*i,n=(s[a-1]+2*i-o)/(r-1),l=1/(a*i*Math.sqrt(2*Math.PI)),h=[];for(let t=0;t<r;t++){const e=o+t*n;let r=0;for(let t=0;t<a;t++){const a=(e-s[t])/i;r+=Math.exp(-.5*a*a)}h.push([e,r*l])}return{density:h,bandwidth:i}}(a,{bandwidth:i.bandwidth,resolution:i.resolution});if(!r)return t;e=!0;const o=l(n({},t),{y:{density:r.density,points:a}});return C.add(o),o});return e?l(n({},t),{data:s}):t})}),p("histogram",function(t,e){const s=t.globals,a=t.histogramData,i=s&&s.histogramRawSeries;if(!a||!Array.isArray(a.edges)||a.edges.length<2)return null;if(!Array.isArray(i)||!i.length)return null;const r=s&&s.collapsedSeriesIndices||[],o=a.edges,n=[];return i.forEach((e,s)=>{var a;if(-1!==r.indexOf(s))return;const l=function(t,e){const s=Math.max(0,e.length-1),a=new Array(s);for(let t=0;t<s;t++)a[t]=[];for(let s=0;s<t.length;s++){const i=v(t[s],e);i>=0&&a[i].push(t[s])}return a}(m(e&&e.data),o),h=t.seriesData&&(null==(a=t.seriesData.seriesNames)?void 0:a[s])||(null==e?void 0:e.name);l.forEach((t,e)=>{const a=`${P(o[e])}-${P(o[e+1])}`;n.push({name:i.length>1&&h?`${h} ${a}`:a,realIndex:s,rows:t})})}),n.length?I(t,n,e):null}),p("boxPlot",R),p("violin",H);const k=d.__apex_Graphics,L=d.__apex_DataLabels,W=(t,e,s,a)=>{if("function"!=typeof t)return t;const i=t({series:e.seriesData.series,seriesIndex:s,dataPointIndex:a,w:e});return Number.isFinite(i)?i:0},D=d.__apex_BrowserAPIs_BrowserAPIs,S=d.__apex_Environment_Environment;function X(t){var e;const s=t.config.chart.animations;if(!s||!1===s.enabled)return!1;if(!s.dynamicAnimation||!1===s.dynamicAnimation.enabled)return!1;const a=null!=(e=s.largeDatasetThreshold)?e:0;return!(a>0&&t.globals.dataPoints>a)&&!!(S.isBrowser()&&t.globals.dataChanged&&t.globals.shouldAnimate)}function F(t,e,s){var a,i,r,o;if(null==(a=t.axisFlags)?void 0:a.isXNumeric){const a=null==(r=null==(i=t.seriesData)?void 0:i.seriesX)?void 0:r[e];if(a&&a.length&&null!=a[s])return"x:"+a[s]}const n=null==(o=t.globals.labels)?void 0:o[s];return null!=n&&""!==String(n)?"c:"+(Array.isArray(n)?n.join(" "):String(n)):"j:"+s}function O(t){const e=new Map;return t.map(t=>{const s=e.get(t)||0;return e.set(t,s+1),0===s?t:`${t}#${s}`})}function Y(t,e,s=!1,a=!1){var i,r;if(!X(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=O(n.map((t,s)=>function(t,e,s){var a,i;if(t.isXNumeric){const i=null==(a=t.seriesX)?void 0:a[e];if(i&&i.length&&null!=i[s])return"x:"+i[s]}const r=null==(i=t.labels)?void 0:i[s];return null!=r&&""!==String(r)?"c:"+(Array.isArray(r)?r.join(" "):String(r)):"j:"+s}(o,e,s))),d=O(l.map((s,a)=>F(t,e,a))),c=function(t,e){const s=new Map;t.forEach((t,e)=>{s.has(t)||s.set(t,e)});const a=new Array(e.length),i=new Set;let r=-1,o=!0,n=t.length===e.length;e.forEach((t,e)=>{const l=s.has(t)&&!i.has(s.get(t))?s.get(t):-1;a[e]=l,-1!==l&&(i.add(l),l<r&&(o=!1),r=l),l!==e&&(n=!1)});const l=[];for(let e=0;e<t.length;e++)i.has(e)||l.push(e);return{toOld:a,exits:l,ordered:o,changed:!n}}(h,d);return(c.ordered||a)&&(c.changed||s)?{join:c,oldKeys:h,newKeys:d}:null}function M({w:t,elSeries:e,record:s,newKeys:a,isHorizontal:i,speed:r}){var o;if(!X(t))return;if(!s||!Array.isArray(s.paths)||!(null==e?void 0:e.node))return;const n=new Set(a),l=s.paths.filter(t=>t&&t.d&&null!=t.key&&!n.has(t.key));if(!l.length)return;const h=new k(t),d=null==(o=t.globals.colors)?void 0:o[parseInt(String(s.realIndex),10)];l.forEach(s=>{let a=s.fill||d||"#c8c8c8";0===String(a).indexOf("url(")&&(a=d||"#c8c8c8");const o=h.drawPath({d:s.d,stroke:"none",strokeWidth:0,fill:a,fillOpacity:1,classes:"apexcharts-bar-ghost"}),n=o.node;n.setAttribute("pointer-events","none"),o.attr("clip-path",`url(#gridRectBarMask${t.globals.cuid})`),e.node.insertBefore(n,e.node.firstChild);const l=function(t){const e=/^M\s*([+-]?[\d.eE]+)[\s,]+([+-]?[\d.eE]+)/.exec(t||"");if(!e)return null;const s=parseFloat(e[1]),a=parseFloat(e[2]);return isFinite(s)&&isFinite(a)?{x:s,y:a}:null}(s.d);let c=i?"left center":"center bottom";try{const t=n.getBBox();l&&t&&(c=i?Math.abs(l.x-t.x)<=Math.abs(l.x-(t.x+t.width))?"left center":"right center":Math.abs(l.y-(t.y+t.height))<=Math.abs(l.y-t.y)?"center bottom":"center top")}catch(t){}const u=n.style;u.transformBox="fill-box",u.transformOrigin=c;const b=Math.max(1,r||1),g=performance.now(),p=e=>{if(t.globals.isDestroyed||!n.parentNode)return;const s=Math.max(0,Math.min(1,(e-g)/b)),a=1-Math.pow(1-s,3),r=1-a;u.transform=i?`scaleX(${r})`:`scaleY(${r})`,u.opacity=String(1-a),s<1?D.requestAnimationFrame(p):n.parentNode.removeChild(n)};D.requestAnimationFrame(p)})}class j{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){const{x:e,y:s,y1:a,y2:i,i:r,j:o,realIndex:h,columnGroupIndex:d,series:c,barHeight:u,barWidth:b,barXPosition:g,barYPosition:p,visibleSeries:x}=t,f=this.w,y=new k(this.barCtx.w),v=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[h]:this.barCtx.strokeWidth;let m,C;f.axisFlags.isXNumeric&&!f.globals.isBarHorizontal?(m=e+b*(x+1),C=s+u*(x+1)-v):(m=e+b*x,C=s+u*x);let w=null,I=null,P=e,A=s,R={};const H=f.config.dataLabels,L=this.barCtx.barOptions.dataLabels,D=this.barCtx.barOptions.dataLabels.total;void 0!==p&&(this.barCtx.isRangeBar||this.barCtx.isPyramid)&&(C=p,A=p),void 0!==g&&this.barCtx.isVerticalGroupedRangeBar&&(m=g,P=g);const S=W(H.offsetX,f,h,o),X=W(H.offsetY,f,h,o);let F={width:0,height:0};if(f.config.dataLabels.enabled){const t=f.seriesData.series[h][o];F=y.getTextRects(f.config.dataLabels.formatter?f.config.dataLabels.formatter(t,l(n({},f),{seriesIndex:h,dataPointIndex:o,w:f})):f.formatters.yLabelFormatters[0](t),parseFloat(H.style.fontSize).toString(),H.style.fontFamily,void 0,!0,H.style.fontWeight)}const O={x:e,y:s,i:r,j:o,realIndex:h,columnGroupIndex:d,bcx:m,bcy:C,barHeight:u,barWidth:b,textRects:F,strokeWidth:v,dataLabelsX:P,dataLabelsY:A,dataLabelsConfig:H,barDataLabelsConfig:L,barTotalDataLabelsConfig:D,offX:S,offY:X};return R=this.barCtx.isHorizontal?this.calculateBarsDataLabelsPosition(O):this.calculateColumnsDataLabelsPosition(O),w=this.drawCalculatedDataLabels({x:R.dataLabelsX,y:R.dataLabelsY,val:this.barCtx.isRangeBar?[a,i]:"100%"===f.config.chart.stackType?c[h][o]:f.seriesData.series[h][o],i:h,j:o,barWidth:b,barHeight:u,textRects:F,dataLabelsConfig:H}),f.config.chart.stacked&&D.enabled&&(I=this.drawTotalDataLabels({x:R.totalDataLabelsX,y:R.totalDataLabelsY,barWidth:b,barHeight:u,realIndex:h,j:o,textAnchor:R.totalDataLabelsAnchor,val:this.getStackedTotalDataLabel({realIndex:h,j:o}),rawVal:this.getStackedTotalValue({realIndex:h,j:o}),dataLabelsConfig:H,barTotalDataLabelsConfig:D})),{dataLabelsPos:R,dataLabels:w,totalDataLabels:I}}hasMultipleSeriesGroups(){return this.w.labelData.seriesGroups.length>1}getTotalGroupContext(t){if(!this.hasMultipleSeriesGroups())return null;const e=this.barCtx.barHelpers.getSeriesGroupIndex(t);return e<0?null:{groupIndex:e,group:this.w.labelData.seriesGroups[e]}}drawsStackedTotal(t){const e=this.barCtx.lastActiveBarSerieIndexByGroup,s=this.getTotalGroupContext(t);return s&&e&&e.length>s.groupIndex?e[s.groupIndex]===t:this.barCtx.lastActiveBarSerieIndex===t}getStackedTotalValue({realIndex:t,j:e}){const s=this.w,a=this.getTotalGroupContext(t),i=s.seriesData.stackedSeriesTotalsByGroups;return a&&i&&i[a.groupIndex]?i[a.groupIndex][e]:this.barCtx.stackedSeriesTotals[e]}getStackedTotalDataLabel({realIndex:t,j:e}){const s=this.w;let a=this.getStackedTotalValue({realIndex:t,j:e});return this.totalFormatter&&(a=this.totalFormatter(a,l(n({},s),{seriesIndex:t,dataPointIndex:e,w:s}))),a}calculateColumnsDataLabelsPosition(t){const e=this.w;let s,a,{i:i,j:r,realIndex:o,y:n,bcx:l,barWidth:h,barHeight:d,textRects:c,dataLabelsX:u,dataLabelsY:b,dataLabelsConfig:g,barDataLabelsConfig:p,barTotalDataLabelsConfig:x,strokeWidth:f,offX:y,offY:v}=t;const m=l;d=Math.abs(d);const C="vertical"===e.config.plotOptions.bar.dataLabels.orientation,{zeroEncounters:w}=this.barCtx.barHelpers.getZeroValueEncounters({i:i,j:r});l-=f/2;const I=e.layout.gridWidth/e.globals.dataPoints;if(this.barCtx.isVerticalGroupedRangeBar?u+=h/2:(u=e.axisFlags.isXNumeric?l-h/2+y:l-I+h/2+y,!e.config.chart.stacked&&w>0&&e.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(u-=h*w)),C){const t=2;u=u+c.height/2-f/2-t}const P=e.seriesData.series[i][r]<0;let A=n;switch(this.barCtx.isReversed&&(A=n+(P?d:-d)),p.position){case"center":b=C?P?A-d/2+v:A+d/2-v:P?A-d/2+c.height/2+v:A+d/2+c.height/2-v;break;case"bottom":b=C?P?A-d+v:A+d-v:P?A-d+c.height+f+v:A+d-c.height/2+f-v;break;case"top":b=C?P?A+v:A-v:P?A-c.height/2-v:A+c.height+v}let R=A;const H=this.getTotalGroupContext(o);if((H?[H.group]:e.labelData.seriesGroups).forEach(t=>{var e;null==(e=this.barCtx[t.join(",")])||e.prevY.forEach(t=>{R=P?Math.max(t[r],R):Math.min(t[r],R)})}),this.drawsStackedTotal(o)&&x.enabled){const t=18,i=new k(this.barCtx.w).getTextRects(this.getStackedTotalDataLabel({realIndex:o,j:r}),g.fontSize);s=P?R-i.height/2-v-x.offsetY+t:R+i.height+v+x.offsetY-t;const n=I;a=m+(e.axisFlags.isXNumeric?-h/2:h/2-n)+x.offsetX}return e.config.chart.stacked||(b<0?b=0+f:b+c.height/3>e.layout.gridHeight&&(b=e.layout.gridHeight-f)),{bcx:l,bcy:n,dataLabelsX:u,dataLabelsY:b,totalDataLabelsX:a,totalDataLabelsY:s,totalDataLabelsAnchor:"middle"}}calculateBarsDataLabelsPosition(t){var e;const s=this.w;let{x:a,i:i,j:r,realIndex:o,bcy:n,barHeight:l,barWidth:h,textRects:d,dataLabelsX:c,strokeWidth:u,dataLabelsConfig:b,barDataLabelsConfig:g,barTotalDataLabelsConfig:p,offX:x,offY:f}=t;const y=s.layout.gridHeight/s.globals.dataPoints,{zeroEncounters:v}=this.barCtx.barHelpers.getZeroValueEncounters({i:i,j:r});let m,C,w;if(h=Math.abs(h),this.barCtx.isPyramid){m=n+l/2+f-(null!=(e=d.centerOffset)?e:0)}else m=n-(this.barCtx.isRangeBar?0:y)+l/2+d.height/2+f-3;!s.config.chart.stacked&&v>0&&s.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(m-=l*v);let I="start";const P=s.seriesData.series[i][r]<0;let A=a;if(this.barCtx.isReversed&&(A=a+(P?-h:h),I=P?"start":"end"),this.barCtx.isPyramid)c=s.layout.gridWidth/2+x;else switch(g.position){case"center":c=P?A+h/2-x:Math.max(d.width/2,A-h/2)+x;break;case"bottom":c=P?A+h-u-x:A-h+u+x;break;case"top":c=P?A-u-x:A-u+x}let R=A;const H=this.getTotalGroupContext(o);if((H?[H.group]:s.labelData.seriesGroups).forEach(t=>{var e;null==(e=this.barCtx[t.join(",")])||e.prevX.forEach(t=>{R=P?Math.min(t[r],R):Math.max(t[r],R)})}),this.drawsStackedTotal(o)&&p.enabled){const t=new k(this.barCtx.w).getTextRects(this.getStackedTotalDataLabel({realIndex:o,j:r}),b.fontSize);P?(C=R-u-x-p.offsetX,I="end"):C=R+x+p.offsetX+(this.barCtx.isReversed?-(h+u):u),w=m-d.height/2+t.height/2+p.offsetY+u,s.globals.barGroups.length>1&&!H&&(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"===g.orientation?d.height/2:"end"===t?d.width:"middle"===t?d.width/2:0;const a=("vertical"===g.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:a,bcy:n,dataLabelsX:c,dataLabelsY:m,totalDataLabelsX:C,totalDataLabelsY:w,totalDataLabelsAnchor:I}}drawCalculatedDataLabels({x:t,y:e,val:s,i:a,j:i,textRects:r,barHeight:o,barWidth:h,dataLabelsConfig:d}){var c,u,b;const g=this.w;let p="rotate(0)";"vertical"===g.config.plotOptions.bar.dataLabels.orientation&&(p=`rotate(-90, ${t}, ${e})`);const x=new L(this.barCtx.w,this.barCtx.ctx),f=new k(this.barCtx.w),y=d.formatter;let v=null;const m=g.globals.collapsedSeriesIndices.indexOf(a)>-1,C=(g.globals.collapsingSeriesIndices||[]).indexOf(a)>-1;if(C){const t=null==(c=g.globals.prevDataLabels)?void 0:c.get(`${a}::${F(g,a,i)}`);t&&isFinite(t.val)&&(s=t.val)}if(d.enabled&&(!m||C)){v=f.group({class:"apexcharts-data-labels",transform:p});const c=g.config.dataLabels;((null==(u=c.animate)?void 0:u.enabled)||(null==(b=c.countUp)?void 0:b.enabled))&&(v.node.setAttribute("data:dlKey",`${a}::${F(g,a,i)}`),v.node.setAttribute("data:dlJ",String(i)),"number"==typeof s&&isFinite(s)&&v.node.setAttribute("data:dlVal",String(s)));let m="";void 0!==s&&(m=y(s,l(n({},g),{seriesIndex:a,dataPointIndex:i,w:g}))),!s&&g.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(m="");const w=g.seriesData.series[a][i]<0,I=g.config.plotOptions.bar.dataLabels.position;if("vertical"===g.config.plotOptions.bar.dataLabels.orientation&&("top"===I&&(d.textAnchor=w?"end":"start"),"center"===I&&(d.textAnchor="middle"),"bottom"===I&&(d.textAnchor=w?"end":"start")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels){h<f.getTextRects(m,parseFloat(d.style.fontSize).toString()).width&&(m="")}g.config.chart.stacked&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels&&!C&&(this.barCtx.isHorizontal?r.width/1.6>Math.abs(h)&&(m=""):r.height/1.6>Math.abs(o)&&(m=""));const P=n({},d);this.barCtx.isHorizontal&&s<0&&("start"===d.textAnchor?P.textAnchor="end":"end"===d.textAnchor&&(P.textAnchor="start")),x.plotDataLabelsText({x:t,y:e,text:m,i:a,j:i,parent:v,dataLabelsConfig:P,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return v}drawTotalDataLabels({x:t,y:e,val:s,rawVal:a,realIndex:i,j:r,textAnchor:o,barTotalDataLabelsConfig:n}){var l,h;const d=new k(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:s,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}::${F(this.w,i,r)}`),c.node.setAttribute("data:dlTotalSeries",String(i)),"number"==typeof a&&isFinite(a)&&c.node.setAttribute("data:dlTotalVal",String(a))}}return c}}const T=d.__apex_Series,B=d.__apex_Fill;function G(t){var e,s,a,i,r,o,n;return"histogram"===(null==(s=null==(e=null==t?void 0:t.config)?void 0:e.chart)?void 0:s.requestedType)&&(!1!==(null==(i=null==(a=t.config.plotOptions)?void 0:a.histogram)?void 0:i.overlap)&&(null!=(n=null==(o=null==(r=t.seriesData)?void 0:r.series)?void 0:o.length)?n:0)>1)}class _{constructor(t){this.w=t.w,this.barCtx=t}initVariables(t){const e=this.w;this.barCtx.series=t,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(let s=0;s<t.length;s++)if(t[s].length>0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[s].length),e.axisFlags.isXNumeric)for(let a=0;a<t[s].length;a++)e.seriesData.seriesX[s][a]>e.globals.minX&&e.seriesData.seriesX[s][a]<e.globals.maxX&&this.barCtx.visibleItems++;else this.barCtx.visibleItems=e.globals.dataPoints;this.arrBorderRadius=this.createBorderRadiusArr(e.seriesData.series),c.isSafari()&&(this.arrBorderRadius=this.arrBorderRadius.map(t=>t.map(t=>"none"))),0===this.barCtx.seriesLen&&(this.barCtx.seriesLen=1)}initialPositions(t){const e=this.w;let s,a,i,r,o,n,l,h,d=e.globals.dataPoints;this.barCtx.isRangeBar&&(d=e.labelData.labels.length);let u=this.barCtx.seriesLen;if((e.config.plotOptions.bar.rangeBarGroupRows||G(e))&&(u=1),this.barCtx.isHorizontal)i=e.layout.gridHeight/d,o=i/u,e.axisFlags.isXNumeric&&(i=e.layout.gridHeight/this.barCtx.totalItems,o=i/this.barCtx.seriesLen),o=o*parseInt(this.barCtx.barOptions.barHeight,10)/100,-1===String(this.barCtx.barOptions.barHeight).indexOf("%")&&(o=parseInt(this.barCtx.barOptions.barHeight,10)),h=this.barCtx.baseLineInvertedY+e.globals.padHorizontal+(this.barCtx.isReversed?e.layout.gridWidth:0)-(this.barCtx.isReversed?2*this.barCtx.baseLineInvertedY:0),this.barCtx.isFunnel&&(h=e.layout.gridWidth/2),a=(i-o*this.barCtx.seriesLen)/2;else{if(r=e.layout.gridWidth/this.barCtx.visibleItems,e.config.xaxis.convertedCatToNumeric&&(r=e.layout.gridWidth/e.globals.dataPoints),n=r/u*parseInt(this.barCtx.barOptions.columnWidth,10)/100,e.axisFlags.isXNumeric){const t=this.barCtx.xRatio;e.globals.minXDiff&&.5!==e.globals.minXDiff&&e.globals.minXDiff/t>0&&(r=e.globals.minXDiff/t),n=r/u*parseInt(this.barCtx.barOptions.columnWidth,10)/100,n<1&&(n=1)}if(-1===String(this.barCtx.barOptions.columnWidth).indexOf("%")&&(n=parseInt(this.barCtx.barOptions.columnWidth,10)),l=e.layout.gridHeight-this.barCtx.baseLineY[this.barCtx.translationsIndex]-(this.barCtx.isReversed?e.layout.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.translationsIndex]:0),e.axisFlags.isXNumeric){s=this.barCtx.getBarXForNumericXAxis({x:s,j:0,realIndex:t,barWidth:n}).x}else s=e.globals.padHorizontal+c.noExponents(r-n*this.barCtx.seriesLen)/2}return e.globals.barHeight=o,e.globals.barWidth=n,{x:s,y:a,yDivision:i,xDivision:r,barHeight:o,barWidth:n,zeroH:l,zeroW:h}}initializeStackedPrevVars(t){t.w.labelData.seriesGroups.forEach(e=>{t[e]||(t[e]={}),t[e].prevY=[],t[e].prevX=[],t[e].prevYF=[],t[e].prevXF=[],t[e].prevYVal=[],t[e].prevXVal=[]})}initializeStackedXYVars(t){t.w.labelData.seriesGroups.forEach(e=>{t[e]||(t[e]={}),t[e].xArrj=[],t[e].xArrjF=[],t[e].xArrjVal=[],t[e].yArrj=[],t[e].yArrjF=[],t[e].yArrjVal=[]})}getPathFillColor(t,e,s,a){var i,r,o,n;const l=this.w,h=new B(this.barCtx.w);let d=null;const c=this.barCtx.barOptions.distributed?s:e;let u=!1;if(this.barCtx.barOptions.colors.ranges.length>0){this.barCtx.barOptions.colors.ranges.map(a=>{t[e][s]>=a.from&&t[e][s]<=a.to&&(d=a.color,u=!0)})}return{color:h.fillPath({seriesNumber:this.barCtx.barOptions.distributed?c:a,dataPointIndex:s,color:d,value:t[e][s],fillConfig:null==(i=l.config.series[e].data[s])?void 0:i.fill,fillType:(null==(o=null==(r=l.config.series[e].data[s])?void 0:r.fill)?void 0:o.type)?null==(n=l.config.series[e].data[s])?void 0:n.fill.type:Array.isArray(l.config.fill.type)?l.config.fill.type[a]:l.config.fill.type}),useRangeColor:u}}getStrokeWidth(t,e,s){let a=0;const i=this.w;return void 0===this.barCtx.series[t][e]||null===this.barCtx.series[t][e]||"bar"===i.config.chart.type&&!this.barCtx.series[t][e]?this.barCtx.isNullValue=!0:this.barCtx.isNullValue=!1,i.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[s]:this.barCtx.strokeWidth)),a}getStackedSeriesIndices(t){const e=this.w.labelData.seriesGroups;if(!e||e.length<2)return[Array.from({length:t},(t,e)=>e)];const s=Array.from({length:e.length},()=>[]),a=[];for(let e=0;e<t;e++){const t=this.getSeriesGroupIndex(e);t>-1?s[t].push(e):a.push(e)}return a.length&&s.push(a),s.filter(t=>t.length>0)}createBorderRadiusArr(t){var e;const s=this.w,a=!this.w.config.chart.stacked||s.config.plotOptions.bar.borderRadius<=0,i=t.length,r=0|(null==(e=t[0])?void 0:e.length),o=Array.from({length:i},()=>Array(r).fill(a?"top":"none"));if(a)return o;const n="bar"===this.w.config.chart.type&&1===r,l=n?"top":"both",h=n?"top":"bottom";for(const e of this.getStackedSeriesIndices(i))for(let s=0;s<r;s++){const a=[],i=[];for(const r of e){const e=t[r][s];e>0?a.push(r):e<0&&i.push(r)}if(a.length>0&&0===i.length)if(1===a.length)o[a[0]][s]=l;else{const t=a[0],e=a[a.length-1];for(const i of a)o[i][s]=i===t?h:i===e?"top":"none"}else if(i.length>0&&0===a.length)if(1===i.length)o[i[0]][s]="both";else{const t=Math.max(...i),e=Math.min(...i);for(const a of i)o[a][s]=a===t?"bottom":a===e?"top":"none"}else if(a.length>0&&i.length>0){const t=a[a.length-1];for(const e of a)o[e][s]=e===t?"top":"none";const e=Math.max(...i);for(const t of i)o[t][s]=t===e?"bottom":"none"}}return o}barBackground({j:t,i:e,x1:s,x2:a,y1:i,y2:r,elSeries:o}){const n=this.w,l=new k(this.barCtx.w),h=new T(this.barCtx.w).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&h===e){t>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(t%=this.barCtx.barOptions.colors.backgroundBarColors.length);const e=this.barCtx.barOptions.colors.backgroundBarColors[t],h=l.drawRect(void 0!==s?s:0,void 0!==i?i:0,void 0!==a?a:n.layout.gridWidth,void 0!==r?r:n.layout.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,e,this.barCtx.barOptions.colors.backgroundBarOpacity);o.add(h),h.node.classList.add("apexcharts-backgroundBar")}}getColumnPaths({barWidth:t,barXPosition:e,y1:s,y2:a,strokeWidth:i,isReversed:r,series:o,seriesGroup:n,realIndex:l,i:h,j:d,w:c}){var u,b,g;const p=new k(this.barCtx.w);(i=Array.isArray(i)?i[l]:i)||(i=0);let x=t,f=e;(null==(u=c.config.series[l].data[d])?void 0:u.columnWidthOffset)&&(f=e-c.config.series[l].data[d].columnWidthOffset/2,x=t+c.config.series[l].data[d].columnWidthOffset);const y=i/2,v=f+y,m=f+x-y,C=(o[h][d]>=0?1:-1)*(r?-1:1);s+=.001-y*C,a+=.001+y*C;const w=p.line(m,s),I="around"===c.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[l][d]?" Z":" z",P=p.move(v,s)+p.line(v,a)+p.line(m,a)+w+I;let A=P;"none"!==this.arrBorderRadius[l][d]&&(A=p.roundPathCorners(A,c.config.plotOptions.bar.borderRadius));let R=null;const H=null==(g=null==(b=this.barCtx.ctx)?void 0:b.morphTypeChange)?void 0:g.getInitialPathFor(l,d);if(H?R=H:c.globals.previousPaths.length>0&&(R=this.barCtx.getPreviousPath(l,d,A,P)),null==R&&(R=p.move(v,s)+p.line(v,s)+w+w+w+w+w+p.line(v,s)+I),c.config.chart.stacked){let t=this.barCtx;t=this.barCtx[n],t.yArrj.push(a-y*C),t.yArrjF.push(Math.abs(s-a+i*C)),t.yArrjVal.push(this.barCtx.series[h][d])}return{pathTo:A,pathFrom:R}}getFunnelTrapezoidPaths({barYPosition:t,barHeight:e,series:s,i:a,j:i,realIndex:r,strokeWidth:o,w:n}){var l,h;const d=new k(this.barCtx.w),c=n.layout.gridWidth/2,u=t=>Math.abs(t/this.barCtx.invertedYRatio)/2,b=u(s[a][i]),g=i===s[a].length-1,p="taper"===n.config.plotOptions.funnel.lastShape?"taper":"flat";let x;x=g?"taper"===p?0:b:u(s[a][i+1]);const f=o/2,y=t+f,v=t+e-f,m=c-b,C=c+b,w=c-x,I=c+x,P=d.move(m,y)+d.line(C,y)+d.line(I,v)+d.line(w,v)+" Z";let A=null;const R=null==(h=null==(l=this.barCtx.ctx)?void 0:l.morphTypeChange)?void 0:h.getInitialPathFor(r,i);return R?A=R:n.globals.previousPaths.length>0&&(A=this.barCtx.getPreviousPath(r,i,P)),null==A&&(A=d.move(c,y)+d.line(c,y)+d.line(c,v)+d.line(c,v)+" Z"),{pathTo:P,pathFrom:A,x:C,x1:m,barXPosition:c}}computePyramidLayout(t){const e=this.w,s=e.layout.gridHeight,a=e.layout.gridWidth,i=t.map(t=>Math.abs(Number(t)||0)),r=i.reduce((t,e)=>t+e,0);if(0===r||s<=0)return i.map(()=>({y:0,height:0,topHalf:0,bottomHalf:0}));const o=a/2;let n=0;const l=[];for(let t=0;t<i.length;t++){const e=n/r;n+=i[t];const a=n/r,h=e*s,d=a*s;l.push({y:h,height:d-h,topHalf:e*o,bottomHalf:a*o})}return l}getPyramidPaths({barYPosition:t,barHeight:e,topHalf:s,bottomHalf:a,realIndex:i,j:r,strokeWidth:o,w:n}){var l,h;const d=new k(this.barCtx.w),c=n.layout.gridWidth/2,u=o/2,b=t+u,g=t+e-u,p=c-s,x=c+s,f=c-a,y=c+a,v=d.move(p,b)+d.line(x,b)+d.line(y,g)+d.line(f,g)+" Z";let m=null;const C=null==(h=null==(l=this.barCtx.ctx)?void 0:l.morphTypeChange)?void 0:h.getInitialPathFor(i,r);return C?m=C:n.globals.previousPaths.length>0&&(m=this.barCtx.getPreviousPath(i,r,v)),null==m&&(m=d.move(c,b)+d.line(c,b)+d.line(c,g)+d.line(c,g)+" Z"),{pathTo:v,pathFrom:m,x:x,x1:p,barXPosition:c}}getBarpaths({barYPosition:t,barHeight:e,x1:s,x2:a,strokeWidth:i,isReversed:r,series:o,seriesGroup:n,realIndex:l,i:h,j:d,w:c}){var u,b,g;const p=new k(this.barCtx.w);(i=Array.isArray(i)?i[l]:i)||(i=0);let x=t,f=e;(null==(u=c.config.series[l].data[d])?void 0:u.barHeightOffset)&&(x=t-c.config.series[l].data[d].barHeightOffset/2,f=e+c.config.series[l].data[d].barHeightOffset);const y=i/2,v=x+y,m=x+f-y,C=(o[h][d]>=0?1:-1)*(r?-1:1);s+=.001+y*C,a+=.001-y*C;const w=this.barCtx.isFunnel,I=w?(s+a)/2:s,P=p.line(s,m),A="around"===c.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[l][d]?" Z":" z",R=p.move(s,v)+p.line(a,v)+p.line(a,m)+P+A;let H=R;"none"!==this.arrBorderRadius[l][d]&&(H=p.roundPathCorners(H,c.config.plotOptions.bar.borderRadius));let L=null;const W=null==(g=null==(b=this.barCtx.ctx)?void 0:b.morphTypeChange)?void 0:g.getInitialPathFor(l,d);if(W?L=W:c.globals.previousPaths.length>0&&(L=this.barCtx.getPreviousPath(l,d,H,R)),null==L){const t=w?p.line(I,m):P;L=p.move(I,v)+p.line(I,v)+t+t+t+t+t+p.line(I,v)+A}if(c.config.chart.stacked){let t=this.barCtx;t=this.barCtx[n],t.xArrj.push(a+y*C),t.xArrjF.push(Math.abs(s-a-i*C)),t.xArrjVal.push(this.barCtx.series[h][d])}return{pathTo:H,pathFrom:L}}getXForValue(t,e,s=!0){let a=s?e:null;return null!=t&&(a=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),a}getYForValue(t,e,s,a=!0){let i=a?e:null;return null!=t&&(i=e-t/this.barCtx.yRatio[s]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[s]:0)),i}getGoalValues(t,e,s,a,i,r){const o=this.w,h=[],d=(a,i)=>{h.push({[t]:"x"===t?this.getXForValue(a,e,!1):this.getYForValue(a,s,r,!1),attrs:i})};if(o.seriesData.seriesGoals[a]&&o.seriesData.seriesGoals[a][i]&&Array.isArray(o.seriesData.seriesGoals[a][i])&&o.seriesData.seriesGoals[a][i].forEach(t=>{d(t.value,t)}),this.barCtx.barOptions.isDumbbell&&o.rangeData.seriesRange.length){const e=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:o.globals.colors,s={strokeHeight:"x"===t?0:o.globals.markers.size[a],strokeWidth:"x"===t?o.globals.markers.size[a]:0,strokeDashArray:0,strokeLineCap:"round",strokeColor:Array.isArray(e[a])?e[a][0]:e[a]};d(o.rangeData.seriesRangeStart[a][i],s),d(o.rangeData.seriesRangeEnd[a][i],l(n({},s),{strokeColor:Array.isArray(e[a])?e[a][1]:e[a]}))}return h}drawGoalLine({barXPosition:t,barYPosition:e,goalX:s,goalY:a,barWidth:i,barHeight:r}){if(!(Array.isArray(s)&&s.length>0||Array.isArray(a)&&a.length>0))return null;const o=new k(this.barCtx.w),n=o.group({className:"apexcharts-bar-goals-groups"});n.node.classList.add("apexcharts-element-hidden"),this.barCtx.w.globals.delayedElements.push({el:n.node}),n.attr("clip-path",`url(#gridRectMarkerMask${this.barCtx.w.globals.cuid})`);let l=null;return this.barCtx.isHorizontal?Array.isArray(s)&&s.forEach(t=>{if(t.x>=-1&&t.x<=o.w.layout.gridWidth+1){const s=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:r/2,a=e+s+r/2;l=o.drawLine(t.x,a-2*s,t.x,a,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),n.add(l)}}):Array.isArray(a)&&a.forEach(e=>{if(e.y>=-1&&e.y<=o.w.layout.gridHeight+1){const s=void 0!==e.attrs.strokeWidth?e.attrs.strokeWidth:i/2,a=t+s+i/2;l=o.drawLine(a-2*s,e.y,a,e.y,e.attrs.strokeColor?e.attrs.strokeColor:void 0,e.attrs.strokeDashArray,e.attrs.strokeHeight?e.attrs.strokeHeight:2,e.attrs.strokeLineCap),n.add(l)}}),n}drawBarShadow({prevPaths:t,currPaths:e,color:s,realIndex:a,j:i}){const r=this.w,{x:o,x1:n,barYPosition:l}=t,{x:h,x1:d,barYPosition:u}=e,b=l+e.barHeight,g=new k(this.barCtx.w),p=new c,x=g.move(n,b)+g.line(o,b)+g.line(h,u)+g.line(d,u)+g.line(n,b)+("around"===r.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[a][i]?" Z":" z");return g.drawPath({d:x,fill:p.shadeColor(.5,c.rgb2hex(s)),stroke:"none",strokeWidth:0,fillOpacity:1,classes:"apexcharts-bar-shadow apexcharts-decoration-element"})}getZeroValueEncounters({i:t,j:e}){var s;const a=this.w;let i=0,r=0;return(a.config.plotOptions.bar.horizontal?a.seriesData.series.map((t,e)=>e):(null==(s=a.globals.columnSeries)?void 0:s.i.map(t=>t))||[]).forEach(s=>{const o=a.globals.seriesPercent[s][e];o&&i++,s<t&&0===o&&r++}),{nonZeroColumns:i,zeroEncounters:r}}getSeriesGroupIndex(t){const e=this.w;return e.labelData.seriesGroups.findIndex(s=>s.indexOf(e.seriesData.seriesNames[t])>-1)}getGroupIndex(t){const e=this.w,s=e.labelData.seriesGroups.findIndex(s=>s.indexOf(e.seriesData.seriesNames[t])>-1),a=this.barCtx.columnGroupIndices;let i=a.indexOf(s);return i<0&&(a.push(s),i=a.length-1),{groupIndex:s,columnGroupIndex:i}}}const z=d.__apex_CoreUtils,N=d.__apex_Filters,V=d.__apex_Animations_computeStagger;class E{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)/E.xRatio(t)}static pxToDataX(t,e){return t.globals.minX+e*E.xRatio(t)}static screenXToPlotPx(t,e){const s=t.dom.baseEl,a=s&&s.querySelector(".apexcharts-svg");if(!a)return e-t.layout.translateX;const i=a.getBoundingClientRect(),r=t.globals.svgWidth?i.width/t.globals.svgWidth:1;return(e-i.left)/(r||1)-t.layout.translateX}}class ${constructor(t,e,s){this.ctx=e,this.w=t,this.barOptions=t.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=t.config.stroke.width,this.isNullValue=!1,this.isRangeBar=t.rangeData.seriesRange.length&&this.isHorizontal,this.isVerticalGroupedRangeBar=!t.globals.isBarHorizontal&&t.rangeData.seriesRange.length&&t.config.plotOptions.bar.rangeBarGroupRows,this.isFunnel=this.barOptions.isFunnel,this.isPyramid=this.barOptions.isPyramid,this.pyramidLayout=null,this.xyRatios=s,this.xRatio=0,this.yRatio=[],this.invertedXRatio=0,this.invertedYRatio=0,this.baseLineY=[],this.baseLineInvertedY=0,null!==this.xyRatios&&(this.xRatio=s.xRatio,this.yRatio=s.yRatio,this.invertedXRatio=s.invertedXRatio,this.invertedYRatio=s.invertedYRatio,this.baseLineY=s.baseLineY,this.baseLineInvertedY=s.baseLineInvertedY),this.yaxisIndex=0,this.translationsIndex=0,this.seriesLen=0,this.pathArr=[],this._prevKeyed=null,this._ltCache=null,this._layoutShiftCache=null,this._pathToInterp=null,this.series=[],this.elSeries=null,this.visibleI=0,this.isReversed=!1;const a=new T(this.w);this.lastActiveBarSerieIndex=a.getActiveConfigSeriesIndex("desc",["bar","column"]),this.lastActiveBarSerieIndexByGroup=a.getActiveConfigSeriesIndexByGroup(["bar","column"]),this.columnGroupIndices=[];const i=a.getBarSeriesIndices(),r=new z(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 _(this)}draw(t,e){var s,a,i;const r=this.w,o=new k(this.w),h=new z(this.w);t=h.getLogSeries(t),this.series=t,this.yRatio=h.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);const d=o.group({class:"apexcharts-bar-series apexcharts-plot-series"});r.config.dataLabels.enabled&&(this.totalItems,this.barOptions.dataLabels.maxItems);for(let h=0,u=0;h<t.length;h++,u++){let b,g;const p=[],x=[],f=r.globals.comboCharts?e[h]:h,{columnGroupIndex:y}=this.barHelpers.getGroupIndex(f),v=o.group({class:"apexcharts-series",rel:h+1,seriesName:c.escapeString(r.seriesData.seriesNames[f]),"data:realIndex":f});T.addCollapsedClassToSeries(this.w,v,f),t[h].length>0&&(this.visibleI=this.visibleI+1),this.yRatio.length>1&&(this.yaxisIndex=r.globals.seriesYAxisReverseMap[f],this.translationsIndex=f);const m=this.translationsIndex;this.isReversed=r.config.yaxis[this.yaxisIndex]&&r.config.yaxis[this.yaxisIndex].reversed,this.isPyramid&&(this.pyramidLayout=this.barHelpers.computePyramidLayout(t[h]));const C=this.barHelpers.initialPositions(f),{y:w,yDivision:I,zeroW:P,x:A,xDivision:R,zeroH:H}=C;let k=C.barHeight,L=C.barWidth;g=w,b=A,this.isHorizontal||x.push(b+(null!=L?L:0)/2);const W=o.group({class:"apexcharts-datalabels","data:realIndex":f});r.globals.delayedElements.push({el:W.node,holdUntilComplete:!(null==(s=r.config.dataLabels.animate)?void 0:s.enabled)&&this.isLengthTransition(f)}),W.node.classList.add("apexcharts-element-hidden");const D=o.group({class:"apexcharts-bar-goals-markers"}),S=o.group({class:"apexcharts-bar-shadows"});r.globals.delayedElements.push({el:S.node}),S.node.classList.add("apexcharts-element-hidden");for(let e=0;e<t[h].length;e++){const s=this.barHelpers.getStrokeWidth(h,e,f);let o=null;const d={indexes:{i:h,j:e,realIndex:f,translationsIndex:m,bc:u},x:b,y:g,strokeWidth:s,elSeries:v};this.isHorizontal?(o=this.drawBarPaths(l(n({},d),{barHeight:k,zeroW:P,yDivision:I})),L=this.series[h][e]/this.invertedYRatio):(o=this.drawColumnPaths(l(n({},d),{xDivision:R,barWidth:L,zeroH:H})),k=this.series[h][e]/this.yRatio[m]);const C=this.barHelpers.getPathFillColor(t,h,e,f);if(this.isFunnel&&!this.isPyramid&&this.barOptions.isFunnel3d&&"trapezoid"!==(null==(a=r.config.plotOptions.funnel)?void 0:a.shape)&&this.pathArr.length&&e>0){const t=this.barHelpers.drawBarShadow({color:"string"==typeof C.color&&-1===(null==(i=C.color)?void 0:i.indexOf("url"))?C.color:c.hexToRgba(r.globals.colors[h]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:o,realIndex:f,j:e});if(S.add(t),r.config.chart.dropShadow.enabled){new N(this.w).dropShadow(t,r.config.chart.dropShadow,f)}}this.pathArr.push(o);const w=this.barHelpers.drawGoalLine({barXPosition:o.barXPosition,barYPosition:o.barYPosition,goalX:o.goalX,goalY:o.goalY,barHeight:k,barWidth:L});w&&D.add(w),g=o.y,b=o.x,e>0&&x.push(b+(null!=L?L:0)/2),p.push(g),this.renderSeries(l(n({realIndex:f,pathFill:C.color},C.useRangeColor?{lineFill:C.color}:{}),{j:e,i:h,columnGroupIndex:y,pathFrom:o.pathFrom,pathTo:o.pathTo,strokeWidth:s,elSeries:v,x:b,y:g,series:t,barHeight:Math.abs(o.barHeight?o.barHeight:k),barWidth:Math.abs(o.barWidth?o.barWidth:L),elDataLabelsWrap:W,elGoalsMarkers:D,elBarShadows:S,visibleSeries:this.visibleI,type:"bar"}))}if(r.globals.seriesXvalues[f]=x,r.globals.seriesYvalues[f]=p,r.globals.previousPaths.length>0){const e=[];for(let s=0;s<t[h].length;s++)e.push(F(r,f,s));M({w:r,elSeries:v,record:this._prevRecord(f),newKeys:e,isHorizontal:this.isHorizontal,speed:r.config.chart.animations.dynamicAnimation.speed})}d.add(v)}return d}renderSeries({realIndex:t,pathFill:e,lineFill:s,j:a,i:i,columnGroupIndex:r,pathFrom:o,pathTo:n,strokeWidth:l,elSeries:h,x:d,y:c,y1:u,y2:b,series:g,barHeight:p,barWidth:x,barXPosition:f,barYPosition:y,elDataLabelsWrap:v,elGoalsMarkers:m,elBarShadows:C,visibleSeries:w,type:I,classes:P}){var A,R,H,L,W,D,S;const X=this.w,O=new k(this.w,this.ctx),Y=function(t,e){const s=t&&t.renderer;return s&&s.kind&&"svg"!==s.kind?s:e}(this.ctx,O);let M=!1;const T=this._pathToInterp;if(this._pathToInterp=null,h._bindingsDelegated||(h._bindingsDelegated=!0,O.setupEventDelegation(h,`.apexcharts-${I}-area`)),!s){let e=function(t){const e=X.config.stroke.colors;let s;return Array.isArray(e)&&e.length>0&&(s=e[t],s||(s=""),"function"==typeof s)?s({value:X.seriesData.series[t][a],dataPointIndex:a,w:X}):s};const i="function"==typeof X.globals.stroke.colors[t]?e(t):X.globals.stroke.colors[t];s=this.barOptions.distributed?X.globals.stroke.colors[a]:i}const B=X.config.chart.animations,G=B.animateGradually;let _=0,z=0;if(G&&!1!==G.enabled&&!(X.globals.dataChanged&&this.isLayoutShift(t))){const t=X.globals.dataPoints||1,e=G.delay||0,s=Math.min(e,.5*B.speed/Math.max(1,t));z=V({style:"sequential",index:a,baseDelay:s}),X.config.chart.stacked&&!X.globals.dataChanged&&(z+=i*s*.5);_=z/(e||1)}const E=new j(this).handleBarDataLabels({x:d,y:c,y1:u,y2:b,i:i,j:a,series:g,realIndex:t,columnGroupIndex:r,barHeight:p,barWidth:x,barXPosition:f,barYPosition:y,visibleSeries:w});if(z>0){const t=X.config.dataLabels;if((null==(A=t.animate)?void 0:A.enabled)||(null==(R=t.countUp)?void 0:R.enabled)){const t=String(Math.round(z));null==(L=null==(H=E.dataLabels)?void 0:H.node)||L.setAttribute("data:dlDelay",t),null==(D=null==(W=E.totalDataLabels)?void 0:W.node)||D.setAttribute("data:dlDelay",t)}}if(X.globals.isBarHorizontal||(E.dataLabelsPos.dataLabelsX+Math.max(x,X.globals.barPadForNumericAxis)<0||E.dataLabelsPos.dataLabelsX-Math.max(x,X.globals.barPadForNumericAxis)>X.layout.gridWidth)&&(M=!0),X.config.series[i].data[a]&&X.config.series[i].data[a].strokeColor&&(s=X.config.series[i].data[a].strokeColor),this.isNullValue&&-1===X.globals.collapsingSeriesIndices.indexOf(t)&&(e="none"),!M){const r=!0===(null==(S=this.ctx.morphTypeChange)?void 0:S.isActive()),d=r?this.ctx.morphTypeChange.getSpeed():X.config.chart.animations.dynamicAnimation.speed,c=r&&this.ctx.morphTypeChange.claimsTargetMark(t,a);c&&(o=n,_=0);const g=Y.renderPaths({i:i,j:a,realIndex:t,pathFrom:o,pathTo:n,stroke:s,strokeWidth:l,strokeLineCap:X.config.stroke.lineCap,fill:e,pathToInterp:T,animationDelay:_,initialSpeed:X.config.chart.animations.speed,dataChangeSpeed:d,className:`apexcharts-${I}-area${P?` ${P}`:""}`,chartType:I,bindEventsOnPaths:!1});g.attr("clip-path",`url(#gridRectBarMask${X.globals.cuid})`),c&&(g.node.setAttribute("opacity","0"),g.node.setAttribute("data-piece-hidden","1"));const f=X.config.forecastDataPoints;f.count>0&&a>=X.globals.dataPoints-f.count&&(g.node.setAttribute("stroke-dasharray",f.dashArray),g.node.setAttribute("stroke-width",f.strokeWidth),g.node.setAttribute("fill-opacity",f.fillOpacity)),void 0!==u&&void 0!==b&&(g.attr("data-range-y1",u),g.attr("data-range-y2",b));new N(this.w).setSelectionFilter(g,t,a),h.add(g),g.attr({cy:E.dataLabelsPos.bcy,cx:E.dataLabelsPos.bcx,j:a,val:X.seriesData.series[i][a],barHeight:p,barWidth:x,"data:pathKey":F(X,t,a)}),"canvas"===Y.kind&&(X.globals.barCanvasCoords||(X.globals.barCanvasCoords={}),X.globals.barCanvasCoords[t]||(X.globals.barCanvasCoords[t]={}),X.globals.barCanvasCoords[t][a]={cx:E.dataLabelsPos.bcx,cy:E.dataLabelsPos.bcy,barWidth:x}),null!==E.dataLabels&&v.add(E.dataLabels),E.totalDataLabels&&v.add(E.totalDataLabels),h.add(v),m&&h.add(m),C&&h.add(C)}return h}drawBarPaths({indexes:t,barHeight:e,strokeWidth:s,zeroW:a,x:i,y:r,yDivision:o,elSeries:n}){const l=this.w,h=t.i,d=t.j;let c;if(l.axisFlags.isXNumeric)c=(r=(l.seriesData.seriesX[h][d]-l.globals.minX)/this.invertedXRatio-e)+e*this.visibleI;else if(l.config.plotOptions.bar.hideZeroBarsWhenGrouped){const{nonZeroColumns:t,zeroEncounters:s}=this.barHelpers.getZeroValueEncounters({i:h,j:d});t>0&&(e=this.seriesLen*e/t),c=r+e*this.visibleI,c-=e*s}else c=r+e*this.visibleI;const u=this.isFunnel&&"trapezoid"===l.config.plotOptions.funnel.shape,b=this.isPyramid&&this.pyramidLayout?this.pyramidLayout[d]:null,g=!!b;if(b)c=b.y,e=b.height;else if(this.isFunnel&&!u){const t=null!=a?a:0;a=t-(this.barHelpers.getXForValue(this.series[h][d],t)-t)/2}let p;return i=this.barHelpers.getXForValue(this.series[h][d],null!=a?a:0),p=b?this.barHelpers.getPyramidPaths({barYPosition:c,barHeight:e,topHalf:b.topHalf,bottomHalf:b.bottomHalf,realIndex:t.realIndex,j:d,strokeWidth:s,w:l}):u?this.barHelpers.getFunnelTrapezoidPaths({barYPosition:c,barHeight:e,series:this.series,i:h,j:d,realIndex:t.realIndex,strokeWidth:s,w:l}):this.barHelpers.getBarpaths({barYPosition:c,barHeight:e,x1:a,x2:i,strokeWidth:s,isReversed:this.isReversed,series:this.series,realIndex:t.realIndex,i:h,j:d,w:l}),(u||g)&&(a=p.x1,i=p.x),l.axisFlags.isXNumeric||g||(r+=o),g&&(r=c),this.barHelpers.barBackground({j:d,i:h,y1:c-e*this.visibleI,y2:e*this.seriesLen,elSeries:n}),{pathTo:p.pathTo,pathFrom:p.pathFrom,x1:a,x:i,y:r,goalX:this.barHelpers.getGoalValues("x",a,null,t.realIndex,d,0),barYPosition:c,barHeight:e}}drawColumnPaths({indexes:t,x:e,y:s,xDivision:a,barWidth:i,zeroH:r,strokeWidth:o,elSeries:n}){const l=this.w,h=t.realIndex,d=t.translationsIndex,c=t.i,u=t.j,b=t.bc;let g;if(l.axisFlags.isXNumeric){const t=this.getBarXForNumericXAxis({x:e,j:u,realIndex:h,barWidth:i});e=t.x,g=t.barXPosition}else if(l.config.plotOptions.bar.hideZeroBarsWhenGrouped){const{nonZeroColumns:t,zeroEncounters:s}=this.barHelpers.getZeroValueEncounters({i:c,j:u});t>0&&(i=this.seriesLen*i/t),g=e+i*this.visibleI,g-=i*s}else g=e+i*this.visibleI;s=this.barHelpers.getYForValue(this.series[c][u],r,d);const p=this.barHelpers.getColumnPaths({barXPosition:g,barWidth:i,y1:r,y2:s,strokeWidth:o,isReversed:this.isReversed,series:this.series,realIndex:h,i:c,j:u,w:l});return l.axisFlags.isXNumeric||(e+=a),this.barHelpers.barBackground({bc:b,j:u,i:c,x1:g-o/2-i*this.visibleI,x2:i*this.seriesLen+o/2,elSeries:n}),{pathTo:p.pathTo,pathFrom:p.pathFrom,x:e,y:s,goalY:this.barHelpers.getGoalValues("y",null,r,h,u,d),barXPosition:g,barWidth:i}}getBarXForNumericXAxis({x:t,barWidth:e,realIndex:s,j:a}){const i=this.w;let r=s;return i.seriesData.seriesX[s].length||(r=i.globals.maxValsInArrayIndex),c.isNumber(i.seriesData.seriesX[r][a])&&(t=E.dataXToPx(i,i.seriesData.seriesX[r][a])-e*this.seriesLen/2),{barXPosition:t+(G(i)?0:e*this.visibleI),x:t}}_prevRecord(t){const e=this.w;let s=null;for(let a=0;a<e.globals.previousPaths.length;a++){const i=e.globals.previousPaths[a];i.paths&&i.paths.length>0&&parseInt(i.realIndex,10)===parseInt(String(t),10)&&(s=i)}return s}_prevKeyedPaths(t){if(this._prevKeyed||(this._prevKeyed={}),void 0!==this._prevKeyed[t])return this._prevKeyed[t];const e=this._prevRecord(t);let s=null;if(e&&e.paths.every(t=>null!=t.key)){const t=new Map;e.paths.forEach(e=>{t.set(e.key,e)}),s=t}return this._prevKeyed[t]=s,s}isLengthTransition(t){var e,s;if(this._ltCache||(this._ltCache={}),void 0!==this._ltCache[t])return this._ltCache[t];const a=this.w;let i=!1;if(X(a)&&a.globals.previousPaths.length>0){const r=this._prevRecord(t),o=null!=(s=null==(e=a.seriesData.series[t])?void 0:e.length)?s:0;if(r)if(r.paths.length!==o)i=!0;else{const e=this._prevKeyedPaths(t);if(e)for(let s=0;s<o;s++)if(!e.has(F(a,t,s))){i=!0;break}}else i=o>0}return this._ltCache[t]=i,i}isLayoutShift(t){if(this.isLengthTransition(t))return!0;if(this._layoutShiftCache||(this._layoutShiftCache={}),void 0!==this._layoutShiftCache[t])return this._layoutShiftCache[t];const e=Y(this.w,t,!0,!0),s=!(!e||!e.join.changed);return this._layoutShiftCache[t]=s,s}getPreviousPath(t,e,s,a){const i=this.w;this._pathToInterp=null;const r=this._prevRecord(t);if(!r)return X(i)?null:s;let o=null,n=!1;const l=this._prevKeyedPaths(t);if(l){const s=l.get(F(i,t,e));s?o=s.d:n=!0}else void 0!==r.paths[e]?o=r.paths[e].d:n=!0;if(o){const t=$.pathCommandCount(o),e=$.pathCommandCount(s);if(t===e)return o;const r=new k(i),n=t=>{const e=$.pathBox(t);return e?Math.min(e.maxX-e.minX,e.maxY-e.minY):0},l=t<e?n(o)>1:n(s)>1;if(t<e){const t=r.roundPathCorners(o,0);if($.pathCommandCount(t)===e){if(l&&a){const t=r.roundPathCorners(a,0);$.pathCommandCount(t)===e&&(this._pathToInterp=t)}return t}}else{const e=r.roundPathCorners(s,0);if($.pathCommandCount(e)===t){if(this._pathToInterp=e,l){const e=$.squareLike(o),s=e?r.roundPathCorners(e,0):null;if(s&&$.pathCommandCount(s)===t)return s}return o}}}return n&&X(i)?null:s}static pathBox(t){if(!t)return null;const e=[],s=/([MLC])([^MLCZz]*)/g;let a;for(;null!==(a=s.exec(t));){const t=a[2].trim().split(/[\s,]+/).map(Number);t.length<2||t.some(isNaN)||e.push([t[t.length-2],t[t.length-1]])}if(e.length<3)return null;const i=e.map(t=>t[0]),r=e.map(t=>t[1]);return{minX:Math.min(...i),maxX:Math.max(...i),minY:Math.min(...r),maxY:Math.max(...r),start:e[0],vertical:Math.abs(e[1][0]-e[0][0])<Math.abs(e[1][1]-e[0][1])}}static squareLike(t){const e=$.pathBox(t);if(!e)return null;const{minX:s,maxX:a,minY:i,maxY:r,start:o,vertical:n}=e,l=(t,e,s)=>Math.abs(t-e)<=Math.abs(t-s)?[e,s]:[s,e];let h,d,c,u;n?(h=Math.abs(o[0]-s)<=Math.abs(o[0]-a)?s:a,d=h===s?a:s,[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],s,a));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 s=this.w,a=this._prevRecord(t);if(!a)return null;const i=this._prevKeyedPaths(t),r=i?i.get(F(s,t,e)):a.paths[e];return r?!!r.flip:null}static pathCommandCount(t){if(!t)return 0;const e=t.match(/[A-Za-z]/g);return e?e.length:0}}d.default.use({bar:$,column:$,barStacked:class extends ${draw(t,e){const s=this.w;this.graphics=new k(this.w),this.bar=new $(this.w,this.ctx,this.xyRatios);const a=new z(this.w);t=a.getLogSeries(t),this.yRatio=a.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t),"100%"===s.config.chart.stackType&&(t=s.globals.comboCharts?e.map(t=>s.globals.seriesPercent[t]):s.globals.seriesPercent.slice()),this.series=t,this.barHelpers.initializeStackedPrevVars(this);const i=this.graphics.group({class:"apexcharts-bar-series apexcharts-plot-series"});let r=0,o=0;const h=s.config.chart.animations,d=h.enabled&&h.dynamicAnimation.enabled&&s.globals.previousPaths.length>0;let u=!1;for(let a=0,h=0;a<t.length;a++,h++){const b=s.globals.comboCharts?e[a]:a,{groupIndex:g,columnGroupIndex:p}=this.barHelpers.getGroupIndex(b);this.groupCtx=this[s.labelData.seriesGroups[g]];const x=[],f=[];let y=0;this.yRatio.length>1&&(this.yaxisIndex=s.globals.seriesYAxisReverseMap[b][0],y=b),this.isReversed=s.config.yaxis[this.yaxisIndex]&&s.config.yaxis[this.yaxisIndex].reversed;let v=this.graphics.group({class:"apexcharts-series",seriesName:c.escapeString(s.seriesData.seriesNames[b]),rel:a+1,"data:realIndex":b});T.addCollapsedClassToSeries(this.w,v,b);const m=this.graphics.group({class:"apexcharts-datalabels","data:realIndex":b});T.addCollapsedClassToSeries(this.w,m,b),(s.globals.collapsingSeriesIndices||[]).indexOf(b)>-1&&m.node.style.setProperty("--apexcharts-dl-exit",`${s.config.chart.animations.dynamicAnimation.speed}ms`);const C=this.graphics.group({class:"apexcharts-bar-goals-markers"}),w=this.initialPositions(r,o,void 0,void 0,void 0,void 0,y),{xDivision:I,yDivision:P,zeroH:A,zeroW:R}=w;let H=w.barHeight,k=w.barWidth;o=w.y,r=w.x,s.globals.barHeight=H,s.globals.barWidth=k,this.barHelpers.initializeStackedXYVars(this),1===this.groupCtx.prevY.length&&this.groupCtx.prevY[0].every(t=>isNaN(t))&&(this.groupCtx.prevY[0]=this.groupCtx.prevY[0].map(()=>A),this.groupCtx.prevYF[0]=this.groupCtx.prevYF[0].map(()=>0));for(let e=0;e<s.globals.dataPoints;e++){const i=this.barHelpers.getStrokeWidth(a,e,b),c={indexes:{i:a,j:e,realIndex:b,translationsIndex:y,bc:h},strokeWidth:i,x:r,y:o,elSeries:v,columnGroupIndex:p,seriesGroup:s.labelData.seriesGroups[g]};let w=null;this.isHorizontal?(w=this.drawStackedBarPaths(l(n({},c),{zeroW:R,barHeight:H,yDivision:P})),k=this.series[a][e]/this.invertedYRatio):(w=this.drawStackedColumnPaths(l(n({},c),{xDivision:I,barWidth:k,zeroH:A})),H=this.series[a][e]/this.yRatio[y]);const L=this.barHelpers.drawGoalLine({barXPosition:w.barXPosition,barYPosition:w.barYPosition,goalX:w.goalX,goalY:w.goalY,barHeight:H,barWidth:k});L&&C.add(L),o=w.y,r=w.x,x.push(r),f.push(o);const W=this.barHelpers.getPathFillColor(t,a,e,b);let D="";const S=s.globals.isBarHorizontal?"apexcharts-flip-x":"apexcharts-flip-y",X="bottom"===this.barHelpers.arrBorderRadius[b][e]&&s.seriesData.series[b][e]>0||"top"===this.barHelpers.arrBorderRadius[b][e]&&s.seriesData.series[b][e]<0,F=d&&!X&&this.getPreviousFlip(b,e);(X||F)&&(D=S),F&&(D+=" apexcharts-flip-held",u=!0),v=this.renderSeries(l(n({realIndex:b,pathFill:W.color},W.useRangeColor?{lineFill:W.color}:{}),{j:e,i:a,columnGroupIndex:p,pathFrom:w.pathFrom,pathTo:w.pathTo,strokeWidth:i,elSeries:v,x:r,y:o,series:t,barHeight:H,barWidth:k,elDataLabelsWrap:m,elGoalsMarkers:C,type:"bar",visibleSeries:p,classes:D}))}s.globals.seriesXvalues[b]=x,s.globals.seriesYvalues[b]=f,this.groupCtx.prevY.push(this.groupCtx.yArrj),this.groupCtx.prevYF.push(this.groupCtx.yArrjF),this.groupCtx.prevYVal.push(this.groupCtx.yArrjVal),this.groupCtx.prevX.push(this.groupCtx.xArrj),this.groupCtx.prevXF.push(this.groupCtx.xArrjF),this.groupCtx.prevXVal.push(this.groupCtx.xArrjVal),i.add(v)}return u&&this.settleHeldMirrors(),i}settleHeldMirrors(){const t=this.w;if(!S.isBrowser())return;const e=t.config.chart.animations,s=(e.dynamicAnimation.speed||0)+(e.speed||0)+100;setTimeout(()=>{!t.globals.isDestroyed&&c.elementExists(t.dom.baseEl)&&t.dom.baseEl.querySelectorAll(".apexcharts-flip-held").forEach(t=>{t.classList.remove("apexcharts-flip-held","apexcharts-flip-y","apexcharts-flip-x")})},s)}initialPositions(t,e,s,a,i,r,o){const n=this.w;let l,h;if(this.isHorizontal){a=n.layout.gridHeight/n.globals.dataPoints;const t=n.config.plotOptions.bar.barHeight;l=-1===String(t).indexOf("%")?parseInt(t,10):a*parseInt(t,10)/100,r=n.globals.padHorizontal+(this.isReversed?n.layout.gridWidth-this.baseLineInvertedY:this.baseLineInvertedY),e=(a-l)/2}else{h=s=n.layout.gridWidth/n.globals.dataPoints;const e=n.config.plotOptions.bar.columnWidth;n.axisFlags.isXNumeric&&n.globals.dataPoints>1?h=(s=n.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:-1===String(e).indexOf("%")?h=parseInt(e,10):h*=parseInt(e,10)/100,i=this.isReversed?this.baseLineY[o]:n.layout.gridHeight-this.baseLineY[o],t=n.globals.padHorizontal+(s-h)/2}const d=n.globals.barGroups.length||1;return{x:t,y:e,yDivision:a,xDivision:s,barHeight:(null!=l?l:0)/d,barWidth:(null!=h?h:0)/d,zeroH:i,zeroW:r}}drawStackedBarPaths({indexes:t,barHeight:e,strokeWidth:s,zeroW:a,x:i,y:r,columnGroupIndex:o,seriesGroup:n,yDivision:l,elSeries:h}){var d,c,u,b,g;const p=this.w,x=r+o*e;let f;const y=t.i,v=t.j,m=t.realIndex,C=t.translationsIndex;let w=0;for(let t=0;t<this.groupCtx.prevXF.length;t++)w+=this.groupCtx.prevXF[t][v];let I=y;if(p.config.series[m].name&&(I=n.indexOf(p.config.series[m].name)),I>0){let t=a;this.groupCtx.prevXVal[I-1][v]<0?t=(null==(d=this.series[y])?void 0:d[v])>=0?this.groupCtx.prevX[I-1][v]+w-2*(this.isReversed?w:0):this.groupCtx.prevX[I-1][v]:this.groupCtx.prevXVal[I-1][v]>=0&&(t=(null==(c=this.series[y])?void 0:c[v])>=0?this.groupCtx.prevX[I-1][v]:this.groupCtx.prevX[I-1][v]-w+2*(this.isReversed?w:0)),f=t}else f=a;i=null===(null==(u=this.series[y])?void 0:u[v])?f:f+(null==(b=this.series[y])?void 0:b[v])/this.invertedYRatio-2*(this.isReversed?(null==(g=this.series[y])?void 0:g[v])/this.invertedYRatio:0);const P=this.barHelpers.getBarpaths({barYPosition:x,barHeight:e,x1:f,x2:i,strokeWidth:s,isReversed:this.isReversed,series:this.series,realIndex:t.realIndex,seriesGroup:n,i:y,j:v,w:p});return this.barHelpers.barBackground({j:v,i:y,y1:x,y2:e,elSeries:h}),r+=l,{pathTo:P.pathTo,pathFrom:P.pathFrom,goalX:this.barHelpers.getGoalValues("x",a,null,m,v,C),barXPosition:f,barYPosition:x,x:i,y:r}}drawStackedColumnPaths({indexes:t,x:e,y:s,xDivision:a,barWidth:i,zeroH:r,columnGroupIndex:o,seriesGroup:n,elSeries:l}){var h,d,c,u,b,g,p,x,f;const y=this.w,v=t.i,m=t.j,C=t.bc,w=t.realIndex,I=t.translationsIndex;if(y.axisFlags.isXNumeric){let t=y.seriesData.seriesX[w][m];t||(t=0),e=(t-y.globals.minX)/this.xRatio-i/2*y.globals.barGroups.length}const P=e+o*i;let A,R=0;for(let t=0;t<this.groupCtx.prevYF.length;t++)R+=isNaN(this.groupCtx.prevYF[t][m])?0:this.groupCtx.prevYF[t][m];let H=v;if(n&&(H=n.indexOf(y.seriesData.seriesNames[w])),H>0&&!y.axisFlags.isXNumeric||H>0&&y.axisFlags.isXNumeric&&y.seriesData.seriesX[w-1][m]===y.seriesData.seriesX[w][m]){let t,e;const s=Math.min(this.yRatio.length+1,w+1);if(void 0!==this.groupCtx.prevY[H-1]&&this.groupCtx.prevY[H-1].length)for(let t=1;t<s;t++)if(!isNaN(null==(h=this.groupCtx.prevY[H-t])?void 0:h[m])){e=this.groupCtx.prevY[H-t][m];break}for(let a=1;a<s;a++){if((null==(d=this.groupCtx.prevYVal[H-a])?void 0:d[m])<0){t=(null==(c=this.series[v])?void 0:c[m])>=0?e-R+2*(this.isReversed?R:0):e;break}if((null==(u=this.groupCtx.prevYVal[H-a])?void 0:u[m])>=0){t=(null==(b=this.series[v])?void 0:b[m])>=0?e:e+R-2*(this.isReversed?R:0);break}}void 0===t&&(t=y.layout.gridHeight),A=(null==(g=this.groupCtx.prevYF[0])?void 0:g.every(t=>0===t))&&this.groupCtx.prevYF.slice(1,H).every(t=>t.every(t=>isNaN(t)))?r:t}else A=r;s=(null==(p=this.series[v])?void 0:p[m])?A-(null==(x=this.series[v])?void 0:x[m])/this.yRatio[I]+2*(this.isReversed?(null==(f=this.series[v])?void 0:f[m])/this.yRatio[I]:0):A;const k=this.barHelpers.getColumnPaths({barXPosition:P,barWidth:i,y1:A,y2:s,yRatio:this.yRatio[I],strokeWidth:this.strokeWidth,isReversed:this.isReversed,series:this.series,seriesGroup:n,realIndex:t.realIndex,i:v,j:m,w:y});return this.barHelpers.barBackground({bc:C,j:m,i:v,x1:P,x2:i,elSeries:l}),{pathTo:k.pathTo,pathFrom:k.pathFrom,goalY:this.barHelpers.getGoalValues("y",null,r,w,m,0),barXPosition:P,x:y.axisFlags.isXNumeric?e:e+a,y:s}}},rangeBar:class extends ${draw(t,e){var s,a,i,r,o,l,h,d,u;const b=this.w,g=new k(this.w);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=t,this.seriesRangeStart=b.rangeData.seriesRangeStart,this.seriesRangeEnd=b.rangeData.seriesRangeEnd,this.barHelpers.initVariables(t);const p=g.group({class:"apexcharts-rangebar-series apexcharts-plot-series"});for(let x=0;x<t.length;x++){let f,y;const v=b.globals.comboCharts?e[x]:x,{columnGroupIndex:m}=this.barHelpers.getGroupIndex(v),C=g.group({class:"apexcharts-series",seriesName:c.escapeString(b.seriesData.seriesNames[v]),rel:x+1,"data:realIndex":v});T.addCollapsedClassToSeries(this.w,C,v),t[x].length>0&&(this.visibleI=this.visibleI+1);let w=0;this.yRatio.length>1&&(this.yaxisIndex=b.globals.seriesYAxisReverseMap[v][0],w=v);const I=this.barHelpers.initialPositions(v),{y:P,zeroW:A,x:R,zeroH:H}=I;let k=null!=(s=I.barWidth)?s:0,L=null!=(a=I.barHeight)?a:0;const W=null!=(i=I.yDivision)?i:0,D=null!=(r=I.xDivision)?r:0;y=P,f=R;const S=g.group({class:"apexcharts-datalabels","data:realIndex":v}),X=g.group({class:"apexcharts-rangebar-goals-markers"});for(let e=0;e<b.globals.dataPoints;e++){const s=this.barHelpers.getStrokeWidth(x,e,v),a=this.seriesRangeStart[x][e],i=this.seriesRangeEnd[x][e];let r=null,c=null,g=null;const p={x:f,y:y,strokeWidth:s,elSeries:C};let P=this.seriesLen;if(b.config.plotOptions.bar.rangeBarGroupRows&&(P=1),void 0===(null==(o=b.config.series[x].data)?void 0:o[e]))break;if(this.isHorizontal){g=y+L*this.visibleI;const t=(W-L*P)/2;if(null==(h=null==(l=b.config.series[x].data)?void 0:l[e])?void 0:h.x){const s=this.detectOverlappingBars({i:x,j:e,barYPosition:g,srty:t,barHeight:L,yDivision:W,initPositions:I});L=s.barHeight,g=s.barYPosition}r=this.drawRangeBarPaths(n({indexes:{i:x,j:e,realIndex:v},barHeight:L,barYPosition:g,zeroW:A,yDivision:W,y1:a,y2:i},p)),k=r.barWidth}else{b.axisFlags.isXNumeric&&(f=(b.seriesData.seriesX[x][e]-b.globals.minX)/this.xRatio-k/2),c=f+k*this.visibleI;const t=(D-k*P)/2;if(null==(u=null==(d=b.config.series[x].data)?void 0:d[e])?void 0:u.x){const s=this.detectOverlappingBars({i:x,j:e,barXPosition:c,srtx:t,barWidth:k,xDivision:D,initPositions:I});k=s.barWidth,c=s.barXPosition}r=this.drawRangeColumnPaths(n({indexes:{i:x,j:e,realIndex:v,translationsIndex:w},barWidth:k,barXPosition:c,zeroH:H,xDivision:D},p)),L=r.barHeight}const R=this.barHelpers.drawGoalLine({barXPosition:r.barXPosition,barYPosition:g,goalX:r.goalX,goalY:r.goalY,barHeight:L,barWidth:k});R&&X.add(R),y=r.y,f=r.x;const F=this.barHelpers.getPathFillColor(t,x,e,v);this.renderSeries({realIndex:v,pathFill:F.color,lineFill:F.useRangeColor?F.color:b.globals.stroke.colors[v],j:e,i:x,x:f,y:y,y1:a,y2:i,pathFrom:r.pathFrom,pathTo:r.pathTo,strokeWidth:s,elSeries:C,series:t,barHeight:L,barWidth:k,barXPosition:c,barYPosition:g,columnGroupIndex:m,elDataLabelsWrap:S,elGoalsMarkers:X,visibleSeries:this.visibleI,type:"rangebar"})}p.add(C)}return p}detectOverlappingBars({i:t,j:e,barYPosition:s,barXPosition:a,srty:i,srtx:r,barHeight:o,barWidth:n,yDivision:l,xDivision:h,initPositions:d}){var c,u,b,g;const p=this.w;let x=[];const f=null==(u=null==(c=p.globals.seriesRangeName)?void 0:c[t])?void 0:u[e],y=null==(g=null==(b=p.config.series[t].data)?void 0:b[e])?void 0:g.x,v=Array.isArray(y)?y.join(" "):y,m=p.labelData.labels.map(t=>Array.isArray(t)?t.join(" "):t).indexOf(v),C=p.rangeData.seriesRange[t].findIndex(t=>{var e;return t.x===v&&(null==(e=t.overlaps)?void 0:e.size)>0});return this.isHorizontal?(s=p.config.plotOptions.bar.rangeBarGroupRows?i+l*m:i+o*this.visibleI+l*m,C>-1&&!p.config.plotOptions.bar.rangeBarOverlap&&(x=Array.from(p.rangeData.seriesRange[t][C].overlaps),x.indexOf(f)>-1&&(s=(o=d.barHeight/x.length)*this.visibleI+l*(100-parseInt(this.barOptions.barHeight,10))/100/2+o*(this.visibleI+x.indexOf(f))+l*m))):(m>-1&&!p.labelData.timescaleLabels.length&&(a=p.config.plotOptions.bar.rangeBarGroupRows?r+h*m:r+n*this.visibleI+h*m),C>-1&&!p.config.plotOptions.bar.rangeBarOverlap&&(x=Array.from(p.rangeData.seriesRange[t][C].overlaps),x.indexOf(f)>-1&&(a=(n=d.barWidth/x.length)*this.visibleI+h*(100-parseInt(this.barOptions.barWidth,10))/100/2+n*(this.visibleI+x.indexOf(f))+h*m))),{barYPosition:s,barXPosition:a,barHeight:o,barWidth:n}}drawRangeColumnPaths({indexes:t,x:e,xDivision:s,barWidth:a,barXPosition:i,zeroH:r}){var o,n;const l=this.w,{i:h,j:d,realIndex:c,translationsIndex:u}=t,b=this.yRatio[u],g=this.getRangeValue(c,d);let p=Math.min(g.start,g.end),x=Math.max(g.start,g.end);void 0===(null==(o=this.series[h])?void 0:o[d])||null===(null==(n=this.series[h])?void 0:n[d])?p=r:(p=r-p/b,x=r-x/b);const f=Math.abs(x-p),y=this.barHelpers.getColumnPaths({barXPosition:i,barWidth:a,y1:p,y2:x,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:c,i:c,j:d,w:l});if(l.axisFlags.isXNumeric){const t=this.getBarXForNumericXAxis({x:e,j:d,realIndex:c,barWidth:a});e=t.x,i=t.barXPosition}else e+=s;return{pathTo:y.pathTo,pathFrom:y.pathFrom,barHeight:f,x:e,y:g.start<0&&g.end<0?p:x,goalY:this.barHelpers.getGoalValues("y",null,r,c,d,u),barXPosition:i}}preventBarOverflow(t){const e=this.w;return t<0&&(t=0),t>e.layout.gridWidth&&(t=e.layout.gridWidth),t}drawRangeBarPaths({indexes:t,y:e,y1:s,y2:a,yDivision:i,barHeight:r,barYPosition:o,zeroW:n}){const l=this.w,{realIndex:h,j:d}=t,c=this.preventBarOverflow(n+s/this.invertedYRatio),u=this.preventBarOverflow(n+a/this.invertedYRatio),b=this.getRangeValue(h,d),g=Math.abs(u-c),p=this.barHelpers.getBarpaths({barYPosition:o,barHeight:r,x1:c,x2:u,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:h,realIndex:h,j:d,w:l});return l.axisFlags.isXNumeric||(e+=i),{pathTo:p.pathTo,pathFrom:p.pathFrom,barWidth:g,x:b.start<0&&b.end<0?c:u,goalX:this.barHelpers.getGoalValues("x",n,null,h,d,0),y:e}}getRangeValue(t,e){const s=this.w;return{start:s.rangeData.seriesRangeStart[t][e],end:s.rangeData.seriesRangeEnd[t][e]}}}}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>d.default});