apexcharts 8.2.0 → 8.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. package/README.md +7 -7
  2. package/dist/apexcharts.common.js +2 -2
  3. package/dist/apexcharts.core.js +271 -173
  4. package/dist/apexcharts.core.min.js +2 -2
  5. package/dist/apexcharts.css +35 -0
  6. package/dist/apexcharts.esm.js +1722 -1527
  7. package/dist/apexcharts.full.js +1459 -1075
  8. package/dist/apexcharts.full.min.js +2 -2
  9. package/dist/apexcharts.js +994 -715
  10. package/dist/apexcharts.min.js +2 -2
  11. package/dist/apexcharts.ssr.common.js +2 -2
  12. package/dist/apexcharts.ssr.esm.js +994 -715
  13. package/dist/area.common.js +2 -2
  14. package/dist/area.esm.js +91 -40
  15. package/dist/bar.common.js +2 -2
  16. package/dist/bar.esm.js +433 -394
  17. package/dist/bar.js +2 -2
  18. package/dist/boxPlot.common.js +2 -2
  19. package/dist/boxPlot.esm.js +364 -322
  20. package/dist/bubble.common.js +2 -2
  21. package/dist/bubble.esm.js +91 -40
  22. package/dist/candlestick.common.js +2 -2
  23. package/dist/candlestick.esm.js +364 -322
  24. package/dist/candlestick.js +2 -2
  25. package/dist/column.common.js +2 -2
  26. package/dist/column.esm.js +433 -394
  27. package/dist/core.common.js +2 -2
  28. package/dist/core.esm.js +271 -173
  29. package/dist/donut.common.js +1 -1
  30. package/dist/donut.esm.js +1 -1
  31. package/dist/dumbbell.common.js +2 -2
  32. package/dist/dumbbell.esm.js +433 -394
  33. package/dist/features/all.common.js +2 -2
  34. package/dist/features/all.esm.js +250 -187
  35. package/dist/features/annotations.common.js +1 -1
  36. package/dist/features/annotations.esm.js +1 -1
  37. package/dist/features/annotations.js +1 -1
  38. package/dist/features/context-menu.common.js +1 -1
  39. package/dist/features/context-menu.esm.js +1 -1
  40. package/dist/features/context-menu.js +1 -1
  41. package/dist/features/drilldown.common.js +2 -2
  42. package/dist/features/drilldown.esm.js +4 -2
  43. package/dist/features/drilldown.js +2 -2
  44. package/dist/features/dumbbell.common.js +1 -1
  45. package/dist/features/dumbbell.esm.js +1 -1
  46. package/dist/features/dumbbell.js +1 -1
  47. package/dist/features/exports.common.js +1 -1
  48. package/dist/features/exports.esm.js +1 -1
  49. package/dist/features/exports.js +1 -1
  50. package/dist/features/facet.common.js +1 -1
  51. package/dist/features/facet.esm.js +1 -1
  52. package/dist/features/facet.js +1 -1
  53. package/dist/features/highlight-filter.common.js +2 -2
  54. package/dist/features/highlight-filter.esm.js +14 -9
  55. package/dist/features/highlight-filter.js +2 -2
  56. package/dist/features/history.common.js +1 -1
  57. package/dist/features/history.esm.js +1 -1
  58. package/dist/features/history.js +1 -1
  59. package/dist/features/ink.common.js +1 -1
  60. package/dist/features/ink.esm.js +1 -1
  61. package/dist/features/ink.js +1 -1
  62. package/dist/features/keyboard.common.js +2 -2
  63. package/dist/features/keyboard.esm.js +97 -145
  64. package/dist/features/keyboard.js +2 -2
  65. package/dist/features/legend.common.js +2 -2
  66. package/dist/features/legend.esm.js +63 -43
  67. package/dist/features/legend.js +2 -2
  68. package/dist/features/link.common.js +1 -1
  69. package/dist/features/link.esm.js +1 -1
  70. package/dist/features/link.js +1 -1
  71. package/dist/features/marks.common.js +1 -1
  72. package/dist/features/marks.esm.js +1 -1
  73. package/dist/features/marks.js +1 -1
  74. package/dist/features/measure.common.js +1 -1
  75. package/dist/features/measure.esm.js +1 -1
  76. package/dist/features/measure.js +1 -1
  77. package/dist/features/morph.common.js +1 -1
  78. package/dist/features/morph.esm.js +1 -1
  79. package/dist/features/morph.js +1 -1
  80. package/dist/features/perspectives.common.js +1 -1
  81. package/dist/features/perspectives.esm.js +1 -1
  82. package/dist/features/perspectives.js +1 -1
  83. package/dist/features/raincloud.common.js +1 -1
  84. package/dist/features/raincloud.esm.js +1 -1
  85. package/dist/features/raincloud.js +1 -1
  86. package/dist/features/renderer-canvas.common.js +2 -2
  87. package/dist/features/renderer-canvas.esm.js +2 -1
  88. package/dist/features/renderer-canvas.js +2 -2
  89. package/dist/features/stats.common.js +1 -1
  90. package/dist/features/stats.esm.js +1 -1
  91. package/dist/features/stats.js +1 -1
  92. package/dist/features/storyboard.common.js +1 -1
  93. package/dist/features/storyboard.esm.js +1 -1
  94. package/dist/features/storyboard.js +1 -1
  95. package/dist/features/streamgraph.common.js +2 -2
  96. package/dist/features/streamgraph.esm.js +3 -2
  97. package/dist/features/streamgraph.js +2 -2
  98. package/dist/features/toolbar.common.js +2 -2
  99. package/dist/features/toolbar.esm.js +92 -2
  100. package/dist/features/toolbar.js +2 -2
  101. package/dist/features/trellis.common.js +2 -2
  102. package/dist/features/trellis.esm.js +83 -47
  103. package/dist/features/trellis.js +2 -2
  104. package/dist/features/waterfall.common.js +1 -1
  105. package/dist/features/waterfall.esm.js +1 -1
  106. package/dist/features/waterfall.js +1 -1
  107. package/dist/features/weave.common.js +1 -1
  108. package/dist/features/weave.esm.js +1 -1
  109. package/dist/features/weave.js +1 -1
  110. package/dist/full.common.js +2 -2
  111. package/dist/full.esm.js +950 -795
  112. package/dist/heatmap.common.js +2 -2
  113. package/dist/heatmap.esm.js +3 -17
  114. package/dist/heatmap.js +2 -2
  115. package/dist/histogram.common.js +2 -2
  116. package/dist/histogram.esm.js +433 -394
  117. package/dist/icicle.common.js +2 -2
  118. package/dist/icicle.esm.js +54 -38
  119. package/dist/icicle.js +2 -2
  120. package/dist/line.common.js +2 -2
  121. package/dist/line.esm.js +91 -40
  122. package/dist/line.js +2 -2
  123. package/dist/locales/en.json +2 -1
  124. package/dist/locales/ro.json +3 -2
  125. package/dist/pictograms.common.js +1 -1
  126. package/dist/pictograms.esm.js +1 -1
  127. package/dist/pictograms.js +1 -1
  128. package/dist/pie.common.js +1 -1
  129. package/dist/pie.esm.js +1 -1
  130. package/dist/pie.js +1 -1
  131. package/dist/polarArea.common.js +1 -1
  132. package/dist/polarArea.esm.js +1 -1
  133. package/dist/radar.common.js +2 -2
  134. package/dist/radar.esm.js +5 -4
  135. package/dist/radar.js +2 -2
  136. package/dist/radialBar.common.js +1 -1
  137. package/dist/radialBar.esm.js +1 -1
  138. package/dist/radialBar.js +1 -1
  139. package/dist/raincloud.common.js +2 -2
  140. package/dist/raincloud.esm.js +72 -26
  141. package/dist/rangeArea.common.js +2 -2
  142. package/dist/rangeArea.esm.js +91 -40
  143. package/dist/rangeBar.common.js +2 -2
  144. package/dist/rangeBar.esm.js +433 -394
  145. package/dist/scatter.common.js +2 -2
  146. package/dist/scatter.esm.js +91 -40
  147. package/dist/streamgraph.common.js +2 -2
  148. package/dist/streamgraph.esm.js +93 -41
  149. package/dist/sunburst.common.js +2 -2
  150. package/dist/sunburst.esm.js +103 -93
  151. package/dist/sunburst.js +2 -2
  152. package/dist/treemap.common.js +2 -2
  153. package/dist/treemap.esm.js +105 -86
  154. package/dist/treemap.js +2 -2
  155. package/dist/unit-shapes.common.js +1 -1
  156. package/dist/unit-shapes.esm.js +1 -1
  157. package/dist/unit-shapes.js +1 -1
  158. package/dist/unit.common.js +2 -2
  159. package/dist/unit.esm.js +280 -202
  160. package/dist/unit.js +2 -2
  161. package/dist/violin.common.js +2 -2
  162. package/dist/violin.esm.js +72 -26
  163. package/dist/violin.js +2 -2
  164. package/dist/waterfall.common.js +2 -2
  165. package/dist/waterfall.esm.js +432 -393
  166. package/package.json +1 -1
  167. package/src/apexcharts.js +13 -6
  168. package/src/assets/apexcharts.css +35 -0
  169. package/src/charts/Bar.js +62 -55
  170. package/src/charts/BarStacked.js +80 -88
  171. package/src/charts/BoxCandleStick.js +28 -31
  172. package/src/charts/Icicle.js +37 -37
  173. package/src/charts/Line.js +118 -42
  174. package/src/charts/Radar.js +5 -7
  175. package/src/charts/RangeBar.js +47 -43
  176. package/src/charts/Sunburst.js +101 -98
  177. package/src/charts/Treemap.js +108 -66
  178. package/src/charts/Unit.js +368 -250
  179. package/src/charts/Violin.js +48 -30
  180. package/src/charts/common/Breadcrumb.js +2 -2
  181. package/src/charts/common/Hierarchy.js +32 -11
  182. package/src/charts/common/Jitter.js +32 -7
  183. package/src/charts/common/bar/DataLabels.js +76 -81
  184. package/src/charts/common/bar/Helpers.js +43 -7
  185. package/src/charts/common/line/Helpers.js +12 -15
  186. package/src/charts/common/partition/NodeTooltip.js +8 -1
  187. package/src/charts/common/partition/Partition.js +33 -1
  188. package/src/charts/common/treemap/Helpers.js +3 -11
  189. package/src/locales/en.json +2 -1
  190. package/src/locales/ro.json +3 -2
  191. package/src/modules/Core.js +4 -0
  192. package/src/modules/CoreUtils.js +18 -42
  193. package/src/modules/Data.js +23 -24
  194. package/src/modules/DataLabels.js +6 -6
  195. package/src/modules/Graphics.js +62 -49
  196. package/src/modules/Markers.js +3 -1
  197. package/src/modules/Range.js +44 -29
  198. package/src/modules/RendererController.js +17 -3
  199. package/src/modules/Scales.js +32 -9
  200. package/src/modules/Series.js +39 -18
  201. package/src/modules/Theme.js +1 -1
  202. package/src/modules/ZoomPanSelection.js +119 -2
  203. package/src/modules/accessibility/KeyboardNavigation.js +114 -186
  204. package/src/modules/animations/LengthTransition.js +22 -2
  205. package/src/modules/drilldown/Breadcrumb.js +5 -2
  206. package/src/modules/helpers/Destroy.js +1 -1
  207. package/src/modules/highlightFilter/HighlightFilter.js +8 -9
  208. package/src/modules/highlightFilter/TreemapPart.js +2 -2
  209. package/src/modules/legend/HeatmapGradientLegend.js +76 -45
  210. package/src/modules/legend/Helpers.js +2 -0
  211. package/src/modules/legend/Legend.js +11 -12
  212. package/src/modules/settings/Options.js +7 -0
  213. package/src/modules/streamgraph/StreamLabels.js +1 -0
  214. package/src/modules/tooltip/Tooltip.js +20 -4
  215. package/src/modules/tooltip/Utils.js +8 -0
  216. package/src/modules/trellis/Trellis.js +6 -0
  217. package/src/modules/trellis/TrellisChrome.js +18 -7
  218. package/src/modules/trellis/TrellisSync.js +2 -0
  219. package/src/renderers/canvas/CanvasGraphics.js +1 -0
  220. package/src/ssr/DOMShim.js +10 -0
  221. package/src/types/internal.d.ts +9 -3
  222. package/types/apexcharts.d.ts +31 -12
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * ApexCharts v8.2.0
2
+ * ApexCharts v8.3.0
3
3
  * (c) 2018-2026 ApexCharts
4
4
  */
5
- "use strict";var t=Object.defineProperty,s=Object.defineProperties,e=Object.getOwnPropertyDescriptors,a=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,o=(s,e,a)=>e in s?t(s,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[e]=a,l=(t,s)=>{for(var e in s||(s={}))i.call(s,e)&&o(t,e,s[e]);if(a)for(var e of a(s))r.call(s,e)&&o(t,e,s[e]);return t},n=(t,a)=>s(t,e(a));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});function h(t){if(t&&t.__esModule)return t;const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t)for(const e in t)if("default"!==e){const a=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(s,e,a.get?a:{enumerable:!0,get:()=>t[e]})}return s.default=t,Object.freeze(s)}const c=h(require("apexcharts/core")),d=c.__apex_Fill,g=c.__apex_Graphics,p=c.__apex_Markers,x=c.__apex_DataLabels,f=c.__apex_Filters,y=c.__apex_Utils;class u{constructor(t){this.w=t}drawYAxisTexts(t,s,e,a){const i=this.w,r=i.config.yaxis[0],o=i.formatters.yLabelFormatters[0];return new g(this.w).drawText({x:t+r.labels.offsetX,y:s+r.labels.offsetY,text:o(a,e),textAnchor:"middle",fontSize:r.labels.style.fontSize,fontFamily:r.labels.style.fontFamily,foreColor:Array.isArray(r.labels.style.colors)?r.labels.style.colors[e]:r.labels.style.colors})}getMaxLabelWidth(t,{fontSize:s,fontFamily:e,fontWeight:a}={}){const i=new g(this.w);let r=0;return t.forEach(t=>{if(null==t||""===t)return;const o=i.getTextRects(`${t}`,s||"12px",e,"",!0,a);r=Math.max(r,o.width)}),r}drawExternalLabel(t){return function(t,s){const{lines:e,lineHeight:a,anchor:i,elbow:r,labelX:o,labelY:l,side:n,connector:h,style:c,foreColor:d}=s,p=new g(t),x=p.group({class:s.groupClass||"apexcharts-outer-label-group"});if(h.show){const t=`M ${i.x} ${i.y} L ${r.x} ${r.y} L ${o} ${l}`,e=p.drawPath({d:t,stroke:h.color,strokeWidth:h.width,fill:"none",strokeLinecap:"round"});e.node.classList.add(s.connectorClass||"apexcharts-outer-label-connector"),x.add(e)}const f="right"===n?o+4:o-4,y=e.length,u=l-(y-1)*a/2,b=p.drawText({x:f,y:u,text:1===y?e[0]:e,textAnchor:"right"===n?"start":"end",fontSize:c.fontSize,fontFamily:c.fontFamily,fontWeight:c.fontWeight,foreColor:d,dominantBaseline:"central",cssClass:s.textClass||"apexcharts-outer-label"});if(y>1){const t=b.node.getElementsByTagName("tspan");for(let s=0;s<t.length;s++)t[s].setAttribute("x",`${f}`),t[s].setAttribute("dy",0===s?"0":`${a}`)}return x.add(b),x}(this.w,n(l({},t),{groupClass:"apexcharts-pie-name-label-group",textClass:"apexcharts-pie-name-label",connectorClass:"apexcharts-pie-label-connector"}))}}const b=c.__apex_CoreUtils,w=c.__apex_Series;c.default.use({radar:class{constructor(t,s){this.ctx=s,this.w=t,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animDur=0,this.graphics=new g(this.w),this.lineColorArr=void 0!==t.globals.stroke.colors?t.globals.stroke.colors:t.globals.colors,this.defaultSize=t.globals.svgHeight<t.globals.svgWidth?t.layout.gridHeight:t.layout.gridWidth,this.isLog=t.config.yaxis[0].logarithmic,this.logBase=t.config.yaxis[0].logBase,this.coreUtils=new b(this.w),this.maxValue=this.isLog?this.coreUtils.getLogVal(this.logBase,t.globals.maxY,0):t.globals.maxY,this.minValue=this.isLog?this.coreUtils.getLogVal(this.logBase,this.w.globals.minY,0):t.globals.minY,this.polygons=t.config.plotOptions.radar.polygons,this.strokeWidth=t.config.stroke.show?t.config.stroke.width:0,this.size=this.defaultSize/2.1-this.strokeWidth-t.config.chart.dropShadow.blur,t.config.xaxis.labels.show&&(this.size=this.size-t.layout.xAxisLabelsWidth/1.75),void 0!==t.config.plotOptions.radar.size&&(this.size=t.config.plotOptions.radar.size),this.dataRadiusOfPercent=[],this.dataRadius=[],this.angleArr=[],this.dataPointsLen=0,this.disAngle=0,this.yaxisLabelsTextsPos=[]}draw(t){const s=this.w,e=new d(this.w),a=[],i=new x(this.w,this.ctx);t.length&&(this.dataPointsLen=t[s.globals.maxValsInArrayIndex].length),this.disAngle=2*Math.PI/this.dataPointsLen;const r=s.layout.gridWidth/2,o=s.layout.gridHeight/2,h=r+s.config.plotOptions.radar.offsetX,c=o+s.config.plotOptions.radar.offsetY,g=this.graphics.group({class:"apexcharts-radar-series apexcharts-plot-series",transform:`translate(${h||0}, ${c||0})`});s.globals.circleGeometry={node:g.node,cx:h||0,cy:c||0,r:this.size};const u=s.globals.prevCircleFrame,b=u&&"radar"===u.type&&u.rendered.r>0?this.size/u.rendered.r:1;let m=[],P=null,A=null;if(this.yaxisLabels=this.graphics.group({class:"apexcharts-yaxis"}),t.forEach((t,r)=>{const o=t.length===s.globals.dataPoints,h=this.graphics.group().attr({class:"apexcharts-series","data:longestSeries":o,seriesName:y.escapeString(s.seriesData.seriesNames[r]),rel:r+1,"data:realIndex":r});w.addCollapsedClassToSeries(this.w,h,r),this.dataRadiusOfPercent[r]=[],this.dataRadius[r]=[],this.angleArr[r]=[];if(0===t.length&&(s.globals.collapsedSeriesIndices.indexOf(r)>-1||s.globals.ancillaryCollapsedSeriesIndices.indexOf(r)>-1))for(let t=0;t<s.globals.dataPoints;t++)this.dataRadiusOfPercent[r][t]=0,this.dataRadius[r][t]=0,this.angleArr[r][t]=t*this.disAngle;t.forEach((t,s)=>{const e=Math.abs(this.maxValue-this.minValue);t-=this.minValue,this.isLog&&(t=this.coreUtils.getLogVal(this.logBase,t,0)),this.dataRadiusOfPercent[r][s]=t/e,this.dataRadius[r][s]=this.dataRadiusOfPercent[r][s]*this.size,this.angleArr[r][s]=s*this.disAngle}),m=this.getDataPointsPos(this.dataRadius[r],this.angleArr[r]);const c=this.createPaths(m,{x:0,y:0});P=this.graphics.group({class:"apexcharts-series-markers-wrap apexcharts-element-hidden"}),A=this.graphics.group({class:"apexcharts-datalabels","data:realIndex":r}),s.globals.delayedElements.push({el:P.node,index:r});const d={i:r,realIndex:r,animationDelay:r,initialSpeed:s.config.chart.animations.speed,dataChangeSpeed:s.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-radar",shouldClipToGrid:!1,bindEventsOnPaths:!1,stroke:s.globals.stroke.colors[r],strokeLineCap:s.config.stroke.lineCap};let g=null;var x,u;s.globals.previousPaths.length>0&&(x=this.getPreviousPath(r),u=b,g=x&&1!==u&&Number.isFinite(u)&&!/[aA]/.test(x)?x.replace(/-?(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?/gi,t=>String(parseFloat(t)*u)):x);for(let t=0;t<c.linePathsTo.length;t++){const a=this.graphics.renderPaths(n(l({},d),{pathFrom:null===g?c.linePathsFrom[t]:g,pathTo:c.linePathsTo[t],strokeWidth:Array.isArray(this.strokeWidth)?this.strokeWidth[r]:this.strokeWidth,fill:"none",drawShadow:!1}));h.add(a);const i=e.fillPath({seriesNumber:r}),o=this.graphics.renderPaths(n(l({},d),{pathFrom:null===g?c.areaPathsFrom[t]:g,pathTo:c.areaPathsTo[t],strokeWidth:0,fill:i,drawShadow:!1,drawMask:{type:"radial",cx:0,cy:0,r:this.size}}));if(s.config.chart.dropShadow.enabled){const t=new f(this.w),e=s.config.chart.dropShadow;t.dropShadow(o,Object.assign({},e,{noUserSpaceOnUse:!0}),r)}h.add(o)}t.forEach((t,e)=>{const a=new p(this.w,this.ctx).getMarkerConfig({cssClass:"apexcharts-marker",seriesIndex:r,dataPointIndex:e});a.pSize||(a.pSize=5,a.pointFillColor="transparent",a.pointStrokeColor="transparent",a.pointStrokeWidth=0);const o=this.graphics.drawMarker(m[e].x,m[e].y,a);o.attr("rel",e),o.attr("j",e),o.attr("index",r),o.node.setAttribute("default-marker-size",a.pSize);const n=this.graphics.group({class:"apexcharts-series-markers"});n&&n.add(o),P.add(n),h.add(P);const c=s.config.dataLabels;if(c.enabled){const t=c.formatter(s.seriesData.series[r][e],{ctx:this.ctx,seriesIndex:r,dataPointIndex:e,w:s});i.plotDataLabelsText({x:m[e].x,y:m[e].y,text:t,textAnchor:"middle",i:r,j:r,seriesIndex:r,dataPointIndex:e,parent:A,offsetCorrection:!1,dataLabelsConfig:l({},c)})}h.add(A)}),a.push(h)}),this.drawPolygons({parent:g}),s.config.xaxis.labels.show){const t=this.drawXAxisTexts();g.add(t)}return a.forEach(t=>{g.add(t)}),g.add(this.yaxisLabels),g}drawPolygons(t){const s=this.w,{parent:e}=t,a=new u(this.w),i=s.globals.yAxisScale[0].result.slice().reverse(),r=i.length,o=[],l=this.size/(r-1);for(let t=0;t<r;t++)o[t]=l*t;o.reverse();const n=[],h=[];o.forEach((t,s)=>{const e=y.getPolygonPos(t,this.dataPointsLen);let a="";e.forEach((t,e)=>{if(0===s){const s=this.graphics.drawLine(t.x,t.y,0,0,Array.isArray(this.polygons.connectorColors)?this.polygons.connectorColors[e]:this.polygons.connectorColors);h.push(s)}0===e&&this.yaxisLabelsTextsPos.push({x:t.x,y:t.y}),a+=t.x+","+t.y+" "}),n.push(a)}),n.forEach((t,a)=>{const i=this.polygons.strokeColors,r=this.polygons.strokeWidth,o=this.graphics.drawPolygon(t,Array.isArray(i)?i[a]:i,Array.isArray(r)?r[a]:r,s.globals.radarPolygons.fill.colors[a]);e.add(o)}),h.forEach(t=>{e.add(t)}),s.config.yaxis[0].show&&this.yaxisLabelsTextsPos.forEach((t,s)=>{const e=a.drawYAxisTexts(t.x,t.y,s,i[s]);this.yaxisLabels.add(e)})}drawXAxisTexts(){const t=this.w,s=t.config.xaxis.labels,e=this.graphics.group({class:"apexcharts-xaxis"}),a=y.getPolygonPos(this.size,this.dataPointsLen);return t.labelData.labels.forEach((i,r)=>{const o="function"==typeof t.config.xaxis.labels.formatter?t.config.xaxis.labels.formatter:t=>t,n=new x(this.w,this.ctx);if(a[r]){const h=this.getTextPos(a[r],this.size),c=o(i,{seriesIndex:-1,dataPointIndex:r,w:t});n.plotDataLabelsText({x:h.newX,y:h.newY,text:c,textAnchor:h.textAnchor,i:r,j:r,parent:e,className:"apexcharts-xaxis-label",color:Array.isArray(s.style.colors)&&s.style.colors[r]?s.style.colors[r]:"#a8a8a8",dataLabelsConfig:l({textAnchor:h.textAnchor,dropShadow:{enabled:!1}},s),offsetCorrection:!1}).on("click",s=>{if("function"==typeof t.config.chart.events.xAxisLabelClick){const e=Object.assign({},t,{labelIndex:r});t.config.chart.events.xAxisLabelClick(s,this.ctx,e)}})}}),e}createPaths(t,s){const e=[];let a=[];const i=[];let r=[];if(t.length){a=[this.graphics.move(s.x,s.y)],r=[this.graphics.move(s.x,s.y)];let o=this.graphics.move(t[0].x,t[0].y),l=this.graphics.move(t[0].x,t[0].y);t.forEach((s,e)=>{o+=this.graphics.line(s.x,s.y),l+=this.graphics.line(s.x,s.y),e===t.length-1&&(o+="Z",l+="Z")}),e.push(o),i.push(l)}return{linePathsFrom:a,linePathsTo:e,areaPathsFrom:r,areaPathsTo:i}}getTextPos(t,s){let e="middle",a=t.x,i=t.y;return Math.abs(t.x)>=10?t.x>0?(e="start",a+=10):t.x<0&&(e="end",a-=10):e="middle",Math.abs(t.y)>=s-10&&(t.y<0?i-=10:t.y>0&&(i+=10)),{textAnchor:e,newX:a,newY:i}}getPreviousPath(t){const s=this.w;let e=null;for(let a=0;a<s.globals.previousPaths.length;a++){const i=s.globals.previousPaths[a];Array.isArray(null==i?void 0:i.paths)&&i.paths.length>0&&parseInt(i.realIndex,10)===parseInt(String(t),10)&&void 0!==s.globals.previousPaths[a].paths[0]&&(e=s.globals.previousPaths[a].paths[0].d)}return e}getDataPointsPos(t,s,e=this.dataPointsLen){t=t||[],s=s||[];const a=[];for(let i=0;i<e;i++){const e={};e.x=t[i]*Math.sin(s[i]),e.y=-t[i]*Math.cos(s[i]),a.push(e)}return a}}}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>c.default});
5
+ "use strict";var t=Object.defineProperty,s=Object.defineProperties,e=Object.getOwnPropertyDescriptors,a=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,o=(s,e,a)=>e in s?t(s,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[e]=a,l=(t,s)=>{for(var e in s||(s={}))i.call(s,e)&&o(t,e,s[e]);if(a)for(var e of a(s))r.call(s,e)&&o(t,e,s[e]);return t},n=(t,a)=>s(t,e(a));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});function h(t){if(t&&t.__esModule)return t;const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t)for(const e in t)if("default"!==e){const a=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(s,e,a.get?a:{enumerable:!0,get:()=>t[e]})}return s.default=t,Object.freeze(s)}const c=h(require("apexcharts/core")),d=c.__apex_Fill,g=c.__apex_Graphics,p=c.__apex_Markers,x=c.__apex_DataLabels,f=c.__apex_Filters,u=c.__apex_Utils;class y{constructor(t){this.w=t}drawYAxisTexts(t,s,e,a){const i=this.w,r=i.config.yaxis[0],o=i.formatters.yLabelFormatters[0];return new g(this.w).drawText({x:t+r.labels.offsetX,y:s+r.labels.offsetY,text:o(a,e),textAnchor:"middle",fontSize:r.labels.style.fontSize,fontFamily:r.labels.style.fontFamily,foreColor:Array.isArray(r.labels.style.colors)?r.labels.style.colors[e]:r.labels.style.colors})}getMaxLabelWidth(t,{fontSize:s,fontFamily:e,fontWeight:a}={}){const i=new g(this.w);let r=0;return t.forEach(t=>{if(null==t||""===t)return;const o=i.getTextRects(`${t}`,s||"12px",e,"",!0,a);r=Math.max(r,o.width)}),r}drawExternalLabel(t){return function(t,s){const{lines:e,lineHeight:a,anchor:i,elbow:r,labelX:o,labelY:l,side:n,connector:h,style:c,foreColor:d}=s,p=new g(t),x=p.group({class:s.groupClass||"apexcharts-outer-label-group"});if(h.show){const t=`M ${i.x} ${i.y} L ${r.x} ${r.y} L ${o} ${l}`,e=p.drawPath({d:t,stroke:h.color,strokeWidth:h.width,fill:"none",strokeLinecap:"round"});e.node.classList.add(s.connectorClass||"apexcharts-outer-label-connector"),x.add(e)}const f="right"===n?o+4:o-4,u=e.length,y=l-(u-1)*a/2,b=p.drawText({x:f,y:y,text:1===u?e[0]:e,textAnchor:"right"===n?"start":"end",fontSize:c.fontSize,fontFamily:c.fontFamily,fontWeight:c.fontWeight,foreColor:d,dominantBaseline:"central",cssClass:s.textClass||"apexcharts-outer-label"});if(u>1){const t=b.node.getElementsByTagName("tspan");for(let s=0;s<t.length;s++)t[s].setAttribute("x",`${f}`),t[s].setAttribute("dy",0===s?"0":`${a}`)}return x.add(b),x}(this.w,n(l({},t),{groupClass:"apexcharts-pie-name-label-group",textClass:"apexcharts-pie-name-label",connectorClass:"apexcharts-pie-label-connector"}))}}const b=c.__apex_CoreUtils,w=c.__apex_Series;c.default.use({radar:class{constructor(t,s){this.ctx=s,this.w=t,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animDur=0,this.graphics=new g(this.w),this.lineColorArr=void 0!==t.globals.stroke.colors?t.globals.stroke.colors:t.globals.colors,this.defaultSize=t.globals.svgHeight<t.globals.svgWidth?t.layout.gridHeight:t.layout.gridWidth,this.isLog=t.config.yaxis[0].logarithmic,this.logBase=t.config.yaxis[0].logBase,this.coreUtils=new b(this.w),this.maxValue=this.isLog?this.coreUtils.getLogVal(this.logBase,t.globals.maxY,0):t.globals.maxY,this.minValue=this.isLog?this.coreUtils.getLogVal(this.logBase,this.w.globals.minY,0):t.globals.minY,this.polygons=t.config.plotOptions.radar.polygons,this.strokeWidth=t.config.stroke.show?t.config.stroke.width:0,this.size=this.defaultSize/2.1-this.strokeWidth-t.config.chart.dropShadow.blur,t.config.xaxis.labels.show&&(this.size=this.size-t.layout.xAxisLabelsWidth/1.75),void 0!==t.config.plotOptions.radar.size&&(this.size=t.config.plotOptions.radar.size),this.dataRadiusOfPercent=[],this.dataRadius=[],this.angleArr=[],this.dataPointsLen=0,this.disAngle=0,this.yaxisLabelsTextsPos=[]}draw(t){const s=this.w,e=new d(this.w),a=[],i=new x(this.w,this.ctx);t.length&&(this.dataPointsLen=t[s.globals.maxValsInArrayIndex].length),this.disAngle=2*Math.PI/this.dataPointsLen;const r=s.layout.gridWidth/2,o=s.layout.gridHeight/2,h=r+s.config.plotOptions.radar.offsetX,c=o+s.config.plotOptions.radar.offsetY,g=this.graphics.group({class:"apexcharts-radar-series apexcharts-plot-series",transform:`translate(${h||0}, ${c||0})`});s.globals.circleGeometry={node:g.node,cx:h||0,cy:c||0,r:this.size};const y=s.globals.prevCircleFrame,b=y&&"radar"===y.type&&y.rendered.r>0?this.size/y.rendered.r:1;let m=[],P=null,A=null;if(this.yaxisLabels=this.graphics.group({class:"apexcharts-yaxis"}),t.forEach((t,r)=>{const o=t.length===s.globals.dataPoints,h=this.graphics.group().attr({class:"apexcharts-series","data:longestSeries":o,seriesName:u.escapeString(s.seriesData.seriesNames[r]),rel:r+1,"data:realIndex":r});w.addCollapsedClassToSeries(this.w,h,r),this.dataRadiusOfPercent[r]=[],this.dataRadius[r]=[],this.angleArr[r]=[];if(0===t.length&&(s.globals.collapsedSeriesIndices.indexOf(r)>-1||s.globals.ancillaryCollapsedSeriesIndices.indexOf(r)>-1))for(let t=0;t<s.globals.dataPoints;t++)this.dataRadiusOfPercent[r][t]=0,this.dataRadius[r][t]=0,this.angleArr[r][t]=t*this.disAngle;t.forEach((t,s)=>{const e=Math.abs(this.maxValue-this.minValue);t=Math.max(0,t-this.minValue),this.isLog&&(t=this.coreUtils.getLogVal(this.logBase,t,0)),this.dataRadiusOfPercent[r][s]=t/e,this.dataRadius[r][s]=this.dataRadiusOfPercent[r][s]*this.size,this.angleArr[r][s]=s*this.disAngle}),m=this.getDataPointsPos(this.dataRadius[r],this.angleArr[r]);const c=this.createPaths(m,{x:0,y:0});P=this.graphics.group({class:"apexcharts-series-markers-wrap apexcharts-element-hidden"}),A=this.graphics.group({class:"apexcharts-datalabels","data:realIndex":r}),s.globals.delayedElements.push({el:P.node,index:r});const d={i:r,realIndex:r,animationDelay:r,initialSpeed:s.config.chart.animations.speed,dataChangeSpeed:s.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-radar",shouldClipToGrid:!1,bindEventsOnPaths:!1,stroke:s.globals.stroke.colors[r],strokeLinecap:s.config.stroke.lineCap};let g=null;var x,y;s.globals.previousPaths.length>0&&(x=this.getPreviousPath(r),y=b,g=x&&1!==y&&Number.isFinite(y)&&!/[aA]/.test(x)?x.replace(/-?(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?/gi,t=>String(parseFloat(t)*y)):x);for(let t=0;t<c.linePathsTo.length;t++){const a=this.graphics.renderPaths(n(l({},d),{pathFrom:null===g?c.linePathsFrom[t]:g,pathTo:c.linePathsTo[t],strokeWidth:Array.isArray(this.strokeWidth)?this.strokeWidth[r]:this.strokeWidth,fill:"none",drawShadow:!1}));h.add(a);const i=e.fillPath({seriesNumber:r}),o=this.graphics.renderPaths(n(l({},d),{pathFrom:null===g?c.areaPathsFrom[t]:g,pathTo:c.areaPathsTo[t],strokeWidth:0,fill:i,drawShadow:!1,drawMask:{type:"radial",cx:0,cy:0,r:this.size}}));if(s.config.chart.dropShadow.enabled){const t=new f(this.w),e=s.config.chart.dropShadow;t.dropShadow(o,Object.assign({},e,{noUserSpaceOnUse:!0}),r)}h.add(o)}t.forEach((t,e)=>{const a=new p(this.w,this.ctx).getMarkerConfig({cssClass:"apexcharts-marker",seriesIndex:r,dataPointIndex:e});a.pSize||(a.pSize=5,a.pointFillColor="transparent",a.pointStrokeColor="transparent",a.pointStrokeWidth=0);const o=this.graphics.drawMarker(m[e].x,m[e].y,a);o.attr("rel",e),o.attr("j",e),o.attr("index",r),o.node.setAttribute("default-marker-size",a.pSize);const n=this.graphics.group({class:"apexcharts-series-markers"});n&&n.add(o),P.add(n),h.add(P);const c=s.config.dataLabels;if(c.enabled){const t=c.formatter(s.seriesData.series[r][e],{ctx:this.ctx,seriesIndex:r,dataPointIndex:e,w:s});i.plotDataLabelsText({x:m[e].x,y:m[e].y,text:t,textAnchor:"middle",i:r,j:r,seriesIndex:r,dataPointIndex:e,parent:A,offsetCorrection:!1,dataLabelsConfig:l({},c)})}h.add(A)}),a.push(h)}),this.drawPolygons({parent:g}),s.config.xaxis.labels.show){const t=this.drawXAxisTexts();g.add(t)}return a.forEach(t=>{g.add(t)}),g.add(this.yaxisLabels),g}drawPolygons(t){const s=this.w,{parent:e}=t,a=new y(this.w),i=s.globals.yAxisScale[0].result.slice().reverse(),r=i.length,o=[],l=this.size/(r-1);for(let t=0;t<r;t++)o[t]=l*t;o.reverse();const n=[],h=[];o.forEach((t,s)=>{const e=u.getPolygonPos(t,this.dataPointsLen);let a="";e.forEach((t,e)=>{if(0===s){const s=this.graphics.drawLine(t.x,t.y,0,0,Array.isArray(this.polygons.connectorColors)?this.polygons.connectorColors[e]:this.polygons.connectorColors);h.push(s)}0===e&&this.yaxisLabelsTextsPos.push({x:t.x,y:t.y}),a+=t.x+","+t.y+" "}),n.push(a)}),n.forEach((t,a)=>{const i=this.polygons.strokeColors,r=this.polygons.strokeWidth,o=this.graphics.drawPolygon(t,Array.isArray(i)?i[a]:i,Array.isArray(r)?r[a]:r,s.globals.radarPolygons.fill.colors[a]);e.add(o)}),h.forEach(t=>{e.add(t)}),s.config.yaxis[0].show&&this.yaxisLabelsTextsPos.forEach((t,s)=>{const e=a.drawYAxisTexts(t.x,t.y,s,i[s]);this.yaxisLabels.add(e)})}drawXAxisTexts(){const t=this.w,s=t.config.xaxis.labels,e=s.style.colors,a=this.graphics.group({class:"apexcharts-xaxis"}),i=u.getPolygonPos(this.size,this.dataPointsLen);return t.labelData.labels.forEach((r,o)=>{const n="function"==typeof t.config.xaxis.labels.formatter?t.config.xaxis.labels.formatter:t=>t,h=new x(this.w,this.ctx);if(i[o]){const c=this.getTextPos(i[o],this.size),d=n(r,{seriesIndex:-1,dataPointIndex:o,w:t});h.plotDataLabelsText({x:c.newX,y:c.newY,text:d,textAnchor:c.textAnchor,i:o,j:o,parent:a,className:"apexcharts-xaxis-label",color:(Array.isArray(e)?e[o]:e)||"#a8a8a8",dataLabelsConfig:l({textAnchor:c.textAnchor,dropShadow:{enabled:!1}},s),offsetCorrection:!1}).on("click",s=>{if("function"==typeof t.config.chart.events.xAxisLabelClick){const e=Object.assign({},t,{labelIndex:o});t.config.chart.events.xAxisLabelClick(s,this.ctx,e)}})}}),a}createPaths(t,s){const e=[];let a=[];const i=[];let r=[];if(t.length){a=[this.graphics.move(s.x,s.y)],r=[this.graphics.move(s.x,s.y)];let o=this.graphics.move(t[0].x,t[0].y),l=this.graphics.move(t[0].x,t[0].y);t.forEach((s,e)=>{o+=this.graphics.line(s.x,s.y),l+=this.graphics.line(s.x,s.y),e===t.length-1&&(o+="Z",l+="Z")}),e.push(o),i.push(l)}return{linePathsFrom:a,linePathsTo:e,areaPathsFrom:r,areaPathsTo:i}}getTextPos(t,s){let e="middle",a=t.x,i=t.y;return Math.abs(t.x)>=10?t.x>0?(e="start",a+=10):t.x<0&&(e="end",a-=10):e="middle",Math.abs(t.y)>=s-10&&(t.y<0?i-=10:t.y>0&&(i+=10)),{textAnchor:e,newX:a,newY:i}}getPreviousPath(t){const s=this.w;let e=null;for(let a=0;a<s.globals.previousPaths.length;a++){const i=s.globals.previousPaths[a];Array.isArray(null==i?void 0:i.paths)&&i.paths.length>0&&parseInt(i.realIndex,10)===parseInt(String(t),10)&&void 0!==s.globals.previousPaths[a].paths[0]&&(e=s.globals.previousPaths[a].paths[0].d)}return e}getDataPointsPos(t,s,e=this.dataPointsLen){t=t||[],s=s||[];const a=[];for(let i=0;i<e;i++){const e={};e.x=t[i]*Math.sin(s[i]),e.y=-t[i]*Math.cos(s[i]),a.push(e)}return a}}}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>c.default});
package/dist/radar.esm.js CHANGED
@@ -18,7 +18,7 @@ var __spreadValues = (a, b) => {
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
20
  /*!
21
- * ApexCharts v8.2.0
21
+ * ApexCharts v8.3.0
22
22
  * (c) 2018-2026 ApexCharts
23
23
  */
24
24
  import * as _core from "apexcharts/core";
@@ -271,7 +271,7 @@ class Radar {
271
271
  }
272
272
  s.forEach((dv, j) => {
273
273
  const range = Math.abs(this.maxValue - this.minValue);
274
- dv = dv - this.minValue;
274
+ dv = Math.max(0, dv - this.minValue);
275
275
  if (this.isLog) {
276
276
  dv = this.coreUtils.getLogVal(this.logBase, dv, 0);
277
277
  }
@@ -308,7 +308,7 @@ class Radar {
308
308
  shouldClipToGrid: false,
309
309
  bindEventsOnPaths: false,
310
310
  stroke: w.globals.stroke.colors[i],
311
- strokeLineCap: w.config.stroke.lineCap
311
+ strokeLinecap: w.config.stroke.lineCap
312
312
  };
313
313
  let pathFrom = null;
314
314
  if (w.globals.previousPaths.length > 0) {
@@ -485,6 +485,7 @@ class Radar {
485
485
  drawXAxisTexts() {
486
486
  const w = this.w;
487
487
  const xaxisLabelsConfig = w.config.xaxis.labels;
488
+ const lc = xaxisLabelsConfig.style.colors;
488
489
  const elXAxisWrap = this.graphics.group({
489
490
  class: "apexcharts-xaxis"
490
491
  });
@@ -508,7 +509,7 @@ class Radar {
508
509
  j: i,
509
510
  parent: elXAxisWrap,
510
511
  className: "apexcharts-xaxis-label",
511
- color: Array.isArray(xaxisLabelsConfig.style.colors) && xaxisLabelsConfig.style.colors[i] ? xaxisLabelsConfig.style.colors[i] : "#a8a8a8",
512
+ color: (Array.isArray(lc) ? lc[i] : lc) || "#a8a8a8",
512
513
  dataLabelsConfig: __spreadValues({
513
514
  textAnchor: textPos.textAnchor,
514
515
  dropShadow: { enabled: false }
package/dist/radar.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * ApexCharts v8.2.0
2
+ * ApexCharts v8.3.0
3
3
  * (c) 2018-2026 ApexCharts
4
4
  */
5
- !function(t){var s="undefined"!=typeof globalThis?globalThis:self,e=s.ApexCharts;if(e&&e.__internals)return t.call(s);if(e)throw new Error("ApexCharts: dist/radar.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(s);if("object"==typeof exports&&"undefined"!=typeof module||"undefined"==typeof window||"undefined"==typeof document)throw new Error("ApexCharts: dist/radar.js is a script-tag add-on and needs the ApexCharts script on the page. A bundler imports the matching apexcharts/ sub-path instead.");var a={file:"dist/radar.js",run:t,done:!1},i=s.__apexcharts_pending_addons__||(s.__apexcharts_pending_addons__=[]);i.push(a),"complete"!==document.readyState&&window.addEventListener("load",function(){if(!a.done){var e=s.ApexCharts;if(e)if(e.__internals){a.done=!0;var r=i.indexOf(a);-1!==r&&i.splice(r,1);try{t.call(s),e.__drainsAddons||s.console.warn("ApexCharts: dist/radar.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){s.console.error("ApexCharts: dist/radar.js could not register with the ApexCharts script on this page: "+(t&&t.message))}}else s.console.error("ApexCharts: dist/radar.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 s.console.warn("ApexCharts: dist/radar.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,s;t=this,s=function(t){"use strict";var s=Object.defineProperty,e=Object.defineProperties,a=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,n=(t,e,a)=>e in t?s(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a,l=(t,s)=>{for(var e in s||(s={}))r.call(s,e)&&n(t,e,s[e]);if(i)for(var e of i(s))o.call(s,e)&&n(t,e,s[e]);return t},h=(t,s)=>e(t,a(s));const d=globalThis.ApexCharts,c=globalThis.ApexCharts.__internals.__apex_Fill,p=globalThis.ApexCharts.__internals.__apex_Graphics,g=globalThis.ApexCharts.__internals.__apex_Markers,x=globalThis.ApexCharts.__internals.__apex_DataLabels,f=globalThis.ApexCharts.__internals.__apex_Filters,u=globalThis.ApexCharts.__internals.__apex_Utils;class y{constructor(t){this.w=t}drawYAxisTexts(t,s,e,a){const i=this.w,r=i.config.yaxis[0],o=i.formatters.yLabelFormatters[0];return new p(this.w).drawText({x:t+r.labels.offsetX,y:s+r.labels.offsetY,text:o(a,e),textAnchor:"middle",fontSize:r.labels.style.fontSize,fontFamily:r.labels.style.fontFamily,foreColor:Array.isArray(r.labels.style.colors)?r.labels.style.colors[e]:r.labels.style.colors})}getMaxLabelWidth(t,{fontSize:s,fontFamily:e,fontWeight:a}={}){const i=new p(this.w);let r=0;return t.forEach(t=>{if(null==t||""===t)return;const o=i.getTextRects(`${t}`,s||"12px",e,"",!0,a);r=Math.max(r,o.width)}),r}drawExternalLabel(t){return function(t,s){const{lines:e,lineHeight:a,anchor:i,elbow:r,labelX:o,labelY:n,side:l,connector:h,style:d,foreColor:c}=s,g=new p(t),x=g.group({class:s.groupClass||"apexcharts-outer-label-group"});if(h.show){const t=`M ${i.x} ${i.y} L ${r.x} ${r.y} L ${o} ${n}`,e=g.drawPath({d:t,stroke:h.color,strokeWidth:h.width,fill:"none",strokeLinecap:"round"});e.node.classList.add(s.connectorClass||"apexcharts-outer-label-connector"),x.add(e)}const f="right"===l?o+4:o-4,u=e.length,y=n-(u-1)*a/2,b=g.drawText({x:f,y:y,text:1===u?e[0]:e,textAnchor:"right"===l?"start":"end",fontSize:d.fontSize,fontFamily:d.fontFamily,fontWeight:d.fontWeight,foreColor:c,dominantBaseline:"central",cssClass:s.textClass||"apexcharts-outer-label"});if(u>1){const t=b.node.getElementsByTagName("tspan");for(let s=0;s<t.length;s++)t[s].setAttribute("x",`${f}`),t[s].setAttribute("dy",0===s?"0":`${a}`)}return x.add(b),x}(this.w,h(l({},t),{groupClass:"apexcharts-pie-name-label-group",textClass:"apexcharts-pie-name-label",connectorClass:"apexcharts-pie-label-connector"}))}}const b=globalThis.ApexCharts.__internals.__apex_CoreUtils,w=globalThis.ApexCharts.__internals.__apex_Series;d.use({radar:class{constructor(t,s){this.ctx=s,this.w=t,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animDur=0,this.graphics=new p(this.w),this.lineColorArr=void 0!==t.globals.stroke.colors?t.globals.stroke.colors:t.globals.colors,this.defaultSize=t.globals.svgHeight<t.globals.svgWidth?t.layout.gridHeight:t.layout.gridWidth,this.isLog=t.config.yaxis[0].logarithmic,this.logBase=t.config.yaxis[0].logBase,this.coreUtils=new b(this.w),this.maxValue=this.isLog?this.coreUtils.getLogVal(this.logBase,t.globals.maxY,0):t.globals.maxY,this.minValue=this.isLog?this.coreUtils.getLogVal(this.logBase,this.w.globals.minY,0):t.globals.minY,this.polygons=t.config.plotOptions.radar.polygons,this.strokeWidth=t.config.stroke.show?t.config.stroke.width:0,this.size=this.defaultSize/2.1-this.strokeWidth-t.config.chart.dropShadow.blur,t.config.xaxis.labels.show&&(this.size=this.size-t.layout.xAxisLabelsWidth/1.75),void 0!==t.config.plotOptions.radar.size&&(this.size=t.config.plotOptions.radar.size),this.dataRadiusOfPercent=[],this.dataRadius=[],this.angleArr=[],this.dataPointsLen=0,this.disAngle=0,this.yaxisLabelsTextsPos=[]}draw(t){const s=this.w,e=new c(this.w),a=[],i=new x(this.w,this.ctx);t.length&&(this.dataPointsLen=t[s.globals.maxValsInArrayIndex].length),this.disAngle=2*Math.PI/this.dataPointsLen;const r=s.layout.gridWidth/2,o=s.layout.gridHeight/2,n=r+s.config.plotOptions.radar.offsetX,d=o+s.config.plotOptions.radar.offsetY,p=this.graphics.group({class:"apexcharts-radar-series apexcharts-plot-series",transform:`translate(${n||0}, ${d||0})`});s.globals.circleGeometry={node:p.node,cx:n||0,cy:d||0,r:this.size};const y=s.globals.prevCircleFrame,b=y&&"radar"===y.type&&y.rendered.r>0?this.size/y.rendered.r:1;let m=[],A=null,P=null;if(this.yaxisLabels=this.graphics.group({class:"apexcharts-yaxis"}),t.forEach((t,r)=>{const o=t.length===s.globals.dataPoints,n=this.graphics.group().attr({class:"apexcharts-series","data:longestSeries":o,seriesName:u.escapeString(s.seriesData.seriesNames[r]),rel:r+1,"data:realIndex":r});if(w.addCollapsedClassToSeries(this.w,n,r),this.dataRadiusOfPercent[r]=[],this.dataRadius[r]=[],this.angleArr[r]=[],0===t.length&&(s.globals.collapsedSeriesIndices.indexOf(r)>-1||s.globals.ancillaryCollapsedSeriesIndices.indexOf(r)>-1))for(let t=0;t<s.globals.dataPoints;t++)this.dataRadiusOfPercent[r][t]=0,this.dataRadius[r][t]=0,this.angleArr[r][t]=t*this.disAngle;t.forEach((t,s)=>{const e=Math.abs(this.maxValue-this.minValue);t-=this.minValue,this.isLog&&(t=this.coreUtils.getLogVal(this.logBase,t,0)),this.dataRadiusOfPercent[r][s]=t/e,this.dataRadius[r][s]=this.dataRadiusOfPercent[r][s]*this.size,this.angleArr[r][s]=s*this.disAngle}),m=this.getDataPointsPos(this.dataRadius[r],this.angleArr[r]);const d=this.createPaths(m,{x:0,y:0});A=this.graphics.group({class:"apexcharts-series-markers-wrap apexcharts-element-hidden"}),P=this.graphics.group({class:"apexcharts-datalabels","data:realIndex":r}),s.globals.delayedElements.push({el:A.node,index:r});const c={i:r,realIndex:r,animationDelay:r,initialSpeed:s.config.chart.animations.speed,dataChangeSpeed:s.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-radar",shouldClipToGrid:!1,bindEventsOnPaths:!1,stroke:s.globals.stroke.colors[r],strokeLineCap:s.config.stroke.lineCap};let p=null;var x,y;s.globals.previousPaths.length>0&&(x=this.getPreviousPath(r),y=b,p=x&&1!==y&&Number.isFinite(y)&&!/[aA]/.test(x)?x.replace(/-?(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?/gi,t=>String(parseFloat(t)*y)):x);for(let t=0;t<d.linePathsTo.length;t++){const a=this.graphics.renderPaths(h(l({},c),{pathFrom:null===p?d.linePathsFrom[t]:p,pathTo:d.linePathsTo[t],strokeWidth:Array.isArray(this.strokeWidth)?this.strokeWidth[r]:this.strokeWidth,fill:"none",drawShadow:!1}));n.add(a);const i=e.fillPath({seriesNumber:r}),o=this.graphics.renderPaths(h(l({},c),{pathFrom:null===p?d.areaPathsFrom[t]:p,pathTo:d.areaPathsTo[t],strokeWidth:0,fill:i,drawShadow:!1,drawMask:{type:"radial",cx:0,cy:0,r:this.size}}));if(s.config.chart.dropShadow.enabled){const t=new f(this.w),e=s.config.chart.dropShadow;t.dropShadow(o,Object.assign({},e,{noUserSpaceOnUse:!0}),r)}n.add(o)}t.forEach((t,e)=>{const a=new g(this.w,this.ctx).getMarkerConfig({cssClass:"apexcharts-marker",seriesIndex:r,dataPointIndex:e});a.pSize||(a.pSize=5,a.pointFillColor="transparent",a.pointStrokeColor="transparent",a.pointStrokeWidth=0);const o=this.graphics.drawMarker(m[e].x,m[e].y,a);o.attr("rel",e),o.attr("j",e),o.attr("index",r),o.node.setAttribute("default-marker-size",a.pSize);const h=this.graphics.group({class:"apexcharts-series-markers"});h&&h.add(o),A.add(h),n.add(A);const d=s.config.dataLabels;if(d.enabled){const t=d.formatter(s.seriesData.series[r][e],{ctx:this.ctx,seriesIndex:r,dataPointIndex:e,w:s});i.plotDataLabelsText({x:m[e].x,y:m[e].y,text:t,textAnchor:"middle",i:r,j:r,seriesIndex:r,dataPointIndex:e,parent:P,offsetCorrection:!1,dataLabelsConfig:l({},d)})}n.add(P)}),a.push(n)}),this.drawPolygons({parent:p}),s.config.xaxis.labels.show){const t=this.drawXAxisTexts();p.add(t)}return a.forEach(t=>{p.add(t)}),p.add(this.yaxisLabels),p}drawPolygons(t){const s=this.w,{parent:e}=t,a=new y(this.w),i=s.globals.yAxisScale[0].result.slice().reverse(),r=i.length,o=[],n=this.size/(r-1);for(let t=0;t<r;t++)o[t]=n*t;o.reverse();const l=[],h=[];o.forEach((t,s)=>{const e=u.getPolygonPos(t,this.dataPointsLen);let a="";e.forEach((t,e)=>{if(0===s){const s=this.graphics.drawLine(t.x,t.y,0,0,Array.isArray(this.polygons.connectorColors)?this.polygons.connectorColors[e]:this.polygons.connectorColors);h.push(s)}0===e&&this.yaxisLabelsTextsPos.push({x:t.x,y:t.y}),a+=t.x+","+t.y+" "}),l.push(a)}),l.forEach((t,a)=>{const i=this.polygons.strokeColors,r=this.polygons.strokeWidth,o=this.graphics.drawPolygon(t,Array.isArray(i)?i[a]:i,Array.isArray(r)?r[a]:r,s.globals.radarPolygons.fill.colors[a]);e.add(o)}),h.forEach(t=>{e.add(t)}),s.config.yaxis[0].show&&this.yaxisLabelsTextsPos.forEach((t,s)=>{const e=a.drawYAxisTexts(t.x,t.y,s,i[s]);this.yaxisLabels.add(e)})}drawXAxisTexts(){const t=this.w,s=t.config.xaxis.labels,e=this.graphics.group({class:"apexcharts-xaxis"}),a=u.getPolygonPos(this.size,this.dataPointsLen);return t.labelData.labels.forEach((i,r)=>{const o="function"==typeof t.config.xaxis.labels.formatter?t.config.xaxis.labels.formatter:t=>t,n=new x(this.w,this.ctx);if(a[r]){const h=this.getTextPos(a[r],this.size),d=o(i,{seriesIndex:-1,dataPointIndex:r,w:t});n.plotDataLabelsText({x:h.newX,y:h.newY,text:d,textAnchor:h.textAnchor,i:r,j:r,parent:e,className:"apexcharts-xaxis-label",color:Array.isArray(s.style.colors)&&s.style.colors[r]?s.style.colors[r]:"#a8a8a8",dataLabelsConfig:l({textAnchor:h.textAnchor,dropShadow:{enabled:!1}},s),offsetCorrection:!1}).on("click",s=>{if("function"==typeof t.config.chart.events.xAxisLabelClick){const e=Object.assign({},t,{labelIndex:r});t.config.chart.events.xAxisLabelClick(s,this.ctx,e)}})}}),e}createPaths(t,s){const e=[];let a=[];const i=[];let r=[];if(t.length){a=[this.graphics.move(s.x,s.y)],r=[this.graphics.move(s.x,s.y)];let o=this.graphics.move(t[0].x,t[0].y),n=this.graphics.move(t[0].x,t[0].y);t.forEach((s,e)=>{o+=this.graphics.line(s.x,s.y),n+=this.graphics.line(s.x,s.y),e===t.length-1&&(o+="Z",n+="Z")}),e.push(o),i.push(n)}return{linePathsFrom:a,linePathsTo:e,areaPathsFrom:r,areaPathsTo:i}}getTextPos(t,s){let e="middle",a=t.x,i=t.y;return Math.abs(t.x)>=10?t.x>0?(e="start",a+=10):t.x<0&&(e="end",a-=10):e="middle",Math.abs(t.y)>=s-10&&(t.y<0?i-=10:t.y>0&&(i+=10)),{textAnchor:e,newX:a,newY:i}}getPreviousPath(t){const s=this.w;let e=null;for(let a=0;a<s.globals.previousPaths.length;a++){const i=s.globals.previousPaths[a];Array.isArray(null==i?void 0:i.paths)&&i.paths.length>0&&parseInt(i.realIndex,10)===parseInt(String(t),10)&&void 0!==s.globals.previousPaths[a].paths[0]&&(e=s.globals.previousPaths[a].paths[0].d)}return e}getDataPointsPos(t,s,e=this.dataPointsLen){t=t||[],s=s||[];const a=[];for(let i=0;i<e;i++){const e={};e.x=t[i]*Math.sin(s[i]),e.y=-t[i]*Math.cos(s[i]),a.push(e)}return a}}}),t.default=d,Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})},"object"==typeof exports&&"undefined"!=typeof module?s(exports):"function"==typeof define&&define.amd?define(["exports"],s):s((t="undefined"!=typeof globalThis?globalThis:t||self).ApexRadar={})});
5
+ !function(t){var s="undefined"!=typeof globalThis?globalThis:self,e=s.ApexCharts;if(e&&e.__internals)return t.call(s);if(e)throw new Error("ApexCharts: dist/radar.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(s);if("object"==typeof exports&&"undefined"!=typeof module||"undefined"==typeof window||"undefined"==typeof document)throw new Error("ApexCharts: dist/radar.js is a script-tag add-on and needs the ApexCharts script on the page. A bundler imports the matching apexcharts/ sub-path instead.");var a={file:"dist/radar.js",run:t,done:!1},i=s.__apexcharts_pending_addons__||(s.__apexcharts_pending_addons__=[]);i.push(a),"complete"!==document.readyState&&window.addEventListener("load",function(){if(!a.done){var e=s.ApexCharts;if(e)if(e.__internals){a.done=!0;var r=i.indexOf(a);-1!==r&&i.splice(r,1);try{t.call(s),e.__drainsAddons||s.console.warn("ApexCharts: dist/radar.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){s.console.error("ApexCharts: dist/radar.js could not register with the ApexCharts script on this page: "+(t&&t.message))}}else s.console.error("ApexCharts: dist/radar.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 s.console.warn("ApexCharts: dist/radar.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,s;t=this,s=function(t){"use strict";var s=Object.defineProperty,e=Object.defineProperties,a=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,n=(t,e,a)=>e in t?s(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a,l=(t,s)=>{for(var e in s||(s={}))r.call(s,e)&&n(t,e,s[e]);if(i)for(var e of i(s))o.call(s,e)&&n(t,e,s[e]);return t},h=(t,s)=>e(t,a(s));const d=globalThis.ApexCharts,c=globalThis.ApexCharts.__internals.__apex_Fill,p=globalThis.ApexCharts.__internals.__apex_Graphics,g=globalThis.ApexCharts.__internals.__apex_Markers,x=globalThis.ApexCharts.__internals.__apex_DataLabels,f=globalThis.ApexCharts.__internals.__apex_Filters,u=globalThis.ApexCharts.__internals.__apex_Utils;class y{constructor(t){this.w=t}drawYAxisTexts(t,s,e,a){const i=this.w,r=i.config.yaxis[0],o=i.formatters.yLabelFormatters[0];return new p(this.w).drawText({x:t+r.labels.offsetX,y:s+r.labels.offsetY,text:o(a,e),textAnchor:"middle",fontSize:r.labels.style.fontSize,fontFamily:r.labels.style.fontFamily,foreColor:Array.isArray(r.labels.style.colors)?r.labels.style.colors[e]:r.labels.style.colors})}getMaxLabelWidth(t,{fontSize:s,fontFamily:e,fontWeight:a}={}){const i=new p(this.w);let r=0;return t.forEach(t=>{if(null==t||""===t)return;const o=i.getTextRects(`${t}`,s||"12px",e,"",!0,a);r=Math.max(r,o.width)}),r}drawExternalLabel(t){return function(t,s){const{lines:e,lineHeight:a,anchor:i,elbow:r,labelX:o,labelY:n,side:l,connector:h,style:d,foreColor:c}=s,g=new p(t),x=g.group({class:s.groupClass||"apexcharts-outer-label-group"});if(h.show){const t=`M ${i.x} ${i.y} L ${r.x} ${r.y} L ${o} ${n}`,e=g.drawPath({d:t,stroke:h.color,strokeWidth:h.width,fill:"none",strokeLinecap:"round"});e.node.classList.add(s.connectorClass||"apexcharts-outer-label-connector"),x.add(e)}const f="right"===l?o+4:o-4,u=e.length,y=n-(u-1)*a/2,b=g.drawText({x:f,y:y,text:1===u?e[0]:e,textAnchor:"right"===l?"start":"end",fontSize:d.fontSize,fontFamily:d.fontFamily,fontWeight:d.fontWeight,foreColor:c,dominantBaseline:"central",cssClass:s.textClass||"apexcharts-outer-label"});if(u>1){const t=b.node.getElementsByTagName("tspan");for(let s=0;s<t.length;s++)t[s].setAttribute("x",`${f}`),t[s].setAttribute("dy",0===s?"0":`${a}`)}return x.add(b),x}(this.w,h(l({},t),{groupClass:"apexcharts-pie-name-label-group",textClass:"apexcharts-pie-name-label",connectorClass:"apexcharts-pie-label-connector"}))}}const b=globalThis.ApexCharts.__internals.__apex_CoreUtils,w=globalThis.ApexCharts.__internals.__apex_Series;d.use({radar:class{constructor(t,s){this.ctx=s,this.w=t,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animDur=0,this.graphics=new p(this.w),this.lineColorArr=void 0!==t.globals.stroke.colors?t.globals.stroke.colors:t.globals.colors,this.defaultSize=t.globals.svgHeight<t.globals.svgWidth?t.layout.gridHeight:t.layout.gridWidth,this.isLog=t.config.yaxis[0].logarithmic,this.logBase=t.config.yaxis[0].logBase,this.coreUtils=new b(this.w),this.maxValue=this.isLog?this.coreUtils.getLogVal(this.logBase,t.globals.maxY,0):t.globals.maxY,this.minValue=this.isLog?this.coreUtils.getLogVal(this.logBase,this.w.globals.minY,0):t.globals.minY,this.polygons=t.config.plotOptions.radar.polygons,this.strokeWidth=t.config.stroke.show?t.config.stroke.width:0,this.size=this.defaultSize/2.1-this.strokeWidth-t.config.chart.dropShadow.blur,t.config.xaxis.labels.show&&(this.size=this.size-t.layout.xAxisLabelsWidth/1.75),void 0!==t.config.plotOptions.radar.size&&(this.size=t.config.plotOptions.radar.size),this.dataRadiusOfPercent=[],this.dataRadius=[],this.angleArr=[],this.dataPointsLen=0,this.disAngle=0,this.yaxisLabelsTextsPos=[]}draw(t){const s=this.w,e=new c(this.w),a=[],i=new x(this.w,this.ctx);t.length&&(this.dataPointsLen=t[s.globals.maxValsInArrayIndex].length),this.disAngle=2*Math.PI/this.dataPointsLen;const r=s.layout.gridWidth/2,o=s.layout.gridHeight/2,n=r+s.config.plotOptions.radar.offsetX,d=o+s.config.plotOptions.radar.offsetY,p=this.graphics.group({class:"apexcharts-radar-series apexcharts-plot-series",transform:`translate(${n||0}, ${d||0})`});s.globals.circleGeometry={node:p.node,cx:n||0,cy:d||0,r:this.size};const y=s.globals.prevCircleFrame,b=y&&"radar"===y.type&&y.rendered.r>0?this.size/y.rendered.r:1;let m=[],A=null,P=null;if(this.yaxisLabels=this.graphics.group({class:"apexcharts-yaxis"}),t.forEach((t,r)=>{const o=t.length===s.globals.dataPoints,n=this.graphics.group().attr({class:"apexcharts-series","data:longestSeries":o,seriesName:u.escapeString(s.seriesData.seriesNames[r]),rel:r+1,"data:realIndex":r});if(w.addCollapsedClassToSeries(this.w,n,r),this.dataRadiusOfPercent[r]=[],this.dataRadius[r]=[],this.angleArr[r]=[],0===t.length&&(s.globals.collapsedSeriesIndices.indexOf(r)>-1||s.globals.ancillaryCollapsedSeriesIndices.indexOf(r)>-1))for(let t=0;t<s.globals.dataPoints;t++)this.dataRadiusOfPercent[r][t]=0,this.dataRadius[r][t]=0,this.angleArr[r][t]=t*this.disAngle;t.forEach((t,s)=>{const e=Math.abs(this.maxValue-this.minValue);t=Math.max(0,t-this.minValue),this.isLog&&(t=this.coreUtils.getLogVal(this.logBase,t,0)),this.dataRadiusOfPercent[r][s]=t/e,this.dataRadius[r][s]=this.dataRadiusOfPercent[r][s]*this.size,this.angleArr[r][s]=s*this.disAngle}),m=this.getDataPointsPos(this.dataRadius[r],this.angleArr[r]);const d=this.createPaths(m,{x:0,y:0});A=this.graphics.group({class:"apexcharts-series-markers-wrap apexcharts-element-hidden"}),P=this.graphics.group({class:"apexcharts-datalabels","data:realIndex":r}),s.globals.delayedElements.push({el:A.node,index:r});const c={i:r,realIndex:r,animationDelay:r,initialSpeed:s.config.chart.animations.speed,dataChangeSpeed:s.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-radar",shouldClipToGrid:!1,bindEventsOnPaths:!1,stroke:s.globals.stroke.colors[r],strokeLinecap:s.config.stroke.lineCap};let p=null;var x,y;s.globals.previousPaths.length>0&&(x=this.getPreviousPath(r),y=b,p=x&&1!==y&&Number.isFinite(y)&&!/[aA]/.test(x)?x.replace(/-?(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?/gi,t=>String(parseFloat(t)*y)):x);for(let t=0;t<d.linePathsTo.length;t++){const a=this.graphics.renderPaths(h(l({},c),{pathFrom:null===p?d.linePathsFrom[t]:p,pathTo:d.linePathsTo[t],strokeWidth:Array.isArray(this.strokeWidth)?this.strokeWidth[r]:this.strokeWidth,fill:"none",drawShadow:!1}));n.add(a);const i=e.fillPath({seriesNumber:r}),o=this.graphics.renderPaths(h(l({},c),{pathFrom:null===p?d.areaPathsFrom[t]:p,pathTo:d.areaPathsTo[t],strokeWidth:0,fill:i,drawShadow:!1,drawMask:{type:"radial",cx:0,cy:0,r:this.size}}));if(s.config.chart.dropShadow.enabled){const t=new f(this.w),e=s.config.chart.dropShadow;t.dropShadow(o,Object.assign({},e,{noUserSpaceOnUse:!0}),r)}n.add(o)}t.forEach((t,e)=>{const a=new g(this.w,this.ctx).getMarkerConfig({cssClass:"apexcharts-marker",seriesIndex:r,dataPointIndex:e});a.pSize||(a.pSize=5,a.pointFillColor="transparent",a.pointStrokeColor="transparent",a.pointStrokeWidth=0);const o=this.graphics.drawMarker(m[e].x,m[e].y,a);o.attr("rel",e),o.attr("j",e),o.attr("index",r),o.node.setAttribute("default-marker-size",a.pSize);const h=this.graphics.group({class:"apexcharts-series-markers"});h&&h.add(o),A.add(h),n.add(A);const d=s.config.dataLabels;if(d.enabled){const t=d.formatter(s.seriesData.series[r][e],{ctx:this.ctx,seriesIndex:r,dataPointIndex:e,w:s});i.plotDataLabelsText({x:m[e].x,y:m[e].y,text:t,textAnchor:"middle",i:r,j:r,seriesIndex:r,dataPointIndex:e,parent:P,offsetCorrection:!1,dataLabelsConfig:l({},d)})}n.add(P)}),a.push(n)}),this.drawPolygons({parent:p}),s.config.xaxis.labels.show){const t=this.drawXAxisTexts();p.add(t)}return a.forEach(t=>{p.add(t)}),p.add(this.yaxisLabels),p}drawPolygons(t){const s=this.w,{parent:e}=t,a=new y(this.w),i=s.globals.yAxisScale[0].result.slice().reverse(),r=i.length,o=[],n=this.size/(r-1);for(let t=0;t<r;t++)o[t]=n*t;o.reverse();const l=[],h=[];o.forEach((t,s)=>{const e=u.getPolygonPos(t,this.dataPointsLen);let a="";e.forEach((t,e)=>{if(0===s){const s=this.graphics.drawLine(t.x,t.y,0,0,Array.isArray(this.polygons.connectorColors)?this.polygons.connectorColors[e]:this.polygons.connectorColors);h.push(s)}0===e&&this.yaxisLabelsTextsPos.push({x:t.x,y:t.y}),a+=t.x+","+t.y+" "}),l.push(a)}),l.forEach((t,a)=>{const i=this.polygons.strokeColors,r=this.polygons.strokeWidth,o=this.graphics.drawPolygon(t,Array.isArray(i)?i[a]:i,Array.isArray(r)?r[a]:r,s.globals.radarPolygons.fill.colors[a]);e.add(o)}),h.forEach(t=>{e.add(t)}),s.config.yaxis[0].show&&this.yaxisLabelsTextsPos.forEach((t,s)=>{const e=a.drawYAxisTexts(t.x,t.y,s,i[s]);this.yaxisLabels.add(e)})}drawXAxisTexts(){const t=this.w,s=t.config.xaxis.labels,e=s.style.colors,a=this.graphics.group({class:"apexcharts-xaxis"}),i=u.getPolygonPos(this.size,this.dataPointsLen);return t.labelData.labels.forEach((r,o)=>{const n="function"==typeof t.config.xaxis.labels.formatter?t.config.xaxis.labels.formatter:t=>t,h=new x(this.w,this.ctx);if(i[o]){const d=this.getTextPos(i[o],this.size),c=n(r,{seriesIndex:-1,dataPointIndex:o,w:t});h.plotDataLabelsText({x:d.newX,y:d.newY,text:c,textAnchor:d.textAnchor,i:o,j:o,parent:a,className:"apexcharts-xaxis-label",color:(Array.isArray(e)?e[o]:e)||"#a8a8a8",dataLabelsConfig:l({textAnchor:d.textAnchor,dropShadow:{enabled:!1}},s),offsetCorrection:!1}).on("click",s=>{if("function"==typeof t.config.chart.events.xAxisLabelClick){const e=Object.assign({},t,{labelIndex:o});t.config.chart.events.xAxisLabelClick(s,this.ctx,e)}})}}),a}createPaths(t,s){const e=[];let a=[];const i=[];let r=[];if(t.length){a=[this.graphics.move(s.x,s.y)],r=[this.graphics.move(s.x,s.y)];let o=this.graphics.move(t[0].x,t[0].y),n=this.graphics.move(t[0].x,t[0].y);t.forEach((s,e)=>{o+=this.graphics.line(s.x,s.y),n+=this.graphics.line(s.x,s.y),e===t.length-1&&(o+="Z",n+="Z")}),e.push(o),i.push(n)}return{linePathsFrom:a,linePathsTo:e,areaPathsFrom:r,areaPathsTo:i}}getTextPos(t,s){let e="middle",a=t.x,i=t.y;return Math.abs(t.x)>=10?t.x>0?(e="start",a+=10):t.x<0&&(e="end",a-=10):e="middle",Math.abs(t.y)>=s-10&&(t.y<0?i-=10:t.y>0&&(i+=10)),{textAnchor:e,newX:a,newY:i}}getPreviousPath(t){const s=this.w;let e=null;for(let a=0;a<s.globals.previousPaths.length;a++){const i=s.globals.previousPaths[a];Array.isArray(null==i?void 0:i.paths)&&i.paths.length>0&&parseInt(i.realIndex,10)===parseInt(String(t),10)&&void 0!==s.globals.previousPaths[a].paths[0]&&(e=s.globals.previousPaths[a].paths[0].d)}return e}getDataPointsPos(t,s,e=this.dataPointsLen){t=t||[],s=s||[];const a=[];for(let i=0;i<e;i++){const e={};e.x=t[i]*Math.sin(s[i]),e.y=-t[i]*Math.cos(s[i]),a.push(e)}return a}}}),t.default=d,Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})},"object"==typeof exports&&"undefined"!=typeof module?s(exports):"function"==typeof define&&define.amd?define(["exports"],s):s((t="undefined"!=typeof globalThis?globalThis:t||self).ApexRadar={})});
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * ApexCharts v8.2.0
2
+ * ApexCharts v8.3.0
3
3
  * (c) 2018-2026 ApexCharts
4
4
  */
5
5
  "use strict";var e=Object.defineProperty,t=Object.defineProperties,a=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,r=(t,a,i)=>a in t?e(t,a,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[a]=i,l=(e,t)=>{for(var a in t||(t={}))s.call(t,a)&&r(e,a,t[a]);if(i)for(var a of i(t))n.call(t,a)&&r(e,a,t[a]);return e},o=(e,i)=>t(e,a(i));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});function h(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const a in e)if("default"!==a){const i=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,i.get?i:{enumerable:!0,get:()=>e[a]})}return t.default=e,Object.freeze(t)}const c=h(require("apexcharts/core")),d=c.__apex_Animations,g=c.__apex_Fill,p=c.__apex_Utils,f=c.__apex_Graphics,u=c.__apex_Filters,b=c.__apex_Scales;class m{constructor(e){this.w=e}drawYAxisTexts(e,t,a,i){const s=this.w,n=s.config.yaxis[0],r=s.formatters.yLabelFormatters[0];return new f(this.w).drawText({x:e+n.labels.offsetX,y:t+n.labels.offsetY,text:r(i,a),textAnchor:"middle",fontSize:n.labels.style.fontSize,fontFamily:n.labels.style.fontFamily,foreColor:Array.isArray(n.labels.style.colors)?n.labels.style.colors[a]:n.labels.style.colors})}getMaxLabelWidth(e,{fontSize:t,fontFamily:a,fontWeight:i}={}){const s=new f(this.w);let n=0;return e.forEach(e=>{if(null==e||""===e)return;const r=s.getTextRects(`${e}`,t||"12px",a,"",!0,i);n=Math.max(n,r.width)}),n}drawExternalLabel(e){return function(e,t){const{lines:a,lineHeight:i,anchor:s,elbow:n,labelX:r,labelY:l,side:o,connector:h,style:c,foreColor:d}=t,g=new f(e),p=g.group({class:t.groupClass||"apexcharts-outer-label-group"});if(h.show){const e=`M ${s.x} ${s.y} L ${n.x} ${n.y} L ${r} ${l}`,a=g.drawPath({d:e,stroke:h.color,strokeWidth:h.width,fill:"none",strokeLinecap:"round"});a.node.classList.add(t.connectorClass||"apexcharts-outer-label-connector"),p.add(a)}const u="right"===o?r+4:r-4,b=a.length,m=l-(b-1)*i/2,A=g.drawText({x:u,y:m,text:1===b?a[0]:a,textAnchor:"right"===o?"start":"end",fontSize:c.fontSize,fontFamily:c.fontFamily,fontWeight:c.fontWeight,foreColor:d,dominantBaseline:"central",cssClass:t.textClass||"apexcharts-outer-label"});if(b>1){const e=A.node.getElementsByTagName("tspan");for(let t=0;t<e.length;t++)e[t].setAttribute("x",`${u}`),e[t].setAttribute("dy",0===t?"0":`${i}`)}return p.add(A),p}(this.w,o(l({},e),{groupClass:"apexcharts-pie-name-label-group",textClass:"apexcharts-pie-name-label",connectorClass:"apexcharts-pie-label-connector"}))}}const A=c.__apex_Environment_Environment,x=Math.PI/180,w=180/Math.PI;function y(e,t,a,i){return{x:e+a*Math.cos((i-90)*x),y:t+a*Math.sin((i-90)*x)}}const S=e=>`${e.x} ${e.y}`;function v({cx:e,cy:t,rIn:a,rOut:i,a0:s,a1:n,r:r,spanDeg:l}){const o=(a,i)=>y(e,t,a,i),h=r/i*w,c=r/a*w,d=o(i,s+h),g=o(i,n-h),p=l-2*h>180?1:0,f=o(i,n),u=o(i-r,n),b=o(i,s),m=o(i-r,s),A=o(a,n-c),x=o(a,s+c),v=l-2*c>180?1:0,L=o(a,n),O=o(a+r,n),z=o(a,s),C=o(a+r,s);return["M",S(d),"A",i,i,0,p,1,S(g),"Q",S(f),S(u),"L",S(O),"Q",S(L),S(A),"A",a,a,0,v,0,S(x),"Q",S(z),S(C),"L",S(m),"Q",S(b),S(d),"Z"].join(" ")}class L{constructor(e,t){this.ctx=t,this.w=e,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animBeginArr=[0],this.animDur=0,this.donutDataLabels=this.w.config.plotOptions.pie.donut.labels,this.lineColorArr=void 0!==e.globals.stroke.colors?e.globals.stroke.colors:e.globals.colors,this.defaultSize=Math.min(e.layout.gridWidth,e.layout.gridHeight),this.centerY=e.layout.gridHeight/2,this.centerX=e.layout.gridWidth/2,"radialBar"===e.config.chart.type?this.fullAngle=360:this.fullAngle=Math.abs(e.config.plotOptions.pie.endAngle-e.config.plotOptions.pie.startAngle),this.initialAngle=e.config.plotOptions.pie.startAngle%this.fullAngle,e.globals.radialSize=this.defaultSize/2.05-e.config.stroke.width-(e.config.chart.sparkline.enabled?0:e.config.chart.dropShadow.blur),this.externalCfg=e.config.plotOptions.pie.dataLabels.external;const a=e.config.dataLabels.style;this.externalLabelStyle={fontSize:this.externalCfg.fontSize||a.fontSize,fontFamily:this.externalCfg.fontFamily||a.fontFamily,fontWeight:this.externalCfg.fontWeight||a.fontWeight},this.externalLabels=[],this.externalLabelMaxLines=1,this.externalLabelLineH=parseFloat(this.externalLabelStyle.fontSize)||12,e.globals.pieExternalLabelMarginY=0,this.showExternalLabels=this.externalCfg.show&&"polarArea"!==this.chartType,this.showExternalLabels&&!e.globals.noData&&this.reserveExternalLabelSpace(),this.donutSize=e.globals.radialSize*parseInt(e.config.plotOptions.pie.donut.size,10)/100;const i=e.config.plotOptions.pie.customScale,s=e.layout.gridWidth/2,n=e.layout.gridHeight/2;this.translateX=s-s*i,this.translateY=n-n*i,this.dataLabelsGroup=new f(this.w).group({class:"apexcharts-datalabels-group",transform:`translate(${this.translateX}, ${this.translateY}) scale(${i})`}),this.maxY=0,this.sliceLabels=[],this.sliceSizes=[],this.prevSliceSizes=[],this.sliceLabelGroups={},this.externalLabelGroups={},this.elHoverOutline=null,this.elHoverOutlinePath=null,this.hoverOutlineIndex=-1,this.prevSectorAngleArr=[]}getExternalLabelText(e){var t,a,i;const s=this.w,n=s.seriesData.seriesNames[e],r=this.externalCfg.formatter;return"function"==typeof r?r(n,{seriesIndex:e,percent:null==(a=null==(t=s.globals.seriesPercent)?void 0:t[e])?void 0:a[0],value:null==(i=s.globals.seriesTotals)?void 0:i[e],w:s}):null==n?"":`${n}`}getExternalLabelLines(e){const t=this.getExternalLabelText(e);return(Array.isArray(t)?t:`${null==t?"":t}`.split("\n")).map(e=>null==e?"":`${e}`)}reserveExternalLabelSpace(){const e=this.w,t=new m(e),a=(e.seriesData.seriesNames||[]).map((e,t)=>this.getExternalLabelLines(t)),i=t.getMaxLabelWidth(a.flat(),this.externalLabelStyle);this.externalLabelMaxLines=a.reduce((e,t)=>Math.max(e,t.length),1),this.externalLabelLineH=Math.round(1.35*(parseFloat(this.externalLabelStyle.fontSize)||12));const s=this.externalCfg.connector,n=this.externalLabelMaxLines*this.externalLabelLineH,r=i+(s.length||0)+(s.gap||0)+12,l=n/2+(s.gap||0)+6,o=Math.min(e.globals.radialSize,e.layout.gridWidth/2-r,e.layout.gridHeight/2-l);e.globals.radialSize=Math.max(o,.15*this.defaultSize),e.globals.pieExternalLabelMarginY=l;const h=e.config.chart.height?String(e.config.chart.height):"",c=""!==h&&"auto"!==h;this.centerY=c?e.layout.gridHeight/2:e.globals.radialSize+l}draw(e){var t,a;const i=this.w,s=new f(this.w),n=s.group({class:"apexcharts-pie"});if(i.globals.noData)return n;null==(t=this.ctx.highlightFilter)||t.pie(this);const r=i.config.plotOptions.pie.customScale,l="donut"===this.chartType?this.donutSize:0,o=[],h=this.initialAngle,c=(e,t)=>this.translateY+r*p.polarToCartesian(this.centerX,this.centerY,e,t).y;for(let e=h;e<=h+this.fullAngle;e++)o.push(c(i.globals.radialSize,e),c(l,e));this.donutDataLabels.show&&o.push(c(l,180)),i.globals.circleGeometry={node:n.node,cx:this.translateX+r*this.centerX,cy:this.translateY+r*this.centerY,r:r*i.globals.radialSize,y:"polarArea"!==this.chartType&&[Math.min(...o),Math.max(...o)]};let d=0;for(let t=0;t<e.length;t++)d+=p.negToZero(e[t]);const g=[],u=s.group();0===d&&(d=1e-5),e.forEach(e=>{this.maxY=Math.max(this.maxY,e)}),i.config.yaxis[0].max&&(this.maxY=i.config.yaxis[0].max),"back"===i.config.grid.position&&"polarArea"===this.chartType&&this.drawPolarElements(n);const b=i.globals.collapsedSeriesIndices||[];let m=1;if("polarArea"===this.chartType){let t=0;for(let a=0;a<e.length;a++)-1===b.indexOf(a)&&t++;m=Math.max(1,t)}for(let t=0;t<e.length;t++){const a=this.fullAngle*p.negToZero(e[t])/d;g.push(a),"polarArea"===this.chartType?(g[t]=b.indexOf(t)>-1?0:this.fullAngle/m,this.sliceSizes.push(i.globals.radialSize*p.negToZero(e[t])/(this.maxY||1))):this.sliceSizes.push(i.globals.radialSize)}const A=!0===(null==(a=this.ctx.morphTypeChange)?void 0:a.isActive());if(i.globals.dataChanged&&!A){if("polarArea"===this.chartType){const e=i.globals.previousPaths,t=i.globals.prevPolarAngles;if(Array.isArray(t)&&t.length===e.length)this.prevSectorAngleArr=t.slice();else for(let t=0;t<e.length;t++)this.prevSectorAngleArr.push(this.fullAngle/Math.max(1,e.length));const a=i.globals.prevPolarSizes;if(Array.isArray(a)&&a.length===e.length)this.prevSliceSizes=a.map(e=>e*i.globals.radialSize);else{let t=0;for(let a=0;a<e.length;a++)t=Math.max(t,p.negToZero(e[a]));i.config.yaxis[0].max&&(t=i.config.yaxis[0].max),this.prevSliceSizes=e.map(e=>i.globals.radialSize*p.negToZero(e)/(t||1))}}else{let e=0;for(let t=0;t<i.globals.previousPaths.length;t++)e+=p.negToZero(i.globals.previousPaths[t]);for(let t=0;t<i.globals.previousPaths.length;t++)this.prevSectorAngleArr.push(e?this.fullAngle*p.negToZero(i.globals.previousPaths[t])/e:0)}for(;!1!==i.globals.shouldAnimate&&this.prevSectorAngleArr.length<e.length;)this.prevSectorAngleArr.push(0)}if("polarArea"===this.chartType){i.globals.prevPolarAngles=g.slice();const e=i.globals.radialSize||1;i.globals.prevPolarSizes=this.sliceSizes.map(t=>t/e)}if(this.donutSize<0&&(this.donutSize=0),"donut"===this.chartType){const e=s.drawCircle(this.donutSize);e.attr({cx:this.centerX,cy:this.centerY,fill:i.config.plotOptions.pie.donut.background?i.config.plotOptions.pie.donut.background:"transparent"}),u.add(e)}const x=this.drawArcs(g,e);if(this.sliceLabels.forEach(e=>{x.add(e)}),u.attr({transform:`translate(${this.translateX}, ${this.translateY}) scale(${i.config.plotOptions.pie.customScale})`}),u.add(x),n.add(u),this.donutDataLabels.show){const e=this.initialAnim&&!i.globals.resized&&!i.globals.dataChanged&&this.animDur>0,t=this.renderInnerDataLabels(this.dataLabelsGroup,this.donutDataLabels,{hollowSize:this.donutSize,centerX:this.centerX,centerY:this.centerY,opacity:e?0:this.donutDataLabels.show});if(e){const e=this.dataLabelsGroup.node;e.style.transition="opacity 280ms ease-out",setTimeout(()=>{e.style.opacity="1"},this.animDur)}n.add(t)}return"front"===i.config.grid.position&&"polarArea"===this.chartType&&this.drawPolarElements(n),n}drawArcs(e,t){var a,i,s,n,r;const l=this.w,o=new u(this.w),h=new f(this.w),c=new g(this.w),d=h.group({class:"apexcharts-slices"});this.elHoverOutline=h.group({class:"apexcharts-pie-hover-outline"}),this.elHoverOutline.node.style.pointerEvents="none",this.elHoverOutline.node.style.opacity="0",l.config.chart.animations.enabled&&(this.elHoverOutline.node.style.transition="opacity 180ms ease-out"),d.add(this.elHoverOutline);let b=this.initialAngle,x=this.initialAngle,w=this.initialAngle,y=this.initialAngle;this.strokeWidth=l.config.stroke.show?l.config.stroke.width:0;const S=!0===(null==(a=this.ctx.morphTypeChange)?void 0:a.isActive());for(let a=0;a<e.length;a++){const g=h.group({class:"apexcharts-series apexcharts-pie-series",seriesName:p.escapeString(l.seriesData.seriesNames[a]),rel:a+1,"data:realIndex":a});d.add(g),b=w,x=y,w=b+e[a],y=x+this.prevSectorAngleArr[a];const m=w<b?this.fullAngle+w-b:w-b,A=c.fillPath({seriesNumber:a,size:this.sliceSizes[a],value:t[a]}),v=S?this.ctx.morphTypeChange.getInitialPathFor(a,0):null,L="polarArea"===this.chartType&&l.globals.dataChanged&&!S?this.prevSliceSizes[a]||0:void 0,O=v||this.getChangedPath(x,y,L),z=h.drawPath({d:O,stroke:Array.isArray(this.lineColorArr)?null!=(i=this.lineColorArr[a])?i:this.lineColorArr[a%this.lineColorArr.length]:this.lineColorArr,strokeWidth:0,fill:A,fillOpacity:l.config.fill.opacity,classes:`apexcharts-pie-area apexcharts-${this.chartType.toLowerCase()}-slice-${a}`});if(z.attr({index:0,j:a}),o.setSelectionFilter(z,0,a),l.config.chart.dropShadow.enabled){const e=l.config.chart.dropShadow;o.dropShadow(z,e,a)}this.addListeners(z,this.donutDataLabels,a);let C={x:0,y:0};const k=(b+m/2)%this.fullAngle;let P={x:this.centerX,y:this.centerY};"pie"===this.chartType||"polarArea"===this.chartType?(C=p.polarToCartesian(this.centerX,this.centerY,l.globals.radialSize/1.25+l.config.plotOptions.pie.dataLabels.offset,k),P=p.polarToCartesian(this.centerX,this.centerY,l.globals.radialSize/2,k)):"donut"===this.chartType&&(C=p.polarToCartesian(this.centerX,this.centerY,(l.globals.radialSize+this.donutSize)/2+l.config.plotOptions.pie.dataLabels.offset,k),P=p.polarToCartesian(this.centerX,this.centerY,(l.globals.radialSize+this.donutSize)/2,k)),f.setAttrs(z.node,{"data:angle":m,"data:startAngle":b,"data:strokeWidth":this.strokeWidth,"data:value":t[a],"data:cx":P.x,"data:cy":P.y}),g.add(z);let T=!1;if(S){const e=this.getPiePath({me:this,startAngle:b,angle:m,size:this.sliceSizes[a]});z.node.setAttribute("data:pathFinal",e),T=!0===(null==(n=(s=this.ctx.morphTypeChange).claimsTargetMark)?void 0:n.call(s,a,0)),T&&(z.attr({d:e}),z.node.setAttribute("data:pathOrig",e),z.node.setAttribute("opacity","0"),z.node.setAttribute("data-piece-hidden","1"))}const Y=(l.globals.collapsedSeriesIndices||[]).includes(a);let M=0;if(!this.initialAnim||l.globals.resized||l.globals.dataChanged?this.animBeginArr.push(0):(M=m/this.fullAngle*l.config.chart.animations.speed,0===M&&(M=1),this.animDur=M+this.animDur,this.animBeginArr.push(this.animDur)),T);else if(S&&v){const e=this.getPiePath({me:this,startAngle:b,angle:m,size:this.sliceSizes[a]}),t=this.ctx.morphTypeChange.getSpeed(),i=this.ctx.animations;z.node.setAttribute("data:pathOrig",e);const s=z.animate(t).plot(e,"polygons").attr({"stroke-width":this.strokeWidth});s&&"function"==typeof s.after?s.after(()=>i.animationCompleted(z)):i.animationCompleted(z)}else this.dynamicAnim&&l.globals.dataChanged?this.animatePaths(z,{size:this.sliceSizes[a],prevSize:L,endAngle:w,startAngle:b,prevStartAngle:x,prevEndAngle:y,animateStartingPos:!0,i:a,animBeginArr:this.animBeginArr,shouldSetPrevPaths:!0,dur:l.config.chart.animations.dynamicAnimation.speed,collapsed:Y}):this.animatePaths(z,{size:this.sliceSizes[a],endAngle:w,startAngle:b,i:a,animBeginArr:this.animBeginArr,dur:M,collapsed:Y});if(this.getExpandOffset()>0?z.node.addEventListener("mouseup",this.pieClicked.bind(this,a)):0===a&&u.drilldownBlocksSliceOffset(l)&&(null==(r=this.ctx.drilldown)||r.warnSliceOffsetDisabled()),void 0!==l.interact.selectedDataPoints[0]&&l.interact.selectedDataPoints[0].indexOf(a)>-1)if(this.initialAnim&&!l.globals.resized&&!l.globals.dataChanged&&this.animDur>0){const e=l.dom.Paper;setTimeout(()=>{l.dom.Paper===e&&this.setSliceOut(a)},this.animDur)}else this.setSliceOut(a);if(l.config.dataLabels.enabled){const t=C.x,i=C.y;let s=100*m/this.fullAngle+"%";if(0!==m&&l.config.plotOptions.pie.dataLabels.minAngleToShowLabel<e[a]){const e=l.config.dataLabels.formatter;void 0!==e&&(s=e(l.globals.seriesPercent[a][0],{seriesIndex:a,dataPointIndex:a,series:l.seriesData.series,w:l}));const n=l.globals.dataLabels.style.colors[a],r=h.group({class:"apexcharts-datalabels","data:slice":a}),c=h.drawText({x:t,y:i,text:s,textAnchor:"middle",fontSize:l.config.dataLabels.style.fontSize,fontFamily:l.config.dataLabels.style.fontFamily,fontWeight:l.config.dataLabels.style.fontWeight,foreColor:n});if(r.add(c),l.config.dataLabels.dropShadow.enabled){const e=l.config.dataLabels.dropShadow;o.dropShadow(c,e)}c.node.classList.add("apexcharts-pie-label"),!this.initialAnim||l.globals.resized||l.globals.dataChanged||(c.attr({opacity:0}),c.animate(300,l.config.chart.animations.speed).attr({opacity:1})),this.sliceLabels.push(r),this.sliceLabelGroups[a]=r.node}}if(this.showExternalLabels&&0!==m){const e=this.getExternalLabelLines(a);if(e.some(e=>""!==e)){const t=p.polarToCartesian(this.centerX,this.centerY,l.globals.radialSize,k),i=p.polarToCartesian(this.centerX,this.centerY,l.globals.radialSize+(this.externalCfg.connector.gap||0),k),s=i.x>=this.centerX,n=s?i.x+(this.externalCfg.connector.length||0):i.x-(this.externalCfg.connector.length||0);this.externalLabels.push({i:a,lines:e,anchor:t,elbow:i,side:s?"right":"left",labelX:n+parseFloat(this.externalCfg.offsetX||0),idealY:i.y+parseFloat(this.externalCfg.offsetY||0),connectorColor:this.externalCfg.connector.color||l.globals.colors[a],foreColor:this.externalCfg.color||l.config.chart.foreColor})}}}if(this.showExternalLabels&&this.externalLabels.length){this.placeExternalLabels();const e=A.isBrowser()&&(S||this.dynamicAnim&&l.globals.dataChanged||this.initialAnim&&!l.globals.resized&&!l.globals.dataChanged);this.externalLabels.forEach(t=>{const a=new m(l).drawExternalLabel({lines:t.lines,lineHeight:this.externalLabelLineH,anchor:t.anchor,elbow:t.elbow,labelX:t.labelX,labelY:t.labelY,side:t.side,connector:{show:this.externalCfg.connector.show,width:this.externalCfg.connector.width,color:t.connectorColor},style:this.externalLabelStyle,foreColor:t.foreColor});e&&(a.node.classList.add("apexcharts-element-hidden"),l.globals.delayedElements.push({el:a.node})),this.externalLabelGroups[t.i]=a.node,a.node.setAttribute("data:slice",String(t.i)),d.add(a)})}return d}placeExternalLabels(){const e=this.w,t=this.externalLabelMaxLines*this.externalLabelLineH,a=e.globals.radialSize+e.globals.pieExternalLabelMarginY,i=this.centerY+a,s=this.centerY-a+t/2;["left","right"].forEach(e=>{const a=this.externalLabels.filter(t=>t.side===e);!function(e,t,a,i){const s=e.slice().sort((e,t)=>e.idealY-t.idealY);s.forEach(e=>{e.labelY=e.idealY});for(let e=1;e<s.length;e++)s[e].labelY-s[e-1].labelY<t&&(s[e].labelY=s[e-1].labelY+t);const n=s[s.length-1],r=n?n.labelY-a:0;if(r>0)for(let e=s.length-1;e>=0;e--)s[e].labelY-=r,e<s.length-1&&s[e+1].labelY-s[e].labelY<t&&(s[e].labelY=s[e+1].labelY-t);if(null!=i&&s.length&&s[0].labelY<i){const e=i-s[0].labelY;for(let t=0;t<s.length;t++)s[t].labelY+=e}}(a,Math.min(t+2,(i-s)/Math.max(1,a.length-1)),i,s)})}addListeners(e,t,a){const i=new f(this.w,this.ctx);e.node.addEventListener("mouseenter",i.pathMouseEnter.bind(i,e)),e.node.addEventListener("mouseleave",i.pathMouseLeave.bind(i,e)),e.node.addEventListener("mouseleave",this.revertDataLabelsInner.bind(this)),"number"==typeof a&&(e.node.addEventListener("mouseenter",this.showHoverOutline.bind(this,a)),e.node.addEventListener("mouseleave",this.hideHoverOutline.bind(this))),e.node.addEventListener("mousedown",i.pathMouseDown.bind(i,e)),this.donutDataLabels.total.showAlways||(e.node.addEventListener("mouseenter",this.printDataLabelsInner.bind(this,e.node,t)),e.node.addEventListener("mousedown",this.printDataLabelsInner.bind(this,e.node,t)))}animatePaths(e,t){let a=t.endAngle<t.startAngle?this.fullAngle+t.endAngle-t.startAngle:t.endAngle-t.startAngle,i=a,s=t.startAngle;const n=t.startAngle;void 0!==t.prevStartAngle&&void 0!==t.prevEndAngle&&(s=t.prevEndAngle,i=t.prevEndAngle<t.prevStartAngle?this.fullAngle+t.prevEndAngle-t.prevStartAngle:t.prevEndAngle-t.prevStartAngle),a===this.fullAngle&&(a=this.fullAngle-.01),this.animateArc(e,s,n,a,i,t)}animateArc(e,t,a,i,s,n){const r=this,l=this.w,o=new d(this.w),h=n.size;let c;(isNaN(t)||isNaN(s))&&(t=a,s=0,!1===l.globals.shouldAnimate&&(s=i,n.dur=0));let g=i,p=a;const f=t<a?this.fullAngle+t-a:t-a,u="number"==typeof n.prevSize;l.globals.dataChanged&&n.shouldSetPrevPaths&&Number.isFinite(n.prevEndAngle)&&(c=r.getPiePath({me:r,startAngle:n.prevStartAngle,angle:n.prevEndAngle<n.prevStartAngle?this.fullAngle+n.prevEndAngle-n.prevStartAngle:n.prevEndAngle-n.prevStartAngle,size:u?n.prevSize:h}),e.attr({d:c})),0!==n.dur?e.animate(n.dur,n.animBeginArr[n.i]).after(function(){"pie"!==r.chartType&&"donut"!==r.chartType&&"polarArea"!==r.chartType||this.animate(l.config.chart.animations.dynamicAnimation.speed).attr({"stroke-width":r.strokeWidth}),n.collapsed&&e.attr({d:""}),n.i===l.config.series.length-1&&o.animationCompleted(e)}).during(l=>{g=f+(i-f)*l,n.animateStartingPos&&(g=s+(i-s)*l,p=t-s+(a-(t-s))*l),c=r.getPiePath({me:r,startAngle:p,angle:g,size:u?n.prevSize+(h-n.prevSize)*l:h}),e.node.setAttribute("data:pathOrig",c),e.attr({d:c})}):(c=r.getPiePath({me:r,startAngle:p,angle:i,size:h}),n.isTrack||(l.globals.animationEnded=!0),e.node.setAttribute("data:pathOrig",c),e.attr({d:n.collapsed?"":c,"stroke-width":r.strokeWidth}))}pieClicked(e,t){const a=this.w,i=!(t&&!1===t.animate),s=a.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`);if(s){if("true"===s.attr("data:pieClicked"))return s.attr({"data:pieClicked":"false"}),this.revertDataLabelsInner(),void this.offsetSlice(e,0,i);if(!a.config.states.active.allowMultipleDataPointsSelection){const e=a.dom.baseEl.getElementsByClassName("apexcharts-pie-area");Array.prototype.forEach.call(e,e=>{const t="true"===e.getAttribute("data:pieClicked");e.setAttribute("data:pieClicked","false"),t&&this.offsetSlice(parseInt(e.getAttribute("j"),10),0,i)})}a.interact.capturedDataPointIndex=e,s.attr("data:pieClicked","true"),this.offsetSlice(e,this.getExpandOffset(),i)}}getExpandOffset(){const e=this.w.config.plotOptions.pie;if(!e.expandOnClick||"polarArea"===this.chartType)return 0;if(u.drilldownBlocksSliceOffset(this.w))return 0;const t=Number(e.expandOffset);return Number.isFinite(t)&&t>0?t:0}getSliceMovers(e){const t=this.w.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`);return[t?t.node:null,this.sliceLabelGroups[e],this.externalLabelGroups[e],this.hoverOutlineIndex===e&&this.elHoverOutlinePath?this.elHoverOutlinePath.node:null].filter(Boolean)}offsetSlice(e,t,a=!0){const i=this.w;if(!i.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`))return;const{dx:s,dy:n}=this.getSliceOffsetVector(e,t),r=`translate(${s} ${n})`,l=a&&i.config.chart.animations.enabled?"transform 320ms cubic-bezier(0.25, 0.8, 0.3, 1)":"";this.getSliceMovers(e).forEach(e=>{e.classList.add("apexcharts-slice-mover"),e.style.transition=l,e.setAttribute("transform",r)})}getSliceOffsetVector(e,t){const a=this.w.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`),i=a?parseFloat(a.attr("data:angle")):NaN;if(!t||!Number.isFinite(i)||i>=this.fullAngle)return{dx:0,dy:0};const s=parseFloat(a.attr("data:startAngle")),n=Math.PI*(s+i/2-90)/180;return{dx:t*Math.cos(n),dy:t*Math.sin(n)}}showHoverOutline(e){const t=this.w;if(!u.hoverOutlineOwnsHoverState(t))return;if(!this.elHoverOutline)return;const a=this.getHoverOutlinePath(e);if(!a)return;const i=t.config.plotOptions.pie.hoverOutline,s=i.color||t.globals.colors[e];if(!this.elHoverOutlinePath){const e=new f(t);this.elHoverOutlinePath=e.drawPath({d:a,fill:s,strokeWidth:0,classes:"apexcharts-pie-hover-outline-band"}),this.elHoverOutline.add(this.elHoverOutlinePath)}this.elHoverOutlinePath.attr({d:a,fill:s,"fill-opacity":i.opacity});const{dx:n,dy:r}=this.getSliceOffsetVector(e,this.isSliceOut(e)?this.getExpandOffset():0);this.elHoverOutlinePath.node.classList.remove("apexcharts-slice-mover"),this.elHoverOutlinePath.node.style.transition="",this.elHoverOutlinePath.node.setAttribute("transform",`translate(${n} ${r})`),this.hoverOutlineIndex=e,this.elHoverOutline.node.style.opacity="1"}hideHoverOutline(){this.elHoverOutline&&(this.elHoverOutline.node.style.opacity="0")}setSliceOut(e){this.isSliceOut(e)||this.pieClicked(e,{animate:!1})}isSliceOut(e){const t=this.w.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`);return!!t&&"true"===t.attr("data:pieClicked")}getHoverOutlinePath(e){const t=this.w,a=t.config.plotOptions.pie.hoverOutline,i=t.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`);if(!i)return null;const s=parseFloat(i.attr("data:angle"));if(!Number.isFinite(s)||s<=0)return null;const n=this.sliceSizes[e],r=Number(a.size);if(!Number.isFinite(n)||!Number.isFinite(r)||r<=0)return null;const{startDeg:h,spanDeg:c}=this.getSliceExtent({me:this,startAngle:parseFloat(i.attr("data:startAngle")),angle:s,size:n});if(!(c>0))return null;const d=n+(this.strokeWidth||0)/2+(Number(a.gap)||0),g=d+r,p={cx:this.centerX,cy:this.centerY,rIn:d,rOut:g,a0:h,a1:h+c,spanDeg:c},f=Math.min(r/2,c*Math.PI/180/2*d);return f>.5?v(o(l({},p),{r:f})):function({cx:e,cy:t,rIn:a,rOut:i,a0:s,a1:n,spanDeg:r}){const l=(a,i)=>y(e,t,a,i),o=r>180?1:0,h=l(i,s),c=l(i,n),d=l(a,n),g=l(a,s);return["M",S(h),"A",i,i,0,o,1,S(c),"L",S(d),"A",a,a,0,o,0,S(g),"Z"].join(" ")}(p)}getChangedPath(e,t,a){return this.dynamicAnim&&this.w.globals.dataChanged&&"number"==typeof a?this.getPiePath({me:this,startAngle:e,angle:t-e,size:a}):""}getSliceExtent({me:e,startAngle:t,angle:a,size:i}){const s=this.w;let n=t,r=a+t;Math.ceil(r)>=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(r=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01);let l=r-n;const o="pie"===e.chartType||"donut"===e.chartType||"polarArea"===e.chartType,h=s.config.plotOptions.pie.spacing;if(o&&h>0&&l>0){const t="donut"===e.chartType?(i+e.donutSize)/2:i,a=t>0?h/t*(180/Math.PI):0,s=Math.min(a/2,Math.max(0,l/2-.5));n+=s,l-=2*s}return r=n+l,Math.ceil(r)>this.fullAngle&&(r-=this.fullAngle),{startDeg:n,spanDeg:l,endDeg:r}}getPiePath({me:e,startAngle:t,angle:a,size:i}){let s;const n=this.w,r=new f(this.w),{startDeg:l,spanDeg:o,endDeg:h}=this.getSliceExtent({me:e,startAngle:t,angle:a,size:i}),c="pie"===e.chartType||"donut"===e.chartType||"polarArea"===e.chartType,d=Math.PI*(l-90)/180,g=n.config.plotOptions.pie.borderRadius;if(g>0&&c){const t=this.getRoundedSlicePath({me:e,startDeg:l,spanDeg:o,size:i,borderRadius:g});if(t)return t}const u=Math.PI*(h-90)/180,b=e.centerX+i*Math.cos(d),m=e.centerY+i*Math.sin(d),A=e.centerX+i*Math.cos(u),x=e.centerY+i*Math.sin(u),w=p.polarToCartesian(e.centerX,e.centerY,e.donutSize,h),y=p.polarToCartesian(e.centerX,e.centerY,e.donutSize,l),S=o>180?1:0,v=["M",b,m,"A",i,i,0,S,1,A,x];return s="donut"===e.chartType?[...v,"L",w.x,w.y,"A",e.donutSize,e.donutSize,0,S,0,y.x,y.y,"L",b,m,"z"].join(" "):"pie"===e.chartType||"polarArea"===e.chartType?[...v,"L",e.centerX,e.centerY,"L",b,m].join(" "):[...v].join(" "),r.roundPathCorners(s,2*this.strokeWidth)}getRoundedSlicePath({me:e,startDeg:t,spanDeg:a,size:i,borderRadius:s}){if(!(a>0))return null;const n=Math.PI/180,r=e.centerX,l=e.centerY,o="donut"===e.chartType,h=i,c=o?e.donutSize:0,d=a*n;let g=s;if(g=Math.min(g,d*h/2),o?(g=Math.min(g,d*c/2),g=Math.min(g,(h-c)/2)):g=Math.min(g,h/2),!(g>.5))return null;const p=t,f=t+a;return o?v({cx:r,cy:l,rIn:c,rOut:h,a0:p,a1:f,r:g,spanDeg:a}):function({cx:e,cy:t,rOut:a,a0:i,a1:s,r:n,spanDeg:r}){const l=(a,i)=>y(e,t,a,i),o=n/a*w,h=l(a,i+o),c=l(a,s-o),d=r-2*o>180?1:0,g=l(a,s),p=l(a-n,s),f=l(a,i),u=l(a-n,i);return["M",S(h),"A",a,a,0,d,1,S(c),"Q",S(g),S(p),"L",`${e} ${t}`,"L",S(u),"Q",S(f),S(h),"Z"].join(" ")}({cx:r,cy:l,rOut:h,a0:p,a1:f,r:g,spanDeg:a})}drawPolarElements(e){const t=this.w,a=new b(this.w),i=new f(this.w),s=new m(this.w),n=i.group(),r=i.group(),l=a.niceScale(0,Math.ceil(this.maxY),0),o=l.result.reverse(),h=l.result.length;this.maxY=l.niceMax;let c=t.globals.radialSize;const d=c/(h-1);for(let e=0;e<h-1;e++){const a=i.drawCircle(c);if(a.attr({cx:this.centerX,cy:this.centerY,fill:"none","stroke-width":t.config.plotOptions.polarArea.rings.strokeWidth,stroke:t.config.plotOptions.polarArea.rings.strokeColor}),t.config.yaxis[0].show){const a=s.drawYAxisTexts(this.centerX,this.centerY-c+parseInt(t.config.yaxis[0].labels.style.fontSize,10)/2,e,o[e]);r.add(a)}n.add(a),c-=d}this.drawSpokes(e),e.add(n),e.add(r)}renderInnerDataLabels(e,t,a){const i=this.w,s=new f(this.w),n=t.total.show;e.node.innerHTML="",e.node.style.opacity=a.opacity;const r=a.centerX,l=a.centerY,o=t.name.show&&!!this.donutDataLabels.total.label;let h,c;h=void 0===t.name.color?i.globals.colors[0]:t.name.color;let d=t.name.fontSize,g=t.name.fontFamily,p=t.name.fontWeight;c=void 0===t.value.color?i.config.chart.foreColor:t.value.color;const u=t.value.formatter;let b="",m="";if(n?(h=t.total.color,d=t.total.fontSize,g=t.total.fontFamily,p=t.total.fontWeight,m=this.donutDataLabels.total.label?t.total.label:"",b=t.total.formatter(i)):1===i.seriesData.series.length&&(b=u(i.seriesData.series[0],i),m=i.seriesData.seriesNames[0]),m&&(m=t.name.formatter(m,t.total.show,i)),t.name.show){const a=s.drawText({x:r,y:l+parseFloat(t.name.offsetY),text:m,textAnchor:"middle",foreColor:h,fontSize:d,fontWeight:p,fontFamily:g});a.node.classList.add("apexcharts-datalabel-label"),e.add(a)}if(t.value.show){const a=o?parseFloat(t.value.offsetY)+16:t.value.offsetY,i=s.drawText({x:r,y:l+a,text:b,textAnchor:"middle",foreColor:c,fontWeight:t.value.fontWeight,fontSize:t.value.fontSize,fontFamily:t.value.fontFamily});i.node.classList.add("apexcharts-datalabel-value"),e.add(i)}return e}printInnerLabels(e,t,a,i){const s=this.w;let n;i?n=void 0===e.name.color?s.globals.colors[parseInt(i.parentNode.getAttribute("rel"),10)-1]:e.name.color:s.seriesData.series.length>1&&e.total.show&&(n=e.total.color);const r=s.dom.baseEl.querySelector(".apexcharts-datalabel-label"),l=s.dom.baseEl.querySelector(".apexcharts-datalabel-value");a=(0,e.value.formatter)(a,s),i||"function"!=typeof e.total.formatter||(a=e.total.formatter(s));const o=t===e.total.label;if(t=this.donutDataLabels.total.label?e.name.formatter(t,o,s):"",null!==r&&(r.textContent=t),null!==l&&(l.textContent=a),null!==r){r.style.fill=n}}printDataLabelsInner(e,t){const a=this.w,i=e.getAttribute("data:value"),s=a.seriesData.seriesNames[parseInt(e.parentNode.getAttribute("rel"),10)-1];a.seriesData.series.length>1&&this.printInnerLabels(t,s,i,e);const n=a.dom.baseEl.querySelector(".apexcharts-datalabels-group");if(null!==n){n.style.opacity="1"}}drawSpokes(e){const t=this.w,a=new f(this.w),i=t.config.plotOptions.polarArea.spokes;if(0===i.strokeWidth)return;const s=t.globals.collapsedSeriesIndices||[],n=t.seriesData.series.length,r=360/Math.max(1,n-s.filter(e=>e<n).length);let l=0;for(let o=0;o<n;o++){if(s.indexOf(o)>-1)continue;const n=p.polarToCartesian(this.centerX,this.centerY,t.globals.radialSize,t.config.plotOptions.pie.startAngle+r*l++),h=a.drawLine(n.x,n.y,this.centerX,this.centerY,Array.isArray(i.connectorColors)?i.connectorColors[o]:i.connectorColors);e.add(h)}}revertDataLabelsInner(){const e=this.w;if(this.donutDataLabels.show){const t=e.dom.Paper.findOne(".apexcharts-datalabels-group"),a=this.renderInnerDataLabels(t,this.donutDataLabels,{hollowSize:this.donutSize,centerX:this.centerX,centerY:this.centerY,opacity:this.donutDataLabels.show});e.dom.Paper.findOne(".apexcharts-radialbar, .apexcharts-pie").add(a)}}}const O=c.__apex_Series;function z(e,t){if("number"==typeof t)return t;const a=e.config&&e.config.series||[];for(let e=0;e<a.length;e++)if(a[e]&&a[e].name===t)return e;return-1}function C(e,t,a,i){if(!e||!e.weaveClaims)return i;const s=e.weaveClaims.byOption.get(t);if(!s||!s.length)return i;let n=i;for(const t of s)for(const i of t.entries)z(e,i.series)===a&&(n=i.value);return n}const k=c.__apex_BrowserAPIs_BrowserAPIs;c.default.use({radialBar:class extends L{constructor(e,t){super(e,t),this.ctx=t,this.w=e,this.animBeginArr=[0],this.startAngle=e.config.plotOptions.radialBar.startAngle,this.endAngle=e.config.plotOptions.radialBar.endAngle,this.totalAngle=Math.abs(e.config.plotOptions.radialBar.endAngle-e.config.plotOptions.radialBar.startAngle),this.trackStartAngle=e.config.plotOptions.radialBar.track.startAngle,this.trackEndAngle=e.config.plotOptions.radialBar.track.endAngle,this.barLabels=this.w.config.plotOptions.radialBar.barLabels,this.donutDataLabels=this.w.config.plotOptions.radialBar.dataLabels,this.radialDataLabels=this.donutDataLabels,this.trackStartAngle||(this.trackStartAngle=this.startAngle),this.trackEndAngle||(this.trackEndAngle=this.endAngle),360===this.endAngle&&(this.endAngle=359.99),this.margin=parseInt(e.config.plotOptions.radialBar.track.margin,10),this.onBarLabelClick=this.onBarLabelClick.bind(this)}draw(e){var t;const a=this.w,i=new f(this.w),s=i.group({class:"apexcharts-radialbar"});if(a.globals.noData)return s;const n=i.group(),r=a.layout.gridHeight/2,h=a.layout.gridWidth/2;let c=this.defaultSize/2.05;a.config.chart.sparkline.enabled||(c=c-a.config.stroke.width-a.config.chart.dropShadow.blur),a.globals.circleGeometry={node:s.node,cx:h,cy:r,r:c};const d=a.globals.fill.colors,g=a.config.plotOptions.radialBar,u=Array.isArray(g.bands)&&g.bands.length>0,b=u&&g.bandsStyle&&g.bandsStyle.hideTrackWhenPresent,m="needle"===g.shape,x=this.radialDataLabels;if(null==x.value.offsetY){const t=this.needlePath({size:c,centerX:h,centerY:r,series:e},g.needle||{});this.donutDataLabels=this.radialDataLabels=o(l({},x),{value:o(l({},x.value),{offsetY:m?t.cy-r+Math.max(t.baseW/2,p.polarToCartesian(0,0,t.length,this.startAngle).y,p.polarToCartesian(0,0,t.length,this.endAngle).y)+parseFloat(x.value.fontSize)+4:8})})}if(g.track.show&&!b){const t=this.drawTracks({size:c,centerX:h,centerY:r,colorArr:d,series:e});n.add(t)}if(u){const t=this.drawBands({size:c,centerX:h,centerY:r,series:e});n.add(t)}const w=this.drawArcs({size:c,centerX:h,centerY:r,colorArr:d,series:e,skipValueArc:m&&!(null==(t=g.needle)?void 0:t.showValueArc)});if(g.ticks&&g.ticks.show){const t=this.drawTicks({size:c,centerX:h,centerY:r,series:e});if(this.initialAnim&&!a.globals.dataChanged&&!a.globals.resized&&A.isBrowser()&&a.globals.shouldAnimate){const i=t.node;i.style.opacity="0",i.style.transition="opacity 280ms ease-out";const s=m&&this.needleMotion(),n=Math.max((this.animBeginArr[e.length-1]||0)+a.config.chart.animations.speed,s?s.speed:0);a.globals.radialTickTimer=setTimeout(()=>{a.globals.isDestroyed||(i.style.opacity="1")},n)}n.add(t)}if(m){const t=this.drawNeedle({size:c,centerX:h,centerY:r,series:e});n.add(t)}let y=360;a.config.plotOptions.radialBar.startAngle<0&&(y=this.totalAngle);const S=(360-y)/360;if(a.globals.radialSize=c-c*S,this.radialDataLabels.value.show){const e=Math.max(this.radialDataLabels.value.offsetY,this.radialDataLabels.name.offsetY);a.globals.radialSize+=e*S}return n.add(w.g),"front"===a.config.plotOptions.radialBar.hollow.position&&(w.g.add(w.elHollow),w.dataLabels&&w.g.add(w.dataLabels)),s.add(n),s}drawTracks(e){const t=this.w,a=new f(this.w),i=a.group({class:"apexcharts-tracks"}),s=new u(this.w),n=new g(this.w),r=this.getStrokeWidth(e);e.size=e.size-r/2;for(let l=0;l<e.series.length;l++){const o=a.group({class:"apexcharts-radialbar-track apexcharts-track"});i.add(o),o.attr({rel:l+1}),e.size=e.size-r-this.margin;const h=t.config.plotOptions.radialBar.track,c=n.fillPath({seriesNumber:0,size:e.size,fillColors:Array.isArray(h.background)?h.background[l]:h.background,solid:!0}),d=this.trackStartAngle;let g=this.trackEndAngle;Math.abs(g)+Math.abs(d)>=360&&(g=360-Math.abs(this.startAngle)-.1);const p=a.drawPath({d:"",stroke:c,strokeWidth:r*parseInt(h.strokeWidth,10)/100,fill:"none",strokeOpacity:h.opacity,classes:"apexcharts-radialbar-area"});if(h.dropShadow.enabled){const e=h.dropShadow;s.dropShadow(p,e)}o.add(p),p.attr("id","apexcharts-radialbarTrack-"+l),this.animatePaths(p,{centerX:e.centerX,centerY:e.centerY,endAngle:g,startAngle:d,size:e.size,i:l,animBeginArr:0,dur:0,isTrack:!0})}return i}drawArcs(e){var t,a;const i=this.w;null==(t=this.ctx.highlightFilter)||t.pie(this);const s=new f(this.w),n=new g(this.w),r=new u(this.w),l=s.group(),o=this.getStrokeWidth(e);e.size=e.size-o/2;let h=i.config.plotOptions.radialBar.hollow.background;const c=e.size-o*e.series.length-this.margin*e.series.length-o*parseInt(i.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,d=c-i.config.plotOptions.radialBar.hollow.margin;void 0!==i.config.plotOptions.radialBar.hollow.image&&(h=this.drawHollowImage(e,l,c,h));const b=this.drawHollow({size:d,centerX:e.centerX,centerY:e.centerY,fill:h||"transparent"});if(i.config.plotOptions.radialBar.hollow.dropShadow.enabled){const e=i.config.plotOptions.radialBar.hollow.dropShadow;r.dropShadow(b,e)}let m=1;!this.radialDataLabels.total.show&&i.seriesData.series.length>1&&(m=0);let A=null;this.radialDataLabels.show&&(A=this.renderInnerDataLabels(this.dataLabelsGroup,this.radialDataLabels,{hollowSize:c,centerX:e.centerX,centerY:e.centerY,opacity:m})),"back"===i.config.plotOptions.radialBar.hollow.position&&(l.add(b),A&&l.add(A));let x=!1;i.config.plotOptions.radialBar.inverseOrder&&(x=!0);const w=!0===(null==(a=this.ctx.morphTypeChange)?void 0:a.isActive());for(let t=x?e.series.length-1:0;x?t>=0:t<e.series.length;x?t--:t++){const a=s.group({class:"apexcharts-series apexcharts-radial-series",seriesName:p.escapeString(i.seriesData.seriesNames[t])});l.add(a),a.attr({rel:t+1,"data:realIndex":t}),O.addCollapsedClassToSeries(this.w,a,t),e.size=e.size-o-this.margin;const h=n.fillPath({seriesNumber:t,size:e.size,value:e.series[t]}),c=this.startAngle;let d;const g=this._arcEnd(e.series[t]);let u;if(i.globals.dataChanged){d=this.startAngle;const e=i.globals.previousPaths[t];u=void 0===e?NaN:this._arcEnd(e)}const b=g-c,m=C(i,"stroke.dashArray",t,Array.isArray(i.config.stroke.dashArray)?i.config.stroke.dashArray[t]:i.config.stroke.dashArray),A=w?this.ctx.morphTypeChange.getInitialPathFor(t,0):null,x=w?this.ctx.morphTypeChange.getFromType():null,y=!!A&&("bar"===x||"funnel"===x||"pyramid"===x||"pie"===x||"donut"===x||"polarArea"===x),S=s.drawPath({d:A||"",stroke:y||e.skipValueArc?"transparent":h,strokeWidth:y||e.skipValueArc?0:o,fill:y?h:"none",fillOpacity:i.config.fill.opacity,classes:"apexcharts-radialbar-area apexcharts-radialbar-slice-"+t,strokeDashArray:m}),v=c+b/2,L=p.polarToCartesian(e.centerX,e.centerY,e.size,v);if(f.setAttrs(S.node,{"data:angle":b,"data:value":e.series[t],"data:cx":L.x,"data:cy":L.y}),i.config.chart.dropShadow.enabled){const e=i.config.chart.dropShadow;r.dropShadow(S,e,t)}if(r.setSelectionFilter(S,0,t),this.addListeners(S,this.radialDataLabels),a.add(S),S.attr({index:0,j:t}),this.barLabels.enabled){const n=p.polarToCartesian(e.centerX,e.centerY,e.size,c),r=this.barLabels.formatter(i.seriesData.seriesNames[t],{seriesIndex:t,w:i}),l=["apexcharts-radialbar-label"];this.barLabels.onClick||l.push("apexcharts-no-click");let o=this.barLabels.useSeriesColors?i.globals.colors[t]:i.config.chart.foreColor;o||(o=i.config.chart.foreColor);const h=n.x+this.barLabels.offsetX,d=n.y+this.barLabels.offsetY,g=s.drawText({x:h,y:d,text:r,textAnchor:"end",dominantBaseline:"middle",fontFamily:this.barLabels.fontFamily,fontWeight:this.barLabels.fontWeight,fontSize:this.barLabels.fontSize,foreColor:o,cssClass:l.join(" ")});g.on("click",this.onBarLabelClick),g.attr({rel:t+1}),0!==c&&g.attr({"transform-origin":`${h} ${d}`,transform:`rotate(${c} 0 0)`}),a.add(g)}let z=0;if(!this.initialAnim||i.globals.resized||i.globals.dataChanged||(z=i.config.chart.animations.speed),this.dynamicAnim&&i.globals.dataChanged&&i.globals.shouldAnimate&&(z=i.config.chart.animations.dynamicAnimation.speed),this.animBeginArr[t]=t*z/(1.2*e.series.length),w&&A){const t=this.ctx.morphTypeChange.getSpeed(),a=this.ctx.animations,i=this.getPiePath({me:this,startAngle:c,angle:b,size:e.size});if(y){const s=this.ctx.morphTypeChange.buildRingSegmentPath(e.centerX,e.centerY,e.size,o,c,c+b);S.animate(t).plot(s,"polygons").after(function(){this.attr({d:i,fill:"none",stroke:e.skipValueArc?"transparent":h,"stroke-width":e.skipValueArc?0:o}),a.animationCompleted(S)})}else S.animate(t).plot(i,"polygons").attr({"stroke-width":o}).after(()=>a.animationCompleted(S))}else this.animatePaths(S,{centerX:e.centerX,centerY:e.centerY,endAngle:g,startAngle:c,prevEndAngle:u,prevStartAngle:d,size:e.size,i:t,animBeginArr:this.animBeginArr,dur:z,shouldSetPrevPaths:!0})}return{g:l,elHollow:b,dataLabels:A}}_domain(){const e=this.w.config.plotOptions.radialBar,t="number"==typeof e.min?e.min:0,a="number"==typeof e.max?e.max:100;return[t,a===t?t+1:a]}_fraction(e){const[t,a]=this._domain(),i=Number(e);return Number.isFinite(i)?(Math.min(Math.max(i,t),a)-t)/(a-t):0}_arcEnd(e){const t=Math.round(this.totalAngle*this._fraction(e))+this.startAngle;return Math.abs(t)+Math.abs(this.startAngle)>360?t-.01:t}_angleAtValue(e){return this.startAngle+this._fraction(e)*Math.abs(this.endAngle-this.startAngle)}_describeArc(e,t,a,i,s){const n=p.polarToCartesian(e,t,a,s),r=p.polarToCartesian(e,t,a,i),l=s-i,o=Math.abs(l)>180?1:0;return`M ${n.x} ${n.y} A ${a} ${a} 0 ${o} 0 ${r.x} ${r.y}`}drawBands(e){const t=this.w,a=new f(this.w),i=t.config.plotOptions.radialBar,s=i.bands||[],n=a.group({class:"apexcharts-gauge-bands"}),r=this.getStrokeWidth(e),l=e.size-r/2-r-this.margin,o=r*parseInt(i.bandsStyle.strokeWidth,10)/100,h=l>0?Math.abs(i.bandsStyle.gap||0)/l*(180/Math.PI):0;for(let t=0;t<s.length;t++){const r=s[t];if(void 0===r.from||void 0===r.to)continue;const c=this._angleAtValue(r.from),d=this._angleAtValue(r.to),g=Math.min(c,d)+h/2,p=Math.max(c,d)-h/2;if(p-g<=0)continue;const f=a.drawPath({d:this._describeArc(e.centerX,e.centerY,l,g,p),stroke:r.color||"#ccc",strokeWidth:o,fill:"none",strokeLinecap:i.bandsStyle.linecap||"butt",classes:"apexcharts-gauge-band"});f.node.setAttribute("data-band-index",String(t)),n.add(f)}return n}drawTicks(e){var t,a,i,s;const n=this.w,r=new f(this.w),l=n.config.plotOptions.radialBar.ticks,o=r.group({class:"apexcharts-gauge-ticks"}),h=this.getStrokeWidth(e),c=e.size-h/2-h-this.margin,[d,g]=this._domain(),u=Math.max(2,null!=(a=null==(t=l.major)?void 0:t.count)?a:11),b=Math.max(0,null!=(s=null==(i=l.minor)?void 0:i.count)?s:0),m=(t,a,i)=>{var s,n,h;const d=this._angleAtValue(t),g=null!=(s=a.length)?s:8,f="inside"===a.placement?c-g:c,u="inside"===a.placement?c:c+g,b=p.polarToCartesian(e.centerX,e.centerY,f,d),m=p.polarToCartesian(e.centerX,e.centerY,u,d),A=r.drawLine(b.x,b.y,m.x,m.y,a.color||(i?"#666":"#999"),0,a.width||(i?2:1));if(o.add(A),i&&(null==(n=l.labels)?void 0:n.show)){const i=("inside"===a.placement?f:u)+("inside"===a.placement?-1:1)*(null!=(h=l.labels.offset)?h:6),s=p.polarToCartesian(e.centerX,e.centerY,i,d),n="function"==typeof l.labels.formatter?l.labels.formatter(t):String(t),c=r.drawText({x:s.x,y:s.y,text:n,textAnchor:"middle",dominantBaseline:"middle",fontFamily:l.labels.fontFamily,fontSize:l.labels.fontSize,fontWeight:l.labels.fontWeight,foreColor:l.labels.color,cssClass:"apexcharts-gauge-tick-label"});o.add(c)}};for(let e=0;e<u;e++){if(m(d+e/(u-1)*(g-d),l.major||{},!0),e<u-1&&b>0)for(let t=1;t<=b;t++){m(d+(e+t/(b+1))/(u-1)*(g-d),l.minor||{},!1)}}return o}drawNeedle(e){const t=this.w,a=new f(this.w),i=t.config.plotOptions.radialBar.needle||{},s=a.group({class:"apexcharts-gauge-needle"});if(!e.series||0===e.series.length)return s;const n=i.color||"#333",{path:r,cx:l,cy:o}=this.needlePath(e,i),h=a.drawPath({d:r,stroke:n,strokeWidth:0,fill:n,classes:"apexcharts-gauge-needle-shape"});s.add(h);const c=Number(e.series[0]),d=this._angleAtValue(c),g=t.globals,p=this.needleMotion(),u=Number.isFinite(g.radialNeedleAngle)&&!(null==p?void 0:p.mount)?g.radialNeedleAngle:this.startAngle;if(g.radialNeedleAngle=d,null!=t.globals.radialNeedleRAF&&(k.cancelAnimationFrame(t.globals.radialNeedleRAF),t.globals.radialNeedleRAF=null),p&&u!==d){const{speed:e,ease:a}=p,i=s.node;i.setAttribute("transform-origin",`${l} ${o}`),i.setAttribute("transform",`rotate(${u})`);const n=performance.now(),r=s=>{if(this.w.globals.isDestroyed)return void(t.globals.radialNeedleRAF=null);const l=Math.max(0,Math.min(1,(s-n)/e)),o=u+(d-u)*a(l);i.setAttribute("transform",`rotate(${o})`),t.globals.radialNeedleRAF=l<1?k.requestAnimationFrame(r):null};t.globals.radialNeedleRAF=k.requestAnimationFrame(r)}else s.attr({"transform-origin":`${l} ${o}`,transform:`rotate(${d})`});return s}needlePath(e,t){var a,i,s;const n=this.getStrokeWidth(e),r=e.size-n/2-n-this.margin,l="string"==typeof t.length&&t.length.endsWith("%")?r*parseInt(t.length,10)/100:Number(t.length||.85*r),o=null!=(a=t.baseWidth)?a:4,h=null!=(i=t.tipWidth)?i:1,c=e.centerX,d=e.centerY+Number(null!=(s=t.offsetY)?s:0);return{path:`M ${c+o/2} ${d} A ${o/2} ${o/2} 0 0 1 ${c-o/2} ${d} L ${c-h/2} ${d-l} L ${c+h/2} ${d-l} Z`,cx:c,cy:d,length:l,baseW:o}}needleMotion(){var e,t,a;const i=this.w,s=i.config.plotOptions.radialBar.needle||{},n=i.config.chart.animations,r=this.initialAnim&&!i.globals.dataChanged&&!i.globals.resized;if(!(A.isBrowser()&&i.globals.shouldAnimate&&!1!==(null==(e=s.animation)?void 0:e.enabled)&&(r||this.dynamicAnim&&i.globals.dataChanged)))return null;const l=Number(null==(t=s.animation)?void 0:t.duration)||Number(s.animationSpeed)||(r?n.speed:null==(a=n.dynamicAnimation)?void 0:a.speed)||800,o=1.70158;return{speed:l,mount:r,ease:r?e=>1+2.70158*Math.pow(e-1,3)+o*Math.pow(e-1,2):e=>1-Math.pow(1-e,3)}}drawHollow(e){var t;const a=new f(this.w),i=this.w.config.plotOptions.radialBar.hollow,s=a.drawCircle(2*e.size),n={class:"apexcharts-radialbar-hollow",cx:e.centerX,cy:e.centerY,r:e.size,fill:e.fill};return(i.stroke||i.strokeDasharray)&&(n.stroke=i.stroke||"transparent",n["stroke-width"]=null!=(t=i.strokeWidth)?t:1,i.strokeDasharray&&(n["stroke-dasharray"]=i.strokeDasharray)),s.attr(n),s}drawHollowImage(e,t,a,i){const s=this.w,n=new g(this.w),r=p.randomId(),l=s.config.plotOptions.radialBar.hollow.image;if(s.config.plotOptions.radialBar.hollow.imageClipped)n.clippedImgArea({width:a,height:a,image:l,patternID:`pattern${s.globals.cuid}${r}`}),i=`url(#pattern${s.globals.cuid}${r})`;else{const a=s.config.plotOptions.radialBar.hollow.imageWidth,i=s.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===a&&void 0===i){const a=s.dom.Paper.image(l,function(t){this.move(e.centerX-t.width/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,e.centerY-t.height/2+s.config.plotOptions.radialBar.hollow.imageOffsetY)});t.add(a)}else{const n=s.dom.Paper.image(l,function(){this.move(e.centerX-a/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,e.centerY-i/2+s.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(a,i)});t.add(n)}}return i}getStrokeWidth(e){const t=this.w;return e.size*(100-parseInt(t.config.plotOptions.radialBar.hollow.size,10))/100/(e.series.length+1)-this.margin}onBarLabelClick(e){var t;const a=e.target,i=parseInt(null!=(t=a.getAttribute("rel"))?t:"",10)-1,s=this.barLabels.onClick,n=this.w;s&&s(n.seriesData.seriesNames[i],{w:n,seriesIndex:i})}}}),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.2.0
21
+ * ApexCharts v8.3.0
22
22
  * (c) 2018-2026 ApexCharts
23
23
  */
24
24
  import * as _core from "apexcharts/core";
package/dist/radialBar.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * ApexCharts v8.2.0
2
+ * ApexCharts v8.3.0
3
3
  * (c) 2018-2026 ApexCharts
4
4
  */
5
5
  !function(e){var t="undefined"!=typeof globalThis?globalThis:self,a=t.ApexCharts;if(a&&a.__internals)return e.call(t);if(a)throw new Error("ApexCharts: dist/radialBar.js cannot register: the ApexCharts on this page has no add-on surface (a script before 7.0, or a bundled apexcharts/core class). Load apexcharts.min.js, apexcharts.core.min.js or apexcharts.full.min.js.");if("function"==typeof define&&define.amd)return e.call(t);if("object"==typeof exports&&"undefined"!=typeof module||"undefined"==typeof window||"undefined"==typeof document)throw new Error("ApexCharts: dist/radialBar.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/radialBar.js",run:e,done:!1},s=t.__apexcharts_pending_addons__||(t.__apexcharts_pending_addons__=[]);s.push(i),"complete"!==document.readyState&&window.addEventListener("load",function(){if(!i.done){var a=t.ApexCharts;if(a)if(a.__internals){i.done=!0;var n=s.indexOf(i);-1!==n&&s.splice(n,1);try{e.call(t),a.__drainsAddons||t.console.warn("ApexCharts: dist/radialBar.js loaded before the ApexCharts script, which is older than 8.0 and does not pick up add-ons loaded first, so it registered only when the page finished loading. Put its tag after the ApexCharts script.")}catch(e){t.console.error("ApexCharts: dist/radialBar.js could not register with the ApexCharts script on this page: "+(e&&e.message))}}else t.console.error("ApexCharts: dist/radialBar.js cannot register: the ApexCharts on this page has no add-on surface (a script before 7.0, or a bundled apexcharts/core class). Load apexcharts.min.js, apexcharts.core.min.js or apexcharts.full.min.js.");else t.console.warn("ApexCharts: dist/radialBar.js is waiting for the ApexCharts script, which had not loaded when the page finished loading. It registers when an ApexCharts 8.0 or later script loads; if the page has none, add apexcharts.min.js (or apexcharts.core.min.js, or apexcharts.full.min.js).")}})}(function(){var e,t;e=this,t=function(e){"use strict";var t=Object.defineProperty,a=Object.defineProperties,i=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,l=(e,a,i)=>a in e?t(e,a,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[a]=i,o=(e,t)=>{for(var a in t||(t={}))n.call(t,a)&&l(e,a,t[a]);if(s)for(var a of s(t))r.call(t,a)&&l(e,a,t[a]);return e},h=(e,t)=>a(e,i(t));const c=globalThis.ApexCharts,d=globalThis.ApexCharts.__internals,g=d.__apex_Animations;d.__apex_Animations_computeStagger,d.__apex_Animations_applyAnimationPolicy,d.__apex_Animations_prefersReducedMotion,d.__apex_Animations_applyProgressiveReveal;const p=globalThis.ApexCharts.__internals.__apex_Fill,f=globalThis.ApexCharts.__internals.__apex_Utils,u=globalThis.ApexCharts.__internals.__apex_Graphics,b=globalThis.ApexCharts.__internals.__apex_Filters,m=globalThis.ApexCharts.__internals.__apex_Scales;class A{constructor(e){this.w=e}drawYAxisTexts(e,t,a,i){const s=this.w,n=s.config.yaxis[0],r=s.formatters.yLabelFormatters[0];return new u(this.w).drawText({x:e+n.labels.offsetX,y:t+n.labels.offsetY,text:r(i,a),textAnchor:"middle",fontSize:n.labels.style.fontSize,fontFamily:n.labels.style.fontFamily,foreColor:Array.isArray(n.labels.style.colors)?n.labels.style.colors[a]:n.labels.style.colors})}getMaxLabelWidth(e,{fontSize:t,fontFamily:a,fontWeight:i}={}){const s=new u(this.w);let n=0;return e.forEach(e=>{if(null==e||""===e)return;const r=s.getTextRects(`${e}`,t||"12px",a,"",!0,i);n=Math.max(n,r.width)}),n}drawExternalLabel(e){return function(e,t){const{lines:a,lineHeight:i,anchor:s,elbow:n,labelX:r,labelY:l,side:o,connector:h,style:c,foreColor:d}=t,g=new u(e),p=g.group({class:t.groupClass||"apexcharts-outer-label-group"});if(h.show){const e=`M ${s.x} ${s.y} L ${n.x} ${n.y} L ${r} ${l}`,a=g.drawPath({d:e,stroke:h.color,strokeWidth:h.width,fill:"none",strokeLinecap:"round"});a.node.classList.add(t.connectorClass||"apexcharts-outer-label-connector"),p.add(a)}const f="right"===o?r+4:r-4,b=a.length,m=l-(b-1)*i/2,A=g.drawText({x:f,y:m,text:1===b?a[0]:a,textAnchor:"right"===o?"start":"end",fontSize:c.fontSize,fontFamily:c.fontFamily,fontWeight:c.fontWeight,foreColor:d,dominantBaseline:"central",cssClass:t.textClass||"apexcharts-outer-label"});if(b>1){const e=A.node.getElementsByTagName("tspan");for(let t=0;t<e.length;t++)e[t].setAttribute("x",`${f}`),e[t].setAttribute("dy",0===t?"0":`${i}`)}return p.add(A),p}(this.w,h(o({},e),{groupClass:"apexcharts-pie-name-label-group",textClass:"apexcharts-pie-name-label",connectorClass:"apexcharts-pie-label-connector"}))}}const x=globalThis.ApexCharts.__internals.__apex_Environment_Environment,w=Math.PI/180,y=180/Math.PI;function S(e,t,a,i){return{x:e+a*Math.cos((i-90)*w),y:t+a*Math.sin((i-90)*w)}}const v=e=>`${e.x} ${e.y}`;function L({cx:e,cy:t,rIn:a,rOut:i,a0:s,a1:n,r:r,spanDeg:l}){const o=(a,i)=>S(e,t,a,i),h=r/i*y,c=r/a*y,d=o(i,s+h),g=o(i,n-h),p=l-2*h>180?1:0,f=o(i,n),u=o(i-r,n),b=o(i,s),m=o(i-r,s),A=o(a,n-c),x=o(a,s+c),w=l-2*c>180?1:0,L=o(a,n),C=o(a+r,n),O=o(a,s),z=o(a+r,s);return["M",v(d),"A",i,i,0,p,1,v(g),"Q",v(f),v(u),"L",v(C),"Q",v(L),v(A),"A",a,a,0,w,0,v(x),"Q",v(O),v(z),"L",v(m),"Q",v(b),v(d),"Z"].join(" ")}class C{constructor(e,t){this.ctx=t,this.w=e,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animBeginArr=[0],this.animDur=0,this.donutDataLabels=this.w.config.plotOptions.pie.donut.labels,this.lineColorArr=void 0!==e.globals.stroke.colors?e.globals.stroke.colors:e.globals.colors,this.defaultSize=Math.min(e.layout.gridWidth,e.layout.gridHeight),this.centerY=e.layout.gridHeight/2,this.centerX=e.layout.gridWidth/2,"radialBar"===e.config.chart.type?this.fullAngle=360:this.fullAngle=Math.abs(e.config.plotOptions.pie.endAngle-e.config.plotOptions.pie.startAngle),this.initialAngle=e.config.plotOptions.pie.startAngle%this.fullAngle,e.globals.radialSize=this.defaultSize/2.05-e.config.stroke.width-(e.config.chart.sparkline.enabled?0:e.config.chart.dropShadow.blur),this.externalCfg=e.config.plotOptions.pie.dataLabels.external;const a=e.config.dataLabels.style;this.externalLabelStyle={fontSize:this.externalCfg.fontSize||a.fontSize,fontFamily:this.externalCfg.fontFamily||a.fontFamily,fontWeight:this.externalCfg.fontWeight||a.fontWeight},this.externalLabels=[],this.externalLabelMaxLines=1,this.externalLabelLineH=parseFloat(this.externalLabelStyle.fontSize)||12,e.globals.pieExternalLabelMarginY=0,this.showExternalLabels=this.externalCfg.show&&"polarArea"!==this.chartType,this.showExternalLabels&&!e.globals.noData&&this.reserveExternalLabelSpace(),this.donutSize=e.globals.radialSize*parseInt(e.config.plotOptions.pie.donut.size,10)/100;const i=e.config.plotOptions.pie.customScale,s=e.layout.gridWidth/2,n=e.layout.gridHeight/2;this.translateX=s-s*i,this.translateY=n-n*i,this.dataLabelsGroup=new u(this.w).group({class:"apexcharts-datalabels-group",transform:`translate(${this.translateX}, ${this.translateY}) scale(${i})`}),this.maxY=0,this.sliceLabels=[],this.sliceSizes=[],this.prevSliceSizes=[],this.sliceLabelGroups={},this.externalLabelGroups={},this.elHoverOutline=null,this.elHoverOutlinePath=null,this.hoverOutlineIndex=-1,this.prevSectorAngleArr=[]}getExternalLabelText(e){var t,a,i;const s=this.w,n=s.seriesData.seriesNames[e],r=this.externalCfg.formatter;return"function"==typeof r?r(n,{seriesIndex:e,percent:null==(a=null==(t=s.globals.seriesPercent)?void 0:t[e])?void 0:a[0],value:null==(i=s.globals.seriesTotals)?void 0:i[e],w:s}):null==n?"":`${n}`}getExternalLabelLines(e){const t=this.getExternalLabelText(e);return(Array.isArray(t)?t:`${null==t?"":t}`.split("\n")).map(e=>null==e?"":`${e}`)}reserveExternalLabelSpace(){const e=this.w,t=new A(e),a=(e.seriesData.seriesNames||[]).map((e,t)=>this.getExternalLabelLines(t)),i=t.getMaxLabelWidth(a.flat(),this.externalLabelStyle);this.externalLabelMaxLines=a.reduce((e,t)=>Math.max(e,t.length),1),this.externalLabelLineH=Math.round(1.35*(parseFloat(this.externalLabelStyle.fontSize)||12));const s=this.externalCfg.connector,n=this.externalLabelMaxLines*this.externalLabelLineH,r=i+(s.length||0)+(s.gap||0)+12,l=n/2+(s.gap||0)+6,o=Math.min(e.globals.radialSize,e.layout.gridWidth/2-r,e.layout.gridHeight/2-l);e.globals.radialSize=Math.max(o,.15*this.defaultSize),e.globals.pieExternalLabelMarginY=l;const h=e.config.chart.height?String(e.config.chart.height):"",c=""!==h&&"auto"!==h;this.centerY=c?e.layout.gridHeight/2:e.globals.radialSize+l}draw(e){var t,a;const i=this.w,s=new u(this.w),n=s.group({class:"apexcharts-pie"});if(i.globals.noData)return n;null==(t=this.ctx.highlightFilter)||t.pie(this);const r=i.config.plotOptions.pie.customScale,l="donut"===this.chartType?this.donutSize:0,o=[],h=this.initialAngle,c=(e,t)=>this.translateY+r*f.polarToCartesian(this.centerX,this.centerY,e,t).y;for(let e=h;e<=h+this.fullAngle;e++)o.push(c(i.globals.radialSize,e),c(l,e));this.donutDataLabels.show&&o.push(c(l,180)),i.globals.circleGeometry={node:n.node,cx:this.translateX+r*this.centerX,cy:this.translateY+r*this.centerY,r:r*i.globals.radialSize,y:"polarArea"!==this.chartType&&[Math.min(...o),Math.max(...o)]};let d=0;for(let t=0;t<e.length;t++)d+=f.negToZero(e[t]);const g=[],p=s.group();0===d&&(d=1e-5),e.forEach(e=>{this.maxY=Math.max(this.maxY,e)}),i.config.yaxis[0].max&&(this.maxY=i.config.yaxis[0].max),"back"===i.config.grid.position&&"polarArea"===this.chartType&&this.drawPolarElements(n);const b=i.globals.collapsedSeriesIndices||[];let m=1;if("polarArea"===this.chartType){let t=0;for(let a=0;a<e.length;a++)-1===b.indexOf(a)&&t++;m=Math.max(1,t)}for(let t=0;t<e.length;t++){const a=this.fullAngle*f.negToZero(e[t])/d;g.push(a),"polarArea"===this.chartType?(g[t]=b.indexOf(t)>-1?0:this.fullAngle/m,this.sliceSizes.push(i.globals.radialSize*f.negToZero(e[t])/(this.maxY||1))):this.sliceSizes.push(i.globals.radialSize)}const A=!0===(null==(a=this.ctx.morphTypeChange)?void 0:a.isActive());if(i.globals.dataChanged&&!A){if("polarArea"===this.chartType){const e=i.globals.previousPaths,t=i.globals.prevPolarAngles;if(Array.isArray(t)&&t.length===e.length)this.prevSectorAngleArr=t.slice();else for(let t=0;t<e.length;t++)this.prevSectorAngleArr.push(this.fullAngle/Math.max(1,e.length));const a=i.globals.prevPolarSizes;if(Array.isArray(a)&&a.length===e.length)this.prevSliceSizes=a.map(e=>e*i.globals.radialSize);else{let t=0;for(let a=0;a<e.length;a++)t=Math.max(t,f.negToZero(e[a]));i.config.yaxis[0].max&&(t=i.config.yaxis[0].max),this.prevSliceSizes=e.map(e=>i.globals.radialSize*f.negToZero(e)/(t||1))}}else{let e=0;for(let t=0;t<i.globals.previousPaths.length;t++)e+=f.negToZero(i.globals.previousPaths[t]);for(let t=0;t<i.globals.previousPaths.length;t++)this.prevSectorAngleArr.push(e?this.fullAngle*f.negToZero(i.globals.previousPaths[t])/e:0)}for(;!1!==i.globals.shouldAnimate&&this.prevSectorAngleArr.length<e.length;)this.prevSectorAngleArr.push(0)}if("polarArea"===this.chartType){i.globals.prevPolarAngles=g.slice();const e=i.globals.radialSize||1;i.globals.prevPolarSizes=this.sliceSizes.map(t=>t/e)}if(this.donutSize<0&&(this.donutSize=0),"donut"===this.chartType){const e=s.drawCircle(this.donutSize);e.attr({cx:this.centerX,cy:this.centerY,fill:i.config.plotOptions.pie.donut.background?i.config.plotOptions.pie.donut.background:"transparent"}),p.add(e)}const x=this.drawArcs(g,e);if(this.sliceLabels.forEach(e=>{x.add(e)}),p.attr({transform:`translate(${this.translateX}, ${this.translateY}) scale(${i.config.plotOptions.pie.customScale})`}),p.add(x),n.add(p),this.donutDataLabels.show){const e=this.initialAnim&&!i.globals.resized&&!i.globals.dataChanged&&this.animDur>0,t=this.renderInnerDataLabels(this.dataLabelsGroup,this.donutDataLabels,{hollowSize:this.donutSize,centerX:this.centerX,centerY:this.centerY,opacity:e?0:this.donutDataLabels.show});if(e){const e=this.dataLabelsGroup.node;e.style.transition="opacity 280ms ease-out",setTimeout(()=>{e.style.opacity="1"},this.animDur)}n.add(t)}return"front"===i.config.grid.position&&"polarArea"===this.chartType&&this.drawPolarElements(n),n}drawArcs(e,t){var a,i,s,n,r;const l=this.w,o=new b(this.w),h=new u(this.w),c=new p(this.w),d=h.group({class:"apexcharts-slices"});this.elHoverOutline=h.group({class:"apexcharts-pie-hover-outline"}),this.elHoverOutline.node.style.pointerEvents="none",this.elHoverOutline.node.style.opacity="0",l.config.chart.animations.enabled&&(this.elHoverOutline.node.style.transition="opacity 180ms ease-out"),d.add(this.elHoverOutline);let g=this.initialAngle,m=this.initialAngle,w=this.initialAngle,y=this.initialAngle;this.strokeWidth=l.config.stroke.show?l.config.stroke.width:0;const S=!0===(null==(a=this.ctx.morphTypeChange)?void 0:a.isActive());for(let a=0;a<e.length;a++){const p=h.group({class:"apexcharts-series apexcharts-pie-series",seriesName:f.escapeString(l.seriesData.seriesNames[a]),rel:a+1,"data:realIndex":a});d.add(p),g=w,m=y,w=g+e[a],y=m+this.prevSectorAngleArr[a];const A=w<g?this.fullAngle+w-g:w-g,x=c.fillPath({seriesNumber:a,size:this.sliceSizes[a],value:t[a]}),v=S?this.ctx.morphTypeChange.getInitialPathFor(a,0):null,L="polarArea"===this.chartType&&l.globals.dataChanged&&!S?this.prevSliceSizes[a]||0:void 0,C=v||this.getChangedPath(m,y,L),O=h.drawPath({d:C,stroke:Array.isArray(this.lineColorArr)?null!=(i=this.lineColorArr[a])?i:this.lineColorArr[a%this.lineColorArr.length]:this.lineColorArr,strokeWidth:0,fill:x,fillOpacity:l.config.fill.opacity,classes:`apexcharts-pie-area apexcharts-${this.chartType.toLowerCase()}-slice-${a}`});if(O.attr({index:0,j:a}),o.setSelectionFilter(O,0,a),l.config.chart.dropShadow.enabled){const e=l.config.chart.dropShadow;o.dropShadow(O,e,a)}this.addListeners(O,this.donutDataLabels,a);let z={x:0,y:0};const k=(g+A/2)%this.fullAngle;let T={x:this.centerX,y:this.centerY};"pie"===this.chartType||"polarArea"===this.chartType?(z=f.polarToCartesian(this.centerX,this.centerY,l.globals.radialSize/1.25+l.config.plotOptions.pie.dataLabels.offset,k),T=f.polarToCartesian(this.centerX,this.centerY,l.globals.radialSize/2,k)):"donut"===this.chartType&&(z=f.polarToCartesian(this.centerX,this.centerY,(l.globals.radialSize+this.donutSize)/2+l.config.plotOptions.pie.dataLabels.offset,k),T=f.polarToCartesian(this.centerX,this.centerY,(l.globals.radialSize+this.donutSize)/2,k)),u.setAttrs(O.node,{"data:angle":A,"data:startAngle":g,"data:strokeWidth":this.strokeWidth,"data:value":t[a],"data:cx":T.x,"data:cy":T.y}),p.add(O);let P=!1;if(S){const e=this.getPiePath({me:this,startAngle:g,angle:A,size:this.sliceSizes[a]});O.node.setAttribute("data:pathFinal",e),P=!0===(null==(n=(s=this.ctx.morphTypeChange).claimsTargetMark)?void 0:n.call(s,a,0)),P&&(O.attr({d:e}),O.node.setAttribute("data:pathOrig",e),O.node.setAttribute("opacity","0"),O.node.setAttribute("data-piece-hidden","1"))}const Y=(l.globals.collapsedSeriesIndices||[]).includes(a);let _=0;if(!this.initialAnim||l.globals.resized||l.globals.dataChanged?this.animBeginArr.push(0):(_=A/this.fullAngle*l.config.chart.animations.speed,0===_&&(_=1),this.animDur=_+this.animDur,this.animBeginArr.push(this.animDur)),P);else if(S&&v){const e=this.getPiePath({me:this,startAngle:g,angle:A,size:this.sliceSizes[a]}),t=this.ctx.morphTypeChange.getSpeed(),i=this.ctx.animations;O.node.setAttribute("data:pathOrig",e);const s=O.animate(t).plot(e,"polygons").attr({"stroke-width":this.strokeWidth});s&&"function"==typeof s.after?s.after(()=>i.animationCompleted(O)):i.animationCompleted(O)}else this.dynamicAnim&&l.globals.dataChanged?this.animatePaths(O,{size:this.sliceSizes[a],prevSize:L,endAngle:w,startAngle:g,prevStartAngle:m,prevEndAngle:y,animateStartingPos:!0,i:a,animBeginArr:this.animBeginArr,shouldSetPrevPaths:!0,dur:l.config.chart.animations.dynamicAnimation.speed,collapsed:Y}):this.animatePaths(O,{size:this.sliceSizes[a],endAngle:w,startAngle:g,i:a,animBeginArr:this.animBeginArr,dur:_,collapsed:Y});if(this.getExpandOffset()>0?O.node.addEventListener("mouseup",this.pieClicked.bind(this,a)):0===a&&b.drilldownBlocksSliceOffset(l)&&(null==(r=this.ctx.drilldown)||r.warnSliceOffsetDisabled()),void 0!==l.interact.selectedDataPoints[0]&&l.interact.selectedDataPoints[0].indexOf(a)>-1)if(this.initialAnim&&!l.globals.resized&&!l.globals.dataChanged&&this.animDur>0){const e=l.dom.Paper;setTimeout(()=>{l.dom.Paper===e&&this.setSliceOut(a)},this.animDur)}else this.setSliceOut(a);if(l.config.dataLabels.enabled){const t=z.x,i=z.y;let s=100*A/this.fullAngle+"%";if(0!==A&&l.config.plotOptions.pie.dataLabels.minAngleToShowLabel<e[a]){const e=l.config.dataLabels.formatter;void 0!==e&&(s=e(l.globals.seriesPercent[a][0],{seriesIndex:a,dataPointIndex:a,series:l.seriesData.series,w:l}));const n=l.globals.dataLabels.style.colors[a],r=h.group({class:"apexcharts-datalabels","data:slice":a}),c=h.drawText({x:t,y:i,text:s,textAnchor:"middle",fontSize:l.config.dataLabels.style.fontSize,fontFamily:l.config.dataLabels.style.fontFamily,fontWeight:l.config.dataLabels.style.fontWeight,foreColor:n});if(r.add(c),l.config.dataLabels.dropShadow.enabled){const e=l.config.dataLabels.dropShadow;o.dropShadow(c,e)}c.node.classList.add("apexcharts-pie-label"),!this.initialAnim||l.globals.resized||l.globals.dataChanged||(c.attr({opacity:0}),c.animate(300,l.config.chart.animations.speed).attr({opacity:1})),this.sliceLabels.push(r),this.sliceLabelGroups[a]=r.node}}if(this.showExternalLabels&&0!==A){const e=this.getExternalLabelLines(a);if(e.some(e=>""!==e)){const t=f.polarToCartesian(this.centerX,this.centerY,l.globals.radialSize,k),i=f.polarToCartesian(this.centerX,this.centerY,l.globals.radialSize+(this.externalCfg.connector.gap||0),k),s=i.x>=this.centerX,n=s?i.x+(this.externalCfg.connector.length||0):i.x-(this.externalCfg.connector.length||0);this.externalLabels.push({i:a,lines:e,anchor:t,elbow:i,side:s?"right":"left",labelX:n+parseFloat(this.externalCfg.offsetX||0),idealY:i.y+parseFloat(this.externalCfg.offsetY||0),connectorColor:this.externalCfg.connector.color||l.globals.colors[a],foreColor:this.externalCfg.color||l.config.chart.foreColor})}}}if(this.showExternalLabels&&this.externalLabels.length){this.placeExternalLabels();const e=x.isBrowser()&&(S||this.dynamicAnim&&l.globals.dataChanged||this.initialAnim&&!l.globals.resized&&!l.globals.dataChanged);this.externalLabels.forEach(t=>{const a=new A(l).drawExternalLabel({lines:t.lines,lineHeight:this.externalLabelLineH,anchor:t.anchor,elbow:t.elbow,labelX:t.labelX,labelY:t.labelY,side:t.side,connector:{show:this.externalCfg.connector.show,width:this.externalCfg.connector.width,color:t.connectorColor},style:this.externalLabelStyle,foreColor:t.foreColor});e&&(a.node.classList.add("apexcharts-element-hidden"),l.globals.delayedElements.push({el:a.node})),this.externalLabelGroups[t.i]=a.node,a.node.setAttribute("data:slice",String(t.i)),d.add(a)})}return d}placeExternalLabels(){const e=this.w,t=this.externalLabelMaxLines*this.externalLabelLineH,a=e.globals.radialSize+e.globals.pieExternalLabelMarginY,i=this.centerY+a,s=this.centerY-a+t/2;["left","right"].forEach(e=>{const a=this.externalLabels.filter(t=>t.side===e);!function(e,t,a,i){const s=e.slice().sort((e,t)=>e.idealY-t.idealY);s.forEach(e=>{e.labelY=e.idealY});for(let e=1;e<s.length;e++)s[e].labelY-s[e-1].labelY<t&&(s[e].labelY=s[e-1].labelY+t);const n=s[s.length-1],r=n?n.labelY-a:0;if(r>0)for(let e=s.length-1;e>=0;e--)s[e].labelY-=r,e<s.length-1&&s[e+1].labelY-s[e].labelY<t&&(s[e].labelY=s[e+1].labelY-t);if(null!=i&&s.length&&s[0].labelY<i){const e=i-s[0].labelY;for(let t=0;t<s.length;t++)s[t].labelY+=e}}(a,Math.min(t+2,(i-s)/Math.max(1,a.length-1)),i,s)})}addListeners(e,t,a){const i=new u(this.w,this.ctx);e.node.addEventListener("mouseenter",i.pathMouseEnter.bind(i,e)),e.node.addEventListener("mouseleave",i.pathMouseLeave.bind(i,e)),e.node.addEventListener("mouseleave",this.revertDataLabelsInner.bind(this)),"number"==typeof a&&(e.node.addEventListener("mouseenter",this.showHoverOutline.bind(this,a)),e.node.addEventListener("mouseleave",this.hideHoverOutline.bind(this))),e.node.addEventListener("mousedown",i.pathMouseDown.bind(i,e)),this.donutDataLabels.total.showAlways||(e.node.addEventListener("mouseenter",this.printDataLabelsInner.bind(this,e.node,t)),e.node.addEventListener("mousedown",this.printDataLabelsInner.bind(this,e.node,t)))}animatePaths(e,t){let a=t.endAngle<t.startAngle?this.fullAngle+t.endAngle-t.startAngle:t.endAngle-t.startAngle,i=a,s=t.startAngle;const n=t.startAngle;void 0!==t.prevStartAngle&&void 0!==t.prevEndAngle&&(s=t.prevEndAngle,i=t.prevEndAngle<t.prevStartAngle?this.fullAngle+t.prevEndAngle-t.prevStartAngle:t.prevEndAngle-t.prevStartAngle),a===this.fullAngle&&(a=this.fullAngle-.01),this.animateArc(e,s,n,a,i,t)}animateArc(e,t,a,i,s,n){const r=this,l=this.w,o=new g(this.w),h=n.size;let c;(isNaN(t)||isNaN(s))&&(t=a,s=0,!1===l.globals.shouldAnimate&&(s=i,n.dur=0));let d=i,p=a;const f=t<a?this.fullAngle+t-a:t-a,u="number"==typeof n.prevSize;l.globals.dataChanged&&n.shouldSetPrevPaths&&Number.isFinite(n.prevEndAngle)&&(c=r.getPiePath({me:r,startAngle:n.prevStartAngle,angle:n.prevEndAngle<n.prevStartAngle?this.fullAngle+n.prevEndAngle-n.prevStartAngle:n.prevEndAngle-n.prevStartAngle,size:u?n.prevSize:h}),e.attr({d:c})),0!==n.dur?e.animate(n.dur,n.animBeginArr[n.i]).after(function(){"pie"!==r.chartType&&"donut"!==r.chartType&&"polarArea"!==r.chartType||this.animate(l.config.chart.animations.dynamicAnimation.speed).attr({"stroke-width":r.strokeWidth}),n.collapsed&&e.attr({d:""}),n.i===l.config.series.length-1&&o.animationCompleted(e)}).during(l=>{d=f+(i-f)*l,n.animateStartingPos&&(d=s+(i-s)*l,p=t-s+(a-(t-s))*l),c=r.getPiePath({me:r,startAngle:p,angle:d,size:u?n.prevSize+(h-n.prevSize)*l:h}),e.node.setAttribute("data:pathOrig",c),e.attr({d:c})}):(c=r.getPiePath({me:r,startAngle:p,angle:i,size:h}),n.isTrack||(l.globals.animationEnded=!0),e.node.setAttribute("data:pathOrig",c),e.attr({d:n.collapsed?"":c,"stroke-width":r.strokeWidth}))}pieClicked(e,t){const a=this.w,i=!(t&&!1===t.animate),s=a.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`);if(s){if("true"===s.attr("data:pieClicked"))return s.attr({"data:pieClicked":"false"}),this.revertDataLabelsInner(),void this.offsetSlice(e,0,i);if(!a.config.states.active.allowMultipleDataPointsSelection){const e=a.dom.baseEl.getElementsByClassName("apexcharts-pie-area");Array.prototype.forEach.call(e,e=>{const t="true"===e.getAttribute("data:pieClicked");e.setAttribute("data:pieClicked","false"),t&&this.offsetSlice(parseInt(e.getAttribute("j"),10),0,i)})}a.interact.capturedDataPointIndex=e,s.attr("data:pieClicked","true"),this.offsetSlice(e,this.getExpandOffset(),i)}}getExpandOffset(){const e=this.w.config.plotOptions.pie;if(!e.expandOnClick||"polarArea"===this.chartType)return 0;if(b.drilldownBlocksSliceOffset(this.w))return 0;const t=Number(e.expandOffset);return Number.isFinite(t)&&t>0?t:0}getSliceMovers(e){const t=this.w.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`);return[t?t.node:null,this.sliceLabelGroups[e],this.externalLabelGroups[e],this.hoverOutlineIndex===e&&this.elHoverOutlinePath?this.elHoverOutlinePath.node:null].filter(Boolean)}offsetSlice(e,t,a=!0){const i=this.w;if(!i.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`))return;const{dx:s,dy:n}=this.getSliceOffsetVector(e,t),r=`translate(${s} ${n})`,l=a&&i.config.chart.animations.enabled?"transform 320ms cubic-bezier(0.25, 0.8, 0.3, 1)":"";this.getSliceMovers(e).forEach(e=>{e.classList.add("apexcharts-slice-mover"),e.style.transition=l,e.setAttribute("transform",r)})}getSliceOffsetVector(e,t){const a=this.w.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`),i=a?parseFloat(a.attr("data:angle")):NaN;if(!t||!Number.isFinite(i)||i>=this.fullAngle)return{dx:0,dy:0};const s=parseFloat(a.attr("data:startAngle")),n=Math.PI*(s+i/2-90)/180;return{dx:t*Math.cos(n),dy:t*Math.sin(n)}}showHoverOutline(e){const t=this.w;if(!b.hoverOutlineOwnsHoverState(t))return;if(!this.elHoverOutline)return;const a=this.getHoverOutlinePath(e);if(!a)return;const i=t.config.plotOptions.pie.hoverOutline,s=i.color||t.globals.colors[e];if(!this.elHoverOutlinePath){const e=new u(t);this.elHoverOutlinePath=e.drawPath({d:a,fill:s,strokeWidth:0,classes:"apexcharts-pie-hover-outline-band"}),this.elHoverOutline.add(this.elHoverOutlinePath)}this.elHoverOutlinePath.attr({d:a,fill:s,"fill-opacity":i.opacity});const{dx:n,dy:r}=this.getSliceOffsetVector(e,this.isSliceOut(e)?this.getExpandOffset():0);this.elHoverOutlinePath.node.classList.remove("apexcharts-slice-mover"),this.elHoverOutlinePath.node.style.transition="",this.elHoverOutlinePath.node.setAttribute("transform",`translate(${n} ${r})`),this.hoverOutlineIndex=e,this.elHoverOutline.node.style.opacity="1"}hideHoverOutline(){this.elHoverOutline&&(this.elHoverOutline.node.style.opacity="0")}setSliceOut(e){this.isSliceOut(e)||this.pieClicked(e,{animate:!1})}isSliceOut(e){const t=this.w.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`);return!!t&&"true"===t.attr("data:pieClicked")}getHoverOutlinePath(e){const t=this.w,a=t.config.plotOptions.pie.hoverOutline,i=t.dom.Paper.findOne(`.apexcharts-${this.chartType.toLowerCase()}-slice-${e}`);if(!i)return null;const s=parseFloat(i.attr("data:angle"));if(!Number.isFinite(s)||s<=0)return null;const n=this.sliceSizes[e],r=Number(a.size);if(!Number.isFinite(n)||!Number.isFinite(r)||r<=0)return null;const{startDeg:l,spanDeg:c}=this.getSliceExtent({me:this,startAngle:parseFloat(i.attr("data:startAngle")),angle:s,size:n});if(!(c>0))return null;const d=n+(this.strokeWidth||0)/2+(Number(a.gap)||0),g=d+r,p={cx:this.centerX,cy:this.centerY,rIn:d,rOut:g,a0:l,a1:l+c,spanDeg:c},f=Math.min(r/2,c*Math.PI/180/2*d);return f>.5?L(h(o({},p),{r:f})):function({cx:e,cy:t,rIn:a,rOut:i,a0:s,a1:n,spanDeg:r}){const l=(a,i)=>S(e,t,a,i),o=r>180?1:0,h=l(i,s),c=l(i,n),d=l(a,n),g=l(a,s);return["M",v(h),"A",i,i,0,o,1,v(c),"L",v(d),"A",a,a,0,o,0,v(g),"Z"].join(" ")}(p)}getChangedPath(e,t,a){return this.dynamicAnim&&this.w.globals.dataChanged&&"number"==typeof a?this.getPiePath({me:this,startAngle:e,angle:t-e,size:a}):""}getSliceExtent({me:e,startAngle:t,angle:a,size:i}){const s=this.w;let n=t,r=a+t;Math.ceil(r)>=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(r=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01);let l=r-n;const o="pie"===e.chartType||"donut"===e.chartType||"polarArea"===e.chartType,h=s.config.plotOptions.pie.spacing;if(o&&h>0&&l>0){const t="donut"===e.chartType?(i+e.donutSize)/2:i,a=t>0?h/t*(180/Math.PI):0,s=Math.min(a/2,Math.max(0,l/2-.5));n+=s,l-=2*s}return r=n+l,Math.ceil(r)>this.fullAngle&&(r-=this.fullAngle),{startDeg:n,spanDeg:l,endDeg:r}}getPiePath({me:e,startAngle:t,angle:a,size:i}){let s;const n=this.w,r=new u(this.w),{startDeg:l,spanDeg:o,endDeg:h}=this.getSliceExtent({me:e,startAngle:t,angle:a,size:i}),c="pie"===e.chartType||"donut"===e.chartType||"polarArea"===e.chartType,d=Math.PI*(l-90)/180,g=n.config.plotOptions.pie.borderRadius;if(g>0&&c){const t=this.getRoundedSlicePath({me:e,startDeg:l,spanDeg:o,size:i,borderRadius:g});if(t)return t}const p=Math.PI*(h-90)/180,b=e.centerX+i*Math.cos(d),m=e.centerY+i*Math.sin(d),A=e.centerX+i*Math.cos(p),x=e.centerY+i*Math.sin(p),w=f.polarToCartesian(e.centerX,e.centerY,e.donutSize,h),y=f.polarToCartesian(e.centerX,e.centerY,e.donutSize,l),S=o>180?1:0,v=["M",b,m,"A",i,i,0,S,1,A,x];return s="donut"===e.chartType?[...v,"L",w.x,w.y,"A",e.donutSize,e.donutSize,0,S,0,y.x,y.y,"L",b,m,"z"].join(" "):"pie"===e.chartType||"polarArea"===e.chartType?[...v,"L",e.centerX,e.centerY,"L",b,m].join(" "):[...v].join(" "),r.roundPathCorners(s,2*this.strokeWidth)}getRoundedSlicePath({me:e,startDeg:t,spanDeg:a,size:i,borderRadius:s}){if(!(a>0))return null;const n=Math.PI/180,r=e.centerX,l=e.centerY,o="donut"===e.chartType,h=i,c=o?e.donutSize:0,d=a*n;let g=s;if(g=Math.min(g,d*h/2),o?(g=Math.min(g,d*c/2),g=Math.min(g,(h-c)/2)):g=Math.min(g,h/2),!(g>.5))return null;const p=t,f=t+a;return o?L({cx:r,cy:l,rIn:c,rOut:h,a0:p,a1:f,r:g,spanDeg:a}):function({cx:e,cy:t,rOut:a,a0:i,a1:s,r:n,spanDeg:r}){const l=(a,i)=>S(e,t,a,i),o=n/a*y,h=l(a,i+o),c=l(a,s-o),d=r-2*o>180?1:0,g=l(a,s),p=l(a-n,s),f=l(a,i),u=l(a-n,i);return["M",v(h),"A",a,a,0,d,1,v(c),"Q",v(g),v(p),"L",`${e} ${t}`,"L",v(u),"Q",v(f),v(h),"Z"].join(" ")}({cx:r,cy:l,rOut:h,a0:p,a1:f,r:g,spanDeg:a})}drawPolarElements(e){const t=this.w,a=new m(this.w),i=new u(this.w),s=new A(this.w),n=i.group(),r=i.group(),l=a.niceScale(0,Math.ceil(this.maxY),0),o=l.result.reverse(),h=l.result.length;this.maxY=l.niceMax;let c=t.globals.radialSize;const d=c/(h-1);for(let e=0;e<h-1;e++){const a=i.drawCircle(c);if(a.attr({cx:this.centerX,cy:this.centerY,fill:"none","stroke-width":t.config.plotOptions.polarArea.rings.strokeWidth,stroke:t.config.plotOptions.polarArea.rings.strokeColor}),t.config.yaxis[0].show){const a=s.drawYAxisTexts(this.centerX,this.centerY-c+parseInt(t.config.yaxis[0].labels.style.fontSize,10)/2,e,o[e]);r.add(a)}n.add(a),c-=d}this.drawSpokes(e),e.add(n),e.add(r)}renderInnerDataLabels(e,t,a){const i=this.w,s=new u(this.w),n=t.total.show;e.node.innerHTML="",e.node.style.opacity=a.opacity;const r=a.centerX,l=a.centerY,o=t.name.show&&!!this.donutDataLabels.total.label;let h,c;h=void 0===t.name.color?i.globals.colors[0]:t.name.color;let d=t.name.fontSize,g=t.name.fontFamily,p=t.name.fontWeight;c=void 0===t.value.color?i.config.chart.foreColor:t.value.color;const f=t.value.formatter;let b="",m="";if(n?(h=t.total.color,d=t.total.fontSize,g=t.total.fontFamily,p=t.total.fontWeight,m=this.donutDataLabels.total.label?t.total.label:"",b=t.total.formatter(i)):1===i.seriesData.series.length&&(b=f(i.seriesData.series[0],i),m=i.seriesData.seriesNames[0]),m&&(m=t.name.formatter(m,t.total.show,i)),t.name.show){const a=s.drawText({x:r,y:l+parseFloat(t.name.offsetY),text:m,textAnchor:"middle",foreColor:h,fontSize:d,fontWeight:p,fontFamily:g});a.node.classList.add("apexcharts-datalabel-label"),e.add(a)}if(t.value.show){const a=o?parseFloat(t.value.offsetY)+16:t.value.offsetY,i=s.drawText({x:r,y:l+a,text:b,textAnchor:"middle",foreColor:c,fontWeight:t.value.fontWeight,fontSize:t.value.fontSize,fontFamily:t.value.fontFamily});i.node.classList.add("apexcharts-datalabel-value"),e.add(i)}return e}printInnerLabels(e,t,a,i){const s=this.w;let n;i?n=void 0===e.name.color?s.globals.colors[parseInt(i.parentNode.getAttribute("rel"),10)-1]:e.name.color:s.seriesData.series.length>1&&e.total.show&&(n=e.total.color);const r=s.dom.baseEl.querySelector(".apexcharts-datalabel-label"),l=s.dom.baseEl.querySelector(".apexcharts-datalabel-value");a=(0,e.value.formatter)(a,s),i||"function"!=typeof e.total.formatter||(a=e.total.formatter(s));const o=t===e.total.label;t=this.donutDataLabels.total.label?e.name.formatter(t,o,s):"",null!==r&&(r.textContent=t),null!==l&&(l.textContent=a),null!==r&&(r.style.fill=n)}printDataLabelsInner(e,t){const a=this.w,i=e.getAttribute("data:value"),s=a.seriesData.seriesNames[parseInt(e.parentNode.getAttribute("rel"),10)-1];a.seriesData.series.length>1&&this.printInnerLabels(t,s,i,e);const n=a.dom.baseEl.querySelector(".apexcharts-datalabels-group");null!==n&&(n.style.opacity="1")}drawSpokes(e){const t=this.w,a=new u(this.w),i=t.config.plotOptions.polarArea.spokes;if(0===i.strokeWidth)return;const s=t.globals.collapsedSeriesIndices||[],n=t.seriesData.series.length,r=360/Math.max(1,n-s.filter(e=>e<n).length);let l=0;for(let o=0;o<n;o++){if(s.indexOf(o)>-1)continue;const n=f.polarToCartesian(this.centerX,this.centerY,t.globals.radialSize,t.config.plotOptions.pie.startAngle+r*l++),h=a.drawLine(n.x,n.y,this.centerX,this.centerY,Array.isArray(i.connectorColors)?i.connectorColors[o]:i.connectorColors);e.add(h)}}revertDataLabelsInner(){const e=this.w;if(this.donutDataLabels.show){const t=e.dom.Paper.findOne(".apexcharts-datalabels-group"),a=this.renderInnerDataLabels(t,this.donutDataLabels,{hollowSize:this.donutSize,centerX:this.centerX,centerY:this.centerY,opacity:this.donutDataLabels.show});e.dom.Paper.findOne(".apexcharts-radialbar, .apexcharts-pie").add(a)}}}const O=globalThis.ApexCharts.__internals.__apex_Series;function z(e,t){if("number"==typeof t)return t;const a=e.config&&e.config.series||[];for(let e=0;e<a.length;e++)if(a[e]&&a[e].name===t)return e;return-1}function k(e,t,a,i){if(!e||!e.weaveClaims)return i;const s=e.weaveClaims.byOption.get(t);if(!s||!s.length)return i;let n=i;for(const t of s)for(const i of t.entries)z(e,i.series)===a&&(n=i.value);return n}const T=globalThis.ApexCharts.__internals.__apex_BrowserAPIs_BrowserAPIs;c.use({radialBar:class extends C{constructor(e,t){super(e,t),this.ctx=t,this.w=e,this.animBeginArr=[0],this.startAngle=e.config.plotOptions.radialBar.startAngle,this.endAngle=e.config.plotOptions.radialBar.endAngle,this.totalAngle=Math.abs(e.config.plotOptions.radialBar.endAngle-e.config.plotOptions.radialBar.startAngle),this.trackStartAngle=e.config.plotOptions.radialBar.track.startAngle,this.trackEndAngle=e.config.plotOptions.radialBar.track.endAngle,this.barLabels=this.w.config.plotOptions.radialBar.barLabels,this.donutDataLabels=this.w.config.plotOptions.radialBar.dataLabels,this.radialDataLabels=this.donutDataLabels,this.trackStartAngle||(this.trackStartAngle=this.startAngle),this.trackEndAngle||(this.trackEndAngle=this.endAngle),360===this.endAngle&&(this.endAngle=359.99),this.margin=parseInt(e.config.plotOptions.radialBar.track.margin,10),this.onBarLabelClick=this.onBarLabelClick.bind(this)}draw(e){var t;const a=this.w,i=new u(this.w),s=i.group({class:"apexcharts-radialbar"});if(a.globals.noData)return s;const n=i.group(),r=a.layout.gridHeight/2,l=a.layout.gridWidth/2;let c=this.defaultSize/2.05;a.config.chart.sparkline.enabled||(c=c-a.config.stroke.width-a.config.chart.dropShadow.blur),a.globals.circleGeometry={node:s.node,cx:l,cy:r,r:c};const d=a.globals.fill.colors,g=a.config.plotOptions.radialBar,p=Array.isArray(g.bands)&&g.bands.length>0,b=p&&g.bandsStyle&&g.bandsStyle.hideTrackWhenPresent,m="needle"===g.shape,A=this.radialDataLabels;if(null==A.value.offsetY){const t=this.needlePath({size:c,centerX:l,centerY:r,series:e},g.needle||{});this.donutDataLabels=this.radialDataLabels=h(o({},A),{value:h(o({},A.value),{offsetY:m?t.cy-r+Math.max(t.baseW/2,f.polarToCartesian(0,0,t.length,this.startAngle).y,f.polarToCartesian(0,0,t.length,this.endAngle).y)+parseFloat(A.value.fontSize)+4:8})})}if(g.track.show&&!b){const t=this.drawTracks({size:c,centerX:l,centerY:r,colorArr:d,series:e});n.add(t)}if(p){const t=this.drawBands({size:c,centerX:l,centerY:r,series:e});n.add(t)}const w=this.drawArcs({size:c,centerX:l,centerY:r,colorArr:d,series:e,skipValueArc:m&&!(null==(t=g.needle)?void 0:t.showValueArc)});if(g.ticks&&g.ticks.show){const t=this.drawTicks({size:c,centerX:l,centerY:r,series:e});if(this.initialAnim&&!a.globals.dataChanged&&!a.globals.resized&&x.isBrowser()&&a.globals.shouldAnimate){const i=t.node;i.style.opacity="0",i.style.transition="opacity 280ms ease-out";const s=m&&this.needleMotion(),n=Math.max((this.animBeginArr[e.length-1]||0)+a.config.chart.animations.speed,s?s.speed:0);a.globals.radialTickTimer=setTimeout(()=>{a.globals.isDestroyed||(i.style.opacity="1")},n)}n.add(t)}if(m){const t=this.drawNeedle({size:c,centerX:l,centerY:r,series:e});n.add(t)}let y=360;a.config.plotOptions.radialBar.startAngle<0&&(y=this.totalAngle);const S=(360-y)/360;if(a.globals.radialSize=c-c*S,this.radialDataLabels.value.show){const e=Math.max(this.radialDataLabels.value.offsetY,this.radialDataLabels.name.offsetY);a.globals.radialSize+=e*S}return n.add(w.g),"front"===a.config.plotOptions.radialBar.hollow.position&&(w.g.add(w.elHollow),w.dataLabels&&w.g.add(w.dataLabels)),s.add(n),s}drawTracks(e){const t=this.w,a=new u(this.w),i=a.group({class:"apexcharts-tracks"}),s=new b(this.w),n=new p(this.w),r=this.getStrokeWidth(e);e.size=e.size-r/2;for(let l=0;l<e.series.length;l++){const o=a.group({class:"apexcharts-radialbar-track apexcharts-track"});i.add(o),o.attr({rel:l+1}),e.size=e.size-r-this.margin;const h=t.config.plotOptions.radialBar.track,c=n.fillPath({seriesNumber:0,size:e.size,fillColors:Array.isArray(h.background)?h.background[l]:h.background,solid:!0}),d=this.trackStartAngle;let g=this.trackEndAngle;Math.abs(g)+Math.abs(d)>=360&&(g=360-Math.abs(this.startAngle)-.1);const p=a.drawPath({d:"",stroke:c,strokeWidth:r*parseInt(h.strokeWidth,10)/100,fill:"none",strokeOpacity:h.opacity,classes:"apexcharts-radialbar-area"});if(h.dropShadow.enabled){const e=h.dropShadow;s.dropShadow(p,e)}o.add(p),p.attr("id","apexcharts-radialbarTrack-"+l),this.animatePaths(p,{centerX:e.centerX,centerY:e.centerY,endAngle:g,startAngle:d,size:e.size,i:l,animBeginArr:0,dur:0,isTrack:!0})}return i}drawArcs(e){var t,a;const i=this.w;null==(t=this.ctx.highlightFilter)||t.pie(this);const s=new u(this.w),n=new p(this.w),r=new b(this.w),l=s.group(),o=this.getStrokeWidth(e);e.size=e.size-o/2;let h=i.config.plotOptions.radialBar.hollow.background;const c=e.size-o*e.series.length-this.margin*e.series.length-o*parseInt(i.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,d=c-i.config.plotOptions.radialBar.hollow.margin;void 0!==i.config.plotOptions.radialBar.hollow.image&&(h=this.drawHollowImage(e,l,c,h));const g=this.drawHollow({size:d,centerX:e.centerX,centerY:e.centerY,fill:h||"transparent"});if(i.config.plotOptions.radialBar.hollow.dropShadow.enabled){const e=i.config.plotOptions.radialBar.hollow.dropShadow;r.dropShadow(g,e)}let m=1;!this.radialDataLabels.total.show&&i.seriesData.series.length>1&&(m=0);let A=null;this.radialDataLabels.show&&(A=this.renderInnerDataLabels(this.dataLabelsGroup,this.radialDataLabels,{hollowSize:c,centerX:e.centerX,centerY:e.centerY,opacity:m})),"back"===i.config.plotOptions.radialBar.hollow.position&&(l.add(g),A&&l.add(A));let x=!1;i.config.plotOptions.radialBar.inverseOrder&&(x=!0);const w=!0===(null==(a=this.ctx.morphTypeChange)?void 0:a.isActive());for(let t=x?e.series.length-1:0;x?t>=0:t<e.series.length;x?t--:t++){const a=s.group({class:"apexcharts-series apexcharts-radial-series",seriesName:f.escapeString(i.seriesData.seriesNames[t])});l.add(a),a.attr({rel:t+1,"data:realIndex":t}),O.addCollapsedClassToSeries(this.w,a,t),e.size=e.size-o-this.margin;const h=n.fillPath({seriesNumber:t,size:e.size,value:e.series[t]}),c=this.startAngle;let d;const g=this._arcEnd(e.series[t]);let p;if(i.globals.dataChanged){d=this.startAngle;const e=i.globals.previousPaths[t];p=void 0===e?NaN:this._arcEnd(e)}const b=g-c,m=k(i,"stroke.dashArray",t,Array.isArray(i.config.stroke.dashArray)?i.config.stroke.dashArray[t]:i.config.stroke.dashArray),A=w?this.ctx.morphTypeChange.getInitialPathFor(t,0):null,x=w?this.ctx.morphTypeChange.getFromType():null,y=!!A&&("bar"===x||"funnel"===x||"pyramid"===x||"pie"===x||"donut"===x||"polarArea"===x),S=s.drawPath({d:A||"",stroke:y||e.skipValueArc?"transparent":h,strokeWidth:y||e.skipValueArc?0:o,fill:y?h:"none",fillOpacity:i.config.fill.opacity,classes:"apexcharts-radialbar-area apexcharts-radialbar-slice-"+t,strokeDashArray:m}),v=c+b/2,L=f.polarToCartesian(e.centerX,e.centerY,e.size,v);if(u.setAttrs(S.node,{"data:angle":b,"data:value":e.series[t],"data:cx":L.x,"data:cy":L.y}),i.config.chart.dropShadow.enabled){const e=i.config.chart.dropShadow;r.dropShadow(S,e,t)}if(r.setSelectionFilter(S,0,t),this.addListeners(S,this.radialDataLabels),a.add(S),S.attr({index:0,j:t}),this.barLabels.enabled){const n=f.polarToCartesian(e.centerX,e.centerY,e.size,c),r=this.barLabels.formatter(i.seriesData.seriesNames[t],{seriesIndex:t,w:i}),l=["apexcharts-radialbar-label"];this.barLabels.onClick||l.push("apexcharts-no-click");let o=this.barLabels.useSeriesColors?i.globals.colors[t]:i.config.chart.foreColor;o||(o=i.config.chart.foreColor);const h=n.x+this.barLabels.offsetX,d=n.y+this.barLabels.offsetY,g=s.drawText({x:h,y:d,text:r,textAnchor:"end",dominantBaseline:"middle",fontFamily:this.barLabels.fontFamily,fontWeight:this.barLabels.fontWeight,fontSize:this.barLabels.fontSize,foreColor:o,cssClass:l.join(" ")});g.on("click",this.onBarLabelClick),g.attr({rel:t+1}),0!==c&&g.attr({"transform-origin":`${h} ${d}`,transform:`rotate(${c} 0 0)`}),a.add(g)}let C=0;if(!this.initialAnim||i.globals.resized||i.globals.dataChanged||(C=i.config.chart.animations.speed),this.dynamicAnim&&i.globals.dataChanged&&i.globals.shouldAnimate&&(C=i.config.chart.animations.dynamicAnimation.speed),this.animBeginArr[t]=t*C/(1.2*e.series.length),w&&A){const t=this.ctx.morphTypeChange.getSpeed(),a=this.ctx.animations,i=this.getPiePath({me:this,startAngle:c,angle:b,size:e.size});if(y){const s=this.ctx.morphTypeChange.buildRingSegmentPath(e.centerX,e.centerY,e.size,o,c,c+b);S.animate(t).plot(s,"polygons").after(function(){this.attr({d:i,fill:"none",stroke:e.skipValueArc?"transparent":h,"stroke-width":e.skipValueArc?0:o}),a.animationCompleted(S)})}else S.animate(t).plot(i,"polygons").attr({"stroke-width":o}).after(()=>a.animationCompleted(S))}else this.animatePaths(S,{centerX:e.centerX,centerY:e.centerY,endAngle:g,startAngle:c,prevEndAngle:p,prevStartAngle:d,size:e.size,i:t,animBeginArr:this.animBeginArr,dur:C,shouldSetPrevPaths:!0})}return{g:l,elHollow:g,dataLabels:A}}_domain(){const e=this.w.config.plotOptions.radialBar,t="number"==typeof e.min?e.min:0,a="number"==typeof e.max?e.max:100;return[t,a===t?t+1:a]}_fraction(e){const[t,a]=this._domain(),i=Number(e);return Number.isFinite(i)?(Math.min(Math.max(i,t),a)-t)/(a-t):0}_arcEnd(e){const t=Math.round(this.totalAngle*this._fraction(e))+this.startAngle;return Math.abs(t)+Math.abs(this.startAngle)>360?t-.01:t}_angleAtValue(e){return this.startAngle+this._fraction(e)*Math.abs(this.endAngle-this.startAngle)}_describeArc(e,t,a,i,s){const n=f.polarToCartesian(e,t,a,s),r=f.polarToCartesian(e,t,a,i),l=s-i,o=Math.abs(l)>180?1:0;return`M ${n.x} ${n.y} A ${a} ${a} 0 ${o} 0 ${r.x} ${r.y}`}drawBands(e){const t=this.w,a=new u(this.w),i=t.config.plotOptions.radialBar,s=i.bands||[],n=a.group({class:"apexcharts-gauge-bands"}),r=this.getStrokeWidth(e),l=e.size-r/2-r-this.margin,o=r*parseInt(i.bandsStyle.strokeWidth,10)/100,h=l>0?Math.abs(i.bandsStyle.gap||0)/l*(180/Math.PI):0;for(let t=0;t<s.length;t++){const r=s[t];if(void 0===r.from||void 0===r.to)continue;const c=this._angleAtValue(r.from),d=this._angleAtValue(r.to),g=Math.min(c,d)+h/2,p=Math.max(c,d)-h/2;if(p-g<=0)continue;const f=a.drawPath({d:this._describeArc(e.centerX,e.centerY,l,g,p),stroke:r.color||"#ccc",strokeWidth:o,fill:"none",strokeLinecap:i.bandsStyle.linecap||"butt",classes:"apexcharts-gauge-band"});f.node.setAttribute("data-band-index",String(t)),n.add(f)}return n}drawTicks(e){var t,a,i,s;const n=this.w,r=new u(this.w),l=n.config.plotOptions.radialBar.ticks,o=r.group({class:"apexcharts-gauge-ticks"}),h=this.getStrokeWidth(e),c=e.size-h/2-h-this.margin,[d,g]=this._domain(),p=Math.max(2,null!=(a=null==(t=l.major)?void 0:t.count)?a:11),b=Math.max(0,null!=(s=null==(i=l.minor)?void 0:i.count)?s:0),m=(t,a,i)=>{var s,n,h;const d=this._angleAtValue(t),g=null!=(s=a.length)?s:8,p="inside"===a.placement?c-g:c,u="inside"===a.placement?c:c+g,b=f.polarToCartesian(e.centerX,e.centerY,p,d),m=f.polarToCartesian(e.centerX,e.centerY,u,d),A=r.drawLine(b.x,b.y,m.x,m.y,a.color||(i?"#666":"#999"),0,a.width||(i?2:1));if(o.add(A),i&&(null==(n=l.labels)?void 0:n.show)){const i=("inside"===a.placement?p:u)+("inside"===a.placement?-1:1)*(null!=(h=l.labels.offset)?h:6),s=f.polarToCartesian(e.centerX,e.centerY,i,d),n="function"==typeof l.labels.formatter?l.labels.formatter(t):String(t),c=r.drawText({x:s.x,y:s.y,text:n,textAnchor:"middle",dominantBaseline:"middle",fontFamily:l.labels.fontFamily,fontSize:l.labels.fontSize,fontWeight:l.labels.fontWeight,foreColor:l.labels.color,cssClass:"apexcharts-gauge-tick-label"});o.add(c)}};for(let e=0;e<p;e++)if(m(d+e/(p-1)*(g-d),l.major||{},!0),e<p-1&&b>0)for(let t=1;t<=b;t++)m(d+(e+t/(b+1))/(p-1)*(g-d),l.minor||{},!1);return o}drawNeedle(e){const t=this.w,a=new u(this.w),i=t.config.plotOptions.radialBar.needle||{},s=a.group({class:"apexcharts-gauge-needle"});if(!e.series||0===e.series.length)return s;const n=i.color||"#333",{path:r,cx:l,cy:o}=this.needlePath(e,i),h=a.drawPath({d:r,stroke:n,strokeWidth:0,fill:n,classes:"apexcharts-gauge-needle-shape"});s.add(h);const c=Number(e.series[0]),d=this._angleAtValue(c),g=t.globals,p=this.needleMotion(),f=Number.isFinite(g.radialNeedleAngle)&&!(null==p?void 0:p.mount)?g.radialNeedleAngle:this.startAngle;if(g.radialNeedleAngle=d,null!=t.globals.radialNeedleRAF&&(T.cancelAnimationFrame(t.globals.radialNeedleRAF),t.globals.radialNeedleRAF=null),p&&f!==d){const{speed:e,ease:a}=p,i=s.node;i.setAttribute("transform-origin",`${l} ${o}`),i.setAttribute("transform",`rotate(${f})`);const n=performance.now(),r=s=>{if(this.w.globals.isDestroyed)return void(t.globals.radialNeedleRAF=null);const l=Math.max(0,Math.min(1,(s-n)/e)),o=f+(d-f)*a(l);i.setAttribute("transform",`rotate(${o})`),t.globals.radialNeedleRAF=l<1?T.requestAnimationFrame(r):null};t.globals.radialNeedleRAF=T.requestAnimationFrame(r)}else s.attr({"transform-origin":`${l} ${o}`,transform:`rotate(${d})`});return s}needlePath(e,t){var a,i,s;const n=this.getStrokeWidth(e),r=e.size-n/2-n-this.margin,l="string"==typeof t.length&&t.length.endsWith("%")?r*parseInt(t.length,10)/100:Number(t.length||.85*r),o=null!=(a=t.baseWidth)?a:4,h=null!=(i=t.tipWidth)?i:1,c=e.centerX,d=e.centerY+Number(null!=(s=t.offsetY)?s:0);return{path:`M ${c+o/2} ${d} A ${o/2} ${o/2} 0 0 1 ${c-o/2} ${d} L ${c-h/2} ${d-l} L ${c+h/2} ${d-l} Z`,cx:c,cy:d,length:l,baseW:o}}needleMotion(){var e,t,a;const i=this.w,s=i.config.plotOptions.radialBar.needle||{},n=i.config.chart.animations,r=this.initialAnim&&!i.globals.dataChanged&&!i.globals.resized;if(!(x.isBrowser()&&i.globals.shouldAnimate&&!1!==(null==(e=s.animation)?void 0:e.enabled)&&(r||this.dynamicAnim&&i.globals.dataChanged)))return null;const l=Number(null==(t=s.animation)?void 0:t.duration)||Number(s.animationSpeed)||(r?n.speed:null==(a=n.dynamicAnimation)?void 0:a.speed)||800,o=1.70158;return{speed:l,mount:r,ease:r?e=>1+2.70158*Math.pow(e-1,3)+o*Math.pow(e-1,2):e=>1-Math.pow(1-e,3)}}drawHollow(e){var t;const a=new u(this.w),i=this.w.config.plotOptions.radialBar.hollow,s=a.drawCircle(2*e.size),n={class:"apexcharts-radialbar-hollow",cx:e.centerX,cy:e.centerY,r:e.size,fill:e.fill};return(i.stroke||i.strokeDasharray)&&(n.stroke=i.stroke||"transparent",n["stroke-width"]=null!=(t=i.strokeWidth)?t:1,i.strokeDasharray&&(n["stroke-dasharray"]=i.strokeDasharray)),s.attr(n),s}drawHollowImage(e,t,a,i){const s=this.w,n=new p(this.w),r=f.randomId(),l=s.config.plotOptions.radialBar.hollow.image;if(s.config.plotOptions.radialBar.hollow.imageClipped)n.clippedImgArea({width:a,height:a,image:l,patternID:`pattern${s.globals.cuid}${r}`}),i=`url(#pattern${s.globals.cuid}${r})`;else{const a=s.config.plotOptions.radialBar.hollow.imageWidth,i=s.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===a&&void 0===i){const a=s.dom.Paper.image(l,function(t){this.move(e.centerX-t.width/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,e.centerY-t.height/2+s.config.plotOptions.radialBar.hollow.imageOffsetY)});t.add(a)}else{const n=s.dom.Paper.image(l,function(){this.move(e.centerX-a/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,e.centerY-i/2+s.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(a,i)});t.add(n)}}return i}getStrokeWidth(e){const t=this.w;return e.size*(100-parseInt(t.config.plotOptions.radialBar.hollow.size,10))/100/(e.series.length+1)-this.margin}onBarLabelClick(e){var t;const a=e.target,i=parseInt(null!=(t=a.getAttribute("rel"))?t:"",10)-1,s=this.barLabels.onClick,n=this.w;s&&s(n.seriesData.seriesNames[i],{w:n,seriesIndex:i})}}}),e.default=c,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ApexRadialBar={})});
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * ApexCharts v8.2.0
2
+ * ApexCharts v8.3.0
3
3
  * (c) 2018-2026 ApexCharts
4
4
  */
5
- "use strict";var t=Object.defineProperty,e=Object.defineProperties,i=Object.getOwnPropertyDescriptors,n=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,o=(e,i,n)=>i in e?t(e,i,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[i]=n,l=(t,e)=>{for(var i in e||(e={}))s.call(e,i)&&o(t,i,e[i]);if(n)for(var i of n(e))r.call(e,i)&&o(t,i,e[i]);return t},a=(t,n)=>e(t,i(n));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});function h(t){if(t&&t.__esModule)return t;const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t)for(const i in t)if("default"!==i){const n=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,n.get?n:{enumerable:!0,get:()=>t[i]})}return e.default=t,Object.freeze(e)}const u=h(require("apexcharts/core")),c="__apexcharts_series_transforms__";globalThis[c]||(globalThis[c]={});const d=u.__apex_Utils;function p(t,e){const i=t.length;if(0===i)return NaN;if(1===i)return t[0];const n=(i-1)*e,s=Math.floor(n),r=Math.ceil(n);return s===r?t[s]:t[s]+(t[r]-t[s])*(n-s)}function f(t,e={}){if(!Array.isArray(t)||0===t.length)return null;const i=t.slice().sort((t,e)=>t-e),n=i.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 i=0;for(let n=0;n<e;n++)i+=t[n];const n=i/e;let s=0;for(let i=0;i<e;i++){const e=t[i]-n;s+=e*e}return Math.sqrt(s/e)}(i),e=p(i,.75)-p(i,.25);s=.9*(e>0?Math.min(t,e/1.349):t)*Math.pow(n,-.2)}if(!isFinite(s)||s<=0){const t=i[0],e=Math.abs(t)>0?.001*Math.abs(t):.001;return{density:[[t-e,0],[t,1],[t+e,0]],bandwidth:e}}const r=Math.max(8,Math.floor(e.resolution||64)),o=i[0]-2*s,l=(i[n-1]+2*s-o)/(r-1),a=1/(n*s*Math.sqrt(2*Math.PI)),h=[];for(let t=0;t<r;t++){const e=o+t*l;let r=0;for(let t=0;t<n;t++){const n=(e-i[t])/s;r+=Math.exp(-.5*n*n)}h.push([e,r*a])}return{density:h,bandwidth:s}}function g(t,e){var i,n;const s=null!=(i=t.statsDerived)?i:t.statsDerived={};return null!=(n=s[e])?n:s[e]=new Map}function x(t,e,i){const n=t.get(e);if(!n||!Array.isArray(i)||n.length!==i.length)return!1;for(let t=0;t<i.length;t++){const e=n[t],s=i[t];if(e!==s&&(!Array.isArray(e)||!Array.isArray(s)||e[0]!==s[0]||e[1]!==s[1]))return!1}return!0}var b,y;b="raincloud","function"==typeof(y=function(t,e){var i,n;if(!Array.isArray(t))return t;const s=(null==(i=e.config.plotOptions)?void 0:i.violin)||{},r=s.kde||{},o=(null==(n=s.box)?void 0:n.whiskers)||"minmax",h=g(e,"raincloudDensity"),u=g(e,"raincloudSummary");return t.map((t,e)=>{if(!Array.isArray(null==t?void 0:t.data)||t.type&&"raincloud"!==t.type&&"violin"!==t.type)return t;let i=!1;const n=t.data.map((t,n)=>{const s=e+":"+n,c=(null==t?void 0:t.y)&&"object"==typeof t.y&&!Array.isArray(t.y)?t.y:{},g=!Array.isArray(c.density)||!c.density.length||x(h,s,c.density),b=!Array.isArray(c.summary)||5!==c.summary.length||x(u,s,c.summary);if(!g&&!b)return t;const y=function(t){var e;if(!t||"object"!=typeof t||Array.isArray(t))return null;let i=null;if(Array.isArray(t.points)?i=t.points:Array.isArray(null==(e=t.y)?void 0:e.points)?i=t.y.points:Array.isArray(t.y)&&"number"==typeof t.y[0]&&(i=t.y),!i)return null;const n=[];for(let t=0;t<i.length;t++){const e=d.parseNumber(i[t]);null!==e&&isFinite(e)&&n.push(e)}return n.length?n:null}(t);if(!y)return t;const m=l({},c);if(g){const e=f(y,{bandwidth:r.bandwidth,resolution:r.resolution});if(!e)return t;m.density=e.density,m.points=y,h.set(s,e.density)}if(b){const t=function(t,e={}){if(!Array.isArray(t)||0===t.length)return null;const i=t.slice().sort((t,e)=>t-e),n=p(i,.25),s=p(i,.5),r=p(i,.75),o=r-n;let l=i[0],a=i[i.length-1],h=[];if("tukey"===e.whiskers&&o>0){const t=n-1.5*o,e=r+1.5*o;let s=0;for(;s<i.length&&i[s]<t;)s++;let u=i.length-1;for(;u>=0&&i[u]>e;)u--;s<=u&&(l=i[s],a=i[u],h=i.slice(0,s).concat(i.slice(u+1)))}return{summary:[l,n,s,r,a],outliers:h,iqr:o}}(y,{whiskers:o});t&&(m.summary=t.summary,u.set(s,t.summary))}return i=!0,a(l({},t),{y:m})});return i?a(l({},t),{data:n}):t})})?globalThis[c][b]=y:console.warn(`ApexCharts: registerSeriesTransform("${b}") expects a function (series, w) => series.`);const m=u.__apex_CoreUtils,v=u.__apex_ChartFactory_getChartClass,P=u.__apex_Fill,w=u.__apex_Graphics,M=u.__apex_Series,S=t=>{const e=function(t){const e=[];let i=t[0],n=t[1],s=e[0]=F(i,n),r=1;for(let o=t.length-1;r<o;r++)i=n,n=t[r+1],e[r]=.5*(s+(s=F(i,n)));return e[r]=s,e}(t),i=t.length-1,n=[];let s,r,o,l;for(let n=0;n<i;n++)o=F(t[n],t[n+1]),Math.abs(o)<1e-6?e[n]=e[n+1]=0:(s=e[n]/o,r=e[n+1]/o,l=s*s+r*r,l>9&&(l=3*o/Math.sqrt(l),e[n]=l*s,e[n+1]=l*r));for(let s=0;s<=i;s++)l=(t[Math.min(i,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+e[s]*e[s])),n.push([l||0,e[s]*l||0]);return n},O={points(t){const e=S(t),i=t[1],n=t[0],s=[],r=e[1],o=e[0];s.push(n,[n[0]+o[0],n[1]+o[1],i[0]-r[0],i[1]-r[1],i[0],i[1]]);for(let i=2,n=e.length;i<n;i++){const n=t[i],r=e[i];s.push([n[0]-r[0],n[1]-r[1],n[0],n[1]])}return s},slice(t,e,i){const n=t.slice(e,i);if(e){if(i-e>1&&n[1].length<6){const t=n[0].length;n[1]=[2*n[0][t-2]-n[0][t-4],2*n[0][t-1]-n[0][t-3]].concat(n[1])}n[0]=n[0].slice(-2)}return n}};function F(t,e){return(e[1]-t[1])/(e[0]-t[0])}function W({graphics:t,w:e,elSeries:i,pointsByCat:n,options:s,distributed:r,realIndex:o,wrapClass:l,pointClass:a}){if(!s||!1===s.show||!n.length)return;const h=null!=s.opacity?s.opacity:.9,u=null!=s.strokeColor?s.strokeColor:"#fff",c=null!=s.strokeWidth?s.strokeWidth:1,d=e.config.chart.animations.enabled&&!e.globals.resized&&!e.globals.dataChanged,p=t.group({class:d?`${l} apexcharts-element-hidden`:l});d&&e.globals.delayedElements.push({el:p.node}),n.forEach(({groups:i,j:n})=>{const l=r?e.globals.colors[n]:e.globals.colors[o],d=s.fillColor,f="series"===d?l:"series-dark"===d?A(l,.45):d||A(l,.45);i.forEach(i=>{const s=t.drawPath({d:i.d,fill:null!=i.fill?i.fill:f,stroke:c>0?u:"none",strokeWidth:c,fillOpacity:h,classes:a});s.attr("data:realIndex",o),s.attr("j",n),s.attr("clip-path",`url(#gridRectBarMask${e.globals.cuid})`),s.node.style.pointerEvents="none",p.add(s)})}),i.add(p)}function A(t,e){const i=d.parseHex(t);if(!i)return t;const n=Math.max(0,1-e);return`rgb(${Math.round(i[0]*n)},${Math.round(i[1]*n)},${Math.round(i[2]*n)})`}function C(t,e){if(!t.length)return"#000";if(1===t.length)return t[0];const i=Math.max(0,Math.min(1,e))*(t.length-1),n=Math.floor(i),s=i-n,r=d.parseHex(t[n])||[0,0,0],o=d.parseHex(t[Math.min(n+1,t.length-1)])||r,l=(t,e)=>Math.round(t+(e-t)*s);return`rgb(${l(r[0],o[0])},${l(r[1],o[1])},${l(r[2],o[2])})`}function H(t){let e=(2654435769^t)>>>0;return e=Math.imul(e^e>>>16,73244475),e=Math.imul(e^e>>>16,73244475),((e^e>>>16)>>>0)/4294967296}function j(t,e,i){return`M ${t-i} ${e} a ${i} ${i} 0 1 0 ${2*i} 0 a ${i} ${i} 0 1 0 ${-2*i} 0 `}function I(t,e,i){return`M ${t-i} ${e-i} h ${2*i} v ${2*i} h ${-2*i} z `}const $=class{};class _ extends ${constructor(t,e,i){!function(){const t=v("bar");if(Object.getPrototypeOf(_)===t)return;Object.setPrototypeOf(_,t),Object.setPrototypeOf(_.prototype,t.prototype)}(),super(t,e,i)}draw(t,e,i){var n,s,r;const o=this.w,l=new w(this.w),a=new P(this.w);this.violinOptions=o.config.plotOptions.violin,this.pointsOptions=this.violinOptions.points,this.boxOptions=this.violinOptions.box||{},this.cloudSign=D(this.violinOptions.side),this.rainSign=!1===this.pointsOptions.show?0:D(this.pointsOptions.position),this.boxShown=!0===this.boxOptions.show,this.boxFrac=this.boxShown?k(this.boxOptions.width,.15):0,this.rainFrac=k(this.pointsOptions.laneWidth,.4),this.bandwidthScale=this.violinOptions.bandwidthScale||1,this.normalize=this.violinOptions.normalize||"individual",this.distributed=o.config.plotOptions.bar.distributed,this.isHorizontal=o.config.plotOptions.bar.horizontal,this.coreUtils=new m(this.w),t=this.coreUtils.getLogSeries(t),this.series=t,this.yRatio=this.coreUtils.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);const h=l.group({class:"apexcharts-violin-series apexcharts-plot-series"});for(let e=0;e<t.length;e++){let u,c;const p=[],f=[],g=o.globals.comboCharts?i[e]:e,{columnGroupIndex:x}=this.barHelpers.getGroupIndex(g),b=l.group({class:"apexcharts-series",seriesName:d.escapeString(o.seriesData.seriesNames[g]),rel:e+1,"data:realIndex":g});M.addCollapsedClassToSeries(this.w,b,g),t[e].length>0&&(this.visibleI=this.visibleI+1);const y=this.setSeriesAxis(g),m=this.barHelpers.initialPositions(g),{y:v,barHeight:P,yDivision:w,zeroW:S,x:O,barWidth:F,xDivision:A,zeroH:C}=m;c=v,u=O,f.push(u+(null!=F?F:0)/2);const H=l.group({class:"apexcharts-datalabels","data:realIndex":g});if(this.seriesMaxWeight=0,"group"===this.normalize){(o.violinData.seriesViolinDensity[g]||[]).forEach(t=>{t&&t.maxWeight>this.seriesMaxWeight&&(this.seriesMaxWeight=t.maxWeight)})}const j=[];for(let i=0;i<o.globals.dataPoints;i++){const l=this.barHelpers.getStrokeWidth(e,i,g),h=this.isHorizontal?this.drawHorizontalViolin({indexes:{i:e,j:i,realIndex:g,translationsIndex:y},y:c,yDivision:w,barHeight:P,zeroW:S}):this.drawVerticalViolin({indexes:{i:e,j:i,realIndex:g,translationsIndex:y},x:u,xDivision:A,barWidth:F,zeroH:C});u=h.x,c=h.y,i>0&&f.push(h.center),p.push(h.alongRepresentative);const d=this.buildPointsSubPath({realIndex:g,j:i,center:h.center,halfExtent:h.halfExtent,alongFn:h.alongFn,density:h.density,maxWeight:h.maxWeight,cloudBase:h.cloudBase,cloudMaxPx:h.cloudMaxPx,rainCenter:h.rainCenter,rainHalfPx:h.rainHalfPx});d.length&&j.push({groups:d,j:i});const m=a.fillPath({seriesNumber:this.distributed?i:g,dataPointIndex:i,color:this.distributed?o.globals.colors[i]:void 0,value:t[e][i]});this.renderSeries({realIndex:g,pathFill:m,lineFill:o.globals.stroke.colors[g],j:i,i:e,pathFrom:h.pathFrom,pathTo:h.pathTo,strokeWidth:l,elSeries:b,x:u,y:c,series:t,columnGroupIndex:x,barHeight:P,barWidth:F,elDataLabelsWrap:H,visibleSeries:this.visibleI,type:"violin"});const v=b.node.querySelector(`path.apexcharts-violin-area[j='${i}']`);if(v&&isFinite(h.alongRepresentative)&&v.setAttribute(this.isHorizontal?"cx":"cy",`${h.alongRepresentative}`),v&&v.setAttribute("data:center",`${h.center}`),h.boxPaths){const s=null!=(n=this.boxOptions.strokeWidth)?n:1;h.boxPaths.forEach(n=>{this.renderSeries({realIndex:g,pathFill:n.filled?this.boxOptions.fillColor||m:"none",lineFill:o.globals.stroke.colors[g],j:i,i:e,pathFrom:n.pathFrom,pathTo:n.pathTo,strokeWidth:s,elSeries:b,x:u,y:c,series:t,columnGroupIndex:x,barHeight:P,barWidth:F,elDataLabelsWrap:H,visibleSeries:this.visibleI,type:"violin",classes:"apexcharts-raincloud-box"})})}const M=!v&&(null==(r=null==(s=o.globals.barCanvasCoords)?void 0:s[g])?void 0:r[i]);M&&isFinite(h.alongRepresentative)&&(this.isHorizontal?M.cx=h.alongRepresentative:(M.bodyCx=M.cx,M.cx=h.center,M.cy=h.alongRepresentative))}W({graphics:l,w:o,elSeries:b,pointsByCat:j,options:this.pointsOptions,distributed:this.distributed,realIndex:g,wrapClass:"apexcharts-violin-points-wrap",pointClass:"apexcharts-violin-points"}),o.globals.seriesXvalues[g]=f,o.globals.seriesYvalues[g]=p,h.add(b)}return h}drawVerticalViolin({indexes:t,x:e,xDivision:i,barWidth:n,zeroH:s}){var r,o,l,a,h,u,c;const d=this.w,{realIndex:p,j:f,translationsIndex:g}=t,x=this.yRatio[g];d.axisFlags.isXNumeric&&(e=(d.seriesData.seriesX[p][f]-d.globals.minX)/this.xRatio-n/2);const b=e+n*this.visibleI+n/2,y=n/2,m=this.getDensity(p,f),v=this.effectiveMaxWeight(m),P=t=>s-this.logVal(t,p)/x,w=B({halfExtent:y,cloudSign:null!=(r=this.cloudSign)?r:0,rainSign:null!=(o=this.rainSign)?o:0,boxFrac:null!=(l=this.boxFrac)?l:0,rainFrac:null!=(a=this.rainFrac)?a:0}),M=b+w.cloudBaseOff,S=this.buildBodyPath({nodes:m.nodes,center:M,halfExtent:w.cloudMaxPx,maxWeight:v,vertical:!0,alongFn:P,collapsed:!1,sideSign:this.cloudSign});let O=null;const F=null==(u=null==(h=this.ctx)?void 0:h.morphTypeChange)?void 0:u.getInitialPathFor(p,f);return F?O=F:d.globals.previousPaths.length>0&&(O=this.getPreviousPath(p,f,S)),null==O&&(O=this.buildBodyPath({nodes:m.nodes,center:M,halfExtent:w.cloudMaxPx,maxWeight:v,vertical:!0,alongFn:P,collapsed:!0,sideSign:this.cloudSign})),d.axisFlags.isXNumeric||(e+=i),{pathTo:S,pathFrom:O,x:e,y:s,center:b,halfExtent:y,alongFn:P,density:m,maxWeight:v,cloudBase:M,cloudMaxPx:w.cloudMaxPx,rainCenter:b+w.rainCenterOff,rainHalfPx:w.rainHalfPx,boxPaths:this.buildBoxSubPaths({realIndex:p,j:f,boxCenter:b+w.boxCenterOff,boxHalfPx:w.boxHalfPx,alongFn:P,vertical:!0}),alongRepresentative:P(null!=(c=this.series[t.i][f])?c:0)}}drawHorizontalViolin({indexes:t,y:e,yDivision:i,barHeight:n,zeroW:s}){var r,o,l,a,h,u,c;const d=this.w,{realIndex:p,j:f}=t,g=this.invertedYRatio,x=e+n*this.visibleI+n/2,b=n/2,y=this.getDensity(p,f),m=this.effectiveMaxWeight(y),v=t=>s+this.logVal(t,p)/g,P=B({halfExtent:b,cloudSign:null!=(r=this.cloudSign)?r:0,rainSign:null!=(o=this.rainSign)?o:0,boxFrac:null!=(l=this.boxFrac)?l:0,rainFrac:null!=(a=this.rainFrac)?a:0}),w=x+P.cloudBaseOff,M=this.buildBodyPath({nodes:y.nodes,center:w,halfExtent:P.cloudMaxPx,maxWeight:m,vertical:!1,alongFn:v,collapsed:!1,sideSign:this.cloudSign});let S=null;const O=null==(u=null==(h=this.ctx)?void 0:h.morphTypeChange)?void 0:u.getInitialPathFor(p,f);return O?S=O:d.globals.previousPaths.length>0&&(S=this.getPreviousPath(p,f,M)),null==S&&(S=this.buildBodyPath({nodes:y.nodes,center:w,halfExtent:P.cloudMaxPx,maxWeight:m,vertical:!1,alongFn:v,collapsed:!0,sideSign:this.cloudSign})),{pathTo:M,pathFrom:S,x:s,y:e+=i,center:x,halfExtent:b,alongFn:v,maxWeight:m,density:y,cloudBase:w,cloudMaxPx:P.cloudMaxPx,rainCenter:x+P.rainCenterOff,rainHalfPx:P.rainHalfPx,boxPaths:this.buildBoxSubPaths({realIndex:p,j:f,boxCenter:x+P.boxCenterOff,boxHalfPx:P.boxHalfPx,alongFn:v,vertical:!1}),alongRepresentative:v(null!=(c=this.series[t.i][f])?c:0)}}getDensity(t,e){var i;const n=null==(i=this.w.violinData.seriesViolinDensity[t])?void 0:i[e];if(!n||!n.values.length)return{nodes:[],maxWeight:0};const s=n.values.map((t,e)=>e);s.sort((t,e)=>n.values[t]-n.values[e]);const r=[];let o=null;for(const t of s){const e=n.values[t];null!==o&&e===o||(r.push({v:e,w:n.weights[t]}),o=e)}return{nodes:r,maxWeight:n.maxWeight}}effectiveMaxWeight(t){return"group"===this.normalize&&this.seriesMaxWeight>0?this.seriesMaxWeight:t.maxWeight}buildBodyPath({nodes:t,center:e,halfExtent:i,maxWeight:n,vertical:s,alongFn:r,collapsed:o,sideSign:l=0}){const a=new w(this.w);if(0===t.length){const t=r(0);return s?a.move(e,t)+a.line(e,t):a.move(t,e)+a.line(t,e)}const h=t=>{if(o||n<=0)return 0;const e=t/n*i*this.bandwidthScale;return Math.min(i,Math.max(0,e))},u=[],c=[];for(let i=0;i<t.length;i++){const n=r(t[i].v),o=h(t[i].w),a=0===l?e+o:e+l*o,d=0===l?e-o:e;s?(u.push([a,n]),c.push([d,n])):(u.push([n,a]),c.push([n,d]))}return c.reverse(),this.smoothSegment(u,s,!1)+this.smoothSegment(c,s,!0)+"z"}buildBoxSubPaths({realIndex:t,j:e,boxCenter:i,boxHalfPx:n,alongFn:s,vertical:r}){var o,l;const a=this.w;if(!this.boxShown||n<=0)return null;const h=null==(o=a.violinData.seriesViolinSummary[t])?void 0:o[e];if(!h)return null;const u=n*Math.min(1,Math.max(0,null!=(l=this.boxOptions.capWidth)?l:.5)),[c,d,p,f,g]=h.map(t=>s(t)),x=(t,e)=>{const n=new w(this.w),s=(t,e)=>r?[t,e]:[e,t],o=t=>t.map(([t,e],i)=>0===i?n.move(t,e):n.line(t,e)).join(""),l=i;return{whiskers:o([s(l,c),s(l,d)])+o([s(l,f),s(l,g)])+o([s(l-t,c),s(l+t,c)])+o([s(l-t,g),s(l+t,g)]),box:o([s(l-e,d),s(l+e,d),s(l+e,f),s(l-e,f)])+"z"+o([s(l-e,p),s(l+e,p)])}},b=x(u,n),y=x(0,0),m=(i,n)=>{let s=null;return a.globals.previousPaths.length>0&&(s=this.getPreviousPath(t,e,i)),null==s?n:s};return[{pathTo:b.whiskers,pathFrom:m(b.whiskers,y.whiskers),filled:!1},{pathTo:b.box,pathFrom:m(b.box,y.box),filled:!0}]}smoothSegment(t,e,i){const n=new w(this.w),s=t[0];let r=i?n.line(s[0],s[1]):n.move(s[0],s[1]);if(t.length<3||!this.strictlyMonotonic(t,e)){for(let e=1;e<t.length;e++)r+=n.line(t[e][0],t[e][1]);return r}const o=t.map(([t,i])=>e?[i,t]:[t,i]),l=O.points(o);return r+=(t=>{let e="";for(let i=0;i<t.length;i++){const n=t[i],s=n.length;s>4?(e+=`C${n[0]}, ${n[1]}`,e+=`, ${n[2]}, ${n[3]}`,e+=`, ${n[4]}, ${n[5]}`):s>2&&(e+=`S${n[0]}, ${n[1]}`,e+=`, ${n[2]}, ${n[3]}`)}return e})(e?l.map(z):l),r}strictlyMonotonic(t,e){const i=e?1:0;for(let e=1;e<t.length;e++)if(t[e][i]===t[e-1][i])return!1;return!0}buildPointsSubPath({realIndex:t,j:e,center:i,halfExtent:n,alongFn:s,density:r,maxWeight:o,cloudBase:l,cloudMaxPx:a,rainCenter:h,rainHalfPx:u}){var c;const d=0!==this.rainSign,p=d?h:0!==this.cloudSign?l:i,f=d?u:0!==this.cloudSign?a:n;return function({w:t,points:e,seedA:i,seedB:n,center:s,halfExtent:r,alongFn:o,isHorizontal:l,options:a,clampAt:h,sideSign:u}){const c=a;if(!c||!1===c.show)return[];if(!e||!e.length)return[];const d=c.maxPoints||3e3,p=e.length>d?Math.ceil(e.length/d):1,f=null!=c.size?c.size:2.5,g=r*(null!=c.jitter?c.jitter:.5),x=!1!==c.constrainToViolin&&"function"==typeof h,b="square"===c.shape,y=c.colorScale,m=y&&Array.isArray(y.colors)&&y.colors.length>0,v=m?Math.max(2,y.steps||24):1,P=m&&null!=y.min?y.min:t.globals.minY,w=(m&&null!=y.max?y.max:t.globals.maxY)-P||1,M=m?new Array(v).fill(""):[""];for(let t=0;t<e.length;t+=p){const r=e[t],a=o(r);let c=2*(H(7919*i+100003*n+t)-.5)*g;if(x){const t=h(r);c>t&&(c=t),c<-t&&(c=-t)}u&&(c=Math.abs(c)*u);const d=l?a:s+c,p=l?s+c:a,y=b?I(d,p,f):j(d,p,f);if(m){let t=(r-P)/w;t<0&&(t=0),t>1&&(t=1),M[Math.round(t*(v-1))]+=y}else M[0]+=y}if(!m)return M[0]?[{fill:null,d:M[0]}]:[];const S=[];for(let t=0;t<v;t++)M[t]&&S.push({fill:C(y.colors,t/(v-1)),d:M[t]});return S}({w:this.w,points:null==(c=this.w.violinData.seriesViolinPoints[t])?void 0:c[e],seedA:t,seedB:e,center:p,halfExtent:f,alongFn:s,isHorizontal:this.isHorizontal,options:this.pointsOptions,clampAt:d?null:t=>this.halfWidthAtValue(t,r,f,o),sideSign:d?0:this.cloudSign})}halfWidthAtValue(t,e,i,n){const{nodes:s}=e,r=null!=n?n:e.maxWeight;if(!s.length||r<=0)return 0;const o=t=>Math.min(i,t/r*i*this.bandwidthScale);if(t<=s[0].v)return o(s[0].w);if(t>=s[s.length-1].v)return o(s[s.length-1].w);for(let e=1;e<s.length;e++)if(t<=s[e].v){const i=s[e-1],n=s[e],r=n.v===i.v?0:(t-i.v)/(n.v-i.v);return o(i.w+(n.w-i.w)*r)}return 0}logVal(t,e){return this.coreUtils.getLogValAtSeriesIndex(t,e)}}function z(t){const e=[];for(let i=0;i<t.length;i+=2)e.push(t[i+1],t[i]);return e}function D(t){return"right"===t||"bottom"===t?1:"left"===t||"top"===t?-1:0}function k(t,e){let i=e;if("string"==typeof t&&t.trim().endsWith("%")){const e=parseFloat(t);isFinite(e)&&(i=e/100)}else"number"==typeof t&&isFinite(t)&&(i=t);return Math.min(.5,Math.max(0,i))}function B({halfExtent:t,cloudSign:e,rainSign:i,boxFrac:n,rainFrac:s}){const r=n*t,o=0===i?t:s*t,l=0===i?0:i*(t-o);if(0===e)return{cloudBaseOff:0,cloudMaxPx:t,boxCenterOff:0,boxHalfPx:r,rainCenterOff:l,rainHalfPx:o};const a=0===i?0:s,h=2*Math.max(0,1-a-n)*t,u=e*(t-h);return{cloudBaseOff:u,cloudMaxPx:h,boxCenterOff:u-e*r,boxHalfPx:r,rainCenterOff:l,rainHalfPx:o}}u.default.use({violin:_}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>u.default});
5
+ "use strict";var t=Object.defineProperty,e=Object.defineProperties,i=Object.getOwnPropertyDescriptors,n=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,o=(e,i,n)=>i in e?t(e,i,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[i]=n,l=(t,e)=>{for(var i in e||(e={}))s.call(e,i)&&o(t,i,e[i]);if(n)for(var i of n(e))r.call(e,i)&&o(t,i,e[i]);return t},a=(t,n)=>e(t,i(n));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});function h(t){if(t&&t.__esModule)return t;const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t)for(const i in t)if("default"!==i){const n=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,n.get?n:{enumerable:!0,get:()=>t[i]})}return e.default=t,Object.freeze(e)}const u=h(require("apexcharts/core")),c="__apexcharts_series_transforms__";globalThis[c]||(globalThis[c]={});const d=u.__apex_Utils;function p(t,e){const i=t.length;if(0===i)return NaN;if(1===i)return t[0];const n=(i-1)*e,s=Math.floor(n),r=Math.ceil(n);return s===r?t[s]:t[s]+(t[r]-t[s])*(n-s)}function f(t,e={}){if(!Array.isArray(t)||0===t.length)return null;const i=t.slice().sort((t,e)=>t-e),n=i.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 i=0;for(let n=0;n<e;n++)i+=t[n];const n=i/e;let s=0;for(let i=0;i<e;i++){const e=t[i]-n;s+=e*e}return Math.sqrt(s/e)}(i),e=p(i,.75)-p(i,.25);s=.9*(e>0?Math.min(t,e/1.349):t)*Math.pow(n,-.2)}if(!isFinite(s)||s<=0){const t=i[0],e=Math.abs(t)>0?.001*Math.abs(t):.001;return{density:[[t-e,0],[t,1],[t+e,0]],bandwidth:e}}const r=Math.max(8,Math.floor(e.resolution||64)),o=i[0]-2*s,l=(i[n-1]+2*s-o)/(r-1),a=1/(n*s*Math.sqrt(2*Math.PI)),h=[];for(let t=0;t<r;t++){const e=o+t*l;let r=0;for(let t=0;t<n;t++){const n=(e-i[t])/s;r+=Math.exp(-.5*n*n)}h.push([e,r*a])}return{density:h,bandwidth:s}}function x(t,e){var i,n;const s=null!=(i=t.statsDerived)?i:t.statsDerived={};return null!=(n=s[e])?n:s[e]=new Map}function g(t,e,i){const n=t.get(e);if(!n||!Array.isArray(i)||n.length!==i.length)return!1;for(let t=0;t<i.length;t++){const e=n[t],s=i[t];if(e!==s&&(!Array.isArray(e)||!Array.isArray(s)||e[0]!==s[0]||e[1]!==s[1]))return!1}return!0}var b,y;b="raincloud","function"==typeof(y=function(t,e){var i,n;if(!Array.isArray(t))return t;const s=(null==(i=e.config.plotOptions)?void 0:i.violin)||{},r=s.kde||{},o=(null==(n=s.box)?void 0:n.whiskers)||"minmax",h=x(e,"raincloudDensity"),u=x(e,"raincloudSummary");return t.map((t,e)=>{if(!Array.isArray(null==t?void 0:t.data)||t.type&&"raincloud"!==t.type&&"violin"!==t.type)return t;let i=!1;const n=t.data.map((t,n)=>{const s=e+":"+n,c=(null==t?void 0:t.y)&&"object"==typeof t.y&&!Array.isArray(t.y)?t.y:{},x=!Array.isArray(c.density)||!c.density.length||g(h,s,c.density),b=!Array.isArray(c.summary)||5!==c.summary.length||g(u,s,c.summary);if(!x&&!b)return t;const y=function(t){var e;if(!t||"object"!=typeof t||Array.isArray(t))return null;let i=null;if(Array.isArray(t.points)?i=t.points:Array.isArray(null==(e=t.y)?void 0:e.points)?i=t.y.points:Array.isArray(t.y)&&"number"==typeof t.y[0]&&(i=t.y),!i)return null;const n=[];for(let t=0;t<i.length;t++){const e=d.parseNumber(i[t]);null!==e&&isFinite(e)&&n.push(e)}return n.length?n:null}(t);if(!y)return t;const v=l({},c);if(x){const e=f(y,{bandwidth:r.bandwidth,resolution:r.resolution});if(!e)return t;v.density=e.density,v.points=y,h.set(s,e.density)}if(b){const t=function(t,e={}){if(!Array.isArray(t)||0===t.length)return null;const i=t.slice().sort((t,e)=>t-e),n=p(i,.25),s=p(i,.5),r=p(i,.75),o=r-n;let l=i[0],a=i[i.length-1],h=[];if("tukey"===e.whiskers&&o>0){const t=n-1.5*o,e=r+1.5*o;let s=0;for(;s<i.length&&i[s]<t;)s++;let u=i.length-1;for(;u>=0&&i[u]>e;)u--;s<=u&&(l=i[s],a=i[u],h=i.slice(0,s).concat(i.slice(u+1)))}return{summary:[l,n,s,r,a],outliers:h,iqr:o}}(y,{whiskers:o});t&&(v.summary=t.summary,u.set(s,t.summary))}return i=!0,a(l({},t),{y:v})});return i?a(l({},t),{data:n}):t})})?globalThis[c][b]=y:console.warn(`ApexCharts: registerSeriesTransform("${b}") expects a function (series, w) => series.`);const v=u.__apex_CoreUtils,m=u.__apex_ChartFactory_getChartClass,P=u.__apex_Fill,w=u.__apex_Graphics,M=u.__apex_Series;function S(t,e,i){var n,s,r,o;if(null==(n=t.axisFlags)?void 0:n.isXNumeric){const n=null==(r=null==(s=t.seriesData)?void 0:s.seriesX)?void 0:r[e];if(n&&n.length&&null!=n[i])return"x:"+n[i]}const l=null==(o=t.globals.labels)?void 0:o[i];return null!=l&&""!==String(l)?"c:"+(Array.isArray(l)?l.join(" "):String(l)):"j:"+i}const O=t=>{const e=function(t){const e=[];let i=t[0],n=t[1],s=e[0]=C(i,n),r=1;for(let o=t.length-1;r<o;r++)i=n,n=t[r+1],e[r]=.5*(s+(s=C(i,n)));return e[r]=s,e}(t),i=t.length-1,n=[];let s,r,o,l;for(let n=0;n<i;n++)o=C(t[n],t[n+1]),Math.abs(o)<1e-6?e[n]=e[n+1]=0:(s=e[n]/o,r=e[n+1]/o,l=s*s+r*r,l>9&&(l=3*o/Math.sqrt(l),e[n]=l*s,e[n+1]=l*r));for(let s=0;s<=i;s++)l=(t[Math.min(i,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+e[s]*e[s])),n.push([l||0,e[s]*l||0]);return n},F={points(t){const e=O(t),i=t[1],n=t[0],s=[],r=e[1],o=e[0];s.push(n,[n[0]+o[0],n[1]+o[1],i[0]-r[0],i[1]-r[1],i[0],i[1]]);for(let i=2,n=e.length;i<n;i++){const n=t[i],r=e[i];s.push([n[0]-r[0],n[1]-r[1],n[0],n[1]])}return s},slice(t,e,i){const n=t.slice(e,i);if(e){if(i-e>1&&n[1].length<6){const t=n[0].length;n[1]=[2*n[0][t-2]-n[0][t-4],2*n[0][t-1]-n[0][t-3]].concat(n[1])}n[0]=n[0].slice(-2)}return n}};function C(t,e){return(e[1]-t[1])/(e[0]-t[0])}function W({graphics:t,w:e,elSeries:i,pointsByCat:n,options:s,distributed:r,realIndex:o,wrapClass:l,pointClass:a}){if(!s||!1===s.show||!n.length)return;const h=null!=s.opacity?s.opacity:.9,u=null!=s.strokeColor?s.strokeColor:"#fff",c=null!=s.strokeWidth?s.strokeWidth:1,d=e.config.chart.animations.enabled&&!e.globals.resized&&!e.globals.dataChanged,p=t.group({class:d?`${l} apexcharts-element-hidden`:l});d&&e.globals.delayedElements.push({el:p.node}),n.forEach(({groups:i,j:n})=>{const l=r?e.globals.colors[n]:e.globals.colors[o],d=s.fillColor,f="series"===d?l:"series-dark"===d?A(l,.45):d||A(l,.45);i.forEach(i=>{const s=t.drawPath({d:i.d,fill:null!=i.fill?i.fill:f,stroke:c>0?u:"none",strokeWidth:c,fillOpacity:h,classes:a});s.attr("data:realIndex",o),s.attr("j",n),s.attr("clip-path",`url(#gridRectBarMask${e.globals.cuid})`),s.node.style.pointerEvents="none",p.add(s)})}),i.add(p)}function A(t,e){const i=d.parseColor(t)||d.parseColor(d.resolveColor(t));if(!i)return t;const n=Math.max(0,1-e);return`rgb(${Math.round(i[0]*n)},${Math.round(i[1]*n)},${Math.round(i[2]*n)})`}function j(t,e){if(!t.length)return"#000";if(1===t.length)return t[0];const i=Math.max(0,Math.min(1,e))*(t.length-1),n=Math.floor(i),s=i-n,r=d.parseHex(t[n])||[0,0,0],o=d.parseHex(t[Math.min(n+1,t.length-1)])||r,l=(t,e)=>Math.round(t+(e-t)*s);return`rgb(${l(r[0],o[0])},${l(r[1],o[1])},${l(r[2],o[2])})`}function H(t){let e=(2654435769^t)>>>0;return e=Math.imul(e^e>>>16,73244475),e=Math.imul(e^e>>>16,73244475),((e^e>>>16)>>>0)/4294967296}function I(t,e,i){return`M ${t-i} ${e} a ${i} ${i} 0 1 0 ${2*i} 0 a ${i} ${i} 0 1 0 ${-2*i} 0 `}function $(t,e,i){return`M ${t-i} ${e-i} h ${2*i} v ${2*i} h ${-2*i} z `}const _=class{};class D extends _{constructor(t,e,i){!function(){const t=m("bar");if(Object.getPrototypeOf(D)===t)return;Object.setPrototypeOf(D,t),Object.setPrototypeOf(D.prototype,t.prototype)}(),super(t,e,i)}draw(t,e,i){var n,s,r;const o=this.w,l=new w(this.w),a=new P(this.w);this.violinOptions=o.config.plotOptions.violin,this.pointsOptions=this.violinOptions.points,this.jx=function(t,e){let i=1/0,n=-1/0;return t.slice(0,e.seriesData.series.length).flat(2).forEach(t=>{t===+t&&(t<i&&(i=t),t>n&&(n=t))}),[i,n]}(o.violinData.seriesViolinPoints,o),this.boxOptions=this.violinOptions.box||{},this.cloudSign=B(this.violinOptions.side),this.rainSign=!1===this.pointsOptions.show?0:B(this.pointsOptions.position),this.boxShown=!0===this.boxOptions.show,this.boxFrac=this.boxShown?E(this.boxOptions.width,.15):0,this.rainFrac=E(this.pointsOptions.laneWidth,.4),this.bandwidthScale=this.violinOptions.bandwidthScale||1,this.normalize=this.violinOptions.normalize||"individual",this.distributed=o.config.plotOptions.bar.distributed,this.isHorizontal=o.config.plotOptions.bar.horizontal,this.coreUtils=new v(this.w),t=this.coreUtils.getLogSeries(t),this.series=t,this.yRatio=this.coreUtils.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t,i);const h=l.group({class:"apexcharts-violin-series apexcharts-plot-series"});for(let e=0;e<t.length;e++){let u,c;const p=[],f=[],x=o.globals.comboCharts?i[e]:e,{columnGroupIndex:g}=this.barHelpers.getGroupIndex(x),b=l.group({class:"apexcharts-series",seriesName:d.escapeString(o.seriesData.seriesNames[x]),rel:e+1,"data:realIndex":x});M.addCollapsedClassToSeries(this.w,b,x),t[e].length>0&&(this.visibleI=this.visibleI+1);const y=this.setSeriesAxis(x),v=this.barHelpers.initialPositions(x),{y:m,barHeight:P,yDivision:w,zeroW:S,x:O,barWidth:F,xDivision:C,zeroH:A}=v;c=m,u=O,f.push(u+(null!=F?F:0)/2);const j=l.group({class:"apexcharts-datalabels","data:realIndex":x});if(this.seriesMaxWeight=0,"group"===this.normalize){(o.violinData.seriesViolinDensity[x]||[]).forEach(t=>{t&&t.maxWeight>this.seriesMaxWeight&&(this.seriesMaxWeight=t.maxWeight)})}const H=[];for(let i=0;i<o.globals.dataPoints;i++){const l=this.barHelpers.getStrokeWidth(e,i,x),h=this.isHorizontal?this.drawHorizontalViolin({indexes:{i:e,j:i,realIndex:x,translationsIndex:y},y:c,yDivision:w,barHeight:P,zeroW:S}):this.drawVerticalViolin({indexes:{i:e,j:i,realIndex:x,translationsIndex:y},x:u,xDivision:C,barWidth:F,zeroH:A});u=h.x,c=h.y,i>0&&f.push(h.center),p.push(h.alongRepresentative);const d=this.buildPointsSubPath({realIndex:x,j:i,center:h.center,halfExtent:h.halfExtent,alongFn:h.alongFn,density:h.density,maxWeight:h.maxWeight,cloudBase:h.cloudBase,cloudMaxPx:h.cloudMaxPx,rainCenter:h.rainCenter,rainHalfPx:h.rainHalfPx});d.length&&H.push({groups:d,j:i});const v=a.fillPath({seriesNumber:this.distributed?i:x,dataPointIndex:i,color:this.distributed?o.globals.colors[i]:void 0,value:t[e][i]});this.renderSeries({realIndex:x,pathFill:v,lineFill:o.globals.stroke.colors[x],j:i,i:e,pathFrom:h.pathFrom,pathTo:h.pathTo,strokeWidth:l,elSeries:b,x:u,y:c,series:t,columnGroupIndex:g,barHeight:P,barWidth:F,elDataLabelsWrap:j,visibleSeries:this.visibleI,type:"violin"});const m=b.node.querySelector(`path.apexcharts-violin-area[j='${i}']`);if(m&&isFinite(h.alongRepresentative)&&m.setAttribute(this.isHorizontal?"cx":"cy",`${h.alongRepresentative}`),m&&m.setAttribute("data:center",`${h.center}`),h.boxPaths){const s=null!=(n=this.boxOptions.strokeWidth)?n:1;h.boxPaths.forEach(n=>{this.renderSeries({realIndex:x,pathFill:n.filled?this.boxOptions.fillColor||v:"none",lineFill:o.globals.stroke.colors[x],j:i,i:e,pathFrom:n.pathFrom,pathTo:n.pathTo,strokeWidth:s,elSeries:b,x:u,y:c,series:t,columnGroupIndex:g,barHeight:P,barWidth:F,elDataLabelsWrap:j,visibleSeries:this.visibleI,type:"violin",classes:"apexcharts-raincloud-box",noLabel:!0})})}const M=!m&&(null==(r=null==(s=o.globals.barCanvasCoords)?void 0:s[x])?void 0:r[i]);M&&isFinite(h.alongRepresentative)&&(this.isHorizontal?M.cx=h.alongRepresentative:(M.bodyCx=M.cx,M.cx=h.center,M.cy=h.alongRepresentative))}W({graphics:l,w:o,elSeries:b,pointsByCat:H,options:this.pointsOptions,distributed:this.distributed,realIndex:x,wrapClass:"apexcharts-violin-points-wrap",pointClass:"apexcharts-violin-points"}),o.globals.seriesXvalues[x]=f,o.globals.seriesYvalues[x]=p,h.add(b)}return h}drawVerticalViolin({indexes:t,x:e,xDivision:i,barWidth:n,zeroH:s}){var r,o,l,a,h,u,c;const d=this.w,{realIndex:p,j:f,translationsIndex:x}=t,g=this.yRatio[x]*(this.isReversed?-1:1);let b=e+n*this.visibleI;d.axisFlags.isXNumeric&&({x:e,barXPosition:b}=this.getBarXForNumericXAxis({x:e,barWidth:n,realIndex:p,j:f}));const y=b+n/2,v=n/2,m=this.getDensity(p,f),P=this.effectiveMaxWeight(m),w=t=>s-this.logVal(t,p)/g,M=k({halfExtent:v,cloudSign:null!=(r=this.cloudSign)?r:0,rainSign:null!=(o=this.rainSign)?o:0,boxFrac:null!=(l=this.boxFrac)?l:0,rainFrac:null!=(a=this.rainFrac)?a:0}),S=y+M.cloudBaseOff,O=this.buildBodyPath({nodes:m.nodes,center:S,halfExtent:M.cloudMaxPx,maxWeight:P,vertical:!0,alongFn:w,collapsed:!1,sideSign:this.cloudSign});let F=null;const C=null==(u=null==(h=this.ctx)?void 0:h.morphTypeChange)?void 0:u.getInitialPathFor(p,f);return C?F=C:d.globals.previousPaths.length>0&&(F=this._prevBody(p,f,O)),null==F&&(F=this.buildBodyPath({nodes:m.nodes,center:S,halfExtent:M.cloudMaxPx,maxWeight:P,vertical:!0,alongFn:w,collapsed:!0,sideSign:this.cloudSign})),d.axisFlags.isXNumeric||(e+=i),{pathTo:O,pathFrom:F,x:e,y:s,center:y,halfExtent:v,alongFn:w,density:m,maxWeight:P,cloudBase:S,cloudMaxPx:M.cloudMaxPx,rainCenter:y+M.rainCenterOff,rainHalfPx:M.rainHalfPx,boxPaths:this.buildBoxSubPaths({realIndex:p,j:f,boxCenter:y+M.boxCenterOff,boxHalfPx:M.boxHalfPx,alongFn:w,vertical:!0}),alongRepresentative:w(null!=(c=d.seriesData.series[p][f])?c:0)}}drawHorizontalViolin({indexes:t,y:e,yDivision:i,barHeight:n,zeroW:s}){var r,o,l,a,h,u,c;const d=this.w,{realIndex:p,j:f}=t,x=this.invertedYRatio*(this.isReversed?-1:1),g=e+n*this.visibleI+n/2,b=n/2,y=this.getDensity(p,f),v=this.effectiveMaxWeight(y),m=t=>s+this.logVal(t,p)/x,P=k({halfExtent:b,cloudSign:null!=(r=this.cloudSign)?r:0,rainSign:null!=(o=this.rainSign)?o:0,boxFrac:null!=(l=this.boxFrac)?l:0,rainFrac:null!=(a=this.rainFrac)?a:0}),w=g+P.cloudBaseOff,M=this.buildBodyPath({nodes:y.nodes,center:w,halfExtent:P.cloudMaxPx,maxWeight:v,vertical:!1,alongFn:m,collapsed:!1,sideSign:this.cloudSign});let S=null;const O=null==(u=null==(h=this.ctx)?void 0:h.morphTypeChange)?void 0:u.getInitialPathFor(p,f);return O?S=O:d.globals.previousPaths.length>0&&(S=this._prevBody(p,f,M)),null==S&&(S=this.buildBodyPath({nodes:y.nodes,center:w,halfExtent:P.cloudMaxPx,maxWeight:v,vertical:!1,alongFn:m,collapsed:!0,sideSign:this.cloudSign})),{pathTo:M,pathFrom:S,x:s,y:e+=i,center:g,halfExtent:b,alongFn:m,maxWeight:v,density:y,cloudBase:w,cloudMaxPx:P.cloudMaxPx,rainCenter:g+P.rainCenterOff,rainHalfPx:P.rainHalfPx,boxPaths:this.buildBoxSubPaths({realIndex:p,j:f,boxCenter:g+P.boxCenterOff,boxHalfPx:P.boxHalfPx,alongFn:m,vertical:!1}),alongRepresentative:m(null!=(c=d.seriesData.series[p][f])?c:0)}}getDensity(t,e){var i;const n=null==(i=this.w.violinData.seriesViolinDensity[t])?void 0:i[e];if(!n||!n.values.length)return{nodes:[],maxWeight:0};const s=n.values.map((t,e)=>e);s.sort((t,e)=>n.values[t]-n.values[e]);const r=[];let o=null;for(const t of s){const e=n.values[t];null!==o&&e===o||(r.push({v:e,w:n.weights[t]}),o=e)}return{nodes:r,maxWeight:n.maxWeight}}effectiveMaxWeight(t){return"group"===this.normalize&&this.seriesMaxWeight>0?this.seriesMaxWeight:t.maxWeight}buildBodyPath({nodes:t,center:e,halfExtent:i,maxWeight:n,vertical:s,alongFn:r,collapsed:o,sideSign:l=0}){const a=new w(this.w);if(0===t.length){const t=r(0);return s?a.move(e,t)+a.line(e,t):a.move(t,e)+a.line(t,e)}const h=t=>{if(o||n<=0)return 0;const e=t/n*i*this.bandwidthScale;return Math.min(i,Math.max(0,e))},u=[],c=[];for(let i=0;i<t.length;i++){const n=r(t[i].v),o=h(t[i].w),a=0===l?e+o:e+l*o,d=0===l?e-o:e;s?(u.push([a,n]),c.push([d,n])):(u.push([n,a]),c.push([n,d]))}return c.reverse(),this.smoothSegment(u,s,!1)+this.smoothSegment(c,s,!0)+"z"}_prevBody(t,e,i){var n,s;const r=null==(s=null==(n=this._prevKeyedPaths(t))?void 0:n.get(S(this.w,t,e)))?void 0:s.d;return r&&D.pathCommandCount(r)===D.pathCommandCount(i)?r:null}buildBoxSubPaths({realIndex:t,j:e,boxCenter:i,boxHalfPx:n,alongFn:s,vertical:r}){var o,l,a;const h=this.w;if(!this.boxShown||n<=0)return null;const u=null==(o=h.violinData.seriesViolinSummary[t])?void 0:o[e];if(!u)return null;const c=n*Math.min(1,Math.max(0,null!=(l=this.boxOptions.capWidth)?l:.5)),[d,p,f,x,g]=u.map(t=>s(t)),b=(t,e)=>{const n=new w(this.w),s=(t,e)=>r?[t,e]:[e,t],o=t=>t.map(([t,e],i)=>0===i?n.move(t,e):n.line(t,e)).join(""),l=i;return{whiskers:o([s(l,d),s(l,p)])+o([s(l,x),s(l,g)])+o([s(l-t,d),s(l+t,d)])+o([s(l-t,g),s(l+t,g)]),box:o([s(l-e,p),s(l+e,p),s(l+e,x),s(l-e,x)])+"z"+o([s(l-e,f),s(l+e,f)])}},y=b(c,n),v=b(0,0),m=h.globals.previousPaths.length?this._prevKeyedPaths(t):null,P=(null==(a=null==m?void 0:m.get(S(h,t,e)))?void 0:a.box)||[];return[{pathTo:y.whiskers,pathFrom:P[0]||v.whiskers,filled:!1},{pathTo:y.box,pathFrom:P[1]||v.box,filled:!0}]}smoothSegment(t,e,i){const n=new w(this.w),s=t[0];let r=i?n.line(s[0],s[1]):n.move(s[0],s[1]);if(t.length<3||!this.strictlyMonotonic(t,e)){for(let e=1;e<t.length;e++)r+=n.line(t[e][0],t[e][1]);return r}const o=t.map(([t,i])=>e?[i,t]:[t,i]),l=F.points(o);return r+=(t=>{let e="";for(let i=0;i<t.length;i++){const n=t[i],s=n.length;s>4?(e+=`C${n[0]}, ${n[1]}`,e+=`, ${n[2]}, ${n[3]}`,e+=`, ${n[4]}, ${n[5]}`):s>2&&(e+=`S${n[0]}, ${n[1]}`,e+=`, ${n[2]}, ${n[3]}`)}return e})(e?l.map(z):l),r}strictlyMonotonic(t,e){const i=e?1:0;for(let e=1;e<t.length;e++)if(t[e][i]===t[e-1][i])return!1;return!0}buildPointsSubPath({realIndex:t,j:e,center:i,halfExtent:n,alongFn:s,density:r,maxWeight:o,cloudBase:l,cloudMaxPx:a,rainCenter:h,rainHalfPx:u}){var c;const d=0!==this.rainSign,p=d?h:0!==this.cloudSign?l:i,f=d?u:0!==this.cloudSign?a:n;return function({points:t,extent:e,seedA:i,seedB:n,center:s,halfExtent:r,alongFn:o,isHorizontal:l,options:a,clampAt:h,sideSign:u}){var c,d;const p=a;if(!p||!1===p.show)return[];if(!t||!t.length)return[];const f=p.maxPoints||3e3,x=t.length>f?Math.ceil(t.length/f):1,g=null!=p.size?p.size:2.5,b=r*(null!=p.jitter?p.jitter:.5),y=!1!==p.constrainToViolin&&"function"==typeof h,v="square"===p.shape,m=p.colorScale,P=m&&Array.isArray(m.colors)&&m.colors.length>0,w=P?Math.max(2,m.steps||24):1,M=null!=(c=null==m?void 0:m.min)?c:e[0],S=(null!=(d=null==m?void 0:m.max)?d:e[1])-M||1,O=P?new Array(w).fill(""):[""];for(let e=0;e<t.length;e+=x){const r=t[e],a=o(r);let c=2*(H(7919*i+100003*n+e)-.5)*b;if(y){const t=h(r);c>t&&(c=t),c<-t&&(c=-t)}u&&(c=Math.abs(c)*u);const d=l?a:s+c,p=l?s+c:a,f=v?$(d,p,g):I(d,p,g);if(P){let t=(r-M)/S;t<0&&(t=0),t>1&&(t=1),O[Math.round(t*(w-1))]+=f}else O[0]+=f}if(!P)return O[0]?[{fill:null,d:O[0]}]:[];const F=[];for(let t=0;t<w;t++)O[t]&&F.push({fill:j(m.colors,t/(w-1)),d:O[t]});return F}({points:null==(c=this.w.violinData.seriesViolinPoints[t])?void 0:c[e],extent:this.jx,seedA:t,seedB:e,center:p,halfExtent:f,alongFn:s,isHorizontal:this.isHorizontal,options:this.pointsOptions,clampAt:d?null:t=>this.halfWidthAtValue(t,r,f,o),sideSign:d?0:this.cloudSign})}halfWidthAtValue(t,e,i,n){const{nodes:s}=e,r=null!=n?n:e.maxWeight;if(!s.length||r<=0)return 0;const o=t=>Math.min(i,t/r*i*this.bandwidthScale);if(t<=s[0].v)return o(s[0].w);if(t>=s[s.length-1].v)return o(s[s.length-1].w);for(let e=1;e<s.length;e++)if(t<=s[e].v){const i=s[e-1],n=s[e],r=n.v===i.v?0:(t-i.v)/(n.v-i.v);return o(i.w+(n.w-i.w)*r)}return 0}logVal(t,e){return this.coreUtils.getLogValAtSeriesIndex(t,e)}}function z(t){const e=[];for(let i=0;i<t.length;i+=2)e.push(t[i+1],t[i]);return e}function B(t){return"right"===t||"bottom"===t?1:"left"===t||"top"===t?-1:0}function E(t,e){let i=e;if("string"==typeof t&&t.trim().endsWith("%")){const e=parseFloat(t);isFinite(e)&&(i=e/100)}else"number"==typeof t&&isFinite(t)&&(i=t);return Math.min(.5,Math.max(0,i))}function k({halfExtent:t,cloudSign:e,rainSign:i,boxFrac:n,rainFrac:s}){const r=n*t,o=0===i?t:s*t,l=0===i?0:i*(t-o);if(0===e)return{cloudBaseOff:0,cloudMaxPx:t,boxCenterOff:0,boxHalfPx:r,rainCenterOff:l,rainHalfPx:o};const a=0===i?0:s,h=2*Math.max(0,1-a-n)*t,u=e*(t-h);return{cloudBaseOff:u,cloudMaxPx:h,boxCenterOff:u-e*r,boxHalfPx:r,rainCenterOff:l,rainHalfPx:o}}u.default.use({violin:D}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>u.default});