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/line.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(e){var t="undefined"!=typeof globalThis?globalThis:self,s=t.ApexCharts;if(s&&s.__internals)return e.call(t);if(s)throw new Error("ApexCharts: dist/line.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 e.call(t);if("object"==typeof exports&&"undefined"!=typeof module||"undefined"==typeof window||"undefined"==typeof document)throw new Error("ApexCharts: dist/line.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 i={file:"dist/line.js",run:e,done:!1},n=t.__apexcharts_pending_addons__||(t.__apexcharts_pending_addons__=[]);n.push(i),"complete"!==document.readyState&&window.addEventListener("load",function(){if(!i.done){var s=t.ApexCharts;if(s)if(s.__internals){i.done=!0;var r=n.indexOf(i);-1!==r&&n.splice(r,1);try{e.call(t),s.__drainsAddons||t.console.warn("ApexCharts: dist/line.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(e){t.console.error("ApexCharts: dist/line.js could not register with the ApexCharts script on this page: "+(e&&e.message))}}else t.console.error("ApexCharts: dist/line.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 t.console.warn("ApexCharts: dist/line.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 e,t;e=this,t=function(e){"use strict";var t=Object.defineProperty,s=Object.defineProperties,i=Object.getOwnPropertyDescriptors,n=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,l=(e,s,i)=>s in e?t(e,s,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[s]=i,o=(e,t)=>{for(var s in t||(t={}))r.call(t,s)&&l(e,s,t[s]);if(n)for(var s of n(t))a.call(t,s)&&l(e,s,t[s]);return e},h=(e,t)=>s(e,i(t));const c=globalThis.ApexCharts,u=globalThis.ApexCharts.__internals.__apex_CoreUtils,p=globalThis.ApexCharts.__internals.__apex_Graphics,d=globalThis.ApexCharts.__internals.__apex_Fill,g=globalThis.ApexCharts.__internals.__apex_DataLabels,f=globalThis.ApexCharts.__internals.__apex_Markers,m=globalThis.ApexCharts.__internals.__apex_charts_Scatter,x=globalThis.ApexCharts.__internals.__apex_Series,b=globalThis.ApexCharts.__internals.__apex_Utils;class y{constructor(e){this.w=e.w,this.lineCtx=e}sameValueSeriesFix(e,t){const s=this.w;if(("gradient"===s.config.fill.type||"gradient"===s.config.fill.type[e])&&new u(this.lineCtx.w).seriesHaveSameValues(e)){const s=t[e].slice();s[s.length-1]=s[s.length-1]+1e-6,t[e]=s}return t}calculatePoints({series:e,realIndex:t,x:s,y:i,i:n,j:r,prevY:a}){const l=this.w,o=[],h=[];let c=this.lineCtx.categoryAxisCorrection+l.config.markers.offsetX;return l.axisFlags.isXNumeric&&(c=(l.seriesData.seriesX[t][0]-l.globals.minX)/this.lineCtx.xRatio+l.config.markers.offsetX),0===r&&(o.push(c),h.push(b.isNumber(e[n][0])?a+l.config.markers.offsetY:null)),o.push(s+l.config.markers.offsetX),h.push(b.isNumber(e[n][r+1])?i+l.config.markers.offsetY:null),{x:o,y:h}}checkPreviousPaths({pathFromLine:e,pathFromArea:t,realIndex:s}){const i=this.w;for(let n=0;n<i.globals.previousPaths.length;n++){const r=i.globals.previousPaths[n];("line"===r.type||"area"===r.type)&&r.paths.length>0&&parseInt(r.realIndex,10)===parseInt(s,10)&&("line"===r.type?(this.lineCtx.appendPathFrom=!1,e=i.globals.previousPaths[n].paths[0].d):"area"===r.type&&(this.lineCtx.appendPathFrom=!1,t=i.globals.previousPaths[n].paths[0].d,i.config.stroke.show&&i.globals.previousPaths[n].paths[1]&&(e=i.globals.previousPaths[n].paths[1].d)))}return{pathFromLine:e,pathFromArea:t}}previousRangeAreaPath(e){for(const t of this.w.globals.previousPaths)if("rangeArea"===t.type&&parseInt(t.realIndex,10)===parseInt(String(e),10)&&1===t.paths.length&&t.paths[0].d)return t.paths[0].d;return null}determineFirstPrevY({i:e,realIndex:t,series:s,prevY:i,lineYPosition:n,translationsIndex:r}){var a,l,o;const h=this.w,c=h.config.chart.stacked&&!h.globals.comboCharts||h.config.chart.stacked&&h.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||"bar"===(null==(a=this.w.config.series[t])?void 0:a.type)||"column"===(null==(l=this.w.config.series[t])?void 0:l.type));if(void 0!==(null==(o=s[e])?void 0:o[0])){if(c)if(e>0){const e=this.lineCtx.stackTopAt(t,0);n=void 0===e?this.lineCtx.zeroY:e}else n=this.lineCtx.zeroY;else n=this.lineCtx.zeroY;i=n-s[e][0]/this.lineCtx.yRatio[r]+2*(this.lineCtx.isReversed?s[e][0]/this.lineCtx.yRatio[r]:0)}else if(c&&e>0&&void 0===s[e][0])for(let t=e-1;t>=0;t--)if(null!==s[t][0]&&void 0!==s[t][0]){i=n=this.lineCtx.prevSeriesY[t][0];break}return{prevY:i,lineYPosition:n}}}function v(e){let t=(2654435769^e)>>>0;return t=Math.imul(t^t>>>16,73244475),t=Math.imul(t^t>>>16,73244475),((t^t>>>16)>>>0)/4294967296}const A=e=>{const t=function(e){const t=[];let s=e[0],i=e[1],n=t[0]=_(s,i),r=1;for(let a=e.length-1;r<a;r++)s=i,i=e[r+1],t[r]=.5*(n+(n=_(s,i)));return t[r]=n,t}(e),s=e.length-1,i=[];let n,r,a,l;for(let i=0;i<s;i++)a=_(e[i],e[i+1]),Math.abs(a)<1e-6?t[i]=t[i+1]=0:(n=t[i]/a,r=t[i+1]/a,l=n*n+r*r,l>9&&(l=3*a/Math.sqrt(l),t[i]=l*n,t[i+1]=l*r));for(let n=0;n<=s;n++)l=(e[Math.min(s,n+1)][0]-e[Math.max(0,n-1)][0])/(6*(1+t[n]*t[n])),i.push([l||0,t[n]*l||0]);return i},P={points(e){const t=A(e),s=e[1],i=e[0],n=[],r=t[1],a=t[0];n.push(i,[i[0]+a[0],i[1]+a[1],s[0]-r[0],s[1]-r[1],s[0],s[1]]);for(let s=2,i=t.length;s<i;s++){const i=e[s],r=t[s];n.push([i[0]-r[0],i[1]-r[1],i[0],i[1]])}return n},slice(e,t,s){const i=e.slice(t,s);if(t){if(s-t>1&&i[1].length<6){const e=i[0].length;i[1]=[2*i[0][e-2]-i[0][e-4],2*i[0][e-1]-i[0][e-3]].concat(i[1])}i[0]=i[0].slice(-2)}return i}};function _(e,t){return(t[1]-e[1])/(t[0]-e[0])}const w=/[+-]?(?:\d+\.?\d*|\.\d+)(?:e[+-]?\d+)?/gi;function k(e,t){const{ax:s,bx:i,ay:n,by:r}=t,a=[],l=/([MmLlHhVvCcSsQqTtAaZz])([^MmLlHhVvCcSsQqTtAaZz]*)/g;let o;for(;null!==(o=l.exec(e));){const e=o[1].toUpperCase(),t=(o[2].match(w)||[]).map(parseFloat);if("Z"===e){a.push("z");continue}if("H"===e){for(const e of t)a.push(`H ${s*e+i}`);continue}if("V"===e){for(const e of t)a.push(`V ${n*e+r}`);continue}if("A"===e){for(let e=0;e+6<t.length;e+=7)a.push(`A ${t[e]} ${t[e+1]} ${t[e+2]} ${t[e+3]} ${t[e+4]} ${s*t[e+5]+i} ${n*t[e+6]+r}`);continue}const l=[];for(let e=0;e+1<t.length;e+=2)l.push(`${s*t[e]+i} ${n*t[e+1]+r}`);l.length&&a.push(`${e} ${l.join(" ")}`)}return a.join(" ")}const C=globalThis.ApexCharts.__internals,S=C.__apex_Animations;C.__apex_Animations_computeStagger,C.__apex_Animations_applyAnimationPolicy,C.__apex_Animations_prefersReducedMotion,C.__apex_Animations_applyProgressiveReveal;const F=globalThis.ApexCharts.__internals.__apex_BrowserAPIs_BrowserAPIs,Y=globalThis.ApexCharts.__internals.__apex_Environment_Environment,j=globalThis.ApexCharts.__internals;j.__apex_Easing_easeInOutSine,j.__apex_Easing_DEFAULT_EASING_NAME,j.__apex_Easing_cubicBezier,j.__apex_Easing_registerEasing;const M=j.__apex_Easing_resolveEasing,I=globalThis.ApexCharts.__internals,L=I.__apex_PathMorphing_parsePath;I.__apex_PathMorphing_morphPaths,I.__apex_PathMorphing_pathBbox;const R=I.__apex_PathMorphing_arrayToPath;function X(e,t,s){if(!e||"string"!=typeof e)return null;const i=L(e);if(!i.length||"M"!==i[0][0])return null;for(let e=1;e<i.length;e++)if("M"===i[e][0])return null;let n=i,r=null;if(s){if(i.length<5)return null;if(r=i.slice(-3),n=i.slice(0,-3),"Z"!==r[2][0])return null;if("L"!==r[1][0])return null;if("L"!==r[0][0]&&"C"!==r[0][0])return null}else if("Z"===i[i.length-1][0])return null;if(n.length!==t||n.length<2)return null;const a=n[1][0];if("L"!==a&&"C"!==a)return null;for(let e=2;e<n.length;e++)if(n[e][0]!==a)return null;const l=n.map(e=>"C"===e[0]?[Number(e[5]),Number(e[6])]:[Number(e[1]),Number(e[2])]);for(const e of l)if(!isFinite(e[0])||!isFinite(e[1]))return null;return{body:n,closing:r,segType:a,anchors:l}}function N(e,t,s){return[e[0]+(t[0]-e[0])*s,e[1]+(t[1]-e[1])*s]}function z(e,t,s){const i=e,n=[t[1],t[2]],r=[t[3],t[4]],a=[t[5],t[6]],l=N(i,n,s),o=N(n,r,s),h=N(r,a,s),c=N(l,o,s),u=N(o,h,s),p=N(c,u,s);return{first:["C",l[0],l[1],c[0],c[1],p[0],p[1]],second:["C",u[0],u[1],h[0],h[1],a[0],a[1]],mid:p}}function D(e,t,s){const i=[t[1],t[2]],n=N(e,i,s);return{first:["L",n[0],n[1]],second:["L",i[0],i[1]],mid:n}}function T(e,t){const{body:s,closing:i,segType:n,anchors:r}=e,a=r.length,l=t.length,o=e=>"C"===n?["C",e[0],e[1],e[0],e[1],e[0],e[1]]:["L",e[0],e[1]],h=[["M",r[0][0],r[0][1]]];let c=0;for(;c<l&&0!==t[c];)c++;for(let e=1;e<=c;e++)h.push(o(r[0]));let u=c+1;for(let e=0;e<a-1;e++){let i=0;for(;u+i<l&&-1===t[u+i];)i++;const a=s[e+1];if(i){const t=i+1;let s=r[e],l=a;for(let e=0;e<i;e++){const i=1/(t-e),r="C"===n?z(s,l,i):D(s,l,i);h.push(r.first),s=r.mid,l=r.second}h.push(l)}else h.push(a.slice());u+=i+1}for(;u<l;)h.push(o(r[a-1])),u++;return i&&i.forEach(e=>h.push(e.slice())),h}function $(e,t,s,i,n,r){const a=X(e,i,r);if(!a)return null;const l=X(t,n,r);if(!l)return null;if(a.segType!==l.segType)return null;if((a.closing||l.closing)&&(!a.closing||!l.closing||a.closing[0][0]!==l.closing[0][0]))return null;const o=s.map(e=>e.oldJ),h=s.map(e=>e.newJ);return{from:R(T(a,o)),toInterp:R(T(l,h))}}function O(e){var t;const s=e.config.chart.animations;if(!s||!1===s.enabled)return!1;if(!s.dynamicAnimation||!1===s.dynamicAnimation.enabled)return!1;const i=null!=(t=s.largeDatasetThreshold)?t:0;return!(i>0&&e.globals.dataPoints>i||!(Y.isBrowser()&&e.globals.dataChanged&&e.globals.shouldAnimate))}function E(e){const t=new Map;return e.map(e=>{const s=t.get(e)||0;return t.set(e,s+1),0===s?e:`${e}#${s}`})}function B(e,t,s=!1,i=!1){var n,r;if(!O(e))return null;const a=e.globals.prevStreamFrame;if(!a)return null;const l=null==(n=a.seriesY)?void 0:n[t],o=null==(r=e.seriesData.series)?void 0:r[t];if(!Array.isArray(l)||!Array.isArray(o))return null;if(!l.length||!o.length)return null;const h=E(l.map((e,s)=>function(e,t,s){var i,n;if(e.isXNumeric){const n=null==(i=e.seriesX)?void 0:i[t];if(n&&n.length&&null!=n[s])return"x:"+n[s]}const r=null==(n=e.labels)?void 0:n[s];return null!=r&&""!==String(r)?"c:"+(Array.isArray(r)?r.join(" "):String(r)):"j:"+s}(a,t,s))),c=E(o.map((s,i)=>function(e,t,s){var i,n,r,a;if(null==(i=e.axisFlags)?void 0:i.isXNumeric){const i=null==(r=null==(n=e.seriesData)?void 0:n.seriesX)?void 0:r[t];if(i&&i.length&&null!=i[s])return"x:"+i[s]}const l=null==(a=e.globals.labels)?void 0:a[s];return null!=l&&""!==String(l)?"c:"+(Array.isArray(l)?l.join(" "):String(l)):"j:"+s}(e,t,i))),u=function(e,t){const s=new Map;e.forEach((e,t)=>{s.has(e)||s.set(e,t)});const i=new Array(t.length),n=new Set;let r=-1,a=!0,l=e.length===t.length;t.forEach((e,t)=>{const o=s.has(e)&&!n.has(s.get(e))?s.get(e):-1;i[t]=o,-1!==o&&(n.add(o),o<r&&(a=!1),r=o),o!==t&&(l=!1)});const o=[];for(let t=0;t<e.length;t++)n.has(t)||o.push(t);return{toOld:i,exits:o,ordered:a,changed:!l}}(h,c);return(u.ordered||i)&&(u.changed||s)?{join:u,oldKeys:h,newKeys:c}:null}function W(e){var t,s;const i=e.config.chart.animations;return M(null!=(s=null==(t=i.dynamicAnimation)?void 0:t.easing)?s:i.easing)}function H(e,t,s,i,n){const r=performance.now(),a=l=>{if(e.globals.isDestroyed)return;const o=Math.max(0,Math.min(1,(l-r)/t));i(s(o),o),o<1?F.requestAnimationFrame(a):n&&n()};F.requestAnimationFrame(a)}function V(e,{elPointsMain:t,realIndex:s,speed:i}){var n,r,a,l;if(!(null==t?void 0:t.node))return!1;const o=B(e,s,!0);if(!o)return!1;const h=e.globals.prevStreamFrame;if(!h)return!1;const c=null==(n=h.xPixels)?void 0:n[s],u=null==(r=h.yPixels)?void 0:r[s];if(!c||!u)return!1;const p=t.node.querySelectorAll(".apexcharts-marker");if(!p.length)return!1;const d=(null==(a=e.globals.seriesXvalues)?void 0:a[s])||[],g=(null==(l=e.globals.seriesYvalues)?void 0:l[s])||[],f=W(e),m=Math.max(1,i||1);return t.node.classList.remove("apexcharts-element-hidden"),p.forEach(t=>{var i,n,r,a,l,p,x,b,y;const v=parseInt(null!=(n=null!=(i=t.getAttribute("j"))?i:t.getAttribute("rel"))?n:"",10);if(!isFinite(v)||v<0||v>=o.join.toOld.length)return;const A=o.join.toOld[v],P=null!=d[v]&&null!=g[v]?[d[v],g[v]]:null;if(-1===A||!P){const s=t.style;return s.opacity="0",void H(e,m,f,e=>{s.opacity=String(e)},()=>{s.opacity=""})}const _=(null!=(r=c[A])?r:NaN)-P[0],w=(null!=(a=u[A])?a:NaN)-P[1];if(!isFinite(_)||!isFinite(w))return;const k=null!=(x=null==(p=null==(l=h.rPixels)?void 0:l[s])?void 0:p[A])?x:NaN,C=parseFloat(null!=(y=null!=(b=t.getAttribute("r"))?b:t.getAttribute("default-marker-size"))?y:""),S=isFinite(k)&&isFinite(C)&&C>0&&Math.abs(k-C)>.25;if(!(Math.abs(_)>=.5||Math.abs(w)>=.5||S))return;const F=e=>{const s=_*(1-e),i=w*(1-e);if(S){const n=(k+(C-k)*e)/C;t.setAttribute("transform",`translate(${s+P[0]*(1-n)}, ${i+P[1]*(1-n)}) scale(${n})`)}else t.setAttribute("transform",`translate(${s}, ${i})`)};F(0),H(e,m,f,F,()=>{t.removeAttribute("transform")})}),!0}function J(e,t,s,i){e.setAttribute("transform",`translate(${t*(1-i)}, ${s*(1-i)}) scale(${i})`)}function q(e,{type:t,realIndex:s,pathFromLine:i,pathFromArea:n,linePaths:r,areaPaths:a}){var l,o;const h=B(e,s);if(!h)return null;const{join:c,oldKeys:u,newKeys:p}=h,d=e.globals.prevStreamFrame;if(!d)return null;const g=null==(l=d.seriesY)?void 0:l[s],f=null==(o=e.seriesData.series)?void 0:o[s];if(g.length<2||f.length<2)return null;if(g.some(e=>null===e)||f.some(e=>null===e))return null;const m=function(e,t){const s=new Set(e.exits),i=[];let n=0;for(let t=0;t<e.toOld.length;t++){const r=e.toOld[t];if(-1!==r){for(;n<r;)s.has(n)&&i.push({oldJ:n,newJ:-1}),n++;i.push({oldJ:r,newJ:t}),n=r+1}else i.push({oldJ:-1,newJ:t})}for(;n<t;)s.has(n)&&i.push({oldJ:n,newJ:-1}),n++;return i}(c,u.length),x={};return Array.isArray(r)&&1===r.length&&i&&(x.line=$(i,r[0],m,u.length,p.length,!1)),"area"===t&&Array.isArray(a)&&1===a.length&&n&&(x.area=$(n,a[0],m,u.length,p.length,!0)),x.line||x.area?x:null}class K{constructor(e,t,s,i){this.ctx=t,this.w=e,this.xyRatios=s,this.xRatio=0,this.yRatio=[],this.zRatio=0,this.baseLineY=[],this.pointsChart=!("bubble"!==this.w.config.chart.type&&"scatter"!==this.w.config.chart.type)||i,this.scatter=new m(this.w,this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new y(this),this.markers=new f(this.w,this.ctx),this.prevSeriesY=[],this.prevSeriesYByX=new Map,this.categoryAxisCorrection=0,this.yaxisIndex=0,this.xDivision=0,this.zeroY=0,this.areaBottomY=0,this.strokeWidth=0,this.isReversed=!1,this.appendPathFrom=!1,this.elSeries=null,this.elPointsMain=null,this.elDataLabelsWrap=null,this._elLastPointsWrap=null,this._shapeOnly=!1}draw(e,t,s,i){var n;const r=this.w,a=this.ctx.highlightFilter,l=new p(this.w),o=r.globals.comboCharts?t:r.config.chart.type,h=l.group({class:`apexcharts-${o}-series apexcharts-plot-series`}),c=new u(this.w);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,e=c.getLogSeries(e,s),this.yRatio=c.getLogYRatios(this.yRatio),this.prevSeriesY=[],this.prevSeriesYByX=new Map;const d=[];for(let t=0;t<e.length;t++){e=this.lineHelpers.sameValueSeriesFix(t,e);const n=r.globals.comboCharts?s[t]:t,l=this.yRatio.length>1?n:0,h=this._collapsedBaselineRow(e,t,n);this._shapeOnly=!!h,h&&((e=e.slice())[t]=h,"rangeArea"===o&&i&&((i=i.slice())[t]=h)),this._initSerieVariables(e,t,n),x.addCollapsedClassToSeries(this.w,this.elSeries,n);const c=this._buildSeriesPaths(o,e,t,n,l,s,i);this._handlePaths({type:o,realIndex:n,i:t,paths:c}),null==a||a.line(this,o,e,t,n,l,c),this.markers.flushBatch(this.elPointsMain,n),this.elSeries.add(this.elPointsMain),this.elSeries.add(this.elDataLabelsWrap),d.push(this.elSeries)}if(void 0!==(null==(n=r.config.series[0])?void 0:n.zIndex)&&d.sort((e,t)=>Number(e.node.getAttribute("zIndex"))-Number(t.node.getAttribute("zIndex"))),r.config.chart.stacked)for(let e=d.length-1;e>=0;e--)h.add(d[e]);else for(let e=0;e<d.length;e++)h.add(d[e]);return h}_buildSeriesPaths(e,t,s,i,n,r,a){const l=this.w,c=[],u=[],p=[];let d=l.globals.padHorizontal+this.categoryAxisCorrection;l.axisFlags.isXNumeric&&l.seriesData.seriesX.length>0&&(d=(l.seriesData.seriesX[i][0]-l.globals.minX)/this.xRatio),p.push(d);const g=d;let f,m=this.zeroY,x=this.zeroY;m=this.lineHelpers.determineFirstPrevY({i:s,realIndex:i,series:t,prevY:m,lineYPosition:0,translationsIndex:n}).prevY,"monotoneCubic"===l.config.stroke.curve&&null===t[s][0]?c.push(null):c.push(m);const b=m;let y;"rangeArea"===e&&(y=this.lineHelpers.determineFirstPrevY({i:s,realIndex:i,series:a,prevY:x,lineYPosition:0,translationsIndex:n}),x=y.prevY,f=x,u.push(null!==c[0]?x:null));const v=this._calculatePathsFrom(i,m),A=[c[0]],P=[u[0]],_={type:e,series:t,realIndex:i,translationsIndex:n,i:s,x:d,y:1,pX:g,pY:b,pathsFrom:v,linePaths:[],areaPaths:[],seriesIndex:r,lineYPosition:0,xArrj:p,yArrj:c,y2Arrj:u,seriesRangeEnd:a},w=this._iterateOverDataPoints(h(o({},_),{iterations:"rangeArea"===e?t[s].length-1:void 0,isRangeStart:!0}));if("rangeArea"===e){const e=this._calculatePathsFrom(i,x),t=this._iterateOverDataPoints(h(o({},_),{series:a,xArrj:[d],yArrj:A,y2Arrj:P,pY:f,areaPaths:w.areaPaths,pathsFrom:e,iterations:a[s].length-1,isRangeStart:!1})),n=w.linePaths.length/2;for(let e=0;e<n;e++)w.linePaths[e]=t.linePaths[e+n]+w.linePaths[e];w.linePaths.splice(n);const r=1===w.linePaths.length?this.lineHelpers.previousRangeAreaPath(i):null;w.pathFromLine=null!=r?r:t.pathFromLine+w.pathFromLine}else/z\s*$/i.test(w.pathFromArea)||(w.pathFromArea+="z");return w}_collapsedBaselineRow(e,t,s){const i=this.w,n=i.globals;if(i.config.chart.stacked||this.pointsChart)return null;if(!Array.isArray(e[t])||0!==e[t].length)return null;if(-1===n.collapsedSeriesIndices.indexOf(s)&&-1===n.ancillaryCollapsedSeriesIndices.indexOf(s))return null;const r=i.axisFlags.isXNumeric?(i.seriesData.seriesX[s]||[]).length:n.dataPoints;if(!r)return null;const a=b.isNumber(n.minYArr[s])?n.minYArr[s]:n.minY,l=b.isNumber(n.maxYArr[s])?n.maxYArr[s]:n.maxY,o=Math.min(Math.max(0,a),l);return new Array(r).fill(b.isNumber(o)?o:0)}_initSerieVariables(e,t,s){const i=this.w,n=new p(this.w);this.xDivision=i.layout.gridWidth/(i.globals.dataPoints-("on"===i.config.xaxis.tickPlacement?1:0)),this.strokeWidth=Array.isArray(i.config.stroke.width)?i.config.stroke.width[s]:i.config.stroke.width;let r=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[s],r=s),this.isReversed=i.config.yaxis[this.yaxisIndex]&&i.config.yaxis[this.yaxisIndex].reversed,this.zeroY=i.layout.gridHeight-this.baseLineY[r]-(this.isReversed?i.layout.gridHeight:0)+(this.isReversed?2*this.baseLineY[r]:0),this.areaBottomY=this.zeroY,(this.zeroY>i.layout.gridHeight||"end"===i.config.plotOptions.area.fillTo)&&(this.areaBottomY=i.layout.gridHeight),this.categoryAxisCorrection=this.xDivision/2;const a=i.config.series[s];if(this.elSeries=n.group({class:"apexcharts-series",zIndex:void 0!==a.zIndex?a.zIndex:s,seriesName:b.escapeString(i.seriesData.seriesNames[s])}),this.elPointsMain=n.group({class:"apexcharts-series-markers-wrap","data:realIndex":s}),this.markers.resetSeriesWrapCache(),this._elLastPointsWrap=null,i.globals.hasNullValues){const e=this.markers.plotChartMarkers({pointsPos:{x:[0],y:[i.layout.gridHeight+i.globals.markers.largestSize]},seriesIndex:t,j:0,pSize:.1,alwaysDrawMarker:!0,isVirtualPoint:!0});null!==e&&this.elPointsMain.add(e)}this.elDataLabelsWrap=n.group({class:"apexcharts-datalabels","data:realIndex":s});const l=e[t].length===i.globals.dataPoints;this.elSeries.attr({"data:longestSeries":l,rel:t+1,"data:realIndex":s}),this.appendPathFrom=!0}_calculatePathsFrom(e,t){const s=new p(this.w);let i=s.move(0,this.areaBottomY)+s.line(0,this.areaBottomY),n=i;if(this.w.globals.previousPaths.length>0){const t=this.lineHelpers.checkPreviousPaths({pathFromLine:i,pathFromArea:n,realIndex:e});i=t.pathFromLine,n=t.pathFromArea}return{prevY:t,pathFromLine:i,pathFromArea:n}}_stackKey(e,t){if(!this.w.axisFlags.isXNumeric)return t;const s=this.w.seriesData.seriesX[e];return s?s[t]:void 0}stackTopAt(e,t){const s=this._stackKey(e,t);if(null!=s)return this.prevSeriesYByX.get(s)}_recordStackTops(e,t){const s=this.w;if(s.config.chart.stacked&&Array.isArray(t)&&-1===s.globals.collapsedSeriesIndices.indexOf(e)&&-1===s.globals.ancillaryCollapsedSeriesIndices.indexOf(e))for(let s=0;s<t.length;s++){const i=this._stackKey(e,s);if(null==i)continue;const n=t[s];b.isNumber(n)&&this.prevSeriesYByX.set(i,n)}}_handlePaths({type:e,realIndex:t,i:s,paths:i}){var n,r,a,l,c,u,g;const f=this.w,m=new p(this.w),x=function(e,t){const s=e&&e.renderer;return s&&s.kind&&"svg"!==s.kind?s:t}(this.ctx,m),b=new d(this.w);this.marks=[],this.prevSeriesY.push(i.yArrj),this._recordStackTops(t,i.yArrj);let y=null;"line"!==e&&"area"!==e||!f.globals.dataChanged||(y=function(e,t,s,i){var n;const r=e.globals,a=r.prevStreamFrame;if(!a||!r.dataChanged||!(null==(n=e.axisFlags)?void 0:n.isXNumeric))return null;const l=a.seriesX[t],o=a.seriesY[t],h=e.seriesData.seriesX[t],c=e.seriesData.series[t];if(!(l&&o&&h&&c))return null;if(l.length<3||h.length<3)return null;let u=-1;for(let e=0;e<l.length;e++)if(l[e]===h[0]){u=e;break}if(-1===u)return null;const p=Math.min(l.length-u,h.length);if(p<2)return null;const d=h.length-p;if(0===u&&0===d)return null;for(let e=0;e<p;e++){if(l[u+e]!==h[e])return null;const t=o[u+e],s=c[e];if(t!==s&&(null!=t||null!=s))return null}const g=a.xPixels[t],f=a.yPixels[t];if(!g||!f)return null;let m=-1,x=-1;for(let e=0;e<p;e++)null!=g[u+e]&&null!=f[u+e]&&null!=s[e]&&null!=i[e]&&(-1===m&&(m=e),x=e);if(-1===m||x<=m)return null;const b=s[m],y=s[x],v=g[u+m],A=g[u+x];if(Math.abs(y-b)<1e-6)return null;const P=(A-v)/(y-b),_=v-P*b;if(!isFinite(P)||!isFinite(_))return null;if(Math.abs(P-1)>.02)return null;if(Math.abs(_)<.5)return null;let w=m,k=m;for(let e=m;e<=x;e++){const t=i[e];null!=t&&null!=f[u+e]&&(t<i[w]&&(w=e),t>i[k]&&(k=e))}let C=1,S=0;const F=i[w],Y=i[k];if(Math.abs(Y-F)>1e-6?(C=(f[u+k]-f[u+w])/(Y-F),S=f[u+w]-C*F):S=f[u+w]-F,!isFinite(C)||!isFinite(S)||C<.2||C>5)return null;const j=Math.floor((m+x)/2);if(j!==m&&j!==x&&null!=s[j]&&null!=g[u+j]){const e=P*s[j]+_;if(Math.abs(e-g[u+j])>1.5)return null;if(null!=i[j]&&null!=f[u+j]){const e=C*i[j]+S;if(Math.abs(e-f[u+j])>1.5)return null}}return r.streamScrolled=!0,{ax:P,bx:_,ay:C,by:S}}(f,t,i.xArrj,i.yArrj));let v=null;y||"line"!==e&&"area"!==e||(v=q(f,{type:e,realIndex:t,pathFromLine:i.pathFromLine,pathFromArea:i.pathFromArea,linePaths:i.linePaths,areaPaths:i.areaPaths})),f.globals.seriesXvalues[t]=i.xArrj,f.globals.seriesYvalues[t]=i.yArrj;const A=f.config.forecastDataPoints;if(A.count>0&&"rangeArea"!==e){const e=f.globals.seriesXvalues[t][f.globals.seriesXvalues[t].length-A.count-1],s=m.drawRect(e,0,f.layout.gridWidth,f.layout.gridHeight,0);f.dom.elForecastMask.appendChild(s.node);const i=m.drawRect(0,0,e,f.layout.gridHeight,0);f.dom.elNonForecastMask.appendChild(i.node)}this.pointsChart?(V(f,{elPointsMain:this.elPointsMain,realIndex:t,speed:f.config.chart.animations.dynamicAnimation.speed}),function(e,{elPointsMain:t,realIndex:s,speed:i}){if(!(null==t?void 0:t.node)||!O(e))return!1;if(-1===(e.globals.risingSeries||[]).indexOf(s))return!1;const n=t.node.querySelectorAll(".apexcharts-marker");if(!n.length)return!1;const r=W(e);t.node.classList.remove("apexcharts-element-hidden"),n.forEach(t=>{const s=t.getBBox(),n=s.x+s.width/2,a=s.y+s.height/2;J(t,n,a,0),H(e,Math.max(1,i||1),r,e=>J(t,n,a,e),()=>t.removeAttribute("transform"))})}(f,{elPointsMain:this.elPointsMain,realIndex:t,speed:f.config.chart.animations.dynamicAnimation.speed}),(f.seriesData.series[t]||[]).length||function(e,{elPointsMain:t,realIndex:s,speed:i,drawPoint:n}){var r,a,l;if(!(null==t?void 0:t.node)||!O(e))return!1;if(-1===(e.globals.collapsingSeriesIndices||[]).indexOf(s))return!1;const o=e.globals.prevStreamFrame,h=null==(r=null==o?void 0:o.xPixels)?void 0:r[s],c=null==(a=null==o?void 0:o.yPixels)?void 0:a[s];if(!Array.isArray(h)||!Array.isArray(c))return!1;const u=(null==(l=null==o?void 0:o.rPixels)?void 0:l[s])||[],p=e.globals.markers.size[s]||0,d=W(e);let g=!1;for(let r=0;r<h.length;r++){const a=h[r],l=c[r];if(null==a||null==l||!isFinite(a)||!isFinite(l))continue;const o=isFinite(u[r])?u[r]:p;if(!(o>0))continue;const f=n(a,l,o,r);if(!(null==f?void 0:f.node))continue;t.add(f);const m=f.node;m.classList.add("apexcharts-marker-exit");const x=S.trackSeriesTween(e,s);H(e,Math.max(1,i||1),d,e=>J(m,a,l,1-e),()=>{J(m,a,l,0),x()}),g=!0}g&&t.node.classList.remove("apexcharts-element-hidden")}(f,{elPointsMain:this.elPointsMain,realIndex:t,speed:f.config.chart.animations.dynamicAnimation.speed,drawPoint:(e,s,i,n)=>this.scatter.drawPoint(e,s,i,t,n,n)})):(f.globals.delayedElements.push({el:this.elPointsMain.node,index:t}),V(f,{elPointsMain:this.elPointsMain,realIndex:t,speed:f.config.chart.animations.dynamicAnimation.speed})||"line"!==e||f.config.stroke.show||!f.globals.dataChanged&&!f.globals.resized||this.elPointsMain.node.classList.remove("apexcharts-element-hidden"),B(f,t)&&(null==(n=this.elDataLabelsWrap)?void 0:n.node)&&(this.elDataLabelsWrap.node.classList.add("apexcharts-element-hidden"),f.globals.delayedElements.push({el:this.elDataLabelsWrap.node,holdUntilComplete:!0})));const P={i:s,realIndex:t,animationDelay:s,initialSpeed:f.config.chart.animations.speed,dataChangeSpeed:f.config.chart.animations.dynamicAnimation.speed,className:`apexcharts-${e}`},_=i.numericXY,w="line"===e||"area"===e,C=w&&i.linePaths.length>1?[i.linePaths.join(" ")]:i.linePaths,F=w&&i.areaPaths.length>1?[i.areaPaths.join(" ")]:i.areaPaths;if("area"===e){const e=b.fillPath({seriesNumber:t});for(let t=0;t<F.length;t++){const s=x.renderPaths(h(o({},P),{pathFrom:y?k(i.areaPaths[t],y):null!=(a=null==(r=null==v?void 0:v.area)?void 0:r.from)?a:i.pathFromArea,pathTo:F[t],pathToNumeric:_?{xs:_.xs,ys:_.ys,closeY:_.areaCloseY}:void 0,pathToInterp:null==(l=null==v?void 0:v.area)?void 0:l.toInterp,scrollMorph:!!y,stroke:"none",strokeWidth:0,strokeLineCap:null,fill:e}));this.elSeries.add(s),this.marks.push(s)}}if(f.config.stroke.show&&!this.pointsChart){let n=null;if("line"===e)n=b.fillPath({seriesNumber:t,i:s});else if("solid"===f.config.stroke.fill.type)n=f.globals.stroke.colors[t];else{const e=f.config.fill;f.config.fill=f.config.stroke.fill,n=b.fillPath({seriesNumber:t,i:s}),f.config.fill=e}for(let s=0;s<C.length;s++){let r=n;"rangeArea"===e&&(r=b.fillPath({seriesNumber:t}));const a=h(o({},P),{pathFrom:y?k(i.linePaths[s],y):null!=(u=null==(c=null==v?void 0:v.line)?void 0:c.from)?u:i.pathFromLine,pathTo:C[s],pathToNumeric:_?{xs:_.xs,ys:_.ys}:void 0,pathToInterp:null==(g=null==v?void 0:v.line)?void 0:g.toInterp,scrollMorph:!!y,stroke:n,strokeWidth:this.strokeWidth,strokeLineCap:f.config.stroke.lineCap,fill:"rangeArea"===e?r:"none"}),l=x.renderPaths(a);if(this.elSeries.add(l),this.marks.push(l),l.attr("fill-rule","evenodd"),A.count>0&&"rangeArea"!==e){const e=x.renderPaths(a);e.node.setAttribute("stroke-dasharray",A.dashArray),A.strokeWidth&&e.node.setAttribute("stroke-width",A.strokeWidth),this.elSeries.add(e),e.attr("clip-path",`url(#forecastMask${f.globals.cuid})`),l.attr("clip-path",`url(#nonForecastMask${f.globals.cuid})`)}}}}_iterateOverDataPoints({type:e,series:t,iterations:s,realIndex:i,translationsIndex:n,i:r,x:a,y:l,pX:o,pY:h,pathsFrom:c,linePaths:u,areaPaths:d,seriesIndex:g,lineYPosition:f,xArrj:m,yArrj:x,y2Arrj:y,isRangeStart:A,seriesRangeEnd:P}){var _,w;const k=this.w,C=new p(this.w),S=this.yRatio,F=c.prevY;let Y,j,{pathFromLine:M,pathFromArea:I}=c;const L=b.isNumber(k.globals.minYArr[i])?k.globals.minYArr[i]:k.globals.minY;s||(s=k.globals.dataPoints>1?k.globals.dataPoints-1:k.globals.dataPoints);const R=(e,t)=>t-e/S[n]+2*(this.isReversed?e/S[n]:0);let X=l;const N=k.config.chart.stacked&&!k.globals.comboCharts||k.config.chart.stacked&&k.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||"bar"===(null==(_=this.w.config.series[i])?void 0:_.type)||"column"===(null==(w=this.w.config.series[i])?void 0:w.type));let z=k.config.stroke.curve;Array.isArray(z)&&(z=Array.isArray(g)?z[g[r]]:z[r]);let D,T=0;const $=this.pointsChart?this._scatterJitterPx(i):null;if("straight"===z&&!this.pointsChart){const p=this._fastStraightPath({type:e,series:t,i:r,realIndex:i,translationsIndex:n,iterations:s,x:a,y:l,pX:o,pY:h,pathsFrom:c,linePaths:u,areaPaths:d,xArrj:m,yArrj:x,y2Arrj:y,stackSeries:N});if(p)return p}for(let n=0;n<s&&0!==t[r].length;n++){const c=void 0===t[r][n+1]||null===t[r][n+1];if(k.axisFlags.isXNumeric){let e=k.seriesData.seriesX[i][n+1];void 0===k.seriesData.seriesX[i][n+1]&&(e=k.seriesData.seriesX[i][s-1]),a=(e-k.globals.minX)/this.xRatio}else a+=this.xDivision;if(N)if(r>0&&k.globals.collapsedSeries.length<k.config.series.length-1)if((e=>{var t;for(let s=e;s>=0;s--){const e=null!=(t=null==g?void 0:g[s])?t:s;if(-1===k.globals.collapsedSeriesIndices.indexOf(e)&&-1===k.globals.ancillaryCollapsedSeriesIndices.indexOf(e))return s}return-1})(r-1)<0)f=this.zeroY;else{const e=this.stackTopAt(i,n+1);f=void 0===e?this.zeroY:e}else f=this.zeroY;else f=this.zeroY;c?l=R(L,f):(l=R(t[r][n+1],f),"rangeArea"===e&&(X=R(P[r][n+1],f)));let p=a,b=l;if($){const e=100003*i+(n+1);$.x&&(p=a+2*(v(7919*e+13)-.5)*$.x),$.y&&(b=l+2*(v(6271*e+97)-.5)*$.y)}m.push(null===t[r][n+1]?null:p),!c||"smooth"!==k.config.stroke.curve&&"monotoneCubic"!==k.config.stroke.curve?(x.push(b),y.push(X)):(x.push(null),y.push(null));const _=this.lineHelpers.calculatePoints({series:t,x:p,y:b,realIndex:i,i:r,j:n,prevY:F}),w=this._createPaths({type:e,series:t,i:r,j:n,x:a,y:l,y2:X,xArrj:m,yArrj:x,y2Arrj:y,pX:o,pY:h,pathState:T,segmentStartX:D,linePath:Y,areaPath:j,linePaths:u,areaPaths:d,curve:z,isRangeStart:A});d=w.areaPaths,u=w.linePaths,o=w.pX,h=w.pY,T=w.pathState,D=w.segmentStartX,j=w.areaPath,Y=w.linePath,!this.appendPathFrom||k.globals.hasNullValues||"monotoneCubic"===z&&"rangeArea"===e||(M+=C.line(a,this.areaBottomY),I+=C.line(a,this.areaBottomY)),this._shapeOnly||(this.handleNullDataPoints(t,_,r,n,i),this._handleMarkersAndLabels({type:e,pointsPos:_,i:r,j:n,realIndex:i,isRangeStart:A}))}return{yArrj:x,xArrj:m,pathFromArea:I,areaPaths:d,pathFromLine:M,linePaths:u}}_handleMarkersAndLabels({type:e,pointsPos:t,isRangeStart:s,i:i,j:n,realIndex:r}){const a=this.w,l=new g(this.w,this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,n,{realIndex:r,pointsPos:t,zRatio:this.zRatio,elParent:this.elPointsMain});else{(a.globals.dataChanged||a.globals.resized||a.globals.markers.batched)&&a.seriesData.series[i].length>1&&this.elPointsMain.node.classList.add("apexcharts-element-hidden");const e=this.markers.plotChartMarkers({pointsPos:t,seriesIndex:r,j:n+1});null!==e&&e!==this._elLastPointsWrap&&(this.elPointsMain.add(e),this._elLastPointsWrap=e)}const o=l.drawDataLabel({type:e,isRangeStart:s,pos:t,i:r,j:n+1});null!==o&&this.elDataLabelsWrap.add(o)}_scatterJitterPx(e){var t;const s=this.w,i=null==(t=s.config.plotOptions.scatter)?void 0:t.jitter;if(!i||!i.enabled||!i.x&&!i.y)return null;const n=s.axisFlags.isXNumeric&&this.xRatio?1/this.xRatio:this.xDivision,r=this.yRatio.length>1?e:0,a=this.yRatio[r]?1/this.yRatio[r]:0;return{x:(i.x||0)*n,y:(i.y||0)*a}}_fastStraightPath({type:e,series:t,i:s,realIndex:i,translationsIndex:n,iterations:r,x:a,y:l,pX:o,pY:h,pathsFrom:c,linePaths:u,areaPaths:p,xArrj:d,yArrj:g,y2Arrj:f,stackSeries:m}){const x=this.w;if("line"!==e&&"area"!==e)return null;if(x.globals.comboCharts||m)return null;if(x.config.dataLabels.enabled)return null;if(x.config.markers.discrete.length)return null;if(x.globals.markers.size[i]>0)return null;const b=t[s],y=b.length;if(!r||y<2||y-1!==r)return null;for(let e=0;e<=r;e++){const t=b[e];if(null==t)return null}const v=x.axisFlags.isXNumeric,A=v?x.seriesData.seriesX[i]:null;if(v&&(!A||A.length<y))return null;const P=this.yRatio[n],_=this.isReversed,w=this.zeroY,k=this.areaBottomY,C=this.xRatio,S=x.globals.minX,F=this.xDivision,Y=x.config.markers.offsetX,j=x.config.markers.offsetY,M=this.appendPathFrom&&!x.globals.hasNullValues;let{pathFromLine:I,pathFromArea:L}=c;const R=this.ctx&&this.ctx.renderer,X=!(!R||!R.kind||"svg"===R.kind),N=!X||x.globals.dataChanged&&!!x.globals.prevStreamFrame,z=X?new Float64Array(y):null,D=X?new Float64Array(y):null;z&&D&&(z[0]=o,D[0]=h),void 0===x.globals.pointsArray[i]&&(x.globals.pointsArray[i]=[]);const T=x.globals.pointsArray[i],$=A?(A[0]-S)/C+Y:this.categoryAxisCorrection+Y;T.push([$,c.prevY+j]);const O=N?new Array(r+1):[];N&&(O[0]="M "+o+" "+h);const E=N&&M?new Array(r):null;let B=a,W=o,H=h;for(let e=0;e<r;e++){A?W=(A[e+1]-S)/C:(B+=F,W=B);const t=b[e+1];H=w-t/P+2*(_?t/P:0),d.push(W),g.push(H),f.push(l),T.push([W+Y,H+j]),N&&(O[e+1]=" L "+W+" "+H,E&&(E[e]=" L "+W+" "+k)),z&&D&&(z[e+1]=W,D[e+1]=H)}let V="",J="";if(N&&(V=O.join(""),J=V+" L "+W+" "+k+" L "+o+" "+k+"z"),E){const e=E.join("");I+=e,L+=e}else!N&&M&&(I+=" L "+W+" "+k,L+=" L "+W+" "+k);return u.push(V),p.push(J),{yArrj:g,xArrj:d,pathFromArea:L,areaPaths:p,pathFromLine:I,linePaths:u,numericXY:z?{xs:z,ys:D,areaCloseY:k}:void 0}}_createPaths({type:e,series:t,i:s,j:i,x:n,y:r,xArrj:a,yArrj:l,y2:o,y2Arrj:h,pX:c,pY:u,pathState:d,segmentStartX:g,linePath:f,areaPath:m,linePaths:x,areaPaths:b,curve:y,isRangeStart:v}){const A=new p(this.w),_=this.areaBottomY,w="rangeArea"===e,k="rangeArea"===e&&v;switch(y){case"monotoneCubic":{const e=v?l:h,n=(e,t)=>e.map((e,s)=>[e,t[s]]).filter(e=>null!==e[1]),r=e=>{const t=[];let s=0;return e.forEach(e=>{null!==e?s++:s>0&&(t.push(s),s=0)}),s>0&&t.push(s),t},o=(e,t)=>{const s=r(e),i=[];for(let e=0,n=0;e<s.length;n+=s[e++])i[e]=P.slice(t,n,n+s[e]);return i};switch(d){case 0:if(null===e[i+1])break;d=1;case 1:if(!(w?a.length===t[s].length:i===t[s].length-2))break;case 2:{const t=v?a:a.slice().reverse(),s=v?e:e.slice().reverse(),i=n(t,s),r=i.length>1?P.points(i):i;let l=[];w&&(k?b=i:l=b.reverse());let h=0,c=0;if(o(s,r).forEach(e=>{h++;const t=(e=>{let t="";for(let s=0;s<e.length;s++){const i=e[s],n=i.length;n>4?(t+=`C${i[0]}, ${i[1]}`,t+=`, ${i[2]}, ${i[3]}`,t+=`, ${i[4]}, ${i[5]}`):n>2&&(t+=`S${i[0]}, ${i[1]}`,t+=`, ${i[2]}, ${i[3]}`)}return t})(e),s=c;c+=e.length;const n=c-1;k?f=A.move(i[s][0],i[s][1])+t:w?f=A.move(l[s][0],l[s][1])+A.line(i[s][0],i[s][1])+t+A.line(l[n][0],l[n][1]):(f=A.move(i[s][0],i[s][1])+t,m=f+A.line(i[n][0],_)+A.line(i[s][0],_)+"z",b.push(m)),x.push(f)}),w&&h>1&&!k){const e=x.slice(h).reverse();x.splice(h),e.forEach(e=>x.push(e))}d=0;break}}break}case"smooth":{const e=.35*(n-c);if(null===t[s][i])d=0;else switch(d){case 0:if(g=c,f=k?A.move(c,h[i])+A.line(c,u):A.move(c,u),m=A.move(c,u),null===t[s][i+1]||void 0===t[s][i+1]){x.push(f),b.push(m);break}if(d=1,i<t[s].length-2){const t=A.curve(c+e,u,n-e,r,n,r);f+=t,m+=t;break}case 1:if(null===t[s][i+1])f+=k?A.line(c,o):A.move(c,u),m+=A.line(c,_)+A.line(g,_)+"z",x.push(f),b.push(m),d=-1;else{const a=A.curve(c+e,u,n-e,r,n,r);f+=a,m+=a,i>=t[s].length-2&&(k&&(f+=A.curve(n,r,n,r,n,o)+A.move(n,o)),m+=A.curve(n,r,n,r,n,_)+A.line(g,_)+"z",x.push(f),b.push(m),d=-1)}}c=n,u=r;break}default:{const e=(e,t,s)=>{let i="";switch(e){case"stepline":i=A.line(t,null,"H")+A.line(null,s,"V");break;case"linestep":i=A.line(null,s,"V")+A.line(t,null,"H");break;case"straight":i=A.line(t,s)}return i};if(null===t[s][i])d=0;else switch(d){case 0:if(g=c,f=k?A.move(c,h[i])+A.line(c,u):A.move(c,u),m=A.move(c,u),null===t[s][i+1]||void 0===t[s][i+1]){x.push(f),b.push(m);break}if(d=1,i<t[s].length-2){const t=e(y,n,r);f+=t,m+=t;break}case 1:if(null===t[s][i+1])f+=k?A.line(c,o):A.move(c,u),m+=A.line(c,_)+A.line(g,_)+"z",x.push(f),b.push(m),d=-1;else{const a=e(y,n,r);f+=a,m+=a,i>=t[s].length-2&&(k&&(f+=A.line(n,o)),m+=A.line(n,_)+A.line(g,_)+"z",x.push(f),b.push(m),d=-1)}}c=n,u=r;break}}return{linePaths:x,areaPaths:b,pX:c,pY:u,pathState:d,segmentStartX:g,linePath:f,areaPath:m}}handleNullDataPoints(e,t,s,i,n){const r=this.w;if(null===e[s][i]&&r.config.markers.showNullDataPoints||1===e[s].length){let e=this.strokeWidth-r.config.markers.strokeWidth/2;e>0||(e=0);const s=this.markers.plotChartMarkers({pointsPos:t,seriesIndex:n,j:i+1,pSize:e,alwaysDrawMarker:!0});null!==s&&this.elPointsMain.add(s)}}}c.use({line:K,area:K,scatter:K,bubble:K,rangeArea:K}),e.default=c,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ApexLine={})});
|
|
5
|
+
!function(e){var t="undefined"!=typeof globalThis?globalThis:self,s=t.ApexCharts;if(s&&s.__internals)return e.call(t);if(s)throw new Error("ApexCharts: dist/line.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 e.call(t);if("object"==typeof exports&&"undefined"!=typeof module||"undefined"==typeof window||"undefined"==typeof document)throw new Error("ApexCharts: dist/line.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 i={file:"dist/line.js",run:e,done:!1},n=t.__apexcharts_pending_addons__||(t.__apexcharts_pending_addons__=[]);n.push(i),"complete"!==document.readyState&&window.addEventListener("load",function(){if(!i.done){var s=t.ApexCharts;if(s)if(s.__internals){i.done=!0;var r=n.indexOf(i);-1!==r&&n.splice(r,1);try{e.call(t),s.__drainsAddons||t.console.warn("ApexCharts: dist/line.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(e){t.console.error("ApexCharts: dist/line.js could not register with the ApexCharts script on this page: "+(e&&e.message))}}else t.console.error("ApexCharts: dist/line.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 t.console.warn("ApexCharts: dist/line.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 e,t;e=this,t=function(e){"use strict";var t=Object.defineProperty,s=Object.defineProperties,i=Object.getOwnPropertyDescriptors,n=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,l=(e,s,i)=>s in e?t(e,s,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[s]=i,o=(e,t)=>{for(var s in t||(t={}))r.call(t,s)&&l(e,s,t[s]);if(n)for(var s of n(t))a.call(t,s)&&l(e,s,t[s]);return e},h=(e,t)=>s(e,i(t));const c=globalThis.ApexCharts,u=globalThis.ApexCharts.__internals.__apex_CoreUtils,p=globalThis.ApexCharts.__internals.__apex_Graphics,d=globalThis.ApexCharts.__internals.__apex_Fill,g=globalThis.ApexCharts.__internals.__apex_DataLabels,f=globalThis.ApexCharts.__internals.__apex_Markers,m=globalThis.ApexCharts.__internals.__apex_charts_Scatter,x=globalThis.ApexCharts.__internals.__apex_Series,y=globalThis.ApexCharts.__internals.__apex_Utils;class b{constructor(e){this.w=e.w,this.lineCtx=e}sameValueSeriesFix(e,t,s){const i=this.w,n=t[e];return"gradient"!==i.config.fill.type&&"gradient"!==i.config.fill.type[s]||!n.every(e=>e===n[0])||(t[e]=n.slice(),t[e][n.length-1]+=1e-6),t}calculatePoints({series:e,realIndex:t,x:s,y:i,i:n,j:r,prevY:a}){const l=this.w,o=[],h=[];let c=this.lineCtx.categoryAxisCorrection+l.config.markers.offsetX;return l.axisFlags.isXNumeric&&(c=(l.seriesData.seriesX[t][0]-l.globals.minX)/this.lineCtx.xRatio+l.config.markers.offsetX),0===r&&(o.push(c),h.push(y.isNumber(e[n][0])?a+l.config.markers.offsetY:null)),o.push(s+l.config.markers.offsetX),h.push(y.isNumber(e[n][r+1])?i+l.config.markers.offsetY:null),{x:o,y:h}}checkPreviousPaths({pathFromLine:e,pathFromArea:t,realIndex:s}){const i=this.w;for(let n=0;n<i.globals.previousPaths.length;n++){const r=i.globals.previousPaths[n];("line"===r.type||"area"===r.type)&&r.paths.length>0&&parseInt(r.realIndex,10)===parseInt(s,10)&&("line"===r.type?(this.lineCtx.appendPathFrom=!1,e=i.globals.previousPaths[n].paths[0].d):"area"===r.type&&(this.lineCtx.appendPathFrom=!1,t=i.globals.previousPaths[n].paths[0].d,i.config.stroke.show&&i.globals.previousPaths[n].paths[1]&&(e=i.globals.previousPaths[n].paths[1].d)))}return{pathFromLine:e,pathFromArea:t}}previousRangeAreaPath(e){for(const t of this.w.globals.previousPaths)if("rangeArea"===t.type&&parseInt(t.realIndex,10)===parseInt(String(e),10)&&1===t.paths.length&&t.paths[0].d)return t.paths[0].d;return null}determineFirstPrevY({i:e,realIndex:t,series:s,prevY:i,lineYPosition:n,translationsIndex:r}){var a,l,o;const h=this.w,c=h.config.chart.stacked&&!h.globals.comboCharts||h.config.chart.stacked&&h.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||"bar"===(null==(a=this.w.config.series[t])?void 0:a.type)||"column"===(null==(l=this.w.config.series[t])?void 0:l.type));if(void 0!==(null==(o=s[e])?void 0:o[0])){if(c)if(e>0){const e=this.lineCtx.stackTopAt(t,0);n=void 0===e?this.lineCtx.zeroY:e}else n=this.lineCtx.zeroY;else n=this.lineCtx.zeroY;i=n-s[e][0]/this.lineCtx.yRatio[r]+2*(this.lineCtx.isReversed?s[e][0]/this.lineCtx.yRatio[r]:0)}else if(c&&e>0&&void 0===s[e][0])for(let t=e-1;t>=0;t--)if(null!==s[t][0]&&void 0!==s[t][0]){i=n=this.lineCtx.prevSeriesY[t][0];break}return{prevY:i,lineYPosition:n}}}function v(e){let t=(2654435769^e)>>>0;return t=Math.imul(t^t>>>16,73244475),t=Math.imul(t^t>>>16,73244475),((t^t>>>16)>>>0)/4294967296}const A=e=>{const t=function(e){const t=[];let s=e[0],i=e[1],n=t[0]=_(s,i),r=1;for(let a=e.length-1;r<a;r++)s=i,i=e[r+1],t[r]=.5*(n+(n=_(s,i)));return t[r]=n,t}(e),s=e.length-1,i=[];let n,r,a,l;for(let i=0;i<s;i++)a=_(e[i],e[i+1]),Math.abs(a)<1e-6?t[i]=t[i+1]=0:(n=t[i]/a,r=t[i+1]/a,l=n*n+r*r,l>9&&(l=3*a/Math.sqrt(l),t[i]=l*n,t[i+1]=l*r));for(let n=0;n<=s;n++)l=(e[Math.min(s,n+1)][0]-e[Math.max(0,n-1)][0])/(6*(1+t[n]*t[n])),i.push([l||0,t[n]*l||0]);return i},P={points(e){const t=A(e),s=e[1],i=e[0],n=[],r=t[1],a=t[0];n.push(i,[i[0]+a[0],i[1]+a[1],s[0]-r[0],s[1]-r[1],s[0],s[1]]);for(let s=2,i=t.length;s<i;s++){const i=e[s],r=t[s];n.push([i[0]-r[0],i[1]-r[1],i[0],i[1]])}return n},slice(e,t,s){const i=e.slice(t,s);if(t){if(s-t>1&&i[1].length<6){const e=i[0].length;i[1]=[2*i[0][e-2]-i[0][e-4],2*i[0][e-1]-i[0][e-3]].concat(i[1])}i[0]=i[0].slice(-2)}return i}};function _(e,t){return(t[1]-e[1])/(t[0]-e[0])}const w=/[+-]?(?:\d+\.?\d*|\.\d+)(?:e[+-]?\d+)?/gi;function k(e,t){const{ax:s,bx:i,ay:n,by:r}=t,a=[],l=/([MmLlHhVvCcSsQqTtAaZz])([^MmLlHhVvCcSsQqTtAaZz]*)/g;let o;for(;null!==(o=l.exec(e));){const e=o[1].toUpperCase(),t=(o[2].match(w)||[]).map(parseFloat);if("Z"===e){a.push("z");continue}if("H"===e){for(const e of t)a.push(`H ${s*e+i}`);continue}if("V"===e){for(const e of t)a.push(`V ${n*e+r}`);continue}if("A"===e){for(let e=0;e+6<t.length;e+=7)a.push(`A ${t[e]} ${t[e+1]} ${t[e+2]} ${t[e+3]} ${t[e+4]} ${s*t[e+5]+i} ${n*t[e+6]+r}`);continue}const l=[];for(let e=0;e+1<t.length;e+=2)l.push(`${s*t[e]+i} ${n*t[e+1]+r}`);l.length&&a.push(`${e} ${l.join(" ")}`)}return a.join(" ")}const C=globalThis.ApexCharts.__internals,F=C.__apex_Animations;C.__apex_Animations_computeStagger,C.__apex_Animations_applyAnimationPolicy,C.__apex_Animations_prefersReducedMotion,C.__apex_Animations_applyProgressiveReveal;const S=globalThis.ApexCharts.__internals.__apex_BrowserAPIs_BrowserAPIs,Y=globalThis.ApexCharts.__internals.__apex_Environment_Environment,j=globalThis.ApexCharts.__internals;j.__apex_Easing_easeInOutSine,j.__apex_Easing_DEFAULT_EASING_NAME,j.__apex_Easing_cubicBezier,j.__apex_Easing_registerEasing;const M=j.__apex_Easing_resolveEasing,I=globalThis.ApexCharts.__internals,L=I.__apex_PathMorphing_parsePath;I.__apex_PathMorphing_morphPaths,I.__apex_PathMorphing_pathBbox;const R=I.__apex_PathMorphing_arrayToPath;function X(e,t,s){if(!e||"string"!=typeof e)return null;const i=L(e);if(!i.length||"M"!==i[0][0])return null;for(let e=1;e<i.length;e++)if("M"===i[e][0])return null;let n=i,r=null;if(s){if(i.length<5)return null;if(r=i.slice(-3),n=i.slice(0,-3),"Z"!==r[2][0])return null;if("L"!==r[1][0])return null;if("L"!==r[0][0]&&"C"!==r[0][0])return null}else if("Z"===i[i.length-1][0])return null;if(n.length!==t||n.length<2)return null;const a=n[1][0];if("L"!==a&&"C"!==a)return null;for(let e=2;e<n.length;e++)if(n[e][0]!==a)return null;const l=n.map(e=>"C"===e[0]?[Number(e[5]),Number(e[6])]:[Number(e[1]),Number(e[2])]);for(const e of l)if(!isFinite(e[0])||!isFinite(e[1]))return null;return{body:n,closing:r,segType:a,anchors:l}}function N(e,t,s){return[e[0]+(t[0]-e[0])*s,e[1]+(t[1]-e[1])*s]}function D(e,t,s){const i=e,n=[t[1],t[2]],r=[t[3],t[4]],a=[t[5],t[6]],l=N(i,n,s),o=N(n,r,s),h=N(r,a,s),c=N(l,o,s),u=N(o,h,s),p=N(c,u,s);return{first:["C",l[0],l[1],c[0],c[1],p[0],p[1]],second:["C",u[0],u[1],h[0],h[1],a[0],a[1]],mid:p}}function z(e,t,s){const i=[t[1],t[2]],n=N(e,i,s);return{first:["L",n[0],n[1]],second:["L",i[0],i[1]],mid:n}}function T(e,t){const{body:s,closing:i,segType:n,anchors:r}=e,a=r.length,l=t.length,o=e=>"C"===n?["C",e[0],e[1],e[0],e[1],e[0],e[1]]:["L",e[0],e[1]],h=[["M",r[0][0],r[0][1]]];let c=0;for(;c<l&&0!==t[c];)c++;for(let e=1;e<=c;e++)h.push(o(r[0]));let u=c+1;for(let e=0;e<a-1;e++){let i=0;for(;u+i<l&&-1===t[u+i];)i++;const a=s[e+1];if(i){const t=i+1;let s=r[e],l=a;for(let e=0;e<i;e++){const i=1/(t-e),r="C"===n?D(s,l,i):z(s,l,i);h.push(r.first),s=r.mid,l=r.second}h.push(l)}else h.push(a.slice());u+=i+1}for(;u<l;)h.push(o(r[a-1])),u++;return i&&i.forEach(e=>h.push(e.slice())),h}function $(e,t,s,i,n,r){const a=X(e,i,r);if(!a)return null;const l=X(t,n,r);if(!l)return null;if(a.segType!==l.segType)return null;if((a.closing||l.closing)&&(!a.closing||!l.closing||a.closing[0][0]!==l.closing[0][0]))return null;const o=s.map(e=>e.oldJ),h=s.map(e=>e.newJ);return{from:R(T(a,o)),toInterp:R(T(l,h))}}function O(e){var t;const s=e.config.chart.animations;if(!s||!1===s.enabled)return!1;if(!s.dynamicAnimation||!1===s.dynamicAnimation.enabled)return!1;const i=null!=(t=s.largeDatasetThreshold)?t:0;return!(i>0&&e.globals.dataPoints>i||!(Y.isBrowser()&&e.globals.dataChanged&&e.globals.shouldAnimate))}function E(e){const t=new Map;return e.map(e=>{const s=t.get(e)||0;return t.set(e,s+1),0===s?e:`${e}#${s}`})}function B(e,t,s=0|(s=>null==(s=e.seriesData.series[t])?void 0:s.length)()){return E(Array.from({length:s},(s,i)=>function(e,t,s){var i,n,r,a;if(null==(i=e.axisFlags)?void 0:i.isXNumeric){const i=null==(r=null==(n=e.seriesData)?void 0:n.seriesX)?void 0:r[t];if(i&&i.length&&null!=i[s])return"x:"+i[s]}const l=null==(a=e.globals.labels)?void 0:a[s];return null!=l&&""!==String(l)?"c:"+(Array.isArray(l)?l.join(" "):String(l)):"j:"+s}(e,t,i)))}function W(e,t,s=!1,i=!1){var n,r;if(!O(e))return null;const a=e.globals.prevStreamFrame;if(!a)return null;const l=null==(n=a.seriesY)?void 0:n[t],o=null==(r=e.seriesData.series)?void 0:r[t];if(!Array.isArray(l)||!Array.isArray(o))return null;if(!l.length||!o.length)return null;const h=E(l.map((e,s)=>function(e,t,s){var i,n;if(e.isXNumeric){const n=null==(i=e.seriesX)?void 0:i[t];if(n&&n.length&&null!=n[s])return"x:"+n[s]}const r=null==(n=e.labels)?void 0:n[s];return null!=r&&""!==String(r)?"c:"+(Array.isArray(r)?r.join(" "):String(r)):"j:"+s}(a,t,s))),c=B(e,t),u=function(e,t){const s=new Map;e.forEach((e,t)=>{s.has(e)||s.set(e,t)});const i=new Array(t.length),n=new Set;let r=-1,a=!0,l=e.length===t.length;t.forEach((e,t)=>{const o=s.has(e)&&!n.has(s.get(e))?s.get(e):-1;i[t]=o,-1!==o&&(n.add(o),o<r&&(a=!1),r=o),o!==t&&(l=!1)});const o=[];for(let t=0;t<e.length;t++)n.has(t)||o.push(t);return{toOld:i,exits:o,ordered:a,changed:!l}}(h,c);return(u.ordered||i)&&(u.changed||s)?{join:u,oldKeys:h,newKeys:c}:null}function H(e){var t,s;const i=e.config.chart.animations;return M(null!=(s=null==(t=i.dynamicAnimation)?void 0:t.easing)?s:i.easing)}function V(e,t,s,i,n){const r=performance.now(),a=l=>{if(e.globals.isDestroyed)return;const o=Math.max(0,Math.min(1,(l-r)/t));i(s(o),o),o<1?S.requestAnimationFrame(a):n&&n()};S.requestAnimationFrame(a)}function J(e,{elPointsMain:t,realIndex:s,speed:i}){var n,r,a,l;if(!(null==t?void 0:t.node))return!1;const o=W(e,s,!0);if(!o)return!1;const h=e.globals.prevStreamFrame;if(!h)return!1;const c=null==(n=h.xPixels)?void 0:n[s],u=null==(r=h.yPixels)?void 0:r[s];if(!c||!u)return!1;const p=t.node.querySelectorAll(".apexcharts-marker");if(!p.length)return!1;const d=(null==(a=e.globals.seriesXvalues)?void 0:a[s])||[],g=(null==(l=e.globals.seriesYvalues)?void 0:l[s])||[],f=H(e),m=Math.max(1,i||1);return t.node.classList.remove("apexcharts-element-hidden"),p.forEach(t=>{var i,n,r,a,l,p,x,y,b;const v=parseInt(null!=(n=null!=(i=t.getAttribute("j"))?i:t.getAttribute("rel"))?n:"",10);if(!isFinite(v)||v<0||v>=o.join.toOld.length)return;const A=o.join.toOld[v],P=null!=d[v]&&null!=g[v]?[d[v],g[v]]:null;if(-1===A||!P){const s=t.style;return s.opacity="0",void V(e,m,f,e=>{s.opacity=String(e)},()=>{s.opacity=""})}const _=(null!=(r=c[A])?r:NaN)-P[0],w=(null!=(a=u[A])?a:NaN)-P[1];if(!isFinite(_)||!isFinite(w))return;const k=null!=(x=null==(p=null==(l=h.rPixels)?void 0:l[s])?void 0:p[A])?x:NaN,C=parseFloat(null!=(b=null!=(y=t.getAttribute("r"))?y:t.getAttribute("default-marker-size"))?b:""),F=isFinite(k)&&isFinite(C)&&C>0&&Math.abs(k-C)>.25;if(!(Math.abs(_)>=.5||Math.abs(w)>=.5||F))return;const S=e=>{const s=_*(1-e),i=w*(1-e);if(F){const n=(k+(C-k)*e)/C;t.setAttribute("transform",`translate(${s+P[0]*(1-n)}, ${i+P[1]*(1-n)}) scale(${n})`)}else t.setAttribute("transform",`translate(${s}, ${i})`)};S(0),V(e,m,f,S,()=>{t.removeAttribute("transform")})}),!0}function q(e,t,s,i){e.setAttribute("transform",`translate(${t*(1-i)}, ${s*(1-i)}) scale(${i})`)}function K(e,{type:t,realIndex:s,pathFromLine:i,pathFromArea:n,linePaths:r,areaPaths:a}){var l,o;const h=W(e,s);if(!h)return null;const{join:c,oldKeys:u,newKeys:p}=h,d=e.globals.prevStreamFrame;if(!d)return null;const g=null==(l=d.seriesY)?void 0:l[s],f=null==(o=e.seriesData.series)?void 0:o[s];if(g.length<2||f.length<2)return null;if(g.some(e=>null===e)||f.some(e=>null===e))return null;const m=function(e,t){const s=new Set(e.exits),i=[];let n=0;for(let t=0;t<e.toOld.length;t++){const r=e.toOld[t];if(-1!==r){for(;n<r;)s.has(n)&&i.push({oldJ:n,newJ:-1}),n++;i.push({oldJ:r,newJ:t}),n=r+1}else i.push({oldJ:-1,newJ:t})}for(;n<t;)s.has(n)&&i.push({oldJ:n,newJ:-1}),n++;return i}(c,u.length),x={};return Array.isArray(r)&&1===r.length&&i&&(x.line=$(i,r[0],m,u.length,p.length,!1)),"area"===t&&Array.isArray(a)&&1===a.length&&n&&(x.area=$(n,a[0],m,u.length,p.length,!0)),x.line||x.area?x:null}class U{constructor(e,t,s,i){this.ctx=t,this.w=e,this.xyRatios=s,this.xRatio=0,this.yRatio=[],this.zRatio=0,this.baseLineY=[],this.pointsChart=!("bubble"!==this.w.config.chart.type&&"scatter"!==this.w.config.chart.type)||i,this.scatter=new m(this.w,this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new b(this),this.markers=new f(this.w,this.ctx),this.prevSeriesY=[],this.prevSeriesYByX=new Map,this.categoryAxisCorrection=0,this.yaxisIndex=0,this.xDivision=0,this.zeroY=0,this.areaBottomY=0,this.strokeWidth=0,this.isReversed=!1,this.appendPathFrom=!1,this.elSeries=null,this.elPointsMain=null,this.elDataLabelsWrap=null,this._elLastPointsWrap=null,this._shapeOnly=!1}draw(e,t,s,i){var n;const r=this.w,a=this.ctx.highlightFilter,l=new p(this.w),o=r.globals.comboCharts?t:r.config.chart.type,h=l.group({class:`apexcharts-${o}-series apexcharts-plot-series`}),c=new u(this.w);if(this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,e=c.getLogSeries(e,s),this.yRatio=c.getLogYRatios(this.yRatio),this.prevSeriesY=[],this.prevSeriesYByX=new Map,this._stackXs=null,r.config.chart.stacked&&r.axisFlags.isXNumeric){const t=e.map((e,t)=>r.globals.comboCharts?s[t]:t).filter(e=>!this._hidden(e)).map(e=>r.seriesData.seriesX[e]||[]);t.some(e=>e.length!==t[0].length||e.some((e,s)=>e!==t[0][s]))&&(this._stackXs=[...new Set(t.flat())].sort((e,t)=>e-t))}const d=[];for(let t=0;t<e.length;t++){const n=r.globals.comboCharts?s[t]:t;e=this.lineHelpers.sameValueSeriesFix(t,e,n);const l=this.yRatio.length>1?n:0,h=this._collapsedBaselineRow(e,t,n);this._shapeOnly=!!h,h&&((e=e.slice())[t]=h,"rangeArea"===o&&i&&((i=i.slice())[t]=h)),this._initSerieVariables(e,t,n),x.addCollapsedClassToSeries(this.w,this.elSeries,n);const c=this._buildSeriesPaths(o,e,t,n,l,s,i);this._handlePaths({type:o,realIndex:n,i:t,paths:c}),null==a||a.line(this,o,e,t,n,l,c),this.markers.flushBatch(this.elPointsMain,n),this.elSeries.add(this.elPointsMain),this.elSeries.add(this.elDataLabelsWrap),d.push(this.elSeries)}if(void 0!==(null==(n=r.config.series[0])?void 0:n.zIndex)&&d.sort((e,t)=>Number(e.node.getAttribute("zIndex"))-Number(t.node.getAttribute("zIndex"))),r.config.chart.stacked)for(let e=d.length-1;e>=0;e--)h.add(d[e]);else for(let e=0;e<d.length;e++)h.add(d[e]);return h}_buildSeriesPaths(e,t,s,i,n,r,a){const l=this.w,c=[],u=[],p=[];let d=l.globals.padHorizontal+this.categoryAxisCorrection;l.axisFlags.isXNumeric&&l.seriesData.seriesX.length>0&&(d=(l.seriesData.seriesX[i][0]-l.globals.minX)/this.xRatio),p.push(d);const g=d;let f,m=this.zeroY,x=this.zeroY;m=this.lineHelpers.determineFirstPrevY({i:s,realIndex:i,series:t,prevY:m,lineYPosition:0,translationsIndex:n}).prevY,"monotoneCubic"===l.config.stroke.curve&&null===t[s][0]?c.push(null):c.push(m);const y=m;let b;"rangeArea"===e&&(b=this.lineHelpers.determineFirstPrevY({i:s,realIndex:i,series:a,prevY:x,lineYPosition:0,translationsIndex:n}),x=b.prevY,f=x,u.push(null!==c[0]?x:null));const v=this._calculatePathsFrom(i,m),A=[c[0]],P=[u[0]],_={type:e,series:t,realIndex:i,translationsIndex:n,i:s,x:d,y:1,pX:g,pY:y,pathsFrom:v,linePaths:[],areaPaths:[],seriesIndex:r,lineYPosition:0,xArrj:p,yArrj:c,y2Arrj:u,seriesRangeEnd:a},w=this._iterateOverDataPoints(h(o({},_),{iterations:"rangeArea"===e?t[s].length-1:void 0,isRangeStart:!0}));if("rangeArea"===e){const e=this._calculatePathsFrom(i,x),t=this._iterateOverDataPoints(h(o({},_),{series:a,xArrj:[d],yArrj:A,y2Arrj:P,pY:f,areaPaths:w.areaPaths,pathsFrom:e,iterations:a[s].length-1,isRangeStart:!1})),n=w.linePaths.length/2;for(let e=0;e<n;e++)w.linePaths[e]=t.linePaths[e+n]+w.linePaths[e];w.linePaths.splice(n);const r=1===w.linePaths.length?this.lineHelpers.previousRangeAreaPath(i):null;w.pathFromLine=null!=r?r:t.pathFromLine+w.pathFromLine}else/z\s*$/i.test(w.pathFromArea)||(w.pathFromArea+="z");return w}_collapsedBaselineRow(e,t,s){const i=this.w,n=i.globals;if(i.config.chart.stacked||this.pointsChart)return null;if(!Array.isArray(e[t])||0!==e[t].length)return null;if(!this._hidden(s))return null;const r=i.axisFlags.isXNumeric?(i.seriesData.seriesX[s]||[]).length:n.dataPoints;if(!r)return null;const a=y.isNumber(n.minYArr[s])?n.minYArr[s]:n.minY,l=y.isNumber(n.maxYArr[s])?n.maxYArr[s]:n.maxY,o=Math.min(Math.max(0,a),l);return new Array(r).fill(y.isNumber(o)?o:0)}_initSerieVariables(e,t,s){const i=this.w,n=new p(this.w);this.xDivision=i.layout.gridWidth/(i.globals.dataPoints-("on"===i.config.xaxis.tickPlacement?1:0)),this.strokeWidth=Array.isArray(i.config.stroke.width)?i.config.stroke.width[s]:i.config.stroke.width;let r=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[s],r=s),this.isReversed=i.config.yaxis[this.yaxisIndex]&&i.config.yaxis[this.yaxisIndex].reversed,this.zeroY=i.layout.gridHeight-this.baseLineY[r]-(this.isReversed?i.layout.gridHeight:0)+(this.isReversed?2*this.baseLineY[r]:0),this.areaBottomY=this.zeroY,(this.zeroY>i.layout.gridHeight||"end"===i.config.plotOptions.area.fillTo)&&(this.areaBottomY=i.layout.gridHeight),this.categoryAxisCorrection=this.xDivision/2;const a=i.config.series[s];if(this.elSeries=n.group({class:"apexcharts-series",zIndex:void 0!==a.zIndex?a.zIndex:s,seriesName:y.escapeString(i.seriesData.seriesNames[s])}),this.elPointsMain=n.group({class:"apexcharts-series-markers-wrap","data:realIndex":s}),this.markers.resetSeriesWrapCache(),this._elLastPointsWrap=null,i.globals.hasNullValues){const e=this.markers.plotChartMarkers({pointsPos:{x:[0],y:[i.layout.gridHeight+i.globals.markers.largestSize]},seriesIndex:t,j:0,pSize:.1,alwaysDrawMarker:!0,isVirtualPoint:!0});null!==e&&this.elPointsMain.add(e)}this.elDataLabelsWrap=n.group({class:"apexcharts-datalabels","data:realIndex":s});const l=e[t].length===i.globals.dataPoints;this.elSeries.attr({"data:longestSeries":l,rel:t+1,"data:realIndex":s}),this.appendPathFrom=!0}_calculatePathsFrom(e,t){const s=new p(this.w);let i=s.move(0,this.areaBottomY)+s.line(0,this.areaBottomY),n=i;if(this.w.globals.previousPaths.length>0){const t=this.lineHelpers.checkPreviousPaths({pathFromLine:i,pathFromArea:n,realIndex:e});i=t.pathFromLine,n=t.pathFromArea}return{prevY:t,pathFromLine:i,pathFromArea:n}}_stackKey(e,t){if(!this.w.axisFlags.isXNumeric)return t;const s=this.w.seriesData.seriesX[e];return s?s[t]:void 0}stackTopAt(e,t){const s=this._stackKey(e,t);if(null!=s)return this.prevSeriesYByX.get(s)}_hidden(e){const t=this.w.globals;return t.collapsedSeriesIndices.indexOf(e)>-1||t.ancillaryCollapsedSeriesIndices.indexOf(e)>-1}_recordStackTops(e,t,s=this.w.seriesData.series[e]){if(this.w.config.chart.stacked&&Array.isArray(t)&&!this._hidden(e))for(let i=0;i<t.length;i++){const n=this._stackKey(e,i);if(null==n)continue;const r=t[i];y.isNumber(r)&&null!=(null==s?void 0:s[i])&&this.prevSeriesYByX.set(n,r)}}_handlePaths({type:e,realIndex:t,i:s,paths:i}){var n,r,a,l,c,u,g;const f=this.w,m=new p(this.w),x=function(e,t){const s=e&&e.renderer;return s&&s.kind&&"svg"!==s.kind?s:t}(this.ctx,m),y=new d(this.w);this.marks=[],this.prevSeriesY.push(i.yArrj),this._recordStackTops(t,i.yArrj);let b=null;"line"!==e&&"area"!==e||!f.globals.dataChanged||(b=function(e,t,s,i){var n;const r=e.globals,a=r.prevStreamFrame;if(!a||!r.dataChanged||!(null==(n=e.axisFlags)?void 0:n.isXNumeric))return null;const l=a.seriesX[t],o=a.seriesY[t],h=e.seriesData.seriesX[t],c=e.seriesData.series[t];if(!(l&&o&&h&&c))return null;if(l.length<3||h.length<3)return null;let u=-1;for(let e=0;e<l.length;e++)if(l[e]===h[0]){u=e;break}if(-1===u)return null;const p=Math.min(l.length-u,h.length);if(p<2)return null;const d=h.length-p;if(0===u&&0===d)return null;for(let e=0;e<p;e++){if(l[u+e]!==h[e])return null;const t=o[u+e],s=c[e];if(t!==s&&(null!=t||null!=s))return null}const g=a.xPixels[t],f=a.yPixels[t];if(!g||!f)return null;let m=-1,x=-1;for(let e=0;e<p;e++)null!=g[u+e]&&null!=f[u+e]&&null!=s[e]&&null!=i[e]&&(-1===m&&(m=e),x=e);if(-1===m||x<=m)return null;const y=s[m],b=s[x],v=g[u+m],A=g[u+x];if(Math.abs(b-y)<1e-6)return null;const P=(A-v)/(b-y),_=v-P*y;if(!isFinite(P)||!isFinite(_))return null;if(Math.abs(P-1)>.02)return null;if(Math.abs(_)<.5)return null;let w=m,k=m;for(let e=m;e<=x;e++){const t=i[e];null!=t&&null!=f[u+e]&&(t<i[w]&&(w=e),t>i[k]&&(k=e))}let C=1,F=0;const S=i[w],Y=i[k];if(Math.abs(Y-S)>1e-6?(C=(f[u+k]-f[u+w])/(Y-S),F=f[u+w]-C*S):F=f[u+w]-S,!isFinite(C)||!isFinite(F)||C<.2||C>5)return null;const j=Math.floor((m+x)/2);if(j!==m&&j!==x&&null!=s[j]&&null!=g[u+j]){const e=P*s[j]+_;if(Math.abs(e-g[u+j])>1.5)return null;if(null!=i[j]&&null!=f[u+j]){const e=C*i[j]+F;if(Math.abs(e-f[u+j])>1.5)return null}}return r.streamScrolled=!0,{ax:P,bx:_,ay:C,by:F}}(f,t,i.xArrj,i.yArrj));let v=null;b||"line"!==e&&"area"!==e||(v=K(f,{type:e,realIndex:t,pathFromLine:i.pathFromLine,pathFromArea:i.pathFromArea,linePaths:i.linePaths,areaPaths:i.areaPaths})),f.globals.seriesXvalues[t]=i.xArrj,f.globals.seriesYvalues[t]=i.yArrj;const A=f.config.forecastDataPoints;if(A.count>0&&"rangeArea"!==e){const e=i.xArrj.length-A.count-1,s=f.axisFlags.isXNumeric?(f.seriesData.seriesX[t][e]-f.globals.minX)/this.xRatio:f.globals.padHorizontal+this.categoryAxisCorrection+e*this.xDivision,n=m.drawRect(s,0,f.layout.gridWidth,f.layout.gridHeight,0);f.dom.elForecastMask.appendChild(n.node);const r=m.drawRect(0,0,s,f.layout.gridHeight,0);f.dom.elNonForecastMask.appendChild(r.node)}this.pointsChart?(J(f,{elPointsMain:this.elPointsMain,realIndex:t,speed:f.config.chart.animations.dynamicAnimation.speed}),function(e,{elPointsMain:t,realIndex:s,speed:i}){if(!(null==t?void 0:t.node)||!O(e))return!1;if(-1===(e.globals.risingSeries||[]).indexOf(s))return!1;const n=t.node.querySelectorAll(".apexcharts-marker");if(!n.length)return!1;const r=H(e);t.node.classList.remove("apexcharts-element-hidden"),n.forEach(t=>{const s=t.getBBox(),n=s.x+s.width/2,a=s.y+s.height/2;q(t,n,a,0),V(e,Math.max(1,i||1),r,e=>q(t,n,a,e),()=>t.removeAttribute("transform"))})}(f,{elPointsMain:this.elPointsMain,realIndex:t,speed:f.config.chart.animations.dynamicAnimation.speed}),(f.seriesData.series[t]||[]).length||function(e,{elPointsMain:t,realIndex:s,speed:i,drawPoint:n}){var r,a,l;if(!(null==t?void 0:t.node)||!O(e))return!1;if(-1===(e.globals.collapsingSeriesIndices||[]).indexOf(s))return!1;const o=e.globals.prevStreamFrame,h=null==(r=null==o?void 0:o.xPixels)?void 0:r[s],c=null==(a=null==o?void 0:o.yPixels)?void 0:a[s];if(!Array.isArray(h)||!Array.isArray(c))return!1;const u=(null==(l=null==o?void 0:o.rPixels)?void 0:l[s])||[],p=e.globals.markers.size[s]||0,d=H(e);let g=!1;for(let r=0;r<h.length;r++){const a=h[r],l=c[r];if(null==a||null==l||!isFinite(a)||!isFinite(l))continue;const o=isFinite(u[r])?u[r]:p;if(!(o>0))continue;const f=n(a,l,o,r);if(!(null==f?void 0:f.node))continue;t.add(f);const m=f.node;m.classList.add("apexcharts-marker-exit");const x=F.trackSeriesTween(e,s);V(e,Math.max(1,i||1),d,e=>q(m,a,l,1-e),()=>{q(m,a,l,0),x()}),g=!0}g&&t.node.classList.remove("apexcharts-element-hidden")}(f,{elPointsMain:this.elPointsMain,realIndex:t,speed:f.config.chart.animations.dynamicAnimation.speed,drawPoint:(e,s,i,n)=>this.scatter.drawPoint(e,s,i,t,n,n)})):(f.globals.delayedElements.push({el:this.elPointsMain.node,index:t}),J(f,{elPointsMain:this.elPointsMain,realIndex:t,speed:f.config.chart.animations.dynamicAnimation.speed})||"line"!==e||f.config.stroke.show||!f.globals.dataChanged&&!f.globals.resized||this.elPointsMain.node.classList.remove("apexcharts-element-hidden"),W(f,t)&&(null==(n=this.elDataLabelsWrap)?void 0:n.node)&&(this.elDataLabelsWrap.node.classList.add("apexcharts-element-hidden"),f.globals.delayedElements.push({el:this.elDataLabelsWrap.node,holdUntilComplete:!0})));const P={i:s,realIndex:t,animationDelay:s,initialSpeed:f.config.chart.animations.speed,dataChangeSpeed:f.config.chart.animations.dynamicAnimation.speed,className:`apexcharts-${e}`},_=i.numericXY,w="line"===e||"area"===e,C=w&&i.linePaths.length>1?[i.linePaths.join(" ")]:i.linePaths,S=w&&i.areaPaths.length>1?[i.areaPaths.join(" ")]:i.areaPaths;if("area"===e){const e=y.fillPath({seriesNumber:t});for(let t=0;t<S.length;t++){const s=x.renderPaths(h(o({},P),{pathFrom:b?k(i.areaPaths[t],b):null!=(a=null==(r=null==v?void 0:v.area)?void 0:r.from)?a:i.pathFromArea,pathTo:S[t],pathToNumeric:_?{xs:_.xs,ys:_.ys,closeY:_.areaCloseY}:void 0,pathToInterp:null==(l=null==v?void 0:v.area)?void 0:l.toInterp,scrollMorph:!!b,stroke:"none",strokeWidth:0,strokeLinecap:null,fill:e}));this.elSeries.add(s),this.marks.push(s)}}if(f.config.stroke.show&&!this.pointsChart){let n=null;if("line"===e)n=y.fillPath({seriesNumber:t,i:s});else if("solid"===f.config.stroke.fill.type)n=f.globals.stroke.colors[t];else{const e=f.config.fill;f.config.fill=f.config.stroke.fill,n=y.fillPath({seriesNumber:t,i:s}),f.config.fill=e}for(let s=0;s<C.length;s++){let r=n;"rangeArea"===e&&(r=y.fillPath({seriesNumber:t}));const a=h(o({},P),{pathFrom:b?k(i.linePaths[s],b):null!=(u=null==(c=null==v?void 0:v.line)?void 0:c.from)?u:i.pathFromLine,pathTo:C[s],pathToNumeric:_?{xs:_.xs,ys:_.ys}:void 0,pathToInterp:null==(g=null==v?void 0:v.line)?void 0:g.toInterp,scrollMorph:!!b,stroke:n,strokeWidth:this.strokeWidth,strokeLinecap:f.config.stroke.lineCap,fill:"rangeArea"===e?r:"none"}),l=x.renderPaths(a);if(this.elSeries.add(l),this.marks.push(l),l.attr("fill-rule","evenodd"),A.count>0&&"rangeArea"!==e){const e=x.renderPaths(a);e.node.setAttribute("stroke-dasharray",A.dashArray),A.strokeWidth&&e.node.setAttribute("stroke-width",A.strokeWidth),this.elSeries.add(e),e.attr("clip-path",`url(#forecastMask${f.globals.cuid})`),l.attr("clip-path",`url(#nonForecastMask${f.globals.cuid})`)}}}}_iterateOverDataPoints({type:e,series:t,iterations:s,realIndex:i,translationsIndex:n,i:r,x:a,y:l,pX:o,pY:h,pathsFrom:c,linePaths:u,areaPaths:d,seriesIndex:g,lineYPosition:f,xArrj:m,yArrj:x,y2Arrj:b,isRangeStart:A,seriesRangeEnd:P}){var _,w,k;const C=this.w,F=new p(this.w),S=this.yRatio,Y=c.prevY;let j,M,{pathFromLine:I,pathFromArea:L}=c;const R=y.isNumber(C.globals.minYArr[i])?C.globals.minYArr[i]:C.globals.minY;s||(s=C.globals.dataPoints>1?C.globals.dataPoints-1:C.globals.dataPoints);const X=(e,t)=>t-e/S[n]+2*(this.isReversed?e/S[n]:0);let N=l;const D=C.config.chart.stacked&&!C.globals.comboCharts||C.config.chart.stacked&&C.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||"bar"===(null==(_=this.w.config.series[i])?void 0:_.type)||"column"===(null==(w=this.w.config.series[i])?void 0:w.type));let z=C.config.stroke.curve;Array.isArray(z)&&(z=Array.isArray(g)?z[g[r]]:z[r]);let T,$=0;const O=this.pointsChart?this._scatterJitterPx(i):null;if("straight"===z&&!this.pointsChart){const p=this._fastStraightPath({type:e,series:t,i:r,realIndex:i,translationsIndex:n,iterations:s,x:a,y:l,pX:o,pY:h,pathsFrom:c,linePaths:u,areaPaths:d,xArrj:m,yArrj:x,y2Arrj:b,stackSeries:D});if(p)return p}const E=D?this._stackXs:null;let B=0;const W=[];for(let n=0;n<s&&0!==t[r].length;n++){const c=void 0===t[r][n+1]||null===t[r][n+1];if(C.axisFlags.isXNumeric){const e=C.seriesData.seriesX[i];let t=e[n+1];if(void 0===t&&(t=e[s-1]),a=(t-C.globals.minX)/this.xRatio,E){const s=[];for(;E[B]<=e[n];)B++;for(;E[B]<t;)s.push([(E[B]-C.globals.minX)/this.xRatio,null!=(k=this.prevSeriesYByX.get(E[B++]))?k:this.zeroY]);s.length&&(W[n+1]=s)}}else a+=this.xDivision;if(D)if(r>0&&C.globals.collapsedSeries.length<C.config.series.length-1)if((e=>{var t;for(let s=e;s>=0;s--){const e=null!=(t=null==g?void 0:g[s])?t:s;if(!this._hidden(e))return s}return-1})(r-1)<0)f=this.zeroY;else{const e=this.stackTopAt(i,n+1);f=void 0===e?this.zeroY:e}else f=this.zeroY;else f=this.zeroY;c?l=X(R,f):(l=X(t[r][n+1],f),"rangeArea"===e&&(N=X(P[r][n+1],f)));let p=a,y=l;if(O){const e=100003*i+(n+1);O.x&&(p=a+2*(v(7919*e+13)-.5)*O.x),O.y&&(y=l+2*(v(6271*e+97)-.5)*O.y)}m.push(null===t[r][n+1]?null:p),!c||"smooth"!==C.config.stroke.curve&&"monotoneCubic"!==C.config.stroke.curve?(x.push(y),b.push(N)):(x.push(null),b.push(null));const _=this.lineHelpers.calculatePoints({series:t,x:p,y:y,realIndex:i,i:r,j:n,prevY:Y}),w=this._createPaths({type:e,series:t,i:r,j:n,x:a,y:l,midsAt:W,y2:N,xArrj:m,yArrj:x,y2Arrj:b,pX:o,pY:h,pathState:$,segmentStartX:T,linePath:j,areaPath:M,linePaths:u,areaPaths:d,curve:z,isRangeStart:A});d=w.areaPaths,u=w.linePaths,o=w.pX,h=w.pY,$=w.pathState,T=w.segmentStartX,M=w.areaPath,j=w.linePath,!this.appendPathFrom||C.globals.hasNullValues||"monotoneCubic"===z&&"rangeArea"===e||(I+=F.line(a,this.areaBottomY),L+=F.line(a,this.areaBottomY)),this._shapeOnly||(this.handleNullDataPoints(t,_,r,n,i),this._handleMarkersAndLabels({type:e,pointsPos:_,i:r,j:n,realIndex:i,isRangeStart:A}))}return{yArrj:x,xArrj:m,pathFromArea:L,areaPaths:d,pathFromLine:I,linePaths:u}}_handleMarkersAndLabels({type:e,pointsPos:t,isRangeStart:s,i:i,j:n,realIndex:r}){const a=this.w,l=new g(this.w,this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,n,{realIndex:r,pointsPos:t,zRatio:this.zRatio,elParent:this.elPointsMain});else{(a.globals.dataChanged||a.globals.resized||a.globals.markers.batched)&&a.seriesData.series[i].length>1&&this.elPointsMain.node.classList.add("apexcharts-element-hidden");const e=this.markers.plotChartMarkers({pointsPos:t,seriesIndex:r,j:n+1});null!==e&&e!==this._elLastPointsWrap&&(this.elPointsMain.add(e),this._elLastPointsWrap=e)}const o=l.drawDataLabel({type:e,isRangeStart:s,pos:t,i:r,j:n+1});null!==o&&this.elDataLabelsWrap.add(o)}_scatterJitterPx(e){var t;const s=this.w,i=null==(t=s.config.plotOptions.scatter)?void 0:t.jitter;if(!i||!i.enabled||!i.x&&!i.y)return null;const n=s.axisFlags.isXNumeric&&this.xRatio?1/this.xRatio:this.xDivision,r=this.yRatio.length>1?e:0,a=this.yRatio[r]?1/this.yRatio[r]:0;return{x:(i.x||0)*n,y:(i.y||0)*a}}_fastStraightPath({type:e,series:t,i:s,realIndex:i,translationsIndex:n,iterations:r,x:a,y:l,pX:o,pY:h,pathsFrom:c,linePaths:u,areaPaths:p,xArrj:d,yArrj:g,y2Arrj:f,stackSeries:m}){const x=this.w;if("line"!==e&&"area"!==e)return null;if(x.globals.comboCharts||m)return null;if(x.config.dataLabels.enabled)return null;if(x.config.markers.discrete.length)return null;if(x.globals.markers.size[i]>0)return null;const y=t[s],b=y.length;if(!r||b<2||b-1!==r)return null;for(let e=0;e<=r;e++){const t=y[e];if(null==t)return null}const v=x.axisFlags.isXNumeric,A=v?x.seriesData.seriesX[i]:null;if(v&&(!A||A.length<b))return null;const P=this.yRatio[n],_=this.isReversed,w=this.zeroY,k=this.areaBottomY,C=this.xRatio,F=x.globals.minX,S=this.xDivision,Y=x.config.markers.offsetX,j=x.config.markers.offsetY,M=this.appendPathFrom&&!x.globals.hasNullValues;let{pathFromLine:I,pathFromArea:L}=c;const R=this.ctx&&this.ctx.renderer,X=!(!R||!R.kind||"svg"===R.kind),N=!X||x.globals.dataChanged&&!!x.globals.prevStreamFrame,D=X?new Float64Array(b):null,z=X?new Float64Array(b):null;D&&z&&(D[0]=o,z[0]=h),void 0===x.globals.pointsArray[i]&&(x.globals.pointsArray[i]=[]);const T=x.globals.pointsArray[i],$=A?(A[0]-F)/C+Y:this.categoryAxisCorrection+Y;T.push([$,c.prevY+j]);const O=N?new Array(r+1):[];N&&(O[0]="M "+o+" "+h);const E=N&&M?new Array(r):null;let B=a,W=o,H=h;for(let e=0;e<r;e++){A?W=(A[e+1]-F)/C:(B+=S,W=B);const t=y[e+1];H=w-t/P+2*(_?t/P:0),d.push(W),g.push(H),f.push(l),T.push([W+Y,H+j]),N&&(O[e+1]=" L "+W+" "+H,E&&(E[e]=" L "+W+" "+k)),D&&z&&(D[e+1]=W,z[e+1]=H)}let V="",J="";if(N&&(V=O.join(""),J=V+" L "+W+" "+k+" L "+o+" "+k+"z"),E){const e=E.join("");I+=e,L+=e}else!N&&M&&(I+=" L "+W+" "+k,L+=" L "+W+" "+k);return u.push(V),p.push(J),{yArrj:g,xArrj:d,pathFromArea:L,areaPaths:p,pathFromLine:I,linePaths:u,numericXY:D?{xs:D,ys:z,areaCloseY:k}:void 0}}_createPaths({type:e,series:t,i:s,j:i,x:n,y:r,midsAt:a,xArrj:l,yArrj:o,y2:h,y2Arrj:c,pX:u,pY:d,pathState:g,segmentStartX:f,linePath:m,areaPath:x,linePaths:y,areaPaths:b,curve:v,isRangeStart:A}){const _=new p(this.w),w=this.areaBottomY,k="rangeArea"===e,C="rangeArea"===e&&A,F=a[i+1],S=e=>F?[...F,[n,r]].map(([t,s],i,n)=>e(...i?n[i-1]:[u,d],t,s)).join(""):e(u,d,n,r);switch(v){case"monotoneCubic":{const e=A?o:c,n=(e,t)=>e.map((e,s)=>[e,t[s]]).filter(e=>null!==e[1]),r=e=>{const t=[];let s=0;return e.forEach(e=>{null!==e?s++:s>0&&(t.push(s),s=0)}),s>0&&t.push(s),t},h=(e,t)=>{const s=r(e),i=[];for(let e=0,n=0;e<s.length;n+=s[e++])i[e]=P.slice(t,n,n+s[e]);return i};switch(g){case 0:if(null===e[i+1])break;g=1;case 1:if(!(k?l.length===t[s].length:i===t[s].length-2))break;case 2:{let t=A?l:l.slice().reverse(),s=A?e:e.slice().reverse();if(a.length&&!k){const e=[];t.forEach((t,i)=>{null!==s[i]&&null!=s[i-1]&&a[i]&&e.push(...a[i]),e.push([t,s[i]])}),t=e.map(e=>e[0]),s=e.map(e=>e[1])}const i=n(t,s),r=i.length>1?P.points(i):i;let o=[];k&&(C?b=i:o=b.reverse());let c=0,u=0;if(h(s,r).forEach(e=>{c++;const t=(e=>{let t="";for(let s=0;s<e.length;s++){const i=e[s],n=i.length;n>4?(t+=`C${i[0]}, ${i[1]}`,t+=`, ${i[2]}, ${i[3]}`,t+=`, ${i[4]}, ${i[5]}`):n>2&&(t+=`S${i[0]}, ${i[1]}`,t+=`, ${i[2]}, ${i[3]}`)}return t})(e),s=u;u+=e.length;const n=u-1;C?m=_.move(i[s][0],i[s][1])+t:k?m=_.move(o[s][0],o[s][1])+_.line(i[s][0],i[s][1])+t+_.line(o[n][0],o[n][1]):(m=_.move(i[s][0],i[s][1])+t,x=m+_.line(i[n][0],w)+_.line(i[s][0],w)+"z",b.push(x)),y.push(m)}),k&&c>1&&!C){const e=y.slice(c).reverse();y.splice(c),e.forEach(e=>y.push(e))}g=0;break}}break}case"smooth":{const e=(e,t,s,i)=>{const n=.35*(s-e);return _.curve(e+n,t,s-n,i,s,i)};if(null===t[s][i])g=0;else switch(g){case 0:if(f=u,m=C?_.move(u,c[i])+_.line(u,d):_.move(u,d),x=_.move(u,d),null===t[s][i+1]||void 0===t[s][i+1]){y.push(m),b.push(x);break}if(g=1,i<t[s].length-2){const t=S(e);m+=t,x+=t;break}case 1:if(null===t[s][i+1])m+=C?_.line(u,h):_.move(u,d),x+=_.line(u,w)+_.line(f,w)+"z",y.push(m),b.push(x),g=-1;else{const a=S(e);m+=a,x+=a,i>=t[s].length-2&&(C&&(m+=_.curve(n,r,n,r,n,h)+_.move(n,h)),x+=_.curve(n,r,n,r,n,w)+_.line(f,w)+"z",y.push(m),b.push(x),g=-1)}}u=n,d=r;break}default:{const e=(e,t,s,i)=>{let n="";switch(v){case"stepline":n=_.line(s,null,"H")+_.line(null,i,"V");break;case"linestep":n=_.line(null,i,"V")+_.line(s,null,"H");break;case"straight":n=_.line(s,i)}return n};if(null===t[s][i])g=0;else switch(g){case 0:if(f=u,m=C?_.move(u,c[i])+_.line(u,d):_.move(u,d),x=_.move(u,d),null===t[s][i+1]||void 0===t[s][i+1]){y.push(m),b.push(x);break}if(g=1,i<t[s].length-2){const t=S(e);m+=t,x+=t;break}case 1:if(null===t[s][i+1])m+=C?_.line(u,h):_.move(u,d),x+=_.line(u,w)+_.line(f,w)+"z",y.push(m),b.push(x),g=-1;else{const r=S(e);m+=r,x+=r,i>=t[s].length-2&&(C&&(m+=_.line(n,h)),x+=_.line(n,w)+_.line(f,w)+"z",y.push(m),b.push(x),g=-1)}}u=n,d=r;break}}return{linePaths:y,areaPaths:b,pX:u,pY:d,pathState:g,segmentStartX:f,linePath:m,areaPath:x}}handleNullDataPoints(e,t,s,i,n){const r=this.w;if(null===e[s][i]&&r.config.markers.showNullDataPoints||1===e[s].length){let e=this.strokeWidth-r.config.markers.strokeWidth/2;e>0||(e=0);const s=this.markers.plotChartMarkers({pointsPos:t,seriesIndex:n,j:i+1,pSize:e,alwaysDrawMarker:!0});null!==s&&this.elPointsMain.add(s)}}}c.use({line:U,area:U,scatter:U,bubble:U,rangeArea:U}),e.default=c,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ApexLine={})});
|
package/dist/locales/en.json
CHANGED
package/dist/locales/ro.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* ApexCharts v8.
|
|
2
|
+
* ApexCharts v8.3.1
|
|
3
3
|
* (c) 2018-2026 ApexCharts
|
|
4
4
|
*/
|
|
5
5
|
"use strict";var e=Object.defineProperty,r=Object.defineProperties,t=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable,L=(r,t,o)=>t in r?e(r,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):r[t]=o,n=(e,r)=>{for(var t in r||(r={}))a.call(r,t)&&L(e,t,r[t]);if(o)for(var t of o(r))s.call(r,t)&&L(e,t,r[t]);return e};function c(e){const o=(a=n({},e),s={viewBox:e.viewBox||[0,0,100,100]},r(a,t(s)));var a,s;return o.with=r=>c(n(n({},e),r)),Object.freeze(o)}Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=c({name:"person",category:"people",source:"original",path:"M 37 18 A 13 13 0 0 1 63 18 A 13 13 0 0 1 37 18 Z M 50 34 C 61 34 69 40 70 50 L 73 72 L 65 72 L 63 58 L 61 96 L 53 96 L 51 66 L 49 66 L 47 96 L 39 96 L 37 58 L 35 72 L 27 72 L 30 50 C 31 40 39 34 50 34 Z"}),i=c({name:"house",category:"objects",source:"original",path:"M 50 8 L 94 46 L 82 46 L 82 92 L 58 92 L 58 64 L 42 64 L 42 92 L 18 92 L 18 46 L 6 46 Z"}),C=c({name:"heart",category:"symbols",source:"original",path:"M 50 90 C 22 70 6 54 6 36 C 6 21 17 11 30 11 C 39 11 46 16 50 24 C 54 16 61 11 70 11 C 83 11 94 21 94 36 C 94 54 78 70 50 90 Z"}),u=c({name:"tree",category:"nature",source:"original",path:"M 50 6 C 66 6 78 18 78 33 C 78 38 77 42 75 46 C 82 50 86 57 86 65 C 86 77 76 86 64 86 L 55 86 L 55 96 L 45 96 L 45 86 L 36 86 C 24 86 14 77 14 65 C 14 57 18 50 25 46 C 23 42 22 38 22 33 C 22 18 34 6 50 6 Z"}),g=c({name:"droplet",category:"nature",source:"original",path:"M 50 4 C 50 4 84 42 84 64 C 84 82 69 96 50 96 C 31 96 16 82 16 64 C 16 42 50 4 50 4 Z"}),l=c({name:"star",category:"symbols",source:"original",path:"M 50 6 L 61.2 36.6 L 93.8 37.8 L 68.1 57.9 L 77 89.2 L 50 71 L 23 89.2 L 31.9 57.9 L 6.2 37.8 L 38.8 36.6 Z"}),b=c({name:"car",category:"transport",source:"original",path:"M 6 72 L 9 53 C 10 46 15 41 22 40 L 32 23 C 35 19 39 17 44 17 L 60 17 C 65 17 69 19 71 23 L 81 40 C 88 41 93 46 94 53 L 97 72 L 97 80 L 6 80 Z M 13 88 A 11 11 0 1 1 35 88 A 11 11 0 1 1 13 88 Z M 65 88 A 11 11 0 1 1 87 88 A 11 11 0 1 1 65 88 Z"}),y=c({name:"bag",category:"objects",source:"original",path:"M 10 30 L 90 30 L 95 96 L 5 96 Z M 32 30 C 32 14 40 4 50 4 C 60 4 68 14 68 30 L 59 30 C 59 19 55 13 50 13 C 45 13 41 19 41 30 Z"}),h=c({name:"book",category:"objects",source:"original",path:"M 8 14 C 8 14 26 6 50 16 C 74 6 92 14 92 14 L 92 88 C 92 88 74 80 50 90 C 26 80 8 88 8 88 Z"}),m=c({name:"cup",category:"objects",source:"original",path:"M 14 22 L 70 22 L 70 34 L 80 34 C 90 34 96 41 96 51 C 96 63 87 71 75 71 L 69 71 C 65 84 55 92 42 92 C 26 92 14 79 14 61 Z"}),M=c({name:"bulb",category:"objects",source:"original",path:"M 50 4 C 32 4 18 18 18 36 C 18 48 25 56 31 63 C 35 68 37 72 37 78 L 63 78 C 63 72 65 68 69 63 C 75 56 82 48 82 36 C 82 18 68 4 50 4 Z M 38 84 L 38 90 L 62 90 L 62 84 Z M 42 94 L 45 99 L 55 99 L 58 94 Z"}),x=c({name:"plane",category:"transport",source:"original",path:"M 50 4 C 55 4 58 12 58 24 L 58 38 L 94 62 L 94 72 L 58 60 L 58 82 L 70 90 L 70 97 L 50 92 L 30 97 L 30 90 L 42 82 L 42 60 L 6 72 L 6 62 L 42 38 L 42 24 C 42 12 45 4 50 4 Z"}),f=[p,i,C,u,g,l,b,y,h,m,M,x],Z="__apexcharts_unit_marks__";function j(){const e=globalThis;return e[Z]||(e[Z]={}),e[Z]}exports.bag=y,exports.book=h,exports.bulb=M,exports.car=b,exports.catalog=f,exports.cup=m,exports.definePictogram=c,exports.droplet=g,exports.heart=C,exports.house=i,exports.person=p,exports.plane=x,exports.registerMarks=function(e){const r=j(),t=[];return(Array.isArray(e)?e.map(e=>[e?e.name:"",e]):Object.entries(e)).forEach(([e,o])=>{const a=String(e);a&&o&&"string"==typeof o.path&&(r[a]=o,t.push(a))}),t},exports.registeredMarkNames=function(){return Object.keys(j())},exports.star=l,exports.tree=u,exports.unregisterMarks=function(e){const r=j();(Array.isArray(e)?e:[e]).forEach(e=>{delete r[e]})};
|
package/dist/pictograms.esm.js
CHANGED
package/dist/pictograms.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
5
|
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self).ApexPictograms={})}(this,function(e){"use strict";var r=Object.defineProperty,t=Object.defineProperties,o=Object.getOwnPropertyDescriptors,a=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,L=Object.prototype.propertyIsEnumerable,c=(e,t,o)=>t in e?r(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,s=(e,r)=>{for(var t in r||(r={}))n.call(r,t)&&c(e,t,r[t]);if(a)for(var t of a(r))L.call(r,t)&&c(e,t,r[t]);return e};function i(e){const r=(a=s({},e),n={viewBox:e.viewBox||[0,0,100,100]},t(a,o(n)));var a,n;return r.with=r=>i(s(s({},e),r)),Object.freeze(r)}const p=i({name:"person",category:"people",source:"original",path:"M 37 18 A 13 13 0 0 1 63 18 A 13 13 0 0 1 37 18 Z M 50 34 C 61 34 69 40 70 50 L 73 72 L 65 72 L 63 58 L 61 96 L 53 96 L 51 66 L 49 66 L 47 96 L 39 96 L 37 58 L 35 72 L 27 72 L 30 50 C 31 40 39 34 50 34 Z"}),l=i({name:"house",category:"objects",source:"original",path:"M 50 8 L 94 46 L 82 46 L 82 92 L 58 92 L 58 64 L 42 64 L 42 92 L 18 92 L 18 46 L 6 46 Z"}),u=i({name:"heart",category:"symbols",source:"original",path:"M 50 90 C 22 70 6 54 6 36 C 6 21 17 11 30 11 C 39 11 46 16 50 24 C 54 16 61 11 70 11 C 83 11 94 21 94 36 C 94 54 78 70 50 90 Z"}),C=i({name:"tree",category:"nature",source:"original",path:"M 50 6 C 66 6 78 18 78 33 C 78 38 77 42 75 46 C 82 50 86 57 86 65 C 86 77 76 86 64 86 L 55 86 L 55 96 L 45 96 L 45 86 L 36 86 C 24 86 14 77 14 65 C 14 57 18 50 25 46 C 23 42 22 38 22 33 C 22 18 34 6 50 6 Z"}),g=i({name:"droplet",category:"nature",source:"original",path:"M 50 4 C 50 4 84 42 84 64 C 84 82 69 96 50 96 C 31 96 16 82 16 64 C 16 42 50 4 50 4 Z"}),b=i({name:"star",category:"symbols",source:"original",path:"M 50 6 L 61.2 36.6 L 93.8 37.8 L 68.1 57.9 L 77 89.2 L 50 71 L 23 89.2 L 31.9 57.9 L 6.2 37.8 L 38.8 36.6 Z"}),y=i({name:"car",category:"transport",source:"original",path:"M 6 72 L 9 53 C 10 46 15 41 22 40 L 32 23 C 35 19 39 17 44 17 L 60 17 C 65 17 69 19 71 23 L 81 40 C 88 41 93 46 94 53 L 97 72 L 97 80 L 6 80 Z M 13 88 A 11 11 0 1 1 35 88 A 11 11 0 1 1 13 88 Z M 65 88 A 11 11 0 1 1 87 88 A 11 11 0 1 1 65 88 Z"}),f=i({name:"bag",category:"objects",source:"original",path:"M 10 30 L 90 30 L 95 96 L 5 96 Z M 32 30 C 32 14 40 4 50 4 C 60 4 68 14 68 30 L 59 30 C 59 19 55 13 50 13 C 45 13 41 19 41 30 Z"}),h=i({name:"book",category:"objects",source:"original",path:"M 8 14 C 8 14 26 6 50 16 C 74 6 92 14 92 14 L 92 88 C 92 88 74 80 50 90 C 26 80 8 88 8 88 Z"}),m=i({name:"cup",category:"objects",source:"original",path:"M 14 22 L 70 22 L 70 34 L 80 34 C 90 34 96 41 96 51 C 96 63 87 71 75 71 L 69 71 C 65 84 55 92 42 92 C 26 92 14 79 14 61 Z"}),M=i({name:"bulb",category:"objects",source:"original",path:"M 50 4 C 32 4 18 18 18 36 C 18 48 25 56 31 63 C 35 68 37 72 37 78 L 63 78 C 63 72 65 68 69 63 C 75 56 82 48 82 36 C 82 18 68 4 50 4 Z M 38 84 L 38 90 L 62 90 L 62 84 Z M 42 94 L 45 99 L 55 99 L 58 94 Z"}),d=i({name:"plane",category:"transport",source:"original",path:"M 50 4 C 55 4 58 12 58 24 L 58 38 L 94 62 L 94 72 L 58 60 L 58 82 L 70 90 L 70 97 L 50 92 L 30 97 L 30 90 L 42 82 L 42 60 L 6 72 L 6 62 L 42 38 L 42 24 C 42 12 45 4 50 4 Z"}),Z=[p,l,u,C,g,b,y,f,h,m,M,d],j="__apexcharts_unit_marks__";function A(){const e=globalThis;return e[j]||(e[j]={}),e[j]}function O(e){const r=A(),t=[];return(Array.isArray(e)?e.map(e=>[e?e.name:"",e]):Object.entries(e)).forEach(([e,o])=>{const a=String(e);a&&o&&"string"==typeof o.path&&(r[a]=o,t.push(a))}),t}O(Z);const x=globalThis;x.ApexCharts&&(x.ApexCharts.pictograms=Z),e.bag=f,e.book=h,e.bulb=M,e.car=y,e.catalog=Z,e.cup=m,e.definePictogram=i,e.droplet=g,e.heart=u,e.house=l,e.person=p,e.plane=d,e.registerMarks=O,e.registeredMarkNames=function(){return Object.keys(A())},e.star=b,e.tree=C,e.unregisterMarks=function(e){const r=A();(Array.isArray(e)?e:[e]).forEach(e=>{delete r[e]})},Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
|
package/dist/pie.common.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
|
-
"use strict";var e=Object.defineProperty,t=Object.defineProperties,a=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable,n=(t,a,i)=>a in t?e(t,a,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[a]=i,r=(e,t)=>{for(var a in t||(t={}))s.call(t,a)&&n(e,a,t[a]);if(i)for(var a of i(t))l.call(t,a)&&n(e,a,t[a]);return e},o=(e,i)=>t(e,a(i));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});function h(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const a in e)if("default"!==a){const i=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,i.get?i:{enumerable:!0,get:()=>e[a]})}return t.default=e,Object.freeze(t)}const c=h(require("apexcharts/core")),d=c.__apex_Animations,g=c.__apex_Fill,p=c.__apex_Utils,u=c.__apex_Graphics,f=c.__apex_Filters,b=c.__apex_Scales;class m{constructor(e){this.w=e}drawYAxisTexts(e,t,a,i){const s=this.w,l=s.config.yaxis[0],n=s.formatters.yLabelFormatters[0];return new u(this.w).drawText({x:e+l.labels.offsetX,y:t+l.labels.offsetY,text:n(i,a),textAnchor:"middle",fontSize:l.labels.style.fontSize,fontFamily:l.labels.style.fontFamily,foreColor:Array.isArray(l.labels.style.colors)?l.labels.style.colors[a]:l.labels.style.colors})}getMaxLabelWidth(e,{fontSize:t,fontFamily:a,fontWeight:i}={}){const s=new u(this.w);let l=0;return e.forEach(e=>{if(null==e||""===e)return;const n=s.getTextRects(`${e}`,t||"12px",a,"",!0,i);l=Math.max(l,n.width)}),l}drawExternalLabel(e){return function(e,t){const{lines:a,lineHeight:i,anchor:s,elbow:l,labelX:n,labelY:r,side:o,connector:h,style:c,foreColor:d}=t,g=new u(e),p=g.group({class:t.groupClass||"apexcharts-outer-label-group"});if(h.show){const e=`M ${s.x} ${s.y} L ${l.x} ${l.y} L ${n} ${r}`,a=g.drawPath({d:e,stroke:h.color,strokeWidth:h.width,fill:"none",strokeLinecap:"round"});a.node.classList.add(t.connectorClass||"apexcharts-outer-label-connector"),p.add(a)}const f="right"===o?n+4:n-4,b=a.length,m=r-(b-1)*i/2,x=g.drawText({x:f,y:m,text:1===b?a[0]:a,textAnchor:"right"===o?"start":"end",fontSize:c.fontSize,fontFamily:c.fontFamily,fontWeight:c.fontWeight,foreColor:d,dominantBaseline:"central",cssClass:t.textClass||"apexcharts-outer-label"});if(b>1){const e=x.node.getElementsByTagName("tspan");for(let t=0;t<e.length;t++)e[t].setAttribute("x",`${f}`),e[t].setAttribute("dy",0===t?"0":`${i}`)}return p.add(x),p}(this.w,o(r({},e),{groupClass:"apexcharts-pie-name-label-group",textClass:"apexcharts-pie-name-label",connectorClass:"apexcharts-pie-label-connector"}))}}const x=c.__apex_Environment_Environment,y=Math.PI/180,A=180/Math.PI;function S(e,t,a,i){return{x:e+a*Math.cos((i-90)*y),y:t+a*Math.sin((i-90)*y)}}const w=e=>`${e.x} ${e.y}`;function v({cx:e,cy:t,rIn:a,rOut:i,a0:s,a1:l,r:n,spanDeg:r}){const o=(a,i)=>S(e,t,a,i),h=n/i*A,c=n/a*A,d=o(i,s+h),g=o(i,l-h),p=r-2*h>180?1:0,u=o(i,l),f=o(i-n,l),b=o(i,s),m=o(i-n,s),x=o(a,l-c),y=o(a,s+c),v=r-2*c>180?1:0,L=o(a,l),O=o(a+n,l),z=o(a,s),C=o(a+n,s);return["M",w(d),"A",i,i,0,p,1,w(g),"Q",w(u),w(f),"L",w(O),"Q",w(L),w(x),"A",a,a,0,v,0,w(y),"Q",w(z),w(C),"L",w(m),"Q",w(b),w(d),"Z"].join(" ")}class L{constructor(e,t){this.ctx=t,this.w=e,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animBeginArr=[0],this.animDur=0,this.donutDataLabels=this.w.config.plotOptions.pie.donut.labels,this.lineColorArr=void 0!==e.globals.stroke.colors?e.globals.stroke.colors:e.globals.colors,this.defaultSize=Math.min(e.layout.gridWidth,e.layout.gridHeight),this.centerY=e.layout.gridHeight/2,this.centerX=e.layout.gridWidth/2,"radialBar"===e.config.chart.type?this.fullAngle=360:this.fullAngle=Math.abs(e.config.plotOptions.pie.endAngle-e.config.plotOptions.pie.startAngle),this.initialAngle=e.config.plotOptions.pie.startAngle%this.fullAngle,e.globals.radialSize=this.defaultSize/2.05-e.config.stroke.width-(e.config.chart.sparkline.enabled?0:e.config.chart.dropShadow.blur),this.externalCfg=e.config.plotOptions.pie.dataLabels.external;const a=e.config.dataLabels.style;this.externalLabelStyle={fontSize:this.externalCfg.fontSize||a.fontSize,fontFamily:this.externalCfg.fontFamily||a.fontFamily,fontWeight:this.externalCfg.fontWeight||a.fontWeight},this.externalLabels=[],this.externalLabelMaxLines=1,this.externalLabelLineH=parseFloat(this.externalLabelStyle.fontSize)||12,e.globals.pieExternalLabelMarginY=0,this.showExternalLabels=this.externalCfg.show&&"polarArea"!==this.chartType,this.showExternalLabels&&!e.globals.noData&&this.reserveExternalLabelSpace(),this.donutSize=e.globals.radialSize*parseInt(e.config.plotOptions.pie.donut.size,10)/100;const i=e.config.plotOptions.pie.customScale,s=e.layout.gridWidth/2,l=e.layout.gridHeight/2;this.translateX=s-s*i,this.translateY=l-l*i,this.dataLabelsGroup=new u(this.w).group({class:"apexcharts-datalabels-group",transform:`translate(${this.translateX}, ${this.translateY}) scale(${i})`}),this.maxY=0,this.sliceLabels=[],this.sliceSizes=[],this.prevSliceSizes=[],this.sliceLabelGroups={},this.externalLabelGroups={},this.elHoverOutline=null,this.elHoverOutlinePath=null,this.hoverOutlineIndex=-1,this.prevSectorAngleArr=[]}getExternalLabelText(e){var t,a,i;const s=this.w,l=s.seriesData.seriesNames[e],n=this.externalCfg.formatter;return"function"==typeof n?n(l,{seriesIndex:e,percent:null==(a=null==(t=s.globals.seriesPercent)?void 0:t[e])?void 0:a[0],value:null==(i=s.globals.seriesTotals)?void 0:i[e],w:s}):null==l?"":`${l}`}getExternalLabelLines(e){const t=this.getExternalLabelText(e);return(Array.isArray(t)?t:`${null==t?"":t}`.split("\n")).map(e=>null==e?"":`${e}`)}reserveExternalLabelSpace(){const e=this.w,t=new m(e),a=(e.seriesData.seriesNames||[]).map((e,t)=>this.getExternalLabelLines(t)),i=t.getMaxLabelWidth(a.flat(),this.externalLabelStyle);this.externalLabelMaxLines=a.reduce((e,t)=>Math.max(e,t.length),1),this.externalLabelLineH=Math.round(1.35*(parseFloat(this.externalLabelStyle.fontSize)||12));const s=this.externalCfg.connector,l=this.externalLabelMaxLines*this.externalLabelLineH,n=i+(s.length||0)+(s.gap||0)+12,r=l/2+(s.gap||0)+6,o=Math.min(e.globals.radialSize,e.layout.gridWidth/2-n,e.layout.gridHeight/2-r);e.globals.radialSize=Math.max(o,.15*this.defaultSize),e.globals.pieExternalLabelMarginY=r;const h=e.config.chart.height?String(e.config.chart.height):"",c=""!==h&&"auto"!==h;this.centerY=c?e.layout.gridHeight/2:e.globals.radialSize+r}draw(e){var t,a;const i=this.w,s=new u(this.w),l=s.group({class:"apexcharts-pie"});if(i.globals.noData)return l;null==(t=this.ctx.highlightFilter)||t.pie(this);const n=i.config.plotOptions.pie.customScale,r="donut"===this.chartType?this.donutSize:0,o=[],h=this.initialAngle,c=(e,t)=>this.translateY+n*p.polarToCartesian(this.centerX,this.centerY,e,t).y;for(let e=h;e<=h+this.fullAngle;e++)o.push(c(i.globals.radialSize,e),c(r,e));this.donutDataLabels.show&&o.push(c(r,180)),i.globals.circleGeometry={node:l.node,cx:this.translateX+n*this.centerX,cy:this.translateY+n*this.centerY,r:n*i.globals.radialSize,y:"polarArea"!==this.chartType&&[Math.min(...o),Math.max(...o)]};let d=0;for(let t=0;t<e.length;t++)d+=p.negToZero(e[t]);const g=[],f=s.group();0===d&&(d=1e-5),e.forEach(e=>{this.maxY=Math.max(this.maxY,e)}),i.config.yaxis[0].max&&(this.maxY=i.config.yaxis[0].max),"back"===i.config.grid.position&&"polarArea"===this.chartType&&this.drawPolarElements(l);const b=i.globals.collapsedSeriesIndices||[];let m=1;if("polarArea"===this.chartType){let t=0;for(let a=0;a<e.length;a++)-1===b.indexOf(a)&&t++;m=Math.max(1,t)}for(let t=0;t<e.length;t++){const a=this.fullAngle*p.negToZero(e[t])/d;g.push(a),"polarArea"===this.chartType?(g[t]=b.indexOf(t)>-1?0:this.fullAngle/m,this.sliceSizes.push(i.globals.radialSize*p.negToZero(e[t])/(this.maxY||1))):this.sliceSizes.push(i.globals.radialSize)}const x=!0===(null==(a=this.ctx.morphTypeChange)?void 0:a.isActive());if(i.globals.dataChanged&&!x){if("polarArea"===this.chartType){const e=i.globals.previousPaths,t=i.globals.prevPolarAngles;if(Array.isArray(t)&&t.length===e.length)this.prevSectorAngleArr=t.slice();else for(let t=0;t<e.length;t++)this.prevSectorAngleArr.push(this.fullAngle/Math.max(1,e.length));const a=i.globals.prevPolarSizes;if(Array.isArray(a)&&a.length===e.length)this.prevSliceSizes=a.map(e=>e*i.globals.radialSize);else{let t=0;for(let a=0;a<e.length;a++)t=Math.max(t,p.negToZero(e[a]));i.config.yaxis[0].max&&(t=i.config.yaxis[0].max),this.prevSliceSizes=e.map(e=>i.globals.radialSize*p.negToZero(e)/(t||1))}}else{let e=0;for(let t=0;t<i.globals.previousPaths.length;t++)e+=p.negToZero(i.globals.previousPaths[t]);for(let t=0;t<i.globals.previousPaths.length;t++)this.prevSectorAngleArr.push(e?this.fullAngle*p.negToZero(i.globals.previousPaths[t])/e:0)}for(;!1!==i.globals.shouldAnimate&&this.prevSectorAngleArr.length<e.length;)this.prevSectorAngleArr.push(0)}if("polarArea"===this.chartType){i.globals.prevPolarAngles=g.slice();const e=i.globals.radialSize||1;i.globals.prevPolarSizes=this.sliceSizes.map(t=>t/e)}if(this.donutSize<0&&(this.donutSize=0),"donut"===this.chartType){const e=s.drawCircle(this.donutSize);e.attr({cx:this.centerX,cy:this.centerY,fill:i.config.plotOptions.pie.donut.background?i.config.plotOptions.pie.donut.background:"transparent"}),f.add(e)}const y=this.drawArcs(g,e);if(this.sliceLabels.forEach(e=>{y.add(e)}),f.attr({transform:`translate(${this.translateX}, ${this.translateY}) scale(${i.config.plotOptions.pie.customScale})`}),f.add(y),l.add(f),this.donutDataLabels.show){const e=this.initialAnim&&!i.globals.resized&&!i.globals.dataChanged&&this.animDur>0,t=this.renderInnerDataLabels(this.dataLabelsGroup,this.donutDataLabels,{hollowSize:this.donutSize,centerX:this.centerX,centerY:this.centerY,opacity:e?0:this.donutDataLabels.show});if(e){const e=this.dataLabelsGroup.node;e.style.transition="opacity 280ms ease-out",setTimeout(()=>{e.style.opacity="1"},this.animDur)}l.add(t)}return"front"===i.config.grid.position&&"polarArea"===this.chartType&&this.drawPolarElements(l),l}drawArcs(e,t){var a,i,s,l,n;const r=this.w,o=new f(this.w),h=new u(this.w),c=new g(this.w),d=h.group({class:"apexcharts-slices"});this.elHoverOutline=h.group({class:"apexcharts-pie-hover-outline"}),this.elHoverOutline.node.style.pointerEvents="none",this.elHoverOutline.node.style.opacity="0",r.config.chart.animations.enabled&&(this.elHoverOutline.node.style.transition="opacity 180ms ease-out"),d.add(this.elHoverOutline);let b=this.initialAngle,y=this.initialAngle,A=this.initialAngle,S=this.initialAngle;this.strokeWidth=r.config.stroke.show?r.config.stroke.width:0;const w=!0===(null==(a=this.ctx.morphTypeChange)?void 0:a.isActive());for(let a=0;a<e.length;a++){const g=h.group({class:"apexcharts-series apexcharts-pie-series",seriesName:p.escapeString(r.seriesData.seriesNames[a]),rel:a+1,"data:realIndex":a});d.add(g),b=A,y=S,A=b+e[a],S=y+this.prevSectorAngleArr[a];const m=A<b?this.fullAngle+A-b:A-b,x=c.fillPath({seriesNumber:a,size:this.sliceSizes[a],value:t[a]}),v=w?this.ctx.morphTypeChange.getInitialPathFor(a,0):null,L="polarArea"===this.chartType&&r.globals.dataChanged&&!w?this.prevSliceSizes[a]||0:void 0,O=v||this.getChangedPath(y,S,L),z=h.drawPath({d:O,stroke:Array.isArray(this.lineColorArr)?null!=(i=this.lineColorArr[a])?i:this.lineColorArr[a%this.lineColorArr.length]:this.lineColorArr,strokeWidth:0,fill:x,fillOpacity:r.config.fill.opacity,classes:`apexcharts-pie-area apexcharts-${this.chartType.toLowerCase()}-slice-${a}`});if(z.attr({index:0,j:a}),o.setSelectionFilter(z,0,a),r.config.chart.dropShadow.enabled){const e=r.config.chart.dropShadow;o.dropShadow(z,e,a)}this.addListeners(z,this.donutDataLabels,a);let C={x:0,y:0};const P=(b+m/2)%this.fullAngle;let T={x:this.centerX,y:this.centerY};"pie"===this.chartType||"polarArea"===this.chartType?(C=p.polarToCartesian(this.centerX,this.centerY,r.globals.radialSize/1.25+r.config.plotOptions.pie.dataLabels.offset,P),T=p.polarToCartesian(this.centerX,this.centerY,r.globals.radialSize/2,P)):"donut"===this.chartType&&(C=p.polarToCartesian(this.centerX,this.centerY,(r.globals.radialSize+this.donutSize)/2+r.config.plotOptions.pie.dataLabels.offset,P),T=p.polarToCartesian(this.centerX,this.centerY,(r.globals.radialSize+this.donutSize)/2,P)),u.setAttrs(z.node,{"data:angle":m,"data:startAngle":b,"data:strokeWidth":this.strokeWidth,"data:value":t[a],"data:cx":T.x,"data:cy":T.y}),g.add(z);let Y=!1;if(w){const e=this.getPiePath({me:this,startAngle:b,angle:m,size:this.sliceSizes[a]});z.node.setAttribute("data:pathFinal",e),Y=!0===(null==(l=(s=this.ctx.morphTypeChange).claimsTargetMark)?void 0:l.call(s,a,0)),Y&&(z.attr({d:e}),z.node.setAttribute("data:pathOrig",e),z.node.setAttribute("opacity","0"),z.node.setAttribute("data-piece-hidden","1"))}const D=(r.globals.collapsedSeriesIndices||[]).includes(a);let M=0;if(!this.initialAnim||r.globals.resized||r.globals.dataChanged?this.animBeginArr.push(0):(M=m/this.fullAngle*r.config.chart.animations.speed,0===M&&(M=1),this.animDur=M+this.animDur,this.animBeginArr.push(this.animDur)),Y);else if(w&&v){const e=this.getPiePath({me:this,startAngle:b,angle:m,size:this.sliceSizes[a]}),t=this.ctx.morphTypeChange.getSpeed(),i=this.ctx.animations;z.node.setAttribute("data:pathOrig",e);const s=z.animate(t).plot(e,"polygons").attr({"stroke-width":this.strokeWidth});s&&"function"==typeof s.after?s.after(()=>i.animationCompleted(z)):i.animationCompleted(z)}else this.dynamicAnim&&r.globals.dataChanged?this.animatePaths(z,{size:this.sliceSizes[a],prevSize:L,endAngle:A,startAngle:b,prevStartAngle:y,prevEndAngle:S,animateStartingPos:!0,i:a,animBeginArr:this.animBeginArr,shouldSetPrevPaths:!0,dur:r.config.chart.animations.dynamicAnimation.speed,collapsed:D}):this.animatePaths(z,{size:this.sliceSizes[a],endAngle:A,startAngle:b,i:a,animBeginArr:this.animBeginArr,dur:M,collapsed:D});if(this.getExpandOffset()>0?z.node.addEventListener("mouseup",this.pieClicked.bind(this,a)):0===a&&f.drilldownBlocksSliceOffset(r)&&(null==(n=this.ctx.drilldown)||n.warnSliceOffsetDisabled()),void 0!==r.interact.selectedDataPoints[0]&&r.interact.selectedDataPoints[0].indexOf(a)>-1)if(this.initialAnim&&!r.globals.resized&&!r.globals.dataChanged&&this.animDur>0){const e=r.dom.Paper;setTimeout(()=>{r.dom.Paper===e&&this.setSliceOut(a)},this.animDur)}else this.setSliceOut(a);if(r.config.dataLabels.enabled){const t=C.x,i=C.y;let s=100*m/this.fullAngle+"%";if(0!==m&&r.config.plotOptions.pie.dataLabels.minAngleToShowLabel<e[a]){const e=r.config.dataLabels.formatter;void 0!==e&&(s=e(r.globals.seriesPercent[a][0],{seriesIndex:a,dataPointIndex:a,series:r.seriesData.series,w:r}));const l=r.globals.dataLabels.style.colors[a],n=h.group({class:"apexcharts-datalabels","data:slice":a}),c=h.drawText({x:t,y:i,text:s,textAnchor:"middle",fontSize:r.config.dataLabels.style.fontSize,fontFamily:r.config.dataLabels.style.fontFamily,fontWeight:r.config.dataLabels.style.fontWeight,foreColor:l});if(n.add(c),r.config.dataLabels.dropShadow.enabled){const e=r.config.dataLabels.dropShadow;o.dropShadow(c,e)}c.node.classList.add("apexcharts-pie-label"),!this.initialAnim||r.globals.resized||r.globals.dataChanged||(c.attr({opacity:0}),c.animate(300,r.config.chart.animations.speed).attr({opacity:1})),this.sliceLabels.push(n),this.sliceLabelGroups[a]=n.node}}if(this.showExternalLabels&&0!==m){const e=this.getExternalLabelLines(a);if(e.some(e=>""!==e)){const t=p.polarToCartesian(this.centerX,this.centerY,r.globals.radialSize,P),i=p.polarToCartesian(this.centerX,this.centerY,r.globals.radialSize+(this.externalCfg.connector.gap||0),P),s=i.x>=this.centerX,l=s?i.x+(this.externalCfg.connector.length||0):i.x-(this.externalCfg.connector.length||0);this.externalLabels.push({i:a,lines:e,anchor:t,elbow:i,side:s?"right":"left",labelX:l+parseFloat(this.externalCfg.offsetX||0),idealY:i.y+parseFloat(this.externalCfg.offsetY||0),connectorColor:this.externalCfg.connector.color||r.globals.colors[a],foreColor:this.externalCfg.color||r.config.chart.foreColor})}}}if(this.showExternalLabels&&this.externalLabels.length){this.placeExternalLabels();const e=x.isBrowser()&&(w||this.dynamicAnim&&r.globals.dataChanged||this.initialAnim&&!r.globals.resized&&!r.globals.dataChanged);this.externalLabels.forEach(t=>{const a=new m(r).drawExternalLabel({lines:t.lines,lineHeight:this.externalLabelLineH,anchor:t.anchor,elbow:t.elbow,labelX:t.labelX,labelY:t.labelY,side:t.side,connector:{show:this.externalCfg.connector.show,width:this.externalCfg.connector.width,color:t.connectorColor},style:this.externalLabelStyle,foreColor:t.foreColor});e&&(a.node.classList.add("apexcharts-element-hidden"),r.globals.delayedElements.push({el:a.node})),this.externalLabelGroups[t.i]=a.node,a.node.setAttribute("data:slice",String(t.i)),d.add(a)})}return d}placeExternalLabels(){const e=this.w,t=this.externalLabelMaxLines*this.externalLabelLineH,a=e.globals.radialSize+e.globals.pieExternalLabelMarginY,i=this.centerY+a,s=this.centerY-a+t/2;["left","right"].forEach(e=>{const a=this.externalLabels.filter(t=>t.side===e);!function(e,t,a,i){const s=e.slice().sort((e,t)=>e.idealY-t.idealY);s.forEach(e=>{e.labelY=e.idealY});for(let e=1;e<s.length;e++)s[e].labelY-s[e-1].labelY<t&&(s[e].labelY=s[e-1].labelY+t);const l=s[s.length-1],n=l?l.labelY-a:0;if(n>0)for(let e=s.length-1;e>=0;e--)s[e].labelY-=n,e<s.length-1&&s[e+1].labelY-s[e].labelY<t&&(s[e].labelY=s[e+1].labelY-t);if(null!=i&&s.length&&s[0].labelY<i){const e=i-s[0].labelY;for(let t=0;t<s.length;t++)s[t].labelY+=e}}(a,Math.min(t+2,(i-s)/Math.max(1,a.length-1)),i,s)})}addListeners(e,t,a){const i=new u(this.w,this.ctx);e.node.addEventListener("mouseenter",i.pathMouseEnter.bind(i,e)),e.node.addEventListener("mouseleave",i.pathMouseLeave.bind(i,e)),e.node.addEventListener("mouseleave",this.revertDataLabelsInner.bind(this)),"number"==typeof a&&(e.node.addEventListener("mouseenter",this.showHoverOutline.bind(this,a)),e.node.addEventListener("mouseleave",this.hideHoverOutline.bind(this))),e.node.addEventListener("mousedown",i.pathMouseDown.bind(i,e)),this.donutDataLabels.total.showAlways||(e.node.addEventListener("mouseenter",this.printDataLabelsInner.bind(this,e.node,t)),e.node.addEventListener("mousedown",this.printDataLabelsInner.bind(this,e.node,t)))}animatePaths(e,t){let a=t.endAngle<t.startAngle?this.fullAngle+t.endAngle-t.startAngle:t.endAngle-t.startAngle,i=a,s=t.startAngle;const l=t.startAngle;void 0!==t.prevStartAngle&&void 0!==t.prevEndAngle&&(s=t.prevEndAngle,i=t.prevEndAngle<t.prevStartAngle?this.fullAngle+t.prevEndAngle-t.prevStartAngle:t.prevEndAngle-t.prevStartAngle),a===this.fullAngle&&(a=this.fullAngle-.01),this.animateArc(e,s,l,a,i,t)}animateArc(e,t,a,i,s,l){const n=this,r=this.w,o=new d(this.w),h=l.size;let c;(isNaN(t)||isNaN(s))&&(t=a,s=0,!1===r.globals.shouldAnimate&&(s=i,l.dur=0));let g=i,p=a;const u=t<a?this.fullAngle+t-a:t-a,f="number"==typeof l.prevSize;r.globals.dataChanged&&l.shouldSetPrevPaths&&Number.isFinite(l.prevEndAngle)&&(c=n.getPiePath({me:n,startAngle:l.prevStartAngle,angle:l.prevEndAngle<l.prevStartAngle?this.fullAngle+l.prevEndAngle-l.prevStartAngle:l.prevEndAngle-l.prevStartAngle,size:f?l.prevSize:h}),e.attr({d:c})),0!==l.dur?e.animate(l.dur,l.animBeginArr[l.i]).after(function(){"pie"!==n.chartType&&"donut"!==n.chartType&&"polarArea"!==n.chartType||this.animate(r.config.chart.animations.dynamicAnimation.speed).attr({"stroke-width":n.strokeWidth}),l.collapsed&&e.attr({d:""}),l.i===r.config.series.length-1&&o.animationCompleted(e)}).during(r=>{g=u+(i-u)*r,l.animateStartingPos&&(g=s+(i-s)*r,p=t-s+(a-(t-s))*r),c=n.getPiePath({me:n,startAngle:p,angle:g,size:f?l.prevSize+(h-l.prevSize)*r:h}),e.node.setAttribute("data:pathOrig",c),e.attr({d:c})}):(c=n.getPiePath({me:n,startAngle:p,angle:i,size:h}),l.isTrack||(r.globals.animationEnded=!0),e.node.setAttribute("data:pathOrig",c),e.attr({d:l.collapsed?"":c,"stroke-width":n.strokeWidth}))}pieClicked(e,t){const a=this.w,i=!(t&&!1===t.animate),s=a.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`);if(s){if("true"===s.attr("data:pieClicked"))return s.attr({"data:pieClicked":"false"}),this.revertDataLabelsInner(),void this.offsetSlice(e,0,i);if(!a.config.states.active.allowMultipleDataPointsSelection){const e=a.dom.baseEl.getElementsByClassName("apexcharts-pie-area");Array.prototype.forEach.call(e,e=>{const t="true"===e.getAttribute("data:pieClicked");e.setAttribute("data:pieClicked","false"),t&&this.offsetSlice(parseInt(e.getAttribute("j"),10),0,i)})}a.interact.capturedDataPointIndex=e,s.attr("data:pieClicked","true"),this.offsetSlice(e,this.getExpandOffset(),i)}}getExpandOffset(){const e=this.w.config.plotOptions.pie;if(!e.expandOnClick||"polarArea"===this.chartType)return 0;if(f.drilldownBlocksSliceOffset(this.w))return 0;const t=Number(e.expandOffset);return Number.isFinite(t)&&t>0?t:0}getSliceMovers(e){const t=this.w.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`);return[t?t.node:null,this.sliceLabelGroups[e],this.externalLabelGroups[e],this.hoverOutlineIndex===e&&this.elHoverOutlinePath?this.elHoverOutlinePath.node:null].filter(Boolean)}offsetSlice(e,t,a=!0){const i=this.w;if(!i.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`))return;const{dx:s,dy:l}=this.getSliceOffsetVector(e,t),n=`translate(${s} ${l})`,r=a&&i.config.chart.animations.enabled?"transform 320ms cubic-bezier(0.25, 0.8, 0.3, 1)":"";this.getSliceMovers(e).forEach(e=>{e.classList.add("apexcharts-slice-mover"),e.style.transition=r,e.setAttribute("transform",n)})}getSliceOffsetVector(e,t){const a=this.w.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`),i=a?parseFloat(a.attr("data:angle")):NaN;if(!t||!Number.isFinite(i)||i>=this.fullAngle)return{dx:0,dy:0};const s=parseFloat(a.attr("data:startAngle")),l=Math.PI*(s+i/2-90)/180;return{dx:t*Math.cos(l),dy:t*Math.sin(l)}}showHoverOutline(e){const t=this.w;if(!f.hoverOutlineOwnsHoverState(t))return;if(!this.elHoverOutline)return;const a=this.getHoverOutlinePath(e);if(!a)return;const i=t.config.plotOptions.pie.hoverOutline,s=i.color||t.globals.colors[e];if(!this.elHoverOutlinePath){const e=new u(t);this.elHoverOutlinePath=e.drawPath({d:a,fill:s,strokeWidth:0,classes:"apexcharts-pie-hover-outline-band"}),this.elHoverOutline.add(this.elHoverOutlinePath)}this.elHoverOutlinePath.attr({d:a,fill:s,"fill-opacity":i.opacity});const{dx:l,dy:n}=this.getSliceOffsetVector(e,this.isSliceOut(e)?this.getExpandOffset():0);this.elHoverOutlinePath.node.classList.remove("apexcharts-slice-mover"),this.elHoverOutlinePath.node.style.transition="",this.elHoverOutlinePath.node.setAttribute("transform",`translate(${l} ${n})`),this.hoverOutlineIndex=e,this.elHoverOutline.node.style.opacity="1"}hideHoverOutline(){this.elHoverOutline&&(this.elHoverOutline.node.style.opacity="0")}setSliceOut(e){this.isSliceOut(e)||this.pieClicked(e,{animate:!1})}isSliceOut(e){const t=this.w.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`);return!!t&&"true"===t.attr("data:pieClicked")}getHoverOutlinePath(e){const t=this.w,a=t.config.plotOptions.pie.hoverOutline,i=t.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`);if(!i)return null;const s=parseFloat(i.attr("data:angle"));if(!Number.isFinite(s)||s<=0)return null;const l=this.sliceSizes[e],n=Number(a.size);if(!Number.isFinite(l)||!Number.isFinite(n)||n<=0)return null;const{startDeg:h,spanDeg:c}=this.getSliceExtent({me:this,startAngle:parseFloat(i.attr("data:startAngle")),angle:s,size:l});if(!(c>0))return null;const d=l+(this.strokeWidth||0)/2+(Number(a.gap)||0),g=d+n,p={cx:this.centerX,cy:this.centerY,rIn:d,rOut:g,a0:h,a1:h+c,spanDeg:c},u=Math.min(n/2,c*Math.PI/180/2*d);return u>.5?v(o(r({},p),{r:u})):function({cx:e,cy:t,rIn:a,rOut:i,a0:s,a1:l,spanDeg:n}){const r=(a,i)=>S(e,t,a,i),o=n>180?1:0,h=r(i,s),c=r(i,l),d=r(a,l),g=r(a,s);return["M",w(h),"A",i,i,0,o,1,w(c),"L",w(d),"A",a,a,0,o,0,w(g),"Z"].join(" ")}(p)}getChangedPath(e,t,a){return this.dynamicAnim&&this.w.globals.dataChanged&&"number"==typeof a?this.getPiePath({me:this,startAngle:e,angle:t-e,size:a}):""}getSliceExtent({me:e,startAngle:t,angle:a,size:i}){const s=this.w;let l=t,n=a+t;Math.ceil(n)>=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(n=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01);let r=n-l;const o="pie"===e.chartType||"donut"===e.chartType||"polarArea"===e.chartType,h=s.config.plotOptions.pie.spacing;if(o&&h>0&&r>0){const t="donut"===e.chartType?(i+e.donutSize)/2:i,a=t>0?h/t*(180/Math.PI):0,s=Math.min(a/2,Math.max(0,r/2-.5));l+=s,r-=2*s}return n=l+r,Math.ceil(n)>this.fullAngle&&(n-=this.fullAngle),{startDeg:l,spanDeg:r,endDeg:n}}getPiePath({me:e,startAngle:t,angle:a,size:i}){let s;const l=this.w,n=new u(this.w),{startDeg:r,spanDeg:o,endDeg:h}=this.getSliceExtent({me:e,startAngle:t,angle:a,size:i}),c="pie"===e.chartType||"donut"===e.chartType||"polarArea"===e.chartType,d=Math.PI*(r-90)/180,g=l.config.plotOptions.pie.borderRadius;if(g>0&&c){const t=this.getRoundedSlicePath({me:e,startDeg:r,spanDeg:o,size:i,borderRadius:g});if(t)return t}const f=Math.PI*(h-90)/180,b=e.centerX+i*Math.cos(d),m=e.centerY+i*Math.sin(d),x=e.centerX+i*Math.cos(f),y=e.centerY+i*Math.sin(f),A=p.polarToCartesian(e.centerX,e.centerY,e.donutSize,h),S=p.polarToCartesian(e.centerX,e.centerY,e.donutSize,r),w=o>180?1:0,v=["M",b,m,"A",i,i,0,w,1,x,y];return s="donut"===e.chartType?[...v,"L",A.x,A.y,"A",e.donutSize,e.donutSize,0,w,0,S.x,S.y,"L",b,m,"z"].join(" "):"pie"===e.chartType||"polarArea"===e.chartType?[...v,"L",e.centerX,e.centerY,"L",b,m].join(" "):[...v].join(" "),n.roundPathCorners(s,2*this.strokeWidth)}getRoundedSlicePath({me:e,startDeg:t,spanDeg:a,size:i,borderRadius:s}){if(!(a>0))return null;const l=Math.PI/180,n=e.centerX,r=e.centerY,o="donut"===e.chartType,h=i,c=o?e.donutSize:0,d=a*l;let g=s;if(g=Math.min(g,d*h/2),o?(g=Math.min(g,d*c/2),g=Math.min(g,(h-c)/2)):g=Math.min(g,h/2),!(g>.5))return null;const p=t,u=t+a;return o?v({cx:n,cy:r,rIn:c,rOut:h,a0:p,a1:u,r:g,spanDeg:a}):function({cx:e,cy:t,rOut:a,a0:i,a1:s,r:l,spanDeg:n}){const r=(a,i)=>S(e,t,a,i),o=l/a*A,h=r(a,i+o),c=r(a,s-o),d=n-2*o>180?1:0,g=r(a,s),p=r(a-l,s),u=r(a,i),f=r(a-l,i);return["M",w(h),"A",a,a,0,d,1,w(c),"Q",w(g),w(p),"L",`${e} ${t}`,"L",w(f),"Q",w(u),w(h),"Z"].join(" ")}({cx:n,cy:r,rOut:h,a0:p,a1:u,r:g,spanDeg:a})}drawPolarElements(e){const t=this.w,a=new b(this.w),i=new u(this.w),s=new m(this.w),l=i.group(),n=i.group(),r=a.niceScale(0,Math.ceil(this.maxY),0),o=r.result.reverse(),h=r.result.length;this.maxY=r.niceMax;let c=t.globals.radialSize;const d=c/(h-1);for(let e=0;e<h-1;e++){const a=i.drawCircle(c);if(a.attr({cx:this.centerX,cy:this.centerY,fill:"none","stroke-width":t.config.plotOptions.polarArea.rings.strokeWidth,stroke:t.config.plotOptions.polarArea.rings.strokeColor}),t.config.yaxis[0].show){const a=s.drawYAxisTexts(this.centerX,this.centerY-c+parseInt(t.config.yaxis[0].labels.style.fontSize,10)/2,e,o[e]);n.add(a)}l.add(a),c-=d}this.drawSpokes(e),e.add(l),e.add(n)}renderInnerDataLabels(e,t,a){const i=this.w,s=new u(this.w),l=t.total.show;e.node.innerHTML="",e.node.style.opacity=a.opacity;const n=a.centerX,r=a.centerY,o=t.name.show&&!!this.donutDataLabels.total.label;let h,c;h=void 0===t.name.color?i.globals.colors[0]:t.name.color;let d=t.name.fontSize,g=t.name.fontFamily,p=t.name.fontWeight;c=void 0===t.value.color?i.config.chart.foreColor:t.value.color;const f=t.value.formatter;let b="",m="";if(l?(h=t.total.color,d=t.total.fontSize,g=t.total.fontFamily,p=t.total.fontWeight,m=this.donutDataLabels.total.label?t.total.label:"",b=t.total.formatter(i)):1===i.seriesData.series.length&&(b=f(i.seriesData.series[0],i),m=i.seriesData.seriesNames[0]),m&&(m=t.name.formatter(m,t.total.show,i)),t.name.show){const a=s.drawText({x:n,y:r+parseFloat(t.name.offsetY),text:m,textAnchor:"middle",foreColor:h,fontSize:d,fontWeight:p,fontFamily:g});a.node.classList.add("apexcharts-datalabel-label"),e.add(a)}if(t.value.show){const a=o?parseFloat(t.value.offsetY)+16:t.value.offsetY,i=s.drawText({x:n,y:r+a,text:b,textAnchor:"middle",foreColor:c,fontWeight:t.value.fontWeight,fontSize:t.value.fontSize,fontFamily:t.value.fontFamily});i.node.classList.add("apexcharts-datalabel-value"),e.add(i)}return e}printInnerLabels(e,t,a,i){const s=this.w;let l;i?l=void 0===e.name.color?s.globals.colors[parseInt(i.parentNode.getAttribute("rel"),10)-1]:e.name.color:s.seriesData.series.length>1&&e.total.show&&(l=e.total.color);const n=s.dom.baseEl.querySelector(".apexcharts-datalabel-label"),r=s.dom.baseEl.querySelector(".apexcharts-datalabel-value");a=(0,e.value.formatter)(a,s),i||"function"!=typeof e.total.formatter||(a=e.total.formatter(s));const o=t===e.total.label;if(t=this.donutDataLabels.total.label?e.name.formatter(t,o,s):"",null!==n&&(n.textContent=t),null!==r&&(r.textContent=a),null!==n){n.style.fill=l}}printDataLabelsInner(e,t){const a=this.w,i=e.getAttribute("data:value"),s=a.seriesData.seriesNames[parseInt(e.parentNode.getAttribute("rel"),10)-1];a.seriesData.series.length>1&&this.printInnerLabels(t,s,i,e);const l=a.dom.baseEl.querySelector(".apexcharts-datalabels-group");if(null!==l){l.style.opacity="1"}}drawSpokes(e){const t=this.w,a=new u(this.w),i=t.config.plotOptions.polarArea.spokes;if(0===i.strokeWidth)return;const s=t.globals.collapsedSeriesIndices||[],l=t.seriesData.series.length,n=360/Math.max(1,l-s.filter(e=>e<l).length);let r=0;for(let o=0;o<l;o++){if(s.indexOf(o)>-1)continue;const l=p.polarToCartesian(this.centerX,this.centerY,t.globals.radialSize,t.config.plotOptions.pie.startAngle+n*r++),h=a.drawLine(l.x,l.y,this.centerX,this.centerY,Array.isArray(i.connectorColors)?i.connectorColors[o]:i.connectorColors);e.add(h)}}revertDataLabelsInner(){const e=this.w;if(this.donutDataLabels.show){const t=e.dom.Paper.findOne(".apexcharts-datalabels-group"),a=this.renderInnerDataLabels(t,this.donutDataLabels,{hollowSize:this.donutSize,centerX:this.centerX,centerY:this.centerY,opacity:this.donutDataLabels.show});e.dom.Paper.findOne(".apexcharts-radialbar, .apexcharts-pie").add(a)}}}c.default.use({pie:L,donut:L,polarArea:L}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>c.default});
|
|
5
|
+
"use strict";var e=Object.defineProperty,t=Object.defineProperties,a=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable,n=(t,a,i)=>a in t?e(t,a,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[a]=i,r=(e,t)=>{for(var a in t||(t={}))s.call(t,a)&&n(e,a,t[a]);if(i)for(var a of i(t))l.call(t,a)&&n(e,a,t[a]);return e},o=(e,i)=>t(e,a(i));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});function h(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const a in e)if("default"!==a){const i=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,i.get?i:{enumerable:!0,get:()=>e[a]})}return t.default=e,Object.freeze(t)}const c=h(require("apexcharts/core")),d=c.__apex_Animations,g=c.__apex_Fill,p=c.__apex_Utils,u=c.__apex_Graphics,f=c.__apex_Filters,b=c.__apex_Scales;class m{constructor(e){this.w=e}drawYAxisTexts(e,t,a,i){const s=this.w,l=s.config.yaxis[0],n=s.formatters.yLabelFormatters[0];return new u(this.w).drawText({x:e+l.labels.offsetX,y:t+l.labels.offsetY,text:n(i,a),textAnchor:"middle",fontSize:l.labels.style.fontSize,fontFamily:l.labels.style.fontFamily,foreColor:Array.isArray(l.labels.style.colors)?l.labels.style.colors[a]:l.labels.style.colors})}getMaxLabelWidth(e,{fontSize:t,fontFamily:a,fontWeight:i}={}){const s=new u(this.w);let l=0;return e.forEach(e=>{if(null==e||""===e)return;const n=s.getTextRects(`${e}`,t||"12px",a,"",!0,i);l=Math.max(l,n.width)}),l}drawExternalLabel(e){return function(e,t){const{lines:a,lineHeight:i,anchor:s,elbow:l,labelX:n,labelY:r,side:o,connector:h,style:c,foreColor:d}=t,g=new u(e),p=g.group({class:t.groupClass||"apexcharts-outer-label-group"});if(h.show){const e=`M ${s.x} ${s.y} L ${l.x} ${l.y} L ${n} ${r}`,a=g.drawPath({d:e,stroke:h.color,strokeWidth:h.width,fill:"none",strokeLinecap:"round"});a.node.classList.add(t.connectorClass||"apexcharts-outer-label-connector"),p.add(a)}const f="right"===o?n+4:n-4,b=a.length,m=r-(b-1)*i/2,x=g.drawText({x:f,y:m,text:1===b?a[0]:a,textAnchor:"right"===o?"start":"end",fontSize:c.fontSize,fontFamily:c.fontFamily,fontWeight:c.fontWeight,foreColor:d,dominantBaseline:"central",cssClass:t.textClass||"apexcharts-outer-label"});if(b>1){const e=x.node.getElementsByTagName("tspan");for(let t=0;t<e.length;t++)e[t].setAttribute("x",`${f}`),e[t].setAttribute("dy",0===t?"0":`${i}`)}return p.add(x),p}(this.w,o(r({},e),{groupClass:"apexcharts-pie-name-label-group",textClass:"apexcharts-pie-name-label",connectorClass:"apexcharts-pie-label-connector"}))}}const x=c.__apex_Environment_Environment,y=Math.PI/180,A=180/Math.PI;function S(e,t,a,i){return{x:e+a*Math.cos((i-90)*y),y:t+a*Math.sin((i-90)*y)}}const w=e=>`${e.x} ${e.y}`;function v({cx:e,cy:t,rIn:a,rOut:i,a0:s,a1:l,r:n,spanDeg:r}){const o=(a,i)=>S(e,t,a,i),h=n/i*A,c=n/a*A,d=o(i,s+h),g=o(i,l-h),p=r-2*h>180?1:0,u=o(i,l),f=o(i-n,l),b=o(i,s),m=o(i-n,s),x=o(a,l-c),y=o(a,s+c),v=r-2*c>180?1:0,L=o(a,l),O=o(a+n,l),z=o(a,s),C=o(a+n,s);return["M",w(d),"A",i,i,0,p,1,w(g),"Q",w(u),w(f),"L",w(O),"Q",w(L),w(x),"A",a,a,0,v,0,w(y),"Q",w(z),w(C),"L",w(m),"Q",w(b),w(d),"Z"].join(" ")}class L{constructor(e,t){this.ctx=t,this.w=e,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animBeginArr=[0],this.animDur=0,this.donutDataLabels=this.w.config.plotOptions.pie.donut.labels,this.lineColorArr=void 0!==e.globals.stroke.colors?e.globals.stroke.colors:e.globals.colors,this.defaultSize=Math.min(e.layout.gridWidth,e.layout.gridHeight),this.centerY=e.layout.gridHeight/2,this.centerX=e.layout.gridWidth/2,"radialBar"===e.config.chart.type?this.fullAngle=360:this.fullAngle=Math.abs(e.config.plotOptions.pie.endAngle-e.config.plotOptions.pie.startAngle),this.initialAngle=e.config.plotOptions.pie.startAngle%this.fullAngle,e.globals.radialSize=this.defaultSize/2.05-e.config.stroke.width-(e.config.chart.sparkline.enabled?0:e.config.chart.dropShadow.blur),this.externalCfg=e.config.plotOptions.pie.dataLabels.external;const a=e.config.dataLabels.style;this.externalLabelStyle={fontSize:this.externalCfg.fontSize||a.fontSize,fontFamily:this.externalCfg.fontFamily||a.fontFamily,fontWeight:this.externalCfg.fontWeight||a.fontWeight},this.externalLabels=[],this.externalLabelMaxLines=1,this.externalLabelLineH=parseFloat(this.externalLabelStyle.fontSize)||12,e.globals.pieExternalLabelMarginY=0,this.showExternalLabels=this.externalCfg.show&&"polarArea"!==this.chartType,this.showExternalLabels&&!e.globals.noData&&this.reserveExternalLabelSpace(),this.donutSize=e.globals.radialSize*parseInt(e.config.plotOptions.pie.donut.size,10)/100;const i=e.config.plotOptions.pie.customScale,s=e.layout.gridWidth/2,l=e.layout.gridHeight/2;this.translateX=s-s*i,this.translateY=l-l*i,this.dataLabelsGroup=new u(this.w).group({class:"apexcharts-datalabels-group",transform:`translate(${this.translateX}, ${this.translateY}) scale(${i})`}),this.maxY=0,this.sliceLabels=[],this.sliceSizes=[],this.prevSliceSizes=[],this.sliceLabelGroups={},this.externalLabelGroups={},this.elHoverOutline=null,this.elHoverOutlinePath=null,this.hoverOutlineIndex=-1,this.prevSectorAngleArr=[]}getExternalLabelText(e){var t,a,i;const s=this.w,l=s.seriesData.seriesNames[e],n=this.externalCfg.formatter;return"function"==typeof n?n(l,{seriesIndex:e,percent:null==(a=null==(t=s.globals.seriesPercent)?void 0:t[e])?void 0:a[0],value:null==(i=s.globals.seriesTotals)?void 0:i[e],w:s}):null==l?"":`${l}`}getExternalLabelLines(e){const t=this.getExternalLabelText(e);return(Array.isArray(t)?t:`${null==t?"":t}`.split("\n")).map(e=>null==e?"":`${e}`)}reserveExternalLabelSpace(){const e=this.w,t=new m(e),a=(e.seriesData.seriesNames||[]).map((e,t)=>this.getExternalLabelLines(t)),i=t.getMaxLabelWidth(a.flat(),this.externalLabelStyle);this.externalLabelMaxLines=a.reduce((e,t)=>Math.max(e,t.length),1),this.externalLabelLineH=Math.round(1.35*(parseFloat(this.externalLabelStyle.fontSize)||12));const s=this.externalCfg.connector,l=this.externalLabelMaxLines*this.externalLabelLineH,n=i+(s.length||0)+(s.gap||0)+12,r=l/2+(s.gap||0)+6,o=Math.min(e.globals.radialSize,e.layout.gridWidth/2-n,e.layout.gridHeight/2-r);e.globals.radialSize=Math.max(o,.15*this.defaultSize),e.globals.pieExternalLabelMarginY=r;const h=e.config.chart.height?String(e.config.chart.height):"",c=""!==h&&"auto"!==h;this.centerY=c?e.layout.gridHeight/2:e.globals.radialSize+r}draw(e){var t,a;const i=this.w,s=new u(this.w),l=s.group({class:"apexcharts-pie"});if(i.globals.noData)return l;null==(t=this.ctx.highlightFilter)||t.pie(this);const n=i.config.plotOptions.pie.customScale,r="donut"===this.chartType?this.donutSize:0,o=[],h=this.initialAngle,c=(e,t)=>this.translateY+n*p.polarToCartesian(this.centerX,this.centerY,e,t).y;for(let e=h;e<=h+this.fullAngle;e++)o.push(c(i.globals.radialSize,e),c(r,e));this.donutDataLabels.show&&o.push(c(r,180)),i.globals.circleGeometry={node:l.node,cx:this.translateX+n*this.centerX,cy:this.translateY+n*this.centerY,r:n*i.globals.radialSize,y:"polarArea"!==this.chartType&&[Math.min(...o),Math.max(...o)]};let d=0;for(let t=0;t<e.length;t++)d+=p.negToZero(e[t]);const g=[],f=s.group();0===d&&(d=1e-5),e.forEach(e=>{this.maxY=Math.max(this.maxY,e)}),i.config.yaxis[0].max&&(this.maxY=i.config.yaxis[0].max),"back"===i.config.grid.position&&"polarArea"===this.chartType&&this.drawPolarElements(l);const b=i.globals.collapsedSeriesIndices||[];let m=1;if("polarArea"===this.chartType){let t=0;for(let a=0;a<e.length;a++)-1===b.indexOf(a)&&t++;m=Math.max(1,t)}for(let t=0;t<e.length;t++){const a=this.fullAngle*p.negToZero(e[t])/d;g.push(a),"polarArea"===this.chartType?(g[t]=b.indexOf(t)>-1?0:this.fullAngle/m,this.sliceSizes.push(i.globals.radialSize*p.negToZero(e[t])/(this.maxY||1))):this.sliceSizes.push(i.globals.radialSize)}const x=!0===(null==(a=this.ctx.morphTypeChange)?void 0:a.isActive());if(i.globals.dataChanged&&!x){if("polarArea"===this.chartType){const e=i.globals.previousPaths,t=i.globals.prevPolarAngles;if(Array.isArray(t)&&t.length===e.length)this.prevSectorAngleArr=t.slice();else for(let t=0;t<e.length;t++)this.prevSectorAngleArr.push(this.fullAngle/Math.max(1,e.length));const a=i.globals.prevPolarSizes;if(Array.isArray(a)&&a.length===e.length)this.prevSliceSizes=a.map(e=>e*i.globals.radialSize);else{let t=0;for(let a=0;a<e.length;a++)t=Math.max(t,p.negToZero(e[a]));i.config.yaxis[0].max&&(t=i.config.yaxis[0].max),this.prevSliceSizes=e.map(e=>i.globals.radialSize*p.negToZero(e)/(t||1))}}else{let e=0;for(let t=0;t<i.globals.previousPaths.length;t++)e+=p.negToZero(i.globals.previousPaths[t]);for(let t=0;t<i.globals.previousPaths.length;t++)this.prevSectorAngleArr.push(e?this.fullAngle*p.negToZero(i.globals.previousPaths[t])/e:0)}for(;!1!==i.globals.shouldAnimate&&this.prevSectorAngleArr.length<e.length;)this.prevSectorAngleArr.push(0)}if("polarArea"===this.chartType){i.globals.prevPolarAngles=g.slice();const e=i.globals.radialSize||1;i.globals.prevPolarSizes=this.sliceSizes.map(t=>t/e)}if(this.donutSize<0&&(this.donutSize=0),"donut"===this.chartType){const e=s.drawCircle(this.donutSize);e.attr({cx:this.centerX,cy:this.centerY,fill:i.config.plotOptions.pie.donut.background?i.config.plotOptions.pie.donut.background:"transparent"}),f.add(e)}const y=this.drawArcs(g,e);if(this.sliceLabels.forEach(e=>{y.add(e)}),f.attr({transform:`translate(${this.translateX}, ${this.translateY}) scale(${i.config.plotOptions.pie.customScale})`}),f.add(y),l.add(f),this.donutDataLabels.show){const e=this.initialAnim&&!i.globals.resized&&!i.globals.dataChanged&&this.animDur>0,t=this.renderInnerDataLabels(this.dataLabelsGroup,this.donutDataLabels,{hollowSize:this.donutSize,centerX:this.centerX,centerY:this.centerY,opacity:e?0:this.donutDataLabels.show});if(e){const e=this.dataLabelsGroup.node;e.style.transition="opacity 280ms ease-out",setTimeout(()=>{e.style.opacity="1"},this.animDur)}l.add(t)}return"front"===i.config.grid.position&&"polarArea"===this.chartType&&this.drawPolarElements(l),l}drawArcs(e,t){var a,i,s,l,n;const r=this.w,o=new f(this.w),h=new u(this.w),c=new g(this.w),d=h.group({class:"apexcharts-slices"});this.elHoverOutline=h.group({class:"apexcharts-pie-hover-outline"}),this.elHoverOutline.node.style.pointerEvents="none",this.elHoverOutline.node.style.opacity="0",r.config.chart.animations.enabled&&(this.elHoverOutline.node.style.transition="opacity 180ms ease-out"),d.add(this.elHoverOutline);let b=this.initialAngle,y=this.initialAngle,A=this.initialAngle,S=this.initialAngle;this.strokeWidth=r.config.stroke.show?r.config.stroke.width:0;const w=!0===(null==(a=this.ctx.morphTypeChange)?void 0:a.isActive());for(let a=0;a<e.length;a++){const g=h.group({class:"apexcharts-series apexcharts-pie-series",seriesName:p.escapeString(r.seriesData.seriesNames[a]),rel:a+1,"data:realIndex":a});d.add(g),b=A,y=S,A=b+e[a],S=y+this.prevSectorAngleArr[a];const m=A<b?this.fullAngle+A-b:A-b,x=c.fillPath({seriesNumber:a,size:this.sliceSizes[a],value:t[a]}),v=w?this.ctx.morphTypeChange.getInitialPathFor(a,0):null,L="polarArea"===this.chartType&&r.globals.dataChanged&&!w?this.prevSliceSizes[a]||0:void 0,O=v||this.getChangedPath(y,S,L),z=h.drawPath({d:O,stroke:Array.isArray(this.lineColorArr)?null!=(i=this.lineColorArr[a])?i:this.lineColorArr[a%this.lineColorArr.length]:this.lineColorArr,strokeWidth:0,fill:x,fillOpacity:r.config.fill.opacity,classes:`apexcharts-pie-area apexcharts-${this.chartType.toLowerCase()}-slice-${a}`});if(z.attr({index:0,j:a}),o.setSelectionFilter(z,0,a),r.config.chart.dropShadow.enabled){const e=r.config.chart.dropShadow;o.dropShadow(z,e,a)}this.addListeners(z,this.donutDataLabels,a);let C={x:0,y:0};const P=(b+m/2)%this.fullAngle;let T={x:this.centerX,y:this.centerY};"pie"===this.chartType||"polarArea"===this.chartType?(C=p.polarToCartesian(this.centerX,this.centerY,r.globals.radialSize/1.25+r.config.plotOptions.pie.dataLabels.offset,P),T=p.polarToCartesian(this.centerX,this.centerY,r.globals.radialSize/2,P)):"donut"===this.chartType&&(C=p.polarToCartesian(this.centerX,this.centerY,(r.globals.radialSize+this.donutSize)/2+r.config.plotOptions.pie.dataLabels.offset,P),T=p.polarToCartesian(this.centerX,this.centerY,(r.globals.radialSize+this.donutSize)/2,P)),u.setAttrs(z.node,{"data:angle":m,"data:startAngle":b,"data:strokeWidth":this.strokeWidth,"data:value":t[a],"data:cx":T.x,"data:cy":T.y}),g.add(z);let Y=!1;if(w){const e=this.getPiePath({me:this,startAngle:b,angle:m,size:this.sliceSizes[a]});z.node.setAttribute("data:pathFinal",e),Y=!0===(null==(l=(s=this.ctx.morphTypeChange).claimsTargetMark)?void 0:l.call(s,a,0)),Y&&(z.attr({d:e}),z.node.setAttribute("data:pathOrig",e),z.node.setAttribute("opacity","0"),z.node.setAttribute("data-piece-hidden","1"))}const D=(r.globals.collapsedSeriesIndices||[]).includes(a);let E=0;if(!this.initialAnim||r.globals.resized||r.globals.dataChanged?this.animBeginArr.push(0):(E=m/this.fullAngle*r.config.chart.animations.speed,0===E&&(E=1),this.animDur=E+this.animDur,this.animBeginArr.push(this.animDur)),Y);else if(w&&v){const e=this.getPiePath({me:this,startAngle:b,angle:m,size:this.sliceSizes[a]}),t=this.ctx.morphTypeChange.getSpeed(),i=this.ctx.animations;z.node.setAttribute("data:pathOrig",e);const s=z.animate(t).plot(e,"polygons").attr({"stroke-width":this.strokeWidth});s&&"function"==typeof s.after?s.after(()=>i.animationCompleted(z)):i.animationCompleted(z)}else this.dynamicAnim&&r.globals.dataChanged?this.animatePaths(z,{size:this.sliceSizes[a],prevSize:L,endAngle:A,startAngle:b,prevStartAngle:y,prevEndAngle:S,animateStartingPos:!0,i:a,animBeginArr:this.animBeginArr,shouldSetPrevPaths:!0,dur:r.config.chart.animations.dynamicAnimation.speed,collapsed:D}):this.animatePaths(z,{size:this.sliceSizes[a],endAngle:A,startAngle:b,i:a,animBeginArr:this.animBeginArr,dur:E,collapsed:D});if(this.getExpandOffset()>0?z.node.addEventListener("mouseup",this.pieClicked.bind(this,a)):0===a&&f.drilldownBlocksSliceOffset(r)&&(null==(n=this.ctx.drilldown)||n.warnSliceOffsetDisabled()),void 0!==r.interact.selectedDataPoints[0]&&r.interact.selectedDataPoints[0].indexOf(a)>-1)if(this.initialAnim&&!r.globals.resized&&!r.globals.dataChanged&&this.animDur>0){const e=r.dom.Paper;setTimeout(()=>{r.dom.Paper===e&&this.setSliceOut(a)},this.animDur)}else this.setSliceOut(a);if(r.config.dataLabels.enabled){const t=C.x,i=C.y;let s=100*m/this.fullAngle+"%";if(0!==m&&r.config.plotOptions.pie.dataLabels.minAngleToShowLabel<e[a]){const e=r.config.dataLabels.formatter;void 0!==e&&(s=e(r.globals.seriesPercent[a][0],{seriesIndex:a,dataPointIndex:a,series:r.seriesData.series,w:r}));const l=r.globals.dataLabels.style.colors[a],n=h.group({class:"apexcharts-datalabels","data:slice":a}),c=h.drawText({x:t,y:i,text:s,textAnchor:"middle",fontSize:r.config.dataLabels.style.fontSize,fontFamily:r.config.dataLabels.style.fontFamily,fontWeight:r.config.dataLabels.style.fontWeight,foreColor:l});if(n.add(c),r.config.dataLabels.dropShadow.enabled){const e=r.config.dataLabels.dropShadow;o.dropShadow(c,e)}c.node.classList.add("apexcharts-pie-label"),!this.initialAnim||r.globals.resized||r.globals.dataChanged||(c.attr({opacity:0}),c.animate(300,r.config.chart.animations.speed).attr({opacity:1})),this.sliceLabels.push(n),this.sliceLabelGroups[a]=n.node}}if(this.showExternalLabels&&0!==m){const e=this.getExternalLabelLines(a);if(e.some(e=>""!==e)){const t=p.polarToCartesian(this.centerX,this.centerY,r.globals.radialSize,P),i=p.polarToCartesian(this.centerX,this.centerY,r.globals.radialSize+(this.externalCfg.connector.gap||0),P),s=i.x>=this.centerX,l=s?i.x+(this.externalCfg.connector.length||0):i.x-(this.externalCfg.connector.length||0);this.externalLabels.push({i:a,lines:e,anchor:t,elbow:i,side:s?"right":"left",labelX:l+parseFloat(this.externalCfg.offsetX||0),idealY:i.y+parseFloat(this.externalCfg.offsetY||0),connectorColor:this.externalCfg.connector.color||r.globals.colors[a],foreColor:this.externalCfg.color||r.config.chart.foreColor})}}}if(this.showExternalLabels&&this.externalLabels.length){this.placeExternalLabels();const e=x.isBrowser()&&(w||this.dynamicAnim&&r.globals.dataChanged||this.initialAnim&&!r.globals.resized&&!r.globals.dataChanged);this.externalLabels.forEach(t=>{const a=new m(r).drawExternalLabel({lines:t.lines,lineHeight:this.externalLabelLineH,anchor:t.anchor,elbow:t.elbow,labelX:t.labelX,labelY:t.labelY,side:t.side,connector:{show:this.externalCfg.connector.show,width:this.externalCfg.connector.width,color:t.connectorColor},style:this.externalLabelStyle,foreColor:t.foreColor});e&&(a.node.classList.add("apexcharts-element-hidden"),r.globals.delayedElements.push({el:a.node})),this.externalLabelGroups[t.i]=a.node,a.node.setAttribute("data:slice",String(t.i)),d.add(a)})}return d}placeExternalLabels(){const e=this.w,t=this.externalLabelMaxLines*this.externalLabelLineH,a=e.globals.radialSize+e.globals.pieExternalLabelMarginY,i=this.centerY+a,s=this.centerY-a+t/2;["left","right"].forEach(e=>{const a=this.externalLabels.filter(t=>t.side===e);!function(e,t,a,i){const s=e.slice().sort((e,t)=>e.idealY-t.idealY);s.forEach(e=>{e.labelY=e.idealY});for(let e=1;e<s.length;e++)s[e].labelY-s[e-1].labelY<t&&(s[e].labelY=s[e-1].labelY+t);const l=s[s.length-1],n=l?l.labelY-a:0;if(n>0)for(let e=s.length-1;e>=0;e--)s[e].labelY-=n,e<s.length-1&&s[e+1].labelY-s[e].labelY<t&&(s[e].labelY=s[e+1].labelY-t);if(null!=i&&s.length&&s[0].labelY<i){const e=i-s[0].labelY;for(let t=0;t<s.length;t++)s[t].labelY+=e}}(a,Math.min(t+2,(i-s)/Math.max(1,a.length-1)),i,s)})}addListeners(e,t,a){const i=new u(this.w,this.ctx);e.node.addEventListener("mouseenter",i.pathMouseEnter.bind(i,e)),e.node.addEventListener("mouseleave",i.pathMouseLeave.bind(i,e)),e.node.addEventListener("mouseleave",this.revertDataLabelsInner.bind(this)),"number"==typeof a&&(e.node.addEventListener("mouseenter",this.showHoverOutline.bind(this,a)),e.node.addEventListener("mouseleave",this.hideHoverOutline.bind(this))),e.node.addEventListener("mousedown",i.pathMouseDown.bind(i,e)),this.donutDataLabels.total.showAlways||(e.node.addEventListener("mouseenter",this.printDataLabelsInner.bind(this,e.node,t)),e.node.addEventListener("mousedown",this.printDataLabelsInner.bind(this,e.node,t)))}animatePaths(e,t){let a=t.endAngle<t.startAngle?this.fullAngle+t.endAngle-t.startAngle:t.endAngle-t.startAngle,i=a,s=t.startAngle;const l=t.startAngle;void 0!==t.prevStartAngle&&void 0!==t.prevEndAngle&&(s=t.prevEndAngle,i=t.prevEndAngle<t.prevStartAngle?this.fullAngle+t.prevEndAngle-t.prevStartAngle:t.prevEndAngle-t.prevStartAngle),a===this.fullAngle&&(a=this.fullAngle-.01),this.animateArc(e,s,l,a,i,t)}animateArc(e,t,a,i,s,l){const n=this,r=this.w,o=new d(this.w),h=l.size;let c;(isNaN(t)||isNaN(s))&&(t=a,s=0,!1===r.globals.shouldAnimate&&(s=i,l.dur=0));let g=i,p=a;const u=t<a?this.fullAngle+t-a:t-a,f="number"==typeof l.prevSize;r.globals.dataChanged&&l.shouldSetPrevPaths&&Number.isFinite(l.prevEndAngle)&&(c=n.getPiePath({me:n,startAngle:l.prevStartAngle,angle:l.prevEndAngle<l.prevStartAngle?this.fullAngle+l.prevEndAngle-l.prevStartAngle:l.prevEndAngle-l.prevStartAngle,size:f?l.prevSize:h}),e.attr({d:c})),0!==l.dur?e.animate(l.dur,l.animBeginArr[l.i]).after(function(){"pie"!==n.chartType&&"donut"!==n.chartType&&"polarArea"!==n.chartType||this.animate(r.config.chart.animations.dynamicAnimation.speed).attr({"stroke-width":n.strokeWidth}),l.collapsed&&e.attr({d:""}),l.i===r.config.series.length-1&&o.animationCompleted(e)}).during(r=>{g=u+(i-u)*r,l.animateStartingPos&&(g=s+(i-s)*r,p=t-s+(a-(t-s))*r),c=n.getPiePath({me:n,startAngle:p,angle:g,size:f?l.prevSize+(h-l.prevSize)*r:h}),e.node.setAttribute("data:pathOrig",c),e.attr({d:c})}):(c=n.getPiePath({me:n,startAngle:p,angle:i,size:h}),l.isTrack||(r.globals.animationEnded=!0),e.node.setAttribute("data:pathOrig",c),e.attr({d:l.collapsed?"":c,"stroke-width":n.strokeWidth}))}pieClicked(e,t){const a=this.w,i=!(t&&!1===t.animate),s=a.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`);if(s){if("true"===s.attr("data:pieClicked"))return s.attr({"data:pieClicked":"false"}),this.revertDataLabelsInner(),void this.offsetSlice(e,0,i);if(!a.config.states.active.allowMultipleDataPointsSelection){const e=a.dom.baseEl.getElementsByClassName("apexcharts-pie-area");Array.prototype.forEach.call(e,e=>{const t="true"===e.getAttribute("data:pieClicked");e.setAttribute("data:pieClicked","false"),t&&this.offsetSlice(parseInt(e.getAttribute("j"),10),0,i)})}a.interact.capturedDataPointIndex=e,s.attr("data:pieClicked","true"),this.offsetSlice(e,this.getExpandOffset(),i)}}getExpandOffset(){return f.sliceExpandOffset(this.w)}getSliceMovers(e){const t=this.w.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`);return[t?t.node:null,this.sliceLabelGroups[e],this.externalLabelGroups[e],this.hoverOutlineIndex===e&&this.elHoverOutlinePath?this.elHoverOutlinePath.node:null].filter(Boolean)}offsetSlice(e,t,a=!0){const i=this.w;if(!i.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`))return;const{dx:s,dy:l}=this.getSliceOffsetVector(e,t),n=`translate(${s} ${l})`,r=a&&i.config.chart.animations.enabled?"transform 320ms cubic-bezier(0.25, 0.8, 0.3, 1)":"";this.getSliceMovers(e).forEach(e=>{e.classList.add("apexcharts-slice-mover"),e.style.transition=r,e.setAttribute("transform",n)})}getSliceOffsetVector(e,t){const a=this.w.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`),i=a?parseFloat(a.attr("data:angle")):NaN;if(!t||!Number.isFinite(i)||i>=this.fullAngle)return{dx:0,dy:0};const s=parseFloat(a.attr("data:startAngle")),l=Math.PI*(s+i/2-90)/180;return{dx:t*Math.cos(l),dy:t*Math.sin(l)}}showHoverOutline(e){const t=this.w;if(!f.hoverOutlineOwnsHoverState(t))return;if(!this.elHoverOutline)return;const a=this.getHoverOutlinePath(e);if(!a)return;const i=t.config.plotOptions.pie.hoverOutline,s=i.color||t.globals.colors[e];if(!this.elHoverOutlinePath){const e=new u(t);this.elHoverOutlinePath=e.drawPath({d:a,fill:s,strokeWidth:0,classes:"apexcharts-pie-hover-outline-band"}),this.elHoverOutline.add(this.elHoverOutlinePath)}this.elHoverOutlinePath.attr({d:a,fill:s,"fill-opacity":i.opacity});const{dx:l,dy:n}=this.getSliceOffsetVector(e,this.isSliceOut(e)?this.getExpandOffset():0);this.elHoverOutlinePath.node.classList.remove("apexcharts-slice-mover"),this.elHoverOutlinePath.node.style.transition="",this.elHoverOutlinePath.node.setAttribute("transform",`translate(${l} ${n})`),this.hoverOutlineIndex=e,this.elHoverOutline.node.style.opacity="1"}hideHoverOutline(){this.elHoverOutline&&(this.elHoverOutline.node.style.opacity="0")}setSliceOut(e){this.isSliceOut(e)||this.pieClicked(e,{animate:!1})}isSliceOut(e){const t=this.w.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`);return!!t&&"true"===t.attr("data:pieClicked")}getHoverOutlinePath(e){const t=this.w,a=t.config.plotOptions.pie.hoverOutline,i=t.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`);if(!i)return null;const s=parseFloat(i.attr("data:angle"));if(!Number.isFinite(s)||s<=0)return null;const l=this.sliceSizes[e],n=Number(a.size);if(!Number.isFinite(l)||!Number.isFinite(n)||n<=0)return null;const{startDeg:h,spanDeg:c}=this.getSliceExtent({me:this,startAngle:parseFloat(i.attr("data:startAngle")),angle:s,size:l});if(!(c>0))return null;const d=l+(this.strokeWidth||0)/2+(Number(a.gap)||0),g=d+n,p={cx:this.centerX,cy:this.centerY,rIn:d,rOut:g,a0:h,a1:h+c,spanDeg:c},u=Math.min(n/2,c*Math.PI/180/2*d);return u>.5?v(o(r({},p),{r:u})):function({cx:e,cy:t,rIn:a,rOut:i,a0:s,a1:l,spanDeg:n}){const r=(a,i)=>S(e,t,a,i),o=n>180?1:0,h=r(i,s),c=r(i,l),d=r(a,l),g=r(a,s);return["M",w(h),"A",i,i,0,o,1,w(c),"L",w(d),"A",a,a,0,o,0,w(g),"Z"].join(" ")}(p)}getChangedPath(e,t,a){return this.dynamicAnim&&this.w.globals.dataChanged&&"number"==typeof a?this.getPiePath({me:this,startAngle:e,angle:t-e,size:a}):""}getSliceExtent({me:e,startAngle:t,angle:a,size:i}){const s=this.w;let l=t,n=a+t;Math.ceil(n)>=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(n=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01);let r=n-l;const o="pie"===e.chartType||"donut"===e.chartType||"polarArea"===e.chartType,h=s.config.plotOptions.pie.spacing;if(o&&h>0&&r>0){const t="donut"===e.chartType?(i+e.donutSize)/2:i,a=t>0?h/t*(180/Math.PI):0,s=Math.min(a/2,Math.max(0,r/2-.5));l+=s,r-=2*s}return n=l+r,Math.ceil(n)>this.fullAngle&&(n-=this.fullAngle),{startDeg:l,spanDeg:r,endDeg:n}}getPiePath({me:e,startAngle:t,angle:a,size:i}){let s;const l=this.w,n=new u(this.w),{startDeg:r,spanDeg:o,endDeg:h}=this.getSliceExtent({me:e,startAngle:t,angle:a,size:i}),c="pie"===e.chartType||"donut"===e.chartType||"polarArea"===e.chartType,d=Math.PI*(r-90)/180,g=l.config.plotOptions.pie.borderRadius;if(g>0&&c){const t=this.getRoundedSlicePath({me:e,startDeg:r,spanDeg:o,size:i,borderRadius:g});if(t)return t}const f=Math.PI*(h-90)/180,b=e.centerX+i*Math.cos(d),m=e.centerY+i*Math.sin(d),x=e.centerX+i*Math.cos(f),y=e.centerY+i*Math.sin(f),A=p.polarToCartesian(e.centerX,e.centerY,e.donutSize,h),S=p.polarToCartesian(e.centerX,e.centerY,e.donutSize,r),w=o>180?1:0,v=["M",b,m,"A",i,i,0,w,1,x,y];return s="donut"===e.chartType?[...v,"L",A.x,A.y,"A",e.donutSize,e.donutSize,0,w,0,S.x,S.y,"L",b,m,"z"].join(" "):"pie"===e.chartType||"polarArea"===e.chartType?[...v,"L",e.centerX,e.centerY,"L",b,m].join(" "):[...v].join(" "),n.roundPathCorners(s,2*this.strokeWidth)}getRoundedSlicePath({me:e,startDeg:t,spanDeg:a,size:i,borderRadius:s}){if(!(a>0))return null;const l=Math.PI/180,n=e.centerX,r=e.centerY,o="donut"===e.chartType,h=i,c=o?e.donutSize:0,d=a*l;let g=s;if(g=Math.min(g,d*h/2),o?(g=Math.min(g,d*c/2),g=Math.min(g,(h-c)/2)):g=Math.min(g,h/2),!(g>.5))return null;const p=t,u=t+a;return o?v({cx:n,cy:r,rIn:c,rOut:h,a0:p,a1:u,r:g,spanDeg:a}):function({cx:e,cy:t,rOut:a,a0:i,a1:s,r:l,spanDeg:n}){const r=(a,i)=>S(e,t,a,i),o=l/a*A,h=r(a,i+o),c=r(a,s-o),d=n-2*o>180?1:0,g=r(a,s),p=r(a-l,s),u=r(a,i),f=r(a-l,i);return["M",w(h),"A",a,a,0,d,1,w(c),"Q",w(g),w(p),"L",`${e} ${t}`,"L",w(f),"Q",w(u),w(h),"Z"].join(" ")}({cx:n,cy:r,rOut:h,a0:p,a1:u,r:g,spanDeg:a})}drawPolarElements(e){const t=this.w,a=new b(this.w),i=new u(this.w),s=new m(this.w),l=i.group(),n=i.group(),r=a.niceScale(0,Math.ceil(this.maxY),0),o=r.result.reverse(),h=r.result.length;this.maxY=r.niceMax;let c=t.globals.radialSize;const d=c/(h-1);for(let e=0;e<h-1;e++){const a=i.drawCircle(c);if(a.attr({cx:this.centerX,cy:this.centerY,fill:"none","stroke-width":t.config.plotOptions.polarArea.rings.strokeWidth,stroke:t.config.plotOptions.polarArea.rings.strokeColor}),t.config.yaxis[0].show){const a=s.drawYAxisTexts(this.centerX,this.centerY-c+parseInt(t.config.yaxis[0].labels.style.fontSize,10)/2,e,o[e]);n.add(a)}l.add(a),c-=d}this.drawSpokes(e),e.add(l),e.add(n)}renderInnerDataLabels(e,t,a){const i=this.w,s=new u(this.w),l=t.total.show;e.node.innerHTML="",e.node.style.opacity=a.opacity;const n=a.centerX,r=a.centerY,o=t.name.show&&!!this.donutDataLabels.total.label;let h,c;h=void 0===t.name.color?i.globals.colors[0]:t.name.color;let d=t.name.fontSize,g=t.name.fontFamily,p=t.name.fontWeight;c=void 0===t.value.color?i.config.chart.foreColor:t.value.color;const f=t.value.formatter;let b="",m="";if(l?(h=t.total.color,d=t.total.fontSize,g=t.total.fontFamily,p=t.total.fontWeight,m=this.donutDataLabels.total.label?t.total.label:"",b=t.total.formatter(i)):1===i.seriesData.series.length&&(b=f(i.seriesData.series[0],i),m=i.seriesData.seriesNames[0]),m&&(m=t.name.formatter(m,t.total.show,i)),t.name.show){const a=s.drawText({x:n,y:r+parseFloat(t.name.offsetY),text:m,textAnchor:"middle",foreColor:h,fontSize:d,fontWeight:p,fontFamily:g});a.node.classList.add("apexcharts-datalabel-label"),e.add(a)}if(t.value.show){const a=o?parseFloat(t.value.offsetY)+16:t.value.offsetY,i=s.drawText({x:n,y:r+a,text:b,textAnchor:"middle",foreColor:c,fontWeight:t.value.fontWeight,fontSize:t.value.fontSize,fontFamily:t.value.fontFamily});i.node.classList.add("apexcharts-datalabel-value"),e.add(i)}return e}printInnerLabels(e,t,a,i){const s=this.w;let l;i?l=void 0===e.name.color?s.globals.colors[parseInt(i.parentNode.getAttribute("rel"),10)-1]:e.name.color:s.seriesData.series.length>1&&e.total.show&&(l=e.total.color);const n=s.dom.baseEl.querySelector(".apexcharts-datalabel-label"),r=s.dom.baseEl.querySelector(".apexcharts-datalabel-value");a=(0,e.value.formatter)(a,s),i||"function"!=typeof e.total.formatter||(a=e.total.formatter(s));const o=t===e.total.label;if(t=this.donutDataLabels.total.label?e.name.formatter(t,o,s):"",null!==n&&(n.textContent=t),null!==r&&(r.textContent=a),null!==n){n.style.fill=l}}printDataLabelsInner(e,t){const a=this.w,i=e.getAttribute("data:value"),s=a.seriesData.seriesNames[parseInt(e.parentNode.getAttribute("rel"),10)-1];a.seriesData.series.length>1&&this.printInnerLabels(t,s,i,e);const l=a.dom.baseEl.querySelector(".apexcharts-datalabels-group");if(null!==l){l.style.opacity="1"}}drawSpokes(e){const t=this.w,a=new u(this.w),i=t.config.plotOptions.polarArea.spokes;if(0===i.strokeWidth)return;const s=t.globals.collapsedSeriesIndices||[],l=t.seriesData.series.length,n=360/Math.max(1,l-s.filter(e=>e<l).length);let r=0;for(let o=0;o<l;o++){if(s.indexOf(o)>-1)continue;const l=p.polarToCartesian(this.centerX,this.centerY,t.globals.radialSize,t.config.plotOptions.pie.startAngle+n*r++),h=a.drawLine(l.x,l.y,this.centerX,this.centerY,Array.isArray(i.connectorColors)?i.connectorColors[o]:i.connectorColors);e.add(h)}}revertDataLabelsInner(){const e=this.w;if(this.donutDataLabels.show){const t=e.dom.Paper.findOne(".apexcharts-datalabels-group"),a=this.renderInnerDataLabels(t,this.donutDataLabels,{hollowSize:this.donutSize,centerX:this.centerX,centerY:this.centerY,opacity:this.donutDataLabels.show});e.dom.Paper.findOne(".apexcharts-radialbar, .apexcharts-pie").add(a)}}}c.default.use({pie:L,donut:L,polarArea:L}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>c.default});
|
package/dist/pie.esm.js
CHANGED
|
@@ -18,7 +18,7 @@ var __spreadValues = (a, b) => {
|
|
|
18
18
|
};
|
|
19
19
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
20
|
/*!
|
|
21
|
-
* ApexCharts v8.
|
|
21
|
+
* ApexCharts v8.3.1
|
|
22
22
|
* (c) 2018-2026 ApexCharts
|
|
23
23
|
*/
|
|
24
24
|
import * as _core from "apexcharts/core";
|
|
@@ -1142,17 +1142,11 @@ class Pie {
|
|
|
1142
1142
|
this.offsetSlice(i, this.getExpandOffset(), animate);
|
|
1143
1143
|
}
|
|
1144
1144
|
/**
|
|
1145
|
-
* How far a clicked slice slides out, in px
|
|
1146
|
-
* drilldown owns the click, and always for polarArea: there the radius
|
|
1147
|
-
* encodes the value, so moving a slice outward would read as a bigger number.
|
|
1145
|
+
* How far a clicked slice slides out, in px (see Filters.sliceExpandOffset).
|
|
1148
1146
|
* @returns {number}
|
|
1149
1147
|
*/
|
|
1150
1148
|
getExpandOffset() {
|
|
1151
|
-
|
|
1152
|
-
if (!pie.expandOnClick || this.chartType === "polarArea") return 0;
|
|
1153
|
-
if (Filters.drilldownBlocksSliceOffset(this.w)) return 0;
|
|
1154
|
-
const offset = Number(pie.expandOffset);
|
|
1155
|
-
return Number.isFinite(offset) && offset > 0 ? offset : 0;
|
|
1149
|
+
return Filters.sliceExpandOffset(this.w);
|
|
1156
1150
|
}
|
|
1157
1151
|
/**
|
|
1158
1152
|
* Every node that has to travel with slice `i`: the slice path itself plus
|