highcharts 11.3.0 → 11.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (773) hide show
  1. package/README.md +1 -1
  2. package/bower.json +1 -1
  3. package/css/annotations/popup.css +27 -19
  4. package/css/stocktools/gui.css +19 -7
  5. package/es-modules/Accessibility/A11yI18n.js +4 -6
  6. package/es-modules/Accessibility/Accessibility.js +8 -6
  7. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +11 -6
  8. package/es-modules/Accessibility/Components/LegendComponent.js +4 -4
  9. package/es-modules/Accessibility/Components/MenuComponent.js +3 -6
  10. package/es-modules/Accessibility/Components/NavigatorComponent.js +6 -3
  11. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +4 -7
  12. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +18 -3
  13. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +5 -3
  14. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +4 -4
  15. package/es-modules/Accessibility/FocusBorder.js +5 -5
  16. package/es-modules/Accessibility/HighContrastMode.js +22 -13
  17. package/es-modules/Accessibility/HighContrastTheme.js +2 -6
  18. package/es-modules/Accessibility/KeyboardNavigation.js +17 -8
  19. package/es-modules/Accessibility/Options/A11yDefaults.js +11 -1
  20. package/es-modules/Accessibility/ProxyElement.js +4 -4
  21. package/es-modules/Accessibility/ProxyProvider.js +8 -2
  22. package/es-modules/Accessibility/Utils/DOMElementProvider.js +8 -0
  23. package/es-modules/Accessibility/Utils/EventProvider.js +9 -0
  24. package/es-modules/Core/Animation/Fx.js +3 -3
  25. package/es-modules/Core/Axis/Axis.js +43 -97
  26. package/es-modules/Core/Axis/Axis3DComposition.js +5 -5
  27. package/es-modules/Core/Axis/Axis3DDefaults.js +1 -1
  28. package/es-modules/Core/Axis/AxisDefaults.js +18 -7
  29. package/es-modules/Core/Axis/BrokenAxis.js +4 -6
  30. package/es-modules/Core/Axis/Color/ColorAxis.js +2 -1
  31. package/es-modules/Core/Axis/Color/ColorAxisComposition.js +3 -5
  32. package/es-modules/Core/Axis/DateTimeAxis.js +3 -5
  33. package/es-modules/Core/Axis/GridAxis.js +7 -7
  34. package/es-modules/Core/Axis/LogarithmicAxis.js +2 -4
  35. package/es-modules/Core/Axis/NavigatorAxisComposition.js +26 -22
  36. package/es-modules/Core/Axis/OrdinalAxis.js +97 -53
  37. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -3
  38. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js +4 -5
  39. package/es-modules/Core/Axis/RadialAxis.js +5 -5
  40. package/es-modules/Core/Axis/ScrollbarAxis.js +2 -2
  41. package/es-modules/Core/Axis/Stacking/StackItem.js +8 -4
  42. package/es-modules/Core/Axis/Stacking/StackingAxis.js +3 -5
  43. package/es-modules/Core/Axis/Tick.js +16 -7
  44. package/es-modules/Core/Axis/Tick3DComposition.js +2 -2
  45. package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +4 -8
  46. package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +3 -6
  47. package/es-modules/Core/Axis/WaterfallAxis.js +3 -3
  48. package/es-modules/Core/Axis/ZAxis.js +6 -11
  49. package/es-modules/Core/Chart/Chart.js +201 -176
  50. package/es-modules/Core/Chart/Chart3D.js +1 -1
  51. package/es-modules/Core/Chart/ChartDefaults.js +7 -0
  52. package/es-modules/Core/Chart/GanttChart.js +2 -2
  53. package/es-modules/Core/Chart/MapChart.js +12 -2
  54. package/es-modules/Core/Chart/StockChart.js +12 -11
  55. package/es-modules/Core/Color/Color.js +3 -3
  56. package/es-modules/Core/Color/Palettes.js +2 -2
  57. package/es-modules/Core/Defaults.js +18 -15
  58. package/es-modules/Core/Geometry/CircleUtilities.js +3 -3
  59. package/es-modules/Core/Globals.js +2 -2
  60. package/es-modules/Core/HttpUtilities.js +4 -4
  61. package/es-modules/Core/Legend/Legend.js +6 -6
  62. package/es-modules/Core/MSPointer.js +7 -7
  63. package/es-modules/Core/Pointer.js +230 -245
  64. package/es-modules/Core/Renderer/HTML/AST.js +1 -1
  65. package/es-modules/Core/Renderer/HTML/HTMLElement.js +213 -26
  66. package/es-modules/Core/Renderer/RendererUtilities.js +1 -1
  67. package/es-modules/Core/Renderer/SVG/SVGElement.js +85 -52
  68. package/es-modules/Core/Renderer/SVG/SVGLabel.js +14 -11
  69. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +17 -14
  70. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +8 -7
  71. package/es-modules/Core/Renderer/SVG/Symbols.js +1 -1
  72. package/es-modules/Core/Renderer/SVG/TextBuilder.js +2 -2
  73. package/es-modules/Core/Responsive.js +5 -6
  74. package/es-modules/Core/Series/DataLabel.js +70 -90
  75. package/es-modules/Core/Series/DataSeriesComposition.js +1 -1
  76. package/es-modules/Core/Series/DataSeriesConverter.js +2 -2
  77. package/es-modules/Core/Series/Point.js +48 -40
  78. package/es-modules/Core/Series/Series.js +61 -51
  79. package/es-modules/Core/Series/Series3D.js +2 -2
  80. package/es-modules/Core/Series/SeriesRegistry.js +10 -2
  81. package/es-modules/Core/Templating.js +1 -1
  82. package/es-modules/Core/Time.js +12 -7
  83. package/es-modules/Core/Tooltip.js +19 -17
  84. package/es-modules/Core/Utilities.js +54 -26
  85. package/es-modules/Data/Connectors/CSVConnector.js +2 -2
  86. package/es-modules/Data/Connectors/DataConnector.js +4 -2
  87. package/es-modules/Data/Connectors/GoogleSheetsConnector.js +2 -2
  88. package/es-modules/Data/Connectors/HTMLTableConnector.js +2 -2
  89. package/es-modules/Data/Connectors/JSONConnector.js +3 -5
  90. package/es-modules/Data/Converters/CSVConverter.js +1 -3
  91. package/es-modules/Data/Converters/DataConverter.js +8 -2
  92. package/es-modules/Data/Converters/HTMLTableConverter.js +1 -3
  93. package/es-modules/Data/Converters/JSONConverter.js +1 -0
  94. package/es-modules/Data/DataTable.js +1 -2
  95. package/es-modules/Data/Formula/FormulaProcessor.js +4 -2
  96. package/es-modules/Data/Modifiers/DataModifier.js +15 -3
  97. package/es-modules/Extensions/Annotations/Annotation.js +6 -7
  98. package/es-modules/Extensions/Annotations/AnnotationChart.js +4 -5
  99. package/es-modules/Extensions/Annotations/AnnotationDefaults.js +4 -4
  100. package/es-modules/Extensions/Annotations/ControlPoint.js +2 -2
  101. package/es-modules/Extensions/Annotations/ControlTarget.js +1 -1
  102. package/es-modules/Extensions/Annotations/Controllables/Controllable.js +7 -3
  103. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +3 -3
  104. package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +8 -9
  105. package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +3 -4
  106. package/es-modules/Extensions/Annotations/EventEmitter.js +6 -6
  107. package/es-modules/Extensions/Annotations/NavigationBindings.js +29 -18
  108. package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +6 -6
  109. package/es-modules/Extensions/Annotations/Popup/Popup.js +1 -1
  110. package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +10 -6
  111. package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +2 -2
  112. package/es-modules/Extensions/Annotations/Popup/PopupIndicators.js +31 -31
  113. package/es-modules/Extensions/Annotations/Popup/PopupTabs.js +1 -1
  114. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +14 -11
  115. package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +1 -1
  116. package/es-modules/Extensions/Annotations/Types/Measure.js +1 -1
  117. package/es-modules/Extensions/ArrowSymbols.js +7 -13
  118. package/es-modules/Extensions/Boost/Boost.js +39 -7
  119. package/es-modules/Extensions/Boost/BoostChart.js +4 -4
  120. package/es-modules/Extensions/Boost/BoostSeries.js +58 -13
  121. package/es-modules/Extensions/Boost/WGLRenderer.js +3 -3
  122. package/es-modules/Extensions/Boost/WGLVertexBuffer.js +1 -1
  123. package/es-modules/Extensions/BoostCanvas.js +5 -4
  124. package/es-modules/Extensions/BorderRadius.js +5 -4
  125. package/es-modules/Extensions/Breadcrumbs/Breadcrumbs.js +9 -9
  126. package/es-modules/Extensions/CurrentDateIndication.js +1 -1
  127. package/es-modules/Extensions/Data.js +11 -11
  128. package/es-modules/Extensions/DataGrouping/DataGrouping.js +1 -1
  129. package/es-modules/Extensions/DataGrouping/DataGroupingAxisComposition.js +8 -9
  130. package/es-modules/Extensions/DataGrouping/DataGroupingDefaults.js +1 -1
  131. package/es-modules/Extensions/DataGrouping/DataGroupingSeriesComposition.js +6 -7
  132. package/es-modules/Extensions/Debugger/Debugger.js +1 -1
  133. package/es-modules/Extensions/Debugger/ErrorMessages.js +2 -2
  134. package/es-modules/Extensions/DragPanes/AxisResizer.js +13 -16
  135. package/es-modules/Extensions/DragPanes/DragPanes.js +2 -4
  136. package/es-modules/Extensions/DraggablePoints/DragDropDefaults.js +2 -1
  137. package/es-modules/Extensions/DraggablePoints/DragDropUtilities.js +1 -1
  138. package/es-modules/Extensions/DraggablePoints/DraggableChart.js +4 -4
  139. package/es-modules/Extensions/DraggablePoints/DraggablePoints.js +8 -9
  140. package/es-modules/Extensions/Drilldown/Drilldown.js +11 -9
  141. package/es-modules/Extensions/Drilldown/DrilldownSeries.js +5 -6
  142. package/es-modules/Extensions/ExportData/ExportData.js +27 -18
  143. package/es-modules/Extensions/Exporting/Exporting.js +25 -20
  144. package/es-modules/Extensions/Exporting/ExportingDefaults.js +1 -1
  145. package/es-modules/Extensions/Exporting/Fullscreen.js +5 -10
  146. package/es-modules/Extensions/MarkerClusters/MarkerClusterScatter.js +26 -21
  147. package/es-modules/Extensions/MarkerClusters/MarkerClusterSymbols.js +2 -12
  148. package/es-modules/Extensions/MarkerClusters/MarkerClusters.js +3 -3
  149. package/es-modules/Extensions/MouseWheelZoom/MouseWheelZoom.js +51 -161
  150. package/es-modules/Extensions/NoDataToDisplay/NoDataToDisplay.js +3 -5
  151. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +5 -6
  152. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  153. package/es-modules/Extensions/OverlappingDataLabels.js +21 -49
  154. package/es-modules/Extensions/Pane/PaneComposition.js +3 -5
  155. package/es-modules/Extensions/ParallelCoordinates/ParallelAxis.js +2 -4
  156. package/es-modules/Extensions/ParallelCoordinates/ParallelCoordinates.js +5 -6
  157. package/es-modules/Extensions/ParallelCoordinates/ParallelSeries.js +1 -1
  158. package/es-modules/Extensions/PatternFill.js +19 -22
  159. package/es-modules/Extensions/PriceIndication.js +1 -1
  160. package/es-modules/Extensions/ScrollablePlotArea.js +218 -292
  161. package/es-modules/Extensions/SeriesLabel/SeriesLabel.js +26 -18
  162. package/es-modules/Extensions/Sonification/Options.js +1 -0
  163. package/es-modules/Extensions/Sonification/SonificationSpeaker.js +2 -2
  164. package/es-modules/Extensions/Sonification/SynthPatch.js +3 -3
  165. package/es-modules/Extensions/StaticScale.js +3 -5
  166. package/es-modules/Gantt/Legacy.js +1 -1
  167. package/es-modules/Gantt/Pathfinder.js +2 -2
  168. package/es-modules/Gantt/PathfinderComposition.js +3 -5
  169. package/es-modules/Gantt/Tree.js +3 -3
  170. package/es-modules/Maps/GeoJSONComposition.js +20 -13
  171. package/es-modules/Maps/MapNavigation.js +2 -2
  172. package/es-modules/Maps/MapPointer.js +3 -19
  173. package/es-modules/Maps/MapSymbols.js +3 -9
  174. package/es-modules/Maps/MapView.js +134 -74
  175. package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +5 -4
  176. package/es-modules/Series/Area/AreaSeries.js +2 -4
  177. package/es-modules/Series/Area3D/Area3DSeries.js +1 -1
  178. package/es-modules/Series/AreaRange/AreaRangePoint.js +2 -2
  179. package/es-modules/Series/AreaRange/AreaRangeSeries.js +2 -3
  180. package/es-modules/Series/AreaSpline/AreaSplineSeries.js +1 -1
  181. package/es-modules/Series/Bar/BarSeries.js +1 -1
  182. package/es-modules/Series/Bellcurve/BellcurveSeries.js +1 -1
  183. package/es-modules/Series/BoxPlot/BoxPlotSeriesDefaults.js +4 -0
  184. package/es-modules/Series/Bubble/BubbleLegendComposition.js +1 -1
  185. package/es-modules/Series/Bubble/BubbleLegendDefaults.js +2 -2
  186. package/es-modules/Series/Bubble/BubbleLegendItem.js +3 -3
  187. package/es-modules/Series/Bubble/BubbleSeries.js +1 -1
  188. package/es-modules/Series/Bullet/BulletSeriesDefaults.js +2 -2
  189. package/es-modules/Series/Candlestick/CandlestickSeries.js +2 -2
  190. package/es-modules/Series/Candlestick/CandlestickSeriesDefaults.js +1 -5
  191. package/es-modules/Series/ColorMapComposition.js +1 -1
  192. package/es-modules/Series/Column/ColumnDataLabel.js +2 -2
  193. package/es-modules/Series/Column/ColumnSeries.js +20 -22
  194. package/es-modules/Series/Column/ColumnSeriesDefaults.js +1 -1
  195. package/es-modules/Series/Column3D/Column3DComposition.js +1 -1
  196. package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +2 -1
  197. package/es-modules/Series/Cylinder/CylinderComposition.js +9 -9
  198. package/es-modules/Series/DataModifyComposition.js +5 -5
  199. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +3 -2
  200. package/es-modules/Series/DependencyWheel/DependencyWheelSeriesDefaults.js +1 -1
  201. package/es-modules/Series/DragNodesComposition.js +7 -7
  202. package/es-modules/Series/DrawPointUtilities.js +0 -2
  203. package/es-modules/Series/Dumbbell/DumbbellSeriesDefaults.js +1 -1
  204. package/es-modules/Series/Funnel/FunnelSeries.js +1 -1
  205. package/es-modules/Series/Funnel3D/Funnel3DComposition.js +6 -6
  206. package/es-modules/Series/Funnel3D/Funnel3DSeriesDefaults.js +2 -2
  207. package/es-modules/Series/Funnel3D/SVGElement3DFunnel.js +1 -1
  208. package/es-modules/Series/Gantt/GanttSeries.js +0 -1
  209. package/es-modules/Series/GeoHeatmap/GeoHeatmapSeries.js +5 -5
  210. package/es-modules/Series/GraphLayoutComposition.js +1 -1
  211. package/es-modules/Series/Heatmap/HeatmapSeries.js +2 -2
  212. package/es-modules/Series/Heatmap/HeatmapSeriesDefaults.js +1 -1
  213. package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +3 -1
  214. package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +3 -3
  215. package/es-modules/Series/HeikinAshi/HeikinAshiSeriesDefaults.js +1 -1
  216. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +2 -2
  217. package/es-modules/Series/Item/ItemSeries.js +1 -1
  218. package/es-modules/Series/Line/LineSeries.js +1 -1
  219. package/es-modules/Series/Lollipop/LollipopSeries.js +3 -1
  220. package/es-modules/Series/Map/MapPoint.js +5 -1
  221. package/es-modules/Series/Map/MapSeries.js +32 -7
  222. package/es-modules/Series/Map/MapSeriesDefaults.js +5 -3
  223. package/es-modules/Series/Networkgraph/EulerIntegration.js +5 -5
  224. package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +4 -4
  225. package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +5 -5
  226. package/es-modules/Series/Networkgraph/QuadTree.js +1 -1
  227. package/es-modules/Series/Networkgraph/QuadTreeNode.js +1 -1
  228. package/es-modules/Series/Networkgraph/VerletIntegration.js +9 -9
  229. package/es-modules/Series/NodesComposition.js +1 -1
  230. package/es-modules/Series/OHLC/OHLCSeries.js +1 -1
  231. package/es-modules/Series/OHLC/OHLCSeriesDefaults.js +1 -1
  232. package/es-modules/Series/OnSeriesComposition.js +1 -1
  233. package/es-modules/Series/Organization/OrganizationPoint.js +1 -1
  234. package/es-modules/Series/Organization/OrganizationSeries.js +22 -10
  235. package/es-modules/Series/Organization/OrganizationSeriesDefaults.js +15 -2
  236. package/es-modules/Series/PackedBubble/PackedBubbleLayout.js +3 -5
  237. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +1 -1
  238. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +6 -10
  239. package/es-modules/Series/Pictorial/PictorialSeries.js +2 -2
  240. package/es-modules/Series/Pie/PieDataLabel.js +2 -2
  241. package/es-modules/Series/Pie/PiePoint.js +1 -1
  242. package/es-modules/Series/Pie/PieSeries.js +10 -1
  243. package/es-modules/Series/Pie/PieSeriesDefaults.js +1 -1
  244. package/es-modules/Series/Pie3D/Pie3DSeries.js +2 -2
  245. package/es-modules/Series/PolarComposition.js +22 -20
  246. package/es-modules/Series/Sankey/SankeyColumnComposition.js +1 -1
  247. package/es-modules/Series/Sankey/SankeySeries.js +8 -8
  248. package/es-modules/Series/Sankey/SankeySeriesDefaults.js +57 -13
  249. package/es-modules/Series/SeriesOnPointComposition.js +3 -3
  250. package/es-modules/Series/Spline/SplineSeries.js +1 -1
  251. package/es-modules/Series/Sunburst/SunburstPoint.js +1 -1
  252. package/es-modules/Series/Sunburst/SunburstSeries.js +2 -7
  253. package/es-modules/Series/Sunburst/SunburstSeriesDefaults.js +3 -3
  254. package/es-modules/Series/Sunburst/SunburstUtilities.js +1 -1
  255. package/es-modules/Series/TiledWebMap/TiledWebMapSeries.js +23 -25
  256. package/es-modules/Series/Tilemap/TilemapSeries.js +2 -2
  257. package/es-modules/Series/Timeline/TimelineSeries.js +2 -2
  258. package/es-modules/Series/TreeUtilities.js +23 -1
  259. package/es-modules/Series/Treegraph/TreegraphLayout.js +7 -11
  260. package/es-modules/Series/Treegraph/TreegraphPoint.js +1 -0
  261. package/es-modules/Series/Treegraph/TreegraphSeries.js +8 -8
  262. package/es-modules/Series/Treegraph/TreegraphSeriesDefaults.js +39 -2
  263. package/es-modules/Series/Treemap/TreemapSeries.js +4 -2
  264. package/es-modules/Series/Treemap/TreemapUtilities.js +0 -7
  265. package/es-modules/Series/Variwide/VariwideComposition.js +6 -2
  266. package/es-modules/Series/Variwide/VariwideSeries.js +1 -1
  267. package/es-modules/Series/Venn/VennSeries.js +4 -4
  268. package/es-modules/Series/Venn/VennUtils.js +5 -6
  269. package/es-modules/Series/Waterfall/WaterfallSeriesDefaults.js +1 -1
  270. package/es-modules/Series/Windbarb/WindbarbSeries.js +1 -1
  271. package/es-modules/Series/Wordcloud/WordcloudUtils.js +6 -4
  272. package/es-modules/Series/XRange/XRangePoint.js +2 -2
  273. package/es-modules/Series/XRange/XRangeSeries.js +1 -1
  274. package/es-modules/Shared/BaseForm.js +1 -1
  275. package/es-modules/Stock/Indicators/AD/ADIndicator.js +3 -1
  276. package/es-modules/Stock/Indicators/APO/APOIndicator.js +1 -1
  277. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +1 -1
  278. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +1 -1
  279. package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +2 -2
  280. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +1 -1
  281. package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +1 -1
  282. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +1 -1
  283. package/es-modules/Stock/Indicators/LinearRegression/LinearRegressionIndicator.js +7 -7
  284. package/es-modules/Stock/Indicators/MultipleLinesComposition.js +9 -9
  285. package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +1 -1
  286. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +1 -1
  287. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +2 -2
  288. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +1 -1
  289. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +16 -17
  290. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +4 -5
  291. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +1 -1
  292. package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +5 -5
  293. package/es-modules/Stock/Navigator/ChartNavigatorComposition.js +188 -0
  294. package/es-modules/Stock/Navigator/Navigator.js +42 -27
  295. package/es-modules/Stock/Navigator/NavigatorComposition.js +10 -149
  296. package/es-modules/Stock/Navigator/NavigatorDefaults.js +16 -2
  297. package/es-modules/Stock/Navigator/StandaloneNavigator.js +334 -0
  298. package/es-modules/Stock/Navigator/StandaloneNavigatorDefaults.js +64 -0
  299. package/es-modules/Stock/RangeSelector/RangeSelector.js +28 -16
  300. package/es-modules/Stock/RangeSelector/RangeSelectorComposition.js +2 -2
  301. package/es-modules/Stock/Scrollbar/Scrollbar.js +10 -10
  302. package/es-modules/Stock/Scrollbar/ScrollbarDefaults.js +1 -3
  303. package/es-modules/Stock/StockTools/StockToolbar.js +6 -5
  304. package/es-modules/Stock/StockTools/StockTools.js +10 -13
  305. package/es-modules/Stock/StockTools/StockToolsBindings.js +35 -35
  306. package/es-modules/Stock/StockTools/StockToolsDefaults.js +2 -1
  307. package/es-modules/Stock/StockTools/StockToolsGui.js +7 -8
  308. package/es-modules/Stock/StockTools/StockToolsUtilities.js +8 -9
  309. package/es-modules/Stock/Utilities/StockUtilities.js +41 -0
  310. package/es-modules/masters/highcharts-3d.src.js +2 -1
  311. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  312. package/es-modules/masters/highcharts-more.src.js +2 -1
  313. package/es-modules/masters/highcharts.src.js +41 -40
  314. package/es-modules/masters/highmaps.src.js +1 -1
  315. package/es-modules/masters/highstock.src.js +1 -1
  316. package/es-modules/masters/indicators/acceleration-bands.src.js +3 -1
  317. package/es-modules/masters/indicators/accumulation-distribution.src.js +3 -1
  318. package/es-modules/masters/indicators/ao.src.js +3 -1
  319. package/es-modules/masters/indicators/apo.src.js +3 -1
  320. package/es-modules/masters/indicators/aroon-oscillator.src.js +3 -1
  321. package/es-modules/masters/indicators/aroon.src.js +3 -1
  322. package/es-modules/masters/indicators/atr.src.js +3 -1
  323. package/es-modules/masters/indicators/bollinger-bands.src.js +3 -1
  324. package/es-modules/masters/indicators/cci.src.js +3 -1
  325. package/es-modules/masters/indicators/chaikin.src.js +3 -1
  326. package/es-modules/masters/indicators/cmf.src.js +3 -1
  327. package/es-modules/masters/indicators/cmo.src.js +3 -1
  328. package/es-modules/masters/indicators/dema.src.js +3 -1
  329. package/es-modules/masters/indicators/disparity-index.src.js +3 -1
  330. package/es-modules/masters/indicators/dmi.src.js +3 -1
  331. package/es-modules/masters/indicators/dpo.src.js +3 -1
  332. package/es-modules/masters/indicators/ema.src.js +2 -0
  333. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +3 -1
  334. package/es-modules/masters/indicators/indicators-all.src.js +3 -1
  335. package/es-modules/masters/indicators/indicators.src.js +7 -1
  336. package/es-modules/masters/indicators/keltner-channels.src.js +3 -1
  337. package/es-modules/masters/indicators/klinger.src.js +3 -1
  338. package/es-modules/masters/indicators/macd.src.js +3 -1
  339. package/es-modules/masters/indicators/mfi.src.js +3 -1
  340. package/es-modules/masters/indicators/momentum.src.js +3 -1
  341. package/es-modules/masters/indicators/natr.src.js +3 -1
  342. package/es-modules/masters/indicators/obv.src.js +3 -1
  343. package/es-modules/masters/indicators/pivot-points.src.js +3 -1
  344. package/es-modules/masters/indicators/ppo.src.js +3 -1
  345. package/es-modules/masters/indicators/price-channel.src.js +3 -1
  346. package/es-modules/masters/indicators/price-envelopes.src.js +3 -1
  347. package/es-modules/masters/indicators/psar.src.js +3 -1
  348. package/es-modules/masters/indicators/regressions.src.js +3 -1
  349. package/es-modules/masters/indicators/roc.src.js +3 -1
  350. package/es-modules/masters/indicators/rsi.src.js +3 -1
  351. package/es-modules/masters/indicators/slow-stochastic.src.js +3 -1
  352. package/es-modules/masters/indicators/stochastic.src.js +3 -1
  353. package/es-modules/masters/indicators/supertrend.src.js +3 -1
  354. package/es-modules/masters/indicators/tema.src.js +3 -1
  355. package/es-modules/masters/indicators/trendline.src.js +3 -1
  356. package/es-modules/masters/indicators/trix.src.js +3 -1
  357. package/es-modules/masters/indicators/volume-by-price.src.js +3 -1
  358. package/es-modules/masters/indicators/vwap.src.js +3 -1
  359. package/es-modules/masters/indicators/williams-r.src.js +3 -1
  360. package/es-modules/masters/indicators/wma.src.js +3 -1
  361. package/es-modules/masters/indicators/zigzag.src.js +3 -1
  362. package/es-modules/masters/modules/accessibility.src.js +4 -1
  363. package/es-modules/masters/modules/annotations-advanced.src.js +3 -5
  364. package/es-modules/masters/modules/annotations.src.js +6 -3
  365. package/es-modules/masters/modules/arc-diagram.src.js +3 -1
  366. package/es-modules/masters/modules/arrow-symbols.src.js +2 -1
  367. package/es-modules/masters/modules/boost-canvas.src.js +2 -1
  368. package/es-modules/masters/modules/boost.src.js +3 -2
  369. package/es-modules/masters/modules/broken-axis.src.js +4 -3
  370. package/es-modules/masters/modules/bullet.src.js +3 -1
  371. package/es-modules/masters/modules/coloraxis.src.js +4 -3
  372. package/es-modules/masters/modules/current-date-indicator.src.js +2 -1
  373. package/es-modules/masters/modules/cylinder.src.js +3 -1
  374. package/es-modules/masters/modules/data-tools.src.js +9 -8
  375. package/es-modules/masters/modules/data.src.js +9 -8
  376. package/es-modules/masters/modules/datagrouping.src.js +7 -5
  377. package/es-modules/masters/modules/debugger.src.js +3 -2
  378. package/es-modules/masters/modules/dependency-wheel.src.js +3 -1
  379. package/es-modules/masters/modules/dotplot.src.js +3 -1
  380. package/es-modules/masters/modules/drag-panes.src.js +2 -1
  381. package/es-modules/masters/modules/draggable-points.src.js +2 -1
  382. package/es-modules/masters/modules/drilldown.src.js +3 -2
  383. package/es-modules/masters/modules/dumbbell.src.js +3 -1
  384. package/es-modules/masters/modules/export-data.src.js +5 -4
  385. package/es-modules/masters/modules/exporting.src.js +6 -5
  386. package/es-modules/masters/modules/flowmap.src.js +3 -1
  387. package/es-modules/masters/modules/full-screen.src.js +4 -3
  388. package/es-modules/masters/modules/funnel.src.js +2 -1
  389. package/es-modules/masters/modules/funnel3d.src.js +4 -3
  390. package/es-modules/masters/modules/gantt.src.js +15 -17
  391. package/es-modules/masters/modules/geoheatmap.src.js +3 -1
  392. package/es-modules/masters/modules/grid-axis.src.js +2 -1
  393. package/es-modules/masters/modules/heatmap.src.js +3 -5
  394. package/es-modules/masters/modules/heikinashi.src.js +2 -1
  395. package/es-modules/masters/modules/histogram-bellcurve.src.js +3 -1
  396. package/es-modules/masters/modules/hollowcandlestick.src.js +3 -1
  397. package/es-modules/masters/modules/item-series.src.js +3 -1
  398. package/es-modules/masters/modules/lollipop.src.js +3 -1
  399. package/es-modules/masters/modules/map.src.js +15 -10
  400. package/es-modules/masters/modules/marker-clusters.src.js +2 -1
  401. package/es-modules/masters/modules/mouse-wheel-zoom.src.js +4 -2
  402. package/es-modules/masters/modules/navigator.src.d.ts +1 -0
  403. package/es-modules/masters/modules/navigator.src.js +19 -0
  404. package/es-modules/masters/modules/networkgraph.src.js +2 -1
  405. package/es-modules/masters/modules/no-data-to-display.src.js +2 -1
  406. package/es-modules/masters/modules/offline-exporting.src.js +4 -3
  407. package/es-modules/masters/modules/organization.src.js +3 -1
  408. package/es-modules/masters/modules/overlapping-datalabels.src.js +4 -2
  409. package/es-modules/masters/modules/parallel-coordinates.src.js +2 -1
  410. package/es-modules/masters/modules/pareto.src.js +3 -1
  411. package/es-modules/masters/modules/pathfinder.src.js +4 -3
  412. package/es-modules/masters/modules/pattern-fill.src.js +2 -1
  413. package/es-modules/masters/modules/pictorial.src.js +3 -1
  414. package/es-modules/masters/modules/price-indicator.src.js +2 -1
  415. package/es-modules/masters/modules/pyramid3d.src.js +3 -1
  416. package/es-modules/masters/modules/sankey.src.js +3 -1
  417. package/es-modules/masters/modules/series-label.src.js +2 -1
  418. package/es-modules/masters/modules/series-on-point.src.js +2 -1
  419. package/es-modules/masters/modules/solid-gauge.src.js +3 -1
  420. package/es-modules/masters/modules/sonification.src.js +2 -1
  421. package/es-modules/masters/modules/static-scale.src.js +2 -1
  422. package/es-modules/masters/modules/stock-tools.src.js +5 -3
  423. package/es-modules/masters/modules/stock.src.js +20 -15
  424. package/es-modules/masters/modules/streamgraph.src.js +3 -1
  425. package/es-modules/masters/modules/sunburst.src.js +4 -3
  426. package/es-modules/masters/modules/tiledwebmap.src.js +5 -4
  427. package/es-modules/masters/modules/tilemap.src.js +2 -1
  428. package/es-modules/masters/modules/timeline.src.js +3 -1
  429. package/es-modules/masters/modules/treegraph.src.js +3 -1
  430. package/es-modules/masters/modules/treegrid.src.js +2 -2
  431. package/es-modules/masters/modules/treemap.src.js +5 -4
  432. package/es-modules/masters/modules/variable-pie.src.js +3 -1
  433. package/es-modules/masters/modules/variwide.src.js +2 -1
  434. package/es-modules/masters/modules/vector.src.js +3 -1
  435. package/es-modules/masters/modules/venn.src.js +3 -1
  436. package/es-modules/masters/modules/windbarb.src.js +3 -1
  437. package/es-modules/masters/modules/wordcloud.src.js +3 -1
  438. package/es-modules/masters/modules/xrange.src.js +2 -1
  439. package/es-modules/masters/standalone-navigator.src.js +13 -0
  440. package/es-modules/masters/themes/avocado.src.js +2 -1
  441. package/es-modules/masters/themes/brand-dark.src.js +2 -1
  442. package/es-modules/masters/themes/brand-light.src.js +2 -1
  443. package/es-modules/masters/themes/dark-blue.src.js +2 -1
  444. package/es-modules/masters/themes/dark-green.src.js +2 -1
  445. package/es-modules/masters/themes/dark-unica.src.js +2 -1
  446. package/es-modules/masters/themes/gray.src.js +2 -1
  447. package/es-modules/masters/themes/grid-light.src.js +2 -1
  448. package/es-modules/masters/themes/grid.src.js +2 -1
  449. package/es-modules/masters/themes/high-contrast-dark.src.js +2 -1
  450. package/es-modules/masters/themes/high-contrast-light.src.js +2 -1
  451. package/es-modules/masters/themes/sand-signika.src.js +2 -1
  452. package/es-modules/masters/themes/skies.src.js +2 -1
  453. package/es-modules/masters/themes/sunset.src.js +2 -1
  454. package/es-modules/tsconfig.tsbuildinfo +1 -0
  455. package/globals.d.ts +9 -0
  456. package/globals.src.d.ts +9 -0
  457. package/highcharts-3d.js +3 -3
  458. package/highcharts-3d.src.js +32 -33
  459. package/highcharts-gantt.js +4 -4
  460. package/highcharts-gantt.src.js +5703 -5639
  461. package/highcharts-more.d.ts +4 -0
  462. package/highcharts-more.js +3 -3
  463. package/highcharts-more.src.d.ts +4 -0
  464. package/highcharts-more.src.js +88 -87
  465. package/highcharts.d.ts +834 -5365
  466. package/highcharts.js +4 -4
  467. package/highcharts.src.d.ts +834 -5365
  468. package/highcharts.src.js +1583 -1682
  469. package/highmaps.js +4 -4
  470. package/highmaps.src.js +1837 -1835
  471. package/highstock.js +4 -4
  472. package/highstock.src.js +12488 -12510
  473. package/indicators/acceleration-bands.js +3 -3
  474. package/indicators/acceleration-bands.src.js +12 -11
  475. package/indicators/accumulation-distribution.js +3 -3
  476. package/indicators/accumulation-distribution.src.js +6 -3
  477. package/indicators/ao.js +3 -3
  478. package/indicators/ao.src.js +3 -2
  479. package/indicators/apo.js +3 -3
  480. package/indicators/apo.src.js +4 -3
  481. package/indicators/aroon-oscillator.js +3 -3
  482. package/indicators/aroon-oscillator.src.js +12 -11
  483. package/indicators/aroon.js +3 -3
  484. package/indicators/aroon.src.js +13 -12
  485. package/indicators/atr.js +3 -3
  486. package/indicators/atr.src.js +3 -2
  487. package/indicators/bollinger-bands.js +3 -3
  488. package/indicators/bollinger-bands.src.js +12 -11
  489. package/indicators/cci.js +3 -3
  490. package/indicators/cci.src.js +3 -2
  491. package/indicators/chaikin.js +3 -3
  492. package/indicators/chaikin.src.js +7 -4
  493. package/indicators/cmf.js +3 -3
  494. package/indicators/cmf.src.js +4 -3
  495. package/indicators/cmo.js +3 -3
  496. package/indicators/cmo.src.js +5 -4
  497. package/indicators/dema.js +3 -3
  498. package/indicators/dema.src.js +3 -2
  499. package/indicators/disparity-index.js +3 -3
  500. package/indicators/disparity-index.src.js +3 -2
  501. package/indicators/dmi.js +3 -3
  502. package/indicators/dmi.src.js +12 -11
  503. package/indicators/dpo.js +3 -3
  504. package/indicators/dpo.src.js +4 -3
  505. package/indicators/ema.js +1 -1
  506. package/indicators/ema.src.js +2 -1
  507. package/indicators/ichimoku-kinko-hyo.js +3 -3
  508. package/indicators/ichimoku-kinko-hyo.src.js +3 -2
  509. package/indicators/indicators-all.js +3 -3
  510. package/indicators/indicators-all.src.js +63 -60
  511. package/indicators/indicators.js +3 -3
  512. package/indicators/indicators.src.js +286 -3
  513. package/indicators/keltner-channels.js +3 -3
  514. package/indicators/keltner-channels.src.js +12 -11
  515. package/indicators/klinger.js +3 -3
  516. package/indicators/klinger.src.js +13 -12
  517. package/indicators/macd.js +3 -3
  518. package/indicators/macd.src.js +3 -2
  519. package/indicators/mfi.js +3 -3
  520. package/indicators/mfi.src.js +3 -2
  521. package/indicators/momentum.js +3 -3
  522. package/indicators/momentum.src.js +3 -2
  523. package/indicators/natr.js +3 -3
  524. package/indicators/natr.src.js +3 -2
  525. package/indicators/obv.js +3 -3
  526. package/indicators/obv.src.js +4 -3
  527. package/indicators/pivot-points.js +3 -3
  528. package/indicators/pivot-points.src.js +5 -4
  529. package/indicators/ppo.js +3 -3
  530. package/indicators/ppo.src.js +4 -3
  531. package/indicators/price-channel.js +3 -3
  532. package/indicators/price-channel.src.js +12 -11
  533. package/indicators/price-envelopes.js +3 -3
  534. package/indicators/price-envelopes.src.js +12 -11
  535. package/indicators/psar.js +3 -3
  536. package/indicators/psar.src.js +3 -2
  537. package/indicators/regressions.js +3 -3
  538. package/indicators/regressions.src.js +10 -9
  539. package/indicators/roc.js +3 -3
  540. package/indicators/roc.src.js +3 -2
  541. package/indicators/rsi.js +3 -3
  542. package/indicators/rsi.src.js +3 -2
  543. package/indicators/slow-stochastic.js +3 -3
  544. package/indicators/slow-stochastic.src.js +3 -2
  545. package/indicators/stochastic.js +3 -3
  546. package/indicators/stochastic.src.js +12 -11
  547. package/indicators/supertrend.js +3 -3
  548. package/indicators/supertrend.src.js +20 -19
  549. package/indicators/tema.js +3 -3
  550. package/indicators/tema.src.js +3 -2
  551. package/indicators/trendline.js +3 -3
  552. package/indicators/trendline.src.js +3 -2
  553. package/indicators/trix.js +3 -3
  554. package/indicators/trix.src.js +3 -2
  555. package/indicators/volume-by-price.js +3 -3
  556. package/indicators/volume-by-price.src.js +8 -7
  557. package/indicators/vwap.js +3 -3
  558. package/indicators/vwap.src.js +3 -2
  559. package/indicators/williams-r.js +3 -3
  560. package/indicators/williams-r.src.js +4 -3
  561. package/indicators/wma.js +3 -3
  562. package/indicators/wma.src.js +3 -2
  563. package/indicators/zigzag.js +3 -3
  564. package/indicators/zigzag.src.js +8 -7
  565. package/lib/svg2pdf.js +7 -7
  566. package/lib/svg2pdf.src.js +185 -150
  567. package/modules/accessibility.js +3 -3
  568. package/modules/accessibility.src.js +664 -2793
  569. package/modules/annotations-advanced.d.ts +3 -0
  570. package/modules/annotations-advanced.js +3 -3
  571. package/modules/annotations-advanced.src.d.ts +3 -0
  572. package/modules/annotations-advanced.src.js +2949 -2920
  573. package/modules/annotations.d.ts +0 -3
  574. package/modules/annotations.js +3 -3
  575. package/modules/annotations.src.d.ts +0 -3
  576. package/modules/annotations.src.js +2926 -2905
  577. package/modules/arc-diagram.js +3 -3
  578. package/modules/arc-diagram.src.js +8 -6
  579. package/modules/arrow-symbols.js +3 -3
  580. package/modules/arrow-symbols.src.js +10 -13
  581. package/modules/boost-canvas.js +3 -3
  582. package/modules/boost-canvas.src.js +73 -26
  583. package/modules/boost.js +3 -3
  584. package/modules/boost.src.js +108 -30
  585. package/modules/broken-axis.js +3 -3
  586. package/modules/broken-axis.src.js +9 -9
  587. package/modules/bullet.js +3 -3
  588. package/modules/bullet.src.js +5 -4
  589. package/modules/coloraxis.js +3 -3
  590. package/modules/coloraxis.src.js +10 -9
  591. package/modules/current-date-indicator.js +3 -3
  592. package/modules/current-date-indicator.src.js +3 -2
  593. package/modules/cylinder.js +3 -3
  594. package/modules/cylinder.src.js +12 -11
  595. package/modules/data-tools.js +3 -3
  596. package/modules/data-tools.src.js +53 -36
  597. package/modules/data.d.ts +2 -2
  598. package/modules/data.js +3 -3
  599. package/modules/data.src.d.ts +2 -2
  600. package/modules/data.src.js +24 -23
  601. package/modules/datagrouping.js +3 -3
  602. package/modules/datagrouping.src.js +25 -23
  603. package/modules/debugger.js +3 -3
  604. package/modules/debugger.src.js +6 -5
  605. package/modules/dependency-wheel.js +3 -3
  606. package/modules/dependency-wheel.src.js +7 -5
  607. package/modules/dotplot.js +3 -3
  608. package/modules/dotplot.src.js +3 -2
  609. package/modules/drag-panes.js +3 -3
  610. package/modules/drag-panes.src.js +19 -21
  611. package/modules/draggable-points.js +3 -3
  612. package/modules/draggable-points.src.js +18 -16
  613. package/modules/drilldown.js +3 -3
  614. package/modules/drilldown.src.js +29 -26
  615. package/modules/dumbbell.js +3 -3
  616. package/modules/dumbbell.src.js +5 -4
  617. package/modules/export-data.js +3 -3
  618. package/modules/export-data.src.js +33 -22
  619. package/modules/exporting.d.ts +1 -1
  620. package/modules/exporting.js +3 -3
  621. package/modules/exporting.src.d.ts +1 -1
  622. package/modules/exporting.src.js +40 -39
  623. package/modules/flowmap.js +3 -3
  624. package/modules/flowmap.src.js +3 -2
  625. package/modules/full-screen.js +3 -3
  626. package/modules/full-screen.src.js +9 -13
  627. package/modules/funnel.js +3 -3
  628. package/modules/funnel.src.js +3 -2
  629. package/modules/funnel3d.js +3 -3
  630. package/modules/funnel3d.src.js +12 -12
  631. package/modules/gantt.d.ts +3 -4
  632. package/modules/gantt.js +3 -3
  633. package/modules/gantt.src.d.ts +3 -4
  634. package/modules/gantt.src.js +4165 -4002
  635. package/modules/geoheatmap.js +3 -3
  636. package/modules/geoheatmap.src.js +8 -7
  637. package/modules/grid-axis.js +3 -3
  638. package/modules/grid-axis.src.js +9 -8
  639. package/modules/heatmap.d.ts +2 -2
  640. package/modules/heatmap.js +3 -3
  641. package/modules/heatmap.src.d.ts +2 -2
  642. package/modules/heatmap.src.js +21 -15
  643. package/modules/heikinashi.js +3 -3
  644. package/modules/heikinashi.src.js +9 -6
  645. package/modules/histogram-bellcurve.js +3 -3
  646. package/modules/histogram-bellcurve.src.js +4 -3
  647. package/modules/hollowcandlestick.js +3 -3
  648. package/modules/hollowcandlestick.src.js +5 -4
  649. package/modules/item-series.js +3 -3
  650. package/modules/item-series.src.js +4 -3
  651. package/modules/lollipop.js +3 -3
  652. package/modules/lollipop.src.js +6 -3
  653. package/modules/map.d.ts +22 -1
  654. package/modules/map.js +3 -3
  655. package/modules/map.src.d.ts +22 -1
  656. package/modules/map.src.js +256 -155
  657. package/modules/marker-clusters.js +3 -3
  658. package/modules/marker-clusters.src.js +35 -37
  659. package/modules/mouse-wheel-zoom.js +3 -3
  660. package/modules/mouse-wheel-zoom.src.js +55 -163
  661. package/modules/navigator.d.ts +148 -0
  662. package/modules/navigator.js +9 -0
  663. package/modules/navigator.src.d.ts +148 -0
  664. package/modules/navigator.src.js +3921 -0
  665. package/modules/networkgraph.d.ts +2 -2
  666. package/modules/networkgraph.js +3 -3
  667. package/modules/networkgraph.src.d.ts +2 -2
  668. package/modules/networkgraph.src.js +36 -35
  669. package/modules/no-data-to-display.js +3 -3
  670. package/modules/no-data-to-display.src.js +6 -6
  671. package/modules/offline-exporting.js +3 -3
  672. package/modules/offline-exporting.src.js +10 -10
  673. package/modules/organization.js +3 -3
  674. package/modules/organization.src.js +41 -15
  675. package/modules/overlapping-datalabels.js +3 -3
  676. package/modules/overlapping-datalabels.src.js +4 -2
  677. package/modules/parallel-coordinates.js +3 -3
  678. package/modules/parallel-coordinates.src.js +12 -12
  679. package/modules/pareto.js +3 -3
  680. package/modules/pareto.src.js +3 -2
  681. package/modules/pathfinder.js +3 -3
  682. package/modules/pathfinder.src.js +18 -22
  683. package/modules/pattern-fill.js +3 -3
  684. package/modules/pattern-fill.src.js +22 -23
  685. package/modules/pictorial.js +3 -3
  686. package/modules/pictorial.src.js +25 -26
  687. package/modules/price-indicator.js +3 -3
  688. package/modules/price-indicator.src.js +3 -2
  689. package/modules/pyramid3d.js +3 -3
  690. package/modules/pyramid3d.src.js +3 -2
  691. package/modules/sankey.js +3 -3
  692. package/modules/sankey.src.js +93 -26
  693. package/modules/series-label.js +3 -3
  694. package/modules/series-label.src.js +28 -19
  695. package/modules/series-on-point.js +3 -3
  696. package/modules/series-on-point.src.js +5 -4
  697. package/modules/solid-gauge.js +3 -3
  698. package/modules/solid-gauge.src.js +3 -2
  699. package/modules/sonification.d.ts +2 -2
  700. package/modules/sonification.js +3 -3
  701. package/modules/sonification.src.d.ts +2 -2
  702. package/modules/sonification.src.js +8 -6
  703. package/modules/static-scale.js +3 -3
  704. package/modules/static-scale.src.js +6 -6
  705. package/modules/stock-tools.js +3 -3
  706. package/modules/stock-tools.src.js +109 -96
  707. package/modules/stock.d.ts +1 -1
  708. package/modules/stock.js +3 -3
  709. package/modules/stock.src.d.ts +1 -1
  710. package/modules/stock.src.js +10762 -10685
  711. package/modules/streamgraph.js +3 -3
  712. package/modules/streamgraph.src.js +3 -2
  713. package/modules/sunburst.js +3 -3
  714. package/modules/sunburst.src.js +50 -37
  715. package/modules/tiledwebmap.js +4 -4
  716. package/modules/tiledwebmap.src.js +28 -29
  717. package/modules/tilemap.js +3 -3
  718. package/modules/tilemap.src.js +4 -3
  719. package/modules/timeline.js +3 -3
  720. package/modules/timeline.src.js +5 -4
  721. package/modules/treegraph.js +3 -3
  722. package/modules/treegraph.src.js +58 -23
  723. package/modules/treegrid.js +3 -3
  724. package/modules/treegrid.src.js +49 -33
  725. package/modules/treemap.js +3 -3
  726. package/modules/treemap.src.js +44 -26
  727. package/modules/variable-pie.js +3 -3
  728. package/modules/variable-pie.src.js +3 -2
  729. package/modules/variwide.js +3 -3
  730. package/modules/variwide.src.js +9 -4
  731. package/modules/vector.js +3 -3
  732. package/modules/vector.src.js +3 -2
  733. package/modules/venn.js +3 -3
  734. package/modules/venn.src.js +16 -17
  735. package/modules/windbarb.js +3 -3
  736. package/modules/windbarb.src.js +5 -4
  737. package/modules/wordcloud.js +3 -3
  738. package/modules/wordcloud.src.js +10 -8
  739. package/modules/xrange.js +3 -3
  740. package/modules/xrange.src.js +5 -4
  741. package/package.json +1 -1
  742. package/standalone-navigator.js +2 -0
  743. package/standalone-navigator.src.js +49402 -0
  744. package/themes/avocado.js +3 -3
  745. package/themes/avocado.src.js +2 -1
  746. package/themes/brand-dark.js +3 -3
  747. package/themes/brand-dark.src.js +2 -1
  748. package/themes/brand-light.js +3 -3
  749. package/themes/brand-light.src.js +2 -1
  750. package/themes/dark-blue.js +3 -3
  751. package/themes/dark-blue.src.js +2 -1
  752. package/themes/dark-green.js +3 -3
  753. package/themes/dark-green.src.js +2 -1
  754. package/themes/dark-unica.js +3 -3
  755. package/themes/dark-unica.src.js +2 -1
  756. package/themes/gray.js +3 -3
  757. package/themes/gray.src.js +2 -1
  758. package/themes/grid-light.js +3 -3
  759. package/themes/grid-light.src.js +2 -1
  760. package/themes/grid.js +3 -3
  761. package/themes/grid.src.js +2 -1
  762. package/themes/high-contrast-dark.js +3 -3
  763. package/themes/high-contrast-dark.src.js +2 -1
  764. package/themes/high-contrast-light.js +3 -3
  765. package/themes/high-contrast-light.src.js +2 -1
  766. package/themes/sand-signika.js +3 -3
  767. package/themes/sand-signika.src.js +2 -1
  768. package/themes/skies.js +3 -3
  769. package/themes/skies.src.js +2 -1
  770. package/themes/sunset.js +3 -3
  771. package/themes/sunset.src.js +2 -1
  772. package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +0 -259
  773. package/lib/canvg.js +0 -8
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v11.3.0 (2024-01-10)
2
+ * @license Highcharts JS v11.4.0 (2024-03-05)
3
3
  *
4
4
  * Highcharts
5
5
  *
@@ -182,7 +182,11 @@
182
182
  * @return {Highcharts.DataTable}
183
183
  * Table with `modified` property as a reference.
184
184
  */
185
- modifyCell(table, columnName, rowIndex, cellValue, eventDetail) {
185
+ modifyCell(table,
186
+ /* eslint-disable @typescript-eslint/no-unused-vars */
187
+ columnName, rowIndex, cellValue, eventDetail
188
+ /* eslint-enable @typescript-eslint/no-unused-vars */
189
+ ) {
186
190
  return this.modifyTable(table);
187
191
  }
188
192
  /**
@@ -204,7 +208,11 @@
204
208
  * @return {Highcharts.DataTable}
205
209
  * Table with `modified` property as a reference.
206
210
  */
207
- modifyColumns(table, columns, rowIndex, eventDetail) {
211
+ modifyColumns(table,
212
+ /* eslint-disable @typescript-eslint/no-unused-vars */
213
+ columns, rowIndex, eventDetail
214
+ /* eslint-enable @typescript-eslint/no-unused-vars */
215
+ ) {
208
216
  return this.modifyTable(table);
209
217
  }
210
218
  /**
@@ -226,7 +234,11 @@
226
234
  * @return {Highcharts.DataTable}
227
235
  * Table with `modified` property as a reference.
228
236
  */
229
- modifyRows(table, rows, rowIndex, eventDetail) {
237
+ modifyRows(table,
238
+ /* eslint-disable @typescript-eslint/no-unused-vars */
239
+ rows, rowIndex, eventDetail
240
+ /* eslint-enable @typescript-eslint/no-unused-vars */
241
+ ) {
230
242
  return this.modifyTable(table);
231
243
  }
232
244
  /**
@@ -332,7 +344,6 @@
332
344
  * to add, remove, and manipulate columns and rows, as well as to retrieve data
333
345
  * from specific cells.
334
346
  *
335
- * @private
336
347
  * @class
337
348
  * @name Highcharts.DataTable
338
349
  *
@@ -1198,7 +1209,7 @@
1198
1209
  * @emits #afterSetColumns
1199
1210
  */
1200
1211
  setColumns(columns, rowIndex, eventDetail) {
1201
- const table = this, tableColumns = table.columns, tableModifier = table.modifier, tableRowCount = table.rowCount, reset = (typeof rowIndex === 'undefined'), columnNames = Object.keys(columns);
1212
+ const table = this, tableColumns = table.columns, tableModifier = table.modifier, reset = (typeof rowIndex === 'undefined'), columnNames = Object.keys(columns);
1202
1213
  table.emit({
1203
1214
  type: 'setColumns',
1204
1215
  columns,
@@ -1517,14 +1528,16 @@
1517
1528
  * @return {Array<string>|undefined}
1518
1529
  * Order of columns.
1519
1530
  */
1520
- getColumnOrder(usePresentationState) {
1531
+ getColumnOrder(
1532
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1533
+ usePresentationState) {
1521
1534
  const connector = this, columns = connector.metadata.columns, names = Object.keys(columns || {});
1522
1535
  if (names.length) {
1523
1536
  return names.sort((a, b) => (pick(columns[a].index, 0) - pick(columns[b].index, 0)));
1524
1537
  }
1525
1538
  }
1526
1539
  /**
1527
- * Retrieves the columns of the the dataTable,
1540
+ * Retrieves the columns of the dataTable,
1528
1541
  * applies column order from meta.
1529
1542
  *
1530
1543
  * @param {boolean} [usePresentationOrder]
@@ -2043,7 +2056,11 @@
2043
2056
  * @param {DataConverter.Options} [options]
2044
2057
  * Options for the export.
2045
2058
  */
2046
- export(connector, options) {
2059
+ export(
2060
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2061
+ connector, options
2062
+ /* eslint-enable @typescript-eslint/no-unused-vars */
2063
+ ) {
2047
2064
  this.emit({
2048
2065
  type: 'exportError',
2049
2066
  columns: [],
@@ -2118,7 +2135,9 @@
2118
2135
  * @param {DataConverter.UserOptions} options
2119
2136
  * Options of the DataConverter.
2120
2137
  */
2121
- parse(options) {
2138
+ parse(
2139
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
2140
+ options) {
2122
2141
  this.emit({
2123
2142
  type: 'parseError',
2124
2143
  columns: [],
@@ -3898,7 +3917,7 @@
3898
3917
  return isValue(x) ? x : NaN;
3899
3918
  }
3900
3919
  /**
3901
- * Process a function on the give table. If the arguments do not contain
3920
+ * Process a function on the given table. If the arguments do not contain
3902
3921
  * references or ranges, then no table has to be provided.
3903
3922
  *
3904
3923
  * @private
@@ -3915,7 +3934,9 @@
3915
3934
  * @return {Highcharts.FormulaValue|Array<Highcharts.FormulaValue>}
3916
3935
  * Result value (or values) of the process. `NaN` indicates an error.
3917
3936
  */
3918
- function processFunction(formulaFunction, table, reference // @todo
3937
+ function processFunction(formulaFunction, table,
3938
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
3939
+ reference // @todo
3919
3940
  ) {
3920
3941
  const processor = processorFunctions[formulaFunction.name];
3921
3942
  if (processor) {
@@ -5592,11 +5613,9 @@
5592
5613
  if (!decimalPoint || decimalPoint === itemDelimiter) {
5593
5614
  decimalPoint = converter.guessedDecimalPoint || '.';
5594
5615
  }
5595
- let i = 0, c = '', cl = '', cn = '', token = '', actualColumn = 0, column = 0;
5616
+ let i = 0, c = '', token = '', actualColumn = 0, column = 0;
5596
5617
  const read = (j) => {
5597
5618
  c = columnStr[j];
5598
- cl = columnStr[j - 1];
5599
- cn = columnStr[j + 1];
5600
5619
  };
5601
5620
  const pushType = (type) => {
5602
5621
  if (dataTypes.length < column + 1) {
@@ -5878,14 +5897,14 @@
5878
5897
  detail: eventDetail,
5879
5898
  table
5880
5899
  });
5881
- // If already loaded, clear the current rows
5882
- table.deleteRows();
5883
5900
  return Promise
5884
5901
  .resolve(csvURL ?
5885
5902
  fetch(csvURL).then((response) => response.text()) :
5886
5903
  csv || '')
5887
5904
  .then((csv) => {
5888
5905
  if (csv) {
5906
+ // If already loaded, clear the current rows
5907
+ table.deleteColumns();
5889
5908
  converter.parse({ csv });
5890
5909
  table.setColumns(converter.getTable().getColumns());
5891
5910
  }
@@ -6007,6 +6026,7 @@
6007
6026
  if (!data) {
6008
6027
  return;
6009
6028
  }
6029
+ converter.columns = [];
6010
6030
  converter.emit({
6011
6031
  type: 'parse',
6012
6032
  columns: converter.columns,
@@ -6179,20 +6199,18 @@
6179
6199
  detail: eventDetail,
6180
6200
  table
6181
6201
  });
6182
- // If already loaded, clear the current rows
6183
- table.deleteRows();
6184
6202
  return Promise
6185
6203
  .resolve(dataUrl ?
6186
6204
  fetch(dataUrl).then((json) => json.json()) :
6187
6205
  data || [])
6188
6206
  .then((data) => {
6189
6207
  if (data) {
6208
+ // If already loaded, clear the current rows
6209
+ table.deleteColumns();
6190
6210
  converter.parse({ data });
6191
6211
  table.setColumns(converter.getTable().getColumns());
6192
6212
  }
6193
- return connector
6194
- .setModifierOptions(dataModifier)
6195
- .then(() => data);
6213
+ return connector.setModifierOptions(dataModifier).then(() => data);
6196
6214
  })
6197
6215
  .then((data) => {
6198
6216
  connector.emit({
@@ -6446,8 +6464,6 @@
6446
6464
  table,
6447
6465
  url
6448
6466
  });
6449
- // If already loaded, clear the current table
6450
- table.deleteColumns();
6451
6467
  return fetch(url)
6452
6468
  .then((response) => (response.json()))
6453
6469
  .then((json) => {
@@ -6458,6 +6474,8 @@
6458
6474
  firstRowAsNames,
6459
6475
  json
6460
6476
  });
6477
+ // If already loaded, clear the current table
6478
+ table.deleteColumns();
6461
6479
  table.setColumns(converter.getTable().getColumns());
6462
6480
  return connector.setModifierOptions(dataModifier);
6463
6481
  })
@@ -6738,9 +6756,7 @@
6738
6756
  * Get table header markup from row data.
6739
6757
  */
6740
6758
  getTableHeaderHTML(topheaders = [], subheaders = [], options = this.options) {
6741
- const { useMultiLevelHeaders, useRowspanHeaders } = options, decimalPoint = (options.useLocalDecimalPoint ?
6742
- (1.1).toLocaleString()[1] :
6743
- '.');
6759
+ const { useMultiLevelHeaders, useRowspanHeaders } = options;
6744
6760
  let html = '<thead>', i = 0, len = subheaders && subheaders.length, next, cur, curColspan = 0, rowspan;
6745
6761
  // Clean up multiple table headers. Chart.getDataRows() returns two
6746
6762
  // levels of headers when using multilevel, not merged. We need to
@@ -6988,8 +7004,6 @@
6988
7004
  table,
6989
7005
  tableElement: connector.tableElement
6990
7006
  });
6991
- // If already loaded, clear the current rows
6992
- table.deleteColumns();
6993
7007
  let tableElement;
6994
7008
  if (typeof tableHTML === 'string') {
6995
7009
  connector.tableID = tableHTML;
@@ -7011,6 +7025,8 @@
7011
7025
  return Promise.reject(new Error(error));
7012
7026
  }
7013
7027
  converter.parse(merge({ tableElement: connector.tableElement }, connector.options), eventDetail);
7028
+ // If already loaded, clear the current rows
7029
+ table.deleteColumns();
7014
7030
  table.setColumns(converter.getTable().getColumns());
7015
7031
  return connector
7016
7032
  .setModifierOptions(dataModifier)
@@ -8164,13 +8180,14 @@
8164
8180
  _registerModule(_modules, 'masters/modules/data-tools.src.js', [_modules['Core/Globals.js'], _modules['Data/Connectors/DataConnector.js'], _modules['Data/Converters/DataConverter.js'], _modules['Data/DataCursor.js'], _modules['Data/Modifiers/DataModifier.js'], _modules['Data/DataPool.js'], _modules['Data/DataTable.js'], _modules['Data/Formula/Formula.js']], function (Highcharts, DataConnector, DataConverter, DataCursor, DataModifier, DataPool, DataTable, Formula) {
8165
8181
 
8166
8182
  const G = Highcharts;
8167
- G.DataConnector = DataConnector;
8168
- G.DataConverter = DataConverter;
8169
- G.DataCursor = DataCursor;
8170
- G.DataModifier = DataModifier;
8171
- G.DataPool = DataPool;
8172
- G.DataTable = DataTable;
8173
- G.Formula = Formula;
8183
+ G.DataConnector = G.DataConnector || DataConnector;
8184
+ G.DataConverter = G.DataConverter || DataConverter;
8185
+ G.DataCursor = G.DataCursor || DataCursor;
8186
+ G.DataModifier = G.DataModifier || DataModifier;
8187
+ G.DataPool = G.DataPool || DataPool;
8188
+ G.DataTable = G.DataTable || DataTable;
8189
+ G.Formula = G.Formula || Formula;
8174
8190
 
8191
+ return Highcharts;
8175
8192
  });
8176
8193
  }));
package/modules/data.d.ts CHANGED
@@ -14,7 +14,7 @@ import * as _Highcharts from "../highcharts";
14
14
  export function factory(highcharts: typeof Highcharts): void;
15
15
  declare module "../highcharts" {
16
16
  /**
17
- * Callback function that returns the correspondig Date object to a match.
17
+ * Callback function that returns the corresponding Date object to a match.
18
18
  */
19
19
  type DataDateFormatCallbackFunction = (match: Array<number>) => number;
20
20
  interface AjaxSettingsObject {
@@ -165,7 +165,7 @@ declare module "../highcharts" {
165
165
  * @param settings
166
166
  * The Ajax settings to use.
167
167
  *
168
- * @return Returns false, if error occured.
168
+ * @return Returns false, if error occurred.
169
169
  */
170
170
  function ajax(settings: AjaxSettingsObject): (false|undefined);
171
171
  /**
package/modules/data.js CHANGED
@@ -1,9 +1,9 @@
1
- /**
2
- * Highcharts JS v11.3.0 (2024-01-10)
1
+ !/**
2
+ * Highcharts JS v11.4.0 (2024-03-04)
3
3
  *
4
4
  * Data module
5
5
  *
6
6
  * (c) 2012-2024 Torstein Honsi
7
7
  *
8
8
  * License: www.highcharts.com/license
9
- */!function(e){"object"==typeof module&&module.exports?(e.default=e,module.exports=e):"function"==typeof define&&define.amd?define("highcharts/modules/data",["highcharts"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(e){"use strict";var t=e?e._modules:{};function s(e,t,s,r){e.hasOwnProperty(t)||(e[t]=r.apply(null,s),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:e[t]}})))}s(t,"Core/HttpUtilities.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(e,t){let{doc:s,win:r}=e,{createElement:a,discardElement:i,merge:n,objectEach:o}=t,l={ajax:function(e){let t={json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"},s=new XMLHttpRequest;function r(t,s){e.error&&e.error(t,s)}if(!e.url)return!1;s.open((e.type||"get").toUpperCase(),e.url,!0),e.headers&&e.headers["Content-Type"]||s.setRequestHeader("Content-Type",t[e.dataType||"json"]||t.text),o(e.headers,function(e,t){s.setRequestHeader(t,e)}),e.responseType&&(s.responseType=e.responseType),s.onreadystatechange=function(){let t;if(4===s.readyState){if(200===s.status){if("blob"!==e.responseType&&(t=s.responseText,"json"===e.dataType))try{t=JSON.parse(t)}catch(e){if(e instanceof Error)return r(s,e)}return e.success&&e.success(t,s)}r(s,s.responseText)}},e.data&&"string"!=typeof e.data&&(e.data=JSON.stringify(e.data)),s.send(e.data)},getJSON:function(e,t){l.ajax({url:e,success:t,dataType:"json",headers:{"Content-Type":"text/plain"}})},post:function(e,t,s){let a=new r.FormData;o(t,function(e,t){a.append(t,e)}),a.append("b64","true");let{filename:n,type:l}=t;return r.fetch(e,{method:"POST",body:a,...s}).then(e=>{e.ok&&e.text().then(e=>{let t=document.createElement("a");t.href=`data:${l};base64,${e}`,t.download=n,t.click(),i(t)})})}};return l}),s(t,"Extensions/Data.js",[t["Core/Chart/Chart.js"],t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/HttpUtilities.js"],t["Core/Series/Point.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,t,s,r,a,i,n){let{getOptions:o}=t,{doc:l}=s,{ajax:u}=r,{seriesTypes:h}=i,{addEvent:d,defined:m,extend:c,fireEvent:p,isNumber:f,merge:g,objectEach:C,pick:x,splat:y}=n;function T(e){return!!(e&&(e.rowsURL||e.csvURL||e.columnsURL))}class v{static data(e,t={},s){return new v(e,t,s)}static rowsToColumns(e){let t,s,r,a,i;if(e)for(t=0,i=[],s=e.length;t<s;t++)for(r=0,a=e[t].length;r<a;r++)i[r]||(i[r]=[]),i[r][t]=e[t][r];return i}constructor(e,t={},s){this.rowsToColumns=v.rowsToColumns,this.dateFormats={"YYYY/mm/dd":{regex:/^([0-9]{4})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{1,2})$/,parser:function(e){return e?Date.UTC(+e[1],e[2]-1,+e[3]):NaN}},"dd/mm/YYYY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{4})$/,parser:function(e){return e?Date.UTC(+e[3],e[2]-1,+e[1]):NaN},alternative:"mm/dd/YYYY"},"mm/dd/YYYY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{4})$/,parser:function(e){return e?Date.UTC(+e[3],e[1]-1,+e[2]):NaN}},"dd/mm/YY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{2})$/,parser:function(e){if(!e)return NaN;let t=new Date,s=+e[3];return s>t.getFullYear()-2e3?s+=1900:s+=2e3,Date.UTC(s,e[2]-1,+e[1])},alternative:"mm/dd/YY"},"mm/dd/YY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{2})$/,parser:function(e){return e?Date.UTC(+e[3]+2e3,e[1]-1,+e[2]):NaN}}},this.chart=s,this.chartOptions=t,this.options=e,this.rawColumns=[],this.init(e,t,s)}init(e,t,s){let r=e.decimalPoint,a;t&&(this.chartOptions=t),s&&(this.chart=s),"."!==r&&","!==r&&(r=void 0),this.options=e,this.columns=e.columns||this.rowsToColumns(e.rows)||[],this.firstRowAsNames=x(e.firstRowAsNames,this.firstRowAsNames,!0),this.decimalRegex=r&&RegExp("^(-?[0-9]+)"+r+"([0-9]+)$"),void 0!==this.liveDataTimeout&&clearTimeout(this.liveDataTimeout),this.rawColumns=[],this.columns.length&&(this.dataFound(),a=!T(e)),a||(a=this.fetchLiveData()),a||(a=!!this.parseCSV().length),a||(a=!!this.parseTable().length),a||(a=this.parseGoogleSpreadsheet()),!a&&e.afterComplete&&e.afterComplete()}getColumnDistribution(){let e=this.chartOptions,t=this.options,s=[],r=function(e){return(h[e||"line"].prototype.pointArrayMap||[0]).length},a=function(e){return h[e||"line"].prototype.pointArrayMap},i=e&&e.chart&&e.chart.type,n=[],o=[],l=t&&t.seriesMapping||e&&e.series&&e.series.map(function(){return{x:0}})||[],u=0,d;(e&&e.series||[]).forEach(e=>{n.push(r(e.type||i))}),l.forEach(e=>{s.push(e.x||0)}),0===s.length&&s.push(0),l.forEach(t=>{let s=new R,l=n[u]||r(i),h=e&&e.series||[],c=h[u]||{},p=a(c.type||i),f=p||["y"];for((m(t.x)||c.isCartesian||!p)&&s.addColumnReader(t.x,"x"),C(t,function(e,t){"x"!==t&&s.addColumnReader(e,t)}),d=0;d<l;d++)s.hasReader(f[d])||s.addColumnReader(void 0,f[d]);o.push(s),u++});let c=a(i);void 0===c&&(c=["y"]),this.valueCount={global:r(i),xColumns:s,individual:n,seriesBuilders:o,globalPointArrayMap:c}}dataFound(){this.options.switchRowsAndColumns&&(this.columns=this.rowsToColumns(this.columns)),this.getColumnDistribution(),this.parseTypes(),!1!==this.parsed()&&this.complete()}parseCSV(e){let t=this,s=this.columns=[],r=e||this.options,a=void 0!==r.startColumn&&r.startColumn?r.startColumn:0,i=r.endColumn||Number.MAX_VALUE,n=[],o={",":0,";":0," ":0},l=r.csv,u=void 0!==r.startRow&&r.startRow?r.startRow:0,h=r.endRow||Number.MAX_VALUE,d,m,c=0;if(l&&r.beforeParse&&(l=r.beforeParse.call(this,l)),l){if(m=l.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split(r.lineDelimiter||"\n"),(!u||u<0)&&(u=0),(!h||h>=m.length)&&(h=m.length-1),r.itemDelimiter)d=r.itemDelimiter;else{let e,s,a;d=null,e=0,s=0,a=!1,m.some(function(t,r){let a=!1,i,n,l,u="";if(r>13)return!0;for(let r=0;r<t.length;r++){if(i=t[r],n=t[r+1],l=t[r-1],"#"===i)return;if('"'===i){if(a){if('"'!==l&&'"'!==n){for(;" "===n&&r<t.length;)n=t[++r];void 0!==o[n]&&o[n]++,a=!1}}else a=!0}else void 0!==o[i]?(isNaN(Date.parse(u=u.trim()))?(isNaN(u)||!isFinite(u))&&o[i]++:o[i]++,u=""):u+=i;","===i&&s++,"."===i&&e++}}),o[";"]>o[","]?a=";":(o[","],o[";"],a=","),r.decimalPoint||(e>s?r.decimalPoint=".":r.decimalPoint=",",t.decimalRegex=RegExp("^(-?[0-9]+)"+r.decimalPoint+"([0-9]+)$")),d=a}let e=0;for(c=u;c<=h;c++)"#"===m[c][0]?e++:function(e,t,o,l){let u=0,h="",m="",c="",p="",f=0,g=0;function C(t){h=e[t],m=e[t-1],c=e[t+1]}function x(e){n.length<g+1&&n.push([e]),n[g][n[g].length-1]!==e&&n[g].push(e)}function y(){if(a>f||f>i){++f,p="";return}r.columnTypes||(!isNaN(parseFloat(p))&&isFinite(p)?(p=parseFloat(p),x("number")):isNaN(Date.parse(p))?x("string"):(p=p.replace(/\//g,"-"),x("date"))),s.length<g+1&&s.push([]),s[g][t]=p,p="",++g,++f}if(e.trim().length&&"#"!==e.trim()[0]){for(;u<e.length;u++)if(C(u),'"'===h)for(C(++u);u<e.length&&('"'!==h||'"'===m||'"'===c);)('"'!==h||'"'===h&&'"'!==m)&&(p+=h),C(++u);else l&&l[h]?l[h](h,p)&&y():h===d?y():p+=h;y()}}(m[c],c-u-e);(!r.columnTypes||0===r.columnTypes.length)&&n.length&&n[0].length&&"date"===n[0][1]&&!r.dateFormat&&(r.dateFormat=function(e,s){let a="YYYY/mm/dd",i=[],n=[],o,l=[],u,h=0,d=!1,m;for((!s||s>e.length)&&(s=e.length);h<s;h++)if(void 0!==e[h]&&e[h]&&e[h].length)for(m=0,o=e[h].trim().replace(/\//g," ").replace(/\-/g," ").replace(/\./g," ").split(" "),l=["","",""];m<o.length;m++)m<l.length&&(o[m]=parseInt(o[m],10),o[m]&&(n[m]=!n[m]||n[m]<o[m]?o[m]:n[m],void 0!==i[m]?i[m]!==o[m]&&(i[m]=!1):i[m]=o[m],o[m]>31?o[m]<100?l[m]="YY":l[m]="YYYY":o[m]>12&&o[m]<=31?(l[m]="dd",d=!0):l[m].length||(l[m]="mm")));if(d){for(m=0;m<i.length;m++)!1!==i[m]?n[m]>12&&"YY"!==l[m]&&"YYYY"!==l[m]&&(l[m]="YY"):n[m]>12&&"mm"===l[m]&&(l[m]="dd");return(3===l.length&&"dd"===l[1]&&"dd"===l[2]&&(l[2]="YY"),u=l.join("/"),(r.dateFormats||t.dateFormats)[u])?u:(p("deduceDateFailed"),a)}return a}(s[0])),this.dataFound()}return s}parseTable(){let e=this.options,t=this.columns||[],s=e.startRow||0,r=e.endRow||Number.MAX_VALUE,a=e.startColumn||0,i=e.endColumn||Number.MAX_VALUE;if(e.table){let n=e.table;"string"==typeof n&&(n=l.getElementById(n)),[].forEach.call(n.getElementsByTagName("tr"),(e,n)=>{n>=s&&n<=r&&[].forEach.call(e.children,(e,r)=>{let o=t[r-a],l=1;if(("TD"===e.tagName||"TH"===e.tagName)&&r>=a&&r<=i)for(t[r-a]||(t[r-a]=[]),t[r-a][n-s]=e.innerHTML;n-s>=l&&void 0===o[n-s-l];)o[n-s-l]=null,l++})}),this.dataFound()}return t}fetchLiveData(){let e=this,t=this.chart,s=this.options,r=s.enablePolling,a=g(s),i=0,n=1e3*(s.dataRefreshRate||2);return!!T(s)&&(n<1e3&&(n=1e3),delete s.csvURL,delete s.rowsURL,delete s.columnsURL,function o(l){function h(a,h,d){if(!a||!/^(http|\/|\.\/|\.\.\/)/.test(a))return a&&s.error&&s.error("Invalid URL"),!1;function m(){r&&t.liveDataURL===a&&(e.liveDataTimeout=setTimeout(o,n))}return l&&(clearTimeout(e.liveDataTimeout),t.liveDataURL=a),u({url:a,dataType:d||"json",success:function(e){t&&t.series&&h(e),m()},error:function(e,t){return++i<3&&m(),s.error&&s.error(t,e)}}),!0}h(a.csvURL,function(e){t.update({data:{csv:e}})},"text")||h(a.rowsURL,function(e){t.update({data:{rows:e}})})||h(a.columnsURL,function(e){t.update({data:{columns:e}})})}(!0),T(s))}parseGoogleSpreadsheet(){let e=this,t=this.options,s=t.googleSpreadsheetKey,r=this.chart,a=Math.max(1e3*(t.dataRefreshRate||2),4e3),i=()=>{if(t.googleSpreadsheetRange)return t.googleSpreadsheetRange;let e="ABCDEFGHIJKLMNOPQRSTUVWXYZ",s=(e.charAt(t.startColumn||0)||"A")+((t.startRow||0)+1),r=e.charAt(x(t.endColumn,-1))||"ZZ";return m(t.endRow)&&(r+=t.endRow+1),`${s}:${r}`};return s&&(delete t.googleSpreadsheetKey,function r(n){let o=["https://sheets.googleapis.com/v4/spreadsheets",s,"values",i(),"?alt=json&majorDimension=COLUMNS&valueRenderOption=UNFORMATTED_VALUE&dateTimeRenderOption=FORMATTED_STRING&key="+t.googleAPIKey].join("/");u({url:o,dataType:"json",success:function(s){n(s),t.enablePolling&&(e.liveDataTimeout=setTimeout(function(){r(n)},a))},error:function(e,s){return t.error&&t.error(s,e)}})}(function(t){let s=t.values;if(!s||0===s.length)return!1;let a=s.reduce((e,t)=>Math.max(e,t.length),0);s.forEach(e=>{for(let t=0;t<a;t++)void 0===e[t]&&(e[t]=null)}),r&&r.series?r.update({data:{columns:s}}):(e.columns=s,e.dataFound())})),!1}trim(e,t){return"string"==typeof e&&(e=e.replace(/^\s+|\s+$/g,""),t&&/^-?[0-9\s]+$/.test(e)&&(e=e.replace(/\s/g,"")),this.decimalRegex&&(e=e.replace(this.decimalRegex,"$1.$2"))),e}parseTypes(){let e=this.columns||[],t=e.length;for(;t--;)this.parseColumn(e[t],t)}parseColumn(e,t){let s=this.rawColumns,r=this.columns,a=this.firstRowAsNames,i=-1!==this.valueCount.xColumns.indexOf(t),n=[],o=this.chartOptions,l=this.options.columnTypes||[],u=l[t],h=i&&o&&o.xAxis&&"category"===y(o.xAxis)[0].type||"string"===u,d=m(e.name),c=e.length,p,g,C,x,T,v,R;for(s[t]||(s[t]=[]);c--;)p=n[c]||e[c],C=this.trim(p),g=parseFloat(x=this.trim(p,!0)),void 0===s[t][c]&&(s[t][c]=C),h||0===c&&a&&!d?e[c]=""+C:+x===g?(e[c]=g,g>31536e6&&"float"!==u?e.isDatetime=!0:e.isNumeric=!0,void 0!==e[c+1]&&(R=g>e[c+1])):(C&&C.length&&(T=this.parseDate(p)),i&&f(T)&&"float"!==u?(n[c]=p,e[c]=T,e.isDatetime=!0,void 0!==e[c+1]&&((v=T>e[c+1])!==R&&void 0!==R&&(this.alternativeFormat?(this.dateFormat=this.alternativeFormat,c=e.length,this.alternativeFormat=this.dateFormats[this.dateFormat].alternative):e.unsorted=!0),R=v)):(e[c]=""===C?null:C,0!==c&&(e.isDatetime||e.isNumeric)&&(e.mixed=!0)));if(i&&e.mixed&&(r[t]=s[t]),i&&R&&this.options.sort)for(t=0;t<r.length;t++)r[t].reverse(),a&&r[t].unshift(r[t].pop())}parseDate(e){let t=this.options.parseDate,s,r,a,i=this.options.dateFormat||this.dateFormat,n;if(t)s=t(e);else if("string"==typeof e){if(i)(a=this.dateFormats[i])||(a=this.dateFormats["YYYY/mm/dd"]),(n=e.match(a.regex))&&(s=a.parser(n));else for(r in this.dateFormats)if(a=this.dateFormats[r],n=e.match(a.regex)){this.dateFormat=i=r,this.alternativeFormat=a.alternative,s=a.parser(n);break}!n&&(e.match(/:.+(GMT|UTC|[Z+-])/)&&(e=e.replace(/\s*(?:GMT|UTC)?([+-])(\d\d)(\d\d)$/,"$1$2:$3").replace(/(?:\s+|GMT|UTC)([+-])/,"$1").replace(/(\d)\s*(?:GMT|UTC|Z)$/,"$1+00:00")),"object"==typeof(n=Date.parse(e))&&null!==n&&n.getTime?s=n.getTime()-6e4*n.getTimezoneOffset():f(n)&&(s=n-6e4*new Date(n).getTimezoneOffset()))}return s}getData(){if(this.columns)return this.rowsToColumns(this.columns).slice(1)}parsed(){if(this.options.parsed)return this.options.parsed.call(this,this.columns)}complete(){let e,t,s,r,a,i,n,o,l,u,h,d;let c=this.columns,p=this.options,f=[];if([].length=c.length,p.complete||p.afterComplete){if(this.firstRowAsNames)for(r=0;r<c.length;r++){let e=c[r];m(e.name)||(e.name=x(e.shift(),"").toString())}for(n=0,t=[],u=function(e,t){let s,r,a;let i=[],n=[];for(r=0;r<e;r+=1)i.push(!0);for(s=0;s<t.length;s+=1)for(r=0,a=t[s].getReferencedColumnIndexes();r<a.length;r+=1)i[a[r]]=!1;for(r=0;r<i.length;r+=1)i[r]&&n.push(r);return n}(c.length,this.valueCount.seriesBuilders);n<this.valueCount.seriesBuilders.length;n++)(l=this.valueCount.seriesBuilders[n]).populateColumns(u)&&f.push(l);for(;u.length>0;){for((l=new R).addColumnReader(0,"x"),-1!==(d=u.indexOf(0))&&u.splice(d,1),r=0;r<this.valueCount.global;r++)l.addColumnReader(void 0,this.valueCount.globalPointArrayMap[r]);l.populateColumns(u)&&f.push(l)}if(f.length>0&&f[0].readers.length>0&&void 0!==(h=c[f[0].readers[0].columnIndex])&&(h.isDatetime?e="datetime":h.isNumeric||(e="category")),"category"===e)for(n=0;n<f.length;n++)for(i=0,l=f[n];i<l.readers.length;i++)"x"===l.readers[i].configName&&(l.readers[i].configName="name");for(n=0;n<f.length;n++){for(a=0,l=f[n],s=[];a<c[0].length;a++)s[a]=l.read(c,a);t[n]={data:s},l.name&&(t[n].name=l.name),"category"===e&&(t[n].turboThreshold=0)}o={series:t},e&&(o.xAxis={type:e},"category"===e&&(o.xAxis.uniqueNames=!1)),p.complete&&p.complete(o),p.afterComplete&&p.afterComplete(o)}}update(e,t){let s=this.chart,r=s.options;e&&(e.afterComplete=function(e){e&&(e.xAxis&&s.xAxis[0]&&e.xAxis.type===s.xAxis[0].options.type&&delete e.xAxis,s.update(e,t,!0))},g(!0,r.data,e),r.data&&r.data.googleSpreadsheetKey&&!e.columns&&delete r.data.columns,this.init(r.data))}}d(e,"init",function(e){let t=this,s=e.args[1],r=o().data,a=e.args[0]||{};if((r||a&&a.data)&&!t.hasDataDef){t.hasDataDef=!0;let i=g(r,a.data);t.data=new v(c(i,{afterComplete:function(e){let r,i;if(Object.hasOwnProperty.call(a,"series")){if("object"==typeof a.series)for(r=Math.max(a.series.length,e&&e.series?e.series.length:0);r--;)i=a.series[r]||{},a.series[r]=g(i,e&&e.series?e.series[r]:{});else delete a.series}a=g(e,a),t.init(a,s)}}),a,t),e.preventDefault()}});class R{constructor(){this.readers=[],this.pointIsArray=!0}populateColumns(e){let t=!0;return this.readers.forEach(t=>{void 0===t.columnIndex&&(t.columnIndex=e.shift())}),this.readers.forEach(e=>{void 0===e.columnIndex&&(t=!1)}),t}read(e,t){let s=this.pointIsArray,r=s?[]:{};if(this.readers.forEach(i=>{let n=e[i.columnIndex][t];s?r.push(n):i.configName.indexOf(".")>0?a.prototype.setNestedProperty(r,n,i.configName):r[i.configName]=n}),void 0===this.name&&this.readers.length>=2){let t=[];this.readers.forEach(function(e){("x"===e.configName||"name"===e.configName||"y"===e.configName)&&void 0!==e.columnIndex&&t.push(e.columnIndex)}),t.length>=2&&(t.shift(),t.sort(function(e,t){return e-t})),this.name=e[x(t.shift(),0)].name}return r}addColumnReader(e,t){this.readers.push({columnIndex:e,configName:t}),"x"===t||"y"===t||void 0===t||(this.pointIsArray=!1)}getReferencedColumnIndexes(){let e,t;let s=[];for(e=0;e<this.readers.length;e+=1)void 0!==(t=this.readers[e]).columnIndex&&s.push(t.columnIndex);return s}hasReader(e){let t;for(t=0;t<this.readers.length;t+=1)if(this.readers[t].configName===e)return!0}}return v}),s(t,"masters/modules/data.src.js",[t["Core/Globals.js"],t["Core/HttpUtilities.js"],t["Extensions/Data.js"]],function(e,t,s){e.ajax=t.ajax,e.data=s.data,e.getJSON=t.getJSON,e.post=t.post,e.Data=s,e.HttpUtilities=t})});
9
+ */function(e){"object"==typeof module&&module.exports?(e.default=e,module.exports=e):"function"==typeof define&&define.amd?define("highcharts/modules/data",["highcharts"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(e){"use strict";var t=e?e._modules:{};function s(e,t,s,r){e.hasOwnProperty(t)||(e[t]=r.apply(null,s),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:e[t]}})))}s(t,"Core/HttpUtilities.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(e,t){let{win:s}=e,{discardElement:r,objectEach:i}=t,a={ajax:function(e){let t={json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"},s=new XMLHttpRequest;function r(t,s){e.error&&e.error(t,s)}if(!e.url)return!1;s.open((e.type||"get").toUpperCase(),e.url,!0),e.headers&&e.headers["Content-Type"]||s.setRequestHeader("Content-Type",t[e.dataType||"json"]||t.text),i(e.headers,function(e,t){s.setRequestHeader(t,e)}),e.responseType&&(s.responseType=e.responseType),s.onreadystatechange=function(){let t;if(4===s.readyState){if(200===s.status){if("blob"!==e.responseType&&(t=s.responseText,"json"===e.dataType))try{t=JSON.parse(t)}catch(e){if(e instanceof Error)return r(s,e)}return e.success&&e.success(t,s)}r(s,s.responseText)}},e.data&&"string"!=typeof e.data&&(e.data=JSON.stringify(e.data)),s.send(e.data)},getJSON:function(e,t){a.ajax({url:e,success:t,dataType:"json",headers:{"Content-Type":"text/plain"}})},post:function(e,t,a){let n=new s.FormData;i(t,function(e,t){n.append(t,e)}),n.append("b64","true");let{filename:o,type:l}=t;return s.fetch(e,{method:"POST",body:n,...a}).then(e=>{e.ok&&e.text().then(e=>{let t=document.createElement("a");t.href=`data:${l};base64,${e}`,t.download=o,t.click(),r(t)})})}};return a}),s(t,"Extensions/Data.js",[t["Core/Chart/Chart.js"],t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/HttpUtilities.js"],t["Core/Series/Point.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,t,s,r,i,a,n){let{getOptions:o}=t,{doc:l}=s,{ajax:u}=r,{seriesTypes:h}=a,{addEvent:d,defined:m,extend:c,fireEvent:p,isNumber:f,merge:g,objectEach:C,pick:x,splat:y}=n;function T(e){return!!(e&&(e.rowsURL||e.csvURL||e.columnsURL))}class v{static data(e,t={},s){return new v(e,t,s)}static rowsToColumns(e){let t,s,r,i,a;if(e)for(t=0,a=[],s=e.length;t<s;t++)for(r=0,i=e[t].length;r<i;r++)a[r]||(a[r]=[]),a[r][t]=e[t][r];return a}constructor(e,t={},s){this.rowsToColumns=v.rowsToColumns,this.dateFormats={"YYYY/mm/dd":{regex:/^([0-9]{4})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{1,2})$/,parser:function(e){return e?Date.UTC(+e[1],e[2]-1,+e[3]):NaN}},"dd/mm/YYYY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{4})$/,parser:function(e){return e?Date.UTC(+e[3],e[2]-1,+e[1]):NaN},alternative:"mm/dd/YYYY"},"mm/dd/YYYY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{4})$/,parser:function(e){return e?Date.UTC(+e[3],e[1]-1,+e[2]):NaN}},"dd/mm/YY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{2})$/,parser:function(e){if(!e)return NaN;let t=new Date,s=+e[3];return s>t.getFullYear()-2e3?s+=1900:s+=2e3,Date.UTC(s,e[2]-1,+e[1])},alternative:"mm/dd/YY"},"mm/dd/YY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{2})$/,parser:function(e){return e?Date.UTC(+e[3]+2e3,e[1]-1,+e[2]):NaN}}},this.chart=s,this.chartOptions=t,this.options=e,this.rawColumns=[],this.init(e,t,s)}init(e,t,s){let r=e.decimalPoint,i;t&&(this.chartOptions=t),s&&(this.chart=s),"."!==r&&","!==r&&(r=void 0),this.options=e,this.columns=e.columns||this.rowsToColumns(e.rows)||[],this.firstRowAsNames=x(e.firstRowAsNames,this.firstRowAsNames,!0),this.decimalRegex=r&&RegExp("^(-?[0-9]+)"+r+"([0-9]+)$"),void 0!==this.liveDataTimeout&&clearTimeout(this.liveDataTimeout),this.rawColumns=[],this.columns.length&&(this.dataFound(),i=!T(e)),i||(i=this.fetchLiveData()),i||(i=!!this.parseCSV().length),i||(i=!!this.parseTable().length),i||(i=this.parseGoogleSpreadsheet()),!i&&e.afterComplete&&e.afterComplete()}getColumnDistribution(){let e=this.chartOptions,t=this.options,s=[],r=function(e){return(h[e||"line"].prototype.pointArrayMap||[0]).length},i=function(e){return h[e||"line"].prototype.pointArrayMap},a=e&&e.chart&&e.chart.type,n=[],o=[],l=t&&t.seriesMapping||e&&e.series&&e.series.map(function(){return{x:0}})||[],u=0,d;(e&&e.series||[]).forEach(e=>{n.push(r(e.type||a))}),l.forEach(e=>{s.push(e.x||0)}),0===s.length&&s.push(0),l.forEach(t=>{let s=new R,l=n[u]||r(a),h=(e&&e.series||[])[u]||{},c=i(h.type||a),p=c||["y"];for((m(t.x)||h.isCartesian||!c)&&s.addColumnReader(t.x,"x"),C(t,function(e,t){"x"!==t&&s.addColumnReader(e,t)}),d=0;d<l;d++)s.hasReader(p[d])||s.addColumnReader(void 0,p[d]);o.push(s),u++});let c=i(a);void 0===c&&(c=["y"]),this.valueCount={global:r(a),xColumns:s,individual:n,seriesBuilders:o,globalPointArrayMap:c}}dataFound(){this.options.switchRowsAndColumns&&(this.columns=this.rowsToColumns(this.columns)),this.getColumnDistribution(),this.parseTypes(),!1!==this.parsed()&&this.complete()}parseCSV(e){let t=this,s=this.columns=[],r=e||this.options,i=void 0!==r.startColumn&&r.startColumn?r.startColumn:0,a=r.endColumn||Number.MAX_VALUE,n=[],o={",":0,";":0," ":0},l=r.csv,u=void 0!==r.startRow&&r.startRow?r.startRow:0,h=r.endRow||Number.MAX_VALUE,d,m,c=0;if(l&&r.beforeParse&&(l=r.beforeParse.call(this,l)),l){if(m=l.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split(r.lineDelimiter||"\n"),(!u||u<0)&&(u=0),(!h||h>=m.length)&&(h=m.length-1),r.itemDelimiter)d=r.itemDelimiter;else{let e,s,i;d=null,e=0,s=0,i=!1,m.some(function(t,r){let i=!1,a,n,l,u="";if(r>13)return!0;for(let r=0;r<t.length;r++){if(a=t[r],n=t[r+1],l=t[r-1],"#"===a)return;if('"'===a){if(i){if('"'!==l&&'"'!==n){for(;" "===n&&r<t.length;)n=t[++r];void 0!==o[n]&&o[n]++,i=!1}}else i=!0}else void 0!==o[a]?(isNaN(Date.parse(u=u.trim()))?(isNaN(u)||!isFinite(u))&&o[a]++:o[a]++,u=""):u+=a;","===a&&s++,"."===a&&e++}}),o[";"]>o[","]?i=";":(o[","],o[";"],i=","),r.decimalPoint||(e>s?r.decimalPoint=".":r.decimalPoint=",",t.decimalRegex=RegExp("^(-?[0-9]+)"+r.decimalPoint+"([0-9]+)$")),d=i}let e=0;for(c=u;c<=h;c++)"#"===m[c][0]?e++:function(e,t,o,l){let u=0,h="",m="",c="",p="",f=0,g=0;function C(t){h=e[t],m=e[t-1],c=e[t+1]}function x(e){n.length<g+1&&n.push([e]),n[g][n[g].length-1]!==e&&n[g].push(e)}function y(){if(i>f||f>a){++f,p="";return}r.columnTypes||(!isNaN(parseFloat(p))&&isFinite(p)?(p=parseFloat(p),x("number")):isNaN(Date.parse(p))?x("string"):(p=p.replace(/\//g,"-"),x("date"))),s.length<g+1&&s.push([]),s[g][t]=p,p="",++g,++f}if(e.trim().length&&"#"!==e.trim()[0]){for(;u<e.length;u++)if(C(u),'"'===h)for(C(++u);u<e.length&&('"'!==h||'"'===m||'"'===c);)('"'!==h||'"'===h&&'"'!==m)&&(p+=h),C(++u);else h===d?y():p+=h;y()}}(m[c],c-u-e);(!r.columnTypes||0===r.columnTypes.length)&&n.length&&n[0].length&&"date"===n[0][1]&&!r.dateFormat&&(r.dateFormat=function(e,s){let i="YYYY/mm/dd",a=[],n=[],o,l=[],u,h=0,d=!1,m;for((!s||s>e.length)&&(s=e.length);h<s;h++)if(void 0!==e[h]&&e[h]&&e[h].length)for(m=0,o=e[h].trim().replace(/\//g," ").replace(/\-/g," ").replace(/\./g," ").split(" "),l=["","",""];m<o.length;m++)m<l.length&&(o[m]=parseInt(o[m],10),o[m]&&(n[m]=!n[m]||n[m]<o[m]?o[m]:n[m],void 0!==a[m]?a[m]!==o[m]&&(a[m]=!1):a[m]=o[m],o[m]>31?o[m]<100?l[m]="YY":l[m]="YYYY":o[m]>12&&o[m]<=31?(l[m]="dd",d=!0):l[m].length||(l[m]="mm")));if(d){for(m=0;m<a.length;m++)!1!==a[m]?n[m]>12&&"YY"!==l[m]&&"YYYY"!==l[m]&&(l[m]="YY"):n[m]>12&&"mm"===l[m]&&(l[m]="dd");return(3===l.length&&"dd"===l[1]&&"dd"===l[2]&&(l[2]="YY"),u=l.join("/"),(r.dateFormats||t.dateFormats)[u])?u:(p("deduceDateFailed"),i)}return i}(s[0])),this.dataFound()}return s}parseTable(){let e=this.options,t=this.columns||[],s=e.startRow||0,r=e.endRow||Number.MAX_VALUE,i=e.startColumn||0,a=e.endColumn||Number.MAX_VALUE;if(e.table){let n=e.table;"string"==typeof n&&(n=l.getElementById(n)),[].forEach.call(n.getElementsByTagName("tr"),(e,n)=>{n>=s&&n<=r&&[].forEach.call(e.children,(e,r)=>{let o=t[r-i],l=1;if(("TD"===e.tagName||"TH"===e.tagName)&&r>=i&&r<=a)for(t[r-i]||(t[r-i]=[]),t[r-i][n-s]=e.innerHTML;n-s>=l&&void 0===o[n-s-l];)o[n-s-l]=null,l++})}),this.dataFound()}return t}fetchLiveData(){let e=this,t=this.chart,s=this.options,r=s.enablePolling,i=g(s),a=0,n=1e3*(s.dataRefreshRate||2);return!!T(s)&&(n<1e3&&(n=1e3),delete s.csvURL,delete s.rowsURL,delete s.columnsURL,function o(l){function h(i,h,d){if(!i||!/^(http|\/|\.\/|\.\.\/)/.test(i))return i&&s.error&&s.error("Invalid URL"),!1;function m(){r&&t.liveDataURL===i&&(e.liveDataTimeout=setTimeout(o,n))}return l&&(clearTimeout(e.liveDataTimeout),t.liveDataURL=i),u({url:i,dataType:d||"json",success:function(e){t&&t.series&&h(e),m()},error:function(e,t){return++a<3&&m(),s.error&&s.error(t,e)}}),!0}h(i.csvURL,function(e){t.update({data:{csv:e}})},"text")||h(i.rowsURL,function(e){t.update({data:{rows:e}})})||h(i.columnsURL,function(e){t.update({data:{columns:e}})})}(!0),T(s))}parseGoogleSpreadsheet(){let e=this,t=this.options,s=t.googleSpreadsheetKey,r=this.chart,i=Math.max(1e3*(t.dataRefreshRate||2),4e3),a=()=>{if(t.googleSpreadsheetRange)return t.googleSpreadsheetRange;let e="ABCDEFGHIJKLMNOPQRSTUVWXYZ",s=(e.charAt(t.startColumn||0)||"A")+((t.startRow||0)+1),r=e.charAt(x(t.endColumn,-1))||"ZZ";return m(t.endRow)&&(r+=t.endRow+1),`${s}:${r}`};return s&&(delete t.googleSpreadsheetKey,function r(n){u({url:["https://sheets.googleapis.com/v4/spreadsheets",s,"values",a(),"?alt=json&majorDimension=COLUMNS&valueRenderOption=UNFORMATTED_VALUE&dateTimeRenderOption=FORMATTED_STRING&key="+t.googleAPIKey].join("/"),dataType:"json",success:function(s){n(s),t.enablePolling&&(e.liveDataTimeout=setTimeout(function(){r(n)},i))},error:function(e,s){return t.error&&t.error(s,e)}})}(function(t){let s=t.values;if(!s||0===s.length)return!1;let i=s.reduce((e,t)=>Math.max(e,t.length),0);s.forEach(e=>{for(let t=0;t<i;t++)void 0===e[t]&&(e[t]=null)}),r&&r.series?r.update({data:{columns:s}}):(e.columns=s,e.dataFound())})),!1}trim(e,t){return"string"==typeof e&&(e=e.replace(/^\s+|\s+$/g,""),t&&/^-?[0-9\s]+$/.test(e)&&(e=e.replace(/\s/g,"")),this.decimalRegex&&(e=e.replace(this.decimalRegex,"$1.$2"))),e}parseTypes(){let e=this.columns||[],t=e.length;for(;t--;)this.parseColumn(e[t],t)}parseColumn(e,t){let s=this.rawColumns,r=this.columns,i=this.firstRowAsNames,a=-1!==this.valueCount.xColumns.indexOf(t),n=[],o=this.chartOptions,l=(this.options.columnTypes||[])[t],u=a&&o&&o.xAxis&&"category"===y(o.xAxis)[0].type||"string"===l,h=m(e.name),d=e.length,c,p,g,C,x,T,v;for(s[t]||(s[t]=[]);d--;)c=n[d]||e[d],g=this.trim(c),p=parseFloat(C=this.trim(c,!0)),void 0===s[t][d]&&(s[t][d]=g),u||0===d&&i&&!h?e[d]=""+g:+C===p?(e[d]=p,p>31536e6&&"float"!==l?e.isDatetime=!0:e.isNumeric=!0,void 0!==e[d+1]&&(v=p>e[d+1])):(g&&g.length&&(x=this.parseDate(c)),a&&f(x)&&"float"!==l?(n[d]=c,e[d]=x,e.isDatetime=!0,void 0!==e[d+1]&&((T=x>e[d+1])!==v&&void 0!==v&&(this.alternativeFormat?(this.dateFormat=this.alternativeFormat,d=e.length,this.alternativeFormat=this.dateFormats[this.dateFormat].alternative):e.unsorted=!0),v=T)):(e[d]=""===g?null:g,0!==d&&(e.isDatetime||e.isNumeric)&&(e.mixed=!0)));if(a&&e.mixed&&(r[t]=s[t]),a&&v&&this.options.sort)for(t=0;t<r.length;t++)r[t].reverse(),i&&r[t].unshift(r[t].pop())}parseDate(e){let t=this.options.parseDate,s,r,i,a=this.options.dateFormat||this.dateFormat,n;if(t)s=t(e);else if("string"==typeof e){if(a)(i=this.dateFormats[a])||(i=this.dateFormats["YYYY/mm/dd"]),(n=e.match(i.regex))&&(s=i.parser(n));else for(r in this.dateFormats)if(i=this.dateFormats[r],n=e.match(i.regex)){this.dateFormat=a=r,this.alternativeFormat=i.alternative,s=i.parser(n);break}!n&&(e.match(/:.+(GMT|UTC|[Z+-])/)&&(e=e.replace(/\s*(?:GMT|UTC)?([+-])(\d\d)(\d\d)$/,"$1$2:$3").replace(/(?:\s+|GMT|UTC)([+-])/,"$1").replace(/(\d)\s*(?:GMT|UTC|Z)$/,"$1+00:00")),"object"==typeof(n=Date.parse(e))&&null!==n&&n.getTime?s=n.getTime()-6e4*n.getTimezoneOffset():f(n)&&(s=n-6e4*new Date(n).getTimezoneOffset()))}return s}getData(){if(this.columns)return this.rowsToColumns(this.columns).slice(1)}parsed(){if(this.options.parsed)return this.options.parsed.call(this,this.columns)}complete(){let e,t,s,r,i,a,n,o,l,u,h,d;let c=this.columns,p=this.options,f=[];if([].length=c.length,p.complete||p.afterComplete){if(this.firstRowAsNames)for(r=0;r<c.length;r++){let e=c[r];m(e.name)||(e.name=x(e.shift(),"").toString())}for(n=0,t=[],u=function(e,t){let s,r,i;let a=[],n=[];for(r=0;r<e;r+=1)a.push(!0);for(s=0;s<t.length;s+=1)for(r=0,i=t[s].getReferencedColumnIndexes();r<i.length;r+=1)a[i[r]]=!1;for(r=0;r<a.length;r+=1)a[r]&&n.push(r);return n}(c.length,this.valueCount.seriesBuilders);n<this.valueCount.seriesBuilders.length;n++)(l=this.valueCount.seriesBuilders[n]).populateColumns(u)&&f.push(l);for(;u.length>0;){for((l=new R).addColumnReader(0,"x"),-1!==(d=u.indexOf(0))&&u.splice(d,1),r=0;r<this.valueCount.global;r++)l.addColumnReader(void 0,this.valueCount.globalPointArrayMap[r]);l.populateColumns(u)&&f.push(l)}if(f.length>0&&f[0].readers.length>0&&void 0!==(h=c[f[0].readers[0].columnIndex])&&(h.isDatetime?e="datetime":h.isNumeric||(e="category")),"category"===e)for(n=0;n<f.length;n++)for(a=0,l=f[n];a<l.readers.length;a++)"x"===l.readers[a].configName&&(l.readers[a].configName="name");for(n=0;n<f.length;n++){for(i=0,l=f[n],s=[];i<c[0].length;i++)s[i]=l.read(c,i);t[n]={data:s},l.name&&(t[n].name=l.name),"category"===e&&(t[n].turboThreshold=0)}o={series:t},e&&(o.xAxis={type:e},"category"===e&&(o.xAxis.uniqueNames=!1)),p.complete&&p.complete(o),p.afterComplete&&p.afterComplete(o)}}update(e,t){let s=this.chart,r=s.options;e&&(e.afterComplete=function(e){e&&(e.xAxis&&s.xAxis[0]&&e.xAxis.type===s.xAxis[0].options.type&&delete e.xAxis,s.update(e,t,!0))},g(!0,r.data,e),r.data&&r.data.googleSpreadsheetKey&&!e.columns&&delete r.data.columns,this.init(r.data))}}d(e,"init",function(e){let t=this,s=e.args[1],r=o().data,i=e.args[0]||{};if((r||i&&i.data)&&!t.hasDataDef){t.hasDataDef=!0;let a=g(r,i.data);t.data=new v(c(a,{afterComplete:function(e){let r,a;if(Object.hasOwnProperty.call(i,"series")){if("object"==typeof i.series)for(r=Math.max(i.series.length,e&&e.series?e.series.length:0);r--;)a=i.series[r]||{},i.series[r]=g(a,e&&e.series?e.series[r]:{});else delete i.series}i=g(e,i),t.init(i,s)}}),i,t),e.preventDefault()}});class R{constructor(){this.readers=[],this.pointIsArray=!0}populateColumns(e){let t=!0;return this.readers.forEach(t=>{void 0===t.columnIndex&&(t.columnIndex=e.shift())}),this.readers.forEach(e=>{void 0===e.columnIndex&&(t=!1)}),t}read(e,t){let s=this.pointIsArray,r=s?[]:{};if(this.readers.forEach(a=>{let n=e[a.columnIndex][t];s?r.push(n):a.configName.indexOf(".")>0?i.prototype.setNestedProperty(r,n,a.configName):r[a.configName]=n}),void 0===this.name&&this.readers.length>=2){let t=[];this.readers.forEach(function(e){("x"===e.configName||"name"===e.configName||"y"===e.configName)&&void 0!==e.columnIndex&&t.push(e.columnIndex)}),t.length>=2&&(t.shift(),t.sort(function(e,t){return e-t})),this.name=e[x(t.shift(),0)].name}return r}addColumnReader(e,t){this.readers.push({columnIndex:e,configName:t}),"x"===t||"y"===t||void 0===t||(this.pointIsArray=!1)}getReferencedColumnIndexes(){let e,t;let s=[];for(e=0;e<this.readers.length;e+=1)void 0!==(t=this.readers[e]).columnIndex&&s.push(t.columnIndex);return s}hasReader(e){let t;for(t=0;t<this.readers.length;t+=1)if(this.readers[t].configName===e)return!0}}return v}),s(t,"masters/modules/data.src.js",[t["Core/Globals.js"],t["Core/HttpUtilities.js"],t["Extensions/Data.js"]],function(e,t,s){return e.Data=e.Data||s,e.HttpUtilities=e.HttpUtilities||t,e.ajax=e.HttpUtilities.ajax,e.data=e.Data.data,e.getJSON=e.HttpUtilities.getJSON,e.post=e.HttpUtilities.post,e})});
@@ -14,7 +14,7 @@ import * as _Highcharts from "../highcharts.src";
14
14
  export function factory(highcharts: typeof Highcharts): void;
15
15
  declare module "../highcharts.src" {
16
16
  /**
17
- * Callback function that returns the correspondig Date object to a match.
17
+ * Callback function that returns the corresponding Date object to a match.
18
18
  */
19
19
  type DataDateFormatCallbackFunction = (match: Array<number>) => number;
20
20
  interface AjaxSettingsObject {
@@ -165,7 +165,7 @@ declare module "../highcharts.src" {
165
165
  * @param settings
166
166
  * The Ajax settings to use.
167
167
  *
168
- * @return Returns false, if error occured.
168
+ * @return Returns false, if error occurred.
169
169
  */
170
170
  function ajax(settings: AjaxSettingsObject): (false|undefined);
171
171
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v11.3.0 (2024-01-10)
2
+ * @license Highcharts JS v11.4.0 (2024-03-05)
3
3
  *
4
4
  * Data module
5
5
  *
@@ -45,8 +45,8 @@
45
45
  * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
46
46
  *
47
47
  * */
48
- const { doc, win } = G;
49
- const { createElement, discardElement, merge, objectEach } = U;
48
+ const { win } = G;
49
+ const { discardElement, objectEach } = U;
50
50
  /* *
51
51
  *
52
52
  * Functions
@@ -61,7 +61,7 @@
61
61
  * The Ajax settings to use.
62
62
  *
63
63
  * @return {false|undefined}
64
- * Returns false, if error occured.
64
+ * Returns false, if error occurred.
65
65
  */
66
66
  function ajax(settings) {
67
67
  const headers = {
@@ -76,7 +76,7 @@
76
76
  * @param {XMLHttpRequest} xhr
77
77
  * Internal request object.
78
78
  * @param {string|Error} err
79
- * Occured error.
79
+ * Occurred error.
80
80
  */
81
81
  function handleError(xhr, err) {
82
82
  if (settings.error) {
@@ -611,7 +611,7 @@
611
611
  it's stable and passes all the test.
612
612
 
613
613
  It's also not written with speed in mind, instead everything is
614
- very seggregated, and there a several redundant loops.
614
+ very segregated, and there a several redundant loops.
615
615
  This is to make it easier to stabilize the code initially.
616
616
 
617
617
  We do a pre-pass on the first 4 rows to make some intelligent
@@ -633,7 +633,7 @@
633
633
  General rules:
634
634
  - Quoting is allowed, e.g: "Col 1",123,321
635
635
  - Quoting is optional, e.g.: Col1,123,321
636
- - Doubble quoting is escaping, e.g. "Col ""Hello world""",123
636
+ - Double quoting is escaping, e.g. "Col ""Hello world""",123
637
637
  - Spaces are considered part of the data: Col1 ,123
638
638
  - New line is always the row delimiter
639
639
  - Potential column delimiters are , ; \t
@@ -695,7 +695,7 @@
695
695
  columns.push([]);
696
696
  }
697
697
  if (!noAdd) {
698
- // Don't push - if there's a varrying amount of columns
698
+ // Don't push - if there's a varying amount of columns
699
699
  // for each row, pushing will skew everything down n slots
700
700
  columns[column][rowNumber] = token;
701
701
  }
@@ -922,7 +922,7 @@
922
922
  guessedFormat[2] = 'YY';
923
923
  }
924
924
  calculatedFormat = guessedFormat.join('/');
925
- // If the caculated format is not valid, we need to present an
925
+ // If the calculated format is not valid, we need to present an
926
926
  // error.
927
927
  if (!(options.dateFormats || self.dateFormats)[calculatedFormat]) {
928
928
  // This should emit an event instead
@@ -1210,7 +1210,7 @@
1210
1210
  if (googleSpreadsheetKey) {
1211
1211
  delete options.googleSpreadsheetKey;
1212
1212
  fetchSheet(function (json) {
1213
- // Prepare the data from the spreadsheat
1213
+ // Prepare the data from the spreadsheet
1214
1214
  const columns = json.values;
1215
1215
  if (!columns || columns.length === 0) {
1216
1216
  return false;
@@ -1258,7 +1258,7 @@
1258
1258
  trim(str, inside) {
1259
1259
  if (typeof str === 'string') {
1260
1260
  str = str.replace(/^\s+|\s+$/g, '');
1261
- // Clear white space insdie the string, like thousands separators
1261
+ // Clear white space inside the string, like thousands separators
1262
1262
  if (inside && /^-?[0-9\s]+$/.test(str)) {
1263
1263
  str = str.replace(/\s/g, '');
1264
1264
  }
@@ -1822,7 +1822,7 @@
1822
1822
  /**
1823
1823
  * Returns true if the builder has a reader for the given configName.
1824
1824
  *
1825
- * @function SeriesBuider#hasReader
1825
+ * @function SeriesBuilder#hasReader
1826
1826
  */
1827
1827
  hasReader(configName) {
1828
1828
  let i, columnReader;
@@ -1865,7 +1865,7 @@
1865
1865
  * The chart options that were used.
1866
1866
  */
1867
1867
  /**
1868
- * Callback function that returns the correspondig Date object to a match.
1868
+ * Callback function that returns the corresponding Date object to a match.
1869
1869
  *
1870
1870
  * @callback Highcharts.DataDateFormatCallbackFunction
1871
1871
  *
@@ -1904,7 +1904,7 @@
1904
1904
  * Timestamp (milliseconds since 1.1.1970) as integer for Date class.
1905
1905
  */
1906
1906
  /**
1907
- * Callback function to access the parsed columns, the two-dimentional
1907
+ * Callback function to access the parsed columns, the two-dimensional
1908
1908
  * input data array directly, before they are interpreted into series
1909
1909
  * data and categories.
1910
1910
  *
@@ -2175,7 +2175,7 @@
2175
2175
  * @apioption data.lineDelimiter
2176
2176
  */
2177
2177
  /**
2178
- * A callback function to access the parsed columns, the two-dimentional
2178
+ * A callback function to access the parsed columns, the two-dimensional
2179
2179
  * input data array directly, before they are interpreted into series
2180
2180
  * data and categories. Return `false` to stop completion, or call
2181
2181
  * `this.complete()` to continue async.
@@ -2200,7 +2200,7 @@
2200
2200
  * @apioption data.parseDate
2201
2201
  */
2202
2202
  /**
2203
- * The same as the columns input option, but defining rows intead of
2203
+ * The same as the columns input option, but defining rows instead of
2204
2204
  * columns.
2205
2205
  *
2206
2206
  * @see [data.columns](#data.columns)
@@ -2345,14 +2345,15 @@
2345
2345
  _registerModule(_modules, 'masters/modules/data.src.js', [_modules['Core/Globals.js'], _modules['Core/HttpUtilities.js'], _modules['Extensions/Data.js']], function (Highcharts, HttpUtilities, Data) {
2346
2346
 
2347
2347
  const G = Highcharts;
2348
- // Functions
2349
- G.ajax = HttpUtilities.ajax;
2350
- G.data = Data.data;
2351
- G.getJSON = HttpUtilities.getJSON;
2352
- G.post = HttpUtilities.post;
2353
2348
  // Classes
2354
- G.Data = Data;
2355
- G.HttpUtilities = HttpUtilities;
2349
+ G.Data = G.Data || Data;
2350
+ G.HttpUtilities = G.HttpUtilities || HttpUtilities;
2351
+ // Functions
2352
+ G.ajax = G.HttpUtilities.ajax;
2353
+ G.data = G.Data.data;
2354
+ G.getJSON = G.HttpUtilities.getJSON;
2355
+ G.post = G.HttpUtilities.post;
2356
2356
 
2357
+ return Highcharts;
2357
2358
  });
2358
2359
  }));
@@ -1,9 +1,9 @@
1
- /**
2
- * Highstock JS v11.3.0 (2024-01-10)
1
+ !/**
2
+ * Highstock JS v11.4.0 (2024-03-04)
3
3
  *
4
4
  * Data grouping module
5
5
  *
6
6
  * (c) 2010-2024 Torstein Hønsi
7
7
  *
8
8
  * License: www.highcharts.com/license
9
- */!function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/modules/datagrouping",["highcharts"],function(i){return t(i),t.Highcharts=i,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var i=t?t._modules:{};function o(t,i,o,e){t.hasOwnProperty(i)||(t[i]=e.apply(null,o),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:t[i]}})))}o(i,"Extensions/DataGrouping/ApproximationRegistry.js",[],function(){return{}}),o(i,"Extensions/DataGrouping/ApproximationDefaults.js",[i["Extensions/DataGrouping/ApproximationRegistry.js"],i["Core/Utilities.js"]],function(t,i){let{arrayMax:o,arrayMin:e,correctFloat:a,extend:n,isNumber:s}=i;function r(t){let i=t.length,o=l(t);return s(o)&&i&&(o=a(o/i)),o}function l(t){let i=t.length,o;if(!i&&t.hasNulls)o=null;else if(i)for(o=0;i--;)o+=t[i];return o}let p={average:r,averages:function(){let t=[];return[].forEach.call(arguments,function(i){t.push(r(i))}),void 0===t[0]?void 0:t},close:function(t){return t.length?t[t.length-1]:t.hasNulls?null:void 0},high:function(t){return t.length?o(t):t.hasNulls?null:void 0},hlc:function(i,o,e){if(i=t.high(i),o=t.low(o),e=t.close(e),s(i)||s(o)||s(e))return[i,o,e]},low:function(t){return t.length?e(t):t.hasNulls?null:void 0},ohlc:function(i,o,e,a){if(i=t.open(i),o=t.high(o),e=t.low(e),a=t.close(a),s(i)||s(o)||s(e)||s(a))return[i,o,e,a]},open:function(t){return t.length?t[0]:t.hasNulls?null:void 0},range:function(i,o){return(i=t.low(i),o=t.high(o),s(i)||s(o))?[i,o]:null===i&&null===o?null:void 0},sum:l};return n(t,p),p}),o(i,"Extensions/DataGrouping/DataGroupingDefaults.js",[],function(){return{common:{groupPixelWidth:2,dateTimeLabelFormats:{millisecond:["%A, %e %b, %H:%M:%S.%L","%A, %e %b, %H:%M:%S.%L","-%H:%M:%S.%L"],second:["%A, %e %b, %H:%M:%S","%A, %e %b, %H:%M:%S","-%H:%M:%S"],minute:["%A, %e %b, %H:%M","%A, %e %b, %H:%M","-%H:%M"],hour:["%A, %e %b, %H:%M","%A, %e %b, %H:%M","-%H:%M"],day:["%A, %e %b %Y","%A, %e %b","-%A, %e %b %Y"],week:["Week from %A, %e %b %Y","%A, %e %b","-%A, %e %b %Y"],month:["%B %Y","%B","-%B %Y"],year:["%Y","%Y","-%Y"]}},seriesSpecific:{line:{},spline:{},area:{},areaspline:{},arearange:{},column:{groupPixelWidth:10},columnrange:{groupPixelWidth:10},candlestick:{groupPixelWidth:10},ohlc:{groupPixelWidth:5},hlc:{groupPixelWidth:5},heikinashi:{groupPixelWidth:10}},units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1]],["week",[1]],["month",[1,3,6]],["year",null]]}}),o(i,"Extensions/DataGrouping/DataGroupingAxisComposition.js",[i["Extensions/DataGrouping/DataGroupingDefaults.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,i,o){let e;let{composed:a}=i,{addEvent:n,extend:s,merge:r,pick:l,pushUnique:p}=o;function u(t){let i=this,o=i.series;o.forEach(function(t){t.groupPixelWidth=void 0}),o.forEach(function(o){o.groupPixelWidth=i.getGroupPixelWidth&&i.getGroupPixelWidth(),o.groupPixelWidth&&(o.hasProcessed=!0),o.applyGrouping(!!t.hasExtremesChanged)})}function h(){let i=this.series,o=i.length,e=0,a=!1,n,s;for(;o--;)(s=i[o].options.dataGrouping)&&(e=Math.max(e,l(s.groupPixelWidth,t.common.groupPixelWidth)),n=(i[o].processedXData||i[o].data).length,(i[o].groupPixelWidth||n>this.chart.plotSizeX/e||n&&s.forced)&&(a=!0));return a?e:0}function g(){this.series.forEach(function(t){t.hasProcessed=!1})}function d(t,i){let o;if(i=l(i,!0),t||(t={forced:!1,units:null}),this instanceof e)for(o=this.series.length;o--;)this.series[o].update({dataGrouping:t},!1);else this.chart.options.series.forEach(function(i){i.dataGrouping="boolean"==typeof t?t:r(t,i.dataGrouping)});this.ordinal&&(this.ordinal.slope=void 0),i&&this.chart.redraw()}return{compose:function t(i){e=i,p(a,t)&&(n(i,"afterSetScale",g),n(i,"postProcessData",u),s(i.prototype,{applyGrouping:u,getGroupPixelWidth:h,setDataGrouping:d}))}}}),o(i,"Extensions/DataGrouping/DataGroupingSeriesComposition.js",[i["Extensions/DataGrouping/ApproximationRegistry.js"],i["Extensions/DataGrouping/DataGroupingDefaults.js"],i["Core/Axis/DateTimeAxis.js"],i["Core/Defaults.js"],i["Core/Globals.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,i,o,e,a,n,s){let{composed:r}=a,{series:{prototype:l}}=n,{addEvent:p,defined:u,error:h,extend:g,isNumber:d,merge:c,pick:f,pushUnique:m}=s,x=l.generatePoints;function D(t){var e;let a,n;let s=this.chart,r=this.options,p=r.dataGrouping,g=!1!==this.allowDG&&p&&f(p.enabled,s.options.isStock),c=this.reserveSpace(),m=this.currentDataGrouping,x,D,G=!1;g&&!this.requireSorting&&(this.requireSorting=G=!0);let y=!1==!(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!t)||!g;if(G&&(this.requireSorting=!1),y)return;this.destroyGroupedData();let M=p.groupAll?this.xData:this.processedXData,A=p.groupAll?this.yData:this.processedYData,S=s.plotSizeX,j=this.xAxis,b=j.options.ordinal,P=this.groupPixelWidth;if(P&&M&&M.length&&S){n=!0,this.isDirty=!0,this.points=null;let t=j.getExtremes(),r=t.min,g=t.max,f=b&&j.ordinal&&j.ordinal.getGroupIntervalFactor(r,g,this)||1,m=P*(g-r)/S*f,G=j.getTimeTicks(o.Additions.prototype.normalizeTimeTickInterval(m,p.units||i.units),Math.min(r,M[0]),Math.max(g,M[M.length-1]),j.options.startOfWeek,M,this.closestPointRange),y=l.groupData.apply(this,[M,A,G,p.approximation]),E=y.groupedXData,v=y.groupedYData,C=0;for(p&&p.smoothed&&E.length&&(p.firstAnchor="firstPoint",p.anchor="middle",p.lastAnchor="lastPoint",h(32,!1,s,{"dataGrouping.smoothed":"use dataGrouping.anchor"})),a=1;a<G.length;a++)G.info.segmentStarts&&-1!==G.info.segmentStarts.indexOf(a)||(C=Math.max(G[a]-G[a-1],C));(x=G.info).gapSize=C,this.closestPointRange=G.info.totalRange,this.groupMap=y.groupMap,this.currentDataGrouping=x,function(t,i,o){let e=t.options,a=e.dataGrouping,n=t.currentDataGrouping&&t.currentDataGrouping.gapSize;if(!(a&&t.xData&&n&&t.groupMap))return;let s=i.length-1,r=a.anchor,l=a.firstAnchor,p=a.lastAnchor,u=i.length-1,h=0;if(l&&t.xData[0]>=i[0]){let o;h++;let e=t.groupMap[0].start,a=t.groupMap[0].length;d(e)&&d(a)&&(o=e+(a-1)),i[0]=({start:i[0],middle:i[0]+.5*n,end:i[0]+n,firstPoint:t.xData[0],lastPoint:o&&t.xData[o]})[l]}if(s>0&&p&&n&&i[s]>=o-n){u--;let o=t.groupMap[t.groupMap.length-1].start;i[s]=({start:i[s],middle:i[s]+.5*n,end:i[s]+n,firstPoint:o&&t.xData[o],lastPoint:t.xData[t.xData.length-1]})[p]}if(r&&"start"!==r){let t=n*({middle:.5,end:1})[r];for(;u>=h;)i[u]+=t,u--}}(this,E,g),c&&(u((e=E)[0])&&d(j.min)&&d(j.dataMin)&&e[0]<j.min&&((!u(j.options.min)&&j.min<=j.dataMin||j.min===j.dataMin)&&(j.min=Math.min(e[0],j.min)),j.dataMin=Math.min(e[0],j.dataMin)),u(e[e.length-1])&&d(j.max)&&d(j.dataMax)&&e[e.length-1]>j.max&&((!u(j.options.max)&&d(j.dataMax)&&j.max>=j.dataMax||j.max===j.dataMax)&&(j.max=Math.max(e[e.length-1],j.max)),j.dataMax=Math.max(e[e.length-1],j.dataMax))),p.groupAll&&(this.allGroupedData=v,E=(D=this.cropData(E,v,j.min,j.max)).xData,v=D.yData,this.cropStart=D.start),this.processedXData=E,this.processedYData=v}else this.groupMap=null;this.hasGroupedData=n,this.preventGraphAnimation=(m&&m.totalRange)!==(x&&x.totalRange)}function G(){this.groupedData&&(this.groupedData.forEach(function(t,i){t&&(this.groupedData[i]=t.destroy?t.destroy():null)},this),this.groupedData.length=0,delete this.allGroupedData)}function y(){x.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null}function M(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("hlc")?"hlc":this.is("column")||this.options.cumulative?"sum":"average"}function A(i,o,e,a){let n=this,s=n.data,r=n.options&&n.options.data,l=[],p=[],h=[],g=i.length,f=!!o,m=[],x=n.pointArrayMap,D=x&&x.length,G=["x"].concat(x||["y"]),y=this.options.dataGrouping&&this.options.dataGrouping.groupAll,M,A,S,j=0,b=0,P="function"==typeof a?a:a&&t[a]?t[a]:t[n.getDGApproximation&&n.getDGApproximation()||"average"];if(D){let t=x.length;for(;t--;)m.push([])}else m.push([]);let E=D||1;for(let t=0;t<=g;t++)if(!(i[t]<e[0])){for(;void 0!==e[j+1]&&i[t]>=e[j+1]||t===g;){M=e[j],n.dataGroupInfo={start:y?b:n.cropStart+b,length:m[0].length,groupStart:M},S=P.apply(n,m),n.pointClass&&!u(n.dataGroupInfo.options)&&(n.dataGroupInfo.options=c(n.pointClass.prototype.optionsToObject.call({series:n},n.options.data[n.cropStart+b])),G.forEach(function(t){delete n.dataGroupInfo.options[t]})),void 0!==S&&(l.push(M),p.push(S),h.push(n.dataGroupInfo)),b=t;for(let t=0;t<E;t++)m[t].length=0,m[t].hasNulls=!1;if(j+=1,t===g)break}if(t===g)break;if(x){let i;let o=n.options.dataGrouping&&n.options.dataGrouping.groupAll?t:n.cropStart+t,e=s&&s[o]||n.pointClass.prototype.applyOptions.apply({series:n},[r[o]]);for(let t=0;t<D;t++)d(i=e[x[t]])?m[t].push(i):null===i&&(m[t].hasNulls=!0)}else d(A=f?o[t]:null)?m[0].push(A):null===A&&(m[0].hasNulls=!0)}return{groupedXData:l,groupedYData:p,groupMap:h}}function S(t){let o=t.options,a=this.type,n=this.chart.options.plotOptions,s=this.useCommonDataGrouping&&i.common,r=i.seriesSpecific,l=e.defaultOptions.plotOptions[a].dataGrouping;if(n&&(r[a]||s)){let t=this.chart.rangeSelector;l||(l=c(i.common,r[a])),o.dataGrouping=c(s,l,n.series&&n.series.dataGrouping,n[a].dataGrouping,this.userOptions.dataGrouping,!o.isInternal&&t&&d(t.selected)&&t.buttonOptions[t.selected].dataGrouping)}}return{compose:function t(i){let o=i.prototype.pointClass;m(r,t)&&(p(o,"update",function(){if(this.dataGroup)return h(24,!1,this.series.chart),!1}),p(i,"afterSetOptions",S),p(i,"destroy",G),g(i.prototype,{applyGrouping:D,destroyGroupedData:G,generatePoints:y,getDGApproximation:M,groupData:A}))},groupData:A}}),o(i,"Extensions/DataGrouping/DataGrouping.js",[i["Extensions/DataGrouping/DataGroupingAxisComposition.js"],i["Extensions/DataGrouping/DataGroupingDefaults.js"],i["Extensions/DataGrouping/DataGroupingSeriesComposition.js"],i["Core/Templating.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,i,o,e,a,n){let{format:s}=e,{composed:r}=a,{addEvent:l,extend:p,isNumber:u,pick:h,pushUnique:g}=n;function d(t){let o=this.chart,e=o.time,a=t.labelConfig,n=a.series,r=a.point,l=n.options,g=n.tooltipOptions,d=l.dataGrouping,c=n.xAxis,f=g.xDateFormat,m,x,D,G,y,M=g[t.isFooter?"footerFormat":"headerFormat"];if(c&&"datetime"===c.options.type&&d&&u(a.key)){x=n.currentDataGrouping,D=d.dateTimeLabelFormats||i.common.dateTimeLabelFormats,x?(G=D[x.unitName],1===x.count?f=G[0]:(f=G[1],m=G[2])):!f&&D&&c.dateTime&&(f=c.dateTime.getXDateFormat(a.x,g.dateTimeLabelFormats));let l=h(n.groupMap?.[r.index].groupStart,a.key),u=l+x?.totalRange-1;y=e.dateFormat(f,l),m&&(y+=e.dateFormat(m,u)),n.chart.styledMode&&(M=this.styledModeFormat(M)),t.text=s(M,{point:p(a.point,{key:y}),series:n},o),t.preventDefault()}}let c={compose:function i(e,a,n){t.compose(e),o.compose(a),n&&g(r,i)&&l(n,"headerFormatter",d)},groupData:o.groupData};return c}),o(i,"masters/modules/datagrouping.src.js",[i["Core/Globals.js"],i["Extensions/DataGrouping/ApproximationDefaults.js"],i["Extensions/DataGrouping/ApproximationRegistry.js"],i["Extensions/DataGrouping/DataGrouping.js"]],function(t,i,o,e){t.dataGrouping={approximationDefaults:i,approximations:o},e.compose(t.Axis,t.Series,t.Tooltip)})});
9
+ */function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/modules/datagrouping",["highcharts"],function(i){return t(i),t.Highcharts=i,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var i=t?t._modules:{};function o(t,i,o,e){t.hasOwnProperty(i)||(t[i]=e.apply(null,o),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:t[i]}})))}o(i,"Extensions/DataGrouping/ApproximationRegistry.js",[],function(){return{}}),o(i,"Extensions/DataGrouping/ApproximationDefaults.js",[i["Extensions/DataGrouping/ApproximationRegistry.js"],i["Core/Utilities.js"]],function(t,i){let{arrayMax:o,arrayMin:e,correctFloat:a,extend:n,isNumber:s}=i;function r(t){let i=t.length,o=p(t);return s(o)&&i&&(o=a(o/i)),o}function p(t){let i=t.length,o;if(!i&&t.hasNulls)o=null;else if(i)for(o=0;i--;)o+=t[i];return o}let l={average:r,averages:function(){let t=[];return[].forEach.call(arguments,function(i){t.push(r(i))}),void 0===t[0]?void 0:t},close:function(t){return t.length?t[t.length-1]:t.hasNulls?null:void 0},high:function(t){return t.length?o(t):t.hasNulls?null:void 0},hlc:function(i,o,e){if(i=t.high(i),o=t.low(o),e=t.close(e),s(i)||s(o)||s(e))return[i,o,e]},low:function(t){return t.length?e(t):t.hasNulls?null:void 0},ohlc:function(i,o,e,a){if(i=t.open(i),o=t.high(o),e=t.low(e),a=t.close(a),s(i)||s(o)||s(e)||s(a))return[i,o,e,a]},open:function(t){return t.length?t[0]:t.hasNulls?null:void 0},range:function(i,o){return(i=t.low(i),o=t.high(o),s(i)||s(o))?[i,o]:null===i&&null===o?null:void 0},sum:p};return n(t,l),l}),o(i,"Extensions/DataGrouping/DataGroupingDefaults.js",[],function(){return{common:{groupPixelWidth:2,dateTimeLabelFormats:{millisecond:["%A, %e %b, %H:%M:%S.%L","%A, %e %b, %H:%M:%S.%L","-%H:%M:%S.%L"],second:["%A, %e %b, %H:%M:%S","%A, %e %b, %H:%M:%S","-%H:%M:%S"],minute:["%A, %e %b, %H:%M","%A, %e %b, %H:%M","-%H:%M"],hour:["%A, %e %b, %H:%M","%A, %e %b, %H:%M","-%H:%M"],day:["%A, %e %b %Y","%A, %e %b","-%A, %e %b %Y"],week:["Week from %A, %e %b %Y","%A, %e %b","-%A, %e %b %Y"],month:["%B %Y","%B","-%B %Y"],year:["%Y","%Y","-%Y"]}},seriesSpecific:{line:{},spline:{},area:{},areaspline:{},arearange:{},column:{groupPixelWidth:10},columnrange:{groupPixelWidth:10},candlestick:{groupPixelWidth:10},ohlc:{groupPixelWidth:5},hlc:{groupPixelWidth:5},heikinashi:{groupPixelWidth:10}},units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1]],["week",[1]],["month",[1,3,6]],["year",null]]}}),o(i,"Extensions/DataGrouping/DataGroupingAxisComposition.js",[i["Extensions/DataGrouping/DataGroupingDefaults.js"],i["Core/Utilities.js"]],function(t,i){let o;let{addEvent:e,extend:a,merge:n,pick:s}=i;function r(t){let i=this,o=i.series;o.forEach(function(t){t.groupPixelWidth=void 0}),o.forEach(function(o){o.groupPixelWidth=i.getGroupPixelWidth&&i.getGroupPixelWidth(),o.groupPixelWidth&&(o.hasProcessed=!0),o.applyGrouping(!!t.hasExtremesChanged)})}function p(){let i=this.series,o=i.length,e=0,a=!1,n,r;for(;o--;)(r=i[o].options.dataGrouping)&&(e=Math.max(e,s(r.groupPixelWidth,t.common.groupPixelWidth)),n=(i[o].processedXData||i[o].data).length,(i[o].groupPixelWidth||n>this.chart.plotSizeX/e||n&&r.forced)&&(a=!0));return a?e:0}function l(){this.series.forEach(function(t){t.hasProcessed=!1})}function u(t,i){let e;if(i=s(i,!0),t||(t={forced:!1,units:null}),this instanceof o)for(e=this.series.length;e--;)this.series[e].update({dataGrouping:t},!1);else this.chart.options.series.forEach(function(i){i.dataGrouping="boolean"==typeof t?t:n(t,i.dataGrouping)});this.ordinal&&(this.ordinal.slope=void 0),i&&this.chart.redraw()}return{compose:function(t){o=t;let i=t.prototype;i.applyGrouping||(e(t,"afterSetScale",l),e(t,"postProcessData",r),a(i,{applyGrouping:r,getGroupPixelWidth:p,setDataGrouping:u}))}}}),o(i,"Extensions/DataGrouping/DataGroupingSeriesComposition.js",[i["Extensions/DataGrouping/ApproximationRegistry.js"],i["Extensions/DataGrouping/DataGroupingDefaults.js"],i["Core/Axis/DateTimeAxis.js"],i["Core/Defaults.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,i,o,e,a,n){let{series:{prototype:s}}=a,{addEvent:r,defined:p,error:l,extend:u,isNumber:h,merge:g,pick:d}=n,c=s.generatePoints;function f(t){var e;let a,n;let r=this.chart,u=this.options.dataGrouping,g=!1!==this.allowDG&&u&&d(u.enabled,r.options.isStock),c=this.reserveSpace(),f=this.currentDataGrouping,m,x,D=!1;g&&!this.requireSorting&&(this.requireSorting=D=!0);let G=!1==!(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!t)||!g;if(D&&(this.requireSorting=!1),G)return;this.destroyGroupedData();let y=u.groupAll?this.xData:this.processedXData,M=u.groupAll?this.yData:this.processedYData,A=r.plotSizeX,S=this.xAxis,j=S.options.ordinal,P=this.groupPixelWidth;if(P&&y&&y.length&&A){n=!0,this.isDirty=!0,this.points=null;let t=S.getExtremes(),g=t.min,d=t.max,f=j&&S.ordinal&&S.ordinal.getGroupIntervalFactor(g,d,this)||1,D=P*(d-g)/A*f,G=S.getTimeTicks(o.Additions.prototype.normalizeTimeTickInterval(D,u.units||i.units),Math.min(g,y[0]),Math.max(d,y[y.length-1]),S.options.startOfWeek,y,this.closestPointRange),b=s.groupData.apply(this,[y,M,G,u.approximation]),E=b.groupedXData,v=b.groupedYData,C=0;for(u&&u.smoothed&&E.length&&(u.firstAnchor="firstPoint",u.anchor="middle",u.lastAnchor="lastPoint",l(32,!1,r,{"dataGrouping.smoothed":"use dataGrouping.anchor"})),a=1;a<G.length;a++)G.info.segmentStarts&&-1!==G.info.segmentStarts.indexOf(a)||(C=Math.max(G[a]-G[a-1],C));(m=G.info).gapSize=C,this.closestPointRange=G.info.totalRange,this.groupMap=b.groupMap,this.currentDataGrouping=m,function(t,i,o){let e=t.options.dataGrouping,a=t.currentDataGrouping&&t.currentDataGrouping.gapSize;if(!(e&&t.xData&&a&&t.groupMap))return;let n=i.length-1,s=e.anchor,r=e.firstAnchor,p=e.lastAnchor,l=i.length-1,u=0;if(r&&t.xData[0]>=i[0]){let o;u++;let e=t.groupMap[0].start,n=t.groupMap[0].length;h(e)&&h(n)&&(o=e+(n-1)),i[0]=({start:i[0],middle:i[0]+.5*a,end:i[0]+a,firstPoint:t.xData[0],lastPoint:o&&t.xData[o]})[r]}if(n>0&&p&&a&&i[n]>=o-a){l--;let o=t.groupMap[t.groupMap.length-1].start;i[n]=({start:i[n],middle:i[n]+.5*a,end:i[n]+a,firstPoint:o&&t.xData[o],lastPoint:t.xData[t.xData.length-1]})[p]}if(s&&"start"!==s){let t=a*({middle:.5,end:1})[s];for(;l>=u;)i[l]+=t,l--}}(this,E,d),c&&(p((e=E)[0])&&h(S.min)&&h(S.dataMin)&&e[0]<S.min&&((!p(S.options.min)&&S.min<=S.dataMin||S.min===S.dataMin)&&(S.min=Math.min(e[0],S.min)),S.dataMin=Math.min(e[0],S.dataMin)),p(e[e.length-1])&&h(S.max)&&h(S.dataMax)&&e[e.length-1]>S.max&&((!p(S.options.max)&&h(S.dataMax)&&S.max>=S.dataMax||S.max===S.dataMax)&&(S.max=Math.max(e[e.length-1],S.max)),S.dataMax=Math.max(e[e.length-1],S.dataMax))),u.groupAll&&(this.allGroupedData=v,E=(x=this.cropData(E,v,S.min,S.max)).xData,v=x.yData,this.cropStart=x.start),this.processedXData=E,this.processedYData=v}else this.groupMap=null;this.hasGroupedData=n,this.preventGraphAnimation=(f&&f.totalRange)!==(m&&m.totalRange)}function m(){this.groupedData&&(this.groupedData.forEach(function(t,i){t&&(this.groupedData[i]=t.destroy?t.destroy():null)},this),this.groupedData.length=0,delete this.allGroupedData)}function x(){c.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null}function D(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("hlc")?"hlc":this.is("column")||this.options.cumulative?"sum":"average"}function G(i,o,e,a){let n=this,s=n.data,r=n.options&&n.options.data,l=[],u=[],d=[],c=i.length,f=!!o,m=[],x=n.pointArrayMap,D=x&&x.length,G=["x"].concat(x||["y"]),y=this.options.dataGrouping&&this.options.dataGrouping.groupAll,M,A,S,j=0,P=0,b="function"==typeof a?a:a&&t[a]?t[a]:t[n.getDGApproximation&&n.getDGApproximation()||"average"];if(D){let t=x.length;for(;t--;)m.push([])}else m.push([]);let E=D||1;for(let t=0;t<=c;t++)if(!(i[t]<e[0])){for(;void 0!==e[j+1]&&i[t]>=e[j+1]||t===c;){M=e[j],n.dataGroupInfo={start:y?P:n.cropStart+P,length:m[0].length,groupStart:M},S=b.apply(n,m),n.pointClass&&!p(n.dataGroupInfo.options)&&(n.dataGroupInfo.options=g(n.pointClass.prototype.optionsToObject.call({series:n},n.options.data[n.cropStart+P])),G.forEach(function(t){delete n.dataGroupInfo.options[t]})),void 0!==S&&(l.push(M),u.push(S),d.push(n.dataGroupInfo)),P=t;for(let t=0;t<E;t++)m[t].length=0,m[t].hasNulls=!1;if(j+=1,t===c)break}if(t===c)break;if(x){let i;let o=n.options.dataGrouping&&n.options.dataGrouping.groupAll?t:n.cropStart+t,e=s&&s[o]||n.pointClass.prototype.applyOptions.apply({series:n},[r[o]]);for(let t=0;t<D;t++)h(i=e[x[t]])?m[t].push(i):null===i&&(m[t].hasNulls=!0)}else h(A=f?o[t]:null)?m[0].push(A):null===A&&(m[0].hasNulls=!0)}return{groupedXData:l,groupedYData:u,groupMap:d}}function y(t){let o=t.options,a=this.type,n=this.chart.options.plotOptions,s=this.useCommonDataGrouping&&i.common,r=i.seriesSpecific,p=e.defaultOptions.plotOptions[a].dataGrouping;if(n&&(r[a]||s)){let t=this.chart.rangeSelector;p||(p=g(i.common,r[a])),o.dataGrouping=g(s,p,n.series&&n.series.dataGrouping,n[a].dataGrouping,this.userOptions.dataGrouping,!o.isInternal&&t&&h(t.selected)&&t.buttonOptions[t.selected].dataGrouping)}}return{compose:function(t){let i=t.prototype;i.applyGrouping||(r(t.prototype.pointClass,"update",function(){if(this.dataGroup)return l(24,!1,this.series.chart),!1}),r(t,"afterSetOptions",y),r(t,"destroy",m),u(i,{applyGrouping:f,destroyGroupedData:m,generatePoints:x,getDGApproximation:D,groupData:G}))},groupData:G}}),o(i,"Extensions/DataGrouping/DataGrouping.js",[i["Extensions/DataGrouping/DataGroupingAxisComposition.js"],i["Extensions/DataGrouping/DataGroupingDefaults.js"],i["Extensions/DataGrouping/DataGroupingSeriesComposition.js"],i["Core/Templating.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,i,o,e,a,n){let{format:s}=e,{composed:r}=a,{addEvent:p,extend:l,isNumber:u,pick:h,pushUnique:g}=n;function d(t){let o=this.chart,e=o.time,a=t.labelConfig,n=a.series,r=a.point,p=n.options,g=n.tooltipOptions,d=p.dataGrouping,c=n.xAxis,f=g.xDateFormat,m,x,D,G,y,M=g[t.isFooter?"footerFormat":"headerFormat"];if(c&&"datetime"===c.options.type&&d&&u(a.key)){x=n.currentDataGrouping,D=d.dateTimeLabelFormats||i.common.dateTimeLabelFormats,x?(G=D[x.unitName],1===x.count?f=G[0]:(f=G[1],m=G[2])):!f&&D&&c.dateTime&&(f=c.dateTime.getXDateFormat(a.x,g.dateTimeLabelFormats));let p=h(n.groupMap?.[r.index].groupStart,a.key),u=p+x?.totalRange-1;y=e.dateFormat(f,p),m&&(y+=e.dateFormat(m,u)),n.chart.styledMode&&(M=this.styledModeFormat(M)),t.text=s(M,{point:l(a.point,{key:y}),series:n},o),t.preventDefault()}}return{compose:function(i,e,a){t.compose(i),o.compose(e),a&&g(r,"DataGrouping")&&p(a,"headerFormatter",d)},groupData:o.groupData}}),o(i,"masters/modules/datagrouping.src.js",[i["Core/Globals.js"],i["Extensions/DataGrouping/ApproximationDefaults.js"],i["Extensions/DataGrouping/ApproximationRegistry.js"],i["Extensions/DataGrouping/DataGrouping.js"]],function(t,i,o,e){return t.dataGrouping=t.dataGrouping||{},t.dataGrouping.approximationDefaults=t.dataGrouping.approximationDefaults||i,t.dataGrouping.approximations=t.dataGrouping.approximations||o,e.compose(t.Axis,t.Series,t.Tooltip),t})});