highcharts 13.0.2 → 13.1.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 (1166) hide show
  1. package/bower.json +1 -1
  2. package/css/highcharts.css +6 -2
  3. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +10 -6
  4. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +2 -1
  5. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +25 -1
  6. package/es-modules/Accessibility/KeyboardNavigation.js +1 -1
  7. package/es-modules/Accessibility/Utils/HTMLUtilities.js +13 -3
  8. package/es-modules/Core/Animation/AnimationUtilities.js +7 -2
  9. package/es-modules/Core/Animation/Fx.js +1 -0
  10. package/es-modules/Core/Axis/Axis.js +181 -211
  11. package/es-modules/Core/Axis/Axis3DComposition.js +13 -15
  12. package/es-modules/Core/Axis/AxisDefaults.js +9 -8
  13. package/es-modules/Core/Axis/BrokenAxis.js +5 -4
  14. package/es-modules/Core/Axis/Color/ColorAxis.js +66 -54
  15. package/es-modules/Core/Axis/Color/ColorAxisComposition.js +3 -0
  16. package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +6 -4
  17. package/es-modules/Core/Axis/DateTimeAxis.js +4 -3
  18. package/es-modules/Core/Axis/GridAxis.js +17 -13
  19. package/es-modules/Core/Axis/LogarithmicAxis.js +4 -3
  20. package/es-modules/Core/Axis/NavigatorAxisComposition.js +3 -4
  21. package/es-modules/Core/Axis/OrdinalAxis.js +0 -15
  22. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +135 -72
  23. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js +72 -124
  24. package/es-modules/Core/Axis/RadialAxis.js +50 -7
  25. package/es-modules/Core/Axis/ScrollbarAxis.js +3 -0
  26. package/es-modules/Core/Axis/Stacking/StackItem.js +49 -75
  27. package/es-modules/Core/Axis/Stacking/StackingAxis.js +34 -22
  28. package/es-modules/Core/Axis/Tick.js +95 -92
  29. package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +9 -13
  30. package/es-modules/Core/Axis/WaterfallAxis.js +1 -1
  31. package/es-modules/Core/Chart/Chart.js +13 -4
  32. package/es-modules/Core/Chart/StockChart.js +20 -26
  33. package/es-modules/Core/Defaults.js +18 -0
  34. package/es-modules/Core/Globals.js +9 -7
  35. package/es-modules/Core/Pointer.js +7 -8
  36. package/es-modules/Core/Renderer/HTML/AST.js +18 -11
  37. package/es-modules/Core/Renderer/HTML/HTMLElement.js +5 -1
  38. package/es-modules/Core/Renderer/SVG/SVGElement.js +1 -0
  39. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +1 -1
  40. package/es-modules/Core/Renderer/SVG/Symbols.js +1 -1
  41. package/es-modules/Core/Renderer/SVG/TextBuilder.js +6 -2
  42. package/es-modules/Core/Series/OverlappingDataLabels.js +41 -32
  43. package/es-modules/Core/Series/Point.js +14 -11
  44. package/es-modules/Core/Series/Series.js +21 -10
  45. package/es-modules/Core/Tooltip.js +35 -40
  46. package/es-modules/Data/DataCursor.js +3 -2
  47. package/es-modules/Data/DataTable.js +21 -2
  48. package/es-modules/Data/DataTableCore.js +28 -4
  49. package/es-modules/Data/Formula/FormulaParser.js +30 -10
  50. package/es-modules/Extensions/Annotations/Annotation.js +5 -7
  51. package/es-modules/Extensions/Annotations/AnnotationChart.js +2 -1
  52. package/es-modules/Extensions/Boost/BoostSeries.js +4 -13
  53. package/es-modules/Extensions/Breadcrumbs/Breadcrumbs.js +6 -4
  54. package/es-modules/Extensions/Breadcrumbs/BreadcrumbsDefaults.js +1 -1
  55. package/es-modules/Extensions/Data.js +4 -2
  56. package/es-modules/Extensions/DragPanes/DragPanes.js +6 -9
  57. package/es-modules/Extensions/Drilldown/Drilldown.js +9 -4
  58. package/es-modules/Extensions/ExportData/ExportData.js +24 -4
  59. package/es-modules/Extensions/Pane/Pane.js +1 -1
  60. package/es-modules/Extensions/ParallelCoordinates/ParallelAxis.js +5 -4
  61. package/es-modules/Extensions/StaticScale.js +13 -11
  62. package/es-modules/Series/Area/AreaSeriesDefaults.js +1 -1
  63. package/es-modules/Series/AreaRange/AreaRangeSeriesDefaults.js +1 -1
  64. package/es-modules/Series/AreaSpline/AreaSplineSeries.js +1 -1
  65. package/es-modules/Series/AreaSplineRange/AreaSplineRangeSeries.js +1 -1
  66. package/es-modules/Series/Bar/BarSeries.js +1 -1
  67. package/es-modules/Series/Bellcurve/BellcurveSeriesDefaults.js +1 -1
  68. package/es-modules/Series/BoxPlot/BoxPlotSeriesDefaults.js +1 -1
  69. package/es-modules/Series/Bubble/BubbleSeries.js +1 -1
  70. package/es-modules/Series/Bullet/BulletSeriesDefaults.js +1 -1
  71. package/es-modules/Series/Candlestick/CandlestickSeriesDefaults.js +1 -1
  72. package/es-modules/Series/Column/ColumnSeriesDefaults.js +6 -3
  73. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeriesDefaults.js +2 -3
  74. package/es-modules/Series/ColumnRange/ColumnRangeSeriesDefaults.js +1 -1
  75. package/es-modules/Series/Contour/ContourSeriesDefaults.js +12 -14
  76. package/es-modules/Series/ErrorBar/ErrorBarSeriesDefaults.js +1 -1
  77. package/es-modules/Series/Flags/FlagsPoint.js +4 -2
  78. package/es-modules/Series/Flags/FlagsPointOptions.js +12 -0
  79. package/es-modules/Series/Flags/FlagsSeries.js +8 -7
  80. package/es-modules/Series/Flags/FlagsSeriesDefaults.js +7 -7
  81. package/es-modules/Series/Flags/FlagsSeriesOptions.js +12 -0
  82. package/es-modules/Series/Flags/FlagsSymbols.js +5 -3
  83. package/es-modules/Series/Funnel/FunnelSeriesDefaults.js +1 -1
  84. package/es-modules/Series/Gauge/GaugeSeries.js +1 -1
  85. package/es-modules/Series/GeoHeatmap/GeoHeatmapSeries.js +1 -1
  86. package/es-modules/Series/HLC/HLCSeriesDefaults.js +1 -7
  87. package/es-modules/Series/Heatmap/HeatmapSeriesDefaults.js +1 -1
  88. package/es-modules/Series/HeikinAshi/HeikinAshiSeriesDefaults.js +1 -1
  89. package/es-modules/Series/Histogram/HistogramSeriesDefaults.js +1 -1
  90. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +1 -1
  91. package/es-modules/Series/Item/ItemSeriesDefaults.js +1 -1
  92. package/es-modules/Series/Line/LineSeries.js +0 -1
  93. package/es-modules/Series/Map/MapSeriesDefaults.js +1 -1
  94. package/es-modules/Series/MapBubble/MapBubbleSeries.js +0 -1
  95. package/es-modules/Series/MapLine/MapLineSeriesDefaults.js +1 -1
  96. package/es-modules/Series/MapPoint/MapPointSeriesDefaults.js +0 -1
  97. package/es-modules/Series/Networkgraph/ReingoldFruchtermanLayout.js +5 -5
  98. package/es-modules/Series/OHLC/OHLCSeriesDefaults.js +0 -1
  99. package/es-modules/Series/PackedBubble/PackedBubbleChart.js +18 -0
  100. package/es-modules/Series/PackedBubble/PackedBubbleDataLabelOptions.js +12 -0
  101. package/es-modules/Series/PackedBubble/PackedBubbleIntegration.js +3 -3
  102. package/es-modules/Series/PackedBubble/PackedBubbleLayout.js +2 -2
  103. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +1 -1
  104. package/es-modules/Series/PackedBubble/PackedBubblePointOptions.js +12 -0
  105. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +20 -20
  106. package/es-modules/Series/PackedBubble/PackedBubbleSeriesDefaults.js +2 -2
  107. package/es-modules/Series/PackedBubble/PackedBubbleSeriesOptions.js +12 -0
  108. package/es-modules/Series/ParetoSeries/ParetoPoint.js +17 -0
  109. package/es-modules/Series/ParetoSeries/ParetoPointOptions.js +12 -0
  110. package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -3
  111. package/es-modules/Series/ParetoSeries/ParetoSeriesDefaults.js +1 -1
  112. package/es-modules/Series/ParetoSeries/ParetoSeriesOptions.js +12 -0
  113. package/es-modules/Series/PathUtilities.js +3 -1
  114. package/es-modules/Series/Pictorial/PictorialPointOptions.js +12 -0
  115. package/es-modules/Series/Pictorial/PictorialSeries.js +5 -25
  116. package/es-modules/Series/Pictorial/PictorialSeriesDefaults.js +45 -0
  117. package/es-modules/Series/Pictorial/PictorialSeriesOptions.js +12 -0
  118. package/es-modules/Series/Pie/PieSeriesDefaults.js +1 -1
  119. package/es-modules/Series/Pie3D/Pie3DPoint.js +1 -1
  120. package/es-modules/Series/Pie3D/Pie3DSeries.js +6 -6
  121. package/es-modules/Series/PolarComposition.js +22 -21
  122. package/es-modules/Series/Polygon/PolygonPoint.js +17 -0
  123. package/es-modules/Series/Polygon/PolygonPointOptions.js +12 -0
  124. package/es-modules/Series/Polygon/PolygonSeriesDefaults.js +1 -1
  125. package/es-modules/Series/Polygon/PolygonSeriesOptions.js +12 -0
  126. package/es-modules/Series/Pyramid/PyramidPoint.js +19 -0
  127. package/es-modules/Series/Pyramid/PyramidPointOptions.js +14 -0
  128. package/es-modules/Series/Pyramid/PyramidSeries.js +1 -1
  129. package/es-modules/Series/Pyramid/PyramidSeriesDefaults.js +1 -1
  130. package/es-modules/Series/Pyramid/PyramidSeriesOptions.js +14 -0
  131. package/es-modules/Series/Pyramid3D/Pyramid3DPoint.js +19 -0
  132. package/es-modules/Series/Pyramid3D/Pyramid3DPointOptions.js +14 -0
  133. package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +1 -1
  134. package/es-modules/Series/Pyramid3D/Pyramid3DSeriesOptions.js +14 -0
  135. package/es-modules/Series/Renko/RenkoSeriesDefaults.js +1 -2
  136. package/es-modules/Series/Sankey/SankeySeriesDefaults.js +6 -7
  137. package/es-modules/Series/Scatter/ScatterSeriesDefaults.js +1 -1
  138. package/es-modules/Series/SolidGauge/SolidGaugeSeriesDefaults.js +1 -1
  139. package/es-modules/Series/Spline/SplineSeries.js +1 -1
  140. package/es-modules/Series/Streamgraph/StreamgraphSeriesDefaults.js +1 -1
  141. package/es-modules/Series/Sunburst/SunburstSeriesDefaults.js +1 -1
  142. package/es-modules/Series/TiledWebMap/TiledWebMapSeriesDefaults.js +2 -2
  143. package/es-modules/Series/Tilemap/TilemapSeriesDefaults.js +1 -1
  144. package/es-modules/Series/Timeline/TimelineSeriesDefaults.js +1 -1
  145. package/es-modules/Series/Treemap/TreemapSeriesDefaults.js +1 -1
  146. package/es-modules/Series/VariablePie/VariablePieSeriesDefaults.js +1 -1
  147. package/es-modules/Series/Variwide/VariwideComposition.js +11 -8
  148. package/es-modules/Series/Vector/VectorSeriesDefaults.js +1 -1
  149. package/es-modules/Series/Venn/VennSeriesDefaults.js +1 -1
  150. package/es-modules/Series/Waterfall/WaterfallSeriesDefaults.js +1 -1
  151. package/es-modules/Series/Windbarb/WindbarbSeriesDefaults.js +1 -1
  152. package/es-modules/Shared/Utilities.js +7 -0
  153. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +1 -1
  154. package/es-modules/Stock/Indicators/AD/ADIndicator.js +0 -1
  155. package/es-modules/Stock/Indicators/AO/AOIndicator.js +1 -1
  156. package/es-modules/Stock/Indicators/APO/APOIndicator.js +1 -1
  157. package/es-modules/Stock/Indicators/ATR/ATRIndicator.js +0 -1
  158. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +1 -1
  159. package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +2 -2
  160. package/es-modules/Stock/Indicators/BB/BBIndicator.js +0 -1
  161. package/es-modules/Stock/Indicators/CCI/CCIIndicator.js +0 -1
  162. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +0 -1
  163. package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +0 -1
  164. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +1 -1
  165. package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +1 -1
  166. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +3 -3
  167. package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +1 -1
  168. package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +3 -3
  169. package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +0 -1
  170. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +0 -1
  171. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +1 -1
  172. package/es-modules/Stock/Indicators/LinearRegression/LinearRegressionIndicator.js +0 -1
  173. package/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngleIndicator.js +0 -1
  174. package/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionInterceptIndicator.js +0 -1
  175. package/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopesIndicator.js +0 -1
  176. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +0 -1
  177. package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +0 -1
  178. package/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +0 -1
  179. package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +0 -1
  180. package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +0 -1
  181. package/es-modules/Stock/Indicators/PC/PCIndicator.js +1 -1
  182. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +1 -1
  183. package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +0 -1
  184. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +0 -1
  185. package/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +0 -1
  186. package/es-modules/Stock/Indicators/ROC/ROCIndicator.js +0 -1
  187. package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +0 -1
  188. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +1 -1
  189. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +3 -3
  190. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +1 -1
  191. package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +1 -1
  192. package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +1 -1
  193. package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +0 -1
  194. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +1 -1
  195. package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +0 -1
  196. package/es-modules/Stock/Indicators/WMA/WMAIndicator.js +0 -1
  197. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +1 -1
  198. package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +0 -1
  199. package/es-modules/Stock/Navigator/ChartNavigatorComposition.js +5 -5
  200. package/es-modules/Stock/Navigator/Navigator.js +1 -5
  201. package/es-modules/Stock/Navigator/StandaloneNavigator.js +38 -8
  202. package/es-modules/Stock/RangeSelector/RangeSelectorComposition.js +2 -2
  203. package/es-modules/Stock/Scrollbar/ScrollbarDefaults.js +1 -3
  204. package/es-modules/masters/highcharts-3d.src.js +1 -1
  205. package/es-modules/masters/highcharts-autoload.src.js +1 -1
  206. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  207. package/es-modules/masters/highcharts-more.src.js +1 -1
  208. package/es-modules/masters/highcharts.src.js +1 -1
  209. package/es-modules/masters/highmaps.src.js +1 -1
  210. package/es-modules/masters/highstock.src.js +1 -1
  211. package/es-modules/masters/i18n/fr-FR.src.d.ts +1 -1
  212. package/es-modules/masters/i18n/fr-FR.src.js +1 -1
  213. package/es-modules/masters/i18n/nb-NO.src.d.ts +1 -1
  214. package/es-modules/masters/i18n/nb-NO.src.js +1 -1
  215. package/es-modules/masters/i18n/zh-CN.src.d.ts +1 -1
  216. package/es-modules/masters/i18n/zh-CN.src.js +1 -1
  217. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  218. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  219. package/es-modules/masters/indicators/ao.src.js +1 -1
  220. package/es-modules/masters/indicators/apo.src.js +1 -1
  221. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  222. package/es-modules/masters/indicators/aroon.src.js +1 -1
  223. package/es-modules/masters/indicators/atr.src.js +1 -1
  224. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  225. package/es-modules/masters/indicators/cci.src.js +1 -1
  226. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  227. package/es-modules/masters/indicators/cmf.src.js +1 -1
  228. package/es-modules/masters/indicators/cmo.src.js +1 -1
  229. package/es-modules/masters/indicators/dema.src.js +1 -1
  230. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  231. package/es-modules/masters/indicators/dmi.src.js +1 -1
  232. package/es-modules/masters/indicators/dpo.src.js +1 -1
  233. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  234. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  235. package/es-modules/masters/indicators/indicators.src.js +1 -1
  236. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  237. package/es-modules/masters/indicators/klinger.src.js +1 -1
  238. package/es-modules/masters/indicators/macd.src.js +1 -1
  239. package/es-modules/masters/indicators/mfi.src.js +1 -1
  240. package/es-modules/masters/indicators/momentum.src.js +1 -1
  241. package/es-modules/masters/indicators/natr.src.js +1 -1
  242. package/es-modules/masters/indicators/obv.src.js +1 -1
  243. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  244. package/es-modules/masters/indicators/ppo.src.js +1 -1
  245. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  246. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  247. package/es-modules/masters/indicators/psar.src.js +1 -1
  248. package/es-modules/masters/indicators/regressions.src.js +1 -1
  249. package/es-modules/masters/indicators/roc.src.js +1 -1
  250. package/es-modules/masters/indicators/rsi.src.js +1 -1
  251. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  252. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  253. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  254. package/es-modules/masters/indicators/tema.src.js +1 -1
  255. package/es-modules/masters/indicators/trendline.src.js +1 -1
  256. package/es-modules/masters/indicators/trix.src.js +1 -1
  257. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  258. package/es-modules/masters/indicators/vwap.src.js +1 -1
  259. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  260. package/es-modules/masters/indicators/wma.src.js +1 -1
  261. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  262. package/es-modules/masters/modules/accessibility.src.js +1 -1
  263. package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
  264. package/es-modules/masters/modules/annotations.src.js +1 -1
  265. package/es-modules/masters/modules/arc-diagram.src.js +1 -1
  266. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  267. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  268. package/es-modules/masters/modules/boost.src.js +1 -1
  269. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  270. package/es-modules/masters/modules/bullet.src.js +1 -1
  271. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  272. package/es-modules/masters/modules/contour.src.js +1 -1
  273. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  274. package/es-modules/masters/modules/cylinder.src.js +1 -1
  275. package/es-modules/masters/modules/data-sorting.src.js +1 -1
  276. package/es-modules/masters/modules/data-tools.src.js +1 -1
  277. package/es-modules/masters/modules/data.src.js +1 -1
  278. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  279. package/es-modules/masters/modules/debugger.src.js +1 -1
  280. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  281. package/es-modules/masters/modules/dotplot.src.js +1 -1
  282. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  283. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  284. package/es-modules/masters/modules/drilldown.src.js +1 -1
  285. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  286. package/es-modules/masters/modules/export-data.src.js +1 -1
  287. package/es-modules/masters/modules/exporting.src.js +1 -1
  288. package/es-modules/masters/modules/flowmap.src.js +1 -1
  289. package/es-modules/masters/modules/full-screen.src.js +1 -1
  290. package/es-modules/masters/modules/funnel.src.js +1 -1
  291. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  292. package/es-modules/masters/modules/gantt.src.js +1 -1
  293. package/es-modules/masters/modules/geoheatmap.src.js +1 -1
  294. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  295. package/es-modules/masters/modules/heatmap.src.js +1 -1
  296. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  297. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  298. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  299. package/es-modules/masters/modules/item-series.src.js +1 -1
  300. package/es-modules/masters/modules/lollipop.src.js +1 -1
  301. package/es-modules/masters/modules/map.src.js +1 -1
  302. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  303. package/es-modules/masters/modules/mouse-wheel-zoom.src.js +1 -1
  304. package/es-modules/masters/modules/navigator.src.js +1 -1
  305. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  306. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  307. package/es-modules/masters/modules/non-cartesian-zoom.src.js +1 -1
  308. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  309. package/es-modules/masters/modules/organization.src.js +1 -1
  310. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  311. package/es-modules/masters/modules/pareto.src.js +1 -1
  312. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  313. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  314. package/es-modules/masters/modules/pictorial.src.js +1 -1
  315. package/es-modules/masters/modules/pointandfigure.src.js +1 -1
  316. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  317. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  318. package/es-modules/masters/modules/renko.src.js +1 -1
  319. package/es-modules/masters/modules/sankey.src.js +1 -1
  320. package/es-modules/masters/modules/series-label.src.js +1 -1
  321. package/es-modules/masters/modules/series-on-point.src.js +1 -1
  322. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  323. package/es-modules/masters/modules/sonification.src.js +1 -1
  324. package/es-modules/masters/modules/static-scale.src.js +1 -1
  325. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  326. package/es-modules/masters/modules/stock.src.js +1 -1
  327. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  328. package/es-modules/masters/modules/sunburst.src.js +1 -1
  329. package/es-modules/masters/modules/textpath.src.js +1 -1
  330. package/es-modules/masters/modules/tiledwebmap.src.js +1 -1
  331. package/es-modules/masters/modules/tilemap.src.js +1 -1
  332. package/es-modules/masters/modules/timeline.src.js +1 -1
  333. package/es-modules/masters/modules/treegraph.src.js +1 -1
  334. package/es-modules/masters/modules/treegrid.src.js +1 -1
  335. package/es-modules/masters/modules/treemap.src.js +1 -1
  336. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  337. package/es-modules/masters/modules/variwide.src.js +1 -1
  338. package/es-modules/masters/modules/vector.src.js +1 -1
  339. package/es-modules/masters/modules/venn.src.js +1 -1
  340. package/es-modules/masters/modules/windbarb.src.js +1 -1
  341. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  342. package/es-modules/masters/modules/xrange.src.js +1 -1
  343. package/es-modules/masters/standalone-navigator.src.js +1 -1
  344. package/es-modules/masters/themes/adaptive.src.js +1 -1
  345. package/es-modules/masters/themes/avocado.src.js +1 -1
  346. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  347. package/es-modules/masters/themes/grid-light.src.js +1 -1
  348. package/es-modules/masters/themes/high-contrast.src.js +1 -1
  349. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  350. package/es-modules/masters/themes/sunset.src.js +1 -1
  351. package/es-modules/tsconfig.tsbuildinfo +1 -1
  352. package/esm/highcharts-3d.js +2 -2
  353. package/esm/highcharts-3d.src.js +38 -61
  354. package/esm/highcharts-autoload.js +2 -2
  355. package/esm/highcharts-autoload.src.js +18 -39
  356. package/esm/highcharts-gantt.js +1 -1
  357. package/esm/highcharts-gantt.src.js +1 -1
  358. package/esm/highcharts-more.js +2 -2
  359. package/esm/highcharts-more.src.js +142 -120
  360. package/esm/highcharts.js +4 -4
  361. package/esm/highcharts.src.js +824 -750
  362. package/esm/highmaps.js +1 -1
  363. package/esm/highmaps.src.js +1 -1
  364. package/esm/highstock.js +1 -1
  365. package/esm/highstock.src.js +1 -1
  366. package/esm/i18n/fr-FR.js +2 -2
  367. package/esm/i18n/fr-FR.src.js +17 -38
  368. package/esm/i18n/nb-NO.js +2 -2
  369. package/esm/i18n/nb-NO.src.js +17 -38
  370. package/esm/i18n/zh-CN.js +2 -2
  371. package/esm/i18n/zh-CN.src.js +17 -38
  372. package/esm/indicators/acceleration-bands.js +2 -2
  373. package/esm/indicators/acceleration-bands.src.js +18 -39
  374. package/esm/indicators/accumulation-distribution.js +2 -2
  375. package/esm/indicators/accumulation-distribution.src.js +17 -39
  376. package/esm/indicators/ao.js +2 -2
  377. package/esm/indicators/ao.src.js +18 -39
  378. package/esm/indicators/apo.js +2 -2
  379. package/esm/indicators/apo.src.js +18 -39
  380. package/esm/indicators/aroon-oscillator.js +2 -2
  381. package/esm/indicators/aroon-oscillator.src.js +19 -40
  382. package/esm/indicators/aroon.js +2 -2
  383. package/esm/indicators/aroon.src.js +18 -39
  384. package/esm/indicators/atr.js +2 -2
  385. package/esm/indicators/atr.src.js +17 -39
  386. package/esm/indicators/bollinger-bands.js +2 -2
  387. package/esm/indicators/bollinger-bands.src.js +17 -39
  388. package/esm/indicators/cci.js +2 -2
  389. package/esm/indicators/cci.src.js +17 -39
  390. package/esm/indicators/chaikin.js +2 -2
  391. package/esm/indicators/chaikin.src.js +18 -40
  392. package/esm/indicators/cmf.js +2 -2
  393. package/esm/indicators/cmf.src.js +17 -39
  394. package/esm/indicators/cmo.js +2 -2
  395. package/esm/indicators/cmo.src.js +17 -39
  396. package/esm/indicators/dema.js +2 -2
  397. package/esm/indicators/dema.src.js +18 -39
  398. package/esm/indicators/disparity-index.js +2 -2
  399. package/esm/indicators/disparity-index.src.js +20 -41
  400. package/esm/indicators/dmi.js +2 -2
  401. package/esm/indicators/dmi.src.js +20 -41
  402. package/esm/indicators/dpo.js +2 -2
  403. package/esm/indicators/dpo.src.js +18 -39
  404. package/esm/indicators/ichimoku-kinko-hyo.js +2 -2
  405. package/esm/indicators/ichimoku-kinko-hyo.src.js +18 -40
  406. package/esm/indicators/indicators-all.js +2 -2
  407. package/esm/indicators/indicators-all.src.js +76 -99
  408. package/esm/indicators/indicators.js +2 -2
  409. package/esm/indicators/indicators.src.js +48 -46
  410. package/esm/indicators/keltner-channels.js +2 -2
  411. package/esm/indicators/keltner-channels.src.js +18 -39
  412. package/esm/indicators/klinger.js +2 -2
  413. package/esm/indicators/klinger.src.js +17 -38
  414. package/esm/indicators/macd.js +2 -2
  415. package/esm/indicators/macd.src.js +17 -39
  416. package/esm/indicators/mfi.js +2 -2
  417. package/esm/indicators/mfi.src.js +17 -39
  418. package/esm/indicators/momentum.js +2 -2
  419. package/esm/indicators/momentum.src.js +17 -39
  420. package/esm/indicators/natr.js +2 -2
  421. package/esm/indicators/natr.src.js +17 -39
  422. package/esm/indicators/obv.js +2 -2
  423. package/esm/indicators/obv.src.js +17 -39
  424. package/esm/indicators/pivot-points.js +2 -2
  425. package/esm/indicators/pivot-points.src.js +17 -39
  426. package/esm/indicators/ppo.js +2 -2
  427. package/esm/indicators/ppo.src.js +18 -39
  428. package/esm/indicators/price-channel.js +2 -2
  429. package/esm/indicators/price-channel.src.js +18 -39
  430. package/esm/indicators/price-envelopes.js +2 -2
  431. package/esm/indicators/price-envelopes.src.js +17 -39
  432. package/esm/indicators/psar.js +2 -2
  433. package/esm/indicators/psar.src.js +17 -39
  434. package/esm/indicators/regressions.js +2 -2
  435. package/esm/indicators/regressions.src.js +17 -42
  436. package/esm/indicators/roc.js +2 -2
  437. package/esm/indicators/roc.src.js +17 -39
  438. package/esm/indicators/rsi.js +2 -2
  439. package/esm/indicators/rsi.src.js +17 -39
  440. package/esm/indicators/slow-stochastic.js +2 -2
  441. package/esm/indicators/slow-stochastic.src.js +17 -38
  442. package/esm/indicators/stochastic.js +2 -2
  443. package/esm/indicators/stochastic.src.js +20 -41
  444. package/esm/indicators/supertrend.js +2 -2
  445. package/esm/indicators/supertrend.src.js +19 -40
  446. package/esm/indicators/tema.js +2 -2
  447. package/esm/indicators/tema.src.js +18 -39
  448. package/esm/indicators/trendline.js +2 -2
  449. package/esm/indicators/trendline.src.js +17 -39
  450. package/esm/indicators/trix.js +2 -2
  451. package/esm/indicators/trix.src.js +18 -39
  452. package/esm/indicators/volume-by-price.js +2 -2
  453. package/esm/indicators/volume-by-price.src.js +18 -39
  454. package/esm/indicators/vwap.js +2 -2
  455. package/esm/indicators/vwap.src.js +17 -39
  456. package/esm/indicators/williams-r.js +2 -2
  457. package/esm/indicators/williams-r.src.js +18 -39
  458. package/esm/indicators/wma.js +2 -2
  459. package/esm/indicators/wma.src.js +17 -39
  460. package/esm/indicators/zigzag.js +2 -2
  461. package/esm/indicators/zigzag.src.js +17 -39
  462. package/esm/modules/accessibility.js +2 -2
  463. package/esm/modules/accessibility.src.js +90 -76
  464. package/esm/modules/annotations-advanced.js +3 -3
  465. package/esm/modules/annotations-advanced.src.js +36 -58
  466. package/esm/modules/annotations.js +3 -3
  467. package/esm/modules/annotations.src.js +36 -58
  468. package/esm/modules/arc-diagram.js +2 -2
  469. package/esm/modules/arc-diagram.src.js +18 -39
  470. package/esm/modules/arrow-symbols.js +3 -3
  471. package/esm/modules/arrow-symbols.src.js +17 -38
  472. package/esm/modules/boost-canvas.js +2 -2
  473. package/esm/modules/boost-canvas.src.js +57 -63
  474. package/esm/modules/boost.js +2 -2
  475. package/esm/modules/boost.src.js +56 -62
  476. package/esm/modules/broken-axis.js +2 -2
  477. package/esm/modules/broken-axis.src.js +21 -41
  478. package/esm/modules/bullet.js +2 -2
  479. package/esm/modules/bullet.src.js +18 -39
  480. package/esm/modules/coloraxis.js +2 -2
  481. package/esm/modules/coloraxis.src.js +92 -96
  482. package/esm/modules/contour.js +3 -3
  483. package/esm/modules/contour.src.js +29 -52
  484. package/esm/modules/current-date-indicator.js +2 -2
  485. package/esm/modules/current-date-indicator.src.js +17 -38
  486. package/esm/modules/cylinder.js +2 -2
  487. package/esm/modules/cylinder.src.js +18 -39
  488. package/esm/modules/data-sorting.js +2 -2
  489. package/esm/modules/data-sorting.src.js +18 -39
  490. package/esm/modules/data-tools.js +2 -2
  491. package/esm/modules/data-tools.src.js +110 -67
  492. package/esm/modules/data.js +4 -4
  493. package/esm/modules/data.src.js +53 -48
  494. package/esm/modules/datagrouping.js +2 -2
  495. package/esm/modules/datagrouping.src.js +52 -48
  496. package/esm/modules/debugger.js +2 -2
  497. package/esm/modules/debugger.src.js +17 -38
  498. package/esm/modules/dependency-wheel.js +2 -2
  499. package/esm/modules/dependency-wheel.src.js +17 -38
  500. package/esm/modules/dotplot.js +2 -2
  501. package/esm/modules/dotplot.src.js +17 -38
  502. package/esm/modules/drag-panes.js +2 -2
  503. package/esm/modules/drag-panes.src.js +22 -46
  504. package/esm/modules/draggable-points.js +2 -2
  505. package/esm/modules/draggable-points.src.js +17 -38
  506. package/esm/modules/drilldown.js +2 -2
  507. package/esm/modules/drilldown.src.js +40 -54
  508. package/esm/modules/dumbbell.js +2 -2
  509. package/esm/modules/dumbbell.src.js +18 -39
  510. package/esm/modules/export-data.js +2 -2
  511. package/esm/modules/export-data.src.js +42 -43
  512. package/esm/modules/exporting.js +2 -2
  513. package/esm/modules/exporting.src.js +26 -47
  514. package/esm/modules/flowmap.js +2 -2
  515. package/esm/modules/flowmap.src.js +17 -38
  516. package/esm/modules/full-screen.js +2 -2
  517. package/esm/modules/full-screen.src.js +17 -38
  518. package/esm/modules/funnel.js +2 -2
  519. package/esm/modules/funnel.src.js +21 -42
  520. package/esm/modules/funnel3d.js +2 -2
  521. package/esm/modules/funnel3d.src.js +18 -39
  522. package/esm/modules/gantt.js +2 -2
  523. package/esm/modules/gantt.src.js +84 -104
  524. package/esm/modules/geoheatmap.js +2 -2
  525. package/esm/modules/geoheatmap.src.js +18 -39
  526. package/esm/modules/grid-axis.js +2 -2
  527. package/esm/modules/grid-axis.src.js +34 -51
  528. package/esm/modules/heatmap.js +2 -2
  529. package/esm/modules/heatmap.src.js +20 -41
  530. package/esm/modules/heikinashi.js +2 -2
  531. package/esm/modules/heikinashi.src.js +18 -39
  532. package/esm/modules/histogram-bellcurve.js +2 -2
  533. package/esm/modules/histogram-bellcurve.src.js +19 -40
  534. package/esm/modules/hollowcandlestick.js +2 -2
  535. package/esm/modules/hollowcandlestick.src.js +18 -39
  536. package/esm/modules/item-series.js +2 -2
  537. package/esm/modules/item-series.src.js +19 -40
  538. package/esm/modules/lollipop.js +2 -2
  539. package/esm/modules/lollipop.src.js +18 -39
  540. package/esm/modules/map.js +2 -2
  541. package/esm/modules/map.src.js +64 -63
  542. package/esm/modules/marker-clusters.js +2 -2
  543. package/esm/modules/marker-clusters.src.js +49 -46
  544. package/esm/modules/mouse-wheel-zoom.js +2 -2
  545. package/esm/modules/mouse-wheel-zoom.src.js +17 -38
  546. package/esm/modules/navigator.js +2 -2
  547. package/esm/modules/navigator.src.js +72 -67
  548. package/esm/modules/networkgraph.js +2 -2
  549. package/esm/modules/networkgraph.src.js +24 -45
  550. package/esm/modules/no-data-to-display.js +2 -2
  551. package/esm/modules/no-data-to-display.src.js +17 -38
  552. package/esm/modules/non-cartesian-zoom.js +2 -2
  553. package/esm/modules/non-cartesian-zoom.src.js +17 -38
  554. package/esm/modules/offline-exporting.js +2 -2
  555. package/esm/modules/offline-exporting.src.js +19 -40
  556. package/esm/modules/organization.js +2 -2
  557. package/esm/modules/organization.src.js +20 -39
  558. package/esm/modules/parallel-coordinates.js +2 -2
  559. package/esm/modules/parallel-coordinates.src.js +24 -44
  560. package/esm/modules/pareto.js +2 -2
  561. package/esm/modules/pareto.src.js +21 -42
  562. package/esm/modules/pathfinder.js +2 -2
  563. package/esm/modules/pathfinder.src.js +20 -39
  564. package/esm/modules/pattern-fill.js +2 -2
  565. package/esm/modules/pattern-fill.src.js +17 -38
  566. package/esm/modules/pictorial.js +2 -2
  567. package/esm/modules/pictorial.src.js +71 -65
  568. package/esm/modules/pointandfigure.js +2 -2
  569. package/esm/modules/pointandfigure.src.js +47 -44
  570. package/esm/modules/price-indicator.js +2 -2
  571. package/esm/modules/price-indicator.src.js +17 -38
  572. package/esm/modules/pyramid3d.js +2 -2
  573. package/esm/modules/pyramid3d.src.js +18 -39
  574. package/esm/modules/renko.js +2 -2
  575. package/esm/modules/renko.src.js +18 -40
  576. package/esm/modules/sankey.js +2 -2
  577. package/esm/modules/sankey.src.js +24 -46
  578. package/esm/modules/series-label.js +2 -2
  579. package/esm/modules/series-label.src.js +17 -38
  580. package/esm/modules/series-on-point.js +2 -2
  581. package/esm/modules/series-on-point.src.js +47 -44
  582. package/esm/modules/solid-gauge.js +2 -2
  583. package/esm/modules/solid-gauge.src.js +18 -39
  584. package/esm/modules/sonification.js +2 -2
  585. package/esm/modules/sonification.src.js +18 -39
  586. package/esm/modules/static-scale.js +2 -2
  587. package/esm/modules/static-scale.src.js +30 -49
  588. package/esm/modules/stock-tools.js +2 -2
  589. package/esm/modules/stock-tools.src.js +29 -50
  590. package/esm/modules/stock.js +2 -2
  591. package/esm/modules/stock.src.js +117 -141
  592. package/esm/modules/streamgraph.js +2 -2
  593. package/esm/modules/streamgraph.src.js +18 -39
  594. package/esm/modules/sunburst.js +2 -2
  595. package/esm/modules/sunburst.src.js +38 -57
  596. package/esm/modules/textpath.js +2 -2
  597. package/esm/modules/textpath.src.js +17 -38
  598. package/esm/modules/tiledwebmap.js +3 -3
  599. package/esm/modules/tiledwebmap.src.js +19 -40
  600. package/esm/modules/tilemap.js +2 -2
  601. package/esm/modules/tilemap.src.js +22 -40
  602. package/esm/modules/timeline.js +2 -2
  603. package/esm/modules/timeline.src.js +19 -40
  604. package/esm/modules/treegraph.js +2 -2
  605. package/esm/modules/treegraph.src.js +23 -42
  606. package/esm/modules/treegrid.js +2 -2
  607. package/esm/modules/treegrid.src.js +47 -67
  608. package/esm/modules/treemap.js +2 -2
  609. package/esm/modules/treemap.src.js +34 -53
  610. package/esm/modules/variable-pie.js +2 -2
  611. package/esm/modules/variable-pie.src.js +19 -40
  612. package/esm/modules/variwide.js +2 -2
  613. package/esm/modules/variwide.src.js +28 -46
  614. package/esm/modules/vector.js +2 -2
  615. package/esm/modules/vector.src.js +18 -39
  616. package/esm/modules/venn.js +2 -2
  617. package/esm/modules/venn.src.js +18 -39
  618. package/esm/modules/windbarb.js +2 -2
  619. package/esm/modules/windbarb.src.js +18 -39
  620. package/esm/modules/wordcloud.js +2 -2
  621. package/esm/modules/wordcloud.src.js +18 -39
  622. package/esm/modules/xrange.js +2 -2
  623. package/esm/modules/xrange.src.js +18 -39
  624. package/esm/standalone-navigator.js +4 -4
  625. package/esm/standalone-navigator.src.js +876 -776
  626. package/esm/themes/adaptive.js +2 -2
  627. package/esm/themes/adaptive.src.js +17 -38
  628. package/esm/themes/avocado.js +2 -2
  629. package/esm/themes/avocado.src.js +17 -38
  630. package/esm/themes/dark-unica.js +2 -2
  631. package/esm/themes/dark-unica.src.js +17 -38
  632. package/esm/themes/grid-light.js +2 -2
  633. package/esm/themes/grid-light.src.js +17 -38
  634. package/esm/themes/high-contrast.js +2 -2
  635. package/esm/themes/high-contrast.src.js +17 -38
  636. package/esm/themes/sand-signika.js +2 -2
  637. package/esm/themes/sand-signika.src.js +17 -38
  638. package/esm/themes/sunset.js +2 -2
  639. package/esm/themes/sunset.src.js +17 -38
  640. package/highcharts-3d.js +2 -2
  641. package/highcharts-3d.src.js +43 -66
  642. package/highcharts-autoload.d.ts +0 -1
  643. package/highcharts-autoload.js +4 -4
  644. package/highcharts-autoload.src.d.ts +0 -1
  645. package/highcharts-autoload.src.js +833 -778
  646. package/highcharts-gantt.js +4 -4
  647. package/highcharts-gantt.src.js +895 -839
  648. package/highcharts-more.d.ts +10 -0
  649. package/highcharts-more.js +2 -2
  650. package/highcharts-more.src.d.ts +10 -0
  651. package/highcharts-more.src.js +147 -125
  652. package/highcharts.d.ts +2785 -80144
  653. package/highcharts.js +4 -4
  654. package/highcharts.src.d.ts +2785 -80144
  655. package/highcharts.src.js +832 -777
  656. package/highmaps.js +4 -4
  657. package/highmaps.src.js +915 -845
  658. package/highstock.js +4 -4
  659. package/highstock.src.js +903 -874
  660. package/i18n/fr-FR.js +2 -2
  661. package/i18n/fr-FR.src.js +26 -37
  662. package/i18n/nb-NO.js +2 -2
  663. package/i18n/nb-NO.src.js +26 -37
  664. package/i18n/zh-CN.js +2 -2
  665. package/i18n/zh-CN.src.js +26 -37
  666. package/indicators/acceleration-bands.js +2 -2
  667. package/indicators/acceleration-bands.src.js +23 -44
  668. package/indicators/accumulation-distribution.js +2 -2
  669. package/indicators/accumulation-distribution.src.js +22 -44
  670. package/indicators/ao.js +2 -2
  671. package/indicators/ao.src.js +23 -44
  672. package/indicators/apo.js +2 -2
  673. package/indicators/apo.src.js +23 -44
  674. package/indicators/aroon-oscillator.js +2 -2
  675. package/indicators/aroon-oscillator.src.js +24 -45
  676. package/indicators/aroon.js +2 -2
  677. package/indicators/aroon.src.js +23 -44
  678. package/indicators/atr.js +2 -2
  679. package/indicators/atr.src.js +22 -44
  680. package/indicators/bollinger-bands.js +2 -2
  681. package/indicators/bollinger-bands.src.js +22 -44
  682. package/indicators/cci.js +2 -2
  683. package/indicators/cci.src.js +22 -44
  684. package/indicators/chaikin.js +2 -2
  685. package/indicators/chaikin.src.js +23 -45
  686. package/indicators/cmf.js +2 -2
  687. package/indicators/cmf.src.js +22 -44
  688. package/indicators/cmo.js +2 -2
  689. package/indicators/cmo.src.js +22 -44
  690. package/indicators/dema.js +2 -2
  691. package/indicators/dema.src.js +23 -44
  692. package/indicators/disparity-index.js +2 -2
  693. package/indicators/disparity-index.src.js +25 -46
  694. package/indicators/dmi.js +2 -2
  695. package/indicators/dmi.src.js +25 -46
  696. package/indicators/dpo.js +2 -2
  697. package/indicators/dpo.src.js +23 -44
  698. package/indicators/ichimoku-kinko-hyo.js +2 -2
  699. package/indicators/ichimoku-kinko-hyo.src.js +23 -45
  700. package/indicators/indicators-all.js +2 -2
  701. package/indicators/indicators-all.src.js +81 -104
  702. package/indicators/indicators.js +2 -2
  703. package/indicators/indicators.src.js +53 -51
  704. package/indicators/keltner-channels.js +2 -2
  705. package/indicators/keltner-channels.src.js +23 -44
  706. package/indicators/klinger.js +2 -2
  707. package/indicators/klinger.src.js +22 -43
  708. package/indicators/macd.js +2 -2
  709. package/indicators/macd.src.js +22 -44
  710. package/indicators/mfi.js +2 -2
  711. package/indicators/mfi.src.js +22 -44
  712. package/indicators/momentum.js +2 -2
  713. package/indicators/momentum.src.js +22 -44
  714. package/indicators/natr.js +2 -2
  715. package/indicators/natr.src.js +22 -44
  716. package/indicators/obv.js +2 -2
  717. package/indicators/obv.src.js +22 -44
  718. package/indicators/pivot-points.js +2 -2
  719. package/indicators/pivot-points.src.js +22 -44
  720. package/indicators/ppo.js +2 -2
  721. package/indicators/ppo.src.js +23 -44
  722. package/indicators/price-channel.js +2 -2
  723. package/indicators/price-channel.src.js +23 -44
  724. package/indicators/price-envelopes.js +2 -2
  725. package/indicators/price-envelopes.src.js +22 -44
  726. package/indicators/psar.js +2 -2
  727. package/indicators/psar.src.js +22 -44
  728. package/indicators/regressions.js +2 -2
  729. package/indicators/regressions.src.js +22 -47
  730. package/indicators/roc.js +2 -2
  731. package/indicators/roc.src.js +22 -44
  732. package/indicators/rsi.js +2 -2
  733. package/indicators/rsi.src.js +22 -44
  734. package/indicators/slow-stochastic.js +2 -2
  735. package/indicators/slow-stochastic.src.js +22 -43
  736. package/indicators/stochastic.js +2 -2
  737. package/indicators/stochastic.src.js +25 -46
  738. package/indicators/supertrend.js +2 -2
  739. package/indicators/supertrend.src.js +24 -45
  740. package/indicators/tema.js +2 -2
  741. package/indicators/tema.src.js +23 -44
  742. package/indicators/trendline.js +2 -2
  743. package/indicators/trendline.src.js +22 -44
  744. package/indicators/trix.js +2 -2
  745. package/indicators/trix.src.js +23 -44
  746. package/indicators/volume-by-price.js +2 -2
  747. package/indicators/volume-by-price.src.js +23 -44
  748. package/indicators/vwap.js +2 -2
  749. package/indicators/vwap.src.js +22 -44
  750. package/indicators/williams-r.js +2 -2
  751. package/indicators/williams-r.src.js +23 -44
  752. package/indicators/wma.js +2 -2
  753. package/indicators/wma.src.js +22 -44
  754. package/indicators/zigzag.js +2 -2
  755. package/indicators/zigzag.src.js +22 -44
  756. package/modules/accessibility.js +2 -2
  757. package/modules/accessibility.src.js +95 -81
  758. package/modules/annotations-advanced.js +9 -9
  759. package/modules/annotations-advanced.src.js +41 -63
  760. package/modules/annotations.js +3 -3
  761. package/modules/annotations.src.js +41 -63
  762. package/modules/arc-diagram.js +2 -2
  763. package/modules/arc-diagram.src.js +23 -44
  764. package/modules/arrow-symbols.js +2 -2
  765. package/modules/arrow-symbols.src.js +17 -38
  766. package/modules/boost-canvas.js +2 -2
  767. package/modules/boost-canvas.src.js +62 -68
  768. package/modules/boost.js +2 -2
  769. package/modules/boost.src.js +61 -67
  770. package/modules/broken-axis.js +2 -2
  771. package/modules/broken-axis.src.js +26 -46
  772. package/modules/bullet.js +2 -2
  773. package/modules/bullet.src.js +23 -44
  774. package/modules/coloraxis.js +2 -2
  775. package/modules/coloraxis.src.js +97 -101
  776. package/modules/contour.js +5 -5
  777. package/modules/contour.src.js +111 -117
  778. package/modules/current-date-indicator.js +2 -2
  779. package/modules/current-date-indicator.src.js +17 -38
  780. package/modules/cylinder.js +2 -2
  781. package/modules/cylinder.src.js +23 -44
  782. package/modules/data-sorting.js +2 -2
  783. package/modules/data-sorting.src.js +18 -39
  784. package/modules/data-tools.js +2 -2
  785. package/modules/data-tools.src.js +110 -67
  786. package/modules/data.js +4 -4
  787. package/modules/data.src.js +58 -53
  788. package/modules/datagrouping.js +2 -2
  789. package/modules/datagrouping.src.js +57 -53
  790. package/modules/debugger.js +2 -2
  791. package/modules/debugger.src.js +17 -38
  792. package/modules/dependency-wheel.js +2 -2
  793. package/modules/dependency-wheel.src.js +22 -43
  794. package/modules/dotplot.js +2 -2
  795. package/modules/dotplot.src.js +22 -43
  796. package/modules/drag-panes.js +2 -2
  797. package/modules/drag-panes.src.js +22 -46
  798. package/modules/draggable-points.js +2 -2
  799. package/modules/draggable-points.src.js +17 -38
  800. package/modules/drilldown.js +2 -2
  801. package/modules/drilldown.src.js +45 -59
  802. package/modules/dumbbell.js +2 -2
  803. package/modules/dumbbell.src.js +23 -44
  804. package/modules/export-data.js +2 -2
  805. package/modules/export-data.src.js +47 -48
  806. package/modules/exporting.js +2 -2
  807. package/modules/exporting.src.js +31 -52
  808. package/modules/flowmap.js +2 -2
  809. package/modules/flowmap.src.js +22 -43
  810. package/modules/full-screen.js +2 -2
  811. package/modules/full-screen.src.js +22 -43
  812. package/modules/funnel.js +2 -2
  813. package/modules/funnel.src.js +26 -47
  814. package/modules/funnel3d.js +2 -2
  815. package/modules/funnel3d.src.js +23 -44
  816. package/modules/gantt.js +8 -8
  817. package/modules/gantt.src.js +93 -113
  818. package/modules/geoheatmap.js +2 -2
  819. package/modules/geoheatmap.src.js +23 -44
  820. package/modules/grid-axis.js +2 -2
  821. package/modules/grid-axis.src.js +39 -56
  822. package/modules/heatmap.js +4 -4
  823. package/modules/heatmap.src.js +101 -105
  824. package/modules/heikinashi.js +2 -2
  825. package/modules/heikinashi.src.js +23 -44
  826. package/modules/histogram-bellcurve.js +2 -2
  827. package/modules/histogram-bellcurve.src.js +24 -45
  828. package/modules/hollowcandlestick.js +2 -2
  829. package/modules/hollowcandlestick.src.js +23 -44
  830. package/modules/item-series.js +2 -2
  831. package/modules/item-series.src.js +24 -45
  832. package/modules/lollipop.js +2 -2
  833. package/modules/lollipop.src.js +23 -44
  834. package/modules/map.js +4 -4
  835. package/modules/map.src.js +146 -128
  836. package/modules/marker-clusters.js +2 -2
  837. package/modules/marker-clusters.src.js +49 -46
  838. package/modules/mouse-wheel-zoom.js +2 -2
  839. package/modules/mouse-wheel-zoom.src.js +17 -38
  840. package/modules/navigator.js +2 -2
  841. package/modules/navigator.src.js +77 -72
  842. package/modules/networkgraph.js +2 -2
  843. package/modules/networkgraph.src.js +29 -50
  844. package/modules/no-data-to-display.js +2 -2
  845. package/modules/no-data-to-display.src.js +22 -43
  846. package/modules/non-cartesian-zoom.js +2 -2
  847. package/modules/non-cartesian-zoom.src.js +17 -38
  848. package/modules/offline-exporting.js +2 -2
  849. package/modules/offline-exporting.src.js +24 -45
  850. package/modules/organization.js +3 -3
  851. package/modules/organization.src.js +25 -44
  852. package/modules/parallel-coordinates.js +2 -2
  853. package/modules/parallel-coordinates.src.js +29 -49
  854. package/modules/pareto.js +2 -2
  855. package/modules/pareto.src.js +26 -47
  856. package/modules/pathfinder.js +2 -2
  857. package/modules/pathfinder.src.js +25 -44
  858. package/modules/pattern-fill.js +2 -2
  859. package/modules/pattern-fill.src.js +17 -38
  860. package/modules/pictorial.js +2 -2
  861. package/modules/pictorial.src.js +76 -70
  862. package/modules/pointandfigure.js +2 -2
  863. package/modules/pointandfigure.src.js +52 -49
  864. package/modules/price-indicator.js +2 -2
  865. package/modules/price-indicator.src.js +17 -38
  866. package/modules/pyramid3d.js +2 -2
  867. package/modules/pyramid3d.src.js +23 -44
  868. package/modules/renko.js +2 -2
  869. package/modules/renko.src.js +23 -45
  870. package/modules/sankey.js +2 -2
  871. package/modules/sankey.src.js +29 -51
  872. package/modules/series-label.js +2 -2
  873. package/modules/series-label.src.js +22 -43
  874. package/modules/series-on-point.js +2 -2
  875. package/modules/series-on-point.src.js +52 -49
  876. package/modules/solid-gauge.js +2 -2
  877. package/modules/solid-gauge.src.js +23 -44
  878. package/modules/sonification.js +2 -2
  879. package/modules/sonification.src.js +23 -44
  880. package/modules/static-scale.js +2 -2
  881. package/modules/static-scale.src.js +30 -49
  882. package/modules/stock-tools.js +2 -2
  883. package/modules/stock-tools.src.js +34 -55
  884. package/modules/stock.js +6 -6
  885. package/modules/stock.src.js +132 -154
  886. package/modules/streamgraph.js +2 -2
  887. package/modules/streamgraph.src.js +23 -44
  888. package/modules/sunburst.js +2 -2
  889. package/modules/sunburst.src.js +43 -62
  890. package/modules/textpath.js +2 -2
  891. package/modules/textpath.src.js +17 -38
  892. package/modules/tiledwebmap.js +3 -3
  893. package/modules/tiledwebmap.src.js +24 -45
  894. package/modules/tilemap.js +2 -2
  895. package/modules/tilemap.src.js +27 -45
  896. package/modules/timeline.js +2 -2
  897. package/modules/timeline.src.js +24 -45
  898. package/modules/treegraph.js +2 -2
  899. package/modules/treegraph.src.js +28 -47
  900. package/modules/treegrid.js +2 -2
  901. package/modules/treegrid.src.js +52 -72
  902. package/modules/treemap.js +2 -2
  903. package/modules/treemap.src.js +39 -58
  904. package/modules/variable-pie.js +2 -2
  905. package/modules/variable-pie.src.js +24 -45
  906. package/modules/variwide.js +2 -2
  907. package/modules/variwide.src.js +33 -51
  908. package/modules/vector.js +2 -2
  909. package/modules/vector.src.js +23 -44
  910. package/modules/venn.js +2 -2
  911. package/modules/venn.src.js +23 -44
  912. package/modules/windbarb.js +2 -2
  913. package/modules/windbarb.src.js +23 -44
  914. package/modules/wordcloud.js +2 -2
  915. package/modules/wordcloud.src.js +23 -44
  916. package/modules/xrange.js +2 -2
  917. package/modules/xrange.src.js +23 -44
  918. package/options/abands.d.ts +183 -8
  919. package/options/abands.src.d.ts +183 -8
  920. package/options/ad.d.ts +176 -5
  921. package/options/ad.src.d.ts +176 -5
  922. package/options/ao.d.ts +202 -0
  923. package/options/ao.src.d.ts +202 -0
  924. package/options/apo.d.ts +178 -8
  925. package/options/apo.src.d.ts +178 -8
  926. package/options/arcdiagram.d.ts +785 -0
  927. package/options/arcdiagram.src.d.ts +785 -0
  928. package/options/area.d.ts +226 -0
  929. package/options/area.src.d.ts +226 -0
  930. package/options/arearange.d.ts +229 -8
  931. package/options/arearange.src.d.ts +229 -8
  932. package/options/areaspline.d.ts +1344 -8
  933. package/options/areaspline.src.d.ts +1344 -8
  934. package/options/areasplinerange.d.ts +972 -8
  935. package/options/areasplinerange.src.d.ts +972 -8
  936. package/options/aroon.d.ts +219 -0
  937. package/options/aroon.src.d.ts +219 -0
  938. package/options/aroonoscillator.d.ts +1140 -8
  939. package/options/aroonoscillator.src.d.ts +1140 -8
  940. package/options/atr.d.ts +210 -0
  941. package/options/atr.src.d.ts +210 -0
  942. package/options/bar.d.ts +183 -10
  943. package/options/bar.src.d.ts +183 -10
  944. package/options/bb.d.ts +1232 -0
  945. package/options/bb.src.d.ts +1232 -0
  946. package/options/bellcurve.d.ts +1167 -8
  947. package/options/bellcurve.src.d.ts +1167 -8
  948. package/options/boxplot.d.ts +163 -10
  949. package/options/boxplot.src.d.ts +163 -10
  950. package/options/bubble.d.ts +1005 -8
  951. package/options/bubble.src.d.ts +1005 -8
  952. package/options/bullet.d.ts +953 -8
  953. package/options/bullet.src.d.ts +953 -8
  954. package/options/candlestick.d.ts +1309 -8
  955. package/options/candlestick.src.d.ts +1309 -8
  956. package/options/cci.d.ts +210 -0
  957. package/options/cci.src.d.ts +210 -0
  958. package/options/chaikin.d.ts +180 -8
  959. package/options/chaikin.src.d.ts +180 -8
  960. package/options/cmf.d.ts +211 -0
  961. package/options/cmf.src.d.ts +211 -0
  962. package/options/cmo.d.ts +175 -5
  963. package/options/cmo.src.d.ts +175 -5
  964. package/options/column.d.ts +252 -2
  965. package/options/column.src.d.ts +252 -2
  966. package/options/columnpyramid.d.ts +1296 -0
  967. package/options/columnpyramid.src.d.ts +1296 -0
  968. package/options/columnrange.d.ts +216 -2
  969. package/options/columnrange.src.d.ts +216 -2
  970. package/options/contour.d.ts +1148 -0
  971. package/options/contour.src.d.ts +1148 -0
  972. package/options/cylinder.d.ts +183 -2
  973. package/options/cylinder.src.d.ts +183 -2
  974. package/options/dema.d.ts +1181 -0
  975. package/options/dema.src.d.ts +1181 -0
  976. package/options/dependencywheel.d.ts +315 -0
  977. package/options/dependencywheel.src.d.ts +315 -0
  978. package/options/disparityindex.d.ts +1157 -8
  979. package/options/disparityindex.src.d.ts +1157 -8
  980. package/options/dmi.d.ts +1227 -0
  981. package/options/dmi.src.d.ts +1227 -0
  982. package/options/dpo.d.ts +1140 -8
  983. package/options/dpo.src.d.ts +1140 -8
  984. package/options/dumbbell.d.ts +286 -0
  985. package/options/dumbbell.src.d.ts +286 -0
  986. package/options/ema.d.ts +1156 -5
  987. package/options/ema.src.d.ts +1156 -5
  988. package/options/errorbar.d.ts +1286 -0
  989. package/options/errorbar.src.d.ts +1286 -0
  990. package/options/flags.d.ts +1269 -8
  991. package/options/flags.src.d.ts +1269 -8
  992. package/options/flowmap.d.ts +551 -0
  993. package/options/flowmap.src.d.ts +551 -0
  994. package/options/funnel.d.ts +728 -10
  995. package/options/funnel.src.d.ts +728 -10
  996. package/options/gantt.d.ts +1011 -0
  997. package/options/gantt.src.d.ts +1011 -0
  998. package/options/gauge.d.ts +675 -0
  999. package/options/gauge.src.d.ts +675 -0
  1000. package/options/geoheatmap.d.ts +585 -8
  1001. package/options/geoheatmap.src.d.ts +585 -8
  1002. package/options/heatmap.d.ts +1054 -8
  1003. package/options/heatmap.src.d.ts +1054 -8
  1004. package/options/heikinashi.d.ts +178 -10
  1005. package/options/heikinashi.src.d.ts +178 -10
  1006. package/options/histogram.d.ts +1226 -0
  1007. package/options/histogram.src.d.ts +1226 -0
  1008. package/options/hlc.d.ts +223 -2
  1009. package/options/hlc.src.d.ts +223 -2
  1010. package/options/hollowcandlestick.d.ts +1335 -0
  1011. package/options/hollowcandlestick.src.d.ts +1335 -0
  1012. package/options/ikh.d.ts +228 -5
  1013. package/options/ikh.src.d.ts +228 -5
  1014. package/options/item.d.ts +217 -8
  1015. package/options/item.src.d.ts +217 -8
  1016. package/options/keltnerchannels.d.ts +1220 -0
  1017. package/options/keltnerchannels.src.d.ts +1220 -0
  1018. package/options/klinger.d.ts +1162 -0
  1019. package/options/klinger.src.d.ts +1162 -0
  1020. package/options/line.d.ts +1377 -8
  1021. package/options/line.src.d.ts +1377 -8
  1022. package/options/linearregression.d.ts +199 -5
  1023. package/options/linearregression.src.d.ts +199 -5
  1024. package/options/linearregressionangle.d.ts +1157 -5
  1025. package/options/linearregressionangle.src.d.ts +1157 -5
  1026. package/options/linearregressionintercept.d.ts +240 -0
  1027. package/options/linearregressionintercept.src.d.ts +240 -0
  1028. package/options/linearregressionslope.d.ts +240 -0
  1029. package/options/linearregressionslope.src.d.ts +240 -0
  1030. package/options/lollipop.d.ts +949 -0
  1031. package/options/lollipop.src.d.ts +949 -0
  1032. package/options/macd.d.ts +254 -0
  1033. package/options/macd.src.d.ts +254 -0
  1034. package/options/map.d.ts +150 -8
  1035. package/options/map.src.d.ts +150 -8
  1036. package/options/mapbubble.d.ts +1016 -8
  1037. package/options/mapbubble.src.d.ts +1016 -8
  1038. package/options/mapline.d.ts +994 -0
  1039. package/options/mapline.src.d.ts +994 -0
  1040. package/options/mappoint.d.ts +1105 -1
  1041. package/options/mappoint.src.d.ts +1105 -1
  1042. package/options/mfi.d.ts +181 -5
  1043. package/options/mfi.src.d.ts +181 -5
  1044. package/options/momentum.d.ts +215 -0
  1045. package/options/momentum.src.d.ts +215 -0
  1046. package/options/natr.d.ts +170 -5
  1047. package/options/natr.src.d.ts +170 -5
  1048. package/options/networkgraph.d.ts +365 -0
  1049. package/options/networkgraph.src.d.ts +365 -0
  1050. package/options/obv.d.ts +170 -5
  1051. package/options/obv.src.d.ts +170 -5
  1052. package/options/ohlc.d.ts +183 -7
  1053. package/options/ohlc.src.d.ts +183 -7
  1054. package/options/organization.d.ts +808 -0
  1055. package/options/organization.src.d.ts +808 -0
  1056. package/options/packedbubble.d.ts +877 -8
  1057. package/options/packedbubble.src.d.ts +877 -8
  1058. package/options/pareto.d.ts +1028 -0
  1059. package/options/pareto.src.d.ts +1028 -0
  1060. package/options/pc.d.ts +183 -8
  1061. package/options/pc.src.d.ts +183 -8
  1062. package/options/pictorial.d.ts +202 -2
  1063. package/options/pictorial.src.d.ts +202 -2
  1064. package/options/pie.d.ts +196 -8
  1065. package/options/pie.src.d.ts +196 -8
  1066. package/options/pivotpoints.d.ts +1199 -0
  1067. package/options/pivotpoints.src.d.ts +1199 -0
  1068. package/options/pointandfigure.d.ts +980 -0
  1069. package/options/pointandfigure.src.d.ts +980 -0
  1070. package/options/polygon.d.ts +234 -0
  1071. package/options/polygon.src.d.ts +234 -0
  1072. package/options/ppo.d.ts +1156 -8
  1073. package/options/ppo.src.d.ts +1156 -8
  1074. package/options/priceenvelopes.d.ts +1229 -0
  1075. package/options/priceenvelopes.src.d.ts +1229 -0
  1076. package/options/psar.d.ts +1156 -5
  1077. package/options/psar.src.d.ts +1156 -5
  1078. package/options/pyramid.d.ts +837 -2
  1079. package/options/pyramid.src.d.ts +837 -2
  1080. package/options/renko.d.ts +247 -10
  1081. package/options/renko.src.d.ts +247 -10
  1082. package/options/roc.d.ts +1215 -0
  1083. package/options/roc.src.d.ts +1215 -0
  1084. package/options/rsi.d.ts +1157 -5
  1085. package/options/rsi.src.d.ts +1157 -5
  1086. package/options/sankey.d.ts +276 -8
  1087. package/options/sankey.src.d.ts +276 -8
  1088. package/options/scatter.d.ts +3043 -1018
  1089. package/options/scatter.src.d.ts +3043 -1018
  1090. package/options/series.d.ts +175 -0
  1091. package/options/series.src.d.ts +175 -0
  1092. package/options/slowstochastic.d.ts +183 -0
  1093. package/options/slowstochastic.src.d.ts +183 -0
  1094. package/options/sma.d.ts +211 -0
  1095. package/options/sma.src.d.ts +211 -0
  1096. package/options/solidgauge.d.ts +218 -0
  1097. package/options/solidgauge.src.d.ts +218 -0
  1098. package/options/spline.d.ts +230 -0
  1099. package/options/spline.src.d.ts +230 -0
  1100. package/options/stochastic.d.ts +1170 -8
  1101. package/options/stochastic.src.d.ts +1170 -8
  1102. package/options/streamgraph.d.ts +1345 -8
  1103. package/options/streamgraph.src.d.ts +1345 -8
  1104. package/options/sunburst.d.ts +286 -9
  1105. package/options/sunburst.src.d.ts +286 -9
  1106. package/options/supertrend.d.ts +1208 -0
  1107. package/options/supertrend.src.d.ts +1208 -0
  1108. package/options/tema.d.ts +1140 -8
  1109. package/options/tema.src.d.ts +1140 -8
  1110. package/options/tiledwebmap.d.ts +164 -0
  1111. package/options/tiledwebmap.src.d.ts +164 -0
  1112. package/options/tilemap.d.ts +687 -0
  1113. package/options/tilemap.src.d.ts +687 -0
  1114. package/options/timeline.d.ts +282 -0
  1115. package/options/timeline.src.d.ts +282 -0
  1116. package/options/treegraph.d.ts +982 -0
  1117. package/options/treegraph.src.d.ts +982 -0
  1118. package/options/treemap.d.ts +1396 -22
  1119. package/options/treemap.src.d.ts +1396 -22
  1120. package/options/trendline.d.ts +211 -0
  1121. package/options/trendline.src.d.ts +211 -0
  1122. package/options/trix.d.ts +178 -8
  1123. package/options/trix.src.d.ts +178 -8
  1124. package/options/variablepie.d.ts +686 -8
  1125. package/options/variablepie.src.d.ts +686 -8
  1126. package/options/variwide.d.ts +178 -2
  1127. package/options/variwide.src.d.ts +178 -2
  1128. package/options/vbp.d.ts +576 -0
  1129. package/options/vbp.src.d.ts +576 -0
  1130. package/options/vector.d.ts +660 -0
  1131. package/options/vector.src.d.ts +660 -0
  1132. package/options/venn.d.ts +654 -0
  1133. package/options/venn.src.d.ts +654 -0
  1134. package/options/vwap.d.ts +1157 -5
  1135. package/options/vwap.src.d.ts +1157 -5
  1136. package/options/waterfall.d.ts +1254 -8
  1137. package/options/waterfall.src.d.ts +1254 -8
  1138. package/options/williamsr.d.ts +209 -0
  1139. package/options/williamsr.src.d.ts +209 -0
  1140. package/options/windbarb.d.ts +222 -2
  1141. package/options/windbarb.src.d.ts +222 -2
  1142. package/options/wma.d.ts +1156 -5
  1143. package/options/wma.src.d.ts +1156 -5
  1144. package/options/wordcloud.d.ts +682 -0
  1145. package/options/wordcloud.src.d.ts +682 -0
  1146. package/options/xrange.d.ts +1168 -0
  1147. package/options/xrange.src.d.ts +1168 -0
  1148. package/options/zigzag.d.ts +1197 -0
  1149. package/options/zigzag.src.d.ts +1197 -0
  1150. package/package.json +1 -1
  1151. package/standalone-navigator.js +4 -4
  1152. package/standalone-navigator.src.js +884 -803
  1153. package/themes/adaptive.js +2 -2
  1154. package/themes/adaptive.src.js +22 -43
  1155. package/themes/avocado.js +2 -2
  1156. package/themes/avocado.src.js +17 -38
  1157. package/themes/dark-unica.js +2 -2
  1158. package/themes/dark-unica.src.js +17 -38
  1159. package/themes/grid-light.js +2 -2
  1160. package/themes/grid-light.src.js +17 -38
  1161. package/themes/high-contrast.js +2 -2
  1162. package/themes/high-contrast.src.js +17 -38
  1163. package/themes/sand-signika.js +2 -2
  1164. package/themes/sand-signika.src.js +17 -38
  1165. package/themes/sunset.js +2 -2
  1166. package/themes/sunset.src.js +17 -38
@@ -1,6 +1,6 @@
1
1
  // SPDX-License-Identifier: LicenseRef-Highcharts
2
2
  /**
3
- * @license Highcharts JS v13.0.2 (2026-08-27)
3
+ * @license Highcharts JS v13.1.0 (2026-09-18)
4
4
  * @module highcharts/modules/cylinder
5
5
  * @requires highcharts
6
6
  * @requires highcharts/highcharts-3d
@@ -15,14 +15,14 @@
15
15
  */
16
16
  (function webpackUniversalModuleDefinition(root, factory) {
17
17
  if(typeof exports === 'object' && typeof module === 'object')
18
- module.exports = factory(root["_Highcharts"], root["_Highcharts"]["SVGRenderer"], root["_Highcharts"]["Color"], root["_Highcharts"]["SVGElement"], root["_Highcharts"]["SeriesRegistry"]);
18
+ module.exports = factory(root["_Highcharts"]["Color"], root["_Highcharts"]["SVGElement"], root["_Highcharts"]["SVGRenderer"], root["_Highcharts"]["SeriesRegistry"], root["_Highcharts"]);
19
19
  else if(typeof define === 'function' && define.amd)
20
- define("highcharts/modules/cylinder", ["highcharts/highcharts"], function (amd1) {return factory(amd1,amd1["SVGRenderer"],amd1["Color"],amd1["SVGElement"],amd1["SeriesRegistry"]);});
20
+ define("highcharts/modules/cylinder", ["highcharts/highcharts"], function (amd1) {return factory(amd1["Color"],amd1["SVGElement"],amd1["SVGRenderer"],amd1["SeriesRegistry"],amd1);});
21
21
  else if(typeof exports === 'object')
22
- exports["highcharts/modules/cylinder"] = factory(root["_Highcharts"], root["_Highcharts"]["SVGRenderer"], root["_Highcharts"]["Color"], root["_Highcharts"]["SVGElement"], root["_Highcharts"]["SeriesRegistry"]);
22
+ exports["highcharts/modules/cylinder"] = factory(root["_Highcharts"]["Color"], root["_Highcharts"]["SVGElement"], root["_Highcharts"]["SVGRenderer"], root["_Highcharts"]["SeriesRegistry"], root["_Highcharts"]);
23
23
  else
24
- root["Highcharts"] = factory(root["Highcharts"], root["Highcharts"]["SVGRenderer"], root["Highcharts"]["Color"], root["Highcharts"]["SVGElement"], root["Highcharts"]["SeriesRegistry"]);
25
- })(typeof window === 'undefined' ? this : window, (__WEBPACK_EXTERNAL_MODULE__944__, __WEBPACK_EXTERNAL_MODULE__540__, __WEBPACK_EXTERNAL_MODULE__620__, __WEBPACK_EXTERNAL_MODULE__28__, __WEBPACK_EXTERNAL_MODULE__512__) => {
24
+ root["Highcharts"] = factory(root["Highcharts"]["Color"], root["Highcharts"]["SVGElement"], root["Highcharts"]["SVGRenderer"], root["Highcharts"]["SeriesRegistry"], root["Highcharts"]);
25
+ })(typeof window === 'undefined' ? this : window, (__WEBPACK_EXTERNAL_MODULE__620__, __WEBPACK_EXTERNAL_MODULE__28__, __WEBPACK_EXTERNAL_MODULE__540__, __WEBPACK_EXTERNAL_MODULE__512__, __WEBPACK_EXTERNAL_MODULE__944__) => {
26
26
  return /******/ (() => { // webpackBootstrap
27
27
  /******/ "use strict";
28
28
  /******/ var __webpack_modules__ = ({
@@ -90,48 +90,27 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__944__;
90
90
  /******/
91
91
  /************************************************************************/
92
92
  /******/ /* webpack/runtime/compat get default export */
93
- /******/ (() => {
94
- /******/ // getDefaultExport function for compatibility with non-harmony modules
95
- /******/ __webpack_require__.n = (module) => {
96
- /******/ const getter = module && module.__esModule ?
97
- /******/ () => (module['default']) :
98
- /******/ () => (module);
99
- /******/ __webpack_require__.d(getter, { a: getter });
100
- /******/ return getter;
101
- /******/ };
102
- /******/ })();
93
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
94
+ /******/ __webpack_require__.n = (module) => {
95
+ /******/ const getter = module && module.__esModule ?
96
+ /******/ () => (module['default']) :
97
+ /******/ () => (module);
98
+ /******/ __webpack_require__.d(getter, { a: getter });
99
+ /******/ return getter;
100
+ /******/ };
103
101
  /******/
104
102
  /******/ /* webpack/runtime/define property getters */
105
- /******/ (() => {
106
- /******/ // define getter/value functions for harmony exports
107
- /******/ __webpack_require__.d = (exports, definition) => {
108
- /******/ if(Array.isArray(definition)) {
109
- /******/ var i = 0;
110
- /******/ while(i < definition.length) {
111
- /******/ var key = definition[i++];
112
- /******/ var binding = definition[i++];
113
- /******/ if(!__webpack_require__.o(exports, key)) {
114
- /******/ if(binding === 0) {
115
- /******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] });
116
- /******/ } else {
117
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: binding });
118
- /******/ }
119
- /******/ } else if(binding === 0) { i++; }
120
- /******/ }
121
- /******/ } else {
122
- /******/ for(var key in definition) {
123
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
124
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
125
- /******/ }
126
- /******/ }
103
+ /******/ // define getter/value functions for harmony exports
104
+ /******/ __webpack_require__.d = (exports, definition) => {
105
+ /******/ for(var key in definition) {
106
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
107
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
127
108
  /******/ }
128
- /******/ };
129
- /******/ })();
109
+ /******/ }
110
+ /******/ };
130
111
  /******/
131
112
  /******/ /* webpack/runtime/hasOwnProperty shorthand */
132
- /******/ (() => {
133
- /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
134
- /******/ })();
113
+ /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop));
135
114
  /******/
136
115
  /************************************************************************/
137
116
  let __webpack_exports__ = {};
@@ -993,7 +972,7 @@ const { column: { prototype: { pointClass: ColumnPoint } } } = (highcharts_Serie
993
972
  /** @internal */
994
973
  class CylinderPoint extends ColumnPoint {
995
974
  }
996
- (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.extend)(CylinderPoint.prototype, {
975
+ ;(0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.extend)(CylinderPoint.prototype, {
997
976
  shapeType: 'cylinder'
998
977
  });
999
978
  /* *
@@ -1,5 +1,5 @@
1
1
  !/**
2
- * Highcharts JS v13.0.2 (2026-08-27)
2
+ * Highcharts JS v13.1.0 (2026-09-18)
3
3
  * @module highcharts/modules/data-sorting
4
4
  * @requires highcharts
5
5
  *
@@ -8,4 +8,4 @@
8
8
  * (c) 2025-2025 Torstein Honsi
9
9
  *
10
10
  * License: www.highcharts.com/license
11
- */function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(e._Highcharts):"function"==typeof define&&define.amd?define("highcharts/modules/data-sorting",["highcharts/highcharts"],function(e){return t(e)}):"object"==typeof exports?exports["highcharts/modules/data-sorting"]=t(e._Highcharts):e.Highcharts=t(e.Highcharts)}("u"<typeof window?this:window,e=>(()=>{"use strict";var t={944(t){t.exports=e}};let n={};function r(e){let i=n[e];if(void 0!==i)return i.exports;let o=n[e]={exports:{}};return t[e](o,o.exports,r),o.exports}r.n=e=>{let t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{if(Array.isArray(t))for(var n=0;n<t.length;){var i=t[n++],o=t[n++];r.o(e,i)?0===o&&n++:0===o?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:o})}else for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);let i={};r.d(i,{default:()=>c});var o=r(944),a=r.n(o);function s(e){e.series.concat().sort((e,t)=>e.linkedSeries.length||t.linkedSeries.length?t.linkedSeries.length-e.linkedSeries.length:0).forEach(e=>{e.points||e.data||!e.enabledDataSorting||e.setData(e.options.data,!1)})}function d(e){var t;(0,o.extend)(e,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),(t=e.options).pointRange??(t.pointRange=1)}let l=a();({compose:function(e,t){(0,o.wrap)(t.prototype,"setData",function(e,t,...n){if(this.options.dataSorting?.enabled){if(!this.chart.hasInitializedLinkedSeries)return this;Array.isArray(t)&&(t=function(e,t){let{sortKey:n="y"}=e.options.dataSorting||{},r=function(e,t){return(0,o.defined)(t)&&e.pointClass.prototype.optionsToObject.call({series:e},t)||{}};return t.forEach((n,i)=>{t[i]=r(e,n),t[i].index=i}),t.concat().sort((e,t)=>{let r=(0,o.getNestedProperty)(n,e),i=(0,o.getNestedProperty)(n,t);return i<r?-1:+(i>r)}).forEach((e,t)=>{e.x=t}),e.linkedSeries&&e.linkedSeries.forEach(e=>{let n=e.options,i=n.data;!n.dataSorting?.enabled&&i&&(i.forEach((n,o)=>{i[o]=r(e,n),t[o]&&(i[o].x=t[o].x,i[o].index=o)}),e.setData(i,!1))}),t}(this,t))}return e.apply(this,[t].concat(n))}),(0,o.addEvent)(e,"beforeRender",function(){s(this)}),(0,o.addEvent)(e,"afterLinkSeries",function(){this.series.forEach(e=>{e.linkedParent?.enabledDataSorting&&d(e)}),this.hasInitializedLinkedSeries=!0}),(0,o.addEvent)(e,"afterAddSeries",function({series:e}){e.enabledDataSorting&&e.setData(e.options.data,!1)}),(0,o.addEvent)(t,"afterUpdate",function(){s(this.chart)}),(0,o.addEvent)(t,"afterInit",function(){this.options.dataSorting?.enabled&&d(this)})}}).compose(l.Chart,l.Series);let c=a();return i.default})());
11
+ */function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts):"function"==typeof define&&define.amd?define("highcharts/modules/data-sorting",["highcharts/highcharts"],function(t){return e(t)}):"object"==typeof exports?exports["highcharts/modules/data-sorting"]=e(t._Highcharts):t.Highcharts=e(t.Highcharts)}("u"<typeof window?this:window,t=>(()=>{"use strict";var e={944(e){e.exports=t}};let n={};function i(t){let r=n[t];if(void 0!==r)return r.exports;let o=n[t]={exports:{}};return e[t](o,o.exports,i),o.exports}i.n=t=>{let e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let r={};i.d(r,{default:()=>h});var o=i(944),a=i.n(o);function s(t){t.series.concat().sort((t,e)=>t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0).forEach(t=>{t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}function d(t){var e;(0,o.extend)(t,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),(e=t.options).pointRange??(e.pointRange=1)}let c=a();({compose:function(t,e){(0,o.wrap)(e.prototype,"setData",function(t,e,...n){if(this.options.dataSorting?.enabled){if(!this.chart.hasInitializedLinkedSeries)return this;Array.isArray(e)&&(e=function(t,e){let{sortKey:n="y"}=t.options.dataSorting||{},i=function(t,e){return(0,o.defined)(e)&&t.pointClass.prototype.optionsToObject.call({series:t},e)||{}};return e.forEach((n,r)=>{e[r]=i(t,n),e[r].index=r}),e.concat().sort((t,e)=>{let i=(0,o.getNestedProperty)(n,t),r=(0,o.getNestedProperty)(n,e);return r<i?-1:+(r>i)}).forEach((t,e)=>{t.x=e}),t.linkedSeries&&t.linkedSeries.forEach(t=>{let n=t.options,r=n.data;!n.dataSorting?.enabled&&r&&(r.forEach((n,o)=>{r[o]=i(t,n),e[o]&&(r[o].x=e[o].x,r[o].index=o)}),t.setData(r,!1))}),e}(this,e))}return t.apply(this,[e].concat(n))}),(0,o.addEvent)(t,"beforeRender",function(){s(this)}),(0,o.addEvent)(t,"afterLinkSeries",function(){this.series.forEach(t=>{t.linkedParent?.enabledDataSorting&&d(t)}),this.hasInitializedLinkedSeries=!0}),(0,o.addEvent)(t,"afterAddSeries",function({series:t}){t.enabledDataSorting&&t.setData(t.options.data,!1)}),(0,o.addEvent)(e,"afterUpdate",function(){s(this.chart)}),(0,o.addEvent)(e,"afterInit",function(){this.options.dataSorting?.enabled&&d(this)})}}).compose(c.Chart,c.Series);let h=a();return r.default})());
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v13.0.2 (2026-08-27)
2
+ * @license Highcharts JS v13.1.0 (2026-09-18)
3
3
  * @module highcharts/modules/data-sorting
4
4
  * @requires highcharts
5
5
  *
@@ -58,48 +58,27 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__944__;
58
58
  /******/
59
59
  /************************************************************************/
60
60
  /******/ /* webpack/runtime/compat get default export */
61
- /******/ (() => {
62
- /******/ // getDefaultExport function for compatibility with non-harmony modules
63
- /******/ __webpack_require__.n = (module) => {
64
- /******/ const getter = module && module.__esModule ?
65
- /******/ () => (module['default']) :
66
- /******/ () => (module);
67
- /******/ __webpack_require__.d(getter, { a: getter });
68
- /******/ return getter;
69
- /******/ };
70
- /******/ })();
61
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
62
+ /******/ __webpack_require__.n = (module) => {
63
+ /******/ const getter = module && module.__esModule ?
64
+ /******/ () => (module['default']) :
65
+ /******/ () => (module);
66
+ /******/ __webpack_require__.d(getter, { a: getter });
67
+ /******/ return getter;
68
+ /******/ };
71
69
  /******/
72
70
  /******/ /* webpack/runtime/define property getters */
73
- /******/ (() => {
74
- /******/ // define getter/value functions for harmony exports
75
- /******/ __webpack_require__.d = (exports, definition) => {
76
- /******/ if(Array.isArray(definition)) {
77
- /******/ var i = 0;
78
- /******/ while(i < definition.length) {
79
- /******/ var key = definition[i++];
80
- /******/ var binding = definition[i++];
81
- /******/ if(!__webpack_require__.o(exports, key)) {
82
- /******/ if(binding === 0) {
83
- /******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] });
84
- /******/ } else {
85
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: binding });
86
- /******/ }
87
- /******/ } else if(binding === 0) { i++; }
88
- /******/ }
89
- /******/ } else {
90
- /******/ for(var key in definition) {
91
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
92
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
93
- /******/ }
94
- /******/ }
71
+ /******/ // define getter/value functions for harmony exports
72
+ /******/ __webpack_require__.d = (exports, definition) => {
73
+ /******/ for(var key in definition) {
74
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
75
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
95
76
  /******/ }
96
- /******/ };
97
- /******/ })();
77
+ /******/ }
78
+ /******/ };
98
79
  /******/
99
80
  /******/ /* webpack/runtime/hasOwnProperty shorthand */
100
- /******/ (() => {
101
- /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
102
- /******/ })();
81
+ /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop));
103
82
  /******/
104
83
  /************************************************************************/
105
84
  let __webpack_exports__ = {};
@@ -221,7 +200,7 @@ function setDataSortingProperties(series) {
221
200
  * @private
222
201
  */
223
202
  function compose(ChartClass, SeriesClass) {
224
- (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.wrap)(SeriesClass.prototype, 'setData', function (proceed, data, ...args) {
203
+ ;(0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.wrap)(SeriesClass.prototype, 'setData', function (proceed, data, ...args) {
225
204
  if (this.options.dataSorting?.enabled) {
226
205
  // Not ready until we have linked series. Instead, call
227
206
  // `setData` again on `beforeRender`.
@@ -1,5 +1,5 @@
1
1
  !/**
2
- * Highcharts JS v13.0.2 (2026-08-27)
2
+ * Highcharts JS v13.1.0 (2026-09-18)
3
3
  * @module highcharts/modules/data-tools
4
4
  * @requires highcharts
5
5
  *
@@ -9,4 +9,4 @@
9
9
  *
10
10
  * A commercial license may be required depending on use,
11
11
  * see www.highcharts.com/license
12
- */function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(e._Highcharts):"function"==typeof define&&define.amd?define("highcharts/modules/data-tools",["highcharts/highcharts"],function(e){return t(e)}):"object"==typeof exports?exports["highcharts/modules/data-tools"]=t(e._Highcharts):e.Highcharts=t(e.Highcharts)}("u"<typeof window?this:window,e=>(()=>{"use strict";var t={944(t){t.exports=e}};let r={};function s(e){let n=r[e];if(void 0!==n)return n.exports;let i=r[e]={exports:{}};return t[e](i,i.exports,s),i.exports}s.n=e=>{let t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{if(Array.isArray(t))for(var r=0;r<t.length;){var n=t[r++],i=t[r++];s.o(e,n)?0===i&&r++:0===i?Object.defineProperty(e,n,{enumerable:!0,value:t[r++]}):Object.defineProperty(e,n,{enumerable:!0,get:i})}else for(var n in t)s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);let n={};s.d(n,{default:()=>eG});var i=s(944),o=s.n(i);class l{static registerType(e,t){return!!e&&!l.types[e]&&!!(l.types[e]=t)}benchmark(e,t){let r=[],s=this,n=()=>{s.modifyTable(e),s.emit({type:"afterBenchmarkIteration"})},{iterations:o}=(0,i.merge)({iterations:1},t);s.on("afterBenchmarkIteration",()=>{r.length===o?s.emit({type:"afterBenchmark",results:r}):n()});let l={startTime:0,endTime:0};return s.on("modify",()=>{l.startTime=window.performance.now()}),s.on("afterModify",()=>{l.endTime=window.performance.now(),r.push(l.endTime-l.startTime)}),n(),r}emit(e){(0,i.fireEvent)(this,e.type,e)}modify(e,t){let r=this;return new Promise((s,n)=>{e.modified||(e.modified=e.clone(!1,t));try{s(r.modifyTable(e,t))}catch(s){r.emit({type:"error",detail:t,table:e}),n(s instanceof Error?s:Error(""+s))}})}on(e,t){return(0,i.addEvent)(this,e,t)}}l.types={};let a=l,u={convertToNumber:function(e,t){switch(typeof e){case"boolean":return+!!e;case"number":return isNaN(e)&&!t?null:e;default:return isNaN(e=parseFloat(`${e??""}`))&&!t?null:e}},setLength:function(e,t,r){return Array.isArray(e)?(e.length=t,e):e[r?"subarray":"slice"](0,t)},splice:function(e,t,r,s,n=[]){if(Array.isArray(e))return Array.isArray(n)||(n=Array.from(n)),{removed:e.splice(t,r,...n),array:e};let i=Object.getPrototypeOf(e).constructor,o=e[s?"subarray":"slice"](t,t+r),l=new i(e.length-r+n.length);return l.set(e.subarray(0,t),0),l.set(n,t),l.set(e.subarray(t+r),t+n.length),{removed:o,array:l}}},{setLength:h,splice:c}=u,d=class{constructor(e={}){this.isDataTable=!0,this.autoId=!e.id,this.columns={},this.id=e.id||(0,i.uniqueKey)(),this.rowCount=0,this.versionTag=(0,i.uniqueKey)();let t=0;(0,i.objectEach)(e.columns||{},(e,r)=>{this.columns[r]=e.slice(),t=Math.max(t,e.length)}),this.applyRowCount(t)}applyRowCount(e){this.rowCount=e,(0,i.objectEach)(this.columns,(t,r)=>{t.length!==e&&(this.columns[r]=h(t,e))})}deleteRows(e,t=1){if(t>0&&e<this.rowCount){let r=0;(0,i.objectEach)(this.columns,(s,n)=>{this.columns[n]=c(s,e,t).array,r=s.length}),this.rowCount=r}(0,i.fireEvent)(this,"afterDeleteRows",{rowIndex:e,rowCount:t}),this.versionTag=(0,i.uniqueKey)()}getColumn(e,t){return this.columns[e]}getColumns(e,t){return(e||Object.keys(this.columns)).reduce((e,t)=>(e[t]=this.columns[t],e),{})}getRowObject(e,t){let r={},s=this.columns;for(let n of(t??(t=Object.keys(this.columns)),t))r[n]=s[n]?.[e];return r}setColumn(e,t=[],r=0,s){this.setColumns({[e]:t},r,s)}setColumns(e,t,r){let s=this.rowCount;(0,i.objectEach)(e,(e,t)=>{this.columns[t]=e.slice(),s=e.length}),this.applyRowCount(s),r?.silent||((0,i.fireEvent)(this,"afterSetColumns"),this.versionTag=(0,i.uniqueKey)())}setRow(e,t=this.rowCount,r,s){var n;let{columns:o}=this,l=r?this.rowCount+1:t+1,a=Object.keys(e);if(s?.addColumns!==!1)for(let e=0,t=a.length;e<t;e++)o[n=a[e]]||(o[n]=Array(this.rowCount));(0,i.objectEach)(o,(s,n)=>{s&&(r?s=c(s,t,0,!0,[e[n]]).array:s[t]=n in e?e[n]:s[t],o[n]=s)}),this.applyRowCount(Math.max(l,this.rowCount)),s?.silent||((0,i.fireEvent)(this,"afterSetRows",{rowIndex:t}),this.versionTag=(0,i.uniqueKey)())}getModified(){return this.modified||this}},{splice:f,setLength:p}=u;class m extends d{constructor(e={}){super(e),this.metadata=e.metadata}clone(e,t){let r={};this.emit({type:"cloneTable",detail:t}),e||(r.columns=this.columns),this.autoId||(r.id=this.id);let s=new m(r);return e||(s.versionTag=this.versionTag,s.originalRowIndexes=this.originalRowIndexes,s.localRowIndexes=this.localRowIndexes),s.metadata={...this.metadata},this.emit({type:"afterCloneTable",detail:t,tableClone:s}),s}deleteColumns(e,t){let r=this.columns,s={},n={},i=this.modifier,o=this.rowCount;if((e=e||Object.keys(r)).length){this.emit({type:"deleteColumns",columnIds:e,detail:t});for(let t=0,i=e.length,l,a;t<i;++t)(l=r[a=e[t]])&&(s[a]=l,n[a]=Array(o)),delete r[a];return Object.keys(r).length||(this.rowCount=0,this.deleteRowIndexReferences()),i&&i.modifyTable(this),this.emit({type:"afterDeleteColumns",columns:s,columnIds:e,detail:t}),s}}deleteRowIndexReferences(){delete this.originalRowIndexes,delete this.localRowIndexes}deleteRows(e,t=1,r){let s,n,{columns:o,modifier:l}=this,a=[];if((0,i.defined)(e)?Array.isArray(e)?n=(s=e.filter((e,t,r)=>e>=0&&e<this.rowCount&&r.indexOf(e)===t).sort((e,t)=>t-e)).length:(s=[e],n=t):(s=[0],n=this.rowCount),this.emit({type:"deleteRows",detail:r,rowCount:n,rowIndex:e??0}),n>0){let e=Object.keys(o);for(let t=0;t<e.length;++t){let r,i=e[t],l=o[i];if(1===s.length&&n>1){let e=f(l,s[0],n);r=e.removed,o[i]=e.array}else{for(let e of(r=[],s))r.push(l[e]),f(l,e,1);r.reverse()}t||(this.rowCount=l.length);for(let e=0,s=r.length;e<s;++e)a[e]=a[e]||[],a[e][t]=r[e]}}return l&&l.modifyTable(this),this.emit({type:"afterDeleteRows",detail:r,rowCount:n,rowIndex:e??0,rows:a}),a}emit(e){["afterDeleteColumns","afterDeleteRows","afterSetCell","afterSetColumns","afterSetRows"].includes(e.type)&&(this.versionTag=(0,i.uniqueKey)()),(0,i.fireEvent)(this,e.type,e)}getCell(e,t){let r=this.columns[e];if(r)return r[t]}getColumn(e,t){return this.getColumns([e],t)[e]}getColumnIds(){return Object.keys(this.columns)}getColumns(e,t,r){let s=this.columns,n={};e=e||Object.keys(s);for(let i=0,o=e.length,l,a;i<o;++i)(l=s[a=e[i]])&&(t?n[a]=l:r&&!Array.isArray(l)?n[a]=Array.from(l):n[a]=l.slice());return n}getLocalRowIndex(e){let{localRowIndexes:t}=this;return t?t[e]:e}getModifier(){return this.modifier}getOriginalRowIndex(e){let{originalRowIndexes:t}=this;return t?t[e]:e}getRow(e,t){return this.getRows(e,1,t)[0]}getRowCount(){return this.rowCount}getRowIndexBy(e,t,r){let s=this.columns[e];if(s){let e=-1;if(Array.isArray(s)?e=s.indexOf(t,r):(0,i.isNumber)(t)&&(e=s.indexOf(t,r)),-1!==e)return e}}getRowObject(e,t){return this.getRowObjects(e,1,t)[0]}getRowObjects(e=0,t=this.rowCount-e,r){let s=this.columns,n=Array(t);r=r||Object.keys(s);for(let i=e,o=0,l=Math.min(this.rowCount,e+t),a,u;i<l;++i,++o)for(let e of(u=n[o]={},r))a=s[e],u[e]=a?a[i]:void 0;return n}getRows(e=0,t=this.rowCount-e,r){let s=this.columns,n=Array(t);r=r||Object.keys(s);for(let i=e,o=0,l=Math.min(this.rowCount,e+t),a,u;i<l;++i,++o)for(let e of(u=n[o]=[],r))a=s[e],u.push(a?a[i]:void 0);return n}getVersionTag(){return this.versionTag}hasColumns(e){let t=this.columns;for(let r=0,s=e.length;r<s;++r)if(!t[e[r]])return!1;return!0}hasRowWith(e,t){let r=this.columns[e];return Array.isArray(r)?-1!==r.indexOf(t):!!((0,i.defined)(t)&&Number.isFinite(t))&&-1!==r.indexOf(+t)}on(e,t){return(0,i.addEvent)(this,e,t)}changeColumnId(e,t){let r=this.columns;return!!r[e]&&(e!==t&&(r[t]=r[e],delete r[e]),!0)}setCell(e,t,r,s){let n=this.columns,i=this.modifier,o=n[e];o&&o[t]===r||(this.emit({type:"setCell",cellValue:r,columnId:e,detail:s,rowIndex:t}),o||(o=n[e]=Array(this.rowCount)),t>=this.rowCount&&(this.rowCount=t+1),o[t]=r,i&&i.modifyTable(this),this.emit({type:"afterSetCell",cellValue:r,columnId:e,detail:s,rowIndex:t}))}setColumns(e,t,r,s){let n=this.columns,o=this.modifier,l=Object.keys(e),a=this.rowCount;if(this.emit({type:"setColumns",columns:e,columnIds:l,detail:r,rowIndex:t}),(0,i.defined)(t)||s){for(let r=0,i=l.length,o,u,h,c;r<i;++r){o=e[h=l[r]],c=Object.getPrototypeOf((u=n[h])&&s?u:o).constructor,u?c===Array?Array.isArray(u)||(u=Array.from(u)):u.length<a&&(u=new c(a)).set(n[h]):u=new c(a),n[h]=u;for(let e=t||0,r=o.length;e<r;++e)u[e]=o[e];a=Math.max(a,o.length)}this.applyRowCount(a)}else super.setColumns(e,t,(0,i.extend)(r,{silent:!0}));o&&o.modifyTable(this),this.emit({type:"afterSetColumns",columns:e,columnIds:l,detail:r,rowIndex:t})}setModifier(e,t){let r=this;return r.emit({type:"setModifier",detail:t,modifier:e,modified:r.getModified()}),r.modifier=e,(e?e.modify(r):Promise.resolve(r)).then(r=>(r.emit({type:"afterSetModifier",detail:t,modifier:e,modified:r.getModified()}),r)).catch(t=>{throw r.emit({type:"setModifierError",error:t,modifier:e,modified:r.getModified()}),t})}setOriginalRowIndexes(e,t=!1){if(this.originalRowIndexes=e,t)return;let r=this.localRowIndexes=[];for(let t=0,s=e.length,n;t<s;++t)n=e[t],(0,i.defined)(n)&&(r[n]=t)}setRow(e,t,r,s){this.setRows([e],t,r,s)}setRows(e,t=this.rowCount,r,s){let n=this.columns,i=Object.keys(n),o=this.modifier,l=e.length;this.emit({type:"setRows",detail:s,rowCount:l,rowIndex:t,rows:e});for(let s=0,o=t,a;s<l;++s,++o)if(0===Object.keys(a=e[s]).length)for(let e=0,t=i.length;e<t;++e){let t=n[i[e]];r?n[i[e]]=f(t,o,0,!0,[null]).array:t[o]=null}else if(Array.isArray(a))for(let e=0,t=i.length;e<t;++e)n[i[e]][o]=a[e];else super.setRow(a,o,r,{silent:!0});let a=r?l+e.length:t+l;if(a>this.rowCount){this.rowCount=a;for(let e=0,t=i.length;e<t;++e){let t=i[e];n[t]=p(n[t],a)}}o&&o.modifyTable(this),this.emit({type:"afterSetRows",detail:s,rowCount:l,rowIndex:t,rows:e})}}class g{static registerType(e,t){return!!e&&!g.types[e]&&!!(g.types[e]=t)}get polling(){return!!this._polling}constructor(e){this.dataTables={},this.loaded=!1,this.metadata=e.metadata||{columns:{}},this.options=e;const t=e?.dataTables;let r=0;if(e.options&&console.error("The `DataConnectorOptions.options` property was removed in Dashboards v4.0.0. Check how to upgrade your connector to use the new options structure here: https://api.highcharts.com/dashboards/#interfaces/Data_DataTableOptions.DataTableOptions"),t&&t?.length>0)for(let e=0,s=t.length;e<s;++e){const s=t[e],n=s?.key;this.dataTables[n??r]=new m(s),!n&&r++}else this.dataTables[0]=new m({id:e.id})}getTable(e){return e?this.dataTables[e]:Object.values(this.dataTables)[0]}describeColumn(e,t){let r=this.metadata.columns;r[e]=(0,i.merge)(r[e]||{},t)}describeColumns(e){let t,r=Object.keys(e);for(;"string"==typeof(t=r.pop());)this.describeColumn(t,e[t])}getColumnOrder(){let e=this.metadata.columns,t=Object.keys(e||{});if(t.length)return t.sort((t,r)=>(e[t].index??0)-(e[r].index??0))}getSortedColumns(){return this.getTable().getColumns(this.getColumnOrder())}setColumnOrder(e){for(let t=0,r=e.length;t<r;++t)this.describeColumn(e[t],{index:t})}async update(e,t=!0){this.emit({type:"beforeUpdate"}),(0,i.merge)(!0,this.options,e);let{options:r}=this;("enablePolling"in e||"dataRefreshRate"in e)&&("enablePolling"in r&&r.enablePolling?(this.stopPolling(),this.startPolling("dataRefreshRate"in r&&"number"==typeof r.dataRefreshRate?1e3*Math.max(r.dataRefreshRate,1):1e3)):this.stopPolling()),t&&await this.load(),this.emit({type:"afterUpdate"})}load(){return this.emit({type:"afterLoad"}),Promise.resolve(this)}async applyTableModifiers(){let e=this.options?.dataTables;for(let[t,r]of Object.entries(this.dataTables)){let s=e?.find(e=>e.key===t)?.dataModifier??this.options?.dataModifier;if(!s)continue;let n=s&&a.types[s.type];await r.setModifier(n?new n(s):void 0)}return this}startPolling(e=1e3){let t=this;this.pollingController=new AbortController,window.clearTimeout(t._polling),t._polling=window.setTimeout(()=>t.load().catch(e=>t.emit({type:"loadError",error:e})).then(()=>{t._polling&&t.startPolling(e)}),e)}stopPolling(){this.polling&&(this?.pollingController?.abort(),window.clearTimeout(this._polling),delete this._polling)}emit(e){(0,i.fireEvent)(this,e.type,e)}on(e,t){return(0,i.addEvent)(this,e,t)}initConverters(e,t,r){let s=0;for(let[n,i]of Object.entries(this.dataTables)){let o=t(n),l=r(o,e);i.deleteColumns(),i.setColumns(l),0===s&&(this.converter=o),s++}}}g.types={};let y=g;function b(e,t){return"string"==typeof e&&(e=e.replace(/^\s+|\s+$/g,""),t&&/^[\d\s]+$/.test(e)&&(e=e.replace(/\s/g,""))),e}let w=function(e,t){let r;if("string"==typeof e)r=t.parseDate(e);else if("number"==typeof e)r=e;else{if(e instanceof Date)return e;r=t.parseDate(""+e)}return new Date(r)},C=function(e,t){if("number"==typeof e)return e;if("boolean"==typeof e)return+!!e;if("string"==typeof e){if(e.indexOf(" ")>-1&&(e=e.replace(/\s+/g,"")),t){if(!t.test(e))return NaN;e=e.replace(t,"$1.$2")}return parseFloat(e)}return e instanceof Date?e.getDate():e?e.getRowCount():NaN},R=function(e){return""+e},N=function(e=[],t){let r={};for(let s=0,n=Math.max(t.length,e.length);s<n;++s)r[t[s]||`${s}`]=e[s]?e[s].slice():[];return r},T=function(e,t){let r="string";if("string"==typeof e){let s=b(`${e}`),n=t.decimalRegExp,o=b(s,!0);n&&(o=n.test(o)?o.replace(n,"$1.$2"):"");let l=parseFloat(o);if(+o===l)e=l;else{let s=t.parseDate(e);r=(0,i.isNumber)(s)?"Date":"string"}}return"number"==typeof e&&(r=e>31536e6?"Date":"number"),r};class v{static registerType(e,t){return!!e&&!v.types[e]&&!!(v.types[e]=t)}constructor(e){this.dateFormats={"YYYY/mm/dd":{regex:/^(\d{4})([\-\.\/])(\d{1,2})\2(\d{1,2})$/,parser:function(e){return e?Date.UTC(+e[1],e[3]-1,+e[4]):NaN}},"dd/mm/YYYY":{regex:/^(\d{1,2})([\-\.\/])(\d{1,2})\2(\d{4})$/,parser:function(e){return e?Date.UTC(+e[4],e[3]-1,+e[1]):NaN},alternative:"mm/dd/YYYY"},"mm/dd/YYYY":{regex:/^(\d{1,2})([\-\.\/])(\d{1,2})\2(\d{4})$/,parser:function(e){return e?Date.UTC(+e[4],e[1]-1,+e[3]):NaN}},"dd/mm/YY":{regex:/^(\d{1,2})([\-\.\/])(\d{1,2})\2(\d{2})$/,parser:function(e){let t=new Date;if(!e)return NaN;let r=+e[4];return r>t.getFullYear()-2e3?r+=1900:r+=2e3,Date.UTC(r,e[3]-1,+e[1])},alternative:"mm/dd/YY"},"mm/dd/YY":{regex:/^(\d{1,2})([\-\.\/])(\d{1,2})\2(\d{2})$/,parser:function(e){return e?Date.UTC(+e[4]+2e3,e[1]-1,+e[3]):NaN}}};const t=(0,i.merge)(v.defaultOptions,e);let r=t.decimalPoint;("."===r||","===r)&&(r="."===r?"\\.":",",this.decimalRegExp=RegExp("^(-?[0-9]+)"+r+"([0-9]+)$")),this.options=t}convertByType(e){let t=this;return({number:e=>C(e,t.decimalRegExp),Date:e=>w(e,t),string:R})[T(e,t)].call(t,e)}deduceDateFormat(e,t,r){let s=[],n=[],i="YYYY/mm/dd",o,l=[],a=0,u=!1,h,c;for((!t||t>e.length)&&(t=e.length);a<t;a++)if(void 0!==e[a]&&e[a]&&e[a].length)for(c=0,o=e[a].trim().replace(/[\-\.\/]/g," ").split(" "),l=["","",""];c<o.length;c++)c<l.length&&(h=parseInt(o[c],10))&&(n[c]=!n[c]||n[c]<h?h:n[c],void 0!==s[c]?s[c]!==h&&(s[c]=!1):s[c]=h,h>31?h<100?l[c]="YY":l[c]="YYYY":h>12&&h<=31?(l[c]="dd",u=!0):l[c].length||(l[c]="mm"));if(u){for(c=0;c<s.length;c++)!1!==s[c]?n[c]>12&&"YY"!==l[c]&&"YYYY"!==l[c]&&(l[c]="YY"):n[c]>12&&"mm"===l[c]&&(l[c]="dd");3===l.length&&"dd"===l[1]&&"dd"===l[2]&&(l[2]="YY"),i=l.join("/")}return r&&(this.options.dateFormat=i),i}emit(e){(0,i.fireEvent)(this,e.type,e)}on(e,t){return(0,i.addEvent)(this,e,t)}parseDate(e,t){let r=this.options,s=t||r.dateFormat,n=NaN,i,o=null;if(r.parseDate)n=r.parseDate(e);else{let t=this.dateFormats;if(s){let r=t[s];r||(r=t["YYYY/mm/dd"]),(o=e.match(r.regex))&&(n=r.parser(o))}else for(i in t){let r=t[i];if(o=e.match(r.regex)){s=i,n=r.parser(o);break}}if(!o){let t=Date.parse(e);!isNaN(t)&&(n=t-6e4*new Date(t).getTimezoneOffset(),e.includes("2001")||2001!==new Date(n).getFullYear()||(n=NaN))}}return n}}v.defaultOptions={dateFormat:"",firstRowAsNames:!0},v.types={};let O=v;function A(e,t){if("position"===e.type){for(let r,s=0,n=t.length;s<n;++s)if("position"===(r=t[s]).type&&r.state===e.state&&r.column===e.column&&r.row===e.row)return s}else{let r=JSON.stringify(e.columns);for(let s,n=0,i=t.length;n<i;++n)if("range"===(s=t[n]).type&&s.state===e.state&&s.firstRow===e.firstRow&&s.lastRow===e.lastRow&&JSON.stringify(s.columns)===r)return n}return -1}let M=class{constructor(e={}){this.emittingRegister=[],this.listenerMap={},this.stateMap=e}addListener(e,t,r){let s=this.listenerMap[e]=this.listenerMap[e]||{};return(s[t]=s[t]||[]).push(r),this}buildEmittingTag(e){return("position"===e.cursor.type?[e.table.id,e.cursor.column,e.cursor.row,e.cursor.state,e.cursor.type]:[e.table.id,e.cursor.columns,e.cursor.firstRow,e.cursor.lastRow,e.cursor.state,e.cursor.type]).join("\0")}emitCursor(e,t,r,s){let n=e.id,i=t.state,o=this.listenerMap[n]&&this.listenerMap[n][i];if(o){let i=this.stateMap[n]=this.stateMap[n]??{},l=i[t.state]||[];s&&(l.length||(i[t.state]=l),-1===A(t,l)&&l.push(t));let a={cursor:t,cursors:l,table:e};r&&(a.event=r);let u=this.emittingRegister,h=this.buildEmittingTag(a);if(u.indexOf(h)>=0)return this;try{this.emittingRegister.push(h);for(let e=0,t=o.length;e<t;++e)o[e].call(this,a)}finally{let e=this.emittingRegister.indexOf(h);e>=0&&this.emittingRegister.splice(e,1)}}return this}remitCursor(e,t){let r=this.stateMap[e]&&this.stateMap[e][t.state];if(r){let e=A(t,r);e>=0&&r.splice(e,1)}return this}removeListener(e,t,r){let s=this.listenerMap[e]&&this.listenerMap[e][t];if(s){let e=s.indexOf(r);e>=0&&s.splice(e,1)}return this}};class x{constructor(e){this.options=(0,i.merge)(x.defaultOptions,e),this.connectors={},this.waiting={}}emit(e){(0,i.fireEvent)(this,e.type,e)}getConnector(e){let t=this.connectors[e];if(t?.loaded)return Promise.resolve(t);let r=this.waiting[e];if(!r){r=this.waiting[e]=[];let t=this.getConnectorOptions(e);if(!t)throw Error(`Connector '${e}' not found.`);this.loadConnector(t).then(t=>{delete this.waiting[e];for(let e=0,s=r.length;e<s;++e)r[e][0](t)}).catch(t=>{delete this.waiting[e];for(let e=0,s=r.length;e<s;++e)r[e][1](t)})}return new Promise((e,t)=>{r.push([e,t])})}getConnectorIds(){let e=this.options.connectors,t=[];for(let r=0,s=e.length;r<s;++r)t.push(e[r].id);return t}getConnectorOptions(e){let t=this.options.connectors;for(let r=0,s=t.length;r<s;++r)if(t[r].id===e)return t[r]}isNewConnector(e){return!this.connectors[e]}loadConnector(e){return new Promise((t,r)=>{this.emit({type:"load",options:e});let s=y.types[e.type];if(!s)throw Error(`Connector type not found. (${e.type})`);let n=this.connectors[e.id]=new s(e);n.load().then(({converter:r})=>{n.converter=r,n.loaded=!0,this.emit({type:"afterLoad",options:e}),t(n)}).catch(r)})}cancelPendingRequests(){let{connectors:e}=this;for(let t of Object.keys(e))e[t].stopPolling()}on(e,t){return(0,i.addEvent)(this,e,t)}async setConnectorOptions(e,t){let r=this.options.connectors,s=this.connectors;this.emit({type:"setConnectorOptions",options:e});for(let t=0,s=r.length;t<s;++t)if(r[t].id===e.id){r.splice(t,1);break}let n=s[e.id];n&&(t?await n.update(e,!0):(n.stopPolling(),n=void 0,delete s[e.id])),n||r.push(e),this.emit({type:"afterSetConnectorOptions",options:e})}}x.defaultOptions={connectors:[]};let E=/^(?:FALSE|TRUE)/,I=/^[+\-]?\d+(?:\.\d+)?(?:e[+\-]\d+)?/,F=/^[+\-]?\d+(?:,\d+)?(?:e[+\-]\d+)?/,D=/^([A-Z][A-Z\d\.]*)\(/,j=/^(?:[+\-*\/^<=>]|<=|=>)/,P=/^(\$?[A-Z]+)(\$?\d+)\:(\$?[A-Z]+)(\$?\d+)/,L=/^R(\d*|\[\d+\])C(\d*|\[\d+\])\:R(\d*|\[\d+\])C(\d*|\[\d+\])/,k=/^(\$?[A-Z]+)(\$?\d+)(?![\:C])/,Y=/^R(\d*|\[\d+\])C(\d*|\[\d+\])(?!\:)/;function S(e){let t=0;for(let r=0,s=e.length,n,i=1;r<s;++r){if("("===(n=e[r])){t||(i=r+1),++t;continue}if(")"===n&&!--t)return e.substring(i,r)}if(t>0){let e=Error("Incomplete parentheses.");throw e.name="FormulaParseError",e}return""}function V(e){let t=-1;for(let r=0,s=e.length,n,i=!1;r<s;++r){if("\\"===(n=e[r])){i=!i;continue}if(i){i=!1;continue}if('"'===n)if(!(t<0))return e.substring(t+1,r);else t=r}let r=Error("Incomplete string.");throw r.name="FormulaParseError",r}function $(e,t){let r;if(r=e.match(L)){let e=""===r[2]||"["===r[2][0],t=""===r[1]||"["===r[1][0],s=""===r[4]||"["===r[4][0],n=""===r[3]||"["===r[3][0],i={type:"range",beginColumn:e?parseInt(r[2].substring(1,-1)||"0",10):parseInt(r[2],10)-1,beginRow:t?parseInt(r[1].substring(1,-1)||"0",10):parseInt(r[1],10)-1,endColumn:s?parseInt(r[4].substring(1,-1)||"0",10):parseInt(r[4],10)-1,endRow:n?parseInt(r[3].substring(1,-1)||"0",10):parseInt(r[3],10)-1};return e&&(i.beginColumnRelative=!0),t&&(i.beginRowRelative=!0),s&&(i.endColumnRelative=!0),n&&(i.endRowRelative=!0),i}if(r=e.match(P)){let e="$"!==r[1][0],t="$"!==r[2][0],s="$"!==r[3][0],n="$"!==r[4][0],i={type:"range",beginColumn:_(e?r[1]:r[1].substring(1))-1,beginRow:parseInt(t?r[2]:r[2].substring(1),10)-1,endColumn:_(s?r[3]:r[3].substring(1))-1,endRow:parseInt(n?r[4]:r[4].substring(1),10)-1};return e&&(i.beginColumnRelative=!0),t&&(i.beginRowRelative=!0),s&&(i.endColumnRelative=!0),n&&(i.endRowRelative=!0),i}let s=H(e,t);return 1===s.length&&"string"!=typeof s[0]?s[0]:s}function U(e){let t=e.length,r=e[t-2];return"-"===e[t-1]&&(0,i.isString)(r)&&!!r.match(/\*|\/|\^/)}function H(e,t){let r=t?F:I,s=[],n,i=("="===e[0]?e.substring(1):e).trim();for(;i;){if(n=i.match(Y)){let e=""===n[2]||"["===n[2][0],t=""===n[1]||"["===n[1][0],r={type:"reference",column:e?parseInt(n[2].substring(1,-1)||"0",10):parseInt(n[2],10)-1,row:t?parseInt(n[1].substring(1,-1)||"0",10):parseInt(n[1],10)-1};e&&(r.columnRelative=!0),t&&(r.rowRelative=!0),U(s)&&(s.pop(),r.isNegative=!0),s.push(r),i=i.substring(n[0].length).trim();continue}if(n=i.match(k)){let e="$"!==n[1][0],t="$"!==n[2][0],r={type:"reference",column:_(e?n[1]:n[1].substring(1))-1,row:parseInt(t?n[2]:n[2].substring(1),10)-1};e&&(r.columnRelative=!0),t&&(r.rowRelative=!0),U(s)&&(s.pop(),r.isNegative=!0),s.push(r),i=i.substring(n[0].length).trim();continue}if(n=i.match(j)){s.push(n[0]),i=i.substring(n[0].length).trim();continue}if(n=i.match(E)){s.push("TRUE"===n[0]),i=i.substring(n[0].length).trim();continue}if(n=i.match(r)){let e=parseFloat(n[0]);U(s)&&(s.pop(),e=-e),s.push(e),i=i.substring(n[0].length).trim();continue}if('"'===i[0]){let e=V(i);s.push(e.substring(1,-1)),i=i.substring(e.length+2).trim();continue}if(n=i.match(D)){let e=S(i=i.substring(n[1].length).trim());s.push({type:"function",name:n[1],args:function(e,t){let r=[],s=t?";":",",n=0,i="";for(let o=0,l=e.length,a;o<l;++o)if((a=e[o])===s&&!n&&i)r.push($(i,t)),i="";else if('"'!==a||n||i)" "!==a&&(i+=a,"("===a?++n:")"===a&&--n);else{let t=V(e.substring(o));r.push(t),o+=t.length+1}return!n&&i&&r.push($(i,t)),r}(e,t)}),i=i.substring(e.length+2).trim();continue}if("("===i[0]){let e=S(i);if(e){s.push(H(e,t)),i=i.substring(e.length+2).trim();continue}}let o=e.length-i.length,l=Error("Unexpected character `"+e.substring(o,o+1)+"` at position "+(o+1)+". (`..."+e.substring(o-5,o+6)+"...`)");throw l.name="FormulaParseError",l}return s}function _(e){let t=0;for(let r=0,s=e.length,n,i=e.length-1;r<s;++r)(n=e.charCodeAt(r))>=65&&n<=90&&(t+=(n-64)*Math.pow(26,i)),--i;return t}let B={parseFormula:H},Z=["+","-","*","/","^","=","<","<=",">",">="],K={isFormula:function(e){return Array.isArray(e)},isFunction:function(e){return"object"==typeof e&&!Array.isArray(e)&&"function"===e.type},isOperator:function(e){return"string"==typeof e&&Z.indexOf(e)>=0},isRange:function(e){return"object"==typeof e&&!Array.isArray(e)&&"range"===e.type},isReference:function(e){return"object"==typeof e&&!Array.isArray(e)&&"reference"===e.type},isValue:function(e){return"boolean"==typeof e||"number"==typeof e||"string"==typeof e}},{isFormula:X,isFunction:q,isOperator:G,isRange:J,isReference:W,isValue:z}=K,Q=/ */,ee=Number.MAX_VALUE/1.000000000001,et=Number.MAX_VALUE/1.000000000002,er=Number.MAX_VALUE,es={"^":3,"*":2,"/":2,"+":1,"-":1,"=":0,"<":0,"<=":0,">":0,">=":0},en={},ei=/^[A-Z][A-Z\.]*$/;function eo(e){switch(typeof e){case"boolean":return e?er:ee;case"string":return et;case"number":return e;default:return NaN}}function el(e){return"string"==typeof e?e.toLowerCase().replace(Q,"\0"):e}function ea(e){switch(typeof e){case"boolean":return+!!e;case"string":return parseFloat(e.replace(",","."));case"number":return e;default:return NaN}}function eu(e,t){return z(e)?e:J(e)?t&&eh(e,t)||[]:q(e)?ep(e,t):ef(X(e)?e:[e],t)}function eh(e,t){let r=t.getColumnIds().slice(e.beginColumn,e.endColumn+1),s=[];for(let n=0,i=r.length,o;n<i;++n){let i=t.getColumn(r[n],!0)||[];for(let l=e.beginRow,a=e.endRow+1;l<a;++l)"string"==typeof(o=i[l])&&"="===o[0]&&t!==t.getModified()&&(o=t.getModified().getCell(r[n],l)),s.push(z(o)?o:NaN)}return s}function ec(e,t){let r=t.getColumnIds()[e.column];if(r){let s=t.getCell(r,e.row);if("string"==typeof s&&"="===s[0]&&t!==t.getModified()){let s=t.getModified().getCell(r,e.row);return z(s)?s:NaN}if(z(s))return e.isNegative?-s:s}return NaN}function ed(e,t){(e.length<2||t.length<1)&&e.push(NaN);let r=e.pop(),s=e.pop(),n=t.pop();(0,i.defined)(r)&&(0,i.defined)(s)&&(0,i.defined)(n)?e.push(function(e,t,r){let s;switch(e){case"=":return el(t)===el(r);case"<":if(typeof t==typeof r)return el(t)<el(r);return eo(t)<eo(r);case"<=":if(typeof t==typeof r)return el(t)<=el(r);return eo(t)<=eo(r);case">":if(typeof t==typeof r)return el(t)>el(r);return eo(t)>eo(r);case">=":if(typeof t==typeof r)return el(t)>=el(r);return eo(t)>=eo(r)}switch(t=ea(t),r=ea(r),e){case"+":s=t+r;break;case"-":s=t-r;break;case"*":s=t*r;break;case"/":s=t/r;break;case"^":s=Math.pow(t,r);break;default:return NaN}return s%1?Math.round(1e9*s)/1e9:s}(n,s,r)):e.push(NaN)}function ef(e,t){let r=[],s=[],n=!0;for(let i=0,o=e.length;i<o;++i){let o,l=e[i];if(G(l)){if(n&&"-"===l)r.push(0),s.push("-"),n=!0;else{for(;s.length&&es[s[s.length-1]]>=es[l];)ed(r,s);s.push(l),n=!0}continue}if(z(l))o=l;else if(W(l))o=t?ec(l,t):NaN;else if(q(l)){let e=ep(l,t);o=z(e)?e:NaN}else X(l)&&(o=ef(l,t));if(void 0===o)return NaN;r.push(o),n=!1}for(;s.length;)ed(r,s);return 1!==r.length?NaN:r[0]}function ep(e,t,r){let s=en[e.name];if(s)try{return s(e.args,t)}catch{return NaN}let n=Error(`Function "${e.name}" not found.`);throw n.name="FormulaProcessError",n}let em={asNumber:ea,getArgumentValue:eu,getArgumentsValues:function(e,t){let r=[];for(let s=0,n=e.length;s<n;++s)r.push(eu(e[s],t));return r},getRangeValues:eh,getReferenceValue:ec,processFormula:ef,processorFunctions:en,registerProcessorFunction:function(e,t){return ei.test(e)&&!en[e]&&!!(en[e]=t)},translateReferences:function e(t,r=0,s=0){for(let n=0,i=t.length,o;n<i;++n)Array.isArray(o=t[n])?e(o,r,s):q(o)?e(o.args,r,s):J(o)?(o.beginColumnRelative&&(o.beginColumn+=r),o.beginRowRelative&&(o.beginRow+=s),o.endColumnRelative&&(o.endColumn+=r),o.endRowRelative&&(o.endRow+=s)):W(o)&&(o.columnRelative&&(o.column+=r),o.rowRelative&&(o.row+=s));return t}},{getArgumentValue:eg}=em;em.registerProcessorFunction("ABS",function(e,t){let r=eg(e[0],t);switch(typeof r){case"number":return Math.abs(r);case"object":{let e=[];for(let t=0,s=r.length,n;t<s;++t){if("number"!=typeof(n=r[t]))return NaN;e.push(Math.abs(n))}return e}default:return NaN}});let{getArgumentValue:ey}=em;em.registerProcessorFunction("AND",function e(t,r){for(let s=0,n=t.length,i;s<n;++s)if(!(i=ey(t[s],r))||"object"==typeof i&&!e(i,r))return!1;return!0});let{getArgumentsValues:eb}=em;em.registerProcessorFunction("AVERAGE",function(e,t){let r=eb(e,t),s=0,n=0;for(let e=0,t=r.length,i;e<t;++e)switch(typeof(i=r[e])){case"number":isNaN(i)||(++s,n+=i);break;case"object":for(let e=0,t=i.length,r;e<t;++e)"number"!=typeof(r=i[e])||isNaN(r)||(++s,n+=r)}return s?n/s:0});let{getArgumentValue:ew}=em;em.registerProcessorFunction("AVERAGEA",function(e,t){let r=0,s=0;for(let n=0,i=e.length,o;n<i;++n)switch(typeof(o=ew(e[n],t))){case"boolean":++r,s+=+!!o;continue;case"number":isNaN(o)||(++r,s+=o);continue;case"string":++r;continue;default:for(let e=0,t=o.length,n;e<t;++e)switch(typeof(n=o[e])){case"boolean":++r,s+=+!!n;continue;case"number":isNaN(n)||(++r,s+=n);continue;case"string":++r;continue}continue}return r?s/r:0}),em.registerProcessorFunction("COUNT",function e(t,r){let s=em.getArgumentsValues(t,r),n=0;for(let t=0,i=s.length,o;t<i;++t)switch(typeof(o=s[t])){case"number":!isNaN(o)&&++n;break;case"object":n+=e(o,r)}return n}),em.registerProcessorFunction("COUNTA",function e(t,r){let s=em.getArgumentsValues(t,r),n=0;for(let t=0,i=s.length,o;t<i;++t){switch(typeof(o=s[t])){case"number":if(isNaN(o))continue;break;case"object":n+=e(o,r);continue;case"string":if(!o)continue}++n}return n});let{getArgumentValue:eC}=em;em.registerProcessorFunction("IF",function(e,t){return eC(e[0],t)?eC(e[1],t):eC(e[2],t)});let{getArgumentValue:eR}=em;em.registerProcessorFunction("ISNA",function(e,t){let r=eR(e[0],t);return"number"!=typeof r||isNaN(r)});let{getArgumentsValues:eN}=em;em.registerProcessorFunction("MAX",function e(t,r){let s=eN(t,r),n=-1/0;for(let t=0,r=s.length,i;t<r;++t)switch(typeof(i=s[t])){case"number":i>n&&(n=i);break;case"object":(i=e(i))>n&&(n=i)}return isFinite(n)?n:0}),em.registerProcessorFunction("MEDIAN",function(e,t){let r=[],s=em.getArgumentsValues(e,t);for(let e=0,t=s.length,n;e<t;++e)switch(typeof(n=s[e])){case"number":isNaN(n)||r.push(n);break;case"object":for(let e=0,t=n.length,s;e<t;++e)"number"!=typeof(s=n[e])||isNaN(s)||r.push(s)}let n=r.length;if(!n)return NaN;let i=Math.floor(n/2);return n%2?r[i]:(r[i-1]+r[i])/2});let{getArgumentsValues:eT}=em;em.registerProcessorFunction("MIN",function e(t,r){let s=eT(t,r),n=1/0;for(let t=0,r=s.length,i;t<r;++t)switch(typeof(i=s[t])){case"number":i<n&&(n=i);break;case"object":(i=e(i))<n&&(n=i)}return isFinite(n)?n:0});let{getArgumentValue:ev}=em;function eO(e,t){let r={},s=em.getArgumentsValues(e,t);for(let e=0,t=s.length,n;e<t;++e)switch(typeof(n=s[e])){case"number":isNaN(n)||(r[n]=(r[n]||0)+1);break;case"object":for(let e=0,t=n.length,s;e<t;++e)"number"!=typeof(s=n[e])||isNaN(s)||(r[s]=(r[s]||0)+1)}return r}function eA(e,t){let r=eO(e,t),s=Object.keys(r);if(!s.length)return NaN;let n=parseFloat(s[0]),i=r[s[0]];for(let e=1,t=s.length,o,l,a;e<t;++e)i<(a=r[o=s[e]])?(n=parseFloat(o),i=a):i===a&&n>(l=parseFloat(o))&&(n=l,i=a);return i>1?n:NaN}em.registerProcessorFunction("MOD",function(e,t){let r=ev(e[0],t),s=ev(e[1],t);return("object"==typeof r&&(r=r[0]),"object"==typeof s&&(s=s[0]),"number"!=typeof r||"number"!=typeof s||0===s)?NaN:r%s}),em.registerProcessorFunction("MODE",eA),em.registerProcessorFunction("MODE.MULT",function(e,t){let r=eO(e,t),s=Object.keys(r);if(!s.length)return NaN;let n=[parseFloat(s[0])],i=r[s[0]];for(let e=1,t=s.length,o,l;e<t;++e)i<(l=r[o=s[e]])?(n=[parseFloat(o)],i=l):i===l&&n.push(parseFloat(o));return i>1?n:NaN}),em.registerProcessorFunction("MODE.SNGL",eA);let{getArgumentValue:eM}=em;em.registerProcessorFunction("NOT",function(e,t){let r=eM(e[0],t);switch("object"==typeof r&&(r=r[0]),typeof r){case"boolean":case"number":return!r}return NaN});let{getArgumentValue:ex}=em;em.registerProcessorFunction("OR",function e(t,r){for(let s=0,n=t.length,i;s<n;++s)if("object"==typeof(i=ex(t[s],r))){if(e(i,r))return!0}else if(i)return!0;return!1});let{getArgumentsValues:eE}=em;em.registerProcessorFunction("PRODUCT",function e(t,r){let s=eE(t,r),n=1,i=!1;for(let t=0,o=s.length,l;t<o;++t)switch(typeof(l=s[t])){case"number":isNaN(l)||(i=!0,n*=l);break;case"object":i=!0,n*=e(l,r)}return i?n:0}),em.registerProcessorFunction("SUM",function e(t,r){let s=em.getArgumentsValues(t,r),n=0;for(let t=0,i=s.length,o;t<i;++t)switch(typeof(o=s[t])){case"number":isNaN(o)||(n+=o);break;case"object":n+=e(o,r)}return n});let{getArgumentValue:eI}=em;em.registerProcessorFunction("XOR",function(e,t){for(let r=0,s=e.length,n,i;r<s;++r)switch(typeof(i=eI(e[r],t))){case"boolean":case"number":if(void 0===n)n=!!i;else if(!!i!==n)return!0;break;case"object":for(let e=0,t=i.length,r;e<t;++e)switch(typeof(r=i[e])){case"boolean":case"number":if(void 0===n)n=!!r;else if(!!r!==n)return!0}}return!1});let eF={...B,...em,...K};class eD extends O{constructor(e){const t=(0,i.merge)(eD.defaultOptions,e);super(t),this.headers=[],this.dataTypes=[],this.options=t}parse(e,t){let r=this.dataTypes,s=(0,i.merge)(this.options,e),{beforeParse:n,lineDelimiter:o,firstRowAsNames:l,itemDelimiter:a}=s,u,h=0,{csv:c,startRow:d,endRow:f}=s,p,m=[];if(this.emit({type:"parse",columns:m,detail:t,headers:this.headers}),c&&n&&(c=n(c)),c){if(u=c.replace(/\r\n|\r/g,"\n").split(o||"\n"),(!d||d<0)&&(d=0),(!f||f>=u.length)&&(f=u.length-1),a||(this.guessedItemDelimiter=this.guessDelimiter(u)),l){let e=u[0].split(a||this.guessedItemDelimiter||",");for(let t=0;t<e.length;t++)e[t]=e[t].trim().replace(/^["']|["']$/g,"");this.headers=e,d++}let e=0;for(h=d;h<=f;h++)"#"===u[h][0]?e++:this.parseCSVRow(m,u[h],h-d-e);r.length&&r[0].length&&"date"===r[0][1]&&!this.options.dateFormat&&this.deduceDateFormat(m[0],null,!0);for(let e=0,t=m.length;e<t;++e){p=m[e];for(let t=0,r=p.length;t<r;++t)if(p[t]&&"string"==typeof p[t]){let r=this.convertByType(p[t]);r instanceof Date&&(r=r.getTime()),m[e][t]=r}}}return m.forEach(e=>{e.length=Math.max(...m.map(e=>e.length))}),this.emit({type:"afterParse",columns:m,detail:t,headers:this.headers}),N(m,this.headers)}parseCSVRow(e,t,r){let s=this,n=s.dataTypes,{startColumn:i,endColumn:o}=s.options,l=s.options.itemDelimiter||s.guessedItemDelimiter,{decimalPoint:a}=s.options;a&&a!==l||(a=s.guessedDecimalPoint||".");let u=0,h="",c="",d=0,f=0,p=e=>{h=t[e]},m=e=>{n.length<f+1&&n.push([e]),n[f][n[f].length-1]!==e&&n[f].push(e)},g=()=>{if(i>d||d>o){++d,c="";return}if("string"==typeof c){let e=parseFloat(c);!isNaN(e)&&isFinite(Number(c))?(c=e,m("number")):isNaN(Date.parse(c))?m("string"):(c=c.replace(/\//g,"-"),m("date"))}else m("number");if(e.length<f+1&&e.push([]),"number"!=typeof c&&"number"!==T(c,s)&&a){let e=c;"number"!==T(c=c.replace(a,"."),s)&&(c=e)}e[f][r]=c,c="",++f,++d};if(t.trim().length&&"#"!==t.trim()[0]){for(;u<t.length;u++){if(p(u),"#"===h&&!/^#[A-F\d]{3,3}|[A-F\d]{6,6}/i.test(t.substring(u)))return void g();if('"'===h)for(p(++u);u<t.length&&'"'!==h;)c+=h,p(++u);else h===l?g():c+=h}g()}}guessDelimiter(e){let t=0,r=0,s,n={",":0,";":0," ":0},i=e.length;for(let s=0;s<i;s++){let i=!1,o,l,a,u="";if(s>13)break;let h=e[s];for(let e=0;e<h.length&&(o=h[e],l=h[e+1],a=h[e-1],"#"!==o);e++){if('"'===o)if(i){if('"'!==a&&'"'!==l){for(;" "===l&&e<h.length;)l=h[++e];void 0!==n[l]&&n[l]++,i=!1}}else i=!0;else void 0!==n[o]?(isNaN(Date.parse(u=u.trim()))?(isNaN(Number(u))||!isFinite(Number(u)))&&n[o]++:n[o]++,u=""):u+=o;","===o&&r++,"."===o&&t++}}return n[";"]>n[","]?s=";":(n[","]>n[";"],s=","),t>r?this.guessedDecimalPoint=".":this.guessedDecimalPoint=",",s}}eD.defaultOptions={...O.defaultOptions,lineDelimiter:"\n",startColumn:0,endColumn:Number.MAX_VALUE,startRow:0,endRow:Number.MAX_VALUE},O.registerType("CSV",eD);class ej extends y{constructor(e){const t=(0,i.merge)(ej.defaultOptions,e);super(t),this.options=t,t.enablePolling&&this.startPolling(1e3*Math.max(t.dataRefreshRate||0,1))}emit(e){(0,i.fireEvent)(this,e.type,e)}load(e){let t=this,r=t.options,{csv:s,csvURL:n,dataTables:o,decimalPoint:l}=r;return t.emit({type:"load",csv:s}),Promise.resolve(n?fetch(n,{signal:t?.pollingController?.signal}).then(e=>e.text()):s||"").then(e=>(e&&this.initConverters(e,e=>{let{firstRowAsNames:t=r.firstRowAsNames,beforeParse:s=r.beforeParse}=o?.find(t=>t.key===e)||{};return new eD((0,i.merge)(r,{decimalPoint:l,firstRowAsNames:t,beforeParse:s}))},(e,t)=>e.parse({csv:t})),t.applyTableModifiers().then(()=>e))).then(r=>(t.emit({type:"afterLoad",detail:e,csv:r}),t)).catch(r=>{throw t.emit({type:"loadError",detail:e,error:r}),r})}}ej.defaultOptions={id:"csv-connector",type:"CSV",csv:"",csvURL:"",enablePolling:!1,dataRefreshRate:1,firstRowAsNames:!0},y.registerType("CSV",ej);class eP extends O{constructor(e){const t=(0,i.merge)(eP.defaultOptions,e);super(t),this.headerColumnIds=[],this.headers=[],this.options=t}parse(e,t){let{beforeParse:r,orientation:s,firstRowAsNames:n,columnIds:o}=e=(0,i.merge)(this.options,e),l=e.data;if(!l)return{};this.headers=[];let a=[];return this.emit({type:"parse",columns:a,detail:t,headers:this.headers}),r&&(l=r(l)),l=l.slice(),"columns"===s?this.parseColumnsOrientation(a,l,n,o):"rows"===s&&this.parseRowsOrientation(a,l,n,o),this.emit({type:"afterParse",columns:a,detail:t,headers:this.headers}),N(a,this.headers)}parseColumnsOrientation(e,t,r,s){for(let n=0,o=t.length;n<o;n++){let o=t[n];if(!Array.isArray(o))return;Array.isArray(this.headers)?(r?this.headers.push(`${o.shift()}`):s&&Array.isArray(s)&&this.headers.push(s[n]),e.push(o)):(0,i.error)("JSONConverter: Invalid `columnIds` option.",!1)}}parseRowsOrientation(e,t,r,s){r?this.headers=t.shift():s&&(this.headerColumnIds=s);for(let n=0,o=t.length;n<o;n++){let o=t[n];(0,i.isArray)(o)||(o=this.convertItemToRow(o,s));for(let t=0,s=o.length;t<s;t++)e.length<t+1&&e.push([]),e[t].push(o[t]),r||0!==n||(Array.isArray(this.headerColumnIds)?this.headers.push(this.headerColumnIds[t]||t.toString()):(0,i.error)("JSONConverter: Invalid `columnIds` option.",!1))}}convertItemToRow(e,t){let r=this;if(t&&!Array.isArray(t)){let s=[];return(0,i.objectEach)(t,(t,n)=>{s.push(t.reduce((e,t)=>e[t],e)),0>r.headers.indexOf(n)&&r.headers.push(n)}),s}return r.headerColumnIds=Object.keys(e),Object.values(e)}}eP.defaultOptions={...O.defaultOptions,orientation:"rows"},O.registerType("JSON",eP);class eL extends y{constructor(e){const t=(0,i.merge)(eL.defaultOptions,e);super(t),this.options=t,t.enablePolling&&this.startPolling(1e3*Math.max(t.dataRefreshRate||0,1))}emit(e){(0,i.fireEvent)(this,e.type,e)}load(e){let t=this,r=t.options,{data:s,dataUrl:n,dataTables:i}=r;return t.emit({type:"load",detail:e,data:s}),Promise.resolve(n?fetch(n,{signal:t?.pollingController?.signal}).then(e=>e.json()).catch(r=>{t.emit({type:"loadError",detail:e,error:r}),console.warn(`Unable to fetch data from ${n}.`)}):s||[]).then(async e=>(e&&this.initConverters(e,t=>{let{columnIds:s=r.columnIds,firstRowAsNames:n=r.firstRowAsNames,orientation:o=r.orientation,beforeParse:l=r.beforeParse}=i?.find(e=>e.key===t)||{};return new eP({data:e,columnIds:s,firstRowAsNames:n,orientation:o,beforeParse:l})},(e,t)=>e.parse({data:t})),t.applyTableModifiers().then(()=>e??[]))).then(r=>(t.emit({type:"afterLoad",detail:e,data:r}),t)).catch(r=>{throw t.emit({type:"loadError",detail:e,error:r}),r})}}eL.defaultOptions={type:"JSON",id:"json-connector",data:[],enablePolling:!1,dataRefreshRate:0,firstRowAsNames:!0,orientation:"rows"},y.registerType("JSON",eL);class ek extends O{constructor(e){const t=(0,i.merge)(ek.defaultOptions,e);super(t),this.header=[],this.options=t}parse(e,t){let r,s=(0,i.merge)(this.options,e),n=(s.json?.values||[]).map(e=>e.slice());if(0===n.length)return{};this.header=[],this.emit({type:"parse",columns:[],detail:t,headers:this.header});let{beforeParse:o,json:l}=s;o&&l&&(n=o(l.values));for(let e=0,t=n.length;e<t;e++){r=n[e],this.header[e]=s.firstRowAsNames?`${r.shift()}`:(0,i.uniqueKey)();for(let t=0,s=r.length;t<s;++t){var a;let s=r[t];a=s,"[object Date]"===Object.prototype.toString.call(a)&&(s=s.getTime()),n[e][t]=s}}return this.emit({type:"afterParse",columns:n,detail:t,headers:this.header}),N(n,this.header)}}ek.defaultOptions={...O.defaultOptions},O.registerType("GoogleSheets",ek);class eY extends y{constructor(e){const t=(0,i.merge)(eY.defaultOptions,e);super(t),this.options=t}emit(e){(0,i.fireEvent)(this,e.type,e)}load(e){let t=this,r=t.options,{dataRefreshRate:s,enablePolling:n,googleAPIKey:i,googleSpreadsheetKey:o,dataTables:l}=r,a=function(e,t,r={}){let s=new URL(`https://sheets.googleapis.com/v4/spreadsheets/${t}/values/`),n=r.onlyColumnIds?"A1:Z1":function(e={}){let{endColumn:t,endRow:r,googleSpreadsheetRange:s,startColumn:n,startRow:i}=e;return s||(eS[n||0]||"A")+(Math.max(i||0,0)+1)+":"+(eS[t??25]||"Z")+(r?Math.max(r,0):"Z")}(r);s.pathname+=n;let i=s.searchParams;return i.set("alt","json"),r.onlyColumnIds||(i.set("dateTimeRenderOption","FORMATTED_STRING"),i.set("majorDimension","COLUMNS"),i.set("valueRenderOption","UNFORMATTED_VALUE")),i.set("prettyPrint","false"),i.set("key",e),s.href}(i,o,r);if(t.emit({type:"load",detail:e,url:a}),!URL.canParse(a))throw Error("Invalid URL: "+a);return fetch(a,{signal:t?.pollingController?.signal}).then(e=>e.json()).then(e=>{if("object"==typeof e&&e&&"object"==typeof e.error&&e.error&&"number"==typeof e.error.code&&"string"==typeof e.error.message&&"string"==typeof e.error.status)throw Error(e.error.message);return this.initConverters(e,e=>{let{firstRowAsNames:t=r.firstRowAsNames,beforeParse:s=r.beforeParse}=l?.find(t=>t.key===e)||{};return new ek({firstRowAsNames:t,beforeParse:s})},(e,t)=>e.parse({json:t})),t.applyTableModifiers()}).then(()=>(t.emit({type:"afterLoad",detail:e,url:a}),n&&setTimeout(()=>t.load(),1e3*Math.max(s||0,1)),t)).catch(r=>{throw t.emit({type:"loadError",detail:e,error:r}),r})}}eY.defaultOptions={id:"google-sheets-connector",type:"GoogleSheets",googleAPIKey:"",googleSpreadsheetKey:"",enablePolling:!1,dataRefreshRate:2,firstRowAsNames:!0};let eS="ABCDEFGHIJKLMNOPQRSTUVWXYZ";y.registerType("GoogleSheets",eY);class eV extends O{constructor(e){const t=(0,i.merge)(eV.defaultOptions,e);super(t),this.headers=[],this.options=t,t.tableElement&&(this.tableElement=t.tableElement,this.tableElementID=t.tableElement.id)}export(e,t=this.options){let r=!1!==t.firstRowAsNames,s=t.useMultiLevelHeaders,n=e.getSortedColumns(),i=Object.keys(n),o=[],l=i.length,a=[],u="";if(r){let e=[];if(s){for(let t of i){let r=n[t];Array.isArray(r)||(r=Array.from(r));let s=(r.shift()||"").toString();n[t]=r,e.push(s)}u=this.getTableHeaderHTML(i,e,t)}else u=this.getTableHeaderHTML(void 0,i,t)}for(let e=0;e<l;e++){let t=n[i[e]],r=t.length;for(let s=0;s<r;s++){let r=t[s];a[s]||(a[s]=[]),"string"!=typeof r&&"number"!=typeof r&&void 0!==r&&(r=(r||"").toString()),a[s][e]=this.getCellHTMLFromValue(e?"td":"th",null,e?"":'scope="row"',r),e===l-1&&o.push("<tr>"+a[s].join("")+"</tr>")}}let h="";return t.tableCaption&&(h='<caption class="highcharts-table-caption">'+t.tableCaption+"</caption>"),"<table>"+h+u+"<tbody>"+o.join("")+"</tbody></table>"}getCellHTMLFromValue(e,t,r,s,n){let i=s,o="text"+(t?" "+t:"");return"number"==typeof i?(i=i.toString(),","===n&&(i=i.replace(".",n)),o="number"):s||(i="",o="empty"),"<"+e+(r?" "+r:"")+' class="'+o+'">'+i+"</"+e+">"}getTableHeaderHTML(e=[],t=[],r=this.options){let{useMultiLevelHeaders:s,useRowspanHeaders:n}=r,i="<thead>",o=0,l=t&&t.length,a,u=0,h;if(s&&e&&t&&!function(e,t){let r=e.length;if(t.length!==r)return!1;for(;--r;)if(e[r]!==t[r])return!1;return!0}(e,t)){for(i+="<tr>";o<l;++o)(a=e[o])===e[o+1]?++u:u?(i+=this.getCellHTMLFromValue("th","highcharts-table-topheading",'scope="col" colspan="'+(u+1)+'"',a),u=0):(a===t[o]?n?(h=2,t.splice(o,1)):(h=1,t[o]=""):h=1,i+=this.getCellHTMLFromValue("th","highcharts-table-topheading",'scope="col"'+(h>1?' valign="top" rowspan="'+h+'"':""),a));i+="</tr>"}if(t){for(i+="<tr>",o=0,l=t.length;o<l;++o)void 0!==t[o]&&(i+=this.getCellHTMLFromValue("th",null,'scope="col"',t[o]));i+="</tr>"}return i+"</thead>"}parse(e,t){let r=[],s=[],n=(0,i.merge)(this.options,e),{endRow:o,startColumn:l,endColumn:a,firstRowAsNames:u}=n,h=n.tableElement||this.tableElement;if(!(h instanceof HTMLElement))return this.emit({type:"parseError",columns:r,detail:t,headers:s,error:"Not a valid HTML Table"}),{};this.tableElement=h,this.tableElementID=h.id,this.emit({type:"parse",columns:r,detail:t,headers:this.headers});let c=h.getElementsByTagName("tr"),d=c.length,f=0,p,{startRow:m}=n;if(u&&d){let e=c[0].children,t=e.length;for(let r=l;r<t&&!(r>a);r++)("TD"===(p=e[r]).tagName||"TH"===p.tagName)&&s.push(p.innerHTML);m++}for(;f<d;){if(f>=m&&f<=o){let e=c[f].children,t=e.length,s=0;for(;s<t;){let t=s-l,n=r[t];if(("TD"===(p=e[s]).tagName||"TH"===p.tagName)&&s>=l&&s<=a){r[t]||(r[t]=[]);let e=this.convertByType(p.innerHTML);e instanceof Date&&(e=e.getTime()),r[t][f-m]=e;let s=1;for(;f-m>=s&&void 0===n[f-m-s];)n[f-m-s]=null,s++}s++}}f++}return this.headers=s,this.emit({type:"afterParse",columns:r,detail:t,headers:s}),N(r,this.headers)}}eV.defaultOptions={...O.defaultOptions,useRowspanHeaders:!0,useMultiLevelHeaders:!0,startColumn:0,endColumn:Number.MAX_VALUE,startRow:0,endRow:Number.MAX_VALUE},O.registerType("HTMLTable",eV);let{win:e$}=o();class eU extends y{constructor(e){const t=(0,i.merge)(eU.defaultOptions,e);super(t),this.options=t,this.converter=new eV(t)}async load(e){let t,r=this.options,s=this.converter,n=this.getTable(),o=r.htmlTable;if(this.emit({type:"load",detail:e}),"string"==typeof o?(this.tableID=o,t=e$.document.getElementById(o)):(t=o,this.tableID=t.id),this.tableElement=t||void 0,!this.tableElement){let t="HTML table not provided, or element with ID not found";return this.emit({type:"loadError",detail:e,error:t}),Promise.reject(Error(t))}let l=s.parse((0,i.merge)({tableElement:this.tableElement},r),e);return n.deleteColumns(),n.setColumns(l),await this.applyTableModifiers(),this.emit({type:"afterLoad",detail:e}),this}}eU.defaultOptions={id:"HTML-table-connector",type:"HTMLTable",htmlTable:""},y.registerType("HTMLTable",eU);class eH extends a{constructor(e,...t){super(),this.chain=t,this.options=(0,i.merge)(eH.defaultOptions,e);const r=this.options.chain||[];for(let e=0,s=r.length,n,i;e<s;++e)(n=r[e]).type&&(i=a.types[n.type])&&t.push(new i(n))}add(e,t){this.emit({type:"addModifier",detail:t,modifier:e}),this.chain.push(e),this.emit({type:"addModifier",detail:t,modifier:e})}clear(e){this.emit({type:"clearChain",detail:e}),this.chain.length=0,this.emit({type:"afterClearChain",detail:e})}async modify(e,t){let r=this.options.reverse?this.chain.slice().reverse():this.chain.slice();e.modified||(e.modified=e.clone(!1,t));let s=e;for(let n=0,i=r.length;n<i;++n){try{await r[n].modify(s,t)}catch(r){throw this.emit({type:"error",detail:t,table:e}),r}s=s.getModified()}return e.modified=s,e}modifyTable(e,t){this.emit({type:"modify",detail:t,table:e});let r=this.options.reverse?this.chain.reverse():this.chain.slice(),s=e.getModified();for(let e=0,n=r.length;e<n;++e)s=r[e].modifyTable(s,t).getModified();return e.modified=s,this.emit({type:"afterModify",detail:t,table:e}),e}remove(e,t){let r=this.chain;this.emit({type:"removeModifier",detail:t,modifier:e}),r.splice(r.indexOf(e),1),this.emit({type:"afterRemoveModifier",detail:t,modifier:e})}emit(e){(0,i.fireEvent)(this,e.type,e)}on(e,t){return(0,i.addEvent)(this,e,t)}}eH.defaultOptions={type:"Chain"},a.registerType("Chain",eH);class e_ extends a{constructor(e){super(),this.options=(0,i.merge)(e_.defaultOptions,e)}modifyTable(e,t){this.emit({type:"modify",detail:t,table:e});let r=e.getModified();if(e.hasColumns(["columnIds"])){let t=(e.deleteColumns(["columnIds"])||{}).columnIds||[],s={},n=[];for(let e=0,r=t.length;e<r;++e)n.push(""+t[e]);for(let t=0,r=e.getRowCount(),i;t<r;++t)(i=e.getRow(t))&&(s[n[t]]=i);r.deleteColumns(),r.setColumns(s)}else{let t={};for(let r=0,s=e.getRowCount(),n;r<s;++r)(n=e.getRow(r))&&(t[`${r}`]=n);t.columnIds=e.getColumnIds(),r.deleteColumns(),r.setColumns(t)}return this.emit({type:"afterModify",detail:t,table:e}),e}}e_.defaultOptions={type:"Invert"},a.registerType("Invert",e_);class eB extends a{constructor(e){super(),this.options={...eB.defaultOptions,...e}}modifyTable(e,t){this.emit({type:"modify",detail:t,table:e});let r=this.options.alternativeSeparators,s=this.options.formulaColumns||e.getColumnIds(),n=e.getModified();for(let t=0,r=s.length,i;t<r;++t)i=s[t],s.indexOf(i)>=0&&n.setColumn(i,this.processColumn(e,i));let i=this.options.columnFormulas||[];for(let t=0,s=i.length,o,l;t<s;++t)o=i[t],l=B.parseFormula(o.formula,r),n.setColumn(o.column,this.processColumnFormula(l,e,o.rowStart,o.rowEnd));return this.emit({type:"afterModify",detail:t,table:e}),e}processColumn(e,t,r=0){let s=this.options.alternativeSeparators,n=(e.getColumn(t,!0)||[]).slice(r>0?r:0);for(let t=0,r=n.length,i=[],o;t<r;++t)if("string"==typeof(o=n[t])&&"="===o[0])try{i=""===o?i:B.parseFormula(o.substring(1),s),n[t]=em.processFormula(i,e)}catch{n[t]=NaN}return n}processColumnFormula(e,t,r=0,s=t.getRowCount()){r=r>=0?r:0,s=s>=0?s:t.getRowCount()+s;let n=[],i=t.getModified();for(let t=0,o=s-r;t<o;++t)try{n[t]=em.processFormula(e,i)}catch{n[t]=NaN}finally{e=em.translateReferences(e,0,1)}return n}}eB.defaultOptions={type:"Math",alternativeSeparators:!1},a.registerType("Math",eB);class eZ extends a{constructor(e){super(),this.options=(0,i.merge)(eZ.defaultOptions,e)}modifyTable(e,t){this.emit({type:"modify",detail:t,table:e});let{start:r,end:s}=this.options;r=Math.max(0,r||0);let n=Math.max((s=Math.min(s||1/0,e.getRowCount()))-r,0),i=e.getModified();return i.deleteRows(),i.setRows(e.getRows(r,n)),i.setOriginalRowIndexes(Array.from({length:n},(t,s)=>e.getOriginalRowIndex(r+s))),this.emit({type:"afterModify",detail:t,table:e}),e}}eZ.defaultOptions={type:"Range",start:0,end:1/0},a.registerType("Range",eZ);class eK extends a{static ascending(e,t){return(e||0)<(t||0)?-1:+((e||0)>(t||0))}static descending(e,t){return(t||0)<(e||0)?-1:+((t||0)>(e||0))}static compareFactory(e,t){return t?"desc"===e?(e,r)=>-t(e,r):t:"asc"===e?eK.ascending:eK.descending}constructor(e){super(),this.options=(0,i.merge)(eK.defaultOptions,e)}getRowReferences(e){let t=e.getRows(),r=[];for(let e=0,s=t.length;e<s;++e)r.push({index:e,row:t[e]});return r}modifyTable(e,t){this.emit({type:"modify",detail:t,table:e});let r=e.getColumnIds(),s=e.getRowCount(),n=this.getRowReferences(e),{direction:i,orderInColumn:o,compare:l}=this.options,a=e.getModified(),u="columns"in this.options?this.options.columns:[this.options.orderByColumn],h=[];for(let e=0,t=u.length;e<t;++e){let t=u[e],s="string"==typeof t,n=s?t:t.column,o=r.indexOf(n);-1!==o&&h.push({columnIndex:o,compare:eK.compareFactory(s?i:t.direction||i,s?l:t.compare||l)})}if(h.length&&n.sort((e,t)=>{for(let r=0,s=h.length;r<s;++r){let{columnIndex:s,compare:n}=h[r],i=n(e.row[s],t.row[s]);if(i)return i}return e.index-t.index}),o){let e=[];for(let t=0;t<s;++t)e[n[t].index]=t;a.setColumns({[o]:e})}else{let t,r=[],i=[];for(let o=0;o<s;++o)t=n[o],r.push(e.getOriginalRowIndex(t.index)),i.push(t.row);a.setRows(i,0),a.setOriginalRowIndexes(r)}return this.emit({type:"afterModify",detail:t,table:e}),e}}eK.defaultOptions={type:"Sort",direction:"desc",orderByColumn:"y"},a.registerType("Sort",eK);class eX extends a{static compile(e){if((0,i.isFunction)(e))return e;let t=e.operator;switch(t){case"and":{let t=e.conditions.map(e=>this.compile(e));return(e,r,s)=>t.every(t=>t(e,r,s))}case"or":{let t=e.conditions.map(e=>this.compile(e));return(e,r,s)=>t.some(t=>t(e,r,s))}case"not":{let t=this.compile(e.condition);return(e,r,s)=>!t(e,r,s)}}let{columnId:r,value:s}=e;switch(t){case"==":return e=>e[r]==s;case"===":return e=>e[r]===s;case"!=":return e=>e[r]!=s;case"!==":return e=>e[r]!==s;case">":return e=>(e[r]||0)>(s||0);case">=":return e=>(e[r]||0)>=(s||0);case"<":return e=>(e[r]||0)<(s||0);case"<=":return e=>(e[r]||0)<=(s||0);case"empty":return e=>null===e[r]||""===e[r]}let{ignoreCase:n}=e,o=e=>{let t=""+e;return n??!0?t.toLowerCase():t};return"contains"===t?e=>o(e[r]).includes(o(s)):e=>o(e[r])[t](o(s))}constructor(e){super(),this.options=(0,i.merge)(eX.defaultOptions,e)}modifyTable(e,t){this.emit({type:"modify",detail:t,table:e});let{condition:r}=this.options;if(!r)return e;let s=eX.compile(r),n=e.getModified(),i=[],o=[];for(let t=0,r=e.getRowCount();t<r;++t){let r=e.getRowObject(t);r&&s(r,e,t)&&(i.push(r),o.push(e.getOriginalRowIndex(t)))}return n.deleteRows(),n.setRows(i),n.setOriginalRowIndexes(o),this.emit({type:"afterModify",detail:t,table:e}),e}}eX.defaultOptions={type:"Filter"},a.registerType("Filter",eX);let eq=o();eq.DataConnector=eq.DataConnector||y,eq.DataConverter=eq.DataConverter||O,eq.DataCursor=eq.DataCursor||M,eq.DataModifier=eq.DataModifier||a,eq.DataPool=eq.DataPool||x,eq.DataTable=eq.DataTable||m,eq.Formula=eq.Formula||eF;let eG=o();return n.default})());
12
+ */function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(e._Highcharts):"function"==typeof define&&define.amd?define("highcharts/modules/data-tools",["highcharts/highcharts"],function(e){return t(e)}):"object"==typeof exports?exports["highcharts/modules/data-tools"]=t(e._Highcharts):e.Highcharts=t(e.Highcharts)}("u"<typeof window?this:window,e=>(()=>{"use strict";var t={944(t){t.exports=e}};let r={};function s(e){let i=r[e];if(void 0!==i)return i.exports;let n=r[e]={exports:{}};return t[e](n,n.exports,s),n.exports}s.n=e=>{let t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);let i={};s.d(i,{default:()=>eG});var n=s(944),o=s.n(n);class l{static registerType(e,t){return!!e&&!l.types[e]&&!!(l.types[e]=t)}benchmark(e,t){let r=[],s=this,i=()=>{s.modifyTable(e),s.emit({type:"afterBenchmarkIteration"})},{iterations:o}=(0,n.merge)({iterations:1},t);s.on("afterBenchmarkIteration",()=>{r.length===o?s.emit({type:"afterBenchmark",results:r}):i()});let l={startTime:0,endTime:0};return s.on("modify",()=>{l.startTime=window.performance.now()}),s.on("afterModify",()=>{l.endTime=window.performance.now(),r.push(l.endTime-l.startTime)}),i(),r}emit(e){(0,n.fireEvent)(this,e.type,e)}modify(e,t){let r=this;return new Promise((s,i)=>{e.modified||(e.modified=e.clone(!1,t));try{s(r.modifyTable(e,t))}catch(s){r.emit({type:"error",detail:t,table:e}),i(s instanceof Error?s:Error(""+s))}})}on(e,t){return(0,n.addEvent)(this,e,t)}}l.types={};let a=l,u={convertToNumber:function(e,t){switch(typeof e){case"boolean":return+!!e;case"number":return isNaN(e)&&!t?null:e;default:return isNaN(e=parseFloat(`${e??""}`))&&!t?null:e}},setLength:function(e,t,r){return Array.isArray(e)?(e.length=t,e):e[r?"subarray":"slice"](0,t)},splice:function(e,t,r,s,i=[]){if(Array.isArray(e))return Array.isArray(i)||(i=Array.from(i)),{removed:e.splice(t,r,...i),array:e};let n=Object.getPrototypeOf(e).constructor,o=e[s?"subarray":"slice"](t,t+r),l=new n(e.length-r+i.length);return l.set(e.subarray(0,t),0),l.set(i,t),l.set(e.subarray(t+r),t+i.length),{removed:o,array:l}}},{setLength:h,splice:c}=u,d=class{constructor(e={}){this.isDataTable=!0;let t=this.isPollutingKey(e.id)?void 0:e.id;this.autoId=!t,this.columns={},this.id=t||(0,n.uniqueKey)(),this.rowCount=0,this.versionTag=(0,n.uniqueKey)();let r=0;(0,n.objectEach)(e.columns||{},(e,t)=>{"__proto__"!==t&&"constructor"!==t&&(this.columns[t]=e.slice(),r=Math.max(r,e.length))}),this.applyRowCount(r)}isPollutingKey(e){return"__proto__"===e||"constructor"===e}applyRowCount(e){this.rowCount=e,(0,n.objectEach)(this.columns,(t,r)=>{t.length!==e&&(this.columns[r]=h(t,e))})}deleteRows(e,t=1){if(t>0&&e<this.rowCount){let r=0;(0,n.objectEach)(this.columns,(s,i)=>{this.columns[i]=c(s,e,t).array,r=s.length}),this.rowCount=r}(0,n.fireEvent)(this,"afterDeleteRows",{rowIndex:e,rowCount:t}),this.versionTag=(0,n.uniqueKey)()}getColumn(e,t){return this.columns[e]}getColumns(e,t){return(e||Object.keys(this.columns)).reduce((e,t)=>(e[t]=this.columns[t],e),{})}getRowObject(e,t){let r={},s=this.columns;for(let i of(t??(t=Object.keys(this.columns)),t))r[i]=s[i]?.[e];return r}setColumn(e,t=[],r=0,s){this.setColumns({[e]:t},r,s)}setColumns(e,t,r){let s=this.rowCount;(0,n.objectEach)(e,(e,t)=>{"__proto__"!==t&&"constructor"!==t&&(this.columns[t]=e.slice(),s=e.length)}),this.applyRowCount(s),r?.silent||((0,n.fireEvent)(this,"afterSetColumns"),this.versionTag=(0,n.uniqueKey)())}setRow(e,t=this.rowCount,r,s){let{columns:i}=this,o=r?this.rowCount+1:t+1,l=Object.keys(e);if(s?.addColumns!==!1)for(let e=0,t=l.length;e<t;e++){let t=l[e];this.isPollutingKey(t)||Object.hasOwnProperty.call(i,t)||(i[t]=Array(this.rowCount))}(0,n.objectEach)(i,(s,n)=>{s&&(r?s=c(s,t,0,!0,[e[n]]).array:s[t]=n in e?e[n]:s[t],i[n]=s)}),this.applyRowCount(Math.max(o,this.rowCount)),s?.silent||((0,n.fireEvent)(this,"afterSetRows",{rowIndex:t}),this.versionTag=(0,n.uniqueKey)())}getModified(){return this.modified||this}},{splice:f,setLength:p}=u,m=class e extends d{constructor(e={}){super(e),this.metadata=e.metadata}clone(t,r){let s={};this.emit({type:"cloneTable",detail:r}),t||(s.columns=this.columns),this.autoId||(s.id=this.id);let i=new e(s);return t||(i.versionTag=this.versionTag,i.originalRowIndexes=this.originalRowIndexes,i.localRowIndexes=this.localRowIndexes),i.metadata={...this.metadata},this.emit({type:"afterCloneTable",detail:r,tableClone:i}),i}deleteColumns(e,t){let r=this.columns,s={},i={},n=this.modifier,o=this.rowCount;if((e=e||Object.keys(r)).length){this.emit({type:"deleteColumns",columnIds:e,detail:t});for(let t=0,n=e.length,l,a;t<n;++t)(l=r[a=e[t]])&&(s[a]=l,i[a]=Array(o)),delete r[a];return Object.keys(r).length||(this.rowCount=0,this.deleteRowIndexReferences()),n&&n.modifyTable(this),this.emit({type:"afterDeleteColumns",columns:s,columnIds:e,detail:t}),s}}deleteRowIndexReferences(){delete this.originalRowIndexes,delete this.localRowIndexes}deleteRows(e,t=1,r){let s,i,{columns:o,modifier:l}=this,a=[];if((0,n.defined)(e)?Array.isArray(e)?i=(s=e.filter((e,t,r)=>e>=0&&e<this.rowCount&&r.indexOf(e)===t).sort((e,t)=>t-e)).length:(s=[e],i=t):(s=[0],i=this.rowCount),this.emit({type:"deleteRows",detail:r,rowCount:i,rowIndex:e??0}),i>0){let e=Object.keys(o);for(let t=0;t<e.length;++t){let r,n=e[t],l=o[n];if(1===s.length&&i>1){let e=f(l,s[0],i);r=e.removed,o[n]=e.array}else{for(let e of(r=[],s))r.push(l[e]),f(l,e,1);r.reverse()}t||(this.rowCount=l.length);for(let e=0,s=r.length;e<s;++e)a[e]=a[e]||[],a[e][t]=r[e]}}return l&&l.modifyTable(this),this.emit({type:"afterDeleteRows",detail:r,rowCount:i,rowIndex:e??0,rows:a}),a}emit(e){["afterDeleteColumns","afterDeleteRows","afterSetCell","afterSetColumns","afterSetRows"].includes(e.type)&&(this.versionTag=(0,n.uniqueKey)()),(0,n.fireEvent)(this,e.type,e)}getCell(e,t){let r=this.columns[e];if(r)return r[t]}getColumn(e,t){return this.getColumns([e],t)[e]}getColumnIds(){return Object.keys(this.columns)}getColumns(e,t,r){let s=this.columns,i={};e=e||Object.keys(s);for(let n=0,o=e.length,l,a;n<o;++n)(l=s[a=e[n]])&&(t?i[a]=l:r&&!Array.isArray(l)?i[a]=Array.from(l):i[a]=l.slice());return i}getLocalRowIndex(e){let{localRowIndexes:t}=this;return t?t[e]:e}getModifier(){return this.modifier}getOriginalRowIndex(e){let{originalRowIndexes:t}=this;return t?t[e]:e}getRow(e,t){return this.getRows(e,1,t)[0]}getRowCount(){return this.rowCount}getRowIndexBy(e,t,r){let s=this.columns[e];if(s){let e=-1;if(Array.isArray(s)?e=s.indexOf(t,r):(0,n.isNumber)(t)&&(e=s.indexOf(t,r)),-1!==e)return e}}getRowObject(e,t){return this.getRowObjects(e,1,t)[0]}getRowObjects(e=0,t=this.rowCount-e,r){let s=this.columns,i=Array(t);r=r||Object.keys(s);for(let n=e,o=0,l=Math.min(this.rowCount,e+t),a,u;n<l;++n,++o)for(let e of(u=i[o]={},r))a=s[e],u[e]=a?a[n]:void 0;return i}getRows(e=0,t=this.rowCount-e,r){let s=this.columns,i=Array(t);r=r||Object.keys(s);for(let n=e,o=0,l=Math.min(this.rowCount,e+t),a,u;n<l;++n,++o)for(let e of(u=i[o]=[],r))a=s[e],u.push(a?a[n]:void 0);return i}getVersionTag(){return this.versionTag}hasColumns(e){let t=this.columns;for(let r=0,s=e.length;r<s;++r)if(!t[e[r]])return!1;return!0}hasRowWith(e,t){let r=this.columns[e];return!!r&&(Array.isArray(r)?-1!==r.indexOf(t):!!((0,n.defined)(t)&&Number.isFinite(t))&&-1!==r.indexOf(+t))}on(e,t){return(0,n.addEvent)(this,e,t)}changeColumnId(e,t){if("__proto__"===e||"constructor"===e||"__proto__"===t||"constructor"===t)return!1;let r=this.columns;return!!Object.hasOwnProperty.call(r,e)&&(e!==t&&(r[t]=r[e],delete r[e]),!0)}setCell(e,t,r,s){if("__proto__"===e||"constructor"===e)return;let i=this.columns,n=this.modifier,o=Object.hasOwnProperty.call(i,e)?i[e]:void 0;o&&o[t]===r||(this.emit({type:"setCell",cellValue:r,columnId:e,detail:s,rowIndex:t}),o||(o=i[e]=Array(this.rowCount)),t>=this.rowCount&&(this.rowCount=t+1),o[t]=r,n&&n.modifyTable(this),this.emit({type:"afterSetCell",cellValue:r,columnId:e,detail:s,rowIndex:t}))}setColumns(e,t,r,s){let i=this.columns,o=this.modifier,l=Object.keys(e),a=this.rowCount;if(this.emit({type:"setColumns",columns:e,columnIds:l,detail:r,rowIndex:t}),(0,n.defined)(t)||s){for(let r=0,n=l.length,o,u,h,c;r<n;++r)if("__proto__"!==(h=l[r])&&"constructor"!==h){o=e[h],c=Object.getPrototypeOf((u=i[h])&&s?u:o).constructor,u?c===Array?Array.isArray(u)||(u=Array.from(u)):u.length<a&&(u=new c(a)).set(i[h]):u=new c(a),i[h]=u;for(let e=t||0,r=o.length;e<r;++e)u[e]=o[e];a=Math.max(a,o.length)}this.applyRowCount(a)}else super.setColumns(e,t,(0,n.extend)(r,{silent:!0}));o&&o.modifyTable(this),this.emit({type:"afterSetColumns",columns:e,columnIds:l,detail:r,rowIndex:t})}setModifier(e,t){let r=this;return r.emit({type:"setModifier",detail:t,modifier:e,modified:r.getModified()}),r.modifier=e,(e?e.modify(r):Promise.resolve(r)).then(r=>(r.emit({type:"afterSetModifier",detail:t,modifier:e,modified:r.getModified()}),r)).catch(t=>{throw r.emit({type:"setModifierError",error:t,modifier:e,modified:r.getModified()}),t})}setOriginalRowIndexes(e,t=!1){if(this.originalRowIndexes=e,t)return;let r=this.localRowIndexes=[];for(let t=0,s=e.length,i;t<s;++t)i=e[t],(0,n.defined)(i)&&(r[i]=t)}setRow(e,t,r,s){this.setRows([e],t,r,s)}setRows(e,t=this.rowCount,r,s){let i=this.columns,n=Object.keys(i),o=this.modifier,l=e.length;this.emit({type:"setRows",detail:s,rowCount:l,rowIndex:t,rows:e});for(let s=0,o=t,a;s<l;++s,++o)if(0===Object.keys(a=e[s]).length)for(let e=0,t=n.length;e<t;++e){let t=i[n[e]];r?i[n[e]]=f(t,o,0,!0,[null]).array:t[o]=null}else if(Array.isArray(a))for(let e=0,t=n.length;e<t;++e)i[n[e]][o]=a[e];else super.setRow(a,o,r,{silent:!0});let a=r?l+e.length:t+l;if(a>this.rowCount){this.rowCount=a;for(let e=0,t=n.length;e<t;++e){let t=n[e];i[t]=p(i[t],a)}}o&&o.modifyTable(this),this.emit({type:"afterSetRows",detail:s,rowCount:l,rowIndex:t,rows:e})}};class g{static registerType(e,t){return!!e&&!g.types[e]&&!!(g.types[e]=t)}get polling(){return!!this._polling}constructor(e){this.dataTables={},this.loaded=!1,this.metadata=e.metadata||{columns:{}},this.options=e;let t=e?.dataTables,r=0;if(e.options&&console.error("The `DataConnectorOptions.options` property was removed in Dashboards v4.0.0. Check how to upgrade your connector to use the new options structure here: https://api.highcharts.com/dashboards/#interfaces/Data_DataTableOptions.DataTableOptions"),t&&t?.length>0)for(let e=0,s=t.length;e<s;++e){let s=t[e],i=s?.key;this.dataTables[i??r]=new m(s),!i&&r++}else this.dataTables[0]=new m({id:e.id})}getTable(e){return e?this.dataTables[e]:Object.values(this.dataTables)[0]}describeColumn(e,t){let r=this.metadata.columns;r[e]=(0,n.merge)(r[e]||{},t)}describeColumns(e){let t,r=Object.keys(e);for(;"string"==typeof(t=r.pop());)this.describeColumn(t,e[t])}getColumnOrder(){let e=this.metadata.columns,t=Object.keys(e||{});if(t.length)return t.sort((t,r)=>(e[t].index??0)-(e[r].index??0))}getSortedColumns(){return this.getTable().getColumns(this.getColumnOrder())}setColumnOrder(e){for(let t=0,r=e.length;t<r;++t)this.describeColumn(e[t],{index:t})}async update(e,t=!0){this.emit({type:"beforeUpdate"}),(0,n.merge)(!0,this.options,e);let{options:r}=this;("enablePolling"in e||"dataRefreshRate"in e)&&("enablePolling"in r&&r.enablePolling?(this.stopPolling(),this.startPolling("dataRefreshRate"in r&&"number"==typeof r.dataRefreshRate?1e3*Math.max(r.dataRefreshRate,1):1e3)):this.stopPolling()),t&&await this.load(),this.emit({type:"afterUpdate"})}load(){return this.emit({type:"afterLoad"}),Promise.resolve(this)}async applyTableModifiers(){let e=this.options?.dataTables;for(let[t,r]of Object.entries(this.dataTables)){let s=e?.find(e=>e.key===t)?.dataModifier??this.options?.dataModifier;if(!s)continue;let i=s&&a.types[s.type];await r.setModifier(i?new i(s):void 0)}return this}startPolling(e=1e3){let t=this;this.pollingController=new AbortController,window.clearTimeout(t._polling),t._polling=window.setTimeout(()=>t.load().catch(e=>t.emit({type:"loadError",error:e})).then(()=>{t._polling&&t.startPolling(e)}),e)}stopPolling(){this.polling&&(this?.pollingController?.abort(),window.clearTimeout(this._polling),delete this._polling)}emit(e){(0,n.fireEvent)(this,e.type,e)}on(e,t){return(0,n.addEvent)(this,e,t)}initConverters(e,t,r){let s=0;for(let[i,n]of Object.entries(this.dataTables)){let o=t(i),l=r(o,e);n.deleteColumns(),n.setColumns(l),0===s&&(this.converter=o),s++}}}g.types={};let y=g;function b(e,t){return"string"==typeof e&&(e=e.replace(/^\s+|\s+$/g,""),t&&/^[\d\s]+$/.test(e)&&(e=e.replace(/\s/g,""))),e}let w=function(e,t){let r;if("string"==typeof e)r=t.parseDate(e);else if("number"==typeof e)r=e;else{if(e instanceof Date)return e;r=t.parseDate(""+e)}return new Date(r)},C=function(e,t){if("number"==typeof e)return e;if("boolean"==typeof e)return+!!e;if("string"==typeof e){if(e.indexOf(" ")>-1&&(e=e.replace(/\s+/g,"")),t){if(!t.test(e))return 0/0;e=e.replace(t,"$1.$2")}return parseFloat(e)}return e instanceof Date?e.getDate():e?e.getRowCount():0/0},R=function(e){return""+e},O=function(e=[],t){let r={};for(let s=0,i=Math.max(t.length,e.length);s<i;++s)r[t[s]||`${s}`]=e[s]?e[s].slice():[];return r},T=function(e,t){let r="string";if("string"==typeof e){let s=b(`${e}`),i=t.decimalRegExp,o=b(s,!0);i&&(o=i.test(o)?o.replace(i,"$1.$2"):"");let l=parseFloat(o);if(+o===l)e=l;else{let s=t.parseDate(e);r=(0,n.isNumber)(s)?"Date":"string"}}return"number"==typeof e&&(r=e>31536e6?"Date":"number"),r};class v{static registerType(e,t){return!!e&&!v.types[e]&&!!(v.types[e]=t)}constructor(e){this.dateFormats={"YYYY/mm/dd":{regex:/^(\d{4})([\-\.\/])(\d{1,2})\2(\d{1,2})$/,parser:function(e){return e?Date.UTC(+e[1],e[3]-1,+e[4]):0/0}},"dd/mm/YYYY":{regex:/^(\d{1,2})([\-\.\/])(\d{1,2})\2(\d{4})$/,parser:function(e){return e?Date.UTC(+e[4],e[3]-1,+e[1]):0/0},alternative:"mm/dd/YYYY"},"mm/dd/YYYY":{regex:/^(\d{1,2})([\-\.\/])(\d{1,2})\2(\d{4})$/,parser:function(e){return e?Date.UTC(+e[4],e[1]-1,+e[3]):0/0}},"dd/mm/YY":{regex:/^(\d{1,2})([\-\.\/])(\d{1,2})\2(\d{2})$/,parser:function(e){let t=new Date;if(!e)return 0/0;let r=+e[4];return r>t.getFullYear()-2e3?r+=1900:r+=2e3,Date.UTC(r,e[3]-1,+e[1])},alternative:"mm/dd/YY"},"mm/dd/YY":{regex:/^(\d{1,2})([\-\.\/])(\d{1,2})\2(\d{2})$/,parser:function(e){return e?Date.UTC(+e[4]+2e3,e[1]-1,+e[3]):0/0}}};let t=(0,n.merge)(v.defaultOptions,e),r=t.decimalPoint;("."===r||","===r)&&(r="."===r?"\\.":",",this.decimalRegExp=RegExp("^(-?[0-9]+)"+r+"([0-9]+)$")),this.options=t}convertByType(e){let t=this;return({number:e=>C(e,t.decimalRegExp),Date:e=>w(e,t),string:R})[T(e,t)].call(t,e)}deduceDateFormat(e,t,r){let s=[],i=[],n="YYYY/mm/dd",o,l=[],a=0,u=!1,h,c;for((!t||t>e.length)&&(t=e.length);a<t;a++)if(void 0!==e[a]&&e[a]&&e[a].length)for(o=e[a].trim().replace(/[\-\.\/]/g," ").split(" "),l=["","",""],c=0;c<o.length;c++)c<l.length&&(h=parseInt(o[c],10))&&(i[c]=!i[c]||i[c]<h?h:i[c],void 0!==s[c]?s[c]!==h&&(s[c]=!1):s[c]=h,h>31?h<100?l[c]="YY":l[c]="YYYY":h>12&&h<=31?(l[c]="dd",u=!0):l[c].length||(l[c]="mm"));if(u){for(c=0;c<s.length;c++)!1!==s[c]?i[c]>12&&"YY"!==l[c]&&"YYYY"!==l[c]&&(l[c]="YY"):i[c]>12&&"mm"===l[c]&&(l[c]="dd");3===l.length&&"dd"===l[1]&&"dd"===l[2]&&(l[2]="YY"),n=l.join("/")}return r&&(this.options.dateFormat=n),n}emit(e){(0,n.fireEvent)(this,e.type,e)}on(e,t){return(0,n.addEvent)(this,e,t)}parseDate(e,t){let r=this.options,s=t||r.dateFormat,i=0/0,n,o=null;if(r.parseDate)i=r.parseDate(e);else{let t=this.dateFormats;if(s){let r=t[s];r||(r=t["YYYY/mm/dd"]),(o=e.match(r.regex))&&(i=r.parser(o))}else for(n in t){let r=t[n];if(o=e.match(r.regex)){s=n,i=r.parser(o);break}}if(!o){let t=Date.parse(e);!isNaN(t)&&(i=t-6e4*new Date(t).getTimezoneOffset(),e.includes("2001")||2001!==new Date(i).getFullYear()||(i=0/0))}}return i}}v.defaultOptions={dateFormat:"",firstRowAsNames:!0},v.types={};let A=v;function M(e,t){if("position"===e.type){for(let r,s=0,i=t.length;s<i;++s)if("position"===(r=t[s]).type&&r.state===e.state&&r.column===e.column&&r.row===e.row)return s}else{let r=JSON.stringify(e.columns);for(let s,i=0,n=t.length;i<n;++i)if("range"===(s=t[i]).type&&s.state===e.state&&s.firstRow===e.firstRow&&s.lastRow===e.lastRow&&JSON.stringify(s.columns)===r)return i}return -1}let x=class{constructor(e=Object.create(null)){this.emittingRegister=[],this.listenerMap=Object.create(null),this.stateMap=e}addListener(e,t,r){let s=this.listenerMap[e]=this.listenerMap[e]||{};return(s[t]=s[t]||[]).push(r),this}buildEmittingTag(e){return("position"===e.cursor.type?[e.table.id,e.cursor.column,e.cursor.row,e.cursor.state,e.cursor.type]:[e.table.id,e.cursor.columns,e.cursor.firstRow,e.cursor.lastRow,e.cursor.state,e.cursor.type]).join("\0")}emitCursor(e,t,r,s){let i=e.id,n=t.state,o=this.listenerMap[i]&&this.listenerMap[i][n];if(o){let n=this.stateMap[i]=this.stateMap[i]??{},l=n[t.state]||[];s&&(l.length||(n[t.state]=l),-1===M(t,l)&&l.push(t));let a={cursor:t,cursors:l,table:e};r&&(a.event=r);let u=this.emittingRegister,h=this.buildEmittingTag(a);if(u.indexOf(h)>=0)return this;try{this.emittingRegister.push(h);for(let e=0,t=o.length;e<t;++e)o[e].call(this,a)}finally{let e=this.emittingRegister.indexOf(h);e>=0&&this.emittingRegister.splice(e,1)}}return this}remitCursor(e,t){let r=this.stateMap[e]&&this.stateMap[e][t.state];if(r){let e=M(t,r);e>=0&&r.splice(e,1)}return this}removeListener(e,t,r){let s=this.listenerMap[e]&&this.listenerMap[e][t];if(s){let e=s.indexOf(r);e>=0&&s.splice(e,1)}return this}};class E{constructor(e){this.options=(0,n.merge)(E.defaultOptions,e),this.connectors={},this.waiting={}}emit(e){(0,n.fireEvent)(this,e.type,e)}getConnector(e){let t=this.connectors[e];if(t?.loaded)return Promise.resolve(t);let r=this.waiting[e];if(!r){r=this.waiting[e]=[];let t=this.getConnectorOptions(e);if(!t)throw Error(`Connector '${e}' not found.`);this.loadConnector(t).then(t=>{delete this.waiting[e];for(let e=0,s=r.length;e<s;++e)r[e][0](t)}).catch(t=>{delete this.waiting[e];for(let e=0,s=r.length;e<s;++e)r[e][1](t)})}return new Promise((e,t)=>{r.push([e,t])})}getConnectorIds(){let e=this.options.connectors,t=[];for(let r=0,s=e.length;r<s;++r)t.push(e[r].id);return t}getConnectorOptions(e){let t=this.options.connectors;for(let r=0,s=t.length;r<s;++r)if(t[r].id===e)return t[r]}isNewConnector(e){return!this.connectors[e]}loadConnector(e){return new Promise((t,r)=>{this.emit({type:"load",options:e});let s=y.types[e.type];if(!s)throw Error(`Connector type not found. (${e.type})`);let i=this.connectors[e.id]=new s(e);i.load().then(({converter:r})=>{i.converter=r,i.loaded=!0,this.emit({type:"afterLoad",options:e}),t(i)}).catch(r)})}cancelPendingRequests(){let{connectors:e}=this;for(let t of Object.keys(e))e[t].stopPolling()}on(e,t){return(0,n.addEvent)(this,e,t)}async setConnectorOptions(e,t){let r=this.options.connectors,s=this.connectors;this.emit({type:"setConnectorOptions",options:e});for(let t=0,s=r.length;t<s;++t)if(r[t].id===e.id){r.splice(t,1);break}let i=s[e.id];i&&(t?await i.update(e,!0):(i.stopPolling(),i=void 0,delete s[e.id])),i||r.push(e),this.emit({type:"afterSetConnectorOptions",options:e})}}E.defaultOptions={connectors:[]};let N=/^(?:FALSE|TRUE)/,I=/^[+\-]?\d+(?:\.\d+)?(?:e[+\-]\d+)?/,F=/^[+\-]?\d+(?:,\d+)?(?:e[+\-]\d+)?/,P=/^([A-Z][A-Z\d\.]*)\(/,j=/^(?:<=|>=|[+\-*\/^<=>])/,D=/^(\$?[A-Z]+)(\$?\d+)\:(\$?[A-Z]+)(\$?\d+)/,L=/^R(\d*|\[\d+\])C(\d*|\[\d+\])\:R(\d*|\[\d+\])C(\d*|\[\d+\])/,k=/^(\$?[A-Z]+)(\$?\d+)(?![\:C])/,Y=/^R(\d*|\[\d+\])C(\d*|\[\d+\])(?!\:)/;function S(e){let t=0;for(let r=0,s=e.length,i,n=1;r<s;++r){if("("===(i=e[r])){t||(n=r+1),++t;continue}if(")"===i&&!--t)return e.substring(n,r)}if(t>0){let e=Error("Incomplete parentheses.");throw e.name="FormulaParseError",e}return""}function _(e){let t=-1;for(let r=0,s=e.length,i,n=!1;r<s;++r){if("\\"===(i=e[r])){n=!n;continue}if(n){n=!1;continue}if('"'===i)if(!(t<0))return e.substring(t+1,r);else t=r}let r=Error("Incomplete string.");throw r.name="FormulaParseError",r}function V(e,t,r){let s;if(s=e.match(L)){let e=""===s[2]||"["===s[2][0],t=""===s[1]||"["===s[1][0],r=""===s[4]||"["===s[4][0],i=""===s[3]||"["===s[3][0],n={type:"range",beginColumn:e?parseInt(s[2].substring(1,-1)||"0",10):parseInt(s[2],10)-1,beginRow:t?parseInt(s[1].substring(1,-1)||"0",10):parseInt(s[1],10)-1,endColumn:r?parseInt(s[4].substring(1,-1)||"0",10):parseInt(s[4],10)-1,endRow:i?parseInt(s[3].substring(1,-1)||"0",10):parseInt(s[3],10)-1};return e&&(n.beginColumnRelative=!0),t&&(n.beginRowRelative=!0),r&&(n.endColumnRelative=!0),i&&(n.endRowRelative=!0),n}if(s=e.match(D)){let e="$"!==s[1][0],t="$"!==s[2][0],r="$"!==s[3][0],i="$"!==s[4][0],n={type:"range",beginColumn:H(e?s[1]:s[1].substring(1))-1,beginRow:parseInt(t?s[2]:s[2].substring(1),10)-1,endColumn:H(r?s[3]:s[3].substring(1))-1,endRow:parseInt(i?s[4]:s[4].substring(1),10)-1};return e&&(n.beginColumnRelative=!0),t&&(n.beginRowRelative=!0),r&&(n.endColumnRelative=!0),i&&(n.endRowRelative=!0),n}let i=U(e,t,r);return 1===i.length&&"string"!=typeof i[0]?i[0]:i}function $(e){let t=e.length,r=e[t-2];return"-"===e[t-1]&&(0,n.isString)(r)&&!!r.match(/\*|\/|\^/)}function U(e,t,r=0){if(r>256){let e=Error("Formula nested deeper than 256 levels.");throw e.name="FormulaParseError",e}let s=t?F:I,i=[],n,o=("="===e[0]?e.substring(1):e).trim();for(;o;){if(n=o.match(Y)){let e=""===n[2]||"["===n[2][0],t=""===n[1]||"["===n[1][0],r={type:"reference",column:e?parseInt(n[2].substring(1,-1)||"0",10):parseInt(n[2],10)-1,row:t?parseInt(n[1].substring(1,-1)||"0",10):parseInt(n[1],10)-1};e&&(r.columnRelative=!0),t&&(r.rowRelative=!0),$(i)&&(i.pop(),r.isNegative=!0),i.push(r),o=o.substring(n[0].length).trim();continue}if(n=o.match(k)){let e="$"!==n[1][0],t="$"!==n[2][0],r={type:"reference",column:H(e?n[1]:n[1].substring(1))-1,row:parseInt(t?n[2]:n[2].substring(1),10)-1};e&&(r.columnRelative=!0),t&&(r.rowRelative=!0),$(i)&&(i.pop(),r.isNegative=!0),i.push(r),o=o.substring(n[0].length).trim();continue}if(n=o.match(j)){i.push(n[0]),o=o.substring(n[0].length).trim();continue}if(n=o.match(N)){i.push("TRUE"===n[0]),o=o.substring(n[0].length).trim();continue}if(n=o.match(s)){let e=parseFloat(n[0]);$(i)&&(i.pop(),e=-e),i.push(e),o=o.substring(n[0].length).trim();continue}if('"'===o[0]){let e=_(o);i.push(e.substring(1,-1)),o=o.substring(e.length+2).trim();continue}if(n=o.match(P)){let e=S(o=o.substring(n[1].length).trim());i.push({type:"function",name:n[1],args:function(e,t,r){let s=[],i=t?";":",",n=0,o="";for(let l=0,a=e.length,u;l<a;++l)if((u=e[l])===i&&!n&&o)s.push(V(o,t,r)),o="";else if('"'!==u||n||o)" "!==u&&(o+=u,"("===u?++n:")"===u&&--n);else{let t=_(e.substring(l));s.push(t),l+=t.length+1}return!n&&o&&s.push(V(o,t,r)),s}(e,t,r+1)}),o=o.substring(e.length+2).trim();continue}if("("===o[0]){let e=S(o);if(e){i.push(U(e,t,r+1)),o=o.substring(e.length+2).trim();continue}}let l=e.length-o.length,a=Error("Unexpected character `"+e.substring(l,l+1)+"` at position "+(l+1)+". (`..."+e.substring(l-5,l+6)+"...`)");throw a.name="FormulaParseError",a}return i}function H(e){let t=0;for(let r=0,s=e.length,i,n=e.length-1;r<s;++r)(i=e.charCodeAt(r))>=65&&i<=90&&(t+=(i-64)*Math.pow(26,n)),--n;return t}let B={parseFormula:U},K=["+","-","*","/","^","=","<","<=",">",">="],Z={isFormula:function(e){return Array.isArray(e)},isFunction:function(e){return"object"==typeof e&&!Array.isArray(e)&&"function"===e.type},isOperator:function(e){return"string"==typeof e&&K.indexOf(e)>=0},isRange:function(e){return"object"==typeof e&&!Array.isArray(e)&&"range"===e.type},isReference:function(e){return"object"==typeof e&&!Array.isArray(e)&&"reference"===e.type},isValue:function(e){return"boolean"==typeof e||"number"==typeof e||"string"==typeof e}},{isFormula:X,isFunction:q,isOperator:G,isRange:J,isReference:W,isValue:z}=Z,Q=/ */,ee=Number.MAX_VALUE/1.000000000001,et=Number.MAX_VALUE/1.000000000002,er=Number.MAX_VALUE,es={"^":3,"*":2,"/":2,"+":1,"-":1,"=":0,"<":0,"<=":0,">":0,">=":0},ei={},en=/^[A-Z][A-Z\.]*$/;function eo(e){switch(typeof e){case"boolean":return e?er:ee;case"string":return et;case"number":return e;default:return 0/0}}function el(e){return"string"==typeof e?e.toLowerCase().replace(Q,"\0"):e}function ea(e){switch(typeof e){case"boolean":return+!!e;case"string":return parseFloat(e.replace(",","."));case"number":return e;default:return 0/0}}function eu(e,t){return z(e)?e:J(e)?t&&eh(e,t)||[]:q(e)?ep(e,t):ef(X(e)?e:[e],t)}function eh(e,t){let r=t.getColumnIds().slice(e.beginColumn,e.endColumn+1),s=[];for(let i=0,n=r.length,o;i<n;++i){let n=t.getColumn(r[i],!0)||[];for(let l=e.beginRow,a=e.endRow+1;l<a;++l)"string"==typeof(o=n[l])&&"="===o[0]&&t!==t.getModified()&&(o=t.getModified().getCell(r[i],l)),s.push(z(o)?o:0/0)}return s}function ec(e,t){let r=t.getColumnIds()[e.column];if(r){let s=t.getCell(r,e.row);if("string"==typeof s&&"="===s[0]&&t!==t.getModified()){let s=t.getModified().getCell(r,e.row);return z(s)?s:0/0}if(z(s))return e.isNegative?-s:s}return 0/0}function ed(e,t){(e.length<2||t.length<1)&&e.push(0/0);let r=e.pop(),s=e.pop(),i=t.pop();(0,n.defined)(r)&&(0,n.defined)(s)&&(0,n.defined)(i)?e.push(function(e,t,r){let s;switch(e){case"=":return el(t)===el(r);case"<":if(typeof t==typeof r)return el(t)<el(r);return eo(t)<eo(r);case"<=":if(typeof t==typeof r)return el(t)<=el(r);return eo(t)<=eo(r);case">":if(typeof t==typeof r)return el(t)>el(r);return eo(t)>eo(r);case">=":if(typeof t==typeof r)return el(t)>=el(r);return eo(t)>=eo(r)}switch(t=ea(t),r=ea(r),e){case"+":s=t+r;break;case"-":s=t-r;break;case"*":s=t*r;break;case"/":s=t/r;break;case"^":s=Math.pow(t,r);break;default:return 0/0}return s%1?Math.round(1e9*s)/1e9:s}(i,s,r)):e.push(0/0)}function ef(e,t){let r=[],s=[],i=!0;for(let n=0,o=e.length;n<o;++n){let o,l=e[n];if(G(l)){if(i&&"-"===l)r.push(0),s.push("-"),i=!0;else{for(;s.length&&es[s[s.length-1]]>=es[l];)ed(r,s);s.push(l),i=!0}continue}if(z(l))o=l;else if(W(l))o=t?ec(l,t):0/0;else if(q(l)){let e=ep(l,t);o=z(e)?e:0/0}else X(l)&&(o=ef(l,t));if(void 0===o)return 0/0;r.push(o),i=!1}for(;s.length;)ed(r,s);return 1!==r.length?0/0:r[0]}function ep(e,t,r){let s=ei[e.name];if(s)try{return s(e.args,t)}catch{return 0/0}let i=Error(`Function "${e.name}" not found.`);throw i.name="FormulaProcessError",i}let em={asNumber:ea,getArgumentValue:eu,getArgumentsValues:function(e,t){let r=[];for(let s=0,i=e.length;s<i;++s)r.push(eu(e[s],t));return r},getRangeValues:eh,getReferenceValue:ec,processFormula:ef,processorFunctions:ei,registerProcessorFunction:function(e,t){return en.test(e)&&!ei[e]&&!!(ei[e]=t)},translateReferences:function e(t,r=0,s=0){for(let i=0,n=t.length,o;i<n;++i)Array.isArray(o=t[i])?e(o,r,s):q(o)?e(o.args,r,s):J(o)?(o.beginColumnRelative&&(o.beginColumn+=r),o.beginRowRelative&&(o.beginRow+=s),o.endColumnRelative&&(o.endColumn+=r),o.endRowRelative&&(o.endRow+=s)):W(o)&&(o.columnRelative&&(o.column+=r),o.rowRelative&&(o.row+=s));return t}},{getArgumentValue:eg}=em;em.registerProcessorFunction("ABS",function(e,t){let r=eg(e[0],t);switch(typeof r){case"number":return Math.abs(r);case"object":{let e=[];for(let t=0,s=r.length,i;t<s;++t){if("number"!=typeof(i=r[t]))return 0/0;e.push(Math.abs(i))}return e}default:return 0/0}});let{getArgumentValue:ey}=em;em.registerProcessorFunction("AND",function e(t,r){for(let s=0,i=t.length,n;s<i;++s)if(!(n=ey(t[s],r))||"object"==typeof n&&!e(n,r))return!1;return!0});let{getArgumentsValues:eb}=em;em.registerProcessorFunction("AVERAGE",function(e,t){let r=eb(e,t),s=0,i=0;for(let e=0,t=r.length,n;e<t;++e)switch(typeof(n=r[e])){case"number":isNaN(n)||(++s,i+=n);break;case"object":for(let e=0,t=n.length,r;e<t;++e)"number"!=typeof(r=n[e])||isNaN(r)||(++s,i+=r)}return s?i/s:0});let{getArgumentValue:ew}=em;em.registerProcessorFunction("AVERAGEA",function(e,t){let r=0,s=0;for(let i=0,n=e.length,o;i<n;++i)switch(typeof(o=ew(e[i],t))){case"boolean":++r,s+=+!!o;continue;case"number":isNaN(o)||(++r,s+=o);continue;case"string":++r;continue;default:for(let e=0,t=o.length,i;e<t;++e)switch(typeof(i=o[e])){case"boolean":++r,s+=+!!i;continue;case"number":isNaN(i)||(++r,s+=i);continue;case"string":++r;continue}continue}return r?s/r:0}),em.registerProcessorFunction("COUNT",function e(t,r){let s=em.getArgumentsValues(t,r),i=0;for(let t=0,n=s.length,o;t<n;++t)switch(typeof(o=s[t])){case"number":!isNaN(o)&&++i;break;case"object":i+=e(o,r)}return i}),em.registerProcessorFunction("COUNTA",function e(t,r){let s=em.getArgumentsValues(t,r),i=0;for(let t=0,n=s.length,o;t<n;++t){switch(typeof(o=s[t])){case"number":if(isNaN(o))continue;break;case"object":i+=e(o,r);continue;case"string":if(!o)continue}++i}return i});let{getArgumentValue:eC}=em;em.registerProcessorFunction("IF",function(e,t){return eC(e[0],t)?eC(e[1],t):eC(e[2],t)});let{getArgumentValue:eR}=em;em.registerProcessorFunction("ISNA",function(e,t){let r=eR(e[0],t);return"number"!=typeof r||isNaN(r)});let{getArgumentsValues:eO}=em;em.registerProcessorFunction("MAX",function e(t,r){let s=eO(t,r),i=-1/0;for(let t=0,r=s.length,n;t<r;++t)switch(typeof(n=s[t])){case"number":n>i&&(i=n);break;case"object":(n=e(n))>i&&(i=n)}return isFinite(i)?i:0}),em.registerProcessorFunction("MEDIAN",function(e,t){let r=[],s=em.getArgumentsValues(e,t);for(let e=0,t=s.length,i;e<t;++e)switch(typeof(i=s[e])){case"number":isNaN(i)||r.push(i);break;case"object":for(let e=0,t=i.length,s;e<t;++e)"number"!=typeof(s=i[e])||isNaN(s)||r.push(s)}let i=r.length;if(!i)return 0/0;let n=Math.floor(i/2);return i%2?r[n]:(r[n-1]+r[n])/2});let{getArgumentsValues:eT}=em;em.registerProcessorFunction("MIN",function e(t,r){let s=eT(t,r),i=1/0;for(let t=0,r=s.length,n;t<r;++t)switch(typeof(n=s[t])){case"number":n<i&&(i=n);break;case"object":(n=e(n))<i&&(i=n)}return isFinite(i)?i:0});let{getArgumentValue:ev}=em;function eA(e,t){let r={},s=em.getArgumentsValues(e,t);for(let e=0,t=s.length,i;e<t;++e)switch(typeof(i=s[e])){case"number":isNaN(i)||(r[i]=(r[i]||0)+1);break;case"object":for(let e=0,t=i.length,s;e<t;++e)"number"!=typeof(s=i[e])||isNaN(s)||(r[s]=(r[s]||0)+1)}return r}function eM(e,t){let r=eA(e,t),s=Object.keys(r);if(!s.length)return 0/0;let i=parseFloat(s[0]),n=r[s[0]];for(let e=1,t=s.length,o,l,a;e<t;++e)n<(a=r[o=s[e]])?(i=parseFloat(o),n=a):n===a&&i>(l=parseFloat(o))&&(i=l,n=a);return n>1?i:0/0}em.registerProcessorFunction("MOD",function(e,t){let r=ev(e[0],t),s=ev(e[1],t);return("object"==typeof r&&(r=r[0]),"object"==typeof s&&(s=s[0]),"number"!=typeof r||"number"!=typeof s||0===s)?0/0:r%s}),em.registerProcessorFunction("MODE",eM),em.registerProcessorFunction("MODE.MULT",function(e,t){let r=eA(e,t),s=Object.keys(r);if(!s.length)return 0/0;let i=[parseFloat(s[0])],n=r[s[0]];for(let e=1,t=s.length,o,l;e<t;++e)n<(l=r[o=s[e]])?(i=[parseFloat(o)],n=l):n===l&&i.push(parseFloat(o));return n>1?i:0/0}),em.registerProcessorFunction("MODE.SNGL",eM);let{getArgumentValue:ex}=em;em.registerProcessorFunction("NOT",function(e,t){let r=ex(e[0],t);switch("object"==typeof r&&(r=r[0]),typeof r){case"boolean":case"number":return!r}return 0/0});let{getArgumentValue:eE}=em;em.registerProcessorFunction("OR",function e(t,r){for(let s=0,i=t.length,n;s<i;++s)if("object"==typeof(n=eE(t[s],r))){if(e(n,r))return!0}else if(n)return!0;return!1});let{getArgumentsValues:eN}=em;em.registerProcessorFunction("PRODUCT",function e(t,r){let s=eN(t,r),i=1,n=!1;for(let t=0,o=s.length,l;t<o;++t)switch(typeof(l=s[t])){case"number":isNaN(l)||(n=!0,i*=l);break;case"object":n=!0,i*=e(l,r)}return n?i:0}),em.registerProcessorFunction("SUM",function e(t,r){let s=em.getArgumentsValues(t,r),i=0;for(let t=0,n=s.length,o;t<n;++t)switch(typeof(o=s[t])){case"number":isNaN(o)||(i+=o);break;case"object":i+=e(o,r)}return i});let{getArgumentValue:eI}=em;em.registerProcessorFunction("XOR",function(e,t){for(let r=0,s=e.length,i,n;r<s;++r)switch(typeof(n=eI(e[r],t))){case"boolean":case"number":if(void 0===i)i=!!n;else if(!!n!==i)return!0;break;case"object":for(let e=0,t=n.length,r;e<t;++e)switch(typeof(r=n[e])){case"boolean":case"number":if(void 0===i)i=!!r;else if(!!r!==i)return!0}}return!1});let eF={...B,...em,...Z};class eP extends A{constructor(e){let t=(0,n.merge)(eP.defaultOptions,e);super(t),this.headers=[],this.dataTypes=[],this.options=t}parse(e,t){let r=this.dataTypes,s=(0,n.merge)(this.options,e),{beforeParse:i,lineDelimiter:o,firstRowAsNames:l,itemDelimiter:a}=s,u,h=0,{csv:c,startRow:d,endRow:f}=s,p,m=[];if(this.emit({type:"parse",columns:m,detail:t,headers:this.headers}),c&&i&&(c=i(c)),c){if(u=c.replace(/\r\n|\r/g,"\n").split(o||"\n"),(!d||d<0)&&(d=0),(!f||f>=u.length)&&(f=u.length-1),a||(this.guessedItemDelimiter=this.guessDelimiter(u)),l){let e=u[0].split(a||this.guessedItemDelimiter||",");for(let t=0;t<e.length;t++)e[t]=e[t].trim().replace(/^["']|["']$/g,"");this.headers=e,d++}let e=0;for(h=d;h<=f;h++)"#"===u[h][0]?e++:this.parseCSVRow(m,u[h],h-d-e);r.length&&r[0].length&&"date"===r[0][1]&&!this.options.dateFormat&&this.deduceDateFormat(m[0],null,!0);for(let e=0,t=m.length;e<t;++e){p=m[e];for(let t=0,r=p.length;t<r;++t)if(p[t]&&"string"==typeof p[t]){let r=this.convertByType(p[t]);r instanceof Date&&(r=r.getTime()),m[e][t]=r}}}return m.forEach(e=>{e.length=Math.max(...m.map(e=>e.length))}),this.emit({type:"afterParse",columns:m,detail:t,headers:this.headers}),O(m,this.headers)}parseCSVRow(e,t,r){let s=this,i=s.dataTypes,{startColumn:n,endColumn:o}=s.options,l=s.options.itemDelimiter||s.guessedItemDelimiter,{decimalPoint:a}=s.options;a&&a!==l||(a=s.guessedDecimalPoint||".");let u=0,h="",c="",d=0,f=0,p=e=>{h=t[e]},m=e=>{i.length<f+1&&i.push([e]),i[f][i[f].length-1]!==e&&i[f].push(e)},g=()=>{if(n>d||d>o){++d,c="";return}if("string"==typeof c){let e=parseFloat(c);!isNaN(e)&&isFinite(Number(c))?(c=e,m("number")):isNaN(Date.parse(c))?m("string"):(c=c.replace(/\//g,"-"),m("date"))}else m("number");if(e.length<f+1&&e.push([]),"number"!=typeof c&&"number"!==T(c,s)&&a){let e=c;"number"!==T(c=c.replace(a,"."),s)&&(c=e)}e[f][r]=c,c="",++f,++d};if(t.trim().length&&"#"!==t.trim()[0]){for(;u<t.length;u++){if(p(u),"#"===h&&!/^#[A-F\d]{3,3}|[A-F\d]{6,6}/i.test(t.substring(u)))return void g();if('"'===h)for(p(++u);u<t.length&&'"'!==h;)c+=h,p(++u);else h===l?g():c+=h}g()}}guessDelimiter(e){let t=0,r=0,s,i={",":0,";":0," ":0},n=e.length;for(let s=0;s<n;s++){let n=!1,o,l,a,u="";if(s>13)break;let h=e[s];for(let e=0;e<h.length&&(o=h[e],l=h[e+1],a=h[e-1],"#"!==o);e++){if('"'===o)if(n){if('"'!==a&&'"'!==l){for(;" "===l&&e<h.length;)l=h[++e];void 0!==i[l]&&i[l]++,n=!1}}else n=!0;else void 0!==i[o]?(isNaN(Date.parse(u=u.trim()))?(isNaN(Number(u))||!isFinite(Number(u)))&&i[o]++:i[o]++,u=""):u+=o;","===o&&r++,"."===o&&t++}}return i[";"]>i[","]?s=";":(i[","]>i[";"],s=","),t>r?this.guessedDecimalPoint=".":this.guessedDecimalPoint=",",s}}eP.defaultOptions={...A.defaultOptions,lineDelimiter:"\n",startColumn:0,endColumn:Number.MAX_VALUE,startRow:0,endRow:Number.MAX_VALUE},A.registerType("CSV",eP);class ej extends y{constructor(e){let t=(0,n.merge)(ej.defaultOptions,e);super(t),this.options=t,t.enablePolling&&this.startPolling(1e3*Math.max(t.dataRefreshRate||0,1))}emit(e){(0,n.fireEvent)(this,e.type,e)}load(e){let t=this,r=t.options,{csv:s,csvURL:i,dataTables:o,decimalPoint:l}=r;return t.emit({type:"load",csv:s}),Promise.resolve(i?fetch(i,{signal:t?.pollingController?.signal}).then(e=>e.text()):s||"").then(e=>(e&&this.initConverters(e,e=>{let{firstRowAsNames:t=r.firstRowAsNames,beforeParse:s=r.beforeParse}=o?.find(t=>t.key===e)||{};return new eP((0,n.merge)(r,{decimalPoint:l,firstRowAsNames:t,beforeParse:s}))},(e,t)=>e.parse({csv:t})),t.applyTableModifiers().then(()=>e))).then(r=>(t.emit({type:"afterLoad",detail:e,csv:r}),t)).catch(r=>{throw t.emit({type:"loadError",detail:e,error:r}),r})}}ej.defaultOptions={id:"csv-connector",type:"CSV",csv:"",csvURL:"",enablePolling:!1,dataRefreshRate:1,firstRowAsNames:!0},y.registerType("CSV",ej);class eD extends A{constructor(e){let t=(0,n.merge)(eD.defaultOptions,e);super(t),this.headerColumnIds=[],this.headers=[],this.options=t}parse(e,t){let{beforeParse:r,orientation:s,firstRowAsNames:i,columnIds:o}=e=(0,n.merge)(this.options,e),l=e.data;if(!l)return{};this.headers=[];let a=[];return this.emit({type:"parse",columns:a,detail:t,headers:this.headers}),r&&(l=r(l)),l=l.slice(),"columns"===s?this.parseColumnsOrientation(a,l,i,o):"rows"===s&&this.parseRowsOrientation(a,l,i,o),this.emit({type:"afterParse",columns:a,detail:t,headers:this.headers}),O(a,this.headers)}parseColumnsOrientation(e,t,r,s){for(let i=0,o=t.length;i<o;i++){let o=t[i];if(!Array.isArray(o))return;Array.isArray(this.headers)?(r?this.headers.push(`${o.shift()}`):s&&Array.isArray(s)&&this.headers.push(s[i]),e.push(o)):(0,n.error)("JSONConverter: Invalid `columnIds` option.",!1)}}parseRowsOrientation(e,t,r,s){r?this.headers=t.shift():s&&(this.headerColumnIds=s);for(let i=0,o=t.length;i<o;i++){let o=t[i];(0,n.isArray)(o)||(o=this.convertItemToRow(o,s));for(let t=0,s=o.length;t<s;t++)e.length<t+1&&e.push([]),e[t].push(o[t]),r||0!==i||(Array.isArray(this.headerColumnIds)?this.headers.push(this.headerColumnIds[t]||t.toString()):(0,n.error)("JSONConverter: Invalid `columnIds` option.",!1))}}convertItemToRow(e,t){let r=this;if(t&&!Array.isArray(t)){let s=[];return(0,n.objectEach)(t,(t,i)=>{s.push(t.reduce((e,t)=>e[t],e)),0>r.headers.indexOf(i)&&r.headers.push(i)}),s}return r.headerColumnIds=Object.keys(e),Object.values(e)}}eD.defaultOptions={...A.defaultOptions,orientation:"rows"},A.registerType("JSON",eD);class eL extends y{constructor(e){let t=(0,n.merge)(eL.defaultOptions,e);super(t),this.options=t,t.enablePolling&&this.startPolling(1e3*Math.max(t.dataRefreshRate||0,1))}emit(e){(0,n.fireEvent)(this,e.type,e)}load(e){let t=this,r=t.options,{data:s,dataUrl:i,dataTables:n}=r;return t.emit({type:"load",detail:e,data:s}),Promise.resolve(i?fetch(i,{signal:t?.pollingController?.signal}).then(e=>e.json()).catch(r=>{t.emit({type:"loadError",detail:e,error:r}),console.warn(`Unable to fetch data from ${i}.`)}):s||[]).then(async e=>(e&&this.initConverters(e,t=>{let{columnIds:s=r.columnIds,firstRowAsNames:i=r.firstRowAsNames,orientation:o=r.orientation,beforeParse:l=r.beforeParse}=n?.find(e=>e.key===t)||{};return new eD({data:e,columnIds:s,firstRowAsNames:i,orientation:o,beforeParse:l})},(e,t)=>e.parse({data:t})),t.applyTableModifiers().then(()=>e??[]))).then(r=>(t.emit({type:"afterLoad",detail:e,data:r}),t)).catch(r=>{throw t.emit({type:"loadError",detail:e,error:r}),r})}}eL.defaultOptions={type:"JSON",id:"json-connector",data:[],enablePolling:!1,dataRefreshRate:0,firstRowAsNames:!0,orientation:"rows"},y.registerType("JSON",eL);class ek extends A{constructor(e){let t=(0,n.merge)(ek.defaultOptions,e);super(t),this.header=[],this.options=t}parse(e,t){let r,s=(0,n.merge)(this.options,e),i=(s.json?.values||[]).map(e=>e.slice());if(0===i.length)return{};this.header=[],this.emit({type:"parse",columns:[],detail:t,headers:this.header});let{beforeParse:o,json:l}=s;o&&l&&(i=o(l.values));for(let e=0,t=i.length;e<t;e++){r=i[e],this.header[e]=s.firstRowAsNames?`${r.shift()}`:(0,n.uniqueKey)();for(let t=0,s=r.length;t<s;++t){var a;let s=r[t];a=s,"[object Date]"===Object.prototype.toString.call(a)&&(s=s.getTime()),i[e][t]=s}}return this.emit({type:"afterParse",columns:i,detail:t,headers:this.header}),O(i,this.header)}}ek.defaultOptions={...A.defaultOptions},A.registerType("GoogleSheets",ek);class eY extends y{constructor(e){let t=(0,n.merge)(eY.defaultOptions,e);super(t),this.options=t}emit(e){(0,n.fireEvent)(this,e.type,e)}load(e){let t=this,r=t.options,{dataRefreshRate:s,enablePolling:i,googleAPIKey:n,googleSpreadsheetKey:o,dataTables:l}=r,a=function(e,t,r={}){let s=new URL(`https://sheets.googleapis.com/v4/spreadsheets/${t}/values/`),i=r.onlyColumnIds?"A1:Z1":function(e={}){let{endColumn:t,endRow:r,googleSpreadsheetRange:s,startColumn:i,startRow:n}=e;return s||(eS[i||0]||"A")+(Math.max(n||0,0)+1)+":"+(eS[t??25]||"Z")+(r?Math.max(r,0):"Z")}(r);s.pathname+=i;let n=s.searchParams;return n.set("alt","json"),r.onlyColumnIds||(n.set("dateTimeRenderOption","FORMATTED_STRING"),n.set("majorDimension","COLUMNS"),n.set("valueRenderOption","UNFORMATTED_VALUE")),n.set("prettyPrint","false"),n.set("key",e),s.href}(n,o,r);if(t.emit({type:"load",detail:e,url:a}),!URL.canParse(a))throw Error("Invalid URL: "+a);return fetch(a,{signal:t?.pollingController?.signal}).then(e=>e.json()).then(e=>{if("object"==typeof e&&e&&"object"==typeof e.error&&e.error&&"number"==typeof e.error.code&&"string"==typeof e.error.message&&"string"==typeof e.error.status)throw Error(e.error.message);return this.initConverters(e,e=>{let{firstRowAsNames:t=r.firstRowAsNames,beforeParse:s=r.beforeParse}=l?.find(t=>t.key===e)||{};return new ek({firstRowAsNames:t,beforeParse:s})},(e,t)=>e.parse({json:t})),t.applyTableModifiers()}).then(()=>(t.emit({type:"afterLoad",detail:e,url:a}),i&&setTimeout(()=>t.load(),1e3*Math.max(s||0,1)),t)).catch(r=>{throw t.emit({type:"loadError",detail:e,error:r}),r})}}eY.defaultOptions={id:"google-sheets-connector",type:"GoogleSheets",googleAPIKey:"",googleSpreadsheetKey:"",enablePolling:!1,dataRefreshRate:2,firstRowAsNames:!0};let eS="ABCDEFGHIJKLMNOPQRSTUVWXYZ";y.registerType("GoogleSheets",eY);class e_ extends A{constructor(e){let t=(0,n.merge)(e_.defaultOptions,e);super(t),this.headers=[],this.options=t,t.tableElement&&(this.tableElement=t.tableElement,this.tableElementID=t.tableElement.id)}export(e,t=this.options){let r=!1!==t.firstRowAsNames,s=t.useMultiLevelHeaders,i=e.getSortedColumns(),n=Object.keys(i),o=[],l=n.length,a=[],u="";if(r){let e=[];if(s){for(let t of n){let r=i[t];Array.isArray(r)||(r=Array.from(r));let s=(r.shift()||"").toString();i[t]=r,e.push(s)}u=this.getTableHeaderHTML(n,e,t)}else u=this.getTableHeaderHTML(void 0,n,t)}for(let e=0;e<l;e++){let t=i[n[e]],r=t.length;for(let s=0;s<r;s++){let r=t[s];a[s]||(a[s]=[]),"string"!=typeof r&&"number"!=typeof r&&void 0!==r&&(r=(r||"").toString()),a[s][e]=this.getCellHTMLFromValue(e?"td":"th",null,e?"":'scope="row"',r),e===l-1&&o.push("<tr>"+a[s].join("")+"</tr>")}}let h="";return t.tableCaption&&(h='<caption class="highcharts-table-caption">'+t.tableCaption+"</caption>"),"<table>"+h+u+"<tbody>"+o.join("")+"</tbody></table>"}getCellHTMLFromValue(e,t,r,s,i){let n=s,o="text"+(t?" "+t:"");return"number"==typeof n?(n=n.toString(),","===i&&(n=n.replace(".",i)),o="number"):s||(n="",o="empty"),"<"+e+(r?" "+r:"")+' class="'+o+'">'+n+"</"+e+">"}getTableHeaderHTML(e=[],t=[],r=this.options){let{useMultiLevelHeaders:s,useRowspanHeaders:i}=r,n="<thead>",o=0,l=t&&t.length,a,u=0,h;if(s&&e&&t&&!function(e,t){let r=e.length;if(t.length!==r)return!1;for(;--r;)if(e[r]!==t[r])return!1;return!0}(e,t)){for(n+="<tr>";o<l;++o)(a=e[o])===e[o+1]?++u:u?(n+=this.getCellHTMLFromValue("th","highcharts-table-topheading",'scope="col" colspan="'+(u+1)+'"',a),u=0):(a===t[o]?i?(h=2,t.splice(o,1)):(h=1,t[o]=""):h=1,n+=this.getCellHTMLFromValue("th","highcharts-table-topheading",'scope="col"'+(h>1?' valign="top" rowspan="'+h+'"':""),a));n+="</tr>"}if(t){for(n+="<tr>",o=0,l=t.length;o<l;++o)void 0!==t[o]&&(n+=this.getCellHTMLFromValue("th",null,'scope="col"',t[o]));n+="</tr>"}return n+"</thead>"}parse(e,t){let r=[],s=[],i=(0,n.merge)(this.options,e),{endRow:o,startColumn:l,endColumn:a,firstRowAsNames:u}=i,h=i.tableElement||this.tableElement;if(!(h instanceof HTMLElement))return this.emit({type:"parseError",columns:r,detail:t,headers:s,error:"Not a valid HTML Table"}),{};this.tableElement=h,this.tableElementID=h.id,this.emit({type:"parse",columns:r,detail:t,headers:this.headers});let c=h.getElementsByTagName("tr"),d=c.length,f=0,p,{startRow:m}=i;if(u&&d){let e=c[0].children,t=e.length;for(let r=l;r<t&&!(r>a);r++)("TD"===(p=e[r]).tagName||"TH"===p.tagName)&&s.push(p.innerHTML);m++}for(;f<d;){if(f>=m&&f<=o){let e=c[f].children,t=e.length,s=0;for(;s<t;){let t=s-l,i=r[t];if(("TD"===(p=e[s]).tagName||"TH"===p.tagName)&&s>=l&&s<=a){r[t]||(r[t]=[]);let e=this.convertByType(p.innerHTML);e instanceof Date&&(e=e.getTime()),r[t][f-m]=e;let s=1;for(;f-m>=s&&void 0===i[f-m-s];)i[f-m-s]=null,s++}s++}}f++}return this.headers=s,this.emit({type:"afterParse",columns:r,detail:t,headers:s}),O(r,this.headers)}}e_.defaultOptions={...A.defaultOptions,useRowspanHeaders:!0,useMultiLevelHeaders:!0,startColumn:0,endColumn:Number.MAX_VALUE,startRow:0,endRow:Number.MAX_VALUE},A.registerType("HTMLTable",e_);let{win:eV}=o();class e$ extends y{constructor(e){let t=(0,n.merge)(e$.defaultOptions,e);super(t),this.options=t,this.converter=new e_(t)}async load(e){let t,r=this.options,s=this.converter,i=this.getTable(),o=r.htmlTable;if(this.emit({type:"load",detail:e}),"string"==typeof o?(this.tableID=o,t=eV.document.getElementById(o)):(t=o,this.tableID=t.id),this.tableElement=t||void 0,!this.tableElement){let t="HTML table not provided, or element with ID not found";return this.emit({type:"loadError",detail:e,error:t}),Promise.reject(Error(t))}let l=s.parse((0,n.merge)({tableElement:this.tableElement},r),e);return i.deleteColumns(),i.setColumns(l),await this.applyTableModifiers(),this.emit({type:"afterLoad",detail:e}),this}}e$.defaultOptions={id:"HTML-table-connector",type:"HTMLTable",htmlTable:""},y.registerType("HTMLTable",e$);class eU extends a{constructor(e,...t){super(),this.chain=t,this.options=(0,n.merge)(eU.defaultOptions,e);let r=this.options.chain||[];for(let e=0,s=r.length,i,n;e<s;++e)(i=r[e]).type&&(n=a.types[i.type])&&t.push(new n(i))}add(e,t){this.emit({type:"addModifier",detail:t,modifier:e}),this.chain.push(e),this.emit({type:"addModifier",detail:t,modifier:e})}clear(e){this.emit({type:"clearChain",detail:e}),this.chain.length=0,this.emit({type:"afterClearChain",detail:e})}async modify(e,t){let r=this.options.reverse?this.chain.slice().reverse():this.chain.slice();e.modified||(e.modified=e.clone(!1,t));let s=e;for(let i=0,n=r.length;i<n;++i){try{await r[i].modify(s,t)}catch(r){throw this.emit({type:"error",detail:t,table:e}),r}s=s.getModified()}return e.modified=s,e}modifyTable(e,t){this.emit({type:"modify",detail:t,table:e});let r=this.options.reverse?this.chain.reverse():this.chain.slice(),s=e.getModified();for(let e=0,i=r.length;e<i;++e)s=r[e].modifyTable(s,t).getModified();return e.modified=s,this.emit({type:"afterModify",detail:t,table:e}),e}remove(e,t){let r=this.chain;this.emit({type:"removeModifier",detail:t,modifier:e}),r.splice(r.indexOf(e),1),this.emit({type:"afterRemoveModifier",detail:t,modifier:e})}emit(e){(0,n.fireEvent)(this,e.type,e)}on(e,t){return(0,n.addEvent)(this,e,t)}}eU.defaultOptions={type:"Chain"},a.registerType("Chain",eU);class eH extends a{constructor(e){super(),this.options=(0,n.merge)(eH.defaultOptions,e)}modifyTable(e,t){this.emit({type:"modify",detail:t,table:e});let r=e.getModified();if(e.hasColumns(["columnIds"])){let t=(e.deleteColumns(["columnIds"])||{}).columnIds||[],s={},i=[];for(let e=0,r=t.length;e<r;++e)i.push(""+t[e]);for(let t=0,r=e.getRowCount(),n;t<r;++t)(n=e.getRow(t))&&(s[i[t]]=n);r.deleteColumns(),r.setColumns(s)}else{let t={};for(let r=0,s=e.getRowCount(),i;r<s;++r)(i=e.getRow(r))&&(t[`${r}`]=i);t.columnIds=e.getColumnIds(),r.deleteColumns(),r.setColumns(t)}return this.emit({type:"afterModify",detail:t,table:e}),e}}eH.defaultOptions={type:"Invert"},a.registerType("Invert",eH);class eB extends a{constructor(e){super(),this.options={...eB.defaultOptions,...e}}modifyTable(e,t){this.emit({type:"modify",detail:t,table:e});let r=this.options.alternativeSeparators,s=this.options.formulaColumns||e.getColumnIds(),i=e.getModified();for(let t=0,r=s.length,n;t<r;++t)n=s[t],s.indexOf(n)>=0&&i.setColumn(n,this.processColumn(e,n));let n=this.options.columnFormulas||[];for(let t=0,s=n.length,o,l;t<s;++t)o=n[t],l=B.parseFormula(o.formula,r),i.setColumn(o.column,this.processColumnFormula(l,e,o.rowStart,o.rowEnd));return this.emit({type:"afterModify",detail:t,table:e}),e}processColumn(e,t,r=0){let s=this.options.alternativeSeparators,i=(e.getColumn(t,!0)||[]).slice(r>0?r:0);for(let t=0,r=i.length,n=[],o;t<r;++t)if("string"==typeof(o=i[t])&&"="===o[0])try{n=""===o?n:B.parseFormula(o.substring(1),s),i[t]=em.processFormula(n,e)}catch{i[t]=0/0}return i}processColumnFormula(e,t,r=0,s=t.getRowCount()){r=r>=0?r:0,s=s>=0?s:t.getRowCount()+s;let i=[],n=t.getModified();for(let t=0,o=s-r;t<o;++t)try{i[t]=em.processFormula(e,n)}catch{i[t]=0/0}finally{e=em.translateReferences(e,0,1)}return i}}eB.defaultOptions={type:"Math",alternativeSeparators:!1},a.registerType("Math",eB);class eK extends a{constructor(e){super(),this.options=(0,n.merge)(eK.defaultOptions,e)}modifyTable(e,t){this.emit({type:"modify",detail:t,table:e});let{start:r,end:s}=this.options;r=Math.max(0,r||0);let i=Math.max((s=Math.min(s||1/0,e.getRowCount()))-r,0),n=e.getModified();return n.deleteRows(),n.setRows(e.getRows(r,i)),n.setOriginalRowIndexes(Array.from({length:i},(t,s)=>e.getOriginalRowIndex(r+s))),this.emit({type:"afterModify",detail:t,table:e}),e}}eK.defaultOptions={type:"Range",start:0,end:1/0},a.registerType("Range",eK);class eZ extends a{static ascending(e,t){return(e||0)<(t||0)?-1:+((e||0)>(t||0))}static descending(e,t){return(t||0)<(e||0)?-1:+((t||0)>(e||0))}static compareFactory(e,t){return t?"desc"===e?(e,r)=>-t(e,r):t:"asc"===e?eZ.ascending:eZ.descending}constructor(e){super(),this.options=(0,n.merge)(eZ.defaultOptions,e)}getRowReferences(e){let t=e.getRows(),r=[];for(let e=0,s=t.length;e<s;++e)r.push({index:e,row:t[e]});return r}modifyTable(e,t){this.emit({type:"modify",detail:t,table:e});let r=e.getColumnIds(),s=e.getRowCount(),i=this.getRowReferences(e),{direction:n,orderInColumn:o,compare:l}=this.options,a=e.getModified(),u="columns"in this.options?this.options.columns:[this.options.orderByColumn],h=[];for(let e=0,t=u.length;e<t;++e){let t=u[e],s="string"==typeof t,i=s?t:t.column,o=r.indexOf(i);-1!==o&&h.push({columnIndex:o,compare:eZ.compareFactory(s?n:t.direction||n,s?l:t.compare||l)})}if(h.length&&i.sort((e,t)=>{for(let r=0,s=h.length;r<s;++r){let{columnIndex:s,compare:i}=h[r],n=i(e.row[s],t.row[s]);if(n)return n}return e.index-t.index}),o){let e=[];for(let t=0;t<s;++t)e[i[t].index]=t;a.setColumns({[o]:e})}else{let t,r=[],n=[];for(let o=0;o<s;++o)t=i[o],r.push(e.getOriginalRowIndex(t.index)),n.push(t.row);a.setRows(n,0),a.setOriginalRowIndexes(r)}return this.emit({type:"afterModify",detail:t,table:e}),e}}eZ.defaultOptions={type:"Sort",direction:"desc",orderByColumn:"y"},a.registerType("Sort",eZ);class eX extends a{static compile(e){if((0,n.isFunction)(e))return e;let t=e.operator;switch(t){case"and":{let t=e.conditions.map(e=>this.compile(e));return(e,r,s)=>t.every(t=>t(e,r,s))}case"or":{let t=e.conditions.map(e=>this.compile(e));return(e,r,s)=>t.some(t=>t(e,r,s))}case"not":{let t=this.compile(e.condition);return(e,r,s)=>!t(e,r,s)}}let{columnId:r,value:s}=e;switch(t){case"==":return e=>e[r]==s;case"===":return e=>e[r]===s;case"!=":return e=>e[r]!=s;case"!==":return e=>e[r]!==s;case">":return e=>(e[r]||0)>(s||0);case">=":return e=>(e[r]||0)>=(s||0);case"<":return e=>(e[r]||0)<(s||0);case"<=":return e=>(e[r]||0)<=(s||0);case"empty":return e=>null===e[r]||""===e[r]}let{ignoreCase:i}=e,o=e=>{let t=""+e;return i??!0?t.toLowerCase():t};return"contains"===t?e=>o(e[r]).includes(o(s)):e=>o(e[r])[t](o(s))}constructor(e){super(),this.options=(0,n.merge)(eX.defaultOptions,e)}modifyTable(e,t){this.emit({type:"modify",detail:t,table:e});let{condition:r}=this.options;if(!r)return e;let s=eX.compile(r),i=e.getModified(),n=[],o=[];for(let t=0,r=e.getRowCount();t<r;++t){let r=e.getRowObject(t);r&&s(r,e,t)&&(n.push(r),o.push(e.getOriginalRowIndex(t)))}return i.deleteRows(),i.setRows(n),i.setOriginalRowIndexes(o),this.emit({type:"afterModify",detail:t,table:e}),e}}eX.defaultOptions={type:"Filter"},a.registerType("Filter",eX);let eq=o();eq.DataConnector=eq.DataConnector||y,eq.DataConverter=eq.DataConverter||A,eq.DataCursor=eq.DataCursor||x,eq.DataModifier=eq.DataModifier||a,eq.DataPool=eq.DataPool||E,eq.DataTable=eq.DataTable||m,eq.Formula=eq.Formula||eF;let eG=o();return i.default})());