apexcharts 8.3.1 → 8.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -7
- package/dist/apexcharts.common.js +2 -2
- package/dist/apexcharts.core.js +674 -548
- package/dist/apexcharts.core.min.js +2 -2
- package/dist/apexcharts.esm.js +718 -404
- package/dist/apexcharts.full.js +3152 -2281
- package/dist/apexcharts.full.min.js +2 -2
- package/dist/apexcharts.js +1497 -1072
- package/dist/apexcharts.min.js +2 -2
- package/dist/apexcharts.ssr.common.js +2 -2
- package/dist/apexcharts.ssr.esm.js +1591 -1086
- package/dist/area.common.js +2 -2
- package/dist/area.esm.js +118 -65
- package/dist/bar.common.js +2 -2
- package/dist/bar.esm.js +359 -206
- package/dist/bar.js +2 -2
- package/dist/boxPlot.common.js +2 -2
- package/dist/boxPlot.esm.js +334 -193
- package/dist/bubble.common.js +2 -2
- package/dist/bubble.esm.js +118 -65
- package/dist/candlestick.common.js +2 -2
- package/dist/candlestick.esm.js +334 -193
- package/dist/candlestick.js +2 -2
- package/dist/column.common.js +2 -2
- package/dist/column.esm.js +359 -206
- package/dist/core.common.js +2 -2
- package/dist/core.esm.js +669 -543
- package/dist/donut.common.js +2 -2
- package/dist/donut.esm.js +104 -3
- package/dist/dumbbell.common.js +2 -2
- package/dist/dumbbell.esm.js +359 -206
- package/dist/features/all.common.js +2 -2
- package/dist/features/all.esm.js +90 -47
- package/dist/features/annotations.common.js +1 -1
- package/dist/features/annotations.esm.js +1 -1
- package/dist/features/annotations.js +1 -1
- package/dist/features/context-menu.common.js +1 -1
- package/dist/features/context-menu.esm.js +1 -1
- package/dist/features/context-menu.js +1 -1
- package/dist/features/drilldown.common.js +2 -2
- package/dist/features/drilldown.esm.js +137 -124
- 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 +22 -12
- 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 +206 -119
- 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 +1 -1
- package/dist/features/keyboard.esm.js +1 -1
- package/dist/features/keyboard.js +1 -1
- package/dist/features/legend.common.js +2 -2
- package/dist/features/legend.esm.js +51 -27
- 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 +19 -10
- package/dist/features/morph.js +2 -2
- package/dist/features/perspectives.common.js +1 -1
- package/dist/features/perspectives.esm.js +1 -1
- package/dist/features/perspectives.js +1 -1
- package/dist/features/raincloud.common.js +1 -1
- package/dist/features/raincloud.esm.js +1 -1
- package/dist/features/raincloud.js +1 -1
- package/dist/features/renderer-canvas.common.js +2 -2
- package/dist/features/renderer-canvas.esm.js +35 -21
- package/dist/features/renderer-canvas.js +2 -2
- package/dist/features/stats.common.js +1 -1
- package/dist/features/stats.esm.js +1 -1
- package/dist/features/stats.js +1 -1
- package/dist/features/storyboard.common.js +1 -1
- package/dist/features/storyboard.esm.js +1 -1
- package/dist/features/storyboard.js +1 -1
- package/dist/features/streamgraph.common.js +2 -2
- package/dist/features/streamgraph.esm.js +115 -43
- package/dist/features/streamgraph.js +2 -2
- package/dist/features/toolbar.common.js +2 -2
- package/dist/features/toolbar.esm.js +22 -12
- package/dist/features/toolbar.js +2 -2
- package/dist/features/trellis.common.js +2 -2
- package/dist/features/trellis.esm.js +810 -528
- package/dist/features/trellis.js +2 -2
- package/dist/features/waterfall.common.js +2 -2
- package/dist/features/waterfall.esm.js +14 -25
- package/dist/features/waterfall.js +2 -2
- package/dist/features/weave.common.js +1 -1
- package/dist/features/weave.esm.js +1 -1
- package/dist/features/weave.js +1 -1
- package/dist/full.common.js +2 -2
- package/dist/full.esm.js +1783 -1303
- package/dist/heatmap.common.js +2 -2
- package/dist/heatmap.esm.js +38 -54
- package/dist/heatmap.js +2 -2
- package/dist/histogram.common.js +2 -2
- package/dist/histogram.esm.js +359 -206
- package/dist/icicle.common.js +2 -2
- package/dist/icicle.esm.js +140 -93
- package/dist/icicle.js +2 -2
- package/dist/line.common.js +2 -2
- package/dist/line.esm.js +118 -65
- package/dist/line.js +2 -2
- package/dist/pictograms.common.js +2 -2
- package/dist/pictograms.esm.js +2 -2
- package/dist/pictograms.js +2 -2
- package/dist/pie.common.js +2 -2
- package/dist/pie.esm.js +104 -3
- package/dist/pie.js +2 -2
- package/dist/polarArea.common.js +2 -2
- package/dist/polarArea.esm.js +104 -3
- package/dist/radar.common.js +2 -2
- package/dist/radar.esm.js +23 -9
- package/dist/radar.js +2 -2
- package/dist/radialBar.common.js +2 -2
- package/dist/radialBar.esm.js +104 -3
- package/dist/radialBar.js +2 -2
- package/dist/raincloud.common.js +2 -2
- package/dist/raincloud.esm.js +14 -5
- package/dist/rangeArea.common.js +2 -2
- package/dist/rangeArea.esm.js +118 -65
- package/dist/rangeBar.common.js +2 -2
- package/dist/rangeBar.esm.js +359 -206
- package/dist/scatter.common.js +2 -2
- package/dist/scatter.esm.js +118 -65
- package/dist/streamgraph.common.js +2 -2
- package/dist/streamgraph.esm.js +231 -106
- package/dist/sunburst.common.js +2 -2
- package/dist/sunburst.esm.js +331 -126
- package/dist/sunburst.js +2 -2
- package/dist/treemap.common.js +2 -2
- package/dist/treemap.esm.js +118 -102
- package/dist/treemap.js +2 -2
- package/dist/unit-shapes.common.js +2 -2
- package/dist/unit-shapes.esm.js +2 -2
- package/dist/unit-shapes.js +2 -2
- package/dist/unit.common.js +2 -2
- package/dist/unit.esm.js +29 -27
- package/dist/unit.js +2 -2
- package/dist/violin.common.js +2 -2
- package/dist/violin.esm.js +14 -5
- package/dist/violin.js +2 -2
- package/dist/waterfall.common.js +2 -2
- package/dist/waterfall.esm.js +372 -230
- package/package.json +1 -1
- package/src/apexcharts.js +10 -7
- package/src/charts/Bar.js +30 -12
- package/src/charts/BarStacked.js +10 -4
- package/src/charts/BoxCandleStick.js +8 -2
- package/src/charts/Icicle.js +30 -67
- package/src/charts/Line.js +58 -22
- package/src/charts/Pie.js +134 -6
- package/src/charts/Radar.js +6 -9
- package/src/charts/RangeBar.js +13 -13
- package/src/charts/Scatter.js +5 -7
- package/src/charts/Sunburst.js +157 -135
- package/src/charts/Treemap.js +50 -26
- package/src/charts/common/Breadcrumb.js +37 -16
- package/src/charts/common/PreviousPaths.js +45 -0
- package/src/charts/common/bar/DataLabels.js +85 -77
- package/src/charts/common/bar/Helpers.js +144 -56
- package/src/charts/common/line/Helpers.js +8 -11
- package/src/charts/common/partition/NodeTooltip.js +53 -28
- package/src/charts/common/partition/Partition.js +64 -19
- package/src/charts/common/partition/Tint.js +6 -3
- package/src/charts/common/partition/Transitions.js +108 -0
- package/src/charts/common/treemap/ColorScale.js +30 -14
- package/src/charts/common/treemap/Helpers.js +47 -68
- package/src/modules/Base.js +12 -14
- package/src/modules/CoreUtils.js +26 -46
- package/src/modules/Data.js +82 -55
- package/src/modules/DataLabels.js +14 -13
- package/src/modules/Exports.js +32 -14
- package/src/modules/Graphics.js +58 -82
- package/src/modules/Markers.js +57 -58
- package/src/modules/MorphPieces.js +16 -10
- package/src/modules/MorphTypeChange.js +8 -2
- package/src/modules/Range.js +32 -55
- package/src/modules/RendererController.js +4 -4
- package/src/modules/Responsive.js +5 -1
- package/src/modules/Scales.js +24 -15
- package/src/modules/Series.js +83 -72
- package/src/modules/UnitLayoutRegistry.js +8 -5
- package/src/modules/UnitMarkRegistry.js +7 -5
- package/src/modules/animations/AxisTransition.js +11 -4
- package/src/modules/animations/DataLabelTransition.js +30 -15
- package/src/modules/animations/LayoutTransition.js +43 -32
- package/src/modules/animations/LengthTransition.js +176 -84
- package/src/modules/axes/AxesUtils.js +14 -12
- package/src/modules/axes/XAxis.js +4 -4
- package/src/modules/axes/YAxis.js +4 -4
- package/src/modules/drilldown/Breadcrumb.js +11 -53
- package/src/modules/drilldown/Drilldown.js +151 -95
- package/src/modules/helpers/InitCtxVariables.js +2 -1
- package/src/modules/helpers/UpdateHelpers.js +132 -0
- package/src/modules/helpers/XKey.js +56 -0
- package/src/modules/highlightFilter/HighlightFilter.js +98 -49
- package/src/modules/highlightFilter/PiePart.js +6 -3
- package/src/modules/highlightFilter/RadialPart.js +41 -7
- package/src/modules/highlightFilter/TreemapPart.js +71 -44
- package/src/modules/highlightFilter/util.js +23 -7
- package/src/modules/legend/Legend.js +39 -13
- package/src/modules/settings/Defaults.js +34 -50
- package/src/modules/streamgraph/StreamData.js +81 -35
- package/src/modules/streamgraph/StreamLabels.js +44 -17
- package/src/modules/tooltip/Labels.js +12 -9
- package/src/modules/tooltip/Tooltip.js +7 -2
- package/src/modules/trellis/Trellis.js +402 -248
- package/src/modules/trellis/TrellisChrome.js +110 -44
- package/src/modules/trellis/TrellisExports.js +48 -13
- package/src/modules/trellis/TrellisFrames.js +11 -15
- package/src/modules/trellis/TrellisScales.js +201 -115
- package/src/modules/trellis/TrellisSplit.js +72 -36
- package/src/modules/trellis/TrellisSync.js +41 -13
- package/src/modules/trellis/TrellisTooltip.js +100 -68
- package/src/modules/trellis/pivotRows.js +20 -6
- package/src/modules/waterfall/WaterfallData.js +14 -30
- package/src/pictograms/registry.js +2 -1
- package/src/renderers/Renderer.js +41 -37
- package/src/renderers/canvas/CanvasCompositor.js +4 -1
- package/src/renderers/canvas/CanvasGraphics.js +56 -24
- package/src/ssr/RenderShim.js +129 -20
- package/src/svg/SVGContainer.js +3 -2
- package/src/types/internal.d.ts +8 -6
- package/src/unit-shapes/registry.js +3 -1
- package/src/utils/DateTime.js +5 -20
- package/src/utils/nameAsHtml.js +16 -0
- package/types/apexcharts.d.ts +70 -13
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* ApexCharts v8.
|
|
2
|
+
* ApexCharts v8.4.0
|
|
3
3
|
* (c) 2018-2026 ApexCharts
|
|
4
4
|
*/
|
|
5
|
-
"use strict";var t=Object.defineProperty,e=Object.defineProperties,i=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable,n=(e,i,s)=>i in e?t(e,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[i]=s,a=(t,e)=>{for(var i in e||(e={}))r.call(e,i)&&n(t,i,e[i]);if(s)for(var i of s(e))l.call(e,i)&&n(t,i,e[i]);return t},h=(t,s)=>e(t,i(s));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});function o(t){if(t&&t.__esModule)return t;const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t)for(const i in t)if("default"!==i){const s=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,s.get?s:{enumerable:!0,get:()=>t[i]})}return e.default=t,Object.freeze(e)}const c=o(require("apexcharts/core")),_=c.__apex_Graphics,d={fill:"fill",stroke:"stroke","stroke-width":"strokeWidth","stroke-dasharray":"strokeDash","stroke-linecap":"lineCap","fill-opacity":"fillOpacity","stroke-opacity":"strokeOpacity","fill-rule":"fillRule"},u=Symbol("never");const p={circle:0,square:1,rect:1,triangle:2,diamond:3,star:4,sparkle:5,cross:6,plus:7,line:8},f=["circle","square","triangle","diamond","star","sparkle","cross","plus","line"];function y(t){return t.boxOf!==t.d&&(t.box=function(t){const e="string"==typeof t?t.match(/[a-df-z]|[-+]?(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?/gi):null;if(!e)return null;let i=1/0,s=1/0,r=-1/0,l=-1/0,n=0,a=0,h=0,o=0,c="",_=0;const d=()=>Number(e[_++]),u=(t,e)=>{isFinite(t)&&isFinite(e)&&(i=Math.min(i,t),s=Math.min(s,e),r=Math.max(r,t),l=Math.max(l,e))},p=t=>{const e=c===c.toLowerCase();let i=n,s=a;for(let r=0;r<t;r++)i=d()+(e?n:0),s=d()+(e?a:0),u(i,s);n=i,a=s};for(;_<e.length;){if(/^[a-z]$/i.test(e[_])){c=e[_++],"Z"!==c&&"z"!==c||(n=h,a=o);continue}const t=c===c.toLowerCase();switch(c.toUpperCase()){case"M":p(1),h=n,o=a,c=t?"l":"L";break;case"L":case"T":p(1);break;case"H":n=d()+(t?n:0),u(n,a);break;case"V":a=d()+(t?a:0),u(n,a);break;case"S":case"Q":p(2);break;case"C":p(3);break;case"A":_+=5,p(1);break;default:_++}}return isFinite(i)?{x:i,y:s,width:r-i,height:l-s}:null}(t.d),t.boxOf=t.d),t.box}const m={attr:()=>m,plot:()=>m,during:()=>m,after:t=>("function"==typeof t&&t(),m),animate:()=>m,delay:()=>m,loop:()=>m,finish:()=>m,stop:()=>m},g={nodeName:"path",style:{},classList:{add(){},remove(){},toggle(){},contains:()=>!1},setAttribute(){},getAttribute:()=>null,removeAttribute(){},hasAttribute:()=>!1,addEventListener(){},removeEventListener(){},appendChild(){},getBBox:()=>({x:0,y:0,width:0,height:0})},k={__isCanvasMark:!0,node:{nodeName:"g",instance:null,style:{},classList:{add(){},remove(){},toggle(){},contains:()=>!1},setAttribute(){},getAttribute:()=>null,removeAttribute(){},addEventListener(){},removeEventListener(){},appendChild(){},getBBox:()=>({x:0,y:0,width:0,height:0})},attr:()=>k,add:()=>k,addTo:()=>k,remove:()=>k,clear:()=>k,css:()=>k,hide:()=>k,show:()=>k,removeClass:()=>k,animate:()=>m};class w{constructor(t,e){this.__isCanvasMark=!0,this._g=t,this._i=e}get node(){return g}attr(t,e){return"string"==typeof t?("fill"===t&&void 0!==e?this._g._setMarkerFill(this._i,e):"rel"===t&&void 0!==e&&(this._g._mdi[this._i]=e),void 0===e?null:this):(t&&void 0!==t.fill&&this._g._setMarkerFill(this._i,t.fill),t&&void 0!==t.rel&&(this._g._mdi[this._i]=t.rel),this)}add(t){return this}addTo(t){return this}remove(){return this}css(t){return this}fill(t){return void 0!==t&&this._g._setMarkerFill(this._i,t),this}stroke(t){return this}hide(){return this}show(){return this}removeClass(t){return this}animate(){return m}}const x={__isCanvasMark:!0,node:g,attr:()=>x,add:()=>x,addTo:()=>x,remove:()=>x,css:()=>x,animate:()=>m};class b{constructor(t){this.__isCanvasMark=!0,this._cmd=t;const e=this;this.node={nodeName:t?t.tag:"g",instance:this,style:{},classList:{add(){},remove(){},toggle(){},contains:()=>!1},setAttribute(t,i){e._applyAttr(t,i)},getAttribute:()=>null,removeAttribute(){},hasAttribute:()=>!1,addEventListener(){},removeEventListener(){},appendChild(){},getBBox:()=>e.bbox()}}_applyAttr(t,e){const i=this._cmd;if(!i)return;if("clip-path"===t){const t=function(t){if(null==t||"none"===t)return null;const e=/^url\(#gridRect(Bar|Marker)?Mask/.exec(String(t));return e?"Bar"===e[1]?"bar":"Marker"===e[1]?"marker":"grid":void 0}(e);return void(void 0!==t&&(i.clip=t))}const s=d[t];void 0!==s&&(i[s]=e)}attr(t,e){if("string"==typeof t)return void 0===e?null:(this._applyAttr(t,e),this);for(const e in t)void 0!==t[e]&&this._applyAttr(e,t[e]);return this}add(t){return this}addTo(t){return this}remove(){return this}clear(){return this}css(t){return this}fill(t){return"object"==typeof t?this.attr(t):this.attr("fill",t)}stroke(t){return"object"==typeof t?(void 0!==t.color&&this.attr("stroke",t.color),void 0!==t.width&&this.attr("stroke-width",t.width),this):this.attr("stroke",t)}plot(t){return"string"==typeof t&&this._cmd&&"path"===this._cmd.tag&&(this._cmd.d=t),this}hide(){return this}show(){return this}removeClass(t){return this}bbox(){const t=this._cmd,e=t&&"path"===t.tag?y(t):null;return e?a({},e):{x:0,y:0,width:0,height:0}}animate(){return m}}class v{constructor(t){this.w=t,this._g=new _(t),this._list=[],this._mx=new Float64Array(16),this._my=new Float64Array(16),this._msize=new Float64Array(16),this._mshape=new Int16Array(16),this._mstyle=new Int32Array(16),this._msi=new Int32Array(16),this._mdi=new Int32Array(16),this._mn=0,this._mcap=16,this._crx=new Float64Array(16),this._cry=new Float64Array(16),this._crw=new Float64Array(16),this._crh=new Float64Array(16),this._crstyle=new Int32Array(16),this._crsi=new Int32Array(16),this._crdi=new Int32Array(16),this._crn=0,this._crcap=16,this._cellRadius=0,this._styles=[],this._styleMap=new Map,this._lf=u,this._ls=u,this._lsw=u,this._ld=u,this._lfo=u,this._lso=u,this._lid=-1,this._lofFill=u,this._lofBase=-1,this._lofId=-1,this._rlf=u,this._rls=u,this._rlsw=u,this._rlfo=u,this._rlso=u,this._rlid=-1}_resetStyleCache(){this._lf=u,this._ls=u,this._lsw=u,this._ld=u,this._lfo=u,this._lso=u,this._lid=-1,this._lofFill=u,this._lofBase=-1,this._lofId=-1,this._rlf=u,this._rls=u,this._rlsw=u,this._rlfo=u,this._rlso=u,this._rlid=-1}reset(){this._list=[],this._mn=0,this._styles=[],this._styleMap=new Map,this._resetStyleCache();const t=this.w.config.series||[];let e=16;for(let i=0;i<t.length;i++){const s=t[i]&&t[i].data;Array.isArray(s)&&(e+=s.length)}e=Math.ceil(1.15*e)+16,e>this._mcap&&this._allocMarkers(e),this._crn=0,this._cellRadius=0,e>this._crcap&&this._allocRects(e)}_allocRects(t){this._crcap=t,this._crx=new Float64Array(t),this._cry=new Float64Array(t),this._crw=new Float64Array(t),this._crh=new Float64Array(t),this._crstyle=new Int32Array(t),this._crsi=new Int32Array(t),this._crdi=new Int32Array(t)}_growRects(){const t=2*this._crcap,e=new Float64Array(t);e.set(this._crx),this._crx=e;const i=new Float64Array(t);i.set(this._cry),this._cry=i;const s=new Float64Array(t);s.set(this._crw),this._crw=s;const r=new Float64Array(t);r.set(this._crh),this._crh=r;const l=new Int32Array(t);l.set(this._crstyle),this._crstyle=l;const n=new Int32Array(t);n.set(this._crsi),this._crsi=n;const a=new Int32Array(t);a.set(this._crdi),this._crdi=a,this._crcap=t}_allocMarkers(t){this._mcap=t,this._mx=new Float64Array(t),this._my=new Float64Array(t),this._msize=new Float64Array(t),this._mshape=new Int16Array(t),this._mstyle=new Int32Array(t),this._msi=new Int32Array(t),this._mdi=new Int32Array(t)}_growMarkers(){const t=2*this._mcap,e=new Float64Array(t);e.set(this._mx),this._mx=e;const i=new Float64Array(t);i.set(this._my),this._my=i;const s=new Float64Array(t);s.set(this._msize),this._msize=s;const r=new Int16Array(t);r.set(this._mshape),this._mshape=r;const l=new Int32Array(t);l.set(this._mstyle),this._mstyle=l;const n=new Int32Array(t);n.set(this._msi),this._msi=n;const a=new Int32Array(t);a.set(this._mdi),this._mdi=a,this._mcap=t}displayList(){return this._list}markerCount(){return this._mn}_internStyle(t,e,i,s,r,l){const n=`${t}|${e}|${i}|${s}|${r}|${l}`,a=this._styleMap.get(n);if(void 0!==a)return a;const h=this._styles.length;return this._styles.push({fill:t,stroke:e,strokeWidth:i,strokeDash:s,fillOpacity:r,strokeOpacity:l}),this._styleMap.set(n,h),h}_setMarkerFill(t,e){const i=this._mstyle[t];if(e===this._lofFill&&i===this._lofBase)return void(this._mstyle[t]=this._lofId);const s=this._styles[i];if(!s||s.fill===e)return this._lofFill=e,this._lofBase=i,void(this._lofId=i);const r=this._internStyle(e,s.stroke,s.strokeWidth,s.strokeDash,s.fillOpacity,s.strokeOpacity);this._mstyle[t]=r,this._lofFill=e,this._lofBase=i,this._lofId=r}markerStyle(t){return this._styles[this._mstyle[t]]}markerSeries(t){return this._msi[t]}shapeName(t){return f[t]||"circle"}drawRectCell(t,e,i,s,r={}){const l=this._rectStyleId(r);this._crn>=this._crcap&&this._growRects();const n=this._crn++;return this._crx[n]=t||0,this._cry[n]=e||0,this._crw[n]=i>0?i:0,this._crh[n]=s>0?s:0,this._crstyle[n]=l,this._crsi[n]=null==r.seriesIndex?-1:r.seriesIndex,this._crdi[n]=null==r.dataPointIndex?-1:r.dataPointIndex,r.radius&&(this._cellRadius=r.radius),x}_rectStyleId(t){const e=t.fill,i=t.stroke,s=t.strokeWidth,r=t.fillOpacity,l=t.strokeOpacity;if(e===this._rlf&&i===this._rls&&s===this._rlsw&&r===this._rlfo&&l===this._rlso)return this._rlid;const n=this._internStyle(e,i,s,0,r,l);return this._rlf=e,this._rls=i,this._rlsw=s,this._rlfo=r,this._rlso=l,this._rlid=n,n}rectCount(){return this._crn}rectStyle(t){return this._styles[this._crstyle[t]]}rectSeries(t){return this._crsi[t]}_cmd(t,e){const i={tag:t,z:e||0,fill:void 0,stroke:void 0,strokeWidth:void 0,strokeDash:void 0,lineCap:void 0,fillOpacity:void 0,strokeOpacity:void 0,fillRule:void 0,clip:null};return this._list.push(i),i}group(t){return k}drawMarker(t,e,i={}){var s;const r=this._markerStyleId(i);this._mn>=this._mcap&&this._growMarkers();const l=this._mn++;return this._mx[l]=t||0,this._my[l]="number"==typeof e?e:NaN,this._msize[l]=i.pSize||0,this._mshape[l]=null!=(s=p[i.shape||"circle"])?s:0,this._mstyle[l]=r,this._msi[l]=null==i.seriesIndex?-1:i.seriesIndex,this._mdi[l]=-1,new w(this,l)}_markerStyleId(t){const e=t.shape||"circle",i="line"===e||"plus"===e||"cross"===e,s=i?"none":t.pointFillColor,r=i?t.pointFillColor:t.pointStrokeColor,l=t.pointStrokeWidth,n=t.pointStrokeDashArray,a=t.pointFillOpacity,h=i?t.pointFillOpacity:t.pointStrokeOpacity;if(s===this._lf&&r===this._ls&&l===this._lsw&&n===this._ld&&a===this._lfo&&h===this._lso)return this._lid;const o=this._internStyle(s,r,l,n,a,h);return this._lf=s,this._ls=r,this._lsw=l,this._ld=n,this._lfo=a,this._lso=h,this._lid=o,o}renderPaths(t){const e=this._cmd("path",t.realIndex);if(e.d=t.pathTo,t.pathToNumeric&&(e.nxs=t.pathToNumeric.xs,e.nys=t.pathToNumeric.ys,e.ncloseY=t.pathToNumeric.closeY),e.stroke=t.stroke,e.strokeWidth=t.strokeWidth,e.fill=t.fill,e.lineCap=t.strokeLinecap,e.strokeDash=this._g.seriesDash(t.realIndex),e.si=t.realIndex,"number"==typeof t.j&&(e.dj=t.j),!1!==t.shouldClipToGrid){const i=this.w.globals;e.clip="bar"===t.chartType&&!i.isBarHorizontal||i.comboCharts?"bar":"grid"}return this.w.globals.animationEnded=!0,new b(e)}drawPath(t){const e=this._cmd("path",0);return e.d=t.d,e.stroke=t.stroke,e.strokeWidth=t.strokeWidth,e.fill=t.fill,e.fillOpacity=t.fillOpacity,e.strokeOpacity=t.strokeOpacity,e.lineCap=t.strokeLinecap,e.strokeDash=t.strokeDashArray,new b(e)}drawLine(t,e,i,s,r="#a8a8a8",l=0,n=1){const a=this._cmd("line",0);return a.lx1=t,a.ly1=e,a.lx2=i,a.ly2=s,a.stroke=r,a.strokeDash=l,a.strokeWidth=n,new b(a)}drawRect(t=0,e=0,i=0,s=0,r=0,l="#fefefe",n=1,a=null,h=null,o=0){const c=this._cmd("rect",0);return c.x1=t,c.y1=e,c.rw=i>0?i:0,c.rh=s>0?s:0,c.radius=r,c.fill=l,c.fillOpacity=n,null!=h&&(c.stroke=h,c.strokeWidth=null==a?1:a,c.strokeDash=o),new b(c)}drawCircle(t,e=null){const i=this._cmd("circle",0);return i.r=t<0?0:t,e&&(i.cx=e.cx,i.cy=e.cy,void 0!==e.fill&&(i.fill=e.fill),void 0!==e.stroke&&(i.stroke=e.stroke)),new b(i)}drawText(t){const e=this._cmd("text",0);return e.text=Array.isArray(t.text)?t.text.join(" "):t.text,e.tx=t.x,e.ty=t.y,e.textAnchor=t.textAnchor||"start",e.fontSize=t.fontSize,e.fontFamily=t.fontFamily,e.fill=t.foreColor,new b(e)}markerPath(t,e,i,s){return this._g.getMarkerPath(t,e,f[i]||"circle",s)}}const A=c.__apex_SVGElement,M=c.__apex_math_SVGNS,S=c.__apex_BrowserAPIs_BrowserAPIs,P=c.__apex_axes_Grid,C=2*Math.PI;class I{constructor(t){this.w=t,this._host=null,this._canvas=null,this._c2d=null,this._pad={left:0,top:0,right:0,bottom:0},this._clips=null,this._clipRect=null,this._dpr=1,this._dim=null,this._alpha=1,this._unitPaths=new Map,this._markerBatches=0}markerBatchCount(){return this._markerBatches}_seriesAlpha(t){const e=this._dim;return!e||null==e.active||e.active<0||null==t||t<0||t===e.active?1:null==e.opacity?.2:e.opacity}_plotDims(){var t;const e=Math.max(0,Math.ceil(this.w.layout.gridWidth||0)),i=Math.max(0,Math.ceil(this.w.layout.gridHeight||0)),s=(null==(t=this.w.globals.markers)?void 0:t.largestSize)||0,r=Math.ceil(s+8),l=P.maskRects(this.w),n={left:r,top:r,right:r,bottom:r},a=t=>Number.isFinite(t)?Math.ceil(t):0;return Object.values(l).forEach(t=>{n.left=Math.max(n.left,a(-t.x)),n.top=Math.max(n.top,a(-t.y)),n.right=Math.max(n.right,a(t.x+t.width-e)),n.bottom=Math.max(n.bottom,a(t.y+t.height-i))}),{gw:e,gh:i,pad:n,clips:l}}createHost(){const t=S.getWindow();this._dpr=Math.min(2,t&&t.devicePixelRatio||1);const{gw:e,gh:i,pad:s,clips:r}=this._plotDims();this._pad=s,this._clips=r;const l=e+s.left+s.right,n=i+s.top+s.bottom,a=S.createElementNS(M,"foreignObject");a.setAttribute("x",String(-s.left)),a.setAttribute("y",String(-s.top)),a.setAttribute("width",String(l)),a.setAttribute("height",String(n)),a.setAttribute("class","apexcharts-canvas-series"),a.style.overflow="visible";const h=S.createElement("canvas");return h.setAttribute("class","apexcharts-series-canvas"),h.width=Math.max(1,Math.round(l*this._dpr)),h.height=Math.max(1,Math.round(n*this._dpr)),h.style.width=l+"px",h.style.height=n+"px",h.style.pointerEvents="none",a.appendChild(h),this._canvas=h,this._c2d=h.getContext("2d"),this._host=new A(a),this._host}getHost(){return this._host}clipRect(t){const e=t&&this._clips?this._clips[t]:null;return e&&Number.isFinite(e.x)&&Number.isFinite(e.y)&&Number.isFinite(e.width)&&Number.isFinite(e.height)?e:null}_clipTo(t,e){const i=this.clipRect(e);if(i!==this._clipRect&&(this._clipRect&&t.restore(),this._clipRect=i,i)){const e=this._dpr,{left:s,top:r}=this._pad,l=Math.floor((s+i.x)*e),n=Math.floor((r+i.y)*e),a=Math.ceil((s+i.x+i.width)*e),h=Math.ceil((r+i.y+i.height)*e);t.save(),t.setTransform(1,0,0,1,0,0),t.beginPath(),t.rect(l,n,a-l,h-n),t.clip(),t.setTransform(e,0,0,e,s*e,r*e)}}clear(){this._c2d&&this._canvas&&(this._c2d.setTransform(1,0,0,1,0,0),this._c2d.clearRect(0,0,this._canvas.width,this._canvas.height))}_syncDpr(){if(!this._canvas)return;const t=S.getWindow(),e=Math.min(2,t&&t.devicePixelRatio||1);if(e===this._dpr)return;this._dpr=e;const i=parseFloat(this._canvas.style.width)||0,s=parseFloat(this._canvas.style.height)||0;this._canvas.width=Math.max(1,Math.round(i*e)),this._canvas.height=Math.max(1,Math.round(s*e))}paint(t,e,i=null){const s=this._c2d;if(!s)return;this._dim=i||null,this._syncDpr(),this.clear();const r=this._dpr,{left:l,top:n}=this._pad;if(s.setTransform(r,0,0,r,l*r,n*r),this._clipRect=null,t.length){const e=t.length>1?t.map((t,e)=>[t,e]).sort((t,e)=>t[0].z===e[0].z?t[1]-e[1]:t[0].z-e[0].z).map(t=>t[0]):t;for(let t=0;t<e.length;t++){const i=e[t];this._alpha=this._dim?this._seriesAlpha(i.si):1,this._clipTo(s,i.clip),this._paintOne(s,i)}this._clipTo(s,null)}this._paintRects(s,e),this._clipTo(s,"marker"),this._paintMarkers(s,e),this._clipTo(s,null),this._alpha=1}_paintRects(t,e){const i=e.rectCount?e.rectCount():0;if(!i)return;const s=e._crx,r=e._cry,l=e._crw,n=e._crh,a=e._crstyle,h=e._cellRadius||0,o=t,c=h>0&&"function"==typeof o.roundRect,_=!!this._dim,d=Math.max(0,this.w.layout.gridWidth||0),u=Math.max(0,this.w.layout.gridHeight||0);t.save(),t.beginPath(),t.rect(0,0,d,u),t.clip();let p=0;for(;p<i;){const d=a[p],u=e.rectStyle(p);if(!u){p++;continue}const f=u.fill,y=f&&"none"!==f&&!("string"==typeof f&&0===f.indexOf("url(")),m=u.stroke,g=null==u.strokeWidth?0:Number(u.strokeWidth),k=m&&"none"!==m&&g>0&&!("string"==typeof m&&0===m.indexOf("url("));y&&(t.fillStyle=f),k&&(t.strokeStyle=m,t.lineWidth=g,t.setLineDash([]));const w=null==u.fillOpacity?1:Number(u.fillOpacity),x=null==u.strokeOpacity?1:Number(u.strokeOpacity);let b=p;for(;b<i&&a[b]===d;){const i=l[b],a=n[b];if(i>0&&a>0){const l=_?this._seriesAlpha(e.rectSeries(b)):1;c?(t.beginPath(),o.roundRect(s[b],r[b],i,a,h),y&&(t.globalAlpha=w*l,t.fill()),k&&(t.globalAlpha=x*l,t.stroke())):(y&&(t.globalAlpha=w*l,t.fillRect(s[b],r[b],i,a)),k&&(t.globalAlpha=x*l,t.strokeRect(s[b],r[b],i,a)))}b++}p=b}t.globalAlpha=1,t.restore()}_unitPath(t,e,i){const s=e+"|"+i;let r=this._unitPaths.get(s);if(void 0===r){try{r=new Path2D(t.markerPath(0,0,e,i))}catch(t){r=null}this._unitPaths.set(s,r)}return r}_paintMarkers(t,e){this._markerBatches=0;const i=e.markerCount();if(!i)return;const s=e._mx,r=e._my,l=e._msize,n=e._mshape,a=e._mstyle,h=!!this._dim;h||(this._alpha=1);let o=0;for(;o<i;){const c=a[o],_=n[o],d=e.markerStyle(o);if(!d){o++;continue}const u=this._applyFill(t,d),p=this._applyStroke(t,d);this._markerBatches++;const f=null==d.fillOpacity?1:Number(d.fillOpacity),y=null==d.strokeOpacity?1:Number(d.strokeOpacity);if(0===_){let _=o;for(;_<i&&0===n[_]&&a[_]===c;){const i=l[_]||0,n=r[_];if(i>0&&n==n)if(t.beginPath(),t.arc(s[_],n,i,0,C),h){const i=this._seriesAlpha(e.markerSeries(_));u&&(t.globalAlpha=f*i,t.fill()),p&&(t.globalAlpha=y*i,t.stroke())}else u&&t.fill(),p&&t.stroke();_++}t.globalAlpha=1,o=_}else{const d=this._dpr,m=this._pad.left,g=this._pad.top;let k=o;for(;k<i&&n[k]===_&&a[k]===c;){const i=r[k],n=l[k];if(i==i&&n>0){const r=this._unitPath(e,_,n);if(r){t.setTransform(d,0,0,d,(m+s[k])*d,(g+i)*d);const l=h?this._seriesAlpha(e.markerSeries(k)):1;u&&(t.globalAlpha=f*l,t.fill(r)),p&&(t.globalAlpha=y*l,t.stroke(r))}}k++}t.setTransform(d,0,0,d,m*d,g*d),t.globalAlpha=1,o=k}}}_paintNumericPath(t,e){const i=e.nxs,s=e.nys,r=i.length;if(r){t.beginPath(),t.moveTo(i[0],s[0]);for(let e=1;e<r;e++)t.lineTo(i[e],s[e]);null!=e.ncloseY&&(t.lineTo(i[r-1],e.ncloseY),t.lineTo(i[0],e.ncloseY),t.closePath()),this._applyFill(t,e)&&t.fill("evenodd"===e.fillRule?"evenodd":"nonzero"),this._applyStroke(t,e)&&t.stroke(),t.globalAlpha=1}}_paintOne(t,e){switch(e.tag){case"path":if(e.nxs){this._paintNumericPath(t,e);break}if(!e.d)return;if(!e.path2d)try{e.path2d=new Path2D(e.d)}catch(t){return}this._fillStrokePath(t,e,e.path2d);break;case"rect":{const i=new Path2D;e.radius&&"function"==typeof i.roundRect?i.roundRect(e.x1,e.y1,e.rw,e.rh,e.radius):i.rect(e.x1,e.y1,e.rw,e.rh),this._fillStrokePath(t,e,i);break}case"circle":if(!(e.r>0))return;t.beginPath(),t.arc(e.cx,e.cy,e.r,0,C),this._fillStroke(t,e);break;case"line":t.beginPath(),t.moveTo(e.lx1,e.ly1),t.lineTo(e.lx2,e.ly2),this._strokeOnly(t,e);break;case"text":{if(null==e.text)return;t.save(),t.globalAlpha=this._alpha,t.fillStyle=e.fill||"#000";const i=e.fontSize||"11px";t.font=`${"number"==typeof i?i+"px":i} ${e.fontFamily||"Helvetica, Arial, sans-serif"}`,t.textAlign="middle"===e.textAnchor?"center":"end"===e.textAnchor?"right":"left",t.fillText(String(e.text),e.tx,e.ty),t.restore();break}}}_fillStrokePath(t,e,i){this._applyFill(t,e)&&t.fill(i,"evenodd"===e.fillRule?"evenodd":"nonzero"),this._applyStroke(t,e)&&t.stroke(i),t.globalAlpha=1}_fillStroke(t,e){this._applyFill(t,e)&&t.fill(),this._applyStroke(t,e)&&t.stroke(),t.globalAlpha=1}_strokeOnly(t,e){this._applyStroke(t,e)&&t.stroke(),t.globalAlpha=1}_applyFill(t,e){const i=e.fill;return!(!i||"none"===i)&&(("string"!=typeof i||0!==i.indexOf("url("))&&(t.globalAlpha=(null==e.fillOpacity?1:Number(e.fillOpacity))*this._alpha,t.fillStyle=i,!0))}_applyStroke(t,e){const i=e.stroke,s=null==e.strokeWidth?1:Number(e.strokeWidth);if(!(i&&"none"!==i&&s>0))return!1;if("string"==typeof i&&0===i.indexOf("url("))return!1;t.globalAlpha=(null==e.strokeOpacity?1:Number(e.strokeOpacity))*this._alpha,t.strokeStyle=i,t.lineWidth=s,t.lineCap=e.lineCap||"butt";const r=e.strokeDash;return r&&0!==r?t.setLineDash(Array.isArray(r)?r:[Number(r)]):t.setLineDash([]),!0}toDataURL(){return this._canvas?this._canvas.toDataURL():null}destroy(){this._host=null,this._canvas=null,this._c2d=null,this._clips=null,this._clipRect=null,this._unitPaths.clear()}}class O{constructor(t,e){this.w=t,this.ctx=e,this.kind="canvas",this._g=new v(t),this._compositor=new I(t),this._hitCtx=void 0}beginSeries(){this._g.reset()}present(){const t=this._compositor.createHost();return this._compositor.paint(this._g.displayList(),this._g),t}clear(){this._compositor.clear()}canRepaintInPlace(){const t=this._compositor.getHost();return!!(t&&t.node&&t.node.isConnected)}repaintInPlace(){this._compositor.paint(this._g.displayList(),this._g)}group(t){return this._g.group(t)}drawPath(t){return this._g.drawPath(t)}drawLine(...t){return this._g.drawLine(...t)}drawRect(...t){return this._g.drawRect(...t)}drawRectCell(t,e,i,s,r){return this._g.drawRectCell(t,e,i,s,r)}drawCircle(t,e){return this._g.drawCircle(t,e)}drawMarker(t,e,i){return this._g.drawMarker(t,e,i)}renderPaths(t){return this._g.renderPaths(t)}drawText(t){return this._g.drawText(t)}supports(t){return"solidFill"===t||"dashArray"===t}hitTest(t,e){const i=this._g,s=i.rectCount?i.rectCount():0,r=i._crx,l=i._cry,n=i._crw,a=i._crh;for(let h=s-1;h>=0;h--){const s=n[h],o=a[h];if(!(s<=0||o<=0)&&(t>=r[h]&&t<r[h]+s&&e>=l[h]&&e<l[h]+o))return{seriesIndex:i._crsi[h],dataPointIndex:i._crdi[h],x:r[h],y:l[h],width:s,height:o}}return this._hitTestMarks(t,e)}_hitTestMarks(t,e){const i=this._g.displayList();for(let s=i.length-1;s>=0;s--){const r=i[s];if("path"!==r.tag||null==r.dj||!r.d)continue;const l=!!r.fill&&"none"!==r.fill,n=!!r.stroke&&"none"!==r.stroke&&r.strokeWidth>0;if(!l&&!n)continue;const h=this._compositor.clipRect(r.clip);if(h&&(t<h.x||t>h.x+h.width||e<h.y||e>h.y+h.height))continue;const o=y(r);if(!o)continue;const c=n?5*r.strokeWidth:0;if(t<o.x-c||t>o.x+o.width+c||e<o.y-c||e>o.y+o.height+c)continue;const _=this._hitContext();if(!_)return null;if(!r.path2d)try{r.path2d=new Path2D(r.d)}catch(t){continue}const d="evenodd"===r.fillRule?"evenodd":"nonzero";let u=l&&_.isPointInPath(r.path2d,t,e,d);if(!u&&n&&(_.lineWidth=r.strokeWidth,_.lineCap=r.lineCap||"butt",u=_.isPointInStroke(r.path2d,t,e)),u)return a({seriesIndex:r.si,dataPointIndex:r.dj},o)}return null}hitTestMarker(t,e){const i=this._g,s=i.markerCount();if(!s)return null;const r=this._compositor.clipRect("marker");if(r&&(t<r.x||t>r.x+r.width||e<r.y||e>r.y+r.height))return null;for(let r=s-1;r>=0;r--){const s=i._msize[r],l=i._mx[r],n=i._my[r],a=i._mdi[r];if(!(s>0)||n!=n||a<0)continue;const h=i.markerStyle(r),o=!!(null==h?void 0:h.stroke)&&"none"!==h.stroke&&h.strokeWidth>0,c=o?h.strokeWidth/2:0,_=1.2*s+c,d=t-l,u=e-n;if(d<-_||d>_||u<-_||u>_)continue;let p;if(p=0===i._mshape[r]?d*d+u*u<=(s+c)*(s+c):this._hitsMarkerShape(r,d,u,s,h,o),p)return{seriesIndex:i._msi[r],dataPointIndex:a,x:l,y:n,size:s}}return null}_hitsMarkerShape(t,e,i,s,r,l){const n=this._hitContext();if(!n)return!1;let a;try{a=new Path2D(this._g.markerPath(0,0,this._g._mshape[t],s))}catch(t){return!1}return!(!(null==r?void 0:r.fill)||"none"===r.fill||!n.isPointInPath(a,e,i))||!!l&&(n.lineWidth=r.strokeWidth,n.lineCap="butt",n.isPointInStroke(a,e,i))}findMark(t,e){const i=this._g.displayList();for(let s=0;s<i.length;s++){const r=i[s];if("path"!==r.tag||!r.d)continue;if(r.si!==t||r.dj!==e)continue;const l=y(r);if(l)return h(a({seriesIndex:t,dataPointIndex:e},l),{d:r.d})}return null}findMarker(t,e){const i=this._g;for(let s=i.markerCount()-1;s>=0;s--){if(i._msi[s]!==t||i._mdi[s]!==e)continue;const r=i._msize[s],l=i._my[s];if(!(r>0)||l!=l)continue;const n=i._mx[s];return{seriesIndex:t,dataPointIndex:e,x:n,y:l,size:r,d:i.markerPath(n,l,i._mshape[s],r)}}return null}findCell(t,e){const i=this._g,s=i.rectCount?i.rectCount():0,r=i._crsi,l=i._crdi;for(let n=s-1;n>=0;n--)if(r[n]===t&&l[n]===e)return{seriesIndex:t,dataPointIndex:e,x:i._crx[n],y:i._cry[n],width:i._crw[n],height:i._crh[n],radius:i._cellRadius||0};return null}_hitContext(){if(void 0===this._hitCtx){const t=S.createElement("canvas");this._hitCtx=(null==t?void 0:t.getContext)&&t.getContext("2d")||null}return this._hitCtx}restyle(t){this._compositor.paint(this._g.displayList(),this._g,t||null)}toBitmap(){const t=this._compositor.toDataURL();if(!t)return null;const e=this.w.globals,i=this.w.config.chart,s=this._compositor._pad;return{dataURL:t,x:(e.translateX||0)+(i.offsetX||0)-s.left,y:(e.translateY||0)+(i.offsetY||0)-s.top,w:(this.w.layout.gridWidth||0)+s.left+s.right,h:(this.w.layout.gridHeight||0)+s.top+s.bottom}}destroy(){this._compositor.destroy(),this._hitCtx=void 0}}c.default.registerRenderer("canvas",(t,e)=>new O(t,e)),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>c.default});
|
|
5
|
+
"use strict";var t=Object.defineProperty,e=Object.defineProperties,i=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable,n=(e,i,s)=>i in e?t(e,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[i]=s,a=(t,e)=>{for(var i in e||(e={}))r.call(e,i)&&n(t,i,e[i]);if(s)for(var i of s(e))l.call(e,i)&&n(t,i,e[i]);return t},h=(t,s)=>e(t,i(s));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});function o(t){if(t&&t.__esModule)return t;const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t)for(const i in t)if("default"!==i){const s=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,s.get?s:{enumerable:!0,get:()=>t[i]})}return e.default=t,Object.freeze(e)}const c=o(require("apexcharts/core")),_=c.__apex_Graphics,d={fill:"fill",stroke:"stroke","stroke-width":"strokeWidth","stroke-dasharray":"strokeDash","stroke-linecap":"lineCap","fill-opacity":"fillOpacity","stroke-opacity":"strokeOpacity","fill-rule":"fillRule"},u=Symbol("never");const p={circle:0,square:1,rect:1,triangle:2,diamond:3,star:4,sparkle:5,cross:6,plus:7,line:8},f=["circle","square","triangle","diamond","star","sparkle","cross","plus","line"];function y(t){return t.boxOf!==t.d&&(t.box=function(t){const e="string"==typeof t?t.match(/[a-df-z]|[-+]?(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?/gi):null;if(!e)return null;let i=1/0,s=1/0,r=-1/0,l=-1/0,n=0,a=0,h=0,o=0,c="",_=0;const d=()=>Number(e[_++]),u=(t,e)=>{isFinite(t)&&isFinite(e)&&(i=Math.min(i,t),s=Math.min(s,e),r=Math.max(r,t),l=Math.max(l,e))},p=t=>{const e=c===c.toLowerCase();let i=n,s=a;for(let r=0;r<t;r++)i=d()+(e?n:0),s=d()+(e?a:0),u(i,s);n=i,a=s};for(;_<e.length;){if(/^[a-z]$/i.test(e[_])){c=e[_++],"Z"!==c&&"z"!==c||(n=h,a=o);continue}const t=c===c.toLowerCase();switch(c.toUpperCase()){case"M":p(1),h=n,o=a,c=t?"l":"L";break;case"L":case"T":p(1);break;case"H":n=d()+(t?n:0),u(n,a);break;case"V":a=d()+(t?a:0),u(n,a);break;case"S":case"Q":p(2);break;case"C":p(3);break;case"A":_+=5,p(1);break;default:_++}}return isFinite(i)?{x:i,y:s,width:r-i,height:l-s}:null}(t.d),t.boxOf=t.d),t.box}const m={attr:()=>m,plot:()=>m,during:()=>m,after:t=>("function"==typeof t&&t(),m),animate:()=>m,delay:()=>m,loop:()=>m,finish:()=>m,stop:()=>m},g={nodeName:"path",style:{},classList:{add(){},remove(){},toggle(){},contains:()=>!1},setAttribute(){},getAttribute:()=>null,removeAttribute(){},hasAttribute:()=>!1,addEventListener(){},removeEventListener(){},appendChild(){},getBBox:()=>({x:0,y:0,width:0,height:0})},k={__isCanvasMark:!0,node:{nodeName:"g",instance:null,style:{},classList:{add(){},remove(){},toggle(){},contains:()=>!1},setAttribute(){},getAttribute:()=>null,removeAttribute(){},addEventListener(){},removeEventListener(){},appendChild(){},getBBox:()=>({x:0,y:0,width:0,height:0})},attr:()=>k,add:()=>k,addTo:()=>k,remove:()=>k,clear:()=>k,css:()=>k,hide:()=>k,show:()=>k,removeClass:()=>k,animate:()=>m};class w{constructor(t,e){this.__isCanvasMark=!0,this._g=t,this._i=e}get node(){return g}attr(t,e){return"string"==typeof t?("fill"===t&&void 0!==e?this._g._setMarkerFill(this._i,e):"rel"===t&&void 0!==e&&(this._g._mdi[this._i]=e),void 0===e?null:this):(t&&void 0!==t.fill&&this._g._setMarkerFill(this._i,t.fill),t&&void 0!==t.rel&&(this._g._mdi[this._i]=t.rel),this)}add(t){return this}addTo(t){return this}remove(){return this}css(t){return this}fill(t){return void 0!==t&&this._g._setMarkerFill(this._i,t),this}stroke(t){return this}hide(){return this}show(){return this}removeClass(t){return this}animate(){return m}}const x={__isCanvasMark:!0,node:g,attr:()=>x,add:()=>x,addTo:()=>x,remove:()=>x,css:()=>x,animate:()=>m};class b{constructor(t){this.__isCanvasMark=!0,this._cmd=t;const e=this;this.node={nodeName:t?t.tag:"g",instance:this,style:{},classList:{add(){},remove(){},toggle(){},contains:()=>!1},setAttribute(t,i){e._applyAttr(t,i)},getAttribute:()=>null,removeAttribute(){},hasAttribute:()=>!1,addEventListener(){},removeEventListener(){},appendChild(){},getBBox:()=>e.bbox()}}_applyAttr(t,e){const i=this._cmd;if(!i)return;if("clip-path"===t){const t=function(t){if(null==t||"none"===t)return null;const e=/^url\(#gridRect(Bar|Marker)?Mask/.exec(String(t));return e?"Bar"===e[1]?"bar":"Marker"===e[1]?"marker":"grid":void 0}(e);return void(void 0!==t&&(i.clip=t))}if("index"===t)return void(i.si=i.z=Number(e));const s=d[t];void 0!==s&&(i[s]=e)}attr(t,e){if("string"==typeof t)return void 0===e?null:(this._applyAttr(t,e),this);for(const e in t)void 0!==t[e]&&this._applyAttr(e,t[e]);return this}add(t){return this}addTo(t){return this}remove(){return this}clear(){return this}css(t){return this}fill(t){return"object"==typeof t?this.attr(t):this.attr("fill",t)}stroke(t){return"object"==typeof t?(void 0!==t.color&&this.attr("stroke",t.color),void 0!==t.width&&this.attr("stroke-width",t.width),this):this.attr("stroke",t)}plot(t){return"string"==typeof t&&this._cmd&&"path"===this._cmd.tag&&(this._cmd.d=t),this}hide(){return this}show(){return this}removeClass(t){return this}bbox(){const t=this._cmd,e=t&&"path"===t.tag?y(t):null;return e?a({},e):{x:0,y:0,width:0,height:0}}animate(){return m}}class v{constructor(t){this.w=t,this._g=new _(t),this._list=[],this._mx=new Float64Array(16),this._my=new Float64Array(16),this._msize=new Float64Array(16),this._mshape=new Int16Array(16),this._mstyle=new Int32Array(16),this._msi=new Int32Array(16),this._mdi=new Int32Array(16),this._mn=0,this._mcap=16,this._crx=new Float64Array(16),this._cry=new Float64Array(16),this._crw=new Float64Array(16),this._crh=new Float64Array(16),this._crstyle=new Int32Array(16),this._crsi=new Int32Array(16),this._crdi=new Int32Array(16),this._crn=0,this._crcap=16,this._cellRadius=0,this._styles=[],this._styleMap=new Map,this._lf=u,this._ls=u,this._lsw=u,this._ld=u,this._lfo=u,this._lso=u,this._lid=-1,this._lofFill=u,this._lofBase=-1,this._lofId=-1,this._rlf=u,this._rls=u,this._rlsw=u,this._rlfo=u,this._rlso=u,this._rlid=-1}_resetStyleCache(){this._lf=u,this._ls=u,this._lsw=u,this._ld=u,this._lfo=u,this._lso=u,this._lid=-1,this._lofFill=u,this._lofBase=-1,this._lofId=-1,this._rlf=u,this._rls=u,this._rlsw=u,this._rlfo=u,this._rlso=u,this._rlid=-1}reset(){this._list=[],this._mn=0,this._styles=[],this._styleMap=new Map,this._resetStyleCache();const t=this.w.config,e=t.series||[],i=t.markers&&t.markers.size;let s=16,r=16;for(let l=0;l<e.length;l++){const n=e[l],a=n&&Array.isArray(n.data)?n.data.length:0,h=n&&n.type||t.chart&&t.chart.type;"heatmap"===h?r+=a:("scatter"===h||"bubble"===h||(Array.isArray(i)?i[l]:i)>0)&&(s+=a)}s=Math.ceil(1.15*s)+16,s>this._mcap&&this._allocMarkers(s),this._crn=0,this._cellRadius=0,r=Math.ceil(1.15*r)+16,r>this._crcap&&this._allocRects(r)}_allocRects(t){this._crcap=t,this._crx=new Float64Array(t),this._cry=new Float64Array(t),this._crw=new Float64Array(t),this._crh=new Float64Array(t),this._crstyle=new Int32Array(t),this._crsi=new Int32Array(t),this._crdi=new Int32Array(t)}_growRects(){const t=2*this._crcap,e=new Float64Array(t);e.set(this._crx),this._crx=e;const i=new Float64Array(t);i.set(this._cry),this._cry=i;const s=new Float64Array(t);s.set(this._crw),this._crw=s;const r=new Float64Array(t);r.set(this._crh),this._crh=r;const l=new Int32Array(t);l.set(this._crstyle),this._crstyle=l;const n=new Int32Array(t);n.set(this._crsi),this._crsi=n;const a=new Int32Array(t);a.set(this._crdi),this._crdi=a,this._crcap=t}_allocMarkers(t){this._mcap=t,this._mx=new Float64Array(t),this._my=new Float64Array(t),this._msize=new Float64Array(t),this._mshape=new Int16Array(t),this._mstyle=new Int32Array(t),this._msi=new Int32Array(t),this._mdi=new Int32Array(t)}_growMarkers(){const t=2*this._mcap,e=new Float64Array(t);e.set(this._mx),this._mx=e;const i=new Float64Array(t);i.set(this._my),this._my=i;const s=new Float64Array(t);s.set(this._msize),this._msize=s;const r=new Int16Array(t);r.set(this._mshape),this._mshape=r;const l=new Int32Array(t);l.set(this._mstyle),this._mstyle=l;const n=new Int32Array(t);n.set(this._msi),this._msi=n;const a=new Int32Array(t);a.set(this._mdi),this._mdi=a,this._mcap=t}displayList(){return this._list}markerCount(){return this._mn}_internStyle(t,e,i,s,r,l){const n=`${t}|${e}|${i}|${s}|${r}|${l}`,a=this._styleMap.get(n);if(void 0!==a)return a;const h=this._styles.length;return this._styles.push({fill:t,stroke:e,strokeWidth:i,strokeDash:s,fillOpacity:r,strokeOpacity:l}),this._styleMap.set(n,h),h}_setMarkerFill(t,e){const i=this._mstyle[t];if(e===this._lofFill&&i===this._lofBase)return void(this._mstyle[t]=this._lofId);const s=this._styles[i];if(!s||s.fill===e)return this._lofFill=e,this._lofBase=i,void(this._lofId=i);const r=this._internStyle(e,s.stroke,s.strokeWidth,s.strokeDash,s.fillOpacity,s.strokeOpacity);this._mstyle[t]=r,this._lofFill=e,this._lofBase=i,this._lofId=r}markerStyle(t){return this._styles[this._mstyle[t]]}markerSeries(t){return this._msi[t]}drawRectCell(t,e,i,s,r={}){const l=this._rectStyleId(r);this._crn>=this._crcap&&this._growRects();const n=this._crn++;return this._crx[n]=t||0,this._cry[n]=e||0,this._crw[n]=i>0?i:0,this._crh[n]=s>0?s:0,this._crstyle[n]=l,this._crsi[n]=null==r.seriesIndex?-1:r.seriesIndex,this._crdi[n]=null==r.dataPointIndex?-1:r.dataPointIndex,r.radius&&(this._cellRadius=r.radius),x}_rectStyleId(t){const e=t.fill,i=t.stroke,s=t.strokeWidth,r=t.fillOpacity,l=t.strokeOpacity;if(e===this._rlf&&i===this._rls&&s===this._rlsw&&r===this._rlfo&&l===this._rlso)return this._rlid;const n=this._internStyle(e,i,s,0,r,l);return this._rlf=e,this._rls=i,this._rlsw=s,this._rlfo=r,this._rlso=l,this._rlid=n,n}rectCount(){return this._crn}rectStyle(t){return this._styles[this._crstyle[t]]}rectSeries(t){return this._crsi[t]}_cmd(t,e){const i={tag:t,z:e||0,fill:void 0,stroke:void 0,strokeWidth:void 0,strokeDash:void 0,lineCap:void 0,fillOpacity:void 0,strokeOpacity:void 0,fillRule:void 0,clip:null};return this._list.push(i),i}group(t){return k}drawMarker(t,e,i={}){var s;const r=this._markerStyleId(i);this._mn>=this._mcap&&this._growMarkers();const l=this._mn++;return this._mx[l]=t||0,this._my[l]="number"==typeof e?e:NaN,this._msize[l]=i.pSize||0,this._mshape[l]=null!=(s=p[i.shape||"circle"])?s:0,this._mstyle[l]=r,this._msi[l]=null==i.seriesIndex?-1:i.seriesIndex,this._mdi[l]=-1,new w(this,l)}_markerStyleId(t){const e=t.shape||"circle",i="line"===e||"plus"===e||"cross"===e,s=i?"none":t.pointFillColor,r=i?t.pointFillColor:t.pointStrokeColor,l=t.pointStrokeWidth,n=t.pointStrokeDashArray,a=t.pointFillOpacity,h=i?t.pointFillOpacity:t.pointStrokeOpacity;if(s===this._lf&&r===this._ls&&l===this._lsw&&n===this._ld&&a===this._lfo&&h===this._lso)return this._lid;const o=this._internStyle(s,r,l,n,a,h);return this._lf=s,this._ls=r,this._lsw=l,this._ld=n,this._lfo=a,this._lso=h,this._lid=o,o}renderPaths(t){const e=this._cmd("path",t.realIndex);if(e.d=t.pathTo,t.pathToNumeric&&(e.nxs=t.pathToNumeric.xs,e.nys=t.pathToNumeric.ys,e.ncloseY=t.pathToNumeric.closeY),e.stroke=t.stroke,e.strokeWidth=t.strokeWidth,e.fill=t.fill,e.lineCap=t.strokeLinecap||this.w.config.stroke.lineCap,e.strokeDash=this._g.seriesDash(t.realIndex),e.si=t.realIndex,"number"==typeof t.j&&(e.dj=t.j),!1!==t.shouldClipToGrid){const i=this.w.globals;e.clip="bar"===t.chartType&&!i.isBarHorizontal||i.comboCharts?"bar":"grid"}return this.w.globals.animationEnded=!0,new b(e)}drawPath(t){const e=this._cmd("path",0);return e.d=t.d,e.stroke=t.stroke,e.strokeWidth=t.strokeWidth,e.fill=t.fill,e.fillOpacity=t.fillOpacity,e.strokeOpacity=t.strokeOpacity,e.lineCap=t.strokeLinecap||this.w.config.stroke.lineCap,e.strokeDash=t.strokeDashArray,new b(e)}drawLine(t,e,i,s,r="#a8a8a8",l=0,n=1,a="butt"){const h=this._cmd("line",0);return h.lineCap=a,h.lx1=t,h.ly1=e,h.lx2=i,h.ly2=s,h.stroke=r,h.strokeDash=l,h.strokeWidth=n,new b(h)}drawRect(t=0,e=0,i=0,s=0,r=0,l="#fefefe",n=1,a=null,h=null,o=0){const c=this._cmd("rect",0);return c.x1=t,c.y1=e,c.rw=i>0?i:0,c.rh=s>0?s:0,c.radius=r,c.fill=l,c.fillOpacity=n,null!=h&&(c.stroke=h,c.strokeWidth=null==a?1:a,c.strokeDash=o),new b(c)}drawCircle(t,e=null){const i=this._cmd("circle",0);i.r=t<0?0:t;const s=new b(i);return e&&(i.cx=e.cx,i.cy=e.cy,s.attr(e)),s}drawText(t){const e=this._cmd("text",0);e.text=Array.isArray(t.text)?t.text.join(" "):t.text,e.tx=t.x,e.ty=t.y,e.textAnchor=t.textAnchor||"start";const i=this.w.config.chart;return e.fontSize=t.fontSize,e.fontFamily=t.fontFamily||i.fontFamily,e.fontWeight=t.fontWeight,e.fill=t.foreColor||i.foreColor,new b(e)}markerPath(t,e,i,s){return this._g.getMarkerPath(t,e,f[i]||"circle",s)}}const A=c.__apex_SVGElement,M=c.__apex_math_SVGNS,C=c.__apex_BrowserAPIs_BrowserAPIs,S=c.__apex_axes_Grid,P=2*Math.PI;class I{constructor(t){this.w=t,this._host=null,this._canvas=null,this._c2d=null,this._pad={left:0,top:0,right:0,bottom:0},this._clips=null,this._clipRect=null,this._dpr=1,this._dim=null,this._alpha=1,this._unitPaths=new Map,this._markerBatches=0}markerBatchCount(){return this._markerBatches}_seriesAlpha(t){const e=this._dim;return!e||null==e.active||e.active<0||null==t||t<0||t===e.active?1:null==e.opacity?.2:e.opacity}_plotDims(){var t;const e=Math.max(0,Math.ceil(this.w.layout.gridWidth||0)),i=Math.max(0,Math.ceil(this.w.layout.gridHeight||0)),s=(null==(t=this.w.globals.markers)?void 0:t.largestSize)||0,r=Math.ceil(s+8),l=S.maskRects(this.w),n={left:r,top:r,right:r,bottom:r},a=t=>Number.isFinite(t)?Math.ceil(t):0;return Object.values(l).forEach(t=>{n.left=Math.max(n.left,a(-t.x)),n.top=Math.max(n.top,a(-t.y)),n.right=Math.max(n.right,a(t.x+t.width-e)),n.bottom=Math.max(n.bottom,a(t.y+t.height-i))}),{gw:e,gh:i,pad:n,clips:l}}createHost(){const t=C.getWindow();this._dpr=Math.min(2,t&&t.devicePixelRatio||1);const{gw:e,gh:i,pad:s,clips:r}=this._plotDims();this._pad=s,this._clips=r;const l=e+s.left+s.right,n=i+s.top+s.bottom,a=C.createElementNS(M,"foreignObject");a.setAttribute("x",String(-s.left)),a.setAttribute("y",String(-s.top)),a.setAttribute("width",String(l)),a.setAttribute("height",String(n)),a.setAttribute("class","apexcharts-canvas-series"),a.style.overflow="visible";const h=C.createElement("canvas");return h.setAttribute("class","apexcharts-series-canvas"),h.width=Math.max(1,Math.round(l*this._dpr)),h.height=Math.max(1,Math.round(n*this._dpr)),h.style.width=l+"px",h.style.height=n+"px",h.style.pointerEvents="none",a.appendChild(h),this._canvas=h,this._c2d=h.getContext("2d"),this._host=new A(a),this._host}getHost(){return this._host}clipRect(t){const e=t&&this._clips?this._clips[t]:null;return e&&Number.isFinite(e.x)&&Number.isFinite(e.y)&&Number.isFinite(e.width)&&Number.isFinite(e.height)?e:null}_clipTo(t,e){const i=this.clipRect(e);if(i!==this._clipRect&&(this._clipRect&&t.restore(),this._clipRect=i,i)){const e=this._dpr,{left:s,top:r}=this._pad,l=Math.floor((s+i.x)*e),n=Math.floor((r+i.y)*e),a=Math.ceil((s+i.x+i.width)*e),h=Math.ceil((r+i.y+i.height)*e);t.save(),t.setTransform(1,0,0,1,0,0),t.beginPath(),t.rect(l,n,a-l,h-n),t.clip(),t.setTransform(e,0,0,e,s*e,r*e)}}clear(){this._c2d&&this._canvas&&(this._c2d.setTransform(1,0,0,1,0,0),this._c2d.clearRect(0,0,this._canvas.width,this._canvas.height))}_syncDpr(){if(!this._canvas)return;const t=C.getWindow(),e=Math.min(2,t&&t.devicePixelRatio||1);if(e===this._dpr)return;this._dpr=e;const i=parseFloat(this._canvas.style.width)||0,s=parseFloat(this._canvas.style.height)||0;this._canvas.width=Math.max(1,Math.round(i*e)),this._canvas.height=Math.max(1,Math.round(s*e))}paint(t,e,i=null){const s=this._c2d;if(!s)return;this._dim=i||null,this._syncDpr(),this.clear();const r=this._dpr,{left:l,top:n}=this._pad;if(s.setTransform(r,0,0,r,l*r,n*r),this._clipRect=null,t.length){const e=t.length>1?t.map((t,e)=>[t,e]).sort((t,e)=>t[0].z===e[0].z?t[1]-e[1]:t[0].z-e[0].z).map(t=>t[0]):t;for(let t=0;t<e.length;t++){const i=e[t];this._alpha=this._dim?this._seriesAlpha(i.si):1,this._clipTo(s,i.clip),this._paintOne(s,i)}this._clipTo(s,null)}this._paintRects(s,e),this._clipTo(s,"marker"),this._paintMarkers(s,e),this._clipTo(s,null),this._alpha=1}_paintRects(t,e){const i=e.rectCount?e.rectCount():0;if(!i)return;const s=e._crx,r=e._cry,l=e._crw,n=e._crh,a=e._crstyle,h=e._cellRadius||0,o=t,c=h>0&&"function"==typeof o.roundRect,_=!!this._dim,d=Math.max(0,this.w.layout.gridWidth||0),u=Math.max(0,this.w.layout.gridHeight||0);t.save(),t.beginPath(),t.rect(0,0,d,u),t.clip();let p=0;for(;p<i;){const d=a[p],u=e.rectStyle(p);if(!u){p++;continue}const f=u.fill,y=f&&"none"!==f&&!("string"==typeof f&&0===f.indexOf("url(")),m=u.stroke,g=null==u.strokeWidth?0:Number(u.strokeWidth),k=m&&"none"!==m&&g>0&&!("string"==typeof m&&0===m.indexOf("url("));y&&(t.fillStyle=f),k&&(t.strokeStyle=m,t.lineWidth=g,t.setLineDash([]));const w=null==u.fillOpacity?1:Number(u.fillOpacity),x=null==u.strokeOpacity?1:Number(u.strokeOpacity);let b=p;for(;b<i&&a[b]===d;){const i=l[b],a=n[b];if(i>0&&a>0){const l=_?this._seriesAlpha(e.rectSeries(b)):1;c?(t.beginPath(),o.roundRect(s[b],r[b],i,a,h),y&&(t.globalAlpha=w*l,t.fill()),k&&(t.globalAlpha=x*l,t.stroke())):(y&&(t.globalAlpha=w*l,t.fillRect(s[b],r[b],i,a)),k&&(t.globalAlpha=x*l,t.strokeRect(s[b],r[b],i,a)))}b++}p=b}t.globalAlpha=1,t.restore()}_unitPath(t,e,i){const s=e+"|"+i;let r=this._unitPaths.get(s);if(void 0===r){try{r=new Path2D(t.markerPath(0,0,e,i))}catch(t){r=null}this._unitPaths.set(s,r)}return r}_paintMarkers(t,e){this._markerBatches=0;const i=e.markerCount();if(!i)return;const s=e._mx,r=e._my,l=e._msize,n=e._mshape,a=e._mstyle,h=!!this._dim;h||(this._alpha=1);let o=0;for(;o<i;){const c=a[o],_=n[o],d=e.markerStyle(o);if(!d){o++;continue}const u=this._applyFill(t,d),p=this._applyStroke(t,d);this._markerBatches++;const f=null==d.fillOpacity?1:Number(d.fillOpacity),y=null==d.strokeOpacity?1:Number(d.strokeOpacity);if(0===_){let _=o;for(;_<i&&0===n[_]&&a[_]===c;){const i=l[_]||0,n=r[_];if(i>0&&n==n)if(t.beginPath(),t.arc(s[_],n,i,0,P),h){const i=this._seriesAlpha(e.markerSeries(_));u&&(t.globalAlpha=f*i,t.fill()),p&&(t.globalAlpha=y*i,t.stroke())}else u&&t.fill(),p&&t.stroke();_++}t.globalAlpha=1,o=_}else{const d=this._dpr,m=this._pad.left,g=this._pad.top;let k=o;for(;k<i&&n[k]===_&&a[k]===c;){const i=r[k],n=l[k];if(i==i&&n>0){const r=this._unitPath(e,_,n);if(r){t.setTransform(d,0,0,d,(m+s[k])*d,(g+i)*d);const l=h?this._seriesAlpha(e.markerSeries(k)):1;u&&(t.globalAlpha=f*l,t.fill(r)),p&&(t.globalAlpha=y*l,t.stroke(r))}}k++}t.setTransform(d,0,0,d,m*d,g*d),t.globalAlpha=1,o=k}}}_paintNumericPath(t,e){const i=e.nxs,s=e.nys,r=i.length;if(r){t.beginPath(),t.moveTo(i[0],s[0]);for(let e=1;e<r;e++)t.lineTo(i[e],s[e]);null!=e.ncloseY&&(t.lineTo(i[r-1],e.ncloseY),t.lineTo(i[0],e.ncloseY),t.closePath()),this._applyFill(t,e)&&t.fill("evenodd"===e.fillRule?"evenodd":"nonzero"),this._applyStroke(t,e)&&t.stroke(),t.globalAlpha=1}}_paintOne(t,e){switch(e.tag){case"path":if(e.nxs){this._paintNumericPath(t,e);break}if(!e.d)return;if(!e.path2d)try{e.path2d=new Path2D(e.d)}catch(t){return}this._fillStrokePath(t,e,e.path2d);break;case"rect":{const i=new Path2D;e.radius&&"function"==typeof i.roundRect?i.roundRect(e.x1,e.y1,e.rw,e.rh,e.radius):i.rect(e.x1,e.y1,e.rw,e.rh),this._fillStrokePath(t,e,i);break}case"circle":if(!(e.r>0))return;t.beginPath(),t.arc(e.cx,e.cy,e.r,0,P),this._fillStroke(t,e);break;case"line":t.beginPath(),t.moveTo(e.lx1,e.ly1),t.lineTo(e.lx2,e.ly2),this._strokeOnly(t,e);break;case"text":{if(null==e.text)return;t.save(),t.globalAlpha=this._alpha,t.fillStyle=e.fill||"#000";const i=e.fontSize||"11px",s=e.fontWeight;t.font=`${s&&"regular"!==s?s+" ":""}${"number"==typeof i?i+"px":i} ${e.fontFamily||"Helvetica, Arial, sans-serif"}`,t.textAlign="middle"===e.textAnchor?"center":"end"===e.textAnchor?"right":"left",t.fillText(String(e.text),e.tx,e.ty),t.restore();break}}}_fillStrokePath(t,e,i){this._applyFill(t,e)&&t.fill(i,"evenodd"===e.fillRule?"evenodd":"nonzero"),this._applyStroke(t,e)&&t.stroke(i),t.globalAlpha=1}_fillStroke(t,e){this._applyFill(t,e)&&t.fill(),this._applyStroke(t,e)&&t.stroke(),t.globalAlpha=1}_strokeOnly(t,e){this._applyStroke(t,e)&&t.stroke(),t.globalAlpha=1}_applyFill(t,e){const i=e.fill;return!(!i||"none"===i)&&(("string"!=typeof i||0!==i.indexOf("url("))&&(t.globalAlpha=(null==e.fillOpacity?1:Number(e.fillOpacity))*this._alpha,t.fillStyle=i,!0))}_applyStroke(t,e){const i=e.stroke,s=null==e.strokeWidth?1:Number(e.strokeWidth);if(!(i&&"none"!==i&&s>0))return!1;if("string"==typeof i&&0===i.indexOf("url("))return!1;t.globalAlpha=(null==e.strokeOpacity?1:Number(e.strokeOpacity))*this._alpha,t.strokeStyle=i,t.lineWidth=s,t.lineCap=e.lineCap||"butt";const r=e.strokeDash;return r&&0!==r?t.setLineDash(Array.isArray(r)?r:[Number(r)]):t.setLineDash([]),!0}toDataURL(){return this._canvas?this._canvas.toDataURL():null}destroy(){this._host=null,this._canvas=null,this._c2d=null,this._clips=null,this._clipRect=null,this._unitPaths.clear()}}class O{constructor(t,e){this.w=t,this.ctx=e,this.kind="canvas",this._g=new v(t),this._compositor=new I(t),this._hitCtx=void 0}beginSeries(){this._g.reset()}present(){const t=this._compositor.createHost();return this._compositor.paint(this._g.displayList(),this._g),t}clear(){this._compositor.clear()}canRepaintInPlace(){const t=this._compositor.getHost();return!!(t&&t.node&&t.node.isConnected)}repaintInPlace(){this._compositor.paint(this._g.displayList(),this._g)}group(t){return this._g.group(t)}drawPath(t){return this._g.drawPath(t)}drawLine(...t){return this._g.drawLine(...t)}drawRect(...t){return this._g.drawRect(...t)}drawRectCell(t,e,i,s,r){return this._g.drawRectCell(t,e,i,s,r)}drawCircle(t,e){return this._g.drawCircle(t,e)}drawMarker(t,e,i){return this._g.drawMarker(t,e,i)}renderPaths(t){return this._g.renderPaths(t)}drawText(t){return this._g.drawText(t)}supports(t){return"solidFill"===t||"dashArray"===t}hitTest(t,e){const i=this._g,s=i.rectCount?i.rectCount():0,r=i._crx,l=i._cry,n=i._crw,a=i._crh;for(let h=s-1;h>=0;h--){const s=n[h],o=a[h];if(!(s<=0||o<=0)&&(t>=r[h]&&t<r[h]+s&&e>=l[h]&&e<l[h]+o))return{seriesIndex:i._crsi[h],dataPointIndex:i._crdi[h],x:r[h],y:l[h],width:s,height:o}}return this._hitTestMarks(t,e)}_hitTestMarks(t,e){const i=this._g.displayList();for(let s=i.length-1;s>=0;s--){const r=i[s];if("path"!==r.tag||null==r.dj||!r.d)continue;const l=!!r.fill&&"none"!==r.fill,n=!!r.stroke&&"none"!==r.stroke&&r.strokeWidth>0;if(!l&&!n)continue;const h=this._compositor.clipRect(r.clip);if(h&&(t<h.x||t>h.x+h.width||e<h.y||e>h.y+h.height))continue;const o=y(r);if(!o)continue;const c=n?5*r.strokeWidth:0;if(t<o.x-c||t>o.x+o.width+c||e<o.y-c||e>o.y+o.height+c)continue;const _=this._hitContext();if(!_)return null;if(!r.path2d)try{r.path2d=new Path2D(r.d)}catch(t){continue}const d="evenodd"===r.fillRule?"evenodd":"nonzero";let u=l&&_.isPointInPath(r.path2d,t,e,d);if(!u&&n&&(_.lineWidth=r.strokeWidth,_.lineCap=r.lineCap||"butt",u=_.isPointInStroke(r.path2d,t,e)),u)return a({seriesIndex:r.si,dataPointIndex:r.dj},o)}return null}hitTestMarker(t,e){const i=this._g,s=i.markerCount();if(!s)return null;const r=this._compositor.clipRect("marker");if(r&&(t<r.x||t>r.x+r.width||e<r.y||e>r.y+r.height))return null;for(let r=s-1;r>=0;r--){const s=i._msize[r],l=i._mx[r],n=i._my[r],a=i._mdi[r];if(!(s>0)||n!=n||a<0)continue;const h=i.markerStyle(r),o=!!(null==h?void 0:h.stroke)&&"none"!==h.stroke&&h.strokeWidth>0,c=o?h.strokeWidth/2:0,_=1.2*s+c,d=t-l,u=e-n;if(d<-_||d>_||u<-_||u>_)continue;let p;if(p=0===i._mshape[r]?d*d+u*u<=(s+c)*(s+c):this._hitsMarkerShape(r,d,u,s,h,o),p)return{seriesIndex:i._msi[r],dataPointIndex:a,x:l,y:n,size:s}}return null}_hitsMarkerShape(t,e,i,s,r,l){const n=this._hitContext();if(!n)return!1;let a;try{a=new Path2D(this._g.markerPath(0,0,this._g._mshape[t],s))}catch(t){return!1}return!(!(null==r?void 0:r.fill)||"none"===r.fill||!n.isPointInPath(a,e,i))||!!l&&(n.lineWidth=r.strokeWidth,n.lineCap="butt",n.isPointInStroke(a,e,i))}findMark(t,e){const i=this._g.displayList();for(let s=0;s<i.length;s++){const r=i[s];if("path"!==r.tag||!r.d)continue;if(r.si!==t||r.dj!==e)continue;const l=y(r);if(l)return h(a({seriesIndex:t,dataPointIndex:e},l),{d:r.d})}return null}findMarker(t,e){const i=this._g;for(let s=i.markerCount()-1;s>=0;s--){if(i._msi[s]!==t||i._mdi[s]!==e)continue;const r=i._msize[s],l=i._my[s];if(!(r>0)||l!=l)continue;const n=i._mx[s];return{seriesIndex:t,dataPointIndex:e,x:n,y:l,size:r,d:i.markerPath(n,l,i._mshape[s],r)}}return null}findCell(t,e){const i=this._g,s=i.rectCount?i.rectCount():0,r=i._crsi,l=i._crdi;for(let n=s-1;n>=0;n--)if(r[n]===t&&l[n]===e)return{seriesIndex:t,dataPointIndex:e,x:i._crx[n],y:i._cry[n],width:i._crw[n],height:i._crh[n],radius:i._cellRadius||0};return null}_hitContext(){if(void 0===this._hitCtx){const t=C.createElement("canvas");this._hitCtx=(null==t?void 0:t.getContext)&&t.getContext("2d")||null}return this._hitCtx}restyle(t){this._compositor.paint(this._g.displayList(),this._g,t||null)}toBitmap(){const t=this._compositor.toDataURL();if(!t)return null;const e=this.w.globals,i=this.w.config.chart,s=this._compositor._pad;return{dataURL:t,x:(e.translateX||0)+(i.offsetX||0)-s.left,y:(e.translateY||0)+(i.offsetY||0)-s.top,w:(this.w.layout.gridWidth||0)+s.left+s.right,h:(this.w.layout.gridHeight||0)+s.top+s.bottom}}destroy(){this._compositor.destroy(),this._hitCtx=void 0}}c.default.registerRenderer("canvas",(t,e)=>new O(t,e)),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>c.default});
|
|
@@ -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.4.0
|
|
22
22
|
* (c) 2018-2026 ApexCharts
|
|
23
23
|
*/
|
|
24
24
|
import * as _core from "apexcharts/core";
|
|
@@ -391,6 +391,10 @@ class CanvasMark {
|
|
|
391
391
|
if (clip !== void 0) cmd.clip = clip;
|
|
392
392
|
return;
|
|
393
393
|
}
|
|
394
|
+
if (k === "index") {
|
|
395
|
+
cmd.si = cmd.z = Number(v);
|
|
396
|
+
return;
|
|
397
|
+
}
|
|
394
398
|
const sk = STYLE_KEYS[k];
|
|
395
399
|
if (sk !== void 0) cmd[sk] = v;
|
|
396
400
|
}
|
|
@@ -542,17 +546,26 @@ class CanvasGraphics {
|
|
|
542
546
|
this._styles = [];
|
|
543
547
|
this._styleMap = /* @__PURE__ */ new Map();
|
|
544
548
|
this._resetStyleCache();
|
|
545
|
-
const
|
|
546
|
-
|
|
549
|
+
const c = this.w.config;
|
|
550
|
+
const series = c.series || [];
|
|
551
|
+
const ms = c.markers && c.markers.size;
|
|
552
|
+
let mcap = 16;
|
|
553
|
+
let rcap = 16;
|
|
547
554
|
for (let i = 0; i < series.length; i++) {
|
|
548
|
-
const
|
|
549
|
-
|
|
555
|
+
const s = series[i];
|
|
556
|
+
const n = s && Array.isArray(s.data) ? s.data.length : 0;
|
|
557
|
+
const t = s && s.type || c.chart && c.chart.type;
|
|
558
|
+
if (t === "heatmap") rcap += n;
|
|
559
|
+
else if (t === "scatter" || t === "bubble" || (Array.isArray(ms) ? ms[i] : ms) > 0) {
|
|
560
|
+
mcap += n;
|
|
561
|
+
}
|
|
550
562
|
}
|
|
551
|
-
|
|
552
|
-
if (
|
|
563
|
+
mcap = Math.ceil(mcap * 1.15) + 16;
|
|
564
|
+
if (mcap > this._mcap) this._allocMarkers(mcap);
|
|
553
565
|
this._crn = 0;
|
|
554
566
|
this._cellRadius = 0;
|
|
555
|
-
|
|
567
|
+
rcap = Math.ceil(rcap * 1.15) + 16;
|
|
568
|
+
if (rcap > this._crcap) this._allocRects(rcap);
|
|
556
569
|
}
|
|
557
570
|
/** @param {number} cap */
|
|
558
571
|
_allocRects(cap) {
|
|
@@ -699,10 +712,6 @@ class CanvasGraphics {
|
|
|
699
712
|
markerSeries(i) {
|
|
700
713
|
return this._msi[i];
|
|
701
714
|
}
|
|
702
|
-
/** @param {number} id @returns {string} */
|
|
703
|
-
shapeName(id) {
|
|
704
|
-
return SHAPE_NAME[id] || "circle";
|
|
705
|
-
}
|
|
706
715
|
// ── columnar rect cell (heatmap): parallel unboxed arrays, no per-cell object ──
|
|
707
716
|
/**
|
|
708
717
|
* Record a heatmap-style cell (a filled, optionally stroked rect). Geometry
|
|
@@ -858,7 +867,7 @@ class CanvasGraphics {
|
|
|
858
867
|
cmd.stroke = opts.stroke;
|
|
859
868
|
cmd.strokeWidth = opts.strokeWidth;
|
|
860
869
|
cmd.fill = opts.fill;
|
|
861
|
-
cmd.lineCap = opts.strokeLinecap;
|
|
870
|
+
cmd.lineCap = opts.strokeLinecap || this.w.config.stroke.lineCap;
|
|
862
871
|
cmd.strokeDash = this._g.seriesDash(opts.realIndex);
|
|
863
872
|
cmd.si = opts.realIndex;
|
|
864
873
|
if (typeof opts.j === "number") cmd.dj = opts.j;
|
|
@@ -878,7 +887,7 @@ class CanvasGraphics {
|
|
|
878
887
|
cmd.fill = opts.fill;
|
|
879
888
|
cmd.fillOpacity = opts.fillOpacity;
|
|
880
889
|
cmd.strokeOpacity = opts.strokeOpacity;
|
|
881
|
-
cmd.lineCap = opts.strokeLinecap;
|
|
890
|
+
cmd.lineCap = opts.strokeLinecap || this.w.config.stroke.lineCap;
|
|
882
891
|
cmd.strokeDash = opts.strokeDashArray;
|
|
883
892
|
return new CanvasMark(cmd);
|
|
884
893
|
}
|
|
@@ -886,9 +895,11 @@ class CanvasGraphics {
|
|
|
886
895
|
/**
|
|
887
896
|
* @param {number} x1 @param {number} y1 @param {number} x2 @param {number} y2
|
|
888
897
|
* @param {string} lineColor @param {any} dashArray @param {number} strokeWidth
|
|
898
|
+
* @param {string} [lineCap]
|
|
889
899
|
*/
|
|
890
|
-
drawLine(x1, y1, x2, y2, lineColor = "#a8a8a8", dashArray = 0, strokeWidth = 1) {
|
|
900
|
+
drawLine(x1, y1, x2, y2, lineColor = "#a8a8a8", dashArray = 0, strokeWidth = 1, lineCap = "butt") {
|
|
891
901
|
const cmd = this._cmd("line", 0);
|
|
902
|
+
cmd.lineCap = lineCap;
|
|
892
903
|
cmd.lx1 = x1;
|
|
893
904
|
cmd.ly1 = y1;
|
|
894
905
|
cmd.lx2 = x2;
|
|
@@ -929,13 +940,13 @@ class CanvasGraphics {
|
|
|
929
940
|
drawCircle(radius, attrs = null) {
|
|
930
941
|
const cmd = this._cmd("circle", 0);
|
|
931
942
|
cmd.r = radius < 0 ? 0 : radius;
|
|
943
|
+
const mark = new CanvasMark(cmd);
|
|
932
944
|
if (attrs) {
|
|
933
945
|
cmd.cx = attrs.cx;
|
|
934
946
|
cmd.cy = attrs.cy;
|
|
935
|
-
|
|
936
|
-
if (attrs.stroke !== void 0) cmd.stroke = attrs.stroke;
|
|
947
|
+
mark.attr(attrs);
|
|
937
948
|
}
|
|
938
|
-
return
|
|
949
|
+
return mark;
|
|
939
950
|
}
|
|
940
951
|
/** @param {any} opts */
|
|
941
952
|
drawText(opts) {
|
|
@@ -944,9 +955,11 @@ class CanvasGraphics {
|
|
|
944
955
|
cmd.tx = opts.x;
|
|
945
956
|
cmd.ty = opts.y;
|
|
946
957
|
cmd.textAnchor = opts.textAnchor || "start";
|
|
958
|
+
const chart = this.w.config.chart;
|
|
947
959
|
cmd.fontSize = opts.fontSize;
|
|
948
|
-
cmd.fontFamily = opts.fontFamily;
|
|
949
|
-
cmd.
|
|
960
|
+
cmd.fontFamily = opts.fontFamily || chart.fontFamily;
|
|
961
|
+
cmd.fontWeight = opts.fontWeight;
|
|
962
|
+
cmd.fill = opts.foreColor || chart.foreColor;
|
|
950
963
|
return new CanvasMark(cmd);
|
|
951
964
|
}
|
|
952
965
|
/**
|
|
@@ -1446,7 +1459,8 @@ class CanvasCompositor {
|
|
|
1446
1459
|
ctx.globalAlpha = this._alpha;
|
|
1447
1460
|
ctx.fillStyle = cmd.fill || "#000";
|
|
1448
1461
|
const size = cmd.fontSize || "11px";
|
|
1449
|
-
|
|
1462
|
+
const weight = cmd.fontWeight;
|
|
1463
|
+
ctx.font = `${weight && weight !== "regular" ? weight + " " : ""}${typeof size === "number" ? size + "px" : size} ${cmd.fontFamily || "Helvetica, Arial, sans-serif"}`;
|
|
1450
1464
|
ctx.textAlign = cmd.textAnchor === "middle" ? "center" : cmd.textAnchor === "end" ? "right" : "left";
|
|
1451
1465
|
ctx.fillText(String(cmd.text), cmd.tx, cmd.ty);
|
|
1452
1466
|
ctx.restore();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* ApexCharts v8.
|
|
2
|
+
* ApexCharts v8.4.0
|
|
3
3
|
* (c) 2018-2026 ApexCharts
|
|
4
4
|
*/
|
|
5
|
-
!function(t){var e="undefined"!=typeof globalThis?globalThis:self,s=e.ApexCharts;if(s&&s.__internals)return t.call(e);if(s)throw new Error("ApexCharts: dist/features/renderer-canvas.js cannot register: the ApexCharts on this page has no add-on surface (a script before 7.0, or a bundled apexcharts/core class). Load apexcharts.min.js, apexcharts.core.min.js or apexcharts.full.min.js.");if("function"==typeof define&&define.amd)return t.call(e);if("object"==typeof exports&&"undefined"!=typeof module||"undefined"==typeof window||"undefined"==typeof document)throw new Error("ApexCharts: dist/features/renderer-canvas.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/features/renderer-canvas.js",run:t,done:!1},r=e.__apexcharts_pending_addons__||(e.__apexcharts_pending_addons__=[]);r.push(i),"complete"!==document.readyState&&window.addEventListener("load",function(){if(!i.done){var s=e.ApexCharts;if(s)if(s.__internals){i.done=!0;var n=r.indexOf(i);-1!==n&&r.splice(n,1);try{t.call(e),s.__drainsAddons||e.console.warn("ApexCharts: dist/features/renderer-canvas.js loaded before the ApexCharts script, which is older than 8.0 and does not pick up add-ons loaded first, so it registered only when the page finished loading. Put its tag after the ApexCharts script.")}catch(t){e.console.error("ApexCharts: dist/features/renderer-canvas.js could not register with the ApexCharts script on this page: "+(t&&t.message))}}else e.console.error("ApexCharts: dist/features/renderer-canvas.js cannot register: the ApexCharts on this page has no add-on surface (a script before 7.0, or a bundled apexcharts/core class). Load apexcharts.min.js, apexcharts.core.min.js or apexcharts.full.min.js.");else e.console.warn("ApexCharts: dist/features/renderer-canvas.js is waiting for the ApexCharts script, which had not loaded when the page finished loading. It registers when an ApexCharts 8.0 or later script loads; if the page has none, add apexcharts.min.js (or apexcharts.core.min.js, or apexcharts.full.min.js).")}})}(function(){var t,e;t=this,e=function(t){"use strict";var e=Object.defineProperty,s=Object.defineProperties,i=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,l=(t,s,i)=>s in t?e(t,s,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[s]=i,o=(t,e)=>{for(var s in e||(e={}))n.call(e,s)&&l(t,s,e[s]);if(r)for(var s of r(e))a.call(e,s)&&l(t,s,e[s]);return t},h=(t,e)=>s(t,i(e));const c=globalThis.ApexCharts,_=globalThis.ApexCharts.__internals.__apex_Graphics,d={fill:"fill",stroke:"stroke","stroke-width":"strokeWidth","stroke-dasharray":"strokeDash","stroke-linecap":"lineCap","fill-opacity":"fillOpacity","stroke-opacity":"strokeOpacity","fill-rule":"fillRule"},p=Symbol("never"),u={circle:0,square:1,rect:1,triangle:2,diamond:3,star:4,sparkle:5,cross:6,plus:7,line:8},f=["circle","square","triangle","diamond","star","sparkle","cross","plus","line"];function y(t){return t.boxOf!==t.d&&(t.box=function(t){const e="string"==typeof t?t.match(/[a-df-z]|[-+]?(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?/gi):null;if(!e)return null;let s=1/0,i=1/0,r=-1/0,n=-1/0,a=0,l=0,o=0,h=0,c="",_=0;const d=()=>Number(e[_++]),p=(t,e)=>{isFinite(t)&&isFinite(e)&&(s=Math.min(s,t),i=Math.min(i,e),r=Math.max(r,t),n=Math.max(n,e))},u=t=>{const e=c===c.toLowerCase();let s=a,i=l;for(let r=0;r<t;r++)s=d()+(e?a:0),i=d()+(e?l:0),p(s,i);a=s,l=i};for(;_<e.length;){if(/^[a-z]$/i.test(e[_])){c=e[_++],"Z"!==c&&"z"!==c||(a=o,l=h);continue}const t=c===c.toLowerCase();switch(c.toUpperCase()){case"M":u(1),o=a,h=l,c=t?"l":"L";break;case"L":case"T":u(1);break;case"H":a=d()+(t?a:0),p(a,l);break;case"V":l=d()+(t?l:0),p(a,l);break;case"S":case"Q":u(2);break;case"C":u(3);break;case"A":_+=5,u(1);break;default:_++}}return isFinite(s)?{x:s,y:i,width:r-s,height:n-i}:null}(t.d),t.boxOf=t.d),t.box}const m={attr:()=>m,plot:()=>m,during:()=>m,after:t=>("function"==typeof t&&t(),m),animate:()=>m,delay:()=>m,loop:()=>m,finish:()=>m,stop:()=>m},g={nodeName:"path",style:{},classList:{add(){},remove(){},toggle(){},contains:()=>!1},setAttribute(){},getAttribute:()=>null,removeAttribute(){},hasAttribute:()=>!1,addEventListener(){},removeEventListener(){},appendChild(){},getBBox:()=>({x:0,y:0,width:0,height:0})},x={__isCanvasMark:!0,node:{nodeName:"g",instance:null,style:{},classList:{add(){},remove(){},toggle(){},contains:()=>!1},setAttribute(){},getAttribute:()=>null,removeAttribute(){},addEventListener(){},removeEventListener(){},appendChild(){},getBBox:()=>({x:0,y:0,width:0,height:0})},attr:()=>x,add:()=>x,addTo:()=>x,remove:()=>x,clear:()=>x,css:()=>x,hide:()=>x,show:()=>x,removeClass:()=>x,animate:()=>m};class w{constructor(t,e){this.__isCanvasMark=!0,this._g=t,this._i=e}get node(){return g}attr(t,e){return"string"==typeof t?("fill"===t&&void 0!==e?this._g._setMarkerFill(this._i,e):"rel"===t&&void 0!==e&&(this._g._mdi[this._i]=e),void 0===e?null:this):(t&&void 0!==t.fill&&this._g._setMarkerFill(this._i,t.fill),t&&void 0!==t.rel&&(this._g._mdi[this._i]=t.rel),this)}add(t){return this}addTo(t){return this}remove(){return this}css(t){return this}fill(t){return void 0!==t&&this._g._setMarkerFill(this._i,t),this}stroke(t){return this}hide(){return this}show(){return this}removeClass(t){return this}animate(){return m}}const k={__isCanvasMark:!0,node:g,attr:()=>k,add:()=>k,addTo:()=>k,remove:()=>k,css:()=>k,animate:()=>m};class b{constructor(t){this.__isCanvasMark=!0,this._cmd=t;const e=this;this.node={nodeName:t?t.tag:"g",instance:this,style:{},classList:{add(){},remove(){},toggle(){},contains:()=>!1},setAttribute(t,s){e._applyAttr(t,s)},getAttribute:()=>null,removeAttribute(){},hasAttribute:()=>!1,addEventListener(){},removeEventListener(){},appendChild(){},getBBox:()=>e.bbox()}}_applyAttr(t,e){const s=this._cmd;if(!s)return;if("clip-path"===t){const t=function(t){if(null==t||"none"===t)return null;const e=/^url\(#gridRect(Bar|Marker)?Mask/.exec(String(t));return e?"Bar"===e[1]?"bar":"Marker"===e[1]?"marker":"grid":void 0}(e);return void(void 0!==t&&(s.clip=t))}const i=d[t];void 0!==i&&(s[i]=e)}attr(t,e){if("string"==typeof t)return void 0===e?null:(this._applyAttr(t,e),this);for(const e in t)void 0!==t[e]&&this._applyAttr(e,t[e]);return this}add(t){return this}addTo(t){return this}remove(){return this}clear(){return this}css(t){return this}fill(t){return"object"==typeof t?this.attr(t):this.attr("fill",t)}stroke(t){return"object"==typeof t?(void 0!==t.color&&this.attr("stroke",t.color),void 0!==t.width&&this.attr("stroke-width",t.width),this):this.attr("stroke",t)}plot(t){return"string"==typeof t&&this._cmd&&"path"===this._cmd.tag&&(this._cmd.d=t),this}hide(){return this}show(){return this}removeClass(t){return this}bbox(){const t=this._cmd,e=t&&"path"===t.tag?y(t):null;return e?o({},e):{x:0,y:0,width:0,height:0}}animate(){return m}}class A{constructor(t){this.w=t,this._g=new _(t),this._list=[],this._mx=new Float64Array(16),this._my=new Float64Array(16),this._msize=new Float64Array(16),this._mshape=new Int16Array(16),this._mstyle=new Int32Array(16),this._msi=new Int32Array(16),this._mdi=new Int32Array(16),this._mn=0,this._mcap=16,this._crx=new Float64Array(16),this._cry=new Float64Array(16),this._crw=new Float64Array(16),this._crh=new Float64Array(16),this._crstyle=new Int32Array(16),this._crsi=new Int32Array(16),this._crdi=new Int32Array(16),this._crn=0,this._crcap=16,this._cellRadius=0,this._styles=[],this._styleMap=new Map,this._lf=p,this._ls=p,this._lsw=p,this._ld=p,this._lfo=p,this._lso=p,this._lid=-1,this._lofFill=p,this._lofBase=-1,this._lofId=-1,this._rlf=p,this._rls=p,this._rlsw=p,this._rlfo=p,this._rlso=p,this._rlid=-1}_resetStyleCache(){this._lf=p,this._ls=p,this._lsw=p,this._ld=p,this._lfo=p,this._lso=p,this._lid=-1,this._lofFill=p,this._lofBase=-1,this._lofId=-1,this._rlf=p,this._rls=p,this._rlsw=p,this._rlfo=p,this._rlso=p,this._rlid=-1}reset(){this._list=[],this._mn=0,this._styles=[],this._styleMap=new Map,this._resetStyleCache();const t=this.w.config.series||[];let e=16;for(let s=0;s<t.length;s++){const i=t[s]&&t[s].data;Array.isArray(i)&&(e+=i.length)}e=Math.ceil(1.15*e)+16,e>this._mcap&&this._allocMarkers(e),this._crn=0,this._cellRadius=0,e>this._crcap&&this._allocRects(e)}_allocRects(t){this._crcap=t,this._crx=new Float64Array(t),this._cry=new Float64Array(t),this._crw=new Float64Array(t),this._crh=new Float64Array(t),this._crstyle=new Int32Array(t),this._crsi=new Int32Array(t),this._crdi=new Int32Array(t)}_growRects(){const t=2*this._crcap,e=new Float64Array(t);e.set(this._crx),this._crx=e;const s=new Float64Array(t);s.set(this._cry),this._cry=s;const i=new Float64Array(t);i.set(this._crw),this._crw=i;const r=new Float64Array(t);r.set(this._crh),this._crh=r;const n=new Int32Array(t);n.set(this._crstyle),this._crstyle=n;const a=new Int32Array(t);a.set(this._crsi),this._crsi=a;const l=new Int32Array(t);l.set(this._crdi),this._crdi=l,this._crcap=t}_allocMarkers(t){this._mcap=t,this._mx=new Float64Array(t),this._my=new Float64Array(t),this._msize=new Float64Array(t),this._mshape=new Int16Array(t),this._mstyle=new Int32Array(t),this._msi=new Int32Array(t),this._mdi=new Int32Array(t)}_growMarkers(){const t=2*this._mcap,e=new Float64Array(t);e.set(this._mx),this._mx=e;const s=new Float64Array(t);s.set(this._my),this._my=s;const i=new Float64Array(t);i.set(this._msize),this._msize=i;const r=new Int16Array(t);r.set(this._mshape),this._mshape=r;const n=new Int32Array(t);n.set(this._mstyle),this._mstyle=n;const a=new Int32Array(t);a.set(this._msi),this._msi=a;const l=new Int32Array(t);l.set(this._mdi),this._mdi=l,this._mcap=t}displayList(){return this._list}markerCount(){return this._mn}_internStyle(t,e,s,i,r,n){const a=`${t}|${e}|${s}|${i}|${r}|${n}`,l=this._styleMap.get(a);if(void 0!==l)return l;const o=this._styles.length;return this._styles.push({fill:t,stroke:e,strokeWidth:s,strokeDash:i,fillOpacity:r,strokeOpacity:n}),this._styleMap.set(a,o),o}_setMarkerFill(t,e){const s=this._mstyle[t];if(e===this._lofFill&&s===this._lofBase)return void(this._mstyle[t]=this._lofId);const i=this._styles[s];if(!i||i.fill===e)return this._lofFill=e,this._lofBase=s,void(this._lofId=s);const r=this._internStyle(e,i.stroke,i.strokeWidth,i.strokeDash,i.fillOpacity,i.strokeOpacity);this._mstyle[t]=r,this._lofFill=e,this._lofBase=s,this._lofId=r}markerStyle(t){return this._styles[this._mstyle[t]]}markerSeries(t){return this._msi[t]}shapeName(t){return f[t]||"circle"}drawRectCell(t,e,s,i,r={}){const n=this._rectStyleId(r);this._crn>=this._crcap&&this._growRects();const a=this._crn++;return this._crx[a]=t||0,this._cry[a]=e||0,this._crw[a]=s>0?s:0,this._crh[a]=i>0?i:0,this._crstyle[a]=n,this._crsi[a]=null==r.seriesIndex?-1:r.seriesIndex,this._crdi[a]=null==r.dataPointIndex?-1:r.dataPointIndex,r.radius&&(this._cellRadius=r.radius),k}_rectStyleId(t){const e=t.fill,s=t.stroke,i=t.strokeWidth,r=t.fillOpacity,n=t.strokeOpacity;if(e===this._rlf&&s===this._rls&&i===this._rlsw&&r===this._rlfo&&n===this._rlso)return this._rlid;const a=this._internStyle(e,s,i,0,r,n);return this._rlf=e,this._rls=s,this._rlsw=i,this._rlfo=r,this._rlso=n,this._rlid=a,a}rectCount(){return this._crn}rectStyle(t){return this._styles[this._crstyle[t]]}rectSeries(t){return this._crsi[t]}_cmd(t,e){const s={tag:t,z:e||0,fill:void 0,stroke:void 0,strokeWidth:void 0,strokeDash:void 0,lineCap:void 0,fillOpacity:void 0,strokeOpacity:void 0,fillRule:void 0,clip:null};return this._list.push(s),s}group(t){return x}drawMarker(t,e,s={}){var i;const r=this._markerStyleId(s);this._mn>=this._mcap&&this._growMarkers();const n=this._mn++;return this._mx[n]=t||0,this._my[n]="number"==typeof e?e:NaN,this._msize[n]=s.pSize||0,this._mshape[n]=null!=(i=u[s.shape||"circle"])?i:0,this._mstyle[n]=r,this._msi[n]=null==s.seriesIndex?-1:s.seriesIndex,this._mdi[n]=-1,new w(this,n)}_markerStyleId(t){const e=t.shape||"circle",s="line"===e||"plus"===e||"cross"===e,i=s?"none":t.pointFillColor,r=s?t.pointFillColor:t.pointStrokeColor,n=t.pointStrokeWidth,a=t.pointStrokeDashArray,l=t.pointFillOpacity,o=s?t.pointFillOpacity:t.pointStrokeOpacity;if(i===this._lf&&r===this._ls&&n===this._lsw&&a===this._ld&&l===this._lfo&&o===this._lso)return this._lid;const h=this._internStyle(i,r,n,a,l,o);return this._lf=i,this._ls=r,this._lsw=n,this._ld=a,this._lfo=l,this._lso=o,this._lid=h,h}renderPaths(t){const e=this._cmd("path",t.realIndex);if(e.d=t.pathTo,t.pathToNumeric&&(e.nxs=t.pathToNumeric.xs,e.nys=t.pathToNumeric.ys,e.ncloseY=t.pathToNumeric.closeY),e.stroke=t.stroke,e.strokeWidth=t.strokeWidth,e.fill=t.fill,e.lineCap=t.strokeLinecap,e.strokeDash=this._g.seriesDash(t.realIndex),e.si=t.realIndex,"number"==typeof t.j&&(e.dj=t.j),!1!==t.shouldClipToGrid){const s=this.w.globals;e.clip="bar"===t.chartType&&!s.isBarHorizontal||s.comboCharts?"bar":"grid"}return this.w.globals.animationEnded=!0,new b(e)}drawPath(t){const e=this._cmd("path",0);return e.d=t.d,e.stroke=t.stroke,e.strokeWidth=t.strokeWidth,e.fill=t.fill,e.fillOpacity=t.fillOpacity,e.strokeOpacity=t.strokeOpacity,e.lineCap=t.strokeLinecap,e.strokeDash=t.strokeDashArray,new b(e)}drawLine(t,e,s,i,r="#a8a8a8",n=0,a=1){const l=this._cmd("line",0);return l.lx1=t,l.ly1=e,l.lx2=s,l.ly2=i,l.stroke=r,l.strokeDash=n,l.strokeWidth=a,new b(l)}drawRect(t=0,e=0,s=0,i=0,r=0,n="#fefefe",a=1,l=null,o=null,h=0){const c=this._cmd("rect",0);return c.x1=t,c.y1=e,c.rw=s>0?s:0,c.rh=i>0?i:0,c.radius=r,c.fill=n,c.fillOpacity=a,null!=o&&(c.stroke=o,c.strokeWidth=null==l?1:l,c.strokeDash=h),new b(c)}drawCircle(t,e=null){const s=this._cmd("circle",0);return s.r=t<0?0:t,e&&(s.cx=e.cx,s.cy=e.cy,void 0!==e.fill&&(s.fill=e.fill),void 0!==e.stroke&&(s.stroke=e.stroke)),new b(s)}drawText(t){const e=this._cmd("text",0);return e.text=Array.isArray(t.text)?t.text.join(" "):t.text,e.tx=t.x,e.ty=t.y,e.textAnchor=t.textAnchor||"start",e.fontSize=t.fontSize,e.fontFamily=t.fontFamily,e.fill=t.foreColor,new b(e)}markerPath(t,e,s,i){return this._g.getMarkerPath(t,e,f[s]||"circle",i)}}const v=globalThis.ApexCharts.__internals.__apex_SVGElement,C=globalThis.ApexCharts.__internals,M=C.__apex_math_SVGNS;C.__apex_math_Point,C.__apex_math_Matrix,C.__apex_math_Box;const S=globalThis.ApexCharts.__internals.__apex_BrowserAPIs_BrowserAPIs,P=globalThis.ApexCharts.__internals.__apex_axes_Grid,I=2*Math.PI;class F{constructor(t){this.w=t,this._host=null,this._canvas=null,this._c2d=null,this._pad={left:0,top:0,right:0,bottom:0},this._clips=null,this._clipRect=null,this._dpr=1,this._dim=null,this._alpha=1,this._unitPaths=new Map,this._markerBatches=0}markerBatchCount(){return this._markerBatches}_seriesAlpha(t){const e=this._dim;return!e||null==e.active||e.active<0||null==t||t<0||t===e.active?1:null==e.opacity?.2:e.opacity}_plotDims(){var t;const e=Math.max(0,Math.ceil(this.w.layout.gridWidth||0)),s=Math.max(0,Math.ceil(this.w.layout.gridHeight||0)),i=(null==(t=this.w.globals.markers)?void 0:t.largestSize)||0,r=Math.ceil(i+8),n=P.maskRects(this.w),a={left:r,top:r,right:r,bottom:r},l=t=>Number.isFinite(t)?Math.ceil(t):0;return Object.values(n).forEach(t=>{a.left=Math.max(a.left,l(-t.x)),a.top=Math.max(a.top,l(-t.y)),a.right=Math.max(a.right,l(t.x+t.width-e)),a.bottom=Math.max(a.bottom,l(t.y+t.height-s))}),{gw:e,gh:s,pad:a,clips:n}}createHost(){const t=S.getWindow();this._dpr=Math.min(2,t&&t.devicePixelRatio||1);const{gw:e,gh:s,pad:i,clips:r}=this._plotDims();this._pad=i,this._clips=r;const n=e+i.left+i.right,a=s+i.top+i.bottom,l=S.createElementNS(M,"foreignObject");l.setAttribute("x",String(-i.left)),l.setAttribute("y",String(-i.top)),l.setAttribute("width",String(n)),l.setAttribute("height",String(a)),l.setAttribute("class","apexcharts-canvas-series"),l.style.overflow="visible";const o=S.createElement("canvas");return o.setAttribute("class","apexcharts-series-canvas"),o.width=Math.max(1,Math.round(n*this._dpr)),o.height=Math.max(1,Math.round(a*this._dpr)),o.style.width=n+"px",o.style.height=a+"px",o.style.pointerEvents="none",l.appendChild(o),this._canvas=o,this._c2d=o.getContext("2d"),this._host=new v(l),this._host}getHost(){return this._host}clipRect(t){const e=t&&this._clips?this._clips[t]:null;return e&&Number.isFinite(e.x)&&Number.isFinite(e.y)&&Number.isFinite(e.width)&&Number.isFinite(e.height)?e:null}_clipTo(t,e){const s=this.clipRect(e);if(s!==this._clipRect&&(this._clipRect&&t.restore(),this._clipRect=s,s)){const e=this._dpr,{left:i,top:r}=this._pad,n=Math.floor((i+s.x)*e),a=Math.floor((r+s.y)*e),l=Math.ceil((i+s.x+s.width)*e),o=Math.ceil((r+s.y+s.height)*e);t.save(),t.setTransform(1,0,0,1,0,0),t.beginPath(),t.rect(n,a,l-n,o-a),t.clip(),t.setTransform(e,0,0,e,i*e,r*e)}}clear(){this._c2d&&this._canvas&&(this._c2d.setTransform(1,0,0,1,0,0),this._c2d.clearRect(0,0,this._canvas.width,this._canvas.height))}_syncDpr(){if(!this._canvas)return;const t=S.getWindow(),e=Math.min(2,t&&t.devicePixelRatio||1);if(e===this._dpr)return;this._dpr=e;const s=parseFloat(this._canvas.style.width)||0,i=parseFloat(this._canvas.style.height)||0;this._canvas.width=Math.max(1,Math.round(s*e)),this._canvas.height=Math.max(1,Math.round(i*e))}paint(t,e,s=null){const i=this._c2d;if(!i)return;this._dim=s||null,this._syncDpr(),this.clear();const r=this._dpr,{left:n,top:a}=this._pad;if(i.setTransform(r,0,0,r,n*r,a*r),this._clipRect=null,t.length){const e=t.length>1?t.map((t,e)=>[t,e]).sort((t,e)=>t[0].z===e[0].z?t[1]-e[1]:t[0].z-e[0].z).map(t=>t[0]):t;for(let t=0;t<e.length;t++){const s=e[t];this._alpha=this._dim?this._seriesAlpha(s.si):1,this._clipTo(i,s.clip),this._paintOne(i,s)}this._clipTo(i,null)}this._paintRects(i,e),this._clipTo(i,"marker"),this._paintMarkers(i,e),this._clipTo(i,null),this._alpha=1}_paintRects(t,e){const s=e.rectCount?e.rectCount():0;if(!s)return;const i=e._crx,r=e._cry,n=e._crw,a=e._crh,l=e._crstyle,o=e._cellRadius||0,h=t,c=o>0&&"function"==typeof h.roundRect,_=!!this._dim,d=Math.max(0,this.w.layout.gridWidth||0),p=Math.max(0,this.w.layout.gridHeight||0);t.save(),t.beginPath(),t.rect(0,0,d,p),t.clip();let u=0;for(;u<s;){const d=l[u],p=e.rectStyle(u);if(!p){u++;continue}const f=p.fill,y=f&&"none"!==f&&!("string"==typeof f&&0===f.indexOf("url(")),m=p.stroke,g=null==p.strokeWidth?0:Number(p.strokeWidth),x=m&&"none"!==m&&g>0&&!("string"==typeof m&&0===m.indexOf("url("));y&&(t.fillStyle=f),x&&(t.strokeStyle=m,t.lineWidth=g,t.setLineDash([]));const w=null==p.fillOpacity?1:Number(p.fillOpacity),k=null==p.strokeOpacity?1:Number(p.strokeOpacity);let b=u;for(;b<s&&l[b]===d;){const s=n[b],l=a[b];if(s>0&&l>0){const n=_?this._seriesAlpha(e.rectSeries(b)):1;c?(t.beginPath(),h.roundRect(i[b],r[b],s,l,o),y&&(t.globalAlpha=w*n,t.fill()),x&&(t.globalAlpha=k*n,t.stroke())):(y&&(t.globalAlpha=w*n,t.fillRect(i[b],r[b],s,l)),x&&(t.globalAlpha=k*n,t.strokeRect(i[b],r[b],s,l)))}b++}u=b}t.globalAlpha=1,t.restore()}_unitPath(t,e,s){const i=e+"|"+s;let r=this._unitPaths.get(i);if(void 0===r){try{r=new Path2D(t.markerPath(0,0,e,s))}catch(t){r=null}this._unitPaths.set(i,r)}return r}_paintMarkers(t,e){this._markerBatches=0;const s=e.markerCount();if(!s)return;const i=e._mx,r=e._my,n=e._msize,a=e._mshape,l=e._mstyle,o=!!this._dim;o||(this._alpha=1);let h=0;for(;h<s;){const c=l[h],_=a[h],d=e.markerStyle(h);if(!d){h++;continue}const p=this._applyFill(t,d),u=this._applyStroke(t,d);this._markerBatches++;const f=null==d.fillOpacity?1:Number(d.fillOpacity),y=null==d.strokeOpacity?1:Number(d.strokeOpacity);if(0===_){let _=h;for(;_<s&&0===a[_]&&l[_]===c;){const s=n[_]||0,a=r[_];if(s>0&&a==a)if(t.beginPath(),t.arc(i[_],a,s,0,I),o){const s=this._seriesAlpha(e.markerSeries(_));p&&(t.globalAlpha=f*s,t.fill()),u&&(t.globalAlpha=y*s,t.stroke())}else p&&t.fill(),u&&t.stroke();_++}t.globalAlpha=1,h=_}else{const d=this._dpr,m=this._pad.left,g=this._pad.top;let x=h;for(;x<s&&a[x]===_&&l[x]===c;){const s=r[x],a=n[x];if(s==s&&a>0){const r=this._unitPath(e,_,a);if(r){t.setTransform(d,0,0,d,(m+i[x])*d,(g+s)*d);const n=o?this._seriesAlpha(e.markerSeries(x)):1;p&&(t.globalAlpha=f*n,t.fill(r)),u&&(t.globalAlpha=y*n,t.stroke(r))}}x++}t.setTransform(d,0,0,d,m*d,g*d),t.globalAlpha=1,h=x}}}_paintNumericPath(t,e){const s=e.nxs,i=e.nys,r=s.length;if(r){t.beginPath(),t.moveTo(s[0],i[0]);for(let e=1;e<r;e++)t.lineTo(s[e],i[e]);null!=e.ncloseY&&(t.lineTo(s[r-1],e.ncloseY),t.lineTo(s[0],e.ncloseY),t.closePath()),this._applyFill(t,e)&&t.fill("evenodd"===e.fillRule?"evenodd":"nonzero"),this._applyStroke(t,e)&&t.stroke(),t.globalAlpha=1}}_paintOne(t,e){switch(e.tag){case"path":if(e.nxs){this._paintNumericPath(t,e);break}if(!e.d)return;if(!e.path2d)try{e.path2d=new Path2D(e.d)}catch(t){return}this._fillStrokePath(t,e,e.path2d);break;case"rect":{const s=new Path2D;e.radius&&"function"==typeof s.roundRect?s.roundRect(e.x1,e.y1,e.rw,e.rh,e.radius):s.rect(e.x1,e.y1,e.rw,e.rh),this._fillStrokePath(t,e,s);break}case"circle":if(!(e.r>0))return;t.beginPath(),t.arc(e.cx,e.cy,e.r,0,I),this._fillStroke(t,e);break;case"line":t.beginPath(),t.moveTo(e.lx1,e.ly1),t.lineTo(e.lx2,e.ly2),this._strokeOnly(t,e);break;case"text":{if(null==e.text)return;t.save(),t.globalAlpha=this._alpha,t.fillStyle=e.fill||"#000";const s=e.fontSize||"11px";t.font=`${"number"==typeof s?s+"px":s} ${e.fontFamily||"Helvetica, Arial, sans-serif"}`,t.textAlign="middle"===e.textAnchor?"center":"end"===e.textAnchor?"right":"left",t.fillText(String(e.text),e.tx,e.ty),t.restore();break}}}_fillStrokePath(t,e,s){this._applyFill(t,e)&&t.fill(s,"evenodd"===e.fillRule?"evenodd":"nonzero"),this._applyStroke(t,e)&&t.stroke(s),t.globalAlpha=1}_fillStroke(t,e){this._applyFill(t,e)&&t.fill(),this._applyStroke(t,e)&&t.stroke(),t.globalAlpha=1}_strokeOnly(t,e){this._applyStroke(t,e)&&t.stroke(),t.globalAlpha=1}_applyFill(t,e){const s=e.fill;return!(!s||"none"===s||"string"==typeof s&&0===s.indexOf("url(")||(t.globalAlpha=(null==e.fillOpacity?1:Number(e.fillOpacity))*this._alpha,t.fillStyle=s,0))}_applyStroke(t,e){const s=e.stroke,i=null==e.strokeWidth?1:Number(e.strokeWidth);if(!(s&&"none"!==s&&i>0))return!1;if("string"==typeof s&&0===s.indexOf("url("))return!1;t.globalAlpha=(null==e.strokeOpacity?1:Number(e.strokeOpacity))*this._alpha,t.strokeStyle=s,t.lineWidth=i,t.lineCap=e.lineCap||"butt";const r=e.strokeDash;return r&&0!==r?t.setLineDash(Array.isArray(r)?r:[Number(r)]):t.setLineDash([]),!0}toDataURL(){return this._canvas?this._canvas.toDataURL():null}destroy(){this._host=null,this._canvas=null,this._c2d=null,this._clips=null,this._clipRect=null,this._unitPaths.clear()}}class O{constructor(t,e){this.w=t,this.ctx=e,this.kind="canvas",this._g=new A(t),this._compositor=new F(t),this._hitCtx=void 0}beginSeries(){this._g.reset()}present(){const t=this._compositor.createHost();return this._compositor.paint(this._g.displayList(),this._g),t}clear(){this._compositor.clear()}canRepaintInPlace(){const t=this._compositor.getHost();return!!(t&&t.node&&t.node.isConnected)}repaintInPlace(){this._compositor.paint(this._g.displayList(),this._g)}group(t){return this._g.group(t)}drawPath(t){return this._g.drawPath(t)}drawLine(...t){return this._g.drawLine(...t)}drawRect(...t){return this._g.drawRect(...t)}drawRectCell(t,e,s,i,r){return this._g.drawRectCell(t,e,s,i,r)}drawCircle(t,e){return this._g.drawCircle(t,e)}drawMarker(t,e,s){return this._g.drawMarker(t,e,s)}renderPaths(t){return this._g.renderPaths(t)}drawText(t){return this._g.drawText(t)}supports(t){return"solidFill"===t||"dashArray"===t}hitTest(t,e){const s=this._g,i=s.rectCount?s.rectCount():0,r=s._crx,n=s._cry,a=s._crw,l=s._crh;for(let o=i-1;o>=0;o--){const i=a[o],h=l[o];if(!(i<=0||h<=0)&&t>=r[o]&&t<r[o]+i&&e>=n[o]&&e<n[o]+h)return{seriesIndex:s._crsi[o],dataPointIndex:s._crdi[o],x:r[o],y:n[o],width:i,height:h}}return this._hitTestMarks(t,e)}_hitTestMarks(t,e){const s=this._g.displayList();for(let i=s.length-1;i>=0;i--){const r=s[i];if("path"!==r.tag||null==r.dj||!r.d)continue;const n=!!r.fill&&"none"!==r.fill,a=!!r.stroke&&"none"!==r.stroke&&r.strokeWidth>0;if(!n&&!a)continue;const l=this._compositor.clipRect(r.clip);if(l&&(t<l.x||t>l.x+l.width||e<l.y||e>l.y+l.height))continue;const h=y(r);if(!h)continue;const c=a?5*r.strokeWidth:0;if(t<h.x-c||t>h.x+h.width+c||e<h.y-c||e>h.y+h.height+c)continue;const _=this._hitContext();if(!_)return null;if(!r.path2d)try{r.path2d=new Path2D(r.d)}catch(t){continue}const d="evenodd"===r.fillRule?"evenodd":"nonzero";let p=n&&_.isPointInPath(r.path2d,t,e,d);if(!p&&a&&(_.lineWidth=r.strokeWidth,_.lineCap=r.lineCap||"butt",p=_.isPointInStroke(r.path2d,t,e)),p)return o({seriesIndex:r.si,dataPointIndex:r.dj},h)}return null}hitTestMarker(t,e){const s=this._g,i=s.markerCount();if(!i)return null;const r=this._compositor.clipRect("marker");if(r&&(t<r.x||t>r.x+r.width||e<r.y||e>r.y+r.height))return null;for(let r=i-1;r>=0;r--){const i=s._msize[r],n=s._mx[r],a=s._my[r],l=s._mdi[r];if(!(i>0)||a!=a||l<0)continue;const o=s.markerStyle(r),h=!!(null==o?void 0:o.stroke)&&"none"!==o.stroke&&o.strokeWidth>0,c=h?o.strokeWidth/2:0,_=1.2*i+c,d=t-n,p=e-a;if(d<-_||d>_||p<-_||p>_)continue;let u;if(u=0===s._mshape[r]?d*d+p*p<=(i+c)*(i+c):this._hitsMarkerShape(r,d,p,i,o,h),u)return{seriesIndex:s._msi[r],dataPointIndex:l,x:n,y:a,size:i}}return null}_hitsMarkerShape(t,e,s,i,r,n){const a=this._hitContext();if(!a)return!1;let l;try{l=new Path2D(this._g.markerPath(0,0,this._g._mshape[t],i))}catch(t){return!1}return!(!(null==r?void 0:r.fill)||"none"===r.fill||!a.isPointInPath(l,e,s))||!!n&&(a.lineWidth=r.strokeWidth,a.lineCap="butt",a.isPointInStroke(l,e,s))}findMark(t,e){const s=this._g.displayList();for(let i=0;i<s.length;i++){const r=s[i];if("path"!==r.tag||!r.d)continue;if(r.si!==t||r.dj!==e)continue;const n=y(r);if(n)return h(o({seriesIndex:t,dataPointIndex:e},n),{d:r.d})}return null}findMarker(t,e){const s=this._g;for(let i=s.markerCount()-1;i>=0;i--){if(s._msi[i]!==t||s._mdi[i]!==e)continue;const r=s._msize[i],n=s._my[i];if(!(r>0)||n!=n)continue;const a=s._mx[i];return{seriesIndex:t,dataPointIndex:e,x:a,y:n,size:r,d:s.markerPath(a,n,s._mshape[i],r)}}return null}findCell(t,e){const s=this._g,i=s.rectCount?s.rectCount():0,r=s._crsi,n=s._crdi;for(let a=i-1;a>=0;a--)if(r[a]===t&&n[a]===e)return{seriesIndex:t,dataPointIndex:e,x:s._crx[a],y:s._cry[a],width:s._crw[a],height:s._crh[a],radius:s._cellRadius||0};return null}_hitContext(){if(void 0===this._hitCtx){const t=S.createElement("canvas");this._hitCtx=(null==t?void 0:t.getContext)&&t.getContext("2d")||null}return this._hitCtx}restyle(t){this._compositor.paint(this._g.displayList(),this._g,t||null)}toBitmap(){const t=this._compositor.toDataURL();if(!t)return null;const e=this.w.globals,s=this.w.config.chart,i=this._compositor._pad;return{dataURL:t,x:(e.translateX||0)+(s.offsetX||0)-i.left,y:(e.translateY||0)+(s.offsetY||0)-i.top,w:(this.w.layout.gridWidth||0)+i.left+i.right,h:(this.w.layout.gridHeight||0)+i.top+i.bottom}}destroy(){this._compositor.destroy(),this._hitCtx=void 0}}c.registerRenderer("canvas",(t,e)=>new O(t,e)),t.default=c,Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).ApexRendererCanvas={})});
|
|
5
|
+
!function(t){var e="undefined"!=typeof globalThis?globalThis:self,s=e.ApexCharts;if(s&&s.__internals)return t.call(e);if(s)throw new Error("ApexCharts: dist/features/renderer-canvas.js cannot register: the ApexCharts on this page has no add-on surface (a script before 7.0, or a bundled apexcharts/core class). Load apexcharts.min.js, apexcharts.core.min.js or apexcharts.full.min.js.");if("function"==typeof define&&define.amd)return t.call(e);if("object"==typeof exports&&"undefined"!=typeof module||"undefined"==typeof window||"undefined"==typeof document)throw new Error("ApexCharts: dist/features/renderer-canvas.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/features/renderer-canvas.js",run:t,done:!1},r=e.__apexcharts_pending_addons__||(e.__apexcharts_pending_addons__=[]);r.push(i),"complete"!==document.readyState&&window.addEventListener("load",function(){if(!i.done){var s=e.ApexCharts;if(s)if(s.__internals){i.done=!0;var n=r.indexOf(i);-1!==n&&r.splice(n,1);try{t.call(e),s.__drainsAddons||e.console.warn("ApexCharts: dist/features/renderer-canvas.js loaded before the ApexCharts script, which is older than 8.0 and does not pick up add-ons loaded first, so it registered only when the page finished loading. Put its tag after the ApexCharts script.")}catch(t){e.console.error("ApexCharts: dist/features/renderer-canvas.js could not register with the ApexCharts script on this page: "+(t&&t.message))}}else e.console.error("ApexCharts: dist/features/renderer-canvas.js cannot register: the ApexCharts on this page has no add-on surface (a script before 7.0, or a bundled apexcharts/core class). Load apexcharts.min.js, apexcharts.core.min.js or apexcharts.full.min.js.");else e.console.warn("ApexCharts: dist/features/renderer-canvas.js is waiting for the ApexCharts script, which had not loaded when the page finished loading. It registers when an ApexCharts 8.0 or later script loads; if the page has none, add apexcharts.min.js (or apexcharts.core.min.js, or apexcharts.full.min.js).")}})}(function(){var t,e;t=this,e=function(t){"use strict";var e=Object.defineProperty,s=Object.defineProperties,i=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,l=(t,s,i)=>s in t?e(t,s,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[s]=i,o=(t,e)=>{for(var s in e||(e={}))n.call(e,s)&&l(t,s,e[s]);if(r)for(var s of r(e))a.call(e,s)&&l(t,s,e[s]);return t},h=(t,e)=>s(t,i(e));const c=globalThis.ApexCharts,_=globalThis.ApexCharts.__internals.__apex_Graphics,d={fill:"fill",stroke:"stroke","stroke-width":"strokeWidth","stroke-dasharray":"strokeDash","stroke-linecap":"lineCap","fill-opacity":"fillOpacity","stroke-opacity":"strokeOpacity","fill-rule":"fillRule"},p=Symbol("never"),u={circle:0,square:1,rect:1,triangle:2,diamond:3,star:4,sparkle:5,cross:6,plus:7,line:8},f=["circle","square","triangle","diamond","star","sparkle","cross","plus","line"];function y(t){return t.boxOf!==t.d&&(t.box=function(t){const e="string"==typeof t?t.match(/[a-df-z]|[-+]?(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?/gi):null;if(!e)return null;let s=1/0,i=1/0,r=-1/0,n=-1/0,a=0,l=0,o=0,h=0,c="",_=0;const d=()=>Number(e[_++]),p=(t,e)=>{isFinite(t)&&isFinite(e)&&(s=Math.min(s,t),i=Math.min(i,e),r=Math.max(r,t),n=Math.max(n,e))},u=t=>{const e=c===c.toLowerCase();let s=a,i=l;for(let r=0;r<t;r++)s=d()+(e?a:0),i=d()+(e?l:0),p(s,i);a=s,l=i};for(;_<e.length;){if(/^[a-z]$/i.test(e[_])){c=e[_++],"Z"!==c&&"z"!==c||(a=o,l=h);continue}const t=c===c.toLowerCase();switch(c.toUpperCase()){case"M":u(1),o=a,h=l,c=t?"l":"L";break;case"L":case"T":u(1);break;case"H":a=d()+(t?a:0),p(a,l);break;case"V":l=d()+(t?l:0),p(a,l);break;case"S":case"Q":u(2);break;case"C":u(3);break;case"A":_+=5,u(1);break;default:_++}}return isFinite(s)?{x:s,y:i,width:r-s,height:n-i}:null}(t.d),t.boxOf=t.d),t.box}const m={attr:()=>m,plot:()=>m,during:()=>m,after:t=>("function"==typeof t&&t(),m),animate:()=>m,delay:()=>m,loop:()=>m,finish:()=>m,stop:()=>m},g={nodeName:"path",style:{},classList:{add(){},remove(){},toggle(){},contains:()=>!1},setAttribute(){},getAttribute:()=>null,removeAttribute(){},hasAttribute:()=>!1,addEventListener(){},removeEventListener(){},appendChild(){},getBBox:()=>({x:0,y:0,width:0,height:0})},x={__isCanvasMark:!0,node:{nodeName:"g",instance:null,style:{},classList:{add(){},remove(){},toggle(){},contains:()=>!1},setAttribute(){},getAttribute:()=>null,removeAttribute(){},addEventListener(){},removeEventListener(){},appendChild(){},getBBox:()=>({x:0,y:0,width:0,height:0})},attr:()=>x,add:()=>x,addTo:()=>x,remove:()=>x,clear:()=>x,css:()=>x,hide:()=>x,show:()=>x,removeClass:()=>x,animate:()=>m};class w{constructor(t,e){this.__isCanvasMark=!0,this._g=t,this._i=e}get node(){return g}attr(t,e){return"string"==typeof t?("fill"===t&&void 0!==e?this._g._setMarkerFill(this._i,e):"rel"===t&&void 0!==e&&(this._g._mdi[this._i]=e),void 0===e?null:this):(t&&void 0!==t.fill&&this._g._setMarkerFill(this._i,t.fill),t&&void 0!==t.rel&&(this._g._mdi[this._i]=t.rel),this)}add(t){return this}addTo(t){return this}remove(){return this}css(t){return this}fill(t){return void 0!==t&&this._g._setMarkerFill(this._i,t),this}stroke(t){return this}hide(){return this}show(){return this}removeClass(t){return this}animate(){return m}}const k={__isCanvasMark:!0,node:g,attr:()=>k,add:()=>k,addTo:()=>k,remove:()=>k,css:()=>k,animate:()=>m};class b{constructor(t){this.__isCanvasMark=!0,this._cmd=t;const e=this;this.node={nodeName:t?t.tag:"g",instance:this,style:{},classList:{add(){},remove(){},toggle(){},contains:()=>!1},setAttribute(t,s){e._applyAttr(t,s)},getAttribute:()=>null,removeAttribute(){},hasAttribute:()=>!1,addEventListener(){},removeEventListener(){},appendChild(){},getBBox:()=>e.bbox()}}_applyAttr(t,e){const s=this._cmd;if(!s)return;if("clip-path"===t){const t=function(t){if(null==t||"none"===t)return null;const e=/^url\(#gridRect(Bar|Marker)?Mask/.exec(String(t));return e?"Bar"===e[1]?"bar":"Marker"===e[1]?"marker":"grid":void 0}(e);return void(void 0!==t&&(s.clip=t))}if("index"===t)return void(s.si=s.z=Number(e));const i=d[t];void 0!==i&&(s[i]=e)}attr(t,e){if("string"==typeof t)return void 0===e?null:(this._applyAttr(t,e),this);for(const e in t)void 0!==t[e]&&this._applyAttr(e,t[e]);return this}add(t){return this}addTo(t){return this}remove(){return this}clear(){return this}css(t){return this}fill(t){return"object"==typeof t?this.attr(t):this.attr("fill",t)}stroke(t){return"object"==typeof t?(void 0!==t.color&&this.attr("stroke",t.color),void 0!==t.width&&this.attr("stroke-width",t.width),this):this.attr("stroke",t)}plot(t){return"string"==typeof t&&this._cmd&&"path"===this._cmd.tag&&(this._cmd.d=t),this}hide(){return this}show(){return this}removeClass(t){return this}bbox(){const t=this._cmd,e=t&&"path"===t.tag?y(t):null;return e?o({},e):{x:0,y:0,width:0,height:0}}animate(){return m}}class A{constructor(t){this.w=t,this._g=new _(t),this._list=[],this._mx=new Float64Array(16),this._my=new Float64Array(16),this._msize=new Float64Array(16),this._mshape=new Int16Array(16),this._mstyle=new Int32Array(16),this._msi=new Int32Array(16),this._mdi=new Int32Array(16),this._mn=0,this._mcap=16,this._crx=new Float64Array(16),this._cry=new Float64Array(16),this._crw=new Float64Array(16),this._crh=new Float64Array(16),this._crstyle=new Int32Array(16),this._crsi=new Int32Array(16),this._crdi=new Int32Array(16),this._crn=0,this._crcap=16,this._cellRadius=0,this._styles=[],this._styleMap=new Map,this._lf=p,this._ls=p,this._lsw=p,this._ld=p,this._lfo=p,this._lso=p,this._lid=-1,this._lofFill=p,this._lofBase=-1,this._lofId=-1,this._rlf=p,this._rls=p,this._rlsw=p,this._rlfo=p,this._rlso=p,this._rlid=-1}_resetStyleCache(){this._lf=p,this._ls=p,this._lsw=p,this._ld=p,this._lfo=p,this._lso=p,this._lid=-1,this._lofFill=p,this._lofBase=-1,this._lofId=-1,this._rlf=p,this._rls=p,this._rlsw=p,this._rlfo=p,this._rlso=p,this._rlid=-1}reset(){this._list=[],this._mn=0,this._styles=[],this._styleMap=new Map,this._resetStyleCache();const t=this.w.config,e=t.series||[],s=t.markers&&t.markers.size;let i=16,r=16;for(let n=0;n<e.length;n++){const a=e[n],l=a&&Array.isArray(a.data)?a.data.length:0,o=a&&a.type||t.chart&&t.chart.type;"heatmap"===o?r+=l:("scatter"===o||"bubble"===o||(Array.isArray(s)?s[n]:s)>0)&&(i+=l)}i=Math.ceil(1.15*i)+16,i>this._mcap&&this._allocMarkers(i),this._crn=0,this._cellRadius=0,r=Math.ceil(1.15*r)+16,r>this._crcap&&this._allocRects(r)}_allocRects(t){this._crcap=t,this._crx=new Float64Array(t),this._cry=new Float64Array(t),this._crw=new Float64Array(t),this._crh=new Float64Array(t),this._crstyle=new Int32Array(t),this._crsi=new Int32Array(t),this._crdi=new Int32Array(t)}_growRects(){const t=2*this._crcap,e=new Float64Array(t);e.set(this._crx),this._crx=e;const s=new Float64Array(t);s.set(this._cry),this._cry=s;const i=new Float64Array(t);i.set(this._crw),this._crw=i;const r=new Float64Array(t);r.set(this._crh),this._crh=r;const n=new Int32Array(t);n.set(this._crstyle),this._crstyle=n;const a=new Int32Array(t);a.set(this._crsi),this._crsi=a;const l=new Int32Array(t);l.set(this._crdi),this._crdi=l,this._crcap=t}_allocMarkers(t){this._mcap=t,this._mx=new Float64Array(t),this._my=new Float64Array(t),this._msize=new Float64Array(t),this._mshape=new Int16Array(t),this._mstyle=new Int32Array(t),this._msi=new Int32Array(t),this._mdi=new Int32Array(t)}_growMarkers(){const t=2*this._mcap,e=new Float64Array(t);e.set(this._mx),this._mx=e;const s=new Float64Array(t);s.set(this._my),this._my=s;const i=new Float64Array(t);i.set(this._msize),this._msize=i;const r=new Int16Array(t);r.set(this._mshape),this._mshape=r;const n=new Int32Array(t);n.set(this._mstyle),this._mstyle=n;const a=new Int32Array(t);a.set(this._msi),this._msi=a;const l=new Int32Array(t);l.set(this._mdi),this._mdi=l,this._mcap=t}displayList(){return this._list}markerCount(){return this._mn}_internStyle(t,e,s,i,r,n){const a=`${t}|${e}|${s}|${i}|${r}|${n}`,l=this._styleMap.get(a);if(void 0!==l)return l;const o=this._styles.length;return this._styles.push({fill:t,stroke:e,strokeWidth:s,strokeDash:i,fillOpacity:r,strokeOpacity:n}),this._styleMap.set(a,o),o}_setMarkerFill(t,e){const s=this._mstyle[t];if(e===this._lofFill&&s===this._lofBase)return void(this._mstyle[t]=this._lofId);const i=this._styles[s];if(!i||i.fill===e)return this._lofFill=e,this._lofBase=s,void(this._lofId=s);const r=this._internStyle(e,i.stroke,i.strokeWidth,i.strokeDash,i.fillOpacity,i.strokeOpacity);this._mstyle[t]=r,this._lofFill=e,this._lofBase=s,this._lofId=r}markerStyle(t){return this._styles[this._mstyle[t]]}markerSeries(t){return this._msi[t]}drawRectCell(t,e,s,i,r={}){const n=this._rectStyleId(r);this._crn>=this._crcap&&this._growRects();const a=this._crn++;return this._crx[a]=t||0,this._cry[a]=e||0,this._crw[a]=s>0?s:0,this._crh[a]=i>0?i:0,this._crstyle[a]=n,this._crsi[a]=null==r.seriesIndex?-1:r.seriesIndex,this._crdi[a]=null==r.dataPointIndex?-1:r.dataPointIndex,r.radius&&(this._cellRadius=r.radius),k}_rectStyleId(t){const e=t.fill,s=t.stroke,i=t.strokeWidth,r=t.fillOpacity,n=t.strokeOpacity;if(e===this._rlf&&s===this._rls&&i===this._rlsw&&r===this._rlfo&&n===this._rlso)return this._rlid;const a=this._internStyle(e,s,i,0,r,n);return this._rlf=e,this._rls=s,this._rlsw=i,this._rlfo=r,this._rlso=n,this._rlid=a,a}rectCount(){return this._crn}rectStyle(t){return this._styles[this._crstyle[t]]}rectSeries(t){return this._crsi[t]}_cmd(t,e){const s={tag:t,z:e||0,fill:void 0,stroke:void 0,strokeWidth:void 0,strokeDash:void 0,lineCap:void 0,fillOpacity:void 0,strokeOpacity:void 0,fillRule:void 0,clip:null};return this._list.push(s),s}group(t){return x}drawMarker(t,e,s={}){var i;const r=this._markerStyleId(s);this._mn>=this._mcap&&this._growMarkers();const n=this._mn++;return this._mx[n]=t||0,this._my[n]="number"==typeof e?e:NaN,this._msize[n]=s.pSize||0,this._mshape[n]=null!=(i=u[s.shape||"circle"])?i:0,this._mstyle[n]=r,this._msi[n]=null==s.seriesIndex?-1:s.seriesIndex,this._mdi[n]=-1,new w(this,n)}_markerStyleId(t){const e=t.shape||"circle",s="line"===e||"plus"===e||"cross"===e,i=s?"none":t.pointFillColor,r=s?t.pointFillColor:t.pointStrokeColor,n=t.pointStrokeWidth,a=t.pointStrokeDashArray,l=t.pointFillOpacity,o=s?t.pointFillOpacity:t.pointStrokeOpacity;if(i===this._lf&&r===this._ls&&n===this._lsw&&a===this._ld&&l===this._lfo&&o===this._lso)return this._lid;const h=this._internStyle(i,r,n,a,l,o);return this._lf=i,this._ls=r,this._lsw=n,this._ld=a,this._lfo=l,this._lso=o,this._lid=h,h}renderPaths(t){const e=this._cmd("path",t.realIndex);if(e.d=t.pathTo,t.pathToNumeric&&(e.nxs=t.pathToNumeric.xs,e.nys=t.pathToNumeric.ys,e.ncloseY=t.pathToNumeric.closeY),e.stroke=t.stroke,e.strokeWidth=t.strokeWidth,e.fill=t.fill,e.lineCap=t.strokeLinecap||this.w.config.stroke.lineCap,e.strokeDash=this._g.seriesDash(t.realIndex),e.si=t.realIndex,"number"==typeof t.j&&(e.dj=t.j),!1!==t.shouldClipToGrid){const s=this.w.globals;e.clip="bar"===t.chartType&&!s.isBarHorizontal||s.comboCharts?"bar":"grid"}return this.w.globals.animationEnded=!0,new b(e)}drawPath(t){const e=this._cmd("path",0);return e.d=t.d,e.stroke=t.stroke,e.strokeWidth=t.strokeWidth,e.fill=t.fill,e.fillOpacity=t.fillOpacity,e.strokeOpacity=t.strokeOpacity,e.lineCap=t.strokeLinecap||this.w.config.stroke.lineCap,e.strokeDash=t.strokeDashArray,new b(e)}drawLine(t,e,s,i,r="#a8a8a8",n=0,a=1,l="butt"){const o=this._cmd("line",0);return o.lineCap=l,o.lx1=t,o.ly1=e,o.lx2=s,o.ly2=i,o.stroke=r,o.strokeDash=n,o.strokeWidth=a,new b(o)}drawRect(t=0,e=0,s=0,i=0,r=0,n="#fefefe",a=1,l=null,o=null,h=0){const c=this._cmd("rect",0);return c.x1=t,c.y1=e,c.rw=s>0?s:0,c.rh=i>0?i:0,c.radius=r,c.fill=n,c.fillOpacity=a,null!=o&&(c.stroke=o,c.strokeWidth=null==l?1:l,c.strokeDash=h),new b(c)}drawCircle(t,e=null){const s=this._cmd("circle",0);s.r=t<0?0:t;const i=new b(s);return e&&(s.cx=e.cx,s.cy=e.cy,i.attr(e)),i}drawText(t){const e=this._cmd("text",0);e.text=Array.isArray(t.text)?t.text.join(" "):t.text,e.tx=t.x,e.ty=t.y,e.textAnchor=t.textAnchor||"start";const s=this.w.config.chart;return e.fontSize=t.fontSize,e.fontFamily=t.fontFamily||s.fontFamily,e.fontWeight=t.fontWeight,e.fill=t.foreColor||s.foreColor,new b(e)}markerPath(t,e,s,i){return this._g.getMarkerPath(t,e,f[s]||"circle",i)}}const v=globalThis.ApexCharts.__internals.__apex_SVGElement,C=globalThis.ApexCharts.__internals,M=C.__apex_math_SVGNS;C.__apex_math_Point,C.__apex_math_Matrix,C.__apex_math_Box;const S=globalThis.ApexCharts.__internals.__apex_BrowserAPIs_BrowserAPIs,P=globalThis.ApexCharts.__internals.__apex_axes_Grid,I=2*Math.PI;class F{constructor(t){this.w=t,this._host=null,this._canvas=null,this._c2d=null,this._pad={left:0,top:0,right:0,bottom:0},this._clips=null,this._clipRect=null,this._dpr=1,this._dim=null,this._alpha=1,this._unitPaths=new Map,this._markerBatches=0}markerBatchCount(){return this._markerBatches}_seriesAlpha(t){const e=this._dim;return!e||null==e.active||e.active<0||null==t||t<0||t===e.active?1:null==e.opacity?.2:e.opacity}_plotDims(){var t;const e=Math.max(0,Math.ceil(this.w.layout.gridWidth||0)),s=Math.max(0,Math.ceil(this.w.layout.gridHeight||0)),i=(null==(t=this.w.globals.markers)?void 0:t.largestSize)||0,r=Math.ceil(i+8),n=P.maskRects(this.w),a={left:r,top:r,right:r,bottom:r},l=t=>Number.isFinite(t)?Math.ceil(t):0;return Object.values(n).forEach(t=>{a.left=Math.max(a.left,l(-t.x)),a.top=Math.max(a.top,l(-t.y)),a.right=Math.max(a.right,l(t.x+t.width-e)),a.bottom=Math.max(a.bottom,l(t.y+t.height-s))}),{gw:e,gh:s,pad:a,clips:n}}createHost(){const t=S.getWindow();this._dpr=Math.min(2,t&&t.devicePixelRatio||1);const{gw:e,gh:s,pad:i,clips:r}=this._plotDims();this._pad=i,this._clips=r;const n=e+i.left+i.right,a=s+i.top+i.bottom,l=S.createElementNS(M,"foreignObject");l.setAttribute("x",String(-i.left)),l.setAttribute("y",String(-i.top)),l.setAttribute("width",String(n)),l.setAttribute("height",String(a)),l.setAttribute("class","apexcharts-canvas-series"),l.style.overflow="visible";const o=S.createElement("canvas");return o.setAttribute("class","apexcharts-series-canvas"),o.width=Math.max(1,Math.round(n*this._dpr)),o.height=Math.max(1,Math.round(a*this._dpr)),o.style.width=n+"px",o.style.height=a+"px",o.style.pointerEvents="none",l.appendChild(o),this._canvas=o,this._c2d=o.getContext("2d"),this._host=new v(l),this._host}getHost(){return this._host}clipRect(t){const e=t&&this._clips?this._clips[t]:null;return e&&Number.isFinite(e.x)&&Number.isFinite(e.y)&&Number.isFinite(e.width)&&Number.isFinite(e.height)?e:null}_clipTo(t,e){const s=this.clipRect(e);if(s!==this._clipRect&&(this._clipRect&&t.restore(),this._clipRect=s,s)){const e=this._dpr,{left:i,top:r}=this._pad,n=Math.floor((i+s.x)*e),a=Math.floor((r+s.y)*e),l=Math.ceil((i+s.x+s.width)*e),o=Math.ceil((r+s.y+s.height)*e);t.save(),t.setTransform(1,0,0,1,0,0),t.beginPath(),t.rect(n,a,l-n,o-a),t.clip(),t.setTransform(e,0,0,e,i*e,r*e)}}clear(){this._c2d&&this._canvas&&(this._c2d.setTransform(1,0,0,1,0,0),this._c2d.clearRect(0,0,this._canvas.width,this._canvas.height))}_syncDpr(){if(!this._canvas)return;const t=S.getWindow(),e=Math.min(2,t&&t.devicePixelRatio||1);if(e===this._dpr)return;this._dpr=e;const s=parseFloat(this._canvas.style.width)||0,i=parseFloat(this._canvas.style.height)||0;this._canvas.width=Math.max(1,Math.round(s*e)),this._canvas.height=Math.max(1,Math.round(i*e))}paint(t,e,s=null){const i=this._c2d;if(!i)return;this._dim=s||null,this._syncDpr(),this.clear();const r=this._dpr,{left:n,top:a}=this._pad;if(i.setTransform(r,0,0,r,n*r,a*r),this._clipRect=null,t.length){const e=t.length>1?t.map((t,e)=>[t,e]).sort((t,e)=>t[0].z===e[0].z?t[1]-e[1]:t[0].z-e[0].z).map(t=>t[0]):t;for(let t=0;t<e.length;t++){const s=e[t];this._alpha=this._dim?this._seriesAlpha(s.si):1,this._clipTo(i,s.clip),this._paintOne(i,s)}this._clipTo(i,null)}this._paintRects(i,e),this._clipTo(i,"marker"),this._paintMarkers(i,e),this._clipTo(i,null),this._alpha=1}_paintRects(t,e){const s=e.rectCount?e.rectCount():0;if(!s)return;const i=e._crx,r=e._cry,n=e._crw,a=e._crh,l=e._crstyle,o=e._cellRadius||0,h=t,c=o>0&&"function"==typeof h.roundRect,_=!!this._dim,d=Math.max(0,this.w.layout.gridWidth||0),p=Math.max(0,this.w.layout.gridHeight||0);t.save(),t.beginPath(),t.rect(0,0,d,p),t.clip();let u=0;for(;u<s;){const d=l[u],p=e.rectStyle(u);if(!p){u++;continue}const f=p.fill,y=f&&"none"!==f&&!("string"==typeof f&&0===f.indexOf("url(")),m=p.stroke,g=null==p.strokeWidth?0:Number(p.strokeWidth),x=m&&"none"!==m&&g>0&&!("string"==typeof m&&0===m.indexOf("url("));y&&(t.fillStyle=f),x&&(t.strokeStyle=m,t.lineWidth=g,t.setLineDash([]));const w=null==p.fillOpacity?1:Number(p.fillOpacity),k=null==p.strokeOpacity?1:Number(p.strokeOpacity);let b=u;for(;b<s&&l[b]===d;){const s=n[b],l=a[b];if(s>0&&l>0){const n=_?this._seriesAlpha(e.rectSeries(b)):1;c?(t.beginPath(),h.roundRect(i[b],r[b],s,l,o),y&&(t.globalAlpha=w*n,t.fill()),x&&(t.globalAlpha=k*n,t.stroke())):(y&&(t.globalAlpha=w*n,t.fillRect(i[b],r[b],s,l)),x&&(t.globalAlpha=k*n,t.strokeRect(i[b],r[b],s,l)))}b++}u=b}t.globalAlpha=1,t.restore()}_unitPath(t,e,s){const i=e+"|"+s;let r=this._unitPaths.get(i);if(void 0===r){try{r=new Path2D(t.markerPath(0,0,e,s))}catch(t){r=null}this._unitPaths.set(i,r)}return r}_paintMarkers(t,e){this._markerBatches=0;const s=e.markerCount();if(!s)return;const i=e._mx,r=e._my,n=e._msize,a=e._mshape,l=e._mstyle,o=!!this._dim;o||(this._alpha=1);let h=0;for(;h<s;){const c=l[h],_=a[h],d=e.markerStyle(h);if(!d){h++;continue}const p=this._applyFill(t,d),u=this._applyStroke(t,d);this._markerBatches++;const f=null==d.fillOpacity?1:Number(d.fillOpacity),y=null==d.strokeOpacity?1:Number(d.strokeOpacity);if(0===_){let _=h;for(;_<s&&0===a[_]&&l[_]===c;){const s=n[_]||0,a=r[_];if(s>0&&a==a)if(t.beginPath(),t.arc(i[_],a,s,0,I),o){const s=this._seriesAlpha(e.markerSeries(_));p&&(t.globalAlpha=f*s,t.fill()),u&&(t.globalAlpha=y*s,t.stroke())}else p&&t.fill(),u&&t.stroke();_++}t.globalAlpha=1,h=_}else{const d=this._dpr,m=this._pad.left,g=this._pad.top;let x=h;for(;x<s&&a[x]===_&&l[x]===c;){const s=r[x],a=n[x];if(s==s&&a>0){const r=this._unitPath(e,_,a);if(r){t.setTransform(d,0,0,d,(m+i[x])*d,(g+s)*d);const n=o?this._seriesAlpha(e.markerSeries(x)):1;p&&(t.globalAlpha=f*n,t.fill(r)),u&&(t.globalAlpha=y*n,t.stroke(r))}}x++}t.setTransform(d,0,0,d,m*d,g*d),t.globalAlpha=1,h=x}}}_paintNumericPath(t,e){const s=e.nxs,i=e.nys,r=s.length;if(r){t.beginPath(),t.moveTo(s[0],i[0]);for(let e=1;e<r;e++)t.lineTo(s[e],i[e]);null!=e.ncloseY&&(t.lineTo(s[r-1],e.ncloseY),t.lineTo(s[0],e.ncloseY),t.closePath()),this._applyFill(t,e)&&t.fill("evenodd"===e.fillRule?"evenodd":"nonzero"),this._applyStroke(t,e)&&t.stroke(),t.globalAlpha=1}}_paintOne(t,e){switch(e.tag){case"path":if(e.nxs){this._paintNumericPath(t,e);break}if(!e.d)return;if(!e.path2d)try{e.path2d=new Path2D(e.d)}catch(t){return}this._fillStrokePath(t,e,e.path2d);break;case"rect":{const s=new Path2D;e.radius&&"function"==typeof s.roundRect?s.roundRect(e.x1,e.y1,e.rw,e.rh,e.radius):s.rect(e.x1,e.y1,e.rw,e.rh),this._fillStrokePath(t,e,s);break}case"circle":if(!(e.r>0))return;t.beginPath(),t.arc(e.cx,e.cy,e.r,0,I),this._fillStroke(t,e);break;case"line":t.beginPath(),t.moveTo(e.lx1,e.ly1),t.lineTo(e.lx2,e.ly2),this._strokeOnly(t,e);break;case"text":{if(null==e.text)return;t.save(),t.globalAlpha=this._alpha,t.fillStyle=e.fill||"#000";const s=e.fontSize||"11px",i=e.fontWeight;t.font=`${i&&"regular"!==i?i+" ":""}${"number"==typeof s?s+"px":s} ${e.fontFamily||"Helvetica, Arial, sans-serif"}`,t.textAlign="middle"===e.textAnchor?"center":"end"===e.textAnchor?"right":"left",t.fillText(String(e.text),e.tx,e.ty),t.restore();break}}}_fillStrokePath(t,e,s){this._applyFill(t,e)&&t.fill(s,"evenodd"===e.fillRule?"evenodd":"nonzero"),this._applyStroke(t,e)&&t.stroke(s),t.globalAlpha=1}_fillStroke(t,e){this._applyFill(t,e)&&t.fill(),this._applyStroke(t,e)&&t.stroke(),t.globalAlpha=1}_strokeOnly(t,e){this._applyStroke(t,e)&&t.stroke(),t.globalAlpha=1}_applyFill(t,e){const s=e.fill;return!(!s||"none"===s||"string"==typeof s&&0===s.indexOf("url(")||(t.globalAlpha=(null==e.fillOpacity?1:Number(e.fillOpacity))*this._alpha,t.fillStyle=s,0))}_applyStroke(t,e){const s=e.stroke,i=null==e.strokeWidth?1:Number(e.strokeWidth);if(!(s&&"none"!==s&&i>0))return!1;if("string"==typeof s&&0===s.indexOf("url("))return!1;t.globalAlpha=(null==e.strokeOpacity?1:Number(e.strokeOpacity))*this._alpha,t.strokeStyle=s,t.lineWidth=i,t.lineCap=e.lineCap||"butt";const r=e.strokeDash;return r&&0!==r?t.setLineDash(Array.isArray(r)?r:[Number(r)]):t.setLineDash([]),!0}toDataURL(){return this._canvas?this._canvas.toDataURL():null}destroy(){this._host=null,this._canvas=null,this._c2d=null,this._clips=null,this._clipRect=null,this._unitPaths.clear()}}class O{constructor(t,e){this.w=t,this.ctx=e,this.kind="canvas",this._g=new A(t),this._compositor=new F(t),this._hitCtx=void 0}beginSeries(){this._g.reset()}present(){const t=this._compositor.createHost();return this._compositor.paint(this._g.displayList(),this._g),t}clear(){this._compositor.clear()}canRepaintInPlace(){const t=this._compositor.getHost();return!!(t&&t.node&&t.node.isConnected)}repaintInPlace(){this._compositor.paint(this._g.displayList(),this._g)}group(t){return this._g.group(t)}drawPath(t){return this._g.drawPath(t)}drawLine(...t){return this._g.drawLine(...t)}drawRect(...t){return this._g.drawRect(...t)}drawRectCell(t,e,s,i,r){return this._g.drawRectCell(t,e,s,i,r)}drawCircle(t,e){return this._g.drawCircle(t,e)}drawMarker(t,e,s){return this._g.drawMarker(t,e,s)}renderPaths(t){return this._g.renderPaths(t)}drawText(t){return this._g.drawText(t)}supports(t){return"solidFill"===t||"dashArray"===t}hitTest(t,e){const s=this._g,i=s.rectCount?s.rectCount():0,r=s._crx,n=s._cry,a=s._crw,l=s._crh;for(let o=i-1;o>=0;o--){const i=a[o],h=l[o];if(!(i<=0||h<=0)&&t>=r[o]&&t<r[o]+i&&e>=n[o]&&e<n[o]+h)return{seriesIndex:s._crsi[o],dataPointIndex:s._crdi[o],x:r[o],y:n[o],width:i,height:h}}return this._hitTestMarks(t,e)}_hitTestMarks(t,e){const s=this._g.displayList();for(let i=s.length-1;i>=0;i--){const r=s[i];if("path"!==r.tag||null==r.dj||!r.d)continue;const n=!!r.fill&&"none"!==r.fill,a=!!r.stroke&&"none"!==r.stroke&&r.strokeWidth>0;if(!n&&!a)continue;const l=this._compositor.clipRect(r.clip);if(l&&(t<l.x||t>l.x+l.width||e<l.y||e>l.y+l.height))continue;const h=y(r);if(!h)continue;const c=a?5*r.strokeWidth:0;if(t<h.x-c||t>h.x+h.width+c||e<h.y-c||e>h.y+h.height+c)continue;const _=this._hitContext();if(!_)return null;if(!r.path2d)try{r.path2d=new Path2D(r.d)}catch(t){continue}const d="evenodd"===r.fillRule?"evenodd":"nonzero";let p=n&&_.isPointInPath(r.path2d,t,e,d);if(!p&&a&&(_.lineWidth=r.strokeWidth,_.lineCap=r.lineCap||"butt",p=_.isPointInStroke(r.path2d,t,e)),p)return o({seriesIndex:r.si,dataPointIndex:r.dj},h)}return null}hitTestMarker(t,e){const s=this._g,i=s.markerCount();if(!i)return null;const r=this._compositor.clipRect("marker");if(r&&(t<r.x||t>r.x+r.width||e<r.y||e>r.y+r.height))return null;for(let r=i-1;r>=0;r--){const i=s._msize[r],n=s._mx[r],a=s._my[r],l=s._mdi[r];if(!(i>0)||a!=a||l<0)continue;const o=s.markerStyle(r),h=!!(null==o?void 0:o.stroke)&&"none"!==o.stroke&&o.strokeWidth>0,c=h?o.strokeWidth/2:0,_=1.2*i+c,d=t-n,p=e-a;if(d<-_||d>_||p<-_||p>_)continue;let u;if(u=0===s._mshape[r]?d*d+p*p<=(i+c)*(i+c):this._hitsMarkerShape(r,d,p,i,o,h),u)return{seriesIndex:s._msi[r],dataPointIndex:l,x:n,y:a,size:i}}return null}_hitsMarkerShape(t,e,s,i,r,n){const a=this._hitContext();if(!a)return!1;let l;try{l=new Path2D(this._g.markerPath(0,0,this._g._mshape[t],i))}catch(t){return!1}return!(!(null==r?void 0:r.fill)||"none"===r.fill||!a.isPointInPath(l,e,s))||!!n&&(a.lineWidth=r.strokeWidth,a.lineCap="butt",a.isPointInStroke(l,e,s))}findMark(t,e){const s=this._g.displayList();for(let i=0;i<s.length;i++){const r=s[i];if("path"!==r.tag||!r.d)continue;if(r.si!==t||r.dj!==e)continue;const n=y(r);if(n)return h(o({seriesIndex:t,dataPointIndex:e},n),{d:r.d})}return null}findMarker(t,e){const s=this._g;for(let i=s.markerCount()-1;i>=0;i--){if(s._msi[i]!==t||s._mdi[i]!==e)continue;const r=s._msize[i],n=s._my[i];if(!(r>0)||n!=n)continue;const a=s._mx[i];return{seriesIndex:t,dataPointIndex:e,x:a,y:n,size:r,d:s.markerPath(a,n,s._mshape[i],r)}}return null}findCell(t,e){const s=this._g,i=s.rectCount?s.rectCount():0,r=s._crsi,n=s._crdi;for(let a=i-1;a>=0;a--)if(r[a]===t&&n[a]===e)return{seriesIndex:t,dataPointIndex:e,x:s._crx[a],y:s._cry[a],width:s._crw[a],height:s._crh[a],radius:s._cellRadius||0};return null}_hitContext(){if(void 0===this._hitCtx){const t=S.createElement("canvas");this._hitCtx=(null==t?void 0:t.getContext)&&t.getContext("2d")||null}return this._hitCtx}restyle(t){this._compositor.paint(this._g.displayList(),this._g,t||null)}toBitmap(){const t=this._compositor.toDataURL();if(!t)return null;const e=this.w.globals,s=this.w.config.chart,i=this._compositor._pad;return{dataURL:t,x:(e.translateX||0)+(s.offsetX||0)-i.left,y:(e.translateY||0)+(s.offsetY||0)-i.top,w:(this.w.layout.gridWidth||0)+i.left+i.right,h:(this.w.layout.gridHeight||0)+i.top+i.bottom}}destroy(){this._compositor.destroy(),this._hitCtx=void 0}}c.registerRenderer("canvas",(t,e)=>new O(t,e)),t.default=c,Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).ApexRendererCanvas={})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* ApexCharts v8.
|
|
2
|
+
* ApexCharts v8.4.0
|
|
3
3
|
* (c) 2018-2026 ApexCharts
|
|
4
4
|
*/
|
|
5
5
|
"use strict";var t=Object.defineProperty,e=Object.defineProperties,r=Object.getOwnPropertyDescriptors,n=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,i=(e,r,n)=>r in e?t(e,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[r]=n,a=(t,e)=>{for(var r in e||(e={}))s.call(e,r)&&i(t,r,e[r]);if(n)for(var r of n(e))o.call(e,r)&&i(t,r,e[r]);return t},l=(t,n)=>e(t,r(n));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});function u(t){if(t&&t.__esModule)return t;const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t)for(const r in t)if("default"!==r){const n=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,n.get?n:{enumerable:!0,get:()=>t[r]})}return e.default=t,Object.freeze(e)}const c=u(require("apexcharts/core")),f=c.__apex_Utils,h="__apexcharts_series_transforms__";function d(t,e){t&&"string"==typeof t?"function"==typeof e?globalThis[h][t]=e:console.warn(`ApexCharts: registerSeriesTransform("${t}") expects a function (series, w) => series.`):console.warn("ApexCharts: registerSeriesTransform requires a non-empty name.")}globalThis[h]||(globalThis[h]={});const y="__apexcharts_row_sources__";function g(t,e){t&&"string"==typeof t?"function"==typeof e?globalThis[y][t]=e:console.warn(`ApexCharts: registerRowSource("${t}") expects a function (w, opts) => series.`):console.warn("ApexCharts: registerRowSource requires a non-empty name.")}function p(t){return(t.collapsedSeriesIndices||[]).concat(t.ancillaryCollapsedSeriesIndices||[])}function b(t,e){const r=(e.collapsedSeries||[]).concat(e.ancillaryCollapsedSeries||[]);return t.map((t,e)=>{const i=t||{},{hidden:u}=i,c=((t,e)=>{var r={};for(var i in t)s.call(t,i)&&e.indexOf(i)<0&&(r[i]=t[i]);if(null!=t&&n)for(var i of n(t))e.indexOf(i)<0&&o.call(t,i)&&(r[i]=t[i]);return r})(i,["hidden"]);let f=c.data;if(Array.isArray(f)&&!f.length){const t=r.find(t=>t.index===e);t&&Array.isArray(t.data)&&(f=t.data)}return l(a({},c),{data:Array.isArray(f)?f.slice():f})})}globalThis[y]||(globalThis[y]={});function m(t,e){const r=t.length;if(0===r)return NaN;if(1===r)return t[0];const n=(r-1)*e,s=Math.floor(n),o=Math.ceil(n);return s===o?t[s]:t[s]+(t[o]-t[s])*(n-s)}function w(t,e={}){if(!Array.isArray(t)||0===t.length)return null;const r=t.slice().sort((t,e)=>t-e);let n=r[0],s=r[r.length-1];const o=e.range;if(Array.isArray(o)&&2===o.length){const t=Number(o[0]),e=Number(o[1]);Number.isFinite(t)&&Number.isFinite(e)&&e>t&&(n=t,s=e)}if(!(s>n)){const t=Math.abs(n)>0?.05*Math.abs(n):.5;return{edges:[n-t,n+t],binWidth:2*t,rule:"single",capped:!1}}const i=s-n;let a,l;if("number"==typeof e.binWidth&&e.binWidth>0)a=e.binWidth,l="binWidth";else if("number"==typeof e.bins&&e.bins>=1)a=i/Math.floor(e.bins),l="count";else{const t=function(t,e,r){const n=t.length,s=t=>e/Math.max(1,Math.ceil(t)),o=()=>s(Math.log2(n)+1);switch(r){case"sqrt":return{width:s(Math.sqrt(n)),rule:"sqrt"};case"rice":return{width:s(2*Math.cbrt(n)),rule:"rice"};case"scott":{const e=function(t){const e=t.length;if(e<2)return 0;let r=0;for(let n=0;n<e;n++)r+=t[n];const n=r/e;let s=0;for(let r=0;r<e;r++){const e=t[r]-n;s+=e*e}return Math.sqrt(s/e)}(t);return e>0?{width:3.49*e*Math.pow(n,-1/3),rule:"scott"}:{width:o(),rule:"sturges"}}case"fd":{const e=m(t,.75)-m(t,.25);return e>0?{width:2*e*Math.pow(n,-1/3),rule:"fd"}:{width:o(),rule:"sturges"}}case"auto":{const e=o(),r=m(t,.75)-m(t,.25);if(r<=0)return{width:e,rule:"sturges"};const s=2*r*Math.pow(n,-1/3);return s<e?{width:s,rule:"fd"}:{width:e,rule:"sturges"}}default:return{width:o(),rule:"sturges"}}}(r,i,"string"==typeof e.bins?e.bins:"auto");a=t.width,l=t.rule}(!Number.isFinite(a)||a<=0)&&(a=i);let u=Math.ceil(i/a);(!Number.isFinite(u)||u<1)&&(u=1);let c=!1;u>1e3&&(u=1e3,c=!0),a=i/u;const f=new Array(u+1);for(let t=0;t<=u;t++)f[t]=n+t*a;return f[u]=Math.max(f[u],s),{edges:f,binWidth:a,rule:l,capped:c}}function v(t,e){const r=e.length-1;if(!(t>=e[0])||t>e[r])return-1;if(t===e[r])return r-1;const n=(e[r]-e[0])/r;if(n>0){let s=Math.floor((t-e[0])/n);return s<0&&(s=0),s>r-1&&(s=r-1),t<e[s]?s--:t>=e[s+1]&&s++,s<0||s>r-1?-1:s}let s=0,o=r-1;for(;s<=o;){const r=s+o>>1;if(t<e[r])o=r-1;else{if(!(t>=e[r+1]))return r;s=r+1}}return-1}function A(t,e){const r=Math.max(0,e.length-1),n=new Array(r);for(let t=0;t<r;t++)n[t]=[];for(let r=0;r<t.length;r++){const s=v(t[r],e);s>=0&&n[s].push(t[r])}return n}function x(t,e={}){if(!Array.isArray(t)||0===t.length)return null;const r=t.slice().sort((t,e)=>t-e),n=m(r,.25),s=m(r,.5),o=m(r,.75),i=o-n;let a=r[0],l=r[r.length-1],u=[];if("tukey"===e.whiskers&&i>0){const t=n-1.5*i,e=o+1.5*i;let s=0;for(;s<r.length&&r[s]<t;)s++;let c=r.length-1;for(;c>=0&&r[c]>e;)c--;s<=c&&(a=r[s],l=r[c],u=r.slice(0,s).concat(r.slice(c+1)))}return{summary:[a,n,s,o,l],outliers:u,iqr:i}}function M(t,e={}){if(!Array.isArray(t)||0===t.length)return null;const r=t.slice().sort((t,e)=>t-e),n=r.length;let s=e.bandwidth;if(!("number"==typeof s&&s>0)){const t=function(t){const e=t.length;if(e<2)return 0;let r=0;for(let n=0;n<e;n++)r+=t[n];const n=r/e;let s=0;for(let r=0;r<e;r++){const e=t[r]-n;s+=e*e}return Math.sqrt(s/e)}(r),e=m(r,.75)-m(r,.25);s=.9*(e>0?Math.min(t,e/1.349):t)*Math.pow(n,-.2)}if(!isFinite(s)||s<=0){const t=r[0],e=Math.abs(t)>0?.001*Math.abs(t):.001;return{density:[[t-e,0],[t,1],[t+e,0]],bandwidth:e}}const o=Math.max(8,Math.floor(e.resolution||64)),i=r[0]-2*s,a=(r[n-1]+2*s-i)/(o-1),l=1/(n*s*Math.sqrt(2*Math.PI)),u=[];for(let t=0;t<o;t++){const e=i+t*a;let o=0;for(let t=0;t<n;t++){const n=(e-r[t])/s;o+=Math.exp(-.5*n*n)}u.push([e,o*l])}return{density:u,bandwidth:s}}function O(t){const e=[];if(!Array.isArray(t))return e;for(let r=0;r<t.length;r++){const n=t[r];let s=n;Array.isArray(n)?s=1===n.length?n[0]:n[1]:n&&"object"==typeof n&&(s=void 0!==n.y?n.y:n.x);const o=f.parseNumber(s);null!==o&&isFinite(o)&&e.push(o)}return e}function S(t,e){var r;const n=e.config,s=e.globals;if(!Array.isArray(t))return t;s.histogramRawSeries||(s.histogramRawSeries=b(t,s));const o=s.histogramRawSeries,i=(null==(r=n.plotOptions)?void 0:r.histogram)||{},u=o.map(t=>O(null==t?void 0:t.data));let c=[];if(1===u.length)c=u[0];else for(const t of u)c=c.concat(t);const f=w(c,{bins:i.bins,binWidth:i.binWidth,range:i.range});if(!f)return e.histogramData={edges:[],binWidth:0,counts:[],rule:"",capped:!1},o;const{edges:h,binWidth:d}=f,y=u.map(t=>function(t,e){const r=new Array(Math.max(0,e.length-1)).fill(0);for(let n=0;n<t.length;n++){const s=v(t[n],e);s>=0&&r[s]++}return r}(t,h));e.histogramData={edges:h,binWidth:d,counts:y,rule:f.rule,capped:f.capped};const g=p(s);return e.seriesObservations=u.map((t,e)=>({values:t,byPoint:-1!==g.indexOf(e)?[]:A(t,h)})),o.map((t,e)=>{if(-1!==g.indexOf(e))return l(a({},t),{data:[]});const r=function(t,e={}){let r=t.slice();if(e.cumulative){let t=0;r=r.map(e=>t+=e)}const n=t.reduce((t,e)=>t+e,0);if(n<=0)return r;if("relative"===e.normalize)return r.map(t=>t/n*100);if("density"===e.normalize){const t=e.binWidth;if("number"==typeof t&&t>0)return r.map(e=>e/(n*t))}return r}(y[e],{normalize:i.normalize,cumulative:i.cumulative,binWidth:d}),n=[];for(let t=0;t<r.length;t++)n.push({x:(h[t]+h[t+1])/2,y:r[t]});return l(a({},t),{data:n})})}function P(t,e){var r,n;return $(t,e,"boxPlot",{whiskers:(null==(n=null==(r=e.config.plotOptions)?void 0:r.boxPlot)?void 0:n.whiskers)||"minmax"},x,t=>Array.isArray(null==t?void 0:t.y)&&5===t.y.length&&t.y,(t,e,r)=>l(a({},t),{y:e.summary,points:r}))}function _(t,e){var r,n;const s=(null==(n=null==(r=e.config.plotOptions)?void 0:r.violin)?void 0:n.kde)||{};return $(t,e,"violin",{bandwidth:s.bandwidth,resolution:s.resolution},M,t=>{var e;return Array.isArray(null==(e=null==t?void 0:t.y)?void 0:e.density)&&t.y.density.length&&t.y.density},(t,e,r)=>l(a({},t),{y:l(a({},t.y&&"object"==typeof t.y&&!Array.isArray(t.y)?t.y:{}),{density:e.density,points:r})}))}function $(t,e,r,n,s,o,i){if(!Array.isArray(t))return t;const u=function(t,e){const r=t.statsDerived||(t.statsDerived={});return r[e]||(r[e]=new Map)}(e,r),c=[],h=t.map((t,e)=>{if(!Array.isArray(null==t?void 0:t.data)||t.type&&t.type!==r)return t;let h=!1;const d=new Array(t.data.length).fill(null),y=t.data.map((t,a)=>{const l=e+":"+a,c=o(t);if(c&&!function(t,e,r){const n=(t.get(e)||{}).e;return!!n&&JSON.stringify(n.density||n.summary)===JSON.stringify(r)}(u,l,c))return t;const y=function(t,e){var r;if(!t||"object"!=typeof t||Array.isArray(t))return null;let n=null;if(Array.isArray(t.points)?n=t.points:Array.isArray(null==(r=t.y)?void 0:r.points)?n=t.y.points:e&&Array.isArray(t.y)&&"number"==typeof t.y[0]&&(n=t.y),!n)return null;const s=[];for(let t=0;t<n.length;t++){const e=f.parseNumber(n[t]);null!==e&&isFinite(e)&&s.push(e)}return s.length?s:null}(t,"violin"===r);if(!y)return t;const g=function(t,e,r,n,s){const o=JSON.stringify(n)+r;let i=t.get(e);return i&&i.s===o||t.set(e,i={s:o,e:s(r,n)}),i.e}(u,l,y,n,s);return g?(h=!0,d[a]=y,i(t,g,y)):t});return h&&(c[e]=d),h?l(a({},t),{data:y}):t});return function(t,e,r){if(!e.length)return;const n=[];for(let t=0;t<r;t++){const r=e[t];if(!r){n.push(null);continue}const s=[];for(const t of r)if(t)for(let e=0;e<t.length;e++)s.push(t[e]);n.push({values:s,byPoint:r})}t.seriesObservations=n}(e,c,t.length),h}function N(t,e,r){const n=r&&null!=r.maxRows?r.maxRows:3e3,s=function(t,e){let r=0,n=0;for(const e of t)r+=e.length,e.length>n&&(n=e.length);if(r<=e)return{clusters:t,stride:1,total:r,kept:r};const s=e=>{let r=0;for(const n of t)r+=Math.ceil(n.length/e);return r};let o=Math.max(2,Math.ceil(r/e));for(;o<n&&s(o)>e;)o++;let i=0;return{clusters:t.map(t=>{const e=[];for(let r=0;r<t.length;r+=o)e.push(t[r]);return i+=e.length,e}),stride:o,total:r,kept:i}}(e.map(t=>t.rows),n);s.stride>1&&console.warn(`ApexCharts: rowSeries() thinned ${s.total} rows to ${s.kept} (every ${s.stride}${2===s.stride?"nd":3===s.stride?"rd":"th"} row) to stay under maxRows=${n}. Raise maxRows to draw more.`);const o=t.globals&&t.globals.colors||[];return e.map((t,e)=>{const r=o[t.realIndex]||o[0];return{name:t.name,data:s.clusters[e].map((n,s)=>a({id:`${t.realIndex}:${e}:${s}`,x:t.name,y:n},r?{fillColor:r}:{}))}})}function j(t,e){const r=t.globals,n=t.histogramData,s=r&&r.histogramRawSeries;if(!n||!Array.isArray(n.edges)||n.edges.length<2)return null;if(!Array.isArray(s)||!s.length)return null;const o=p(r),i=n.edges,a=[];return s.forEach((e,r)=>{var n;if(-1!==o.indexOf(r))return;const l=A(O(e&&e.data),i),u=t.seriesData&&(null==(n=t.seriesData.seriesNames)?void 0:n[r])||(null==e?void 0:e.name);l.forEach((t,e)=>{const n=`${R(i[e])}-${R(i[e+1])}`;a.push({name:s.length>1&&u?`${u} ${n}`:n,realIndex:r,rows:t})})}),a.length?N(t,a,e):null}function R(t){if(!isFinite(t))return String(t);const e=Math.round(t);return Math.abs(t-e)<1e-6?String(e):String(Number(t.toFixed(2)))}function D(t){return(e,r)=>{var n;const s=t(e);if(!Array.isArray(s)||!s.length)return null;const o=e.globals?p(e.globals):[],i=e.globals&&((null==(n=e.globals.categoryLabels)?void 0:n.length)?e.globals.categoryLabels:e.globals.labels)||[],a=[];return s.forEach((t,r)=>{var n;if(-1!==o.indexOf(r))return;if(!Array.isArray(t))return;const l=e.seriesData&&(null==(n=e.seriesData.seriesNames)?void 0:n[r]);t.forEach((t,e)=>{const n=null!=i[e]?String(i[e]):`#${e+1}`;a.push({name:s.length>1&&l?`${l} ${n}`:n,realIndex:r,rows:Array.isArray(t)?t.slice():[]})})}),a.length?N(e,a,r):null}}const T=D(t=>{var e;return null==(e=t.candleData)?void 0:e.seriesBoxPoints}),W=D(t=>{var e;return null==(e=t.violinData)?void 0:e.seriesViolinPoints});d("histogram",S),d("boxPlot",P),d("violin",_),g("histogram",j),g("boxPlot",T),g("violin",W),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>c.default}),exports.boxPlotRows=T,exports.boxPlotTransform=P,exports.histogramRows=j,exports.histogramTransform=S,exports.violinRows=W,exports.violinTransform=_;
|
package/dist/features/stats.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* ApexCharts v8.
|
|
2
|
+
* ApexCharts v8.4.0
|
|
3
3
|
* (c) 2018-2026 ApexCharts
|
|
4
4
|
*/
|
|
5
5
|
!function(t){var e="undefined"!=typeof globalThis?globalThis:self,r=e.ApexCharts;if(r&&r.__internals)return t.call(e);if(r)throw new Error("ApexCharts: dist/features/stats.js cannot register: the ApexCharts on this page has no add-on surface (a script before 7.0, or a bundled apexcharts/core class). Load apexcharts.min.js, apexcharts.core.min.js or apexcharts.full.min.js.");if("function"==typeof define&&define.amd)return t.call(e);if("object"==typeof exports&&"undefined"!=typeof module||"undefined"==typeof window||"undefined"==typeof document)throw new Error("ApexCharts: dist/features/stats.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 n={file:"dist/features/stats.js",run:t,done:!1},s=e.__apexcharts_pending_addons__||(e.__apexcharts_pending_addons__=[]);s.push(n),"complete"!==document.readyState&&window.addEventListener("load",function(){if(!n.done){var r=e.ApexCharts;if(r)if(r.__internals){n.done=!0;var i=s.indexOf(n);-1!==i&&s.splice(i,1);try{t.call(e),r.__drainsAddons||e.console.warn("ApexCharts: dist/features/stats.js loaded before the ApexCharts script, which is older than 8.0 and does not pick up add-ons loaded first, so it registered only when the page finished loading. Put its tag after the ApexCharts script.")}catch(t){e.console.error("ApexCharts: dist/features/stats.js could not register with the ApexCharts script on this page: "+(t&&t.message))}}else e.console.error("ApexCharts: dist/features/stats.js cannot register: the ApexCharts on this page has no add-on surface (a script before 7.0, or a bundled apexcharts/core class). Load apexcharts.min.js, apexcharts.core.min.js or apexcharts.full.min.js.");else e.console.warn("ApexCharts: dist/features/stats.js is waiting for the ApexCharts script, which had not loaded when the page finished loading. It registers when an ApexCharts 8.0 or later script loads; if the page has none, add apexcharts.min.js (or apexcharts.core.min.js, or apexcharts.full.min.js).")}})}(function(){var t,e;t=this,e=function(t){"use strict";var e=Object.defineProperty,r=Object.defineProperties,n=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,a=(t,r,n)=>r in t?e(t,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[r]=n,l=(t,e)=>{for(var r in e||(e={}))i.call(e,r)&&a(t,r,e[r]);if(s)for(var r of s(e))o.call(e,r)&&a(t,r,e[r]);return t},u=(t,e)=>r(t,n(e));const c=globalThis.ApexCharts,h=globalThis.ApexCharts.__internals.__apex_Utils,f="__apexcharts_series_transforms__";function d(t,e){t&&"string"==typeof t?"function"==typeof e?globalThis[f][t]=e:console.warn(`ApexCharts: registerSeriesTransform("${t}") expects a function (series, w) => series.`):console.warn("ApexCharts: registerSeriesTransform requires a non-empty name.")}globalThis[f]||(globalThis[f]={});const p="__apexcharts_row_sources__";function g(t,e){t&&"string"==typeof t?"function"==typeof e?globalThis[p][t]=e:console.warn(`ApexCharts: registerRowSource("${t}") expects a function (w, opts) => series.`):console.warn("ApexCharts: registerRowSource requires a non-empty name.")}function y(t){return(t.collapsedSeriesIndices||[]).concat(t.ancillaryCollapsedSeriesIndices||[])}function m(t,e){const r=(e.collapsedSeries||[]).concat(e.ancillaryCollapsedSeries||[]);return t.map((t,e)=>{const n=t||{},{hidden:a}=n,c=((t,e)=>{var r={};for(var n in t)i.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(null!=t&&s)for(var n of s(t))e.indexOf(n)<0&&o.call(t,n)&&(r[n]=t[n]);return r})(n,["hidden"]);let h=c.data;if(Array.isArray(h)&&!h.length){const t=r.find(t=>t.index===e);t&&Array.isArray(t.data)&&(h=t.data)}return u(l({},c),{data:Array.isArray(h)?h.slice():h})})}function b(t,e){const r=t.length;if(0===r)return NaN;if(1===r)return t[0];const n=(r-1)*e,s=Math.floor(n),i=Math.ceil(n);return s===i?t[s]:t[s]+(t[i]-t[s])*(n-s)}function x(t,e={}){if(!Array.isArray(t)||0===t.length)return null;const r=t.slice().sort((t,e)=>t-e);let n=r[0],s=r[r.length-1];const i=e.range;if(Array.isArray(i)&&2===i.length){const t=Number(i[0]),e=Number(i[1]);Number.isFinite(t)&&Number.isFinite(e)&&e>t&&(n=t,s=e)}if(!(s>n)){const t=Math.abs(n)>0?.05*Math.abs(n):.5;return{edges:[n-t,n+t],binWidth:2*t,rule:"single",capped:!1}}const o=s-n;let a,l;if("number"==typeof e.binWidth&&e.binWidth>0)a=e.binWidth,l="binWidth";else if("number"==typeof e.bins&&e.bins>=1)a=o/Math.floor(e.bins),l="count";else{const t=function(t,e,r){const n=t.length,s=t=>e/Math.max(1,Math.ceil(t)),i=()=>s(Math.log2(n)+1);switch(r){case"sqrt":return{width:s(Math.sqrt(n)),rule:"sqrt"};case"rice":return{width:s(2*Math.cbrt(n)),rule:"rice"};case"scott":{const e=function(t){const e=t.length;if(e<2)return 0;let r=0;for(let n=0;n<e;n++)r+=t[n];const n=r/e;let s=0;for(let r=0;r<e;r++){const e=t[r]-n;s+=e*e}return Math.sqrt(s/e)}(t);return e>0?{width:3.49*e*Math.pow(n,-1/3),rule:"scott"}:{width:i(),rule:"sturges"}}case"fd":{const e=b(t,.75)-b(t,.25);return e>0?{width:2*e*Math.pow(n,-1/3),rule:"fd"}:{width:i(),rule:"sturges"}}case"auto":{const e=i(),r=b(t,.75)-b(t,.25);if(r<=0)return{width:e,rule:"sturges"};const s=2*r*Math.pow(n,-1/3);return s<e?{width:s,rule:"fd"}:{width:e,rule:"sturges"}}default:return{width:i(),rule:"sturges"}}}(r,o,"string"==typeof e.bins?e.bins:"auto");a=t.width,l=t.rule}(!Number.isFinite(a)||a<=0)&&(a=o);let u=Math.ceil(o/a);(!Number.isFinite(u)||u<1)&&(u=1);let c=!1;u>1e3&&(u=1e3,c=!0),a=o/u;const h=new Array(u+1);for(let t=0;t<=u;t++)h[t]=n+t*a;return h[u]=Math.max(h[u],s),{edges:h,binWidth:a,rule:l,capped:c}}function w(t,e){const r=e.length-1;if(!(t>=e[0])||t>e[r])return-1;if(t===e[r])return r-1;const n=(e[r]-e[0])/r;if(n>0){let s=Math.floor((t-e[0])/n);return s<0&&(s=0),s>r-1&&(s=r-1),t<e[s]?s--:t>=e[s+1]&&s++,s<0||s>r-1?-1:s}let s=0,i=r-1;for(;s<=i;){const r=s+i>>1;if(t<e[r])i=r-1;else{if(!(t>=e[r+1]))return r;s=r+1}}return-1}function A(t,e){const r=Math.max(0,e.length-1),n=new Array(r);for(let t=0;t<r;t++)n[t]=[];for(let r=0;r<t.length;r++){const s=w(t[r],e);s>=0&&n[s].push(t[r])}return n}function v(t,e={}){if(!Array.isArray(t)||0===t.length)return null;const r=t.slice().sort((t,e)=>t-e),n=b(r,.25),s=b(r,.5),i=b(r,.75),o=i-n;let a=r[0],l=r[r.length-1],u=[];if("tukey"===e.whiskers&&o>0){const t=n-1.5*o,e=i+1.5*o;let s=0;for(;s<r.length&&r[s]<t;)s++;let c=r.length-1;for(;c>=0&&r[c]>e;)c--;s<=c&&(a=r[s],l=r[c],u=r.slice(0,s).concat(r.slice(c+1)))}return{summary:[a,n,s,i,l],outliers:u,iqr:o}}function M(t,e={}){if(!Array.isArray(t)||0===t.length)return null;const r=t.slice().sort((t,e)=>t-e),n=r.length;let s=e.bandwidth;if(!("number"==typeof s&&s>0)){const t=function(t){const e=t.length;if(e<2)return 0;let r=0;for(let n=0;n<e;n++)r+=t[n];const n=r/e;let s=0;for(let r=0;r<e;r++){const e=t[r]-n;s+=e*e}return Math.sqrt(s/e)}(r),e=b(r,.75)-b(r,.25);s=.9*(e>0?Math.min(t,e/1.349):t)*Math.pow(n,-.2)}if(!isFinite(s)||s<=0){const t=r[0],e=Math.abs(t)>0?.001*Math.abs(t):.001;return{density:[[t-e,0],[t,1],[t+e,0]],bandwidth:e}}const i=Math.max(8,Math.floor(e.resolution||64)),o=r[0]-2*s,a=(r[n-1]+2*s-o)/(i-1),l=1/(n*s*Math.sqrt(2*Math.PI)),u=[];for(let t=0;t<i;t++){const e=o+t*a;let i=0;for(let t=0;t<n;t++){const n=(e-r[t])/s;i+=Math.exp(-.5*n*n)}u.push([e,i*l])}return{density:u,bandwidth:s}}function _(t){const e=[];if(!Array.isArray(t))return e;for(let r=0;r<t.length;r++){const n=t[r];let s=n;Array.isArray(n)?s=1===n.length?n[0]:n[1]:n&&"object"==typeof n&&(s=void 0!==n.y?n.y:n.x);const i=h.parseNumber(s);null!==i&&isFinite(i)&&e.push(i)}return e}function j(t,e){var r;const n=e.config,s=e.globals;if(!Array.isArray(t))return t;s.histogramRawSeries||(s.histogramRawSeries=m(t,s));const i=s.histogramRawSeries,o=(null==(r=n.plotOptions)?void 0:r.histogram)||{},a=i.map(t=>_(null==t?void 0:t.data));let c=[];if(1===a.length)c=a[0];else for(const t of a)c=c.concat(t);const h=x(c,{bins:o.bins,binWidth:o.binWidth,range:o.range});if(!h)return e.histogramData={edges:[],binWidth:0,counts:[],rule:"",capped:!1},i;const{edges:f,binWidth:d}=h,p=a.map(t=>function(t,e){const r=new Array(Math.max(0,e.length-1)).fill(0);for(let n=0;n<t.length;n++){const s=w(t[n],e);s>=0&&r[s]++}return r}(t,f));e.histogramData={edges:f,binWidth:d,counts:p,rule:h.rule,capped:h.capped};const g=y(s);return e.seriesObservations=a.map((t,e)=>({values:t,byPoint:-1!==g.indexOf(e)?[]:A(t,f)})),i.map((t,e)=>{if(-1!==g.indexOf(e))return u(l({},t),{data:[]});const r=function(t,e={}){let r=t.slice();if(e.cumulative){let t=0;r=r.map(e=>t+=e)}const n=t.reduce((t,e)=>t+e,0);if(n<=0)return r;if("relative"===e.normalize)return r.map(t=>t/n*100);if("density"===e.normalize){const t=e.binWidth;if("number"==typeof t&&t>0)return r.map(e=>e/(n*t))}return r}(p[e],{normalize:o.normalize,cumulative:o.cumulative,binWidth:d}),n=[];for(let t=0;t<r.length;t++)n.push({x:(f[t]+f[t+1])/2,y:r[t]});return u(l({},t),{data:n})})}function C(t,e){var r,n;return S(t,e,"boxPlot",{whiskers:(null==(n=null==(r=e.config.plotOptions)?void 0:r.boxPlot)?void 0:n.whiskers)||"minmax"},v,t=>Array.isArray(null==t?void 0:t.y)&&5===t.y.length&&t.y,(t,e,r)=>u(l({},t),{y:e.summary,points:r}))}function O(t,e){var r,n;const s=(null==(n=null==(r=e.config.plotOptions)?void 0:r.violin)?void 0:n.kde)||{};return S(t,e,"violin",{bandwidth:s.bandwidth,resolution:s.resolution},M,t=>{var e;return Array.isArray(null==(e=null==t?void 0:t.y)?void 0:e.density)&&t.y.density.length&&t.y.density},(t,e,r)=>u(l({},t),{y:u(l({},t.y&&"object"==typeof t.y&&!Array.isArray(t.y)?t.y:{}),{density:e.density,points:r})}))}function S(t,e,r,n,s,i,o){if(!Array.isArray(t))return t;const a=function(t,e){const r=t.statsDerived||(t.statsDerived={});return r[e]||(r[e]=new Map)}(e,r),c=[],f=t.map((t,e)=>{if(!Array.isArray(null==t?void 0:t.data)||t.type&&t.type!==r)return t;let f=!1;const d=new Array(t.data.length).fill(null),p=t.data.map((t,l)=>{const u=e+":"+l,c=i(t);if(c&&!function(t,e,r){const n=(t.get(e)||{}).e;return!!n&&JSON.stringify(n.density||n.summary)===JSON.stringify(r)}(a,u,c))return t;const p=function(t,e){var r;if(!t||"object"!=typeof t||Array.isArray(t))return null;let n=null;if(Array.isArray(t.points)?n=t.points:Array.isArray(null==(r=t.y)?void 0:r.points)?n=t.y.points:e&&Array.isArray(t.y)&&"number"==typeof t.y[0]&&(n=t.y),!n)return null;const s=[];for(let t=0;t<n.length;t++){const e=h.parseNumber(n[t]);null!==e&&isFinite(e)&&s.push(e)}return s.length?s:null}(t,"violin"===r);if(!p)return t;const g=function(t,e,r,n,s){const i=JSON.stringify(n)+r;let o=t.get(e);return o&&o.s===i||t.set(e,o={s:i,e:s(r,n)}),o.e}(a,u,p,n,s);return g?(f=!0,d[l]=p,o(t,g,p)):t});return f&&(c[e]=d),f?u(l({},t),{data:p}):t});return function(t,e,r){if(!e.length)return;const n=[];for(let t=0;t<r;t++){const r=e[t];if(!r){n.push(null);continue}const s=[];for(const t of r)if(t)for(let e=0;e<t.length;e++)s.push(t[e]);n.push({values:s,byPoint:r})}t.seriesObservations=n}(e,c,t.length),f}function P(t,e,r){const n=r&&null!=r.maxRows?r.maxRows:3e3,s=function(t,e){let r=0,n=0;for(const e of t)r+=e.length,e.length>n&&(n=e.length);if(r<=e)return{clusters:t,stride:1,total:r,kept:r};const s=e=>{let r=0;for(const n of t)r+=Math.ceil(n.length/e);return r};let i=Math.max(2,Math.ceil(r/e));for(;i<n&&s(i)>e;)i++;let o=0;return{clusters:t.map(t=>{const e=[];for(let r=0;r<t.length;r+=i)e.push(t[r]);return o+=e.length,e}),stride:i,total:r,kept:o}}(e.map(t=>t.rows),n);s.stride>1&&console.warn(`ApexCharts: rowSeries() thinned ${s.total} rows to ${s.kept} (every ${s.stride}${2===s.stride?"nd":3===s.stride?"rd":"th"} row) to stay under maxRows=${n}. Raise maxRows to draw more.`);const i=t.globals&&t.globals.colors||[];return e.map((t,e)=>{const r=i[t.realIndex]||i[0];return{name:t.name,data:s.clusters[e].map((n,s)=>l({id:`${t.realIndex}:${e}:${s}`,x:t.name,y:n},r?{fillColor:r}:{}))}})}function T(t,e){const r=t.globals,n=t.histogramData,s=r&&r.histogramRawSeries;if(!n||!Array.isArray(n.edges)||n.edges.length<2)return null;if(!Array.isArray(s)||!s.length)return null;const i=y(r),o=n.edges,a=[];return s.forEach((e,r)=>{var n;if(-1!==i.indexOf(r))return;const l=A(_(e&&e.data),o),u=t.seriesData&&(null==(n=t.seriesData.seriesNames)?void 0:n[r])||(null==e?void 0:e.name);l.forEach((t,e)=>{const n=`${$(o[e])}-${$(o[e+1])}`;a.push({name:s.length>1&&u?`${u} ${n}`:n,realIndex:r,rows:t})})}),a.length?P(t,a,e):null}function $(t){if(!isFinite(t))return String(t);const e=Math.round(t);return Math.abs(t-e)<1e-6?String(e):String(Number(t.toFixed(2)))}function N(t){return(e,r)=>{var n;const s=t(e);if(!Array.isArray(s)||!s.length)return null;const i=e.globals?y(e.globals):[],o=e.globals&&((null==(n=e.globals.categoryLabels)?void 0:n.length)?e.globals.categoryLabels:e.globals.labels)||[],a=[];return s.forEach((t,r)=>{var n;if(-1!==i.indexOf(r))return;if(!Array.isArray(t))return;const l=e.seriesData&&(null==(n=e.seriesData.seriesNames)?void 0:n[r]);t.forEach((t,e)=>{const n=null!=o[e]?String(o[e]):`#${e+1}`;a.push({name:s.length>1&&l?`${l} ${n}`:n,realIndex:r,rows:Array.isArray(t)?t.slice():[]})})}),a.length?P(e,a,r):null}}globalThis[p]||(globalThis[p]={});const R=N(t=>{var e;return null==(e=t.candleData)?void 0:e.seriesBoxPoints}),W=N(t=>{var e;return null==(e=t.violinData)?void 0:e.seriesViolinPoints});d("histogram",j),d("boxPlot",C),d("violin",O),g("histogram",T),g("boxPlot",R),g("violin",W),t.boxPlotRows=R,t.boxPlotTransform=C,t.default=c,t.histogramRows=T,t.histogramTransform=j,t.violinRows=W,t.violinTransform=O,Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).ApexStats={})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* ApexCharts v8.
|
|
2
|
+
* ApexCharts v8.4.0
|
|
3
3
|
* (c) 2018-2026 ApexCharts
|
|
4
4
|
*/
|
|
5
5
|
"use strict";var e=Object.defineProperty,t=Object.defineProperties,n=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,a=(t,n,i)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[n]=i,o=(e,t)=>{for(var n in t||(t={}))s.call(t,n)&&a(e,n,t[n]);if(i)for(var n of i(t))r.call(t,n)&&a(e,n,t[n]);return e},c=(e,i)=>t(e,n(i));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});function l(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const n in e)if("default"!==n){const i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:()=>e[n]})}return t.default=e,Object.freeze(t)}const d=l(require("apexcharts/core")),u=d.__apex_Environment_Environment,h=d.__apex_Animations_prefersReducedMotion,p=globalThis.console;function f(e,...t){p.error(e,...t)}function v(e){p.warn(e)}const m="APEX-",y=new Date("2027-07-31T00:00:00Z"),g="__apex_license_v1__";function b(){const e=globalThis;let t=e[g];return t||(t={key:null,listeners:new Set,result:null},e[g]=t),t}const w=class{static get licenseKey(){return b().key}static set licenseKey(e){b().key=e}static get listeners(){return b().listeners}static get validationResult(){return b().result}static set validationResult(e){b().result=e}static getKey(){return this.licenseKey}static getLicenseStatus(){return this.licenseKey?(this.validationResult=this.validateKey(this.licenseKey),this.validationResult):{expired:!1,signatureVerified:!1,valid:!1}}static isKeyValid(e){return!!e&&this.validateKey(e).valid}static isLicenseValid(){return this.getLicenseStatus().valid}static onChange(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}static setLicense(e){var t,n;if(!e)return this.licenseKey=null,void this.publish({expired:!1,signatureVerified:!1,valid:!1});const i=this.validateKey(e);i.valid||e===this.licenseKey||!(null==(n=this.validationResult)?void 0:n.valid)?(this.licenseKey=e,this.publish(i),i.valid||f(`[Apex] ${i.message}`)):v(`[Apex] Ignoring license key: ${null!=(t=i.message)?t:"it is not valid"} A valid license is already active on this page.`)}static validateKey(e){const t=this.parseKey(e),n=this.validateStructure(e,t);if(!n.valid||!(null==t?void 0:t.signature))return n;const i=this.verdicts.get(e);return!1===i?{data:t.data,expired:!1,message:"Invalid license key. The license signature does not verify.",signatureVerified:!0,valid:!1}:(void 0===i&&this.verifySignature(e,t,n),c(o({},n),{signatureVerified:!0===i}))}static _resetSignatureState(){this.verdicts.clear(),this.verifying.clear(),this.warnedUnverifiable=!1,this.epoch++}static base64ToBytes(e){const t=e.replace(/-/g,"+").replace(/_/g,"/"),n=t.padEnd(4*Math.ceil(t.length/4),"="),i=globalThis.atob;if("function"!=typeof i)throw new Error("no base64 decoder available");const s=i(n),r=new Uint8Array(s.length);for(let e=0;e<s.length;e++)r[e]=s.charCodeAt(e);return r}static canonicalPayload(e){const t=e.domains&&e.domains.length>0?e.domains.join(","):"";return`v1|${e.issueDate}|${e.expiryDate}|${e.plan}|${t}`}static notify(e){for(const t of this.listeners)try{t(e)}catch(e){}}static parseKey(e){if("string"!=typeof e||!e.startsWith(m))return null;const t=e.slice(5);if(!t)return null;try{const e=(new TextDecoder).decode(this.base64ToBytes(t)),n=JSON.parse(e);return n.issueDate&&n.expiryDate&&n.plan?{data:{domains:Array.isArray(n.domains)?n.domains:void 0,expiryDate:n.expiryDate,issueDate:n.issueDate,plan:n.plan,valid:!0},signature:"string"==typeof n.sig&&n.sig?n.sig:null}:null}catch(e){return null}}static publish(e){this.validationResult=e,this.notify(e)}static validateStructure(e,t){const n=e=>({expired:!1,message:e,signatureVerified:!1,valid:!1});if("string"!=typeof e||!e.startsWith(m))return n('Invalid license key format. License key must start with "APEX-".');if(!t)return n("Invalid license key. Unable to decode license data.");const{data:i,signature:s}=t;if(!s&&new Date>=y)return n("This license key is in the old unsigned format, which is no longer accepted. Please request a replacement key.");if(new Date(i.expiryDate)<new Date)return{data:i,expired:!0,message:`License expired on ${i.expiryDate}. Please renew your license.`,signatureVerified:!1,valid:!1};if(i.domains&&i.domains.length>0){const e="undefined"==typeof location?"":location.hostname;if(!i.domains.some(t=>e===t||e.endsWith(`.${t}`)))return{data:i,expired:!1,message:`License is not valid for this domain (${e}). Allowed domains: ${i.domains.join(", ")}.`,signatureVerified:!1,valid:!1}}return{data:i,expired:!1,signatureVerified:!1,valid:!0}}static verifySignature(e,t,n){return i=this,s=null,r=function*(){var i;if(this.verifying.has(e)||this.verdicts.has(e))return;this.verifying.add(e);const s=this.epoch,r=null==(i=globalThis.crypto)?void 0:i.subtle;if(!r||0===this.publicKeysSpki.length)return this.verifying.delete(e),void(this.warnedUnverifiable||(this.warnedUnverifiable=!0,v(r?"[Apex] No license signing key is configured in this build, so license signatures cannot be verified.":"[Apex] Web Crypto is unavailable (a secure context is required), so the license signature cannot be verified.")));const a=(new TextEncoder).encode(this.canonicalPayload(t.data));let l=!1;for(const e of this.publicKeysSpki){try{const n=yield r.importKey("spki",this.base64ToBytes(e),{name:"ECDSA",namedCurve:"P-256"},!1,["verify"]);l=yield r.verify({hash:"SHA-256",name:"ECDSA"},n,this.base64ToBytes(t.signature),a)}catch(e){l=!1}if(l)break}if(this.verifying.delete(e),this.epoch!==s)return;if(this.verdicts.set(e,l),l){const t=c(o({},n),{signatureVerified:!0});return void(this.licenseKey===e?this.publish(t):this.notify(t))}const d="Invalid license key. The license signature does not verify.",u={data:t.data,expired:!1,message:d,signatureVerified:!0,valid:!1};this.licenseKey===e?this.publish(u):this.notify(u),f(`[Apex] ${d}`)},new Promise((e,t)=>{var n=e=>{try{o(r.next(e))}catch(e){t(e)}},a=e=>{try{o(r.throw(e))}catch(e){t(e)}},o=t=>t.done?e(t.value):Promise.resolve(t.value).then(n,a);o((r=r.apply(i,s)).next())});var i,s,r}};w.publicKeysSpki=["MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEQIaK9UMD6n0oR/FIy8QdL0uSzKMQlf1BB+tOrji4/WuHsyRNxeDhVykoSsNURozMi1xhmqWvBH1L//xIfugTPA=="],w.verdicts=new Map,w.verifying=new Set,w.warnedUnverifiable=!1,w.epoch=0;let x=w;const _=class{static applyStyles(e){Object.assign(e.style,this.CRITICAL_STYLES,{backgroundImage:this.createWatermarkPattern(),backgroundRepeat:"repeat"})}static node(e){return e?e.querySelector(`[${this.WATERMARK_ATTR}]`):null}static add(e,t){return e&&"undefined"!=typeof document?(this.setManaged(e,t),this.paint(e)):null}static exists(e){return!!this.node(e)}static remove(e,t){e&&(this.setManaged(e,t),this.erase(e))}static untrack(e){this.managed.delete(e)}static createWatermarkPattern(){const e=this.WATERMARK_TEXT;return`url("data:image/svg+xml,${encodeURIComponent(`\n <svg xmlns="http://www.w3.org/2000/svg" width="300" height="200">\n <text\n x="50%"\n y="50%"\n dominant-baseline="middle"\n text-anchor="middle"\n font-family="-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Arial, sans-serif"\n font-size="18"\n font-weight="600"\n fill="rgba(134, 134, 134, 0.1)"\n transform="rotate(-35, 100, 60)"\n >${e}</text>\n </svg>\n `.trim())}")`}static erase(e){var t;null==(t=this.node(e))||t.remove()}static paint(e){let t=this.node(e);return t||(t=document.createElement("div"),t.setAttribute(this.WATERMARK_ATTR,""),e.appendChild(t)),this.applyStyles(t),"function"==typeof getComputedStyle&&"static"===getComputedStyle(e).position&&(e.style.position="relative"),t}static reconcile(){const e=x.isLicenseValid();for(const t of this.managed)t.isConnected?e?this.erase(t):this.paint(t):this.managed.delete(t)}static setManaged(e,t){!1!==(null==t?void 0:t.manage)?this.track(e):this.managed.delete(e)}static track(e){this.managed.add(e),this.subscribed||(this.subscribed=!0,x.onChange(()=>{this.reconcile()}))}};_.WATERMARK_ATTR="data-apexcharts-watermark",_.WATERMARK_TEXT="APEXCHARTS",_.ATTR="data-apexcharts-watermark",_.CRITICAL_STYLES={bottom:"0",display:"block",left:"0",msUserSelect:"none",opacity:"1",pointerEvents:"none",position:"absolute",right:"0",top:"0",userSelect:"none",visibility:"visible",webkitUserSelect:"none",zIndex:"10000"},_.managed=new Set,_.subscribed=!1;let A=_;const S="https://apexcharts.com/pricing",k="__apexcharts_license_enforcer_v1__";globalThis[k]||(globalThis[k]={perspectivesTokenDecoded:!1,enforced:new Set});const O=globalThis[k],T=O.enforced;function E(){O.perspectivesTokenDecoded=!0,D()}const I=new Set(["premium","enterprise"]);function P(e,t){const n=A.add(t,{manage:!1});if(e._wmPainted=!0,!n||"undefined"==typeof MutationObserver)return;if(e._wmNodeObserver&&e._wmObservedNode===n)return;e._wmNodeObserver&&e._wmNodeObserver.disconnect();const i=new MutationObserver(()=>{const e=A.node(t);e&&(i.disconnect(),A.applyStyles(e),i.takeRecords(),i.observe(e,{attributes:!0,attributeFilter:["style"]}))});i.observe(n,{attributes:!0,attributeFilter:["style"]}),e._wmNodeObserver=i,e._wmObservedNode=n}function R(e,t){if(!e._wmPainted)return;e._wmPainted=!1,e._wmWrapObserver&&(e._wmWrapObserver.disconnect(),e._wmWrapObserver=null),e._wmNodeObserver&&(e._wmNodeObserver.disconnect(),e._wmNodeObserver=null),e._wmObservedNode=null,e._wmObservedWrap=null;const n=t||e.w&&e.w.dom&&e.w.dom.elWrap;n&&A.remove(n,{manage:!1})}function C(e,t){try{if(!u.isBrowser())return;if(e&&e.globals&&e.globals.isDestroyed)return void T.delete(t);const n=e&&e.dom&&e.dom.elWrap;if(!n)return;const i=function(e,t){var n;const i=e&&e.config&&e.config.chart||{},s=[];"unit"===i.type&&s.push("unit"),"raincloud"===i.requestedType&&s.push("raincloud"),t.trellis&&"function"==typeof t.trellis.isActive&&t.trellis.isActive()&&s.push("trellis"),t.storyboard&&t.storyboard._used&&s.push("storyboard");const r=i.link;return t.linkedViews&&r&&(!0===r.enabled||"function"==typeof r.dimension)&&s.push("link"),t.ink&&i.ink&&!0===i.ink.enabled&&s.push("ink"),t.measure&&i.measure&&!0===i.measure.enabled&&s.push("measure"),t.contextMenu&&i.contextMenu&&!0===i.contextMenu.enabled&&s.push("context-menu"),t.perspectives&&(t.perspectives._used||O.perspectivesTokenDecoded)&&s.push("perspectives"),t.history&&i.history&&!0===i.history.enabled&&s.push("history"),(null==(n=t._highlightFilter)?void 0:n.isActive())&&s.push("highlight-filter"),s}(e,t);if(0===i.length)return T.delete(t),void R(t,n);T.add(t);const s=function(e){const t=e&&e.config&&e.config.chart&&e.config.chart.license;if(t)return t;const n=x.getKey();if(n)return n;const i=u.getApex();return i&&i.license?i.license:null}(e);if(function(e){if(!e)return!1;const t=x.validateKey(e);if(!t.valid)return!1;const n=t.data&&t.data.plan;return"string"==typeof n&&I.has(n.toLowerCase())}(s))return void R(t,n);!function(e,t){if(P(e,t),"undefined"==typeof MutationObserver)return;if(e._wmWrapObserver&&e._wmObservedWrap===t)return;e._wmWrapObserver&&e._wmWrapObserver.disconnect();const n=new MutationObserver(()=>{A.node(t)||P(e,t)});n.observe(t,{childList:!0}),e._wmWrapObserver=n,e._wmObservedWrap=t}(t,n),function(e,t,n){if(e._premiumLicenseNotified)return;e._premiumLicenseNotified=!0;const i=n.length>1;if(!t)return void console.warn(`[ApexCharts] Premium feature${i?"s":""} in use (${n.join(", ")}) without a license. Running in trial mode with a watermark. Get a license: ${S}`);const s=x.validateKey(t);if(s.valid){const e=s.data&&s.data.plan||"current";return void console.warn(`[ApexCharts] Premium feature${i?"s":""} in use (${n.join(", ")}) require a Premium or Enterprise license; the ${e} plan does not include ${i?"them":"it"}. Running in trial mode with a watermark. Upgrade: ${S}`)}t!==x.getKey()&&console.error(`[Apex] ${s.message}`)}(t,s,i)}catch(e){}}function D(){if(!u.isBrowser())return;const e=new Set,t=u.getApex(),n=t&&t._chartInstances;Array.isArray(n)&&n.forEach(t=>{const n=t&&t.chart;n&&n.w&&!n.w.globals.isDestroyed&&(e.add(n),C(n.w,n))}),Array.from(T).forEach(t=>{const n=t&&t.w,i=n&&n.dom&&n.dom.elWrap;n&&!n.globals.isDestroyed&&i&&!1!==i.isConnected?e.has(t)||C(n,t):T.delete(t)})}x.onChange(D);const K=d.__apex_Utils;function $(e,t){const n=null!=e,i=null!=t;return n||i?{min:n?e:null,max:i?t:null}:null}function M(e){return Array.isArray(e)?e.map(e=>Array.isArray(e)?e.slice():e):[]}function j(e,t){return"function"==typeof e&&t?e===t.addXaxisAnnotation?"xaxis":e===t.addYaxisAnnotation?"yaxis":e===t.addPointAnnotation?"point":null:null}function L(e,t){const n=e.config.annotations?K.clone(e.config.annotations):null,i=[],s=e.globals.memory&&e.globals.memory.methodsToExec||[];for(const e of s){if(!e||"addAnnotation"!==e.label)continue;const n=j(e.method,t);n&&i.push({kind:n,params:K.clone(e.params)})}return{static:n,dynamic:i}}function W(e){const t=e&&e.measure;if(!t||"function"!=typeof t.getPins)return null;const n=t.getPins();return Array.isArray(n)&&n.length?{pins:n}:null}function N(e,t,{animate:n=!0,mergeOptions:i}={}){var s,r;if(!e||!t)return;"number"==typeof t.v&&t.v>1&&console.warn(`[apexcharts] ViewState v${t.v} is newer than this build understands (v1); applying best-effort.`),e.clearAnnotations();const a=i?K.clone(i):{},o=t.window&&t.window.xaxis;a.xaxis=Object.assign({},a.xaxis,o?{min:null!=(s=o.min)?s:void 0,max:null!=(r=o.max)?r:void 0}:{min:void 0,max:void 0});const c=t.window&&t.window.yaxis;if(Array.isArray(c)&&(a.yaxis=c.map(e=>{var t,n;return e?{min:null!=(t=e.min)?t:void 0,max:null!=(n=e.max)?n:void 0}:{}})),t.theme){const e={};null!=t.theme.mode&&(e.mode=t.theme.mode),null!=t.theme.palette&&(e.palette=t.theme.palette),Object.keys(e).length&&(a.theme=Object.assign({},a.theme,e))}t.annotations&&t.annotations.static&&(a.annotations=K.clone(t.annotations.static)),e.updateOptions(a,!1,n,!1,!1),function(e,t){if(!e||!t)return;const n=e.w;n.interact.zoomed=!!t.zoomed,function(e,t,n){const i=e.w;if(null==t&&null==n)return;const s=i.globals.seriesNames||[],r=new Set([...t||[],...n||[]]),a=new Set([...i.globals.collapsedSeriesIndices||[],...i.globals.ancillaryCollapsedSeriesIndices||[]]);for(let t=0;t<s.length;t++){const n=s[t];if(null==n)continue;const i=r.has(t),o=a.has(t);i&&!o?e.hideSeries(n):!i&&o&&e.showSeries(n)}}(e,t.collapsed,t.ancillaryCollapsed),t.annotations&&Array.isArray(t.annotations.dynamic)&&t.annotations.dynamic.forEach(t=>{const n=function(e){switch(e){case"xaxis":return"addXaxisAnnotation";case"yaxis":return"addYaxisAnnotation";case"point":return"addPointAnnotation";default:return null}}(t.kind);n&&"function"==typeof e[n]&&e[n](t.params,!0)});(function(e,t){Array.isArray(t)&&(e.w.interact.selectedDataPoints=M(t))})(e,t.selectedDataPoints),t.locale&&t.locale!==n.config.chart.defaultLocale&&e.setLocale(t.locale);e.measure&&"function"==typeof e.measure.setPins&&e.measure.setPins(t.measure&&t.measure.pins||[])}(e,t)}const U="apex";function B(e){return function(e){if("undefined"!=typeof Buffer)return Buffer.from(e,"utf-8").toString("base64");const t=(new TextEncoder).encode(e);let n="";for(let e=0;e<t.length;e++)n+=String.fromCharCode(t[e]);return btoa(n)}(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function V(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");for(;t.length%4;)t+="=";return function(e){if("undefined"!=typeof Buffer)return Buffer.from(e,"base64").toString("utf-8");const t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return(new TextDecoder).decode(n)}(t)}class z{constructor(e,t){this.w=e,this.ctx=t,this._saved=[],this._counter=0,this._used=!1}capture(){const e={v:1,view:function(e,t){var n,i;const s=e.config.xaxis||{},r=(Array.isArray(e.config.yaxis)?e.config.yaxis:e.config.yaxis?[e.config.yaxis]:[]).map(e=>$(e&&e.min,e&&e.max)),a=r.some(e=>null!==e),o=e.config.theme,c=t&&t.drilldown;return{v:1,window:{xaxis:$(s.min,s.max),yaxis:a?r:null},zoomed:!!e.interact.zoomed,collapsed:(e.globals.collapsedSeriesIndices||[]).slice(),ancillaryCollapsed:(e.globals.ancillaryCollapsedSeriesIndices||[]).slice(),selectedDataPoints:M(e.interact.selectedDataPoints),theme:o?{mode:null!=(n=o.mode)?n:null,palette:null!=(i=o.palette)?i:null}:null,locale:e.config.chart&&e.config.chart.defaultLocale||null,annotations:L(e,t),drill:c&&c.depth>0?{path:c.path.slice()}:null,measure:W(t)}}(this.w,this.ctx)},t=this._serializableDelta();return t&&Object.keys(t).length&&(e.options=t),e}_serializableDelta(){const e=this.w.config,t=e.chart&&e.chart.perspectives&&e.chart.perspectives.serializeOptions||["theme","xaxis","yaxis","title","subtitle"],n={};return t.forEach(t=>{if(void 0!==e[t]){const i=function(e){try{return JSON.parse(JSON.stringify(e))}catch(e){return}}(e[t]);void 0!==i&&(n[t]=i)}}),n}encode(e){const t=e||this.capture();return B(JSON.stringify(t))}decode(e){return z.decode(e)}toURL(){if(!u.isBrowser())return"";const e=this.encode(this.capture()),t=new URL(window.location.href);return t.hash=`${U}=${e}`,t.toString()}apply(e,t={}){const n="string"==typeof e?z.decode(e):e;if(!n||!n.view)return;this._used=!0,C(this.w,this.ctx);const i=void 0===t.animate||t.animate,s=K.extend(n.options?K.clone(n.options):{},t.mergeOptions||{}),r=Object.keys(s).length?s:void 0;(this.w.config.chart.group?this.ctx.getSyncedCharts():[this.ctx]).forEach(e=>{N(e,n.view,{animate:i,mergeOptions:r})})}save(e){const t="perspective-"+ ++this._counter;return this._saved.push({id:t,name:e||t,token:this.capture()}),this._used=!0,C(this.w,this.ctx),t}list(){return this._saved.map(e=>({id:e.id,name:e.name,token:e.token}))}delete(e){const t=this._saved.findIndex(t=>t.id===e);t>-1&&this._saved.splice(t,1)}teardown(){this._saved=[],this._counter=0}static decode(e){if("string"!=typeof e||!e)return null;try{const t=JSON.parse(V(e));return t&&"object"==typeof t?1!==t.v?(console.warn(`apexcharts: unsupported perspective version ${t.v} (expected 1).`),null):t:null}catch(e){return console.warn("apexcharts: failed to decode perspective token.",e),null}}static fromURL(e){try{const t=e||(u.isBrowser()?window.location.href:"");if(!t)return null;const n=new URL(t).hash.replace(/^#/,"");if(!n)return null;const i=n.split("&").map(e=>e.split("=")).find(e=>e[0]===U);return i&&null!=i[1]?z.decode(decodeURIComponent(i[1])):null}catch(e){return null}}}d.default.registerFeatures({perspectives:z,perspectivesStatics:{decode:e=>(E(),z.decode(e)),fromURL:e=>(E(),z.fromURL(e))}}),d.default.registerFeatures({storyboard:class{constructor(e,t){this.w=e,this.ctx=t,this._beats=[],this._observer=null,this._activeIndex=-1,this._animate=!0,this._warnedNoPerspectives=!1,this._used=!1}bind(e={}){var t;if(this.unbind(),!u.isBrowser())return 0;const n=this.ctx.el&&this.ctx.el.ownerDocument;if(!n||"undefined"==typeof IntersectionObserver)return 0;let i=null;if(e.scroller&&(i="string"==typeof e.scroller?n.querySelector(e.scroller):e.scroller),this._beats=this._resolveBeats(n,i,e.beats),!this._beats.length)return 0;this._animate=!1!==e.animate;const s=Math.min(Math.max(null!=(t=e.offset)?t:.5,0),1),r=+(100*s).toFixed(3),a=+(100-100*s).toFixed(3);return this._observer=new IntersectionObserver(e=>this._onIntersect(e),{root:i,rootMargin:`-${r}% 0px -${a}%`,threshold:0}),this._beats.forEach(e=>{var t;return null==(t=this._observer)?void 0:t.observe(e.el)}),this._used=!0,C(this.w,this.ctx),this._beats.length}_resolveBeats(e,t,n){const i=[];if(Array.isArray(n))return n.forEach((t,n)=>{var s,r;if(!t)return;const a=t.el&&"object"==typeof t.el?t.el:t.selector?e.querySelector(t.selector):null;a?i.push({el:a,key:null!=(r=null!=(s=t.key)?s:a.getAttribute("data-apex-beat"))?r:String(n),view:t.view,options:t.options,announce:t.announce,onEnter:"function"==typeof t.onEnter?t.onEnter:void 0}):console.warn(`apexcharts: storyboard beat ${n} has no resolvable element; skipped.`)}),i;return(t||e).querySelectorAll("[data-apex-beat]").forEach((e,t)=>{i.push({el:e,key:e.getAttribute("data-apex-beat")||String(t),view:e.getAttribute("data-apex-view")||void 0,options:void 0,announce:e.getAttribute("data-apex-announce")||void 0,onEnter:void 0})}),i}_onIntersect(e){e.forEach(e=>{const t=this._beats.findIndex(t=>t.el===e.target);t<0||(e.isIntersecting?this._activate(t):t===this._activeIndex&&e.rootBounds&&e.boundingClientRect.top>=e.rootBounds.bottom&&t>0&&this._activate(t-1))})}_activate(e,t={}){var n,i;if(e===this._activeIndex)return;const s=this._beats[e];if(!s)return;const r=e>this._activeIndex?"down":"up";this._activeIndex=e;const a=(void 0!==t.animate?t.animate:this._animate)&&!h();if(null!=s.view||s.options)if(this.ctx.perspectives){const e=null!=(n=s.view)?n:{},t="string"==typeof e||e.view?e:{view:this._normalizeView(e)};this.ctx.perspectives.apply(t,{animate:a,mergeOptions:s.options})}else this._warnedNoPerspectives||(this._warnedNoPerspectives=!0,console.warn('apexcharts: storyboard beats carry views but the perspectives feature is not bundled. import "apexcharts/features/storyboard" (which includes it) or drive beats via onEnter.'));const o={index:e,key:s.key,el:s.el,direction:r};s.onEnter&&s.onEnter(this.ctx,o),s.announce&&this._announce(s.announce),"function"==typeof this.w.config.chart.events.beatChange&&this.w.config.chart.events.beatChange(this.ctx,o),null==(i=this.ctx.events)||i.fireEvent("beatChange",[this.ctx,o])}_normalizeView(e){const t=e.annotations&&e.annotations.static||{};return c(o({},e),{annotations:{static:o({points:[],xaxis:[],yaxis:[],texts:[],images:[]},t),dynamic:e.annotations&&e.annotations.dynamic||[]}})}goTo(e,t={}){const n="number"==typeof e?e:this._beats.findIndex(t=>t.key===e);n>=0&&n<this._beats.length&&this._activate(n,t)}current(){if(this._activeIndex<0)return null;const e=this._beats[this._activeIndex];return{index:this._activeIndex,key:e?e.key:null}}unbind(){this._observer&&(this._observer.disconnect(),this._observer=null),this._beats=[],this._activeIndex=-1,this._used=!1,C(this.w,this.ctx)}teardown(){this.unbind()}_announce(e){const t=this.w;if(!t.config.chart.accessibility.announcements.enabled)return;const n=t.dom.baseEl;if(!n)return;const i=n.querySelector(".apexcharts-sr-status");i&&(i.textContent="",setTimeout(()=>{i.textContent=e},0))}}}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>d.default});
|