highcharts 9.2.0 → 9.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (755) hide show
  1. package/README.md +13 -6
  2. package/bower.json +1 -1
  3. package/css/annotations/popup.css +48 -8
  4. package/css/annotations/popup.scss +70 -22
  5. package/css/highcharts.css +45 -0
  6. package/css/highcharts.scss +40 -0
  7. package/css/themes/dark-unica.css +45 -0
  8. package/css/themes/grid-light.css +45 -0
  9. package/css/themes/sand-signika.css +45 -0
  10. package/es-modules/Accessibility/A11yI18n.js +273 -224
  11. package/es-modules/Accessibility/Accessibility.js +237 -128
  12. package/es-modules/Accessibility/AccessibilityComponent.js +79 -314
  13. package/es-modules/Accessibility/Components/AnnotationsA11y.js +10 -0
  14. package/es-modules/Accessibility/Components/ContainerComponent.js +52 -27
  15. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +173 -104
  16. package/es-modules/Accessibility/Components/LegendComponent.js +97 -65
  17. package/es-modules/Accessibility/Components/MenuComponent.js +243 -149
  18. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +170 -88
  19. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +152 -115
  20. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +133 -68
  21. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +64 -27
  22. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +38 -21
  23. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +380 -325
  24. package/es-modules/Accessibility/Components/ZoomComponent.js +28 -20
  25. package/es-modules/Accessibility/FocusBorder.js +192 -147
  26. package/es-modules/Accessibility/HighContrastMode.js +78 -66
  27. package/es-modules/Accessibility/HighContrastTheme.js +10 -0
  28. package/es-modules/Accessibility/KeyboardNavigation.js +146 -71
  29. package/es-modules/Accessibility/KeyboardNavigationHandler.js +71 -44
  30. package/es-modules/Accessibility/Options/DeprecatedOptions.js +11 -1
  31. package/es-modules/Accessibility/Options/LangOptions.js +1 -2
  32. package/es-modules/Accessibility/Options/Options.js +32 -17
  33. package/es-modules/Accessibility/ProxyElement.js +212 -0
  34. package/es-modules/Accessibility/ProxyProvider.js +305 -0
  35. package/es-modules/Accessibility/Utils/Announcer.js +15 -8
  36. package/es-modules/Accessibility/Utils/ChartUtilities.js +41 -16
  37. package/es-modules/Accessibility/Utils/DOMElementProvider.js +27 -15
  38. package/es-modules/Accessibility/Utils/EventProvider.js +27 -17
  39. package/es-modules/Accessibility/Utils/HTMLUtilities.js +125 -30
  40. package/es-modules/Core/Axis/Axis.js +37 -30
  41. package/es-modules/Core/Axis/AxisDefaults.js +35 -24
  42. package/es-modules/Core/Axis/Color/ColorAxisComposition.js +54 -4
  43. package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +5 -5
  44. package/es-modules/Core/Axis/OrdinalAxis.js +5 -13
  45. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +4 -5
  46. package/es-modules/Core/Axis/ScrollbarAxis.js +10 -3
  47. package/es-modules/Core/Axis/TreeGridAxis.js +2 -2
  48. package/es-modules/Core/Axis/TreeGridTick.js +1 -2
  49. package/es-modules/Core/Chart/Chart.js +2 -3
  50. package/es-modules/Core/Chart/ChartDefaults.js +3 -4
  51. package/es-modules/Core/Chart/ChartNavigationComposition.js +92 -0
  52. package/es-modules/Core/Chart/MapChart.js +10 -22
  53. package/es-modules/Core/Chart/StockChart.js +3 -293
  54. package/es-modules/Core/Color/Palettes.js +22 -0
  55. package/es-modules/Core/DefaultOptions.js +19 -17
  56. package/es-modules/Core/Foundation.js +39 -31
  57. package/es-modules/Core/Globals.js +1 -1
  58. package/es-modules/Core/HttpUtilities.js +3 -3
  59. package/es-modules/Core/Legend/Legend.js +7 -3
  60. package/es-modules/Core/Navigator.js +7 -8
  61. package/es-modules/Core/Pointer.js +39 -36
  62. package/es-modules/Core/Renderer/HTML/AST.js +3 -6
  63. package/es-modules/Core/Renderer/HTML/HTMLElement.js +23 -18
  64. package/es-modules/Core/Renderer/SVG/SVGElement.js +3 -4
  65. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +21 -18
  66. package/es-modules/Core/Renderer/SVG/TextBuilder.js +17 -13
  67. package/es-modules/Core/ScrollbarDefaults.js +10 -9
  68. package/es-modules/Core/Series/DataLabel.js +2 -3
  69. package/es-modules/Core/Series/Point.js +5 -3
  70. package/es-modules/Core/Series/Series.js +156 -162
  71. package/es-modules/Core/Series/SeriesDefaults.js +3 -4
  72. package/es-modules/Core/Series/SeriesRegistry.js +1 -2
  73. package/es-modules/Core/Tooltip.js +44 -17
  74. package/es-modules/Core/Utilities.js +15 -7
  75. package/es-modules/Data/DataConverter.js +489 -0
  76. package/es-modules/Data/DataPromise.js +252 -0
  77. package/es-modules/Data/DataSeriesConverter.js +203 -0
  78. package/es-modules/Data/DataTable.js +1204 -0
  79. package/es-modules/Data/Modifiers/ChainModifier.js +299 -0
  80. package/es-modules/Data/Modifiers/DataModifier.js +303 -0
  81. package/es-modules/Data/Modifiers/GroupModifier.js +144 -0
  82. package/es-modules/Data/Modifiers/InvertModifier.js +254 -0
  83. package/es-modules/Data/Modifiers/RangeModifier.js +143 -0
  84. package/es-modules/Data/Modifiers/SeriesPointsModifier.js +110 -0
  85. package/es-modules/Data/Modifiers/SortModifier.js +249 -0
  86. package/es-modules/Data/Parsers/CSVParser.js +399 -0
  87. package/es-modules/Data/Parsers/DataParser.js +101 -0
  88. package/es-modules/Data/Parsers/GoogleSheetsParser.js +220 -0
  89. package/es-modules/Data/Parsers/HTMLTableParser.js +213 -0
  90. package/es-modules/Data/Stores/CSVStore.js +317 -0
  91. package/es-modules/Data/Stores/DataStore.js +276 -0
  92. package/es-modules/Data/Stores/GoogleSheetsStore.js +167 -0
  93. package/es-modules/Data/Stores/HTMLTableStore.js +351 -0
  94. package/es-modules/Extensions/Annotations/Annotations.js +61 -11
  95. package/es-modules/Extensions/Annotations/ControlPoint.js +1 -1
  96. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +199 -0
  97. package/es-modules/Extensions/Annotations/Mixins/ControllableMixin.js +7 -1
  98. package/es-modules/Extensions/Annotations/NavigationBindings.js +90 -28
  99. package/es-modules/Extensions/Annotations/Popup.js +479 -141
  100. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +51 -2
  101. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +1 -1
  102. package/es-modules/Extensions/Annotations/Types/Fibonacci.js +2 -3
  103. package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +219 -0
  104. package/es-modules/Extensions/Annotations/Types/InfinityLine.js +1 -1
  105. package/es-modules/Extensions/Annotations/Types/Measure.js +14 -8
  106. package/es-modules/Extensions/Annotations/Types/Pitchfork.js +5 -5
  107. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +207 -0
  108. package/es-modules/Extensions/Annotations/Types/Tunnel.js +3 -5
  109. package/es-modules/Extensions/Annotations/Types/VerticalLine.js +1 -1
  110. package/es-modules/Extensions/Boost/BoostOptions.js +2 -2
  111. package/es-modules/Extensions/Boost/BoostOverrides.js +3 -1
  112. package/es-modules/Extensions/Boost/WGLShader.js +4 -3
  113. package/es-modules/Extensions/BoostCanvas.js +1 -2
  114. package/es-modules/Extensions/CurrentDateIndication.js +2 -3
  115. package/es-modules/Extensions/Data.js +73 -67
  116. package/es-modules/Extensions/DataGrouping.js +33 -18
  117. package/es-modules/Extensions/Debugger/ErrorMessages.js +2 -2
  118. package/es-modules/Extensions/DownloadURL.js +2 -2
  119. package/es-modules/Extensions/DragPanes.js +1 -2
  120. package/es-modules/Extensions/Drilldown.js +2 -3
  121. package/es-modules/Extensions/Exporting/Exporting.js +12 -11
  122. package/es-modules/Extensions/Exporting/ExportingDefaults.js +8 -15
  123. package/es-modules/Extensions/GeoJSON.js +39 -63
  124. package/es-modules/Extensions/MarkerClusters.js +115 -97
  125. package/es-modules/Extensions/NoDataToDisplay.js +1 -2
  126. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +10 -9
  127. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  128. package/es-modules/Extensions/Oldie/Oldie.js +2 -3
  129. package/es-modules/Extensions/Pane.js +5 -6
  130. package/es-modules/Extensions/Polar.js +1 -1
  131. package/es-modules/Extensions/RangeSelector.js +3 -4
  132. package/es-modules/Extensions/Sonification/ChartSonify.js +247 -637
  133. package/es-modules/Extensions/Sonification/Earcon.js +136 -102
  134. package/es-modules/Extensions/Sonification/Instrument.js +496 -426
  135. package/es-modules/Extensions/Sonification/MusicalFrequencies.js +10 -0
  136. package/es-modules/Extensions/Sonification/Options.js +10 -0
  137. package/es-modules/Extensions/Sonification/PointSonify.js +203 -152
  138. package/es-modules/Extensions/Sonification/SeriesSonify.js +459 -0
  139. package/es-modules/Extensions/Sonification/SignalHandler.js +124 -0
  140. package/es-modules/Extensions/Sonification/Sonification.js +26 -52
  141. package/es-modules/Extensions/Sonification/{Utilities.js → SonificationUtilities.js} +62 -84
  142. package/es-modules/Extensions/Sonification/Timeline.js +255 -567
  143. package/es-modules/Extensions/Sonification/TimelineEvent.js +158 -0
  144. package/es-modules/Extensions/Sonification/TimelinePath.js +311 -0
  145. package/es-modules/Maps/MapNavigation.js +27 -64
  146. package/es-modules/Maps/MapNavigationOptionsDefault.js +3 -0
  147. package/es-modules/Maps/MapPointer.js +7 -5
  148. package/es-modules/Maps/MapView.js +450 -0
  149. package/es-modules/Maps/MapViewOptionsDefault.js +97 -0
  150. package/es-modules/Maps/Projection.js +436 -0
  151. package/es-modules/Maps/ProjectionDefinition.js +9 -0
  152. package/es-modules/Maps/Projections/EqualEarth.js +42 -0
  153. package/es-modules/Maps/Projections/LambertConformalConic.js +52 -0
  154. package/es-modules/Maps/Projections/Miller.js +16 -0
  155. package/es-modules/Maps/Projections/Orthographic.js +26 -0
  156. package/es-modules/Maps/Projections/ProjectionRegistry.js +19 -0
  157. package/es-modules/Maps/Projections/WebMercator.js +24 -0
  158. package/es-modules/Series/AreaRange/AreaRangeSeries.js +4 -5
  159. package/es-modules/Series/Bellcurve/BellcurveSeries.js +2 -8
  160. package/es-modules/Series/BoxPlot/BoxPlotSeries.js +1 -2
  161. package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -2
  162. package/es-modules/Series/Bubble/BubbleLegendItem.js +3 -3
  163. package/es-modules/Series/Bubble/BubblePoint.js +5 -0
  164. package/es-modules/Series/Bubble/BubbleSeries.js +90 -50
  165. package/es-modules/Series/Candlestick/CandlestickSeries.js +10 -18
  166. package/es-modules/{Mixins/CenteredSeries.js → Series/CenteredUtilities.js} +45 -23
  167. package/es-modules/Series/ColorMapComposition.js +109 -0
  168. package/es-modules/Series/Column/ColumnDataLabel.js +5 -5
  169. package/es-modules/Series/Column/ColumnSeries.js +3 -4
  170. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +6 -6
  171. package/es-modules/Series/DataModifyComposition.js +539 -0
  172. package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +2 -6
  173. package/es-modules/Series/DerivedComposition.js +137 -0
  174. package/es-modules/Series/DrawPointComposition.js +111 -0
  175. package/es-modules/Series/Dumbbell/DumbbellSeries.js +2 -3
  176. package/es-modules/Series/ErrorBar/ErrorBarSeries.js +1 -2
  177. package/es-modules/Series/Flags/FlagsSeries.js +18 -25
  178. package/es-modules/Series/Funnel/FunnelSeries.js +6 -5
  179. package/es-modules/Series/Gantt/GanttSeries.js +0 -2
  180. package/es-modules/Series/Gauge/GaugePoint.js +1 -1
  181. package/es-modules/Series/Gauge/GaugeSeries.js +7 -7
  182. package/es-modules/Series/HLC/HLCPoint.js +55 -0
  183. package/es-modules/Series/HLC/HLCSeries.js +383 -0
  184. package/es-modules/Series/Heatmap/HeatmapPoint.js +3 -4
  185. package/es-modules/Series/Heatmap/HeatmapSeries.js +19 -6
  186. package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +2 -3
  187. package/es-modules/Series/Histogram/HistogramSeries.js +3 -7
  188. package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +2 -2
  189. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +33 -34
  190. package/es-modules/Series/Line/LineSeries.js +1 -2
  191. package/es-modules/Series/Map/MapPoint.js +23 -16
  192. package/es-modules/Series/Map/MapSeries.js +271 -309
  193. package/es-modules/Series/MapBubble/MapBubblePoint.js +0 -3
  194. package/es-modules/Series/MapBubble/MapBubbleSeries.js +10 -1
  195. package/es-modules/Series/MapLine/MapLineSeries.js +2 -0
  196. package/es-modules/Series/MapPoint/MapPointPoint.js +5 -1
  197. package/es-modules/Series/MapPoint/MapPointSeries.js +99 -14
  198. package/es-modules/Series/Networkgraph/Networkgraph.js +5 -5
  199. package/es-modules/{Mixins/Nodes.js → Series/NodesComposition.js} +76 -29
  200. package/es-modules/Series/OHLC/OHLCPoint.js +2 -6
  201. package/es-modules/Series/OHLC/OHLCSeries.js +55 -183
  202. package/es-modules/{Mixins/OnSeries.js → Series/OnSeriesComposition.js} +53 -21
  203. package/es-modules/Series/Organization/OrganizationSeries.js +2 -3
  204. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +46 -6
  205. package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -7
  206. package/es-modules/Series/Pie/PieDataLabel.js +1 -2
  207. package/es-modules/Series/Pie/PieSeries.js +6 -7
  208. package/es-modules/Series/Sankey/SankeyPoint.js +0 -4
  209. package/es-modules/Series/Sankey/SankeySeries.js +89 -20
  210. package/es-modules/Series/Sunburst/SunburstPoint.js +2 -3
  211. package/es-modules/Series/Sunburst/SunburstSeries.js +4 -4
  212. package/es-modules/Series/Tilemap/TilemapPoint.js +2 -3
  213. package/es-modules/Series/Timeline/TimelineSeries.js +3 -4
  214. package/es-modules/{Mixins/TreeSeries.js → Series/TreeUtilities.js} +86 -76
  215. package/es-modules/Series/Treemap/TreemapPoint.js +2 -2
  216. package/es-modules/Series/Treemap/TreemapSeries.js +8 -8
  217. package/es-modules/Series/Venn/VennPoint.js +16 -7
  218. package/es-modules/Series/Venn/VennSeries.js +5 -8
  219. package/es-modules/Series/Venn/VennUtils.js +550 -439
  220. package/es-modules/Series/Waterfall/WaterfallSeries.js +2 -3
  221. package/es-modules/Series/Windbarb/WindbarbSeries.js +23 -24
  222. package/es-modules/Series/Wordcloud/WordcloudPoint.js +8 -6
  223. package/es-modules/Series/Wordcloud/WordcloudSeries.js +24 -20
  224. package/es-modules/Series/Wordcloud/WordcloudUtils.js +673 -484
  225. package/es-modules/Series/XRange/XRangePoint.js +1 -0
  226. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +3 -6
  227. package/es-modules/Stock/Indicators/AO/AOIndicator.js +2 -3
  228. package/es-modules/Stock/Indicators/APO/APOIndicator.js +14 -20
  229. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +3 -6
  230. package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +11 -13
  231. package/es-modules/Stock/Indicators/ArrayUtilities.js +47 -0
  232. package/es-modules/Stock/Indicators/BB/BBIndicator.js +27 -11
  233. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +6 -12
  234. package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +1 -11
  235. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +19 -11
  236. package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +17 -11
  237. package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +1 -3
  238. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +11 -9
  239. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +8 -16
  240. package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +2 -2
  241. package/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngle.js +2 -2
  242. package/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionIntercept.js +2 -2
  243. package/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopes.js +2 -2
  244. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +1 -2
  245. package/es-modules/{Mixins/MultipleLines.js → Stock/Indicators/MultipleLinesComposition.js} +136 -87
  246. package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +1 -3
  247. package/es-modules/Stock/Indicators/PC/PCIndicator.js +14 -13
  248. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +1 -11
  249. package/es-modules/Stock/Indicators/SMA/SMAComposition.js +0 -26
  250. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +32 -49
  251. package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +0 -8
  252. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +15 -8
  253. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +4 -6
  254. package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +26 -11
  255. package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +6 -12
  256. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +23 -7
  257. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +2 -3
  258. package/es-modules/Stock/StockToolsBindings.js +144 -42
  259. package/es-modules/Stock/StockToolsGui.js +409 -15
  260. package/es-modules/masters/highcharts-3d.src.js +1 -1
  261. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  262. package/es-modules/masters/highcharts-more.src.js +1 -1
  263. package/es-modules/masters/highcharts.src.js +1 -1
  264. package/es-modules/masters/highmaps.src.js +1 -1
  265. package/es-modules/masters/highstock.src.js +1 -1
  266. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  267. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  268. package/es-modules/masters/indicators/ao.src.js +1 -1
  269. package/es-modules/masters/indicators/apo.src.js +1 -1
  270. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  271. package/es-modules/masters/indicators/aroon.src.js +1 -1
  272. package/es-modules/masters/indicators/atr.src.js +1 -1
  273. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  274. package/es-modules/masters/indicators/cci.src.js +1 -1
  275. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  276. package/es-modules/masters/indicators/cmf.src.js +1 -1
  277. package/es-modules/masters/indicators/cmo.src.js +1 -1
  278. package/es-modules/masters/indicators/dema.src.js +1 -1
  279. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  280. package/es-modules/masters/indicators/dmi.src.js +1 -1
  281. package/es-modules/masters/indicators/dpo.src.js +1 -1
  282. package/es-modules/masters/indicators/ema.src.js +4 -10
  283. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  284. package/es-modules/masters/indicators/indicators-all.src.js +2 -2
  285. package/es-modules/masters/indicators/indicators.src.js +2 -1
  286. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  287. package/es-modules/masters/indicators/klinger.src.js +1 -1
  288. package/es-modules/masters/indicators/macd.src.js +1 -1
  289. package/es-modules/masters/indicators/mfi.src.js +1 -1
  290. package/es-modules/masters/indicators/momentum.src.js +1 -1
  291. package/es-modules/masters/indicators/natr.src.js +1 -1
  292. package/es-modules/masters/indicators/obv.src.js +1 -1
  293. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  294. package/es-modules/masters/indicators/ppo.src.js +1 -1
  295. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  296. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  297. package/es-modules/masters/indicators/psar.src.js +1 -1
  298. package/es-modules/masters/indicators/regressions.src.js +1 -1
  299. package/es-modules/masters/indicators/roc.src.js +1 -1
  300. package/es-modules/masters/indicators/rsi.src.js +1 -1
  301. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  302. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  303. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  304. package/es-modules/masters/indicators/tema.src.js +1 -1
  305. package/es-modules/masters/indicators/trendline.src.js +1 -1
  306. package/es-modules/masters/indicators/trix.src.js +1 -1
  307. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  308. package/es-modules/masters/indicators/vwap.src.js +1 -1
  309. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  310. package/es-modules/masters/indicators/wma.src.js +1 -1
  311. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  312. package/es-modules/masters/modules/accessibility.src.js +16 -2
  313. package/es-modules/masters/modules/annotations-advanced.src.js +3 -1
  314. package/es-modules/masters/modules/annotations.src.js +1 -1
  315. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  316. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  317. package/es-modules/masters/modules/boost.src.js +1 -1
  318. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  319. package/es-modules/masters/modules/bullet.src.js +1 -1
  320. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  321. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  322. package/es-modules/masters/modules/cylinder.src.js +1 -1
  323. package/es-modules/masters/modules/data.src.js +6 -3
  324. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  325. package/es-modules/masters/modules/debugger.src.js +1 -1
  326. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  327. package/es-modules/masters/modules/dotplot.src.js +1 -1
  328. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  329. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  330. package/es-modules/masters/modules/drilldown.src.js +1 -1
  331. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  332. package/es-modules/masters/modules/export-data.src.js +1 -1
  333. package/es-modules/masters/modules/exporting.src.js +1 -1
  334. package/es-modules/masters/modules/full-screen.src.js +1 -1
  335. package/es-modules/masters/modules/funnel.src.js +1 -1
  336. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  337. package/es-modules/masters/modules/gantt.src.js +1 -1
  338. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  339. package/es-modules/masters/modules/heatmap.src.js +1 -2
  340. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  341. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  342. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  343. package/es-modules/masters/modules/item-series.src.js +1 -1
  344. package/es-modules/masters/modules/lollipop.src.js +1 -1
  345. package/es-modules/masters/modules/map.src.js +1 -3
  346. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  347. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  348. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  349. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  350. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  351. package/es-modules/masters/modules/oldie.src.js +1 -1
  352. package/es-modules/masters/modules/organization.src.js +1 -1
  353. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  354. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  355. package/es-modules/masters/modules/pareto.src.js +1 -1
  356. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  357. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  358. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  359. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  360. package/es-modules/masters/modules/sankey.src.js +1 -1
  361. package/es-modules/masters/modules/series-label.src.js +1 -1
  362. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  363. package/es-modules/masters/modules/sonification.src.js +33 -2
  364. package/es-modules/masters/modules/static-scale.src.js +1 -1
  365. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  366. package/es-modules/masters/modules/stock.src.js +4 -1
  367. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  368. package/es-modules/masters/modules/sunburst.src.js +1 -1
  369. package/es-modules/masters/modules/tilemap.src.js +1 -1
  370. package/es-modules/masters/modules/timeline.src.js +1 -1
  371. package/es-modules/masters/modules/treegrid.src.js +1 -1
  372. package/es-modules/masters/modules/treemap.src.js +1 -1
  373. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  374. package/es-modules/masters/modules/variwide.src.js +1 -1
  375. package/es-modules/masters/modules/vector.src.js +1 -1
  376. package/es-modules/masters/modules/venn.src.js +1 -1
  377. package/es-modules/masters/modules/windbarb.src.js +1 -1
  378. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  379. package/es-modules/masters/modules/xrange.src.js +1 -1
  380. package/es-modules/masters/themes/avocado.src.js +1 -1
  381. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  382. package/es-modules/masters/themes/dark-green.src.js +1 -1
  383. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  384. package/es-modules/masters/themes/gray.src.js +1 -1
  385. package/es-modules/masters/themes/grid-light.src.js +1 -1
  386. package/es-modules/masters/themes/grid.src.js +1 -1
  387. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  388. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  389. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  390. package/es-modules/masters/themes/skies.src.js +1 -1
  391. package/es-modules/masters/themes/sunset.src.js +1 -1
  392. package/highcharts-3d.js +1 -1
  393. package/highcharts-3d.src.js +1 -1
  394. package/highcharts-gantt.js +799 -801
  395. package/highcharts-gantt.js.map +1 -1
  396. package/highcharts-gantt.src.js +793 -755
  397. package/highcharts-more.js +194 -193
  398. package/highcharts-more.js.map +1 -1
  399. package/highcharts-more.src.js +208 -120
  400. package/highcharts.d.ts +9814 -4231
  401. package/highcharts.js +585 -587
  402. package/highcharts.js.map +1 -1
  403. package/highcharts.src.d.ts +9814 -4231
  404. package/highcharts.src.js +626 -603
  405. package/highmaps.js +728 -707
  406. package/highmaps.js.map +1 -1
  407. package/highmaps.src.js +2824 -1613
  408. package/highstock.js +788 -782
  409. package/highstock.js.map +1 -1
  410. package/highstock.src.js +1913 -1284
  411. package/indicators/acceleration-bands.js +10 -9
  412. package/indicators/acceleration-bands.js.map +1 -1
  413. package/indicators/acceleration-bands.src.js +156 -112
  414. package/indicators/accumulation-distribution.js +1 -1
  415. package/indicators/accumulation-distribution.src.js +1 -1
  416. package/indicators/ao.js +6 -6
  417. package/indicators/ao.js.map +1 -1
  418. package/indicators/ao.src.js +4 -4
  419. package/indicators/apo.js +5 -6
  420. package/indicators/apo.js.map +1 -1
  421. package/indicators/apo.src.js +16 -84
  422. package/indicators/aroon-oscillator.js +9 -9
  423. package/indicators/aroon-oscillator.js.map +1 -1
  424. package/indicators/aroon-oscillator.src.js +160 -177
  425. package/indicators/aroon.js +9 -9
  426. package/indicators/aroon.js.map +1 -1
  427. package/indicators/aroon.src.js +156 -112
  428. package/indicators/atr.js +1 -1
  429. package/indicators/atr.src.js +1 -1
  430. package/indicators/bollinger-bands.js +10 -9
  431. package/indicators/bollinger-bands.js.map +1 -1
  432. package/indicators/bollinger-bands.src.js +180 -117
  433. package/indicators/cci.js +1 -1
  434. package/indicators/cci.src.js +1 -1
  435. package/indicators/chaikin.js +8 -9
  436. package/indicators/chaikin.js.map +1 -1
  437. package/indicators/chaikin.src.js +8 -76
  438. package/indicators/cmf.js +1 -1
  439. package/indicators/cmf.src.js +1 -1
  440. package/indicators/cmo.js +1 -1
  441. package/indicators/cmo.src.js +1 -1
  442. package/indicators/dema.js +5 -6
  443. package/indicators/dema.js.map +1 -1
  444. package/indicators/dema.src.js +3 -75
  445. package/indicators/disparity-index.js +6 -7
  446. package/indicators/disparity-index.js.map +1 -1
  447. package/indicators/disparity-index.src.js +19 -74
  448. package/indicators/dmi.js +11 -11
  449. package/indicators/dmi.js.map +1 -1
  450. package/indicators/dmi.src.js +173 -116
  451. package/indicators/dpo.js +1 -1
  452. package/indicators/dpo.src.js +1 -1
  453. package/indicators/ema.js +1 -13
  454. package/indicators/ema.js.map +1 -1
  455. package/indicators/ema.src.js +7 -188
  456. package/indicators/ichimoku-kinko-hyo.js +1 -1
  457. package/indicators/ichimoku-kinko-hyo.src.js +1 -1
  458. package/indicators/indicators-all.js +197 -203
  459. package/indicators/indicators-all.js.map +1 -1
  460. package/indicators/indicators-all.src.js +677 -743
  461. package/indicators/indicators.js +12 -12
  462. package/indicators/indicators.js.map +1 -1
  463. package/indicators/indicators.src.js +213 -143
  464. package/indicators/keltner-channels.js +10 -10
  465. package/indicators/keltner-channels.js.map +1 -1
  466. package/indicators/keltner-channels.src.js +164 -118
  467. package/indicators/klinger.js +12 -13
  468. package/indicators/klinger.js.map +1 -1
  469. package/indicators/klinger.src.js +161 -184
  470. package/indicators/macd.js +2 -2
  471. package/indicators/macd.js.map +1 -1
  472. package/indicators/macd.src.js +2 -3
  473. package/indicators/mfi.js +1 -1
  474. package/indicators/mfi.src.js +1 -1
  475. package/indicators/momentum.js +1 -1
  476. package/indicators/momentum.src.js +1 -1
  477. package/indicators/natr.js +3 -3
  478. package/indicators/natr.js.map +1 -1
  479. package/indicators/natr.src.js +2 -4
  480. package/indicators/obv.js +1 -1
  481. package/indicators/obv.src.js +1 -1
  482. package/indicators/pivot-points.js +1 -1
  483. package/indicators/pivot-points.src.js +1 -1
  484. package/indicators/ppo.js +5 -6
  485. package/indicators/ppo.js.map +1 -1
  486. package/indicators/ppo.src.js +3 -75
  487. package/indicators/price-channel.js +9 -9
  488. package/indicators/price-channel.js.map +1 -1
  489. package/indicators/price-channel.src.js +207 -168
  490. package/indicators/price-envelopes.js +1 -1
  491. package/indicators/price-envelopes.src.js +1 -1
  492. package/indicators/psar.js +1 -1
  493. package/indicators/psar.src.js +1 -1
  494. package/indicators/regressions.js +1 -1
  495. package/indicators/regressions.src.js +9 -9
  496. package/indicators/roc.js +1 -1
  497. package/indicators/roc.src.js +1 -1
  498. package/indicators/rsi.js +1 -1
  499. package/indicators/rsi.src.js +1 -1
  500. package/indicators/slow-stochastic.js +5 -6
  501. package/indicators/slow-stochastic.js.map +1 -1
  502. package/indicators/slow-stochastic.src.js +2 -72
  503. package/indicators/stochastic.js +10 -10
  504. package/indicators/stochastic.js.map +1 -1
  505. package/indicators/stochastic.src.js +209 -164
  506. package/indicators/supertrend.js +10 -10
  507. package/indicators/supertrend.js.map +1 -1
  508. package/indicators/supertrend.src.js +6 -7
  509. package/indicators/tema.js +6 -7
  510. package/indicators/tema.js.map +1 -1
  511. package/indicators/tema.src.js +28 -75
  512. package/indicators/trendline.js +1 -1
  513. package/indicators/trendline.src.js +1 -1
  514. package/indicators/trix.js +4 -5
  515. package/indicators/trix.js.map +1 -1
  516. package/indicators/trix.src.js +8 -76
  517. package/indicators/volume-by-price.js +16 -16
  518. package/indicators/volume-by-price.js.map +1 -1
  519. package/indicators/volume-by-price.src.js +24 -7
  520. package/indicators/vwap.js +1 -1
  521. package/indicators/vwap.src.js +1 -1
  522. package/indicators/williams-r.js +5 -6
  523. package/indicators/williams-r.js.map +1 -1
  524. package/indicators/williams-r.src.js +41 -51
  525. package/indicators/wma.js +1 -1
  526. package/indicators/wma.src.js +1 -1
  527. package/indicators/zigzag.js +1 -1
  528. package/indicators/zigzag.src.js +1 -1
  529. package/modules/accessibility.d.ts +5 -0
  530. package/modules/accessibility.js +237 -216
  531. package/modules/accessibility.js.map +1 -1
  532. package/modules/accessibility.src.d.ts +5 -0
  533. package/modules/accessibility.src.js +7400 -6078
  534. package/modules/annotations-advanced.d.ts +30 -0
  535. package/modules/annotations-advanced.js +192 -165
  536. package/modules/annotations-advanced.js.map +1 -1
  537. package/modules/annotations-advanced.src.d.ts +30 -0
  538. package/modules/annotations-advanced.src.js +1604 -332
  539. package/modules/annotations.js +121 -106
  540. package/modules/annotations.js.map +1 -1
  541. package/modules/annotations.src.js +981 -238
  542. package/modules/arrow-symbols.js +1 -1
  543. package/modules/arrow-symbols.src.js +1 -1
  544. package/modules/boost-canvas.js +15 -15
  545. package/modules/boost-canvas.js.map +1 -1
  546. package/modules/boost-canvas.src.js +3 -3
  547. package/modules/boost.js +79 -79
  548. package/modules/boost.js.map +1 -1
  549. package/modules/boost.src.js +10 -9
  550. package/modules/broken-axis.js +1 -1
  551. package/modules/broken-axis.src.js +1 -1
  552. package/modules/bullet.js +1 -1
  553. package/modules/bullet.src.js +1 -1
  554. package/modules/coloraxis.js +24 -24
  555. package/modules/coloraxis.js.map +1 -1
  556. package/modules/coloraxis.src.js +69 -98
  557. package/modules/current-date-indicator.js +4 -4
  558. package/modules/current-date-indicator.js.map +1 -1
  559. package/modules/current-date-indicator.src.js +4 -4
  560. package/modules/cylinder.js +1 -1
  561. package/modules/cylinder.src.js +1 -1
  562. package/modules/data.js +32 -32
  563. package/modules/data.js.map +1 -1
  564. package/modules/data.src.js +85 -88
  565. package/modules/datagrouping.js +20 -20
  566. package/modules/datagrouping.js.map +1 -1
  567. package/modules/datagrouping.src.js +35 -19
  568. package/modules/debugger.js +3 -3
  569. package/modules/debugger.js.map +1 -1
  570. package/modules/debugger.src.js +3 -3
  571. package/modules/dependency-wheel.js +11 -11
  572. package/modules/dependency-wheel.js.map +1 -1
  573. package/modules/dependency-wheel.src.js +4 -7
  574. package/modules/dotplot.js +1 -1
  575. package/modules/dotplot.src.js +1 -1
  576. package/modules/drag-panes.js +8 -8
  577. package/modules/drag-panes.js.map +1 -1
  578. package/modules/drag-panes.src.js +3 -3
  579. package/modules/draggable-points.js +1 -1
  580. package/modules/draggable-points.src.js +1 -1
  581. package/modules/drilldown.js +24 -24
  582. package/modules/drilldown.js.map +1 -1
  583. package/modules/drilldown.src.js +4 -4
  584. package/modules/dumbbell.js +17 -17
  585. package/modules/dumbbell.js.map +1 -1
  586. package/modules/dumbbell.src.js +4 -4
  587. package/modules/export-data.js +1 -1
  588. package/modules/export-data.js.map +1 -1
  589. package/modules/export-data.src.js +3 -3
  590. package/modules/exporting.js +39 -38
  591. package/modules/exporting.js.map +1 -1
  592. package/modules/exporting.src.js +102 -72
  593. package/modules/full-screen.js +1 -1
  594. package/modules/full-screen.src.js +1 -1
  595. package/modules/funnel.js +12 -12
  596. package/modules/funnel.js.map +1 -1
  597. package/modules/funnel.src.js +9 -6
  598. package/modules/funnel3d.js +1 -1
  599. package/modules/funnel3d.src.js +1 -1
  600. package/modules/gantt.js +217 -218
  601. package/modules/gantt.js.map +1 -1
  602. package/modules/gantt.src.js +167 -152
  603. package/modules/grid-axis.js +1 -1
  604. package/modules/grid-axis.src.js +1 -1
  605. package/modules/heatmap.js +39 -39
  606. package/modules/heatmap.js.map +1 -1
  607. package/modules/heatmap.src.js +177 -162
  608. package/modules/heikinashi.js +1 -1
  609. package/modules/heikinashi.src.js +4 -4
  610. package/modules/histogram-bellcurve.js +13 -13
  611. package/modules/histogram-bellcurve.js.map +1 -1
  612. package/modules/histogram-bellcurve.src.js +91 -86
  613. package/modules/hollowcandlestick.js +9 -9
  614. package/modules/hollowcandlestick.js.map +1 -1
  615. package/modules/hollowcandlestick.src.js +37 -37
  616. package/modules/item-series.js +1 -1
  617. package/modules/item-series.src.js +1 -1
  618. package/modules/lollipop.js +1 -1
  619. package/modules/lollipop.src.js +1 -1
  620. package/modules/map.d.ts +136 -14
  621. package/modules/map.js +144 -122
  622. package/modules/map.js.map +1 -1
  623. package/modules/map.src.d.ts +136 -14
  624. package/modules/map.src.js +2227 -1039
  625. package/modules/marker-clusters.js +36 -36
  626. package/modules/marker-clusters.js.map +1 -1
  627. package/modules/marker-clusters.src.js +173 -142
  628. package/modules/networkgraph.d.ts +12 -1
  629. package/modules/networkgraph.js +49 -49
  630. package/modules/networkgraph.js.map +1 -1
  631. package/modules/networkgraph.src.d.ts +12 -1
  632. package/modules/networkgraph.src.js +91 -43
  633. package/modules/no-data-to-display.js +5 -5
  634. package/modules/no-data-to-display.js.map +1 -1
  635. package/modules/no-data-to-display.src.js +3 -3
  636. package/modules/offline-exporting.js +18 -17
  637. package/modules/offline-exporting.js.map +1 -1
  638. package/modules/offline-exporting.src.js +14 -14
  639. package/modules/oldie-polyfills.js +1 -1
  640. package/modules/oldie-polyfills.src.js +1 -1
  641. package/modules/oldie.js +26 -26
  642. package/modules/oldie.js.map +1 -1
  643. package/modules/oldie.src.js +4 -4
  644. package/modules/organization.js +13 -13
  645. package/modules/organization.js.map +1 -1
  646. package/modules/organization.src.js +4 -4
  647. package/modules/overlapping-datalabels.js +1 -1
  648. package/modules/overlapping-datalabels.src.js +1 -1
  649. package/modules/parallel-coordinates.js +1 -1
  650. package/modules/parallel-coordinates.src.js +1 -1
  651. package/modules/pareto.js +7 -7
  652. package/modules/pareto.js.map +1 -1
  653. package/modules/pareto.src.js +89 -78
  654. package/modules/pathfinder.js +1 -1
  655. package/modules/pathfinder.src.js +1 -1
  656. package/modules/pattern-fill.js +1 -1
  657. package/modules/pattern-fill.src.js +1 -1
  658. package/modules/price-indicator.js +1 -1
  659. package/modules/price-indicator.src.js +1 -1
  660. package/modules/pyramid3d.js +1 -1
  661. package/modules/pyramid3d.src.js +1 -1
  662. package/modules/sankey.d.ts +12 -1
  663. package/modules/sankey.js +29 -29
  664. package/modules/sankey.js.map +1 -1
  665. package/modules/sankey.src.d.ts +12 -1
  666. package/modules/sankey.src.js +300 -176
  667. package/modules/series-label.js +1 -1
  668. package/modules/series-label.src.js +1 -1
  669. package/modules/solid-gauge.js +1 -1
  670. package/modules/solid-gauge.src.js +1 -1
  671. package/modules/sonification.js +59 -55
  672. package/modules/sonification.js.map +1 -1
  673. package/modules/sonification.src.js +3034 -2553
  674. package/modules/static-scale.js +1 -1
  675. package/modules/static-scale.src.js +1 -1
  676. package/modules/stock-tools.js +178 -163
  677. package/modules/stock-tools.js.map +1 -1
  678. package/modules/stock-tools.src.js +1028 -144
  679. package/modules/stock.d.ts +39 -6
  680. package/modules/stock.js +204 -196
  681. package/modules/stock.js.map +1 -1
  682. package/modules/stock.src.d.ts +39 -6
  683. package/modules/stock.src.js +1667 -1061
  684. package/modules/streamgraph.js +1 -1
  685. package/modules/streamgraph.src.js +1 -1
  686. package/modules/sunburst.js +61 -60
  687. package/modules/sunburst.js.map +1 -1
  688. package/modules/sunburst.src.js +329 -266
  689. package/modules/tilemap.js +17 -17
  690. package/modules/tilemap.js.map +1 -1
  691. package/modules/tilemap.src.js +3 -4
  692. package/modules/timeline.js +18 -18
  693. package/modules/timeline.js.map +1 -1
  694. package/modules/timeline.src.js +5 -5
  695. package/modules/treegrid.js +56 -57
  696. package/modules/treegrid.js.map +1 -1
  697. package/modules/treegrid.src.js +126 -120
  698. package/modules/treemap.js +41 -41
  699. package/modules/treemap.js.map +1 -1
  700. package/modules/treemap.src.js +319 -254
  701. package/modules/variable-pie.js +1 -1
  702. package/modules/variable-pie.src.js +1 -1
  703. package/modules/variwide.js +1 -1
  704. package/modules/variwide.src.js +1 -1
  705. package/modules/vector.js +1 -1
  706. package/modules/vector.src.js +1 -1
  707. package/modules/venn.js +31 -31
  708. package/modules/venn.js.map +1 -1
  709. package/modules/venn.src.js +731 -721
  710. package/modules/windbarb.js +15 -15
  711. package/modules/windbarb.js.map +1 -1
  712. package/modules/windbarb.src.js +90 -62
  713. package/modules/wordcloud.js +23 -24
  714. package/modules/wordcloud.js.map +1 -1
  715. package/modules/wordcloud.src.js +897 -949
  716. package/modules/xrange.js +2 -2
  717. package/modules/xrange.js.map +1 -1
  718. package/modules/xrange.src.js +2 -1
  719. package/package.json +1 -1
  720. package/themes/avocado.js +1 -1
  721. package/themes/avocado.src.js +1 -1
  722. package/themes/dark-blue.js +1 -1
  723. package/themes/dark-blue.src.js +1 -1
  724. package/themes/dark-green.js +1 -1
  725. package/themes/dark-green.src.js +1 -1
  726. package/themes/dark-unica.js +1 -1
  727. package/themes/dark-unica.src.js +1 -1
  728. package/themes/gray.js +1 -1
  729. package/themes/gray.src.js +1 -1
  730. package/themes/grid-light.js +1 -1
  731. package/themes/grid-light.src.js +1 -1
  732. package/themes/grid.js +1 -1
  733. package/themes/grid.src.js +1 -1
  734. package/themes/high-contrast-dark.js +1 -1
  735. package/themes/high-contrast-dark.src.js +1 -1
  736. package/themes/high-contrast-light.js +1 -1
  737. package/themes/high-contrast-light.src.js +1 -1
  738. package/themes/sand-signika.js +1 -1
  739. package/themes/sand-signika.src.js +1 -1
  740. package/themes/skies.js +1 -1
  741. package/themes/skies.src.js +1 -1
  742. package/themes/sunset.js +1 -1
  743. package/themes/sunset.src.js +1 -1
  744. package/es-modules/Core/Axis/MapAxis.js +0 -157
  745. package/es-modules/Core/Color/Palette.js +0 -82
  746. package/es-modules/Extensions/Sonification/InstrumentDefinitions.js +0 -32
  747. package/es-modules/Mixins/ColorMapSeries.js +0 -82
  748. package/es-modules/Mixins/ColorSeries.js +0 -77
  749. package/es-modules/Mixins/DerivedSeries.js +0 -118
  750. package/es-modules/Mixins/DrawPoint.js +0 -81
  751. package/es-modules/Mixins/IndicatorRequired.js +0 -56
  752. package/es-modules/Mixins/Navigation.js +0 -54
  753. package/es-modules/Mixins/NelderMead.js +0 -132
  754. package/es-modules/Mixins/Polygon.js +0 -259
  755. package/es-modules/Mixins/ReduceArray.js +0 -54
package/highcharts.src.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v9.2.0 (2021-08-18)
2
+ * @license Highcharts JS v9.3.1 (2021-11-05)
3
3
  *
4
4
  * (c) 2009-2021 Torstein Honsi
5
5
  *
@@ -71,7 +71,7 @@
71
71
  * Constants
72
72
  *
73
73
  * */
74
- Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '9.2.0', Globals.win = w, Globals.doc = Globals.win.document, Globals.svg = (Globals.doc &&
74
+ Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '9.3.1', Globals.win = w, Globals.doc = Globals.win.document, Globals.svg = (Globals.doc &&
75
75
  Globals.doc.createElementNS &&
76
76
  !!Globals.doc.createElementNS(Globals.SVG_NS, 'svg').createSVGRect), Globals.userAgent = (Globals.win.navigator && Globals.win.navigator.userAgent) || '', Globals.isChrome = Globals.userAgent.indexOf('Chrome') !== -1, Globals.isFirefox = Globals.userAgent.indexOf('Firefox') !== -1, Globals.isMS = /(edge|msie|trident)/i.test(Globals.userAgent) && !Globals.win.opera, Globals.isSafari = !Globals.isChrome && Globals.userAgent.indexOf('Safari') !== -1, Globals.isTouchDevice = /(Mobile|Android|Windows Phone)/.test(Globals.userAgent), Globals.isWebKit = Globals.userAgent.indexOf('AppleWebKit') !== -1, Globals.deg2rad = Math.PI * 2 / 360, Globals.hasBidiBug = (Globals.isFirefox &&
77
77
  parseInt(Globals.userAgent.split('Firefox/')[1], 10) < 4 // issue #38
@@ -520,9 +520,13 @@
520
520
  return typeof obj !== 'undefined' && obj !== null;
521
521
  }
522
522
  /**
523
- * Set or get an attribute or an object of attributes. To use as a setter, pass
524
- * a key and a value, or let the second argument be a collection of keys and
525
- * values. To use as a getter, pass only a string as the second argument.
523
+ * Set or get an attribute or an object of attributes.
524
+ *
525
+ * To use as a setter, pass a key and a value, or let the second argument be a
526
+ * collection of keys and values. When using a collection, passing a value of
527
+ * `null` or `undefined` will remove the attribute.
528
+ *
529
+ * To use as a getter, pass only a string as the second argument.
526
530
  *
527
531
  * @function Highcharts.attr
528
532
  *
@@ -558,7 +562,12 @@
558
562
  }
559
563
  else {
560
564
  objectEach(prop, function (val, key) {
561
- elem.setAttribute(key, val);
565
+ if (defined(val)) {
566
+ elem.setAttribute(key, val);
567
+ }
568
+ else {
569
+ elem.removeAttribute(key);
570
+ }
562
571
  });
563
572
  }
564
573
  return ret;
@@ -929,8 +938,6 @@
929
938
  *
930
939
  * @param {Function} sortFunction
931
940
  * The function to sort it with, like with regular Array.prototype.sort.
932
- *
933
- * @return {void}
934
941
  */
935
942
  function stableSort(arr, sortFunction) {
936
943
  // @todo It seems like Chrome since v70 sorts in a stable way internally,
@@ -1057,7 +1064,8 @@
1057
1064
  * The corrected float number.
1058
1065
  */
1059
1066
  function correctFloat(num, prec) {
1060
- return parseFloat(num.toPrecision(prec || 14));
1067
+ // When the number is higher than 1e14 use the number (#16275)
1068
+ return num > 1e14 ? num : parseFloat(num.toPrecision(prec || 14));
1061
1069
  }
1062
1070
  /**
1063
1071
  * The time unit lookup
@@ -2155,106 +2163,7 @@
2155
2163
 
2156
2164
  return Utilities;
2157
2165
  });
2158
- _registerModule(_modules, 'Core/Color/Palette.js', [], function () {
2159
- var palette = {
2160
- /**
2161
- * Colors for data series and points.
2162
- */
2163
- colors: [
2164
- '#7cb5ec',
2165
- '#434348',
2166
- '#90ed7d',
2167
- '#f7a35c',
2168
- '#8085e9',
2169
- '#f15c80',
2170
- '#e4d354',
2171
- '#2b908f',
2172
- '#f45b5b',
2173
- '#91e8e1'
2174
- ],
2175
- /**
2176
- * Chart background,
2177
- point stroke for markers and columns etc
2178
- */
2179
- backgroundColor: '#ffffff',
2180
- /**
2181
- * Strong text.
2182
- */
2183
- neutralColor100: '#000000',
2184
- /**
2185
- * Main text and some strokes.
2186
- */
2187
- neutralColor80: '#333333',
2188
- /**
2189
- * Axis labels,
2190
- axis title,
2191
- connector fallback.
2192
- */
2193
- neutralColor60: '#666666',
2194
- /**
2195
- * Credits text,
2196
- export menu stroke.
2197
- */
2198
- neutralColor40: '#999999',
2199
- /**
2200
- * Disabled texts,
2201
- button strokes,
2202
- crosshair etc.
2203
- */
2204
- neutralColor20: '#cccccc',
2205
- /**
2206
- * Grid lines etc.
2207
- */
2208
- neutralColor10: '#e6e6e6',
2209
- /**
2210
- * Minor grid lines etc.
2211
- */
2212
- neutralColor5: '#f2f2f2',
2213
- /**
2214
- * Tooltip backgroud,
2215
- button fills,
2216
- map null points.
2217
- */
2218
- neutralColor3: '#f7f7f7',
2219
- /**
2220
- * Drilldown clickable labels,
2221
- color axis max color.
2222
- */
2223
- highlightColor100: '#003399',
2224
- /**
2225
- * Selection marker,
2226
- menu hover,
2227
- button hover,
2228
- chart border,
2229
- navigator series.
2230
- */
2231
- highlightColor80: '#335cad',
2232
- /**
2233
- * Navigator mask fill.
2234
- */
2235
- highlightColor60: '#6685c2',
2236
- /**
2237
- * Ticks and axis line.
2238
- */
2239
- highlightColor20: '#ccd6eb',
2240
- /**
2241
- * Pressed button,
2242
- color axis min color.
2243
- */
2244
- highlightColor10: '#e6ebf5',
2245
- /**
2246
- * Positive indicator color
2247
- */
2248
- positiveColor: '#06b535',
2249
- /**
2250
- * Negative indicator color
2251
- */
2252
- negativeColor: '#f21313'
2253
- };
2254
-
2255
- return palette;
2256
- });
2257
- _registerModule(_modules, 'Core/Chart/ChartDefaults.js', [_modules['Core/Color/Palette.js']], function (Palette) {
2166
+ _registerModule(_modules, 'Core/Chart/ChartDefaults.js', [], function () {
2258
2167
  /* *
2259
2168
  *
2260
2169
  * (c) 2010-2021 Torstein Honsi
@@ -3240,7 +3149,7 @@
3240
3149
  *
3241
3150
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
3242
3151
  */
3243
- borderColor: Palette.highlightColor80,
3152
+ borderColor: "#335cad" /* highlightColor80 */,
3244
3153
  /**
3245
3154
  * The pixel width of the outer chart border.
3246
3155
  *
@@ -3279,7 +3188,7 @@
3279
3188
  *
3280
3189
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
3281
3190
  */
3282
- backgroundColor: Palette.backgroundColor,
3191
+ backgroundColor: "#ffffff" /* backgroundColor */,
3283
3192
  /**
3284
3193
  * The background color or gradient for the plot area.
3285
3194
  *
@@ -3336,7 +3245,7 @@
3336
3245
  *
3337
3246
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
3338
3247
  */
3339
- plotBorderColor: Palette.neutralColor20
3248
+ plotBorderColor: "#cccccc" /* neutralColor20 */
3340
3249
  };
3341
3250
  /* *
3342
3251
  *
@@ -3773,6 +3682,31 @@
3773
3682
 
3774
3683
  return Color;
3775
3684
  });
3685
+ _registerModule(_modules, 'Core/Color/Palettes.js', [], function () {
3686
+ /**
3687
+ * Series palettes for Highcharts. Series colors are defined in highcharts.scss.
3688
+ * **Do not edit this file!** This file is generated using the 'gulp palette' task.
3689
+ */
3690
+ var SeriesPalettes = {
3691
+ /**
3692
+ * Colors for data series and points.
3693
+ */
3694
+ colors: [
3695
+ '#7cb5ec',
3696
+ '#434348',
3697
+ '#90ed7d',
3698
+ '#f7a35c',
3699
+ '#8085e9',
3700
+ '#f15c80',
3701
+ '#e4d354',
3702
+ '#2b908f',
3703
+ '#f45b5b',
3704
+ '#91e8e1'
3705
+ ]
3706
+ };
3707
+
3708
+ return SeriesPalettes;
3709
+ });
3776
3710
  _registerModule(_modules, 'Core/Time.js', [_modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (H, U) {
3777
3711
  /* *
3778
3712
  *
@@ -4536,7 +4470,7 @@
4536
4470
 
4537
4471
  return Time;
4538
4472
  });
4539
- _registerModule(_modules, 'Core/DefaultOptions.js', [_modules['Core/Chart/ChartDefaults.js'], _modules['Core/Color/Color.js'], _modules['Core/Globals.js'], _modules['Core/Color/Palette.js'], _modules['Core/Time.js'], _modules['Core/Utilities.js']], function (ChartDefaults, Color, H, palette, Time, U) {
4473
+ _registerModule(_modules, 'Core/DefaultOptions.js', [_modules['Core/Chart/ChartDefaults.js'], _modules['Core/Color/Color.js'], _modules['Core/Globals.js'], _modules['Core/Color/Palettes.js'], _modules['Core/Time.js'], _modules['Core/Utilities.js']], function (ChartDefaults, Color, H, Palettes, Time, U) {
4540
4474
  /* *
4541
4475
  *
4542
4476
  * (c) 2010-2021 Torstein Honsi
@@ -4598,7 +4532,7 @@
4598
4532
  * @default ["#7cb5ec", "#434348", "#90ed7d", "#f7a35c", "#8085e9",
4599
4533
  * "#f15c80", "#e4d354", "#2b908f", "#f45b5b", "#91e8e1"]
4600
4534
  */
4601
- colors: palette.colors,
4535
+ colors: Palettes.colors,
4602
4536
  /**
4603
4537
  * Styled mode only. Configuration object for adding SVG definitions for
4604
4538
  * reusable elements. See [gradients, shadows and
@@ -5415,7 +5349,7 @@
5415
5349
  /**
5416
5350
  * @ignore-option
5417
5351
  */
5418
- color: palette.neutralColor80
5352
+ color: "#333333" /* neutralColor80 */
5419
5353
  }
5420
5354
  },
5421
5355
  /**
@@ -5695,7 +5629,7 @@
5695
5629
  *
5696
5630
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
5697
5631
  */
5698
- borderColor: palette.neutralColor40,
5632
+ borderColor: "#999999" /* neutralColor40 */,
5699
5633
  /**
5700
5634
  * The border corner radius of the legend.
5701
5635
  *
@@ -5789,7 +5723,7 @@
5789
5723
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
5790
5724
  * @since 2.2.4
5791
5725
  */
5792
- activeColor: palette.highlightColor100,
5726
+ activeColor: "#003399" /* highlightColor100 */,
5793
5727
  /**
5794
5728
  * The color of the inactive up or down arrow in the legend page
5795
5729
  * navigation. .
@@ -5805,7 +5739,7 @@
5805
5739
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
5806
5740
  * @since 2.2.4
5807
5741
  */
5808
- inactiveColor: palette.neutralColor20
5742
+ inactiveColor: "#cccccc" /* neutralColor20 */
5809
5743
  },
5810
5744
  /**
5811
5745
  * The inner padding of the legend box.
@@ -5881,7 +5815,7 @@
5881
5815
  /**
5882
5816
  * @ignore
5883
5817
  */
5884
- color: palette.neutralColor80,
5818
+ color: "#333333" /* neutralColor80 */,
5885
5819
  /**
5886
5820
  * @ignore
5887
5821
  */
@@ -5919,7 +5853,7 @@
5919
5853
  /**
5920
5854
  * @ignore
5921
5855
  */
5922
- color: palette.neutralColor100
5856
+ color: "#000000" /* neutralColor100 */
5923
5857
  },
5924
5858
  /**
5925
5859
  * CSS styles for each legend item when the corresponding series or
@@ -5940,7 +5874,7 @@
5940
5874
  /**
5941
5875
  * @ignore
5942
5876
  */
5943
- color: palette.neutralColor20
5877
+ color: "#cccccc" /* neutralColor20 */
5944
5878
  },
5945
5879
  /**
5946
5880
  * Whether to apply a drop shadow to the legend. A `backgroundColor`
@@ -6244,7 +6178,7 @@
6244
6178
  /**
6245
6179
  * @ignore
6246
6180
  */
6247
- backgroundColor: palette.backgroundColor,
6181
+ backgroundColor: "#ffffff" /* backgroundColor */,
6248
6182
  /**
6249
6183
  * @ignore
6250
6184
  */
@@ -6587,11 +6521,13 @@
6587
6521
  * @apioption tooltip.xDateFormat
6588
6522
  */
6589
6523
  /**
6590
- * How many decimals to show for the `point.change` value when the
6591
- * `series.compare` option is set. This is overridable in each series'
6592
- * tooltip options object. The default is to preserve all decimals.
6524
+ * How many decimals to show for the `point.change`
6525
+ * or the `point.cumulativeSum` value when the `series.compare`
6526
+ * or the `series.cumulative` option is set.
6527
+ * This is overridable in each series' tooltip options object.
6593
6528
  *
6594
6529
  * @type {number}
6530
+ * @default 2
6595
6531
  * @since 1.0.1
6596
6532
  * @product highstock
6597
6533
  * @apioption tooltip.changeDecimals
@@ -6629,7 +6565,7 @@
6629
6565
  * header will by default be guessed based on the closest data points.
6630
6566
  * This member gives the default string representations used for
6631
6567
  * each unit. For an overview of the replacement codes, see
6632
- * [dateFormat](/class-reference/Highcharts#.dateFormat).
6568
+ * [dateFormat](/class-reference/Highcharts.Time#dateFormat).
6633
6569
  *
6634
6570
  * @see [xAxis.dateTimeLabelFormats](#xAxis.dateTimeLabelFormats)
6635
6571
  *
@@ -6833,7 +6769,7 @@
6833
6769
  *
6834
6770
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
6835
6771
  */
6836
- backgroundColor: color(palette.neutralColor3)
6772
+ backgroundColor: color("#f7f7f7" /* neutralColor3 */)
6837
6773
  // @todo: Disallow undefined as input for colors
6838
6774
  .setOpacity(0.85).get(),
6839
6775
  /**
@@ -6896,7 +6832,7 @@
6896
6832
  */
6897
6833
  style: {
6898
6834
  /** @internal */
6899
- color: palette.neutralColor80,
6835
+ color: "#333333" /* neutralColor80 */,
6900
6836
  /** @internal */
6901
6837
  cursor: 'default',
6902
6838
  /** @internal */
@@ -7011,7 +6947,7 @@
7011
6947
  /** @internal */
7012
6948
  cursor: 'pointer',
7013
6949
  /** @internal */
7014
- color: palette.neutralColor40,
6950
+ color: "#999999" /* neutralColor40 */,
7015
6951
  /** @internal */
7016
6952
  fontSize: '9px'
7017
6953
  },
@@ -8131,12 +8067,7 @@
8131
8067
  tagName: tagName
8132
8068
  };
8133
8069
  if (tagName === '#text') {
8134
- var textContent = node.textContent || '';
8135
- // Leading whitespace text node, don't append it to the AST
8136
- if (nodes.length === 0 && /^[\s]*$/.test(textContent)) {
8137
- return;
8138
- }
8139
- astNode.textContent = textContent;
8070
+ astNode.textContent = node.textContent || '';
8140
8071
  }
8141
8072
  var parsedAttributes = node.attributes;
8142
8073
  // Add attributes
@@ -8241,6 +8172,7 @@
8241
8172
  'text-align',
8242
8173
  'textAnchor',
8243
8174
  'textLength',
8175
+ 'title',
8244
8176
  'type',
8245
8177
  'valign',
8246
8178
  'width',
@@ -8286,6 +8218,7 @@
8286
8218
  */
8287
8219
  AST.allowedTags = [
8288
8220
  'a',
8221
+ 'abbr',
8289
8222
  'b',
8290
8223
  'br',
8291
8224
  'button',
@@ -8805,7 +8738,7 @@
8805
8738
 
8806
8739
  return RendererUtilities;
8807
8740
  });
8808
- _registerModule(_modules, 'Core/Renderer/SVG/SVGElement.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Renderer/HTML/AST.js'], _modules['Core/Color/Color.js'], _modules['Core/Globals.js'], _modules['Core/Color/Palette.js'], _modules['Core/Utilities.js']], function (A, AST, Color, H, Palette, U) {
8741
+ _registerModule(_modules, 'Core/Renderer/SVG/SVGElement.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Renderer/HTML/AST.js'], _modules['Core/Color/Color.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (A, AST, Color, H, U) {
8809
8742
  /* *
8810
8743
  *
8811
8744
  * (c) 2010-2021 Torstein Honsi
@@ -10342,7 +10275,7 @@
10342
10275
  var childNodes = [].slice.call(textNode.childNodes);
10343
10276
  for (var i = 0; i < childNodes.length; i++) {
10344
10277
  var childNode = childNodes[i];
10345
- if (childNode.nodeType === Node.TEXT_NODE ||
10278
+ if (childNode.nodeType === win.Node.TEXT_NODE ||
10346
10279
  childNode.nodeName === 'tspan') {
10347
10280
  textPathElement.appendChild(childNode);
10348
10281
  }
@@ -10437,7 +10370,7 @@
10437
10370
  element = this.element,
10438
10371
  oldShadowOptions = this.oldShadowOptions,
10439
10372
  defaultShadowOptions = {
10440
- color: Palette.neutralColor100,
10373
+ color: "#000000" /* neutralColor100 */,
10441
10374
  offsetX: this.parentInverted ? -1 : 1,
10442
10375
  offsetY: this.parentInverted ? -1 : 1,
10443
10376
  opacity: 0.15,
@@ -10485,7 +10418,7 @@
10485
10418
  strokeWidth = (options.width * 2) + 1 - (2 * i);
10486
10419
  attr(shadow, {
10487
10420
  stroke: (shadowOptions.color ||
10488
- Palette.neutralColor100),
10421
+ "#000000" /* neutralColor100 */),
10489
10422
  'stroke-opacity': shadowElementOpacity * i,
10490
10423
  'stroke-width': strokeWidth,
10491
10424
  transform: transform,
@@ -11823,7 +11756,8 @@
11823
11756
  *
11824
11757
  * */
11825
11758
  var doc = H.doc,
11826
- SVG_NS = H.SVG_NS;
11759
+ SVG_NS = H.SVG_NS,
11760
+ win = H.win;
11827
11761
  var attr = U.attr,
11828
11762
  isString = U.isString,
11829
11763
  objectEach = U.objectEach,
@@ -11934,6 +11868,20 @@
11934
11868
  var wrapper = this.svgElement;
11935
11869
  var x = attr(wrapper.element, 'x');
11936
11870
  wrapper.firstLineMetrics = void 0;
11871
+ // Remove empty tspans (including breaks) from the beginning because
11872
+ // SVG's getBBox doesn't count empty lines. The use case is tooltip
11873
+ // where the header is empty. By doing this in the DOM rather than in
11874
+ // the AST, we can inspect the textContent directly and don't have to
11875
+ // recurse down to look for valid content.
11876
+ var firstChild;
11877
+ while ((firstChild = wrapper.element.firstChild)) {
11878
+ if (/^[\s\u200B]*$/.test(firstChild.textContent || ' ')) {
11879
+ wrapper.element.removeChild(firstChild);
11880
+ }
11881
+ else {
11882
+ break;
11883
+ }
11884
+ }
11937
11885
  // Modify hard line breaks by applying the rendered line height
11938
11886
  [].forEach.call(wrapper.element.querySelectorAll('tspan.highcharts-br'), function (br, i) {
11939
11887
  if (br.nextSibling && br.previousSibling) { // #5261
@@ -12031,7 +11979,7 @@
12031
11979
  var modifyChildren = (function (node) {
12032
11980
  var childNodes = [].slice.call(node.childNodes);
12033
11981
  childNodes.forEach(function (childNode) {
12034
- if (childNode.nodeType === Node.TEXT_NODE) {
11982
+ if (childNode.nodeType === win.Node.TEXT_NODE) {
12035
11983
  modifyTextNode(childNode, node);
12036
11984
  }
12037
11985
  else {
@@ -12057,7 +12005,7 @@
12057
12005
  TextBuilder.prototype.getLineHeight = function (node) {
12058
12006
  var fontSizeStyle;
12059
12007
  // If the node is a text node, use its parent
12060
- var element = node.nodeType === Node.TEXT_NODE ?
12008
+ var element = node.nodeType === win.Node.TEXT_NODE ?
12061
12009
  node.parentElement :
12062
12010
  node;
12063
12011
  if (!this.renderer.styledMode) {
@@ -12131,16 +12079,6 @@
12131
12079
  }
12132
12080
  };
12133
12081
  nodes.forEach(modifyChild);
12134
- // Remove empty spans from the beginning because SVG's getBBox doesn't
12135
- // count empty lines. The use case is tooltip where the header is empty.
12136
- while (nodes[0]) {
12137
- if (nodes[0].tagName === 'tspan' && !nodes[0].children) {
12138
- nodes.splice(0, 1);
12139
- }
12140
- else {
12141
- break;
12142
- }
12143
- }
12144
12082
  };
12145
12083
  /*
12146
12084
  * Truncate the text node contents to a given length. Used when the css
@@ -12261,7 +12199,7 @@
12261
12199
 
12262
12200
  return TextBuilder;
12263
12201
  });
12264
- _registerModule(_modules, 'Core/Renderer/SVG/SVGRenderer.js', [_modules['Core/Renderer/HTML/AST.js'], _modules['Core/Color/Color.js'], _modules['Core/Globals.js'], _modules['Core/Color/Palette.js'], _modules['Core/Renderer/RendererRegistry.js'], _modules['Core/Renderer/SVG/SVGElement.js'], _modules['Core/Renderer/SVG/SVGLabel.js'], _modules['Core/Renderer/SVG/Symbols.js'], _modules['Core/Renderer/SVG/TextBuilder.js'], _modules['Core/Utilities.js']], function (AST, Color, H, Palette, RendererRegistry, SVGElement, SVGLabel, Symbols, TextBuilder, U) {
12202
+ _registerModule(_modules, 'Core/Renderer/SVG/SVGRenderer.js', [_modules['Core/Renderer/HTML/AST.js'], _modules['Core/Color/Color.js'], _modules['Core/Globals.js'], _modules['Core/Renderer/RendererRegistry.js'], _modules['Core/Renderer/SVG/SVGElement.js'], _modules['Core/Renderer/SVG/SVGLabel.js'], _modules['Core/Renderer/SVG/Symbols.js'], _modules['Core/Renderer/SVG/TextBuilder.js'], _modules['Core/Utilities.js']], function (AST, Color, H, RendererRegistry, SVGElement, SVGLabel, Symbols, TextBuilder, U) {
12265
12203
  /* *
12266
12204
  *
12267
12205
  * (c) 2010-2021 Torstein Honsi
@@ -12472,7 +12410,7 @@
12472
12410
  this.url = this.getReferenceURL();
12473
12411
  // Add description
12474
12412
  var desc = this.createElement('desc').add();
12475
- desc.element.appendChild(doc.createTextNode('Created with Highcharts 9.2.0'));
12413
+ desc.element.appendChild(doc.createTextNode('Created with Highcharts 9.3.1'));
12476
12414
  renderer.defs = this.createElement('defs').add();
12477
12415
  renderer.allowHTML = allowHTML;
12478
12416
  renderer.forExport = forExport;
@@ -12824,11 +12762,11 @@
12824
12762
  if (!styledMode) {
12825
12763
  // Normal state - prepare the attributes
12826
12764
  normalState = merge({
12827
- fill: Palette.neutralColor3,
12828
- stroke: Palette.neutralColor20,
12765
+ fill: "#f7f7f7" /* neutralColor3 */,
12766
+ stroke: "#cccccc" /* neutralColor20 */,
12829
12767
  'stroke-width': 1,
12830
12768
  style: {
12831
- color: Palette.neutralColor80,
12769
+ color: "#333333" /* neutralColor80 */,
12832
12770
  cursor: 'pointer',
12833
12771
  fontWeight: 'normal'
12834
12772
  }
@@ -12839,15 +12777,15 @@
12839
12777
  delete normalState.style;
12840
12778
  // Hover state
12841
12779
  hoverState = merge(normalState, {
12842
- fill: Palette.neutralColor10
12780
+ fill: "#e6e6e6" /* neutralColor10 */
12843
12781
  }, AST.filterUserAttributes(hoverState || {}));
12844
12782
  hoverStyle = hoverState.style;
12845
12783
  delete hoverState.style;
12846
12784
  // Pressed state
12847
12785
  pressedState = merge(normalState, {
12848
- fill: Palette.highlightColor10,
12786
+ fill: "#e6ebf5" /* highlightColor10 */,
12849
12787
  style: {
12850
- color: Palette.neutralColor100,
12788
+ color: "#000000" /* neutralColor100 */,
12851
12789
  fontWeight: 'bold'
12852
12790
  }
12853
12791
  }, AST.filterUserAttributes(pressedState || {}));
@@ -12856,7 +12794,7 @@
12856
12794
  // Disabled state
12857
12795
  disabledState = merge(normalState, {
12858
12796
  style: {
12859
- color: Palette.neutralColor20
12797
+ color: "#cccccc" /* neutralColor20 */
12860
12798
  }
12861
12799
  }, AST.filterUserAttributes(disabledState || {}));
12862
12800
  disabledStyle = disabledState.style;
@@ -13276,14 +13214,18 @@
13276
13214
  el.setAttribute('hc-svg-href', src);
13277
13215
  }
13278
13216
  };
13279
- // optional properties
13280
- if (arguments.length > 1) {
13281
- extend(attribs, {
13282
- x: x,
13283
- y: y,
13284
- width: width,
13285
- height: height
13286
- });
13217
+ // Optional properties (#11756)
13218
+ if (isNumber(x)) {
13219
+ attribs.x = x;
13220
+ }
13221
+ if (isNumber(y)) {
13222
+ attribs.y = y;
13223
+ }
13224
+ if (isNumber(width)) {
13225
+ attribs.width = width;
13226
+ }
13227
+ if (isNumber(height)) {
13228
+ attribs.height = height;
13287
13229
  }
13288
13230
  var elemWrapper = this.createElement('image').attr(attribs),
13289
13231
  onDummyLoad = function (e) {
@@ -14088,7 +14030,7 @@
14088
14030
  * The shadow color.
14089
14031
  * @name Highcharts.ShadowOptionsObject#color
14090
14032
  * @type {Highcharts.ColorString|undefined}
14091
- * @default ${palette.neutralColor100}
14033
+ * @default #000000
14092
14034
  */ /**
14093
14035
  * The horizontal offset from the element.
14094
14036
  *
@@ -14366,6 +14308,9 @@
14366
14308
  whiteSpace = styles && styles.whiteSpace;
14367
14309
  /** @private */
14368
14310
  function getTextPxLength() {
14311
+ if (wrapper.textPxLength) {
14312
+ return wrapper.textPxLength;
14313
+ }
14369
14314
  // Reset multiline/ellipsis in order to read width (#4928,
14370
14315
  // #5417)
14371
14316
  css(elem, {
@@ -14401,29 +14346,32 @@
14401
14346
  wrapper.textWidth,
14402
14347
  wrapper.textAlign
14403
14348
  ].join(',');
14404
- var baseline = void 0;
14349
+ var baseline = void 0,
14350
+ hasBoxWidthChanged = false;
14405
14351
  // Update textWidth. Use the memoized textPxLength if possible, to
14406
14352
  // avoid the getTextPxLength function using elem.offsetWidth.
14407
14353
  // Calling offsetWidth affects rendering time as it forces layout
14408
14354
  // (#7656).
14409
- if (textWidth !== wrapper.oldTextWidth &&
14410
- ((textWidth > wrapper.oldTextWidth) ||
14411
- (wrapper.textPxLength || getTextPxLength()) > textWidth) && (
14412
- // Only set the width if the text is able to word-wrap, or
14413
- // text-overflow is ellipsis (#9537)
14414
- /[ \-]/.test(elem.textContent || elem.innerText) ||
14415
- elem.style.textOverflow === 'ellipsis')) { // #983, #1254
14416
- css(elem, {
14417
- width: textWidth + 'px',
14418
- display: 'block',
14419
- whiteSpace: whiteSpace || 'normal' // #3331
14420
- });
14421
- wrapper.oldTextWidth = textWidth;
14422
- wrapper.hasBoxWidthChanged = true; // #8159
14423
- }
14424
- else {
14425
- wrapper.hasBoxWidthChanged = false; // #8159
14355
+ if (textWidth !== wrapper.oldTextWidth) { // #983, #1254
14356
+ var textPxLength = getTextPxLength();
14357
+ if (((textWidth > wrapper.oldTextWidth) ||
14358
+ textPxLength > textWidth) && (
14359
+ // Only set the width if the text is able to word-wrap,
14360
+ // or text-overflow is ellipsis (#9537)
14361
+ /[ \-]/.test(elem.textContent || elem.innerText) ||
14362
+ elem.style.textOverflow === 'ellipsis')) {
14363
+ css(elem, {
14364
+ width: (textPxLength > textWidth) || rotation ?
14365
+ textWidth + 'px' :
14366
+ 'auto',
14367
+ display: 'block',
14368
+ whiteSpace: whiteSpace || 'normal' // #3331
14369
+ });
14370
+ wrapper.oldTextWidth = textWidth;
14371
+ hasBoxWidthChanged = true; // #8159
14372
+ }
14426
14373
  }
14374
+ wrapper.hasBoxWidthChanged = hasBoxWidthChanged; // #8159
14427
14375
  // Do the calculations and DOM access only if properties changed
14428
14376
  if (currentTextTransform !== wrapper.cTT) {
14429
14377
  baseline = renderer.fontMetrics(elem.style.fontSize, elem).b;
@@ -14769,7 +14717,7 @@
14769
14717
 
14770
14718
  return HTMLRenderer;
14771
14719
  });
14772
- _registerModule(_modules, 'Core/Axis/AxisDefaults.js', [_modules['Core/Color/Palette.js']], function (Palette) {
14720
+ _registerModule(_modules, 'Core/Axis/AxisDefaults.js', [], function () {
14773
14721
  /* *
14774
14722
  *
14775
14723
  * (c) 2010-2021 Torstein Honsi
@@ -15199,7 +15147,7 @@
15199
15147
  * same axis.
15200
15148
  *
15201
15149
  * For an overview of the replacement codes, see
15202
- * [dateFormat](/class-reference/Highcharts#.dateFormat).
15150
+ * [dateFormat](/class-reference/Highcharts.Time#dateFormat).
15203
15151
  *
15204
15152
  * Defaults to:
15205
15153
  * ```js
@@ -15293,9 +15241,9 @@
15293
15241
  * In Highcharts Stock, `endOnTick` is always `false` when the navigator
15294
15242
  * is enabled, to prevent jumpy scrolling.
15295
15243
  *
15296
- * @sample {highcharts} highcharts/chart/reflow-true/
15297
- * True by default
15298
15244
  * @sample {highcharts} highcharts/yaxis/endontick/
15245
+ * True by default
15246
+ * @sample {highcharts} highcharts/yaxis/endontick-false/
15299
15247
  * False
15300
15248
  * @sample {highstock} stock/demo/basic-line/
15301
15249
  * True by default
@@ -15737,7 +15685,7 @@
15737
15685
  */
15738
15686
  style: {
15739
15687
  /** @internal */
15740
- color: Palette.neutralColor60,
15688
+ color: "#666666" /* neutralColor60 */,
15741
15689
  /** @internal */
15742
15690
  cursor: 'default',
15743
15691
  /** @internal */
@@ -15802,8 +15750,6 @@
15802
15750
  * Y axis max on logarithmic axis
15803
15751
  * @sample {highstock} stock/xaxis/min-max/
15804
15752
  * Fixed min and max on X axis
15805
- * @sample {highmaps} maps/axis/min-max/
15806
- * Pre-zoomed to a specific area
15807
15753
  *
15808
15754
  * @type {number|null}
15809
15755
  * @apioption xAxis.max
@@ -15858,8 +15804,6 @@
15858
15804
  * -50 with startOnTick true by default
15859
15805
  * @sample {highstock} stock/xaxis/min-max/
15860
15806
  * Set min and max on X axis
15861
- * @sample {highmaps} maps/axis/min-max/
15862
- * Pre-zoomed to a specific area
15863
15807
  *
15864
15808
  * @type {number|null}
15865
15809
  * @apioption xAxis.min
@@ -16011,8 +15955,6 @@
16011
15955
  * Minimum range of 5
16012
15956
  * @sample {highstock} stock/xaxis/minrange/
16013
15957
  * Max zoom of 6 months overrides user selections
16014
- * @sample {highmaps} maps/axis/minrange/
16015
- * Minimum range of 1000
16016
15958
  *
16017
15959
  * @type {number}
16018
15960
  * @apioption xAxis.minRange
@@ -16578,7 +16520,7 @@
16578
16520
  */
16579
16521
  style: {
16580
16522
  /** @internal */
16581
- color: Palette.neutralColor60
16523
+ color: "#666666" /* neutralColor60 */
16582
16524
  }
16583
16525
  },
16584
16526
  /**
@@ -16695,7 +16637,7 @@
16695
16637
  * @type {Highcharts.ColorType}
16696
16638
  * @default #f2f2f2
16697
16639
  */
16698
- minorGridLineColor: Palette.neutralColor5,
16640
+ minorGridLineColor: "#f2f2f2" /* neutralColor5 */,
16699
16641
  /**
16700
16642
  * Width of the minor, secondary grid lines.
16701
16643
  *
@@ -16721,7 +16663,7 @@
16721
16663
  * @type {Highcharts.ColorType}
16722
16664
  * @default #999999
16723
16665
  */
16724
- minorTickColor: Palette.neutralColor40,
16666
+ minorTickColor: "#999999" /* neutralColor40 */,
16725
16667
  /**
16726
16668
  * The color of the line marking the axis itself.
16727
16669
  *
@@ -16742,7 +16684,7 @@
16742
16684
  * @type {Highcharts.ColorType}
16743
16685
  * @default #ccd6eb
16744
16686
  */
16745
- lineColor: Palette.highlightColor20,
16687
+ lineColor: "#ccd6eb" /* highlightColor20 */,
16746
16688
  /**
16747
16689
  * The width of the line marking the axis itself.
16748
16690
  *
@@ -16779,7 +16721,7 @@
16779
16721
  * @type {Highcharts.ColorType}
16780
16722
  * @default #e6e6e6
16781
16723
  */
16782
- gridLineColor: Palette.neutralColor10,
16724
+ gridLineColor: "#e6e6e6" /* neutralColor10 */,
16783
16725
  /**
16784
16726
  * The width of the grid lines extending the ticks across the plot area.
16785
16727
  * Defaults to 1 on the Y axis and 0 on the X axis, except for 3d
@@ -16837,7 +16779,7 @@
16837
16779
  * @type {Highcharts.ColorType}
16838
16780
  * @default #ccd6eb
16839
16781
  */
16840
- tickColor: Palette.highlightColor20
16782
+ tickColor: "#ccd6eb" /* highlightColor20 */
16841
16783
  // tickWidth: 1
16842
16784
  };
16843
16785
  /**
@@ -16997,9 +16939,9 @@
16997
16939
  * @see [type](#chart.panning.type)
16998
16940
  *
16999
16941
  *
17000
- * @sample {highcharts} highcharts/chart/reflow-true/
17001
- * True by default
17002
16942
  * @sample {highcharts} highcharts/yaxis/endontick/
16943
+ * True by default
16944
+ * @sample {highcharts} highcharts/yaxis/endontick-false/
17003
16945
  * False
17004
16946
  * @sample {highstock} stock/demo/basic-line/
17005
16947
  * True by default
@@ -17152,8 +17094,6 @@
17152
17094
  * Y axis max on logarithmic axis
17153
17095
  * @sample {highstock} stock/yaxis/min-max/
17154
17096
  * Fixed min and max on Y axis
17155
- * @sample {highmaps} maps/axis/min-max/
17156
- * Pre-zoomed to a specific area
17157
17097
  *
17158
17098
  * @apioption yAxis.max
17159
17099
  */
@@ -17164,8 +17104,6 @@
17164
17104
  * -50 with startOnTick true by default
17165
17105
  * @sample {highstock} stock/yaxis/min-max/
17166
17106
  * Fixed min and max on Y axis
17167
- * @sample {highmaps} maps/axis/min-max/
17168
- * Pre-zoomed to a specific area
17169
17107
  *
17170
17108
  * @apioption yAxis.min
17171
17109
  */
@@ -17208,6 +17146,28 @@
17208
17146
  * @product highstock
17209
17147
  * @apioption yAxis.scrollbar.margin
17210
17148
  */
17149
+ /* eslint-disable highcharts/doclet-apioption-last */
17150
+ /**
17151
+ * Defines the position of the scrollbar. By default, it is positioned
17152
+ * on the opposite of the main axis (right side of the chart).
17153
+ * However, in the case of RTL languages could be set to `false`
17154
+ * which positions the scrollbar on the left.
17155
+ *
17156
+ * Works only for vertical axes.
17157
+ * This means yAxis in a non-inverted chart and xAxis in the inverted.
17158
+ *
17159
+ * @sample stock/yaxis/scrollbar-opposite/
17160
+ * A scrollbar not on the opposite side
17161
+ *
17162
+ * @type {boolean}
17163
+ * @default true
17164
+ * @since 9.3.0
17165
+ *
17166
+ * @apioption yAxis.scrollbar.opposite
17167
+ * @apioption xAxis.scrollbar.opposite
17168
+ *
17169
+ */
17170
+ /* eslint-enable highcharts/doclet-apioption-last */
17211
17171
  /**
17212
17172
  * Whether to show the scrollbar when it is fully zoomed out at max
17213
17173
  * range. Setting it to `false` on the Y axis makes the scrollbar stay
@@ -17609,7 +17569,7 @@
17609
17569
  */
17610
17570
  style: {
17611
17571
  /** @internal */
17612
- color: Palette.neutralColor100,
17572
+ color: "#000000" /* neutralColor100 */,
17613
17573
  /** @internal */
17614
17574
  fontSize: '11px',
17615
17575
  /** @internal */
@@ -17710,47 +17670,54 @@
17710
17670
  removeEvent = U.removeEvent;
17711
17671
  /* *
17712
17672
  *
17713
- * Functions
17673
+ * Class Namespace
17714
17674
  *
17715
17675
  * */
17716
- /*
17717
- * Register event options. If an event handler is set on the options, it should
17718
- * be subject to Chart.update, Axis.update and Series.update. This is contrary
17719
- * to general handlers that are set directly using addEvent either on the class
17720
- * or on the instance. #6538, #6943, #10861.
17721
- */
17722
- var registerEventOptions = function (component,
17723
- options) {
17676
+ var Foundation;
17677
+ (function (Foundation) {
17678
+ /* *
17679
+ *
17680
+ * Functions
17681
+ *
17682
+ * */
17683
+ /* eslint-disable valid-jsdoc */
17684
+ /**
17685
+ * Register event options. If an event handler is set on the options, it
17686
+ * should be subject to Chart.update, Axis.update and Series.update. This is
17687
+ * contrary to general handlers that are set directly using addEvent either
17688
+ * on the class or on the instance. #6538, #6943, #10861.
17689
+ * @private
17690
+ */
17691
+ function registerEventOptions(component, options) {
17724
17692
  // A lookup over those events that are added by _options_ (not
17725
17693
  // programmatically). These are updated through .update()
17726
17694
  component.eventOptions = component.eventOptions || {};
17727
- // Register event listeners
17728
- objectEach(options.events, function (event, eventType) {
17729
- // If event does not exist, or is changed by the .update()
17730
- // function
17731
- if (component.eventOptions[eventType] !== event) {
17732
- // Remove existing if set by option
17733
- if (component.eventOptions[eventType]) {
17734
- removeEvent(component, eventType, component.eventOptions[eventType]);
17735
- delete component.eventOptions[eventType];
17736
- }
17737
- if (isFunction(event)) {
17738
- component.eventOptions[eventType] = event;
17739
- addEvent(component, eventType, event);
17695
+ // Register event listeners
17696
+ objectEach(options.events, function (event, eventType) {
17697
+ // If event does not exist, or is changed by the .update()
17698
+ // function
17699
+ if (component.eventOptions[eventType] !== event) {
17700
+ // Remove existing if set by option
17701
+ if (component.eventOptions[eventType]) {
17702
+ removeEvent(component, eventType, component.eventOptions[eventType]);
17703
+ delete component.eventOptions[eventType];
17704
+ }
17705
+ if (isFunction(event)) {
17706
+ component.eventOptions[eventType] = event;
17707
+ addEvent(component, eventType, event);
17708
+ }
17740
17709
  }
17741
- }
17742
- });
17743
- };
17710
+ });
17711
+ }
17712
+ Foundation.registerEventOptions = registerEventOptions;
17713
+ })(Foundation || (Foundation = {}));
17744
17714
  /* *
17745
17715
  *
17746
17716
  * Default Export
17747
17717
  *
17748
17718
  * */
17749
- var exports = {
17750
- registerEventOptions: registerEventOptions
17751
- };
17752
17719
 
17753
- return exports;
17720
+ return Foundation;
17754
17721
  });
17755
17722
  _registerModule(_modules, 'Core/Axis/Tick.js', [_modules['Core/FormatUtilities.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (F, H, U) {
17756
17723
  /* *
@@ -18594,7 +18561,7 @@
18594
18561
 
18595
18562
  return Tick;
18596
18563
  });
18597
- _registerModule(_modules, 'Core/Axis/Axis.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Axis/AxisDefaults.js'], _modules['Core/Color/Color.js'], _modules['Core/Color/Palette.js'], _modules['Core/DefaultOptions.js'], _modules['Core/Foundation.js'], _modules['Core/Globals.js'], _modules['Core/Axis/Tick.js'], _modules['Core/Utilities.js']], function (A, AxisDefaults, Color, Palette, D, F, H, Tick, U) {
18564
+ _registerModule(_modules, 'Core/Axis/Axis.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Axis/AxisDefaults.js'], _modules['Core/Color/Color.js'], _modules['Core/DefaultOptions.js'], _modules['Core/Foundation.js'], _modules['Core/Globals.js'], _modules['Core/Axis/Tick.js'], _modules['Core/Utilities.js']], function (A, AxisDefaults, Color, D, F, H, Tick, U) {
18598
18565
  /* *
18599
18566
  *
18600
18567
  * (c) 2010-2021 Torstein Honsi
@@ -19483,7 +19450,10 @@
19483
19450
  if (axis.isXAxis &&
19484
19451
  typeof axis.minRange === 'undefined' &&
19485
19452
  !log) {
19486
- if (defined(options.min) || defined(options.max)) {
19453
+ if (defined(options.min) ||
19454
+ defined(options.max) ||
19455
+ defined(options.floor) ||
19456
+ defined(options.ceiling)) {
19487
19457
  axis.minRange = null; // don't do this again
19488
19458
  }
19489
19459
  else {
@@ -19787,8 +19757,10 @@
19787
19757
  var maxPadding = options.maxPadding,
19788
19758
  minPadding = options.minPadding,
19789
19759
  length,
19790
- linkedParentExtremes,
19791
- tickIntervalOption = options.tickInterval,
19760
+ linkedParentExtremes,
19761
+ // Only non-negative tickInterval is valid, #12961
19762
+ tickIntervalOption = isNumber(options.tickInterval) && options.tickInterval >= 0 ?
19763
+ options.tickInterval : void 0,
19792
19764
  threshold = isNumber(axis.threshold) ? axis.threshold : null,
19793
19765
  thresholdMin,
19794
19766
  thresholdMax,
@@ -19962,15 +19934,18 @@
19962
19934
  // This is in turn needed in order to find tick positions in ordinal
19963
19935
  // axes.
19964
19936
  if (isXAxis && !secondPass) {
19937
+ var hasExtemesChanged_1 = axis.min !== (axis.old && axis.old.min) ||
19938
+ axis.max !== (axis.old && axis.old.max);
19965
19939
  // First process all series assigned to that axis.
19966
19940
  axis.series.forEach(function (series) {
19967
19941
  // Allows filtering out points outside the plot area.
19968
19942
  series.forceCrop = series.forceCropping && series.forceCropping();
19969
- series.processData(axis.min !== (axis.old && axis.old.min) ||
19970
- axis.max !== (axis.old && axis.old.max));
19943
+ series.processData(hasExtemesChanged_1);
19971
19944
  });
19972
19945
  // Then apply grouping if needed.
19973
- fireEvent(this, 'postProcessData');
19946
+ // The hasExtemesChanged helps to decide if the data grouping should
19947
+ // be skipped in the further calculations #16319.
19948
+ fireEvent(this, 'postProcessData', { hasExtemesChanged: hasExtemesChanged_1 });
19974
19949
  }
19975
19950
  // set the translation factor used in translate function
19976
19951
  axis.setAxisTranslation();
@@ -20392,8 +20367,6 @@
20392
20367
  * Set extremes off ticks
20393
20368
  * @sample stock/members/axis-setextremes/
20394
20369
  * Set extremes in Highcharts Stock
20395
- * @sample maps/members/axis-setextremes/
20396
- * Set extremes in Highmaps
20397
20370
  *
20398
20371
  * @function Highcharts.Axis#setExtremes
20399
20372
  *
@@ -20545,8 +20518,6 @@
20545
20518
  *
20546
20519
  * @sample highcharts/members/axis-getextremes/
20547
20520
  * Report extremes by click on a button
20548
- * @sample maps/members/axis-getextremes/
20549
- * Get extremes in Highmaps
20550
20521
  *
20551
20522
  * @function Highcharts.Axis#getExtremes
20552
20523
  *
@@ -21046,12 +21017,15 @@
21046
21017
  var _this = this;
21047
21018
  var axis = this,
21048
21019
  chart = axis.chart,
21049
- renderer = chart.renderer,
21050
- options = axis.options,
21051
- tickPositions = axis.tickPositions,
21052
- ticks = axis.ticks,
21053
21020
  horiz = axis.horiz,
21021
+ options = axis.options,
21054
21022
  side = axis.side,
21023
+ ticks = axis.ticks,
21024
+ tickPositions = axis.tickPositions,
21025
+ coll = axis.coll,
21026
+ axisParent = axis.axisParent // Used in color axis
21027
+ ,
21028
+ renderer = chart.renderer,
21055
21029
  invertedSide = (chart.inverted && !axis.isZAxis ?
21056
21030
  [1, 0, 3, 2][side] :
21057
21031
  side),
@@ -21061,9 +21035,8 @@
21061
21035
  axisOffset = chart.axisOffset,
21062
21036
  clipOffset = chart.clipOffset,
21063
21037
  directionFactor = [-1, 1, 1, -1][side],
21064
- className = options.className,
21065
- axisParent = axis.axisParent; // Used in color axis
21066
- var showAxis,
21038
+ className = options.className;
21039
+ var showAxis,
21067
21040
  titleOffset = 0,
21068
21041
  titleOffsetOption,
21069
21042
  titleMargin = 0,
@@ -21080,7 +21053,7 @@
21080
21053
  suffix,
21081
21054
  zIndex) { return renderer.g(name)
21082
21055
  .attr({ zIndex: zIndex })
21083
- .addClass("highcharts-" + _this.coll.toLowerCase() + suffix + " " +
21056
+ .addClass("highcharts-" + coll.toLowerCase() + suffix + " " +
21084
21057
  (_this.isRadial ? "highcharts-radial-axis" + suffix + " " : '') +
21085
21058
  (className || ''))
21086
21059
  .add(axisParent); };
@@ -21158,21 +21131,23 @@
21158
21131
  }
21159
21132
  // Due to GridAxis.tickSize, tickSize should be calculated after ticks
21160
21133
  // has rendered.
21161
- var tickSize = this.tickSize('tick');
21162
- axisOffset[side] = Math.max(axisOffset[side], (axis.axisTitleMargin || 0) + titleOffset +
21163
- directionFactor * axis.offset, labelOffsetPadded, // #3027
21164
- tickPositions && tickPositions.length && tickSize ?
21165
- tickSize[0] + directionFactor * axis.offset :
21166
- 0 // #4866
21167
- );
21168
- // Decide the clipping needed to keep the graph inside
21169
- // the plot area and axis lines
21170
- var clip = options.offset ?
21171
- 0 :
21172
- // #4308, #4371:
21173
- Math.floor(axis.axisLine.strokeWidth() / 2) * 2;
21174
- clipOffset[invertedSide] =
21175
- Math.max(clipOffset[invertedSide], clip);
21134
+ if (coll !== 'colorAxis') {
21135
+ var tickSize = this.tickSize('tick');
21136
+ axisOffset[side] = Math.max(axisOffset[side], (axis.axisTitleMargin || 0) + titleOffset +
21137
+ directionFactor * axis.offset, labelOffsetPadded, // #3027
21138
+ tickPositions && tickPositions.length && tickSize ?
21139
+ tickSize[0] + directionFactor * axis.offset :
21140
+ 0 // #4866
21141
+ );
21142
+ // Decide the clipping needed to keep the graph inside
21143
+ // the plot area and axis lines
21144
+ var clip = !axis.axisLine || options.offset ?
21145
+ 0 :
21146
+ // #4308, #4371:
21147
+ Math.floor(axis.axisLine.strokeWidth() / 2) * 2;
21148
+ clipOffset[invertedSide] =
21149
+ Math.max(clipOffset[invertedSide], clip);
21150
+ }
21176
21151
  fireEvent(this, 'afterGetOffset');
21177
21152
  };
21178
21153
  /**
@@ -21706,10 +21681,10 @@
21706
21681
  stroke: options.color ||
21707
21682
  (categorized ?
21708
21683
  Color
21709
- .parse(Palette.highlightColor20)
21684
+ .parse("#ccd6eb" /* highlightColor20 */)
21710
21685
  .setOpacity(0.25)
21711
21686
  .get() :
21712
- Palette.neutralColor20),
21687
+ "#cccccc" /* neutralColor20 */),
21713
21688
  'stroke-width': pick(options.width, 1)
21714
21689
  }).css({
21715
21690
  'pointer-events': 'none'
@@ -22859,7 +22834,7 @@
22859
22834
 
22860
22835
  return PlotLineOrBandAxis;
22861
22836
  });
22862
- _registerModule(_modules, 'Core/Axis/PlotLineOrBand/PlotLineOrBand.js', [_modules['Core/Color/Palette.js'], _modules['Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js'], _modules['Core/Utilities.js']], function (Palette, PlotLineOrBandAxis, U) {
22837
+ _registerModule(_modules, 'Core/Axis/PlotLineOrBand/PlotLineOrBand.js', [_modules['Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js'], _modules['Core/Utilities.js']], function (PlotLineOrBandAxis, U) {
22863
22838
  /* *
22864
22839
  *
22865
22840
  * (c) 2010-2021 Torstein Honsi
@@ -22965,7 +22940,7 @@
22965
22940
  // Set the presentational attributes
22966
22941
  if (!axis.chart.styledMode) {
22967
22942
  if (isLine) {
22968
- attribs.stroke = color || Palette.neutralColor40;
22943
+ attribs.stroke = color || "#999999" /* neutralColor40 */;
22969
22944
  attribs['stroke-width'] = pick(options.width, 1);
22970
22945
  if (options.dashStyle) {
22971
22946
  attribs.dashstyle =
@@ -22973,7 +22948,7 @@
22973
22948
  }
22974
22949
  }
22975
22950
  else if (isBand) { // plot band
22976
- attribs.fill = color || Palette.highlightColor10;
22951
+ attribs.fill = color || "#e6ebf5" /* highlightColor10 */;
22977
22952
  if (options.borderWidth) {
22978
22953
  attribs.stroke = options.borderColor;
22979
22954
  attribs['stroke-width'] = options.borderWidth;
@@ -23238,7 +23213,7 @@
23238
23213
  * Plot band on Y axis
23239
23214
  *
23240
23215
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
23241
- * @default ${palette.highlightColor10}
23216
+ * @default #e6ebf5
23242
23217
  * @apioption xAxis.plotBands.color
23243
23218
  */
23244
23219
  /**
@@ -23486,7 +23461,7 @@
23486
23461
  * Plot line on Y axis
23487
23462
  *
23488
23463
  * @type {Highcharts.ColorString}
23489
- * @default ${palette.neutralColor40}
23464
+ * @default #999999
23490
23465
  * @apioption xAxis.plotLines.color
23491
23466
  */
23492
23467
  /**
@@ -23763,7 +23738,7 @@
23763
23738
 
23764
23739
  return PlotLineOrBand;
23765
23740
  });
23766
- _registerModule(_modules, 'Core/Tooltip.js', [_modules['Core/FormatUtilities.js'], _modules['Core/Globals.js'], _modules['Core/Color/Palette.js'], _modules['Core/Renderer/RendererUtilities.js'], _modules['Core/Renderer/RendererRegistry.js'], _modules['Core/Utilities.js']], function (F, H, palette, R, RendererRegistry, U) {
23741
+ _registerModule(_modules, 'Core/Tooltip.js', [_modules['Core/FormatUtilities.js'], _modules['Core/Globals.js'], _modules['Core/Renderer/RendererUtilities.js'], _modules['Core/Renderer/RendererRegistry.js'], _modules['Core/Utilities.js']], function (F, H, R, RendererRegistry, U) {
23767
23742
  /* *
23768
23743
  *
23769
23744
  * (c) 2010-2021 Torstein Honsi
@@ -23815,7 +23790,13 @@
23815
23790
  *
23816
23791
  * */
23817
23792
  function Tooltip(chart, options) {
23818
- this.container = void 0;
23793
+ /* *
23794
+ *
23795
+ * Properties
23796
+ *
23797
+ * */
23798
+ this.allowShared = true;
23799
+ this.container = void 0;
23819
23800
  this.crosshairs = [];
23820
23801
  this.distance = 0;
23821
23802
  this.isHidden = true;
@@ -23954,7 +23935,7 @@
23954
23935
  this.label = this.label.destroy();
23955
23936
  }
23956
23937
  if (this.split && this.tt) {
23957
- this.cleanSplit(this.chart, true);
23938
+ this.cleanSplit(true);
23958
23939
  this.tt = this.tt.destroy();
23959
23940
  }
23960
23941
  if (this.renderer) {
@@ -24048,12 +24029,14 @@
24048
24029
  * Creates the Tooltip label element if it does not exist, then returns it.
24049
24030
  *
24050
24031
  * @function Highcharts.Tooltip#getLabel
24032
+ *
24051
24033
  * @return {Highcharts.SVGElement}
24052
24034
  */
24053
24035
  Tooltip.prototype.getLabel = function () {
24054
24036
  var tooltip = this,
24055
24037
  styledMode = this.chart.styledMode,
24056
24038
  options = this.options,
24039
+ doSplit = this.split && this.allowShared,
24057
24040
  className = ('tooltip' + (defined(options.className) ?
24058
24041
  ' ' + options.className :
24059
24042
  '')),
@@ -24074,6 +24057,14 @@
24074
24057
  };
24075
24058
  var container,
24076
24059
  renderer = this.chart.renderer;
24060
+ // If changing from a split tooltip to a non-split tooltip, we must
24061
+ // destroy it in order to get the SVG right. #13868.
24062
+ if (tooltip.label) {
24063
+ var wasSplit = !tooltip.label.hasClass('highcharts-label');
24064
+ if ((doSplit && !wasSplit) || (!doSplit && wasSplit)) {
24065
+ tooltip.destroy();
24066
+ }
24067
+ }
24077
24068
  if (!this.label) {
24078
24069
  if (this.outside) {
24079
24070
  var chartStyle = this.chart.options.chart.style,
@@ -24108,7 +24099,7 @@
24108
24099
  this.renderer = renderer = new Renderer(container, 0, 0, chartStyle, void 0, void 0, renderer.styledMode);
24109
24100
  }
24110
24101
  // Create the label
24111
- if (this.split) {
24102
+ if (doSplit) {
24112
24103
  this.label = renderer.g(className);
24113
24104
  }
24114
24105
  else {
@@ -24227,8 +24218,17 @@
24227
24218
  ]);
24228
24219
  };
24229
24220
  var first = buildDimensionArray('y'), second = buildDimensionArray('x'), swapped;
24221
+ // Handle negative points or reversed axis (#13780)
24222
+ var flipped = !!point.negative;
24223
+ if (!chart.polar &&
24224
+ chart.hoverSeries &&
24225
+ chart.hoverSeries.yAxis &&
24226
+ chart.hoverSeries.yAxis.reversed) {
24227
+ flipped = !flipped;
24228
+ }
24230
24229
  // The far side is right or bottom
24231
- var preferFarSide = !this.followPointer && pick(point.ttBelow, !chart.inverted === !!point.negative), // #4984
24230
+ var preferFarSide = !this.followPointer &&
24231
+ pick(point.ttBelow, !chart.inverted === flipped), // #4984
24232
24232
  /*
24233
24233
  * Handle the preferred dimension. When the preferred dimension is
24234
24234
  * tooltip on top or bottom of the point,
@@ -24530,6 +24530,11 @@
24530
24530
  return;
24531
24531
  }
24532
24532
  U.clearTimeout(this.hideTimer);
24533
+ // A switch saying if this specific tooltip configuration allows shared
24534
+ // or split modes
24535
+ tooltip.allowShared = !(!isArray(pointOrPoints) &&
24536
+ pointOrPoints.series &&
24537
+ pointOrPoints.series.noSharedTooltip);
24533
24538
  // get the reference point coordinates (pie charts use tooltipPos)
24534
24539
  tooltip.followPointer = !tooltip.split && point.series.tooltipOptions.followPointer;
24535
24540
  var anchor = tooltip.getAnchor(pointOrPoints,
@@ -24537,10 +24542,7 @@
24537
24542
  x = anchor[0],
24538
24543
  y = anchor[1];
24539
24544
  // shared tooltip, array is sent over
24540
- if (shared &&
24541
- !(!isArray(pointOrPoints) &&
24542
- pointOrPoints.series &&
24543
- pointOrPoints.series.noSharedTooltip)) {
24545
+ if (shared && tooltip.allowShared) {
24544
24546
  chart.pointer.applyInactiveState(points);
24545
24547
  // Now set hover state for the choosen ones:
24546
24548
  points.forEach(function (item) {
@@ -24569,20 +24571,22 @@
24569
24571
  }
24570
24572
  else {
24571
24573
  // update text
24572
- if (tooltip.split) {
24574
+ if (tooltip.split && tooltip.allowShared) { // #13868
24573
24575
  this.renderSplit(text, points);
24574
24576
  }
24575
24577
  else {
24576
- var checkX = x;
24577
- var checkY = y;
24578
+ var checkX_1 = x;
24579
+ var checkY_1 = y;
24578
24580
  if (mouseEvent && chart.pointer.isDirectTouch) {
24579
- checkX = mouseEvent.chartX - chart.plotLeft;
24580
- checkY = mouseEvent.chartY - chart.plotTop;
24581
+ checkX_1 = mouseEvent.chartX - chart.plotLeft;
24582
+ checkY_1 = mouseEvent.chartY - chart.plotTop;
24581
24583
  }
24582
24584
  // #11493, #13095
24583
24585
  if (chart.polar ||
24584
24586
  currentSeries.options.clip === false ||
24585
- currentSeries.shouldShowTooltip(checkX, checkY)) {
24587
+ points.some(function (p) {
24588
+ return p.series.shouldShowTooltip(checkX_1, checkY_1);
24589
+ })) {
24586
24590
  var label = tooltip.getLabel();
24587
24591
  // Prevent the tooltip from flowing over the chart box
24588
24592
  // (#6659)
@@ -24605,7 +24609,7 @@
24605
24609
  stroke: (options.borderColor ||
24606
24610
  point.color ||
24607
24611
  currentSeries.color ||
24608
- palette.neutralColor60)
24612
+ "#666666" /* neutralColor60 */)
24609
24613
  });
24610
24614
  }
24611
24615
  tooltip.updatePosition({
@@ -24804,7 +24808,7 @@
24804
24808
  stroke: (options.borderColor ||
24805
24809
  point.color ||
24806
24810
  series.color ||
24807
- palette.neutralColor80)
24811
+ "#333333" /* neutralColor80 */)
24808
24812
  });
24809
24813
  }
24810
24814
  return tt;
@@ -25809,13 +25813,14 @@
25809
25813
  * transformed to `{ y: 10 }`, and an array config like `[1, 10]` in a
25810
25814
  * scatter series will be transformed to `{ x: 1, y: 10 }`.
25811
25815
  *
25816
+ * @deprecated
25812
25817
  * @function Highcharts.Point#optionsToObject
25813
25818
  *
25814
25819
  * @param {Highcharts.PointOptionsType} options
25815
- * The input option.
25820
+ * Series data options.
25816
25821
  *
25817
25822
  * @return {Highcharts.Dictionary<*>}
25818
- * Transformed options.
25823
+ * Transformed point options.
25819
25824
  */
25820
25825
  Point.prototype.optionsToObject = function (options) {
25821
25826
  var series = this.series,
@@ -26366,7 +26371,8 @@
26366
26371
  });
26367
26372
  }
26368
26373
  }
26369
- if (!chart.styledMode && stateMarkerGraphic) {
26374
+ if (!chart.styledMode && stateMarkerGraphic &&
26375
+ point.state !== 'inactive') {
26370
26376
  stateMarkerGraphic.attr(series.pointAttribs(point, state));
26371
26377
  }
26372
26378
  }
@@ -26644,7 +26650,7 @@
26644
26650
 
26645
26651
  return Point;
26646
26652
  });
26647
- _registerModule(_modules, 'Core/Pointer.js', [_modules['Core/Color/Color.js'], _modules['Core/Globals.js'], _modules['Core/Color/Palette.js'], _modules['Core/Tooltip.js'], _modules['Core/Utilities.js']], function (Color, H, Palette, Tooltip, U) {
26653
+ _registerModule(_modules, 'Core/Pointer.js', [_modules['Core/Color/Color.js'], _modules['Core/Globals.js'], _modules['Core/Tooltip.js'], _modules['Core/Utilities.js']], function (Color, H, Tooltip, U) {
26648
26654
  /* *
26649
26655
  *
26650
26656
  * (c) 2010-2021 Torstein Honsi
@@ -26833,7 +26839,7 @@
26833
26839
  visiblePlotOnly: true
26834
26840
  });
26835
26841
  // make a selection
26836
- if (chart.hasCartesianSeries &&
26842
+ if ((chart.hasCartesianSeries || chart.mapView) &&
26837
26843
  (this.zoomX || this.zoomY) &&
26838
26844
  clickedInside &&
26839
26845
  !panKey) {
@@ -26848,7 +26854,7 @@
26848
26854
  if (!chart.styledMode) {
26849
26855
  selectionMarker.attr({
26850
26856
  fill: (chartOptions.selectionMarkerFill ||
26851
- color(Palette.highlightColor80)
26857
+ color("#335cad" /* highlightColor80 */)
26852
26858
  .setOpacity(0.25).get())
26853
26859
  });
26854
26860
  }
@@ -26901,25 +26907,22 @@
26901
26907
  chart = this.chart,
26902
26908
  hasPinched = this.hasPinched;
26903
26909
  if (this.selectionMarker) {
26904
- var selectionData_1 = {
26905
- originalEvent: e,
26906
- xAxis: [],
26907
- yAxis: []
26908
- },
26909
- selectionBox = this.selectionMarker,
26910
- selectionLeft_1 = selectionBox.attr ?
26911
- selectionBox.attr('x') :
26912
- selectionBox.x,
26913
- selectionTop_1 = selectionBox.attr ?
26914
- selectionBox.attr('y') :
26915
- selectionBox.y,
26916
- selectionWidth_1 = selectionBox.attr ?
26910
+ var selectionBox = this.selectionMarker, x_1 = selectionBox.attr ? selectionBox.attr('x') : selectionBox.x, y_1 = selectionBox.attr ? selectionBox.attr('y') : selectionBox.y, width_1 = selectionBox.attr ?
26917
26911
  selectionBox.attr('width') :
26918
- selectionBox.width,
26919
- selectionHeight_1 = selectionBox.attr ?
26912
+ selectionBox.width, height_1 = selectionBox.attr ?
26920
26913
  selectionBox.attr('height') :
26921
- selectionBox.height;
26922
- var runZoom_1;
26914
+ selectionBox.height, selectionData_1 = {
26915
+ originalEvent: e,
26916
+ xAxis: [],
26917
+ yAxis: [],
26918
+ x: x_1,
26919
+ y: y_1,
26920
+ width: width_1,
26921
+ height: height_1
26922
+ },
26923
+ // Start by false runZoom, unless when we have a mapView, in
26924
+ // which case the zoom will be handled in the selection event.
26925
+ runZoom_1 = Boolean(chart.mapView);
26923
26926
  // a selection has been made
26924
26927
  if (this.hasDragged || hasPinched) {
26925
26928
  // record each axis' min and max
@@ -26931,17 +26934,15 @@
26931
26934
  xAxis: 'zoomX',
26932
26935
  yAxis: 'zoomY'
26933
26936
  }[axis.coll]]) &&
26934
- isNumber(selectionLeft_1) &&
26935
- isNumber(selectionTop_1)) { // #859, #3569
26937
+ isNumber(x_1) &&
26938
+ isNumber(y_1)) { // #859, #3569
26936
26939
  var horiz = axis.horiz,
26937
26940
  minPixelPadding = e.type === 'touchend' ?
26938
26941
  axis.minPixelPadding :
26939
26942
  0, // #1207, #3075
26940
- selectionMin = axis.toValue((horiz ? selectionLeft_1 : selectionTop_1) +
26941
- minPixelPadding),
26942
- selectionMax = axis.toValue((horiz ?
26943
- selectionLeft_1 + selectionWidth_1 :
26944
- selectionTop_1 + selectionHeight_1) - minPixelPadding);
26943
+ selectionMin = axis.toValue((horiz ? x_1 : y_1) + minPixelPadding),
26944
+ selectionMax = axis.toValue((horiz ? x_1 + width_1 : y_1 + height_1) -
26945
+ minPixelPadding);
26945
26946
  selectionData_1[axis.coll].push({
26946
26947
  axis: axis,
26947
26948
  // Min/max for reversed axes
@@ -27657,20 +27658,22 @@
27657
27658
  }
27658
27659
  else if (pinchDown.length) { // can be 0 when releasing, if touchend
27659
27660
  // fires first
27660
- // Set the marker
27661
- if (!selectionMarker) {
27662
- // @todo It's a mock object, so maybe we need a separate
27663
- // interface
27664
- self.selectionMarker = selectionMarker = extend({
27665
- destroy: noop,
27666
- touch: true
27667
- }, chart.plotBox);
27668
- }
27669
- self.pinchTranslate(pinchDown, touches, transform, selectionMarker, clip, lastValidTouch);
27670
- self.hasPinched = hasZoom;
27671
- // Scale and translate the groups to provide visual feedback during
27672
- // pinching
27673
- self.scaleGroups(transform, clip);
27661
+ fireEvent(chart, 'touchpan', { originalEvent: e }, function () {
27662
+ // Set the marker
27663
+ if (!selectionMarker) {
27664
+ // @todo It's a mock object, so maybe we need a separate
27665
+ // interface
27666
+ self.selectionMarker = selectionMarker = extend({
27667
+ destroy: noop,
27668
+ touch: true
27669
+ }, chart.plotBox);
27670
+ }
27671
+ self.pinchTranslate(pinchDown, touches, transform, selectionMarker, clip, lastValidTouch);
27672
+ self.hasPinched = hasZoom;
27673
+ // Scale and translate the groups to provide visual feedback
27674
+ // during pinching
27675
+ self.scaleGroups(transform, clip);
27676
+ });
27674
27677
  if (self.res) {
27675
27678
  self.res = false;
27676
27679
  this.reset(false, 0);
@@ -27997,7 +28000,9 @@
27997
28000
  // Scale each series
27998
28001
  chart.series.forEach(function (series) {
27999
28002
  var seriesAttribs = attribs || series.getPlotBox(); // #1701
28000
- if (series.xAxis && series.xAxis.zoomEnabled && series.group) {
28003
+ if (series.group &&
28004
+ ((series.xAxis && series.xAxis.zoomEnabled) ||
28005
+ chart.mapView)) {
28001
28006
  series.group.attr(seriesAttribs);
28002
28007
  if (series.markerGroup) {
28003
28008
  series.markerGroup.attr(seriesAttribs);
@@ -29451,10 +29456,14 @@
29451
29456
  if (lastY) {
29452
29457
  allItems[i - 1].pageIx = len - 1;
29453
29458
  }
29454
- if (i === allItems.length - 1 &&
29459
+ // add the last page if needed (#2617, #13683)
29460
+ if (
29461
+ // check the last item
29462
+ i === allItems.length - 1 &&
29463
+ // if adding next page is needed
29455
29464
  y + h - pages[len - 1] > clipHeight &&
29456
- y !== lastY // #2617
29457
- ) {
29465
+ // and will fully fit inside a new page
29466
+ h <= clipHeight) {
29458
29467
  pages.push(y);
29459
29468
  item.pageIx = len;
29460
29469
  }
@@ -29946,8 +29955,7 @@
29946
29955
  SeriesRegistry.seriesTypes[type].prototype.type = type;
29947
29956
  // Create the point class if needed
29948
29957
  if (pointProto) {
29949
- SeriesRegistry.seriesTypes[type].prototype.pointClass =
29950
- extendClass(Point, pointProto);
29958
+ SeriesRegistry.seriesTypes[type].prototype.pointClass = extendClass(Point, pointProto);
29951
29959
  }
29952
29960
  return SeriesRegistry.seriesTypes[type];
29953
29961
  }
@@ -29962,7 +29970,7 @@
29962
29970
 
29963
29971
  return SeriesRegistry;
29964
29972
  });
29965
- _registerModule(_modules, 'Core/Chart/Chart.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Axis/Axis.js'], _modules['Core/FormatUtilities.js'], _modules['Core/Foundation.js'], _modules['Core/Globals.js'], _modules['Core/Legend/Legend.js'], _modules['Core/MSPointer.js'], _modules['Core/DefaultOptions.js'], _modules['Core/Color/Palette.js'], _modules['Core/Pointer.js'], _modules['Core/Renderer/RendererRegistry.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Renderer/SVG/SVGRenderer.js'], _modules['Core/Time.js'], _modules['Core/Utilities.js'], _modules['Core/Renderer/HTML/AST.js']], function (A, Axis, FormatUtilities, Foundation, H, Legend, MSPointer, D, palette, Pointer, RendererRegistry, SeriesRegistry, SVGRenderer, Time, U, AST) {
29973
+ _registerModule(_modules, 'Core/Chart/Chart.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Axis/Axis.js'], _modules['Core/FormatUtilities.js'], _modules['Core/Foundation.js'], _modules['Core/Globals.js'], _modules['Core/Legend/Legend.js'], _modules['Core/MSPointer.js'], _modules['Core/DefaultOptions.js'], _modules['Core/Pointer.js'], _modules['Core/Renderer/RendererRegistry.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Renderer/SVG/SVGRenderer.js'], _modules['Core/Time.js'], _modules['Core/Utilities.js'], _modules['Core/Renderer/HTML/AST.js']], function (A, Axis, FormatUtilities, Foundation, H, Legend, MSPointer, D, Pointer, RendererRegistry, SeriesRegistry, SVGRenderer, Time, U, AST) {
29966
29974
  /* *
29967
29975
  *
29968
29976
  * (c) 2010-2021 Torstein Honsi
@@ -30763,10 +30771,10 @@
30763
30771
  var chart = this;
30764
30772
  // Default style
30765
30773
  var style = name === 'title' ? {
30766
- color: palette.neutralColor80,
30774
+ color: "#333333" /* neutralColor80 */,
30767
30775
  fontSize: this.options.isStock ? '16px' : '18px' // #2944
30768
30776
  } : {
30769
- color: palette.neutralColor60
30777
+ color: "#666666" /* neutralColor60 */
30770
30778
  };
30771
30779
  // Merge default options with explicit options
30772
30780
  var options = this.options[name] = merge(
@@ -33173,7 +33181,7 @@
33173
33181
 
33174
33182
  return LegendSymbol;
33175
33183
  });
33176
- _registerModule(_modules, 'Core/Series/SeriesDefaults.js', [_modules['Core/Color/Palette.js']], function (Palette) {
33184
+ _registerModule(_modules, 'Core/Series/SeriesDefaults.js', [], function () {
33177
33185
  /* *
33178
33186
  *
33179
33187
  * (c) 2010-2021 Torstein Honsi
@@ -34156,7 +34164,7 @@
34156
34164
  *
34157
34165
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
34158
34166
  */
34159
- lineColor: Palette.backgroundColor,
34167
+ lineColor: "#ffffff" /* backgroundColor */,
34160
34168
  /**
34161
34169
  * The width of the point marker's outline.
34162
34170
  *
@@ -34356,7 +34364,7 @@
34356
34364
  *
34357
34365
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
34358
34366
  */
34359
- fillColor: Palette.neutralColor20,
34367
+ fillColor: "#cccccc" /* neutralColor20 */,
34360
34368
  /**
34361
34369
  * The color of the point marker's outline. When
34362
34370
  * `undefined`, the series' or point's color is used.
@@ -34366,7 +34374,7 @@
34366
34374
  *
34367
34375
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
34368
34376
  */
34369
- lineColor: Palette.neutralColor100,
34377
+ lineColor: "#000000" /* neutralColor100 */,
34370
34378
  /**
34371
34379
  * The width of the point marker's outline.
34372
34380
  *
@@ -35467,7 +35475,7 @@
35467
35475
 
35468
35476
  return seriesDefaults;
35469
35477
  });
35470
- _registerModule(_modules, 'Core/Series/Series.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/DefaultOptions.js'], _modules['Core/Foundation.js'], _modules['Core/Globals.js'], _modules['Core/Legend/LegendSymbol.js'], _modules['Core/Color/Palette.js'], _modules['Core/Series/Point.js'], _modules['Core/Series/SeriesDefaults.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Renderer/SVG/SVGElement.js'], _modules['Core/Utilities.js']], function (A, D, F, H, LegendSymbol, Palette, Point, SeriesDefaults, SeriesRegistry, SVGElement, U) {
35478
+ _registerModule(_modules, 'Core/Series/Series.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/DefaultOptions.js'], _modules['Core/Foundation.js'], _modules['Core/Globals.js'], _modules['Core/Legend/LegendSymbol.js'], _modules['Core/Series/Point.js'], _modules['Core/Series/SeriesDefaults.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Renderer/SVG/SVGElement.js'], _modules['Core/Utilities.js']], function (A, D, F, H, LegendSymbol, Point, SeriesDefaults, SeriesRegistry, SVGElement, U) {
35471
35479
  /* *
35472
35480
  *
35473
35481
  * (c) 2010-2021 Torstein Honsi
@@ -36084,7 +36092,7 @@
36084
36092
  this.getCyclic('color');
36085
36093
  }
36086
36094
  else if (this.options.colorByPoint) {
36087
- this.color = Palette.neutralColor20;
36095
+ this.color = "#cccccc" /* neutralColor20 */;
36088
36096
  }
36089
36097
  else {
36090
36098
  this.getCyclic('color', this.options.color ||
@@ -36415,11 +36423,19 @@
36415
36423
  }
36416
36424
  else if (isArray(firstPoint)) {
36417
36425
  if (valueCount) { // [x, low, high] or [x, o, h, l, c]
36418
- for (i = 0; i < dataLength; i++) {
36419
- pt = data[i];
36420
- xData[i] = pt[0];
36421
- yData[i] =
36422
- pt.slice(1, valueCount + 1);
36426
+ if (firstPoint.length === valueCount) {
36427
+ for (i = 0; i < dataLength; i++) {
36428
+ xData[i] = this.autoIncrement();
36429
+ yData[i] = data[i];
36430
+ }
36431
+ }
36432
+ else {
36433
+ for (i = 0; i < dataLength; i++) {
36434
+ pt = data[i];
36435
+ xData[i] = pt[0];
36436
+ yData[i] =
36437
+ pt.slice(1, valueCount + 1);
36438
+ }
36423
36439
  }
36424
36440
  }
36425
36441
  else { // [x, y]
@@ -36429,10 +36445,21 @@
36429
36445
  indexOfX = indexOfX >= 0 ? indexOfX : 0;
36430
36446
  indexOfY = indexOfY >= 0 ? indexOfY : 1;
36431
36447
  }
36432
- for (i = 0; i < dataLength; i++) {
36433
- pt = data[i];
36434
- xData[i] = pt[indexOfX];
36435
- yData[i] = pt[indexOfY];
36448
+ if (firstPoint.length === 1) {
36449
+ indexOfY = 0;
36450
+ }
36451
+ if (indexOfX === indexOfY) {
36452
+ for (i = 0; i < dataLength; i++) {
36453
+ xData[i] = this.autoIncrement();
36454
+ yData[i] = data[i][indexOfY];
36455
+ }
36456
+ }
36457
+ else {
36458
+ for (i = 0; i < dataLength; i++) {
36459
+ pt = data[i];
36460
+ xData[i] = pt[indexOfX];
36461
+ yData[i] = pt[indexOfY];
36462
+ }
36436
36463
  }
36437
36464
  }
36438
36465
  }
@@ -36676,6 +36703,7 @@
36676
36703
  series.processedXData = processedData.xData;
36677
36704
  series.processedYData = processedData.yData;
36678
36705
  series.closestPointRange = series.basePointRange = processedData.closestPointRange;
36706
+ fireEvent(series, 'afterProcessData');
36679
36707
  };
36680
36708
  /**
36681
36709
  * Iterate over xData and crop values between min and max. Returns
@@ -36786,6 +36814,9 @@
36786
36814
  *
36787
36815
  * @name Highcharts.Point#dataGroup
36788
36816
  * @type {Highcharts.DataGroupingInfoObject|undefined}
36817
+ *
36818
+ * @sample stock/members/point-datagroup
36819
+ * Click to inspect raw data points
36789
36820
  */
36790
36821
  point.dataGroup = series.groupMap[groupCropStartIndex + i];
36791
36822
  if (point.dataGroup.options) {
@@ -36948,6 +36979,7 @@
36948
36979
  }
36949
36980
  }
36950
36981
  var dataExtremes = {
36982
+ activeYData: activeYData,
36951
36983
  dataMin: arrayMin(activeYData),
36952
36984
  dataMax: arrayMax(activeYData)
36953
36985
  };
@@ -37029,7 +37061,6 @@
37029
37061
  yAxis = series.yAxis,
37030
37062
  points = series.points,
37031
37063
  dataLength = points.length,
37032
- hasModifyValue = !!series.modifyValue,
37033
37064
  pointPlacement = series.pointPlacementToXValue(), // #7860
37034
37065
  dynamicallyPlaced = Boolean(pointPlacement),
37035
37066
  threshold = options.threshold,
@@ -37114,9 +37145,9 @@
37114
37145
  point.yBottom = defined(yBottom) ?
37115
37146
  limitedRange(yAxis.translate(yBottom, 0, 1, 0, 1)) :
37116
37147
  null;
37117
- // general hook, used for Highcharts Stock compare mode
37118
- if (hasModifyValue) {
37119
- yValue = series.modifyValue(yValue, point);
37148
+ // General hook, used for Highcharts Stock compare and cumulative
37149
+ if (series.dataModify) {
37150
+ yValue = series.dataModify.modifyValue(yValue, i);
37120
37151
  }
37121
37152
  // Set the the plotY value, reset it for redraws
37122
37153
  // #3201
@@ -37154,7 +37185,7 @@
37154
37185
  lastPlotX = plotX;
37155
37186
  }
37156
37187
  // Find point zone
37157
- point.zone = (this.zones.length && point.getZone());
37188
+ point.zone = this.zones.length ? point.getZone() : void 0;
37158
37189
  // Animate new points with data sorting
37159
37190
  if (!point.graphic && series.group && enabledDataSorting) {
37160
37191
  point.isNew = true;
@@ -37199,51 +37230,24 @@
37199
37230
  * @private
37200
37231
  * @function Highcharts.Series#getClip
37201
37232
  *
37202
- * @param {boolean|Partial<Highcharts.AnimationOptionsObject>} [animation]
37203
- * Initialize the animation.
37204
- *
37205
- * @param {boolean} [finalBox]
37206
- * Final size for the clip - end state for the animation.
37207
- *
37208
37233
  * @return {Highcharts.Dictionary<number>}
37209
37234
  */
37210
- Series.prototype.getClipBox = function (animation, finalBox) {
37211
- var series = this,
37212
- options = series.options,
37213
- chart = series.chart,
37214
- inverted = chart.inverted,
37215
- xAxis = series.xAxis,
37216
- yAxis = xAxis && series.yAxis,
37217
- scrollablePlotAreaOptions = chart.options.chart.scrollablePlotArea || {};
37218
- var clipBox;
37219
- if (animation && options.clip === false && yAxis) {
37220
- // support for not clipped series animation (#10450)
37221
- clipBox = inverted ? {
37222
- y: -chart.chartWidth + yAxis.len + yAxis.pos,
37223
- height: chart.chartWidth,
37224
- width: chart.chartHeight,
37225
- x: -chart.chartHeight + xAxis.len + xAxis.pos
37226
- } : {
37227
- y: -yAxis.pos,
37228
- height: chart.chartHeight,
37229
- width: chart.chartWidth,
37230
- x: -xAxis.pos
37231
- };
37232
- // x and width will be changed later when setting for animation
37233
- // initial state in Series.setClip
37235
+ Series.prototype.getClipBox = function () {
37236
+ var _a = this,
37237
+ chart = _a.chart,
37238
+ xAxis = _a.xAxis,
37239
+ yAxis = _a.yAxis;
37240
+ // If no axes on the series, use global clipBox
37241
+ var seriesBox = merge(chart.clipBox);
37242
+ // Otherwise, use clipBox.width which is corrected for plotBorderWidth
37243
+ // and clipOffset
37244
+ if (xAxis && xAxis.len !== chart.plotSizeX) {
37245
+ seriesBox.width = xAxis.len;
37234
37246
  }
37235
- else {
37236
- clipBox = series.clipBox || chart.clipBox;
37237
- if (finalBox) {
37238
- clipBox.width = chart.plotSizeX;
37239
- clipBox.x = (chart.scrollablePixelsX || 0) *
37240
- (scrollablePlotAreaOptions.scrollPositionX || 0);
37241
- }
37247
+ if (yAxis && yAxis.len !== chart.plotSizeY) {
37248
+ seriesBox.height = yAxis.len;
37242
37249
  }
37243
- return !finalBox ? clipBox : {
37244
- width: clipBox.width,
37245
- x: clipBox.x
37246
- };
37250
+ return seriesBox;
37247
37251
  };
37248
37252
  /**
37249
37253
  * Get the shared clip key, creating it if it doesn't exist.
@@ -37251,99 +37255,52 @@
37251
37255
  * @private
37252
37256
  * @function Highcharts.Series#getSharedClipKey
37253
37257
  */
37254
- Series.prototype.getSharedClipKey = function (animation) {
37255
- if (this.sharedClipKey) {
37256
- return this.sharedClipKey;
37257
- }
37258
- var sharedClipKey = [
37259
- animation && animation.duration,
37260
- animation && animation.easing,
37261
- animation && animation.defer,
37262
- this.getClipBox(animation).height,
37263
- this.options.xAxis,
37264
- this.options.yAxis
37265
- ].join(',');
37266
- if (this.options.clip !== false || animation) {
37267
- this.sharedClipKey = sharedClipKey;
37268
- }
37269
- return sharedClipKey;
37258
+ Series.prototype.getSharedClipKey = function () {
37259
+ this.sharedClipKey = (this.options.xAxis || 0) + ',' +
37260
+ (this.options.yAxis || 0);
37261
+ return this.sharedClipKey;
37270
37262
  };
37271
37263
  /**
37272
- * Set the clipping for the series. For animated series it is called
37273
- * twice, first to initiate animating the clip then the second time
37274
- * without the animation to set the final clip.
37264
+ * Set the clipping for the series. For animated series the clip is later
37265
+ * modified.
37275
37266
  *
37276
37267
  * @private
37277
37268
  * @function Highcharts.Series#setClip
37278
37269
  */
37279
- Series.prototype.setClip = function (animation) {
37280
- var chart = this.chart,
37281
- options = this.options,
37270
+ Series.prototype.setClip = function () {
37271
+ var _a = this,
37272
+ chart = _a.chart,
37273
+ group = _a.group,
37274
+ markerGroup = _a.markerGroup,
37275
+ sharedClips = chart.sharedClips,
37282
37276
  renderer = chart.renderer,
37283
- inverted = chart.inverted,
37284
- seriesClipBox = this.clipBox,
37285
- clipBox = this.getClipBox(animation),
37286
- sharedClipKey = this.getSharedClipKey(animation); // #4526
37287
- var clipRect = chart.sharedClips[sharedClipKey],
37288
- markerClipRect = chart.sharedClips[sharedClipKey + 'm'];
37289
- if (animation) {
37290
- clipBox.width = 0;
37291
- if (inverted) {
37292
- clipBox.x = chart.plotHeight +
37293
- (options.clip !== false ? 0 : chart.plotTop);
37294
- }
37295
- }
37296
- // If a clipping rectangle with the same properties is currently
37297
- // present in the chart, use that.
37277
+ clipBox = this.getClipBox(),
37278
+ sharedClipKey = this.getSharedClipKey(); // #4526
37279
+ var clipRect = sharedClips[sharedClipKey];
37280
+ // If a clipping rectangle for the same set of axes does not exist,
37281
+ // create it
37298
37282
  if (!clipRect) {
37299
- // When animation is set, prepare the initial positions
37300
- if (animation) {
37301
- chart.sharedClips[sharedClipKey + 'm'] = markerClipRect =
37302
- renderer.clipRect(
37303
- // include the width of the first marker
37304
- inverted ? (chart.plotSizeX || 0) + 99 : -99, inverted ? -chart.plotLeft : -chart.plotTop, 99, inverted ? chart.chartWidth : chart.chartHeight);
37305
- }
37306
- chart.sharedClips[sharedClipKey] = clipRect = renderer.clipRect(clipBox);
37307
- // Create hashmap for series indexes
37308
- clipRect.count = { length: 0 };
37309
- // When the series is rendered again before starting animating, in
37310
- // compliance to a responsive rule
37283
+ sharedClips[sharedClipKey] = clipRect = renderer.clipRect(clipBox);
37284
+ // When setting chart size, or when the series is rendered again before
37285
+ // starting animating, in compliance to a responsive rule
37311
37286
  }
37312
- else if (!chart.hasLoaded) {
37313
- clipRect.attr(clipBox);
37314
- }
37315
- if (animation) {
37316
- if (!clipRect.count[this.index]) {
37317
- clipRect.count[this.index] = true;
37318
- clipRect.count.length += 1;
37319
- }
37287
+ else {
37288
+ clipRect.animate(clipBox);
37320
37289
  }
37321
- if (options.clip !== false || animation) {
37322
- this.group.clip(animation || seriesClipBox ? clipRect : chart.clipRect);
37323
- this.markerGroup.clip(markerClipRect);
37290
+ if (group) {
37291
+ // When clip is false, reset to no clip after animation
37292
+ group.clip(this.options.clip === false ? void 0 : clipRect);
37324
37293
  }
37325
- // Remove the shared clipping rectangle when all series are shown
37326
- if (!animation) {
37327
- if (clipRect.count[this.index]) {
37328
- delete clipRect.count[this.index];
37329
- clipRect.count.length -= 1;
37330
- }
37331
- if (clipRect.count.length === 0) {
37332
- if (!seriesClipBox) {
37333
- chart.sharedClips[sharedClipKey] = clipRect.destroy();
37334
- }
37335
- if (markerClipRect) {
37336
- chart.sharedClips[sharedClipKey + 'm'] = markerClipRect.destroy();
37337
- }
37338
- }
37294
+ // Unclip temporary animation clip
37295
+ if (markerGroup) {
37296
+ markerGroup.clip();
37339
37297
  }
37340
37298
  };
37341
37299
  /**
37342
37300
  * Animate in the series. Called internally twice. First with the `init`
37343
37301
  * parameter set to true, which sets up the initial state of the
37344
37302
  * animation. Then when ready, it is called with the `init` parameter
37345
- * undefined, in order to perform the actual animation. After the
37346
- * second run, the function is removed.
37303
+ * undefined, in order to perform the actual animation.
37347
37304
  *
37348
37305
  * @function Highcharts.Series#animate
37349
37306
  *
@@ -37351,29 +37308,70 @@
37351
37308
  * Initialize the animation.
37352
37309
  */
37353
37310
  Series.prototype.animate = function (init) {
37354
- var series = this,
37355
- chart = series.chart,
37356
- animation = animObject(series.options.animation),
37357
- sharedClipKey = this.sharedClipKey;
37311
+ var _a = this, chart = _a.chart, group = _a.group, markerGroup = _a.markerGroup, inverted = chart.inverted, animation = animObject(this.options.animation),
37312
+ // The key for temporary animation clips
37313
+ animationClipKey = [
37314
+ this.getSharedClipKey(),
37315
+ animation.duration,
37316
+ animation.easing,
37317
+ animation.defer
37318
+ ].join(',');
37319
+ var animationClipRect = chart.sharedClips[animationClipKey],
37320
+ markerAnimationClipRect = chart.sharedClips[animationClipKey + 'm'];
37358
37321
  // Initialize the animation. Set up the clipping rectangle.
37359
- if (init) {
37360
- series.setClip(animation);
37322
+ if (init && group) {
37323
+ var clipBox = this.getClipBox();
37324
+ // Create temporary animation clips
37325
+ if (!animationClipRect) {
37326
+ clipBox.width = 0;
37327
+ if (inverted) {
37328
+ clipBox.x = chart.plotHeight;
37329
+ }
37330
+ animationClipRect = chart.renderer.clipRect(clipBox);
37331
+ chart.sharedClips[animationClipKey] = animationClipRect;
37332
+ var markerClipBox = {
37333
+ // Include the width of the first marker
37334
+ x: inverted ? (chart.plotSizeX || 0) + 99 : -99,
37335
+ y: inverted ? -chart.plotLeft : -chart.plotTop,
37336
+ width: 99,
37337
+ height: inverted ? chart.chartWidth : chart.chartHeight
37338
+ };
37339
+ markerAnimationClipRect = chart.renderer.clipRect(markerClipBox);
37340
+ chart.sharedClips[animationClipKey + 'm'] = markerAnimationClipRect;
37341
+ }
37342
+ else {
37343
+ // When height changes during animation, typically due to
37344
+ // responsive settings
37345
+ animationClipRect.attr('height', clipBox.height);
37346
+ }
37347
+ group.clip(animationClipRect);
37348
+ if (markerGroup) {
37349
+ markerGroup.clip(markerAnimationClipRect);
37350
+ }
37361
37351
  // Run the animation
37362
37352
  }
37363
- else if (sharedClipKey) {
37364
- var clipRect = chart.sharedClips[sharedClipKey];
37365
- var markerClipRect = chart.sharedClips[sharedClipKey + 'm'];
37366
- var finalBox = series.getClipBox(animation,
37367
- true);
37368
- if (clipRect) {
37369
- clipRect.animate(finalBox, animation);
37370
- }
37371
- if (markerClipRect) {
37372
- markerClipRect.animate({
37373
- width: finalBox.width + 99,
37374
- x: finalBox.x - (chart.inverted ? 0 : 99)
37375
- }, animation);
37353
+ else if (animationClipRect &&
37354
+ // Only first series in this pane
37355
+ !animationClipRect.hasClass('highcharts-animating')) {
37356
+ var finalBox = this.getClipBox(),
37357
+ step_1 = animation.step;
37358
+ // Only do this when there are actually markers
37359
+ if (markerGroup && markerGroup.element.childNodes.length) {
37360
+ // To provide as smooth animation as possible, update the marker
37361
+ // group clipping in steps of the main group animation
37362
+ animation.step = function (val, fx) {
37363
+ if (step_1) {
37364
+ step_1.apply(fx, arguments);
37365
+ }
37366
+ if (markerAnimationClipRect &&
37367
+ markerAnimationClipRect.element) {
37368
+ markerAnimationClipRect.attr(fx.prop, fx.prop === 'width' ? val + 99 : val);
37369
+ }
37370
+ };
37376
37371
  }
37372
+ animationClipRect
37373
+ .addClass('highcharts-animating')
37374
+ .animate(finalBox, animation);
37377
37375
  }
37378
37376
  };
37379
37377
  /**
@@ -37385,9 +37383,17 @@
37385
37383
  * @fires Highcharts.Series#event:afterAnimate
37386
37384
  */
37387
37385
  Series.prototype.afterAnimate = function () {
37386
+ var _this = this;
37388
37387
  this.setClip();
37389
- fireEvent(this, 'afterAnimate');
37388
+ // Destroy temporary clip rectangles that are no longer in use
37389
+ objectEach(this.chart.sharedClips, function (clip, key, sharedClips) {
37390
+ if (clip && !_this.chart.container.querySelector("[clip-path=\"url(#" + clip.id + ")\"]")) {
37391
+ clip.destroy();
37392
+ delete sharedClips[key];
37393
+ }
37394
+ });
37390
37395
  this.finishedAnimating = true;
37396
+ fireEvent(this, 'afterAnimate');
37391
37397
  };
37392
37398
  /**
37393
37399
  * Draw the markers for line-like series types, and columns or other
@@ -37595,7 +37601,7 @@
37595
37601
  // Handle hover and select states
37596
37602
  state = state || 'normal';
37597
37603
  if (state) {
37598
- seriesStateOptions = seriesMarkerOptions.states[state];
37604
+ seriesStateOptions = seriesMarkerOptions.states[state] || {};
37599
37605
  pointStateOptions = (pointMarkerOptions.states &&
37600
37606
  pointMarkerOptions.states[state]) || {};
37601
37607
  strokeWidth = pick(pointStateOptions.lineWidth, seriesStateOptions.lineWidth, strokeWidth + pick(pointStateOptions.lineWidthPlus, seriesStateOptions.lineWidthPlus, 0));
@@ -37976,15 +37982,18 @@
37976
37982
  inverted = chart.inverted;
37977
37983
  // Animation doesn't work in IE8 quirks when the group div is
37978
37984
  // hidden, and looks bad in other oldIE
37979
- var animDuration = (!series.finishedAnimating &&
37980
- chart.renderer.isSVG &&
37981
- animOptions.duration);
37985
+ var animDuration = (!series.finishedAnimating && chart.renderer.isSVG) ?
37986
+ animOptions.duration : 0;
37982
37987
  fireEvent(this, 'render');
37983
37988
  // the group
37984
37989
  var group = series.plotGroup('group', 'series', visibility, zIndex, chartSeriesGroup);
37985
37990
  series.markerGroup = series.plotGroup('markerGroup', 'markers', visibility, zIndex, chartSeriesGroup);
37986
- // initiate the animation
37987
- if (animDuration && series.animate) {
37991
+ // Initial clipping, applies to columns etc. (#3839).
37992
+ if (options.clip !== false) {
37993
+ series.setClip();
37994
+ }
37995
+ // Initialize the animation
37996
+ if (series.animate && animDuration) {
37988
37997
  series.animate(true);
37989
37998
  }
37990
37999
  // SVGRenderer needs to know this before drawing elements (#1089,
@@ -38000,11 +38009,6 @@
38000
38009
  if (series.visible) {
38001
38010
  series.drawPoints();
38002
38011
  }
38003
- /* series.points.forEach(function (point) {
38004
- if (point.redraw) {
38005
- point.redraw();
38006
- }
38007
- }); */
38008
38012
  // Draw the data labels
38009
38013
  if (series.drawDataLabels) {
38010
38014
  series.drawDataLabels();
@@ -38021,15 +38025,8 @@
38021
38025
  }
38022
38026
  // Handle inverted series and tracker groups
38023
38027
  series.invertGroups(inverted);
38024
- // Initial clipping, must be defined after inverting groups for VML.
38025
- // Applies to columns etc. (#3839).
38026
- if (options.clip !== false &&
38027
- !series.sharedClipKey &&
38028
- !hasRendered) {
38029
- group.clip(chart.clipRect);
38030
- }
38031
38028
  // Run the animation
38032
- if (animDuration && series.animate) {
38029
+ if (series.animate && animDuration) {
38033
38030
  series.animate();
38034
38031
  }
38035
38032
  // Call the afterAnimate function on animation complete (but don't
@@ -38268,12 +38265,16 @@
38268
38265
  * @function Highcharts.Series#isPointInside
38269
38266
  */
38270
38267
  Series.prototype.isPointInside = function (point) {
38271
- var isInside = typeof point.plotY !== 'undefined' &&
38268
+ var _a = this,
38269
+ chart = _a.chart,
38270
+ xAxis = _a.xAxis,
38271
+ yAxis = _a.yAxis,
38272
+ isInside = (typeof point.plotY !== 'undefined' &&
38272
38273
  typeof point.plotX !== 'undefined' &&
38273
38274
  point.plotY >= 0 &&
38274
- point.plotY <= this.yAxis.len && // #3519
38275
+ point.plotY <= (yAxis ? yAxis.len : chart.plotHeight) &&
38275
38276
  point.plotX >= 0 &&
38276
- point.plotX <= this.xAxis.len;
38277
+ point.plotX <= (xAxis ? xAxis.len : chart.plotWidth));
38277
38278
  return isInside;
38278
38279
  };
38279
38280
  /**
@@ -40745,7 +40746,7 @@
40745
40746
 
40746
40747
  return H.StackItem;
40747
40748
  });
40748
- _registerModule(_modules, 'Series/Line/LineSeries.js', [_modules['Core/Color/Palette.js'], _modules['Core/Series/Series.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (Palette, Series, SeriesRegistry, U) {
40749
+ _registerModule(_modules, 'Series/Line/LineSeries.js', [_modules['Core/Series/Series.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (Series, SeriesRegistry, U) {
40749
40750
  /* *
40750
40751
  *
40751
40752
  * (c) 2010-2021 Torstein Honsi
@@ -40830,7 +40831,7 @@
40830
40831
  if (!styledMode) {
40831
40832
  props[0].push((options.lineColor ||
40832
40833
  this.color ||
40833
- Palette.neutralColor20 // when colorByPoint = true
40834
+ "#cccccc" /* neutralColor20 */ // when colorByPoint = true
40834
40835
  ), options.dashStyle);
40835
40836
  }
40836
40837
  props = series.getZonesGraphs(props);
@@ -42402,7 +42403,7 @@
42402
42403
 
42403
42404
  return AreaSplineSeries;
42404
42405
  });
42405
- _registerModule(_modules, 'Series/Column/ColumnSeries.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Color/Color.js'], _modules['Core/Globals.js'], _modules['Core/Legend/LegendSymbol.js'], _modules['Core/Color/Palette.js'], _modules['Core/Series/Series.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (A, Color, H, LegendSymbol, Palette, Series, SeriesRegistry, U) {
42406
+ _registerModule(_modules, 'Series/Column/ColumnSeries.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Color/Color.js'], _modules['Core/Globals.js'], _modules['Core/Legend/LegendSymbol.js'], _modules['Core/Series/Series.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (A, Color, H, LegendSymbol, Series, SeriesRegistry, U) {
42406
42407
  /* *
42407
42408
  *
42408
42409
  * (c) 2010-2021 Torstein Honsi
@@ -43383,7 +43384,7 @@
43383
43384
  * @default #cccccc
43384
43385
  * @product highcharts highstock gantt
43385
43386
  */
43386
- color: Palette.neutralColor20,
43387
+ color: "#cccccc" /* neutralColor20 */,
43387
43388
  /**
43388
43389
  * A specific border color for the selected point.
43389
43390
  *
@@ -43391,7 +43392,7 @@
43391
43392
  * @default #000000
43392
43393
  * @product highcharts highstock gantt
43393
43394
  */
43394
- borderColor: Palette.neutralColor100
43395
+ borderColor: "#000000" /* neutralColor100 */
43395
43396
  }
43396
43397
  },
43397
43398
  dataLabels: {
@@ -43458,7 +43459,7 @@
43458
43459
  *
43459
43460
  * @private
43460
43461
  */
43461
- borderColor: Palette.backgroundColor
43462
+ borderColor: "#ffffff" /* backgroundColor */
43462
43463
  });
43463
43464
  return ColumnSeries;
43464
43465
  }(Series));
@@ -43649,7 +43650,7 @@
43649
43650
 
43650
43651
  return ColumnSeries;
43651
43652
  });
43652
- _registerModule(_modules, 'Core/Series/DataLabel.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/FormatUtilities.js'], _modules['Core/Color/Palette.js'], _modules['Core/Utilities.js']], function (A, F, Palette, U) {
43653
+ _registerModule(_modules, 'Core/Series/DataLabel.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/FormatUtilities.js'], _modules['Core/Utilities.js']], function (A, F, U) {
43653
43654
  /* *
43654
43655
  *
43655
43656
  * (c) 2010-2021 Torstein Honsi
@@ -43967,7 +43968,7 @@
43967
43968
  rotation = labelOptions.rotation;
43968
43969
  if (!chart.styledMode) {
43969
43970
  // Determine the color
43970
- style.color = pick(labelOptions.color, style.color, series.color, Palette.neutralColor100);
43971
+ style.color = pick(labelOptions.color, style.color, series.color, "#000000" /* neutralColor100 */);
43971
43972
  // Get automated contrast color
43972
43973
  if (style.color === 'contrast') {
43973
43974
  point.contrastColor = renderer.getContrast((point.color || series.color));
@@ -43976,7 +43977,7 @@
43976
43977
  labelDistance < 0 ||
43977
43978
  !!seriesOptions.stacking ?
43978
43979
  point.contrastColor :
43979
- Palette.neutralColor100;
43980
+ "#000000" /* neutralColor100 */;
43980
43981
  }
43981
43982
  else {
43982
43983
  delete point.contrastColor;
@@ -44312,13 +44313,15 @@
44312
44313
  */
44313
44314
  function alignDataLabel(point, dataLabel, options, alignTo, isNew) {
44314
44315
  var inverted = this.chart.inverted,
44315
- series = point.series,
44316
+ series = point.series,
44317
+ xLen = (series.xAxis ? series.xAxis.len : this.chart.plotSizeX) || 0,
44318
+ yLen = (series.yAxis ? series.yAxis.len : this.chart.plotSizeY) || 0,
44316
44319
  // data label box for alignment
44317
44320
  dlBox = point.dlBox || point.shapeArgs,
44318
44321
  below = pick(point.below, // range series
44319
44322
  point.plotY >
44320
44323
  pick(this.translatedThreshold,
44321
- series.yAxis.len)),
44324
+ yLen)),
44322
44325
  // draw it inside the box?
44323
44326
  inside = pick(options.inside, !!this.options.stacking),
44324
44327
  overshoot;
@@ -44331,14 +44334,14 @@
44331
44334
  }
44332
44335
  // If parts of the box overshoots outside the plot area, modify the
44333
44336
  // box to center the label inside
44334
- overshoot = alignTo.y + alignTo.height - series.yAxis.len;
44337
+ overshoot = alignTo.y + alignTo.height - yLen;
44335
44338
  if (overshoot > 0 && overshoot < alignTo.height) {
44336
44339
  alignTo.height -= overshoot;
44337
44340
  }
44338
44341
  if (inverted) {
44339
44342
  alignTo = {
44340
- x: series.yAxis.len - alignTo.y - alignTo.height,
44341
- y: series.xAxis.len - alignTo.x - alignTo.width,
44343
+ x: yLen - alignTo.y - alignTo.height,
44344
+ y: xLen - alignTo.x - alignTo.width,
44342
44345
  width: alignTo.height,
44343
44346
  height: alignTo.width
44344
44347
  };
@@ -44877,7 +44880,7 @@
44877
44880
 
44878
44881
  return ScatterSeries;
44879
44882
  });
44880
- _registerModule(_modules, 'Mixins/CenteredSeries.js', [_modules['Core/Globals.js'], _modules['Core/Series/Series.js'], _modules['Core/Utilities.js']], function (H, Series, U) {
44883
+ _registerModule(_modules, 'Series/CenteredUtilities.js', [_modules['Core/Globals.js'], _modules['Core/Series/Series.js'], _modules['Core/Utilities.js']], function (H, Series, U) {
44881
44884
  /* *
44882
44885
  *
44883
44886
  * (c) 2010-2021 Torstein Honsi
@@ -44887,63 +44890,60 @@
44887
44890
  * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
44888
44891
  *
44889
44892
  * */
44890
- /**
44891
- * @private
44892
- * @interface Highcharts.RadianAngles
44893
- */ /**
44894
- * @name Highcharts.RadianAngles#end
44895
- * @type {number}
44896
- */ /**
44897
- * @name Highcharts.RadianAngles#start
44898
- * @type {number}
44899
- */
44893
+ var deg2rad = H.deg2rad;
44900
44894
  var isNumber = U.isNumber,
44901
44895
  pick = U.pick,
44902
44896
  relativeLength = U.relativeLength;
44903
- var deg2rad = H.deg2rad;
44904
- /* eslint-disable valid-jsdoc */
44905
44897
  /**
44906
44898
  * @private
44907
- * @mixin Highcharts.CenteredSeriesMixin
44908
44899
  */
44909
- var centeredSeriesMixin = H.CenteredSeriesMixin = {
44910
- /**
44911
- * Get the center of the pie based on the size and center options relative
44912
- * to the plot area. Borrowed by the polar and gauge series types.
44913
- *
44914
- * @private
44915
- * @function Highcharts.CenteredSeriesMixin.getCenter
44916
- *
44917
- * @return {Array<number>}
44918
- */
44919
- getCenter: function () {
44920
- var options = this.options,
44921
- chart = this.chart,
44922
- slicingRoom = 2 * (options.slicedOffset || 0),
44923
- handleSlicingRoom,
44924
- plotWidth = chart.plotWidth - 2 * slicingRoom,
44925
- plotHeight = chart.plotHeight - 2 * slicingRoom,
44926
- centerOption = options.center,
44927
- smallestSize = Math.min(plotWidth,
44928
- plotHeight),
44929
- size = options.size,
44930
- innerSize = options.innerSize || 0,
44931
- positions,
44932
- i,
44933
- value;
44900
+ var CenteredUtilities;
44901
+ (function (CenteredUtilities) {
44902
+ /* *
44903
+ *
44904
+ * Declarations
44905
+ *
44906
+ * */
44907
+ /* *
44908
+ *
44909
+ * Functions
44910
+ *
44911
+ * */
44912
+ /* eslint-disable valid-jsdoc */
44913
+ /**
44914
+ * Get the center of the pie based on the size and center options relative
44915
+ * to the plot area. Borrowed by the polar and gauge series types.
44916
+ *
44917
+ * @private
44918
+ * @function Highcharts.CenteredSeriesMixin.getCenter
44919
+ */
44920
+ function getCenter() {
44921
+ var options = this.options,
44922
+ chart = this.chart,
44923
+ slicingRoom = 2 * (options.slicedOffset || 0),
44924
+ plotWidth = chart.plotWidth - 2 * slicingRoom,
44925
+ plotHeight = chart.plotHeight - 2 * slicingRoom,
44926
+ centerOption = options.center,
44927
+ smallestSize = Math.min(plotWidth,
44928
+ plotHeight);
44929
+ var handleSlicingRoom,
44930
+ size = options.size,
44931
+ innerSize = options.innerSize || 0,
44932
+ i,
44933
+ value;
44934
44934
  if (typeof size === 'string') {
44935
44935
  size = parseFloat(size);
44936
44936
  }
44937
44937
  if (typeof innerSize === 'string') {
44938
44938
  innerSize = parseFloat(innerSize);
44939
44939
  }
44940
- positions = [
44941
- pick(centerOption[0], '50%'),
44942
- pick(centerOption[1], '50%'),
44943
- // Prevent from negative values
44944
- pick(size && size < 0 ? void 0 : options.size, '100%'),
44945
- pick(innerSize && innerSize < 0 ? void 0 : options.innerSize || 0, '0%')
44946
- ];
44940
+ var positions = [
44941
+ pick(centerOption[0], '50%'),
44942
+ pick(centerOption[1], '50%'),
44943
+ // Prevent from negative values
44944
+ pick(size && size < 0 ? void 0 : options.size, '100%'),
44945
+ pick(innerSize && innerSize < 0 ? void 0 : options.innerSize || 0, '0%')
44946
+ ];
44947
44947
  // No need for inner size in angular (gauges) series but still required
44948
44948
  // for pie series
44949
44949
  if (chart.angular && !(this instanceof Series)) {
@@ -44963,7 +44963,8 @@
44963
44963
  positions[3] = positions[2];
44964
44964
  }
44965
44965
  return positions;
44966
- },
44966
+ }
44967
+ CenteredUtilities.getCenter = getCenter;
44967
44968
  /**
44968
44969
  * getStartAndEndRadians - Calculates start and end angles in radians.
44969
44970
  * Used in series types such as pie and sunburst.
@@ -44980,7 +44981,7 @@
44980
44981
  * @return {Highcharts.RadianAngles}
44981
44982
  * Returns an object containing start and end angles as radians.
44982
44983
  */
44983
- getStartAndEndRadians: function (start, end) {
44984
+ function getStartAndEndRadians(start, end) {
44984
44985
  var startAngle = isNumber(start) ? start : 0, // must be a number
44985
44986
  endAngle = ((isNumber(end) && // must be a number
44986
44987
  end > startAngle && // must be larger than the start angle
@@ -44994,9 +44995,31 @@
44994
44995
  end: deg2rad * (endAngle + correction)
44995
44996
  };
44996
44997
  }
44997
- };
44998
+ CenteredUtilities.getStartAndEndRadians = getStartAndEndRadians;
44999
+ })(CenteredUtilities || (CenteredUtilities = {}));
45000
+ /* *
45001
+ *
45002
+ * Default Export
45003
+ *
45004
+ * */
45005
+ /* *
45006
+ *
45007
+ * API Declarations
45008
+ *
45009
+ * */
45010
+ /**
45011
+ * @private
45012
+ * @interface Highcharts.RadianAngles
45013
+ */ /**
45014
+ * @name Highcharts.RadianAngles#end
45015
+ * @type {number}
45016
+ */ /**
45017
+ * @name Highcharts.RadianAngles#start
45018
+ * @type {number}
45019
+ */
45020
+ ''; // keeps doclets above in JS file
44998
45021
 
44999
- return centeredSeriesMixin;
45022
+ return CenteredUtilities;
45000
45023
  });
45001
45024
  _registerModule(_modules, 'Series/Pie/PiePoint.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Series/Point.js'], _modules['Core/Utilities.js']], function (A, Point, U) {
45002
45025
  /* *
@@ -45294,7 +45317,7 @@
45294
45317
 
45295
45318
  return PiePoint;
45296
45319
  });
45297
- _registerModule(_modules, 'Series/Pie/PieSeries.js', [_modules['Mixins/CenteredSeries.js'], _modules['Series/Column/ColumnSeries.js'], _modules['Core/Globals.js'], _modules['Core/Legend/LegendSymbol.js'], _modules['Core/Color/Palette.js'], _modules['Series/Pie/PiePoint.js'], _modules['Core/Series/Series.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Renderer/SVG/Symbols.js'], _modules['Core/Utilities.js']], function (CenteredSeriesMixin, ColumnSeries, H, LegendSymbol, Palette, PiePoint, Series, SeriesRegistry, Symbols, U) {
45320
+ _registerModule(_modules, 'Series/Pie/PieSeries.js', [_modules['Series/CenteredUtilities.js'], _modules['Series/Column/ColumnSeries.js'], _modules['Core/Globals.js'], _modules['Core/Legend/LegendSymbol.js'], _modules['Series/Pie/PiePoint.js'], _modules['Core/Series/Series.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Renderer/SVG/Symbols.js'], _modules['Core/Utilities.js']], function (CU, ColumnSeries, H, LegendSymbol, PiePoint, Series, SeriesRegistry, Symbols, U) {
45298
45321
  /* *
45299
45322
  *
45300
45323
  * (c) 2010-2021 Torstein Honsi
@@ -45320,7 +45343,7 @@
45320
45343
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
45321
45344
  };
45322
45345
  })();
45323
- var getStartAndEndRadians = CenteredSeriesMixin.getStartAndEndRadians;
45346
+ var getStartAndEndRadians = CU.getStartAndEndRadians;
45324
45347
  var noop = H.noop;
45325
45348
  var clamp = U.clamp,
45326
45349
  extend = U.extend,
@@ -45435,7 +45458,7 @@
45435
45458
  this.graph.attr({
45436
45459
  'stroke-width': options.borderWidth,
45437
45460
  fill: options.fillColor || 'none',
45438
- stroke: options.color || Palette.neutralColor20
45461
+ stroke: options.color || "#cccccc" /* neutralColor20 */
45439
45462
  });
45440
45463
  }
45441
45464
  }
@@ -45834,7 +45857,7 @@
45834
45857
  * Empty pie series
45835
45858
  *
45836
45859
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
45837
- * @default ${palette.neutralColor20}
45860
+ * @default #cccccc
45838
45861
  * @apioption plotOptions.pie.color
45839
45862
  */
45840
45863
  /**
@@ -46235,7 +46258,7 @@
46235
46258
  *
46236
46259
  * @private
46237
46260
  */
46238
- borderColor: Palette.backgroundColor,
46261
+ borderColor: "#ffffff" /* backgroundColor */,
46239
46262
  /**
46240
46263
  * The width of the border surrounding each slice.
46241
46264
  *
@@ -46292,7 +46315,7 @@
46292
46315
  drawGraph: void 0,
46293
46316
  drawLegendSymbol: LegendSymbol.drawRectangle,
46294
46317
  drawTracker: ColumnSeries.prototype.drawTracker,
46295
- getCenter: CenteredSeriesMixin.getCenter,
46318
+ getCenter: CU.getCenter,
46296
46319
  getSymbol: noop,
46297
46320
  isCartesian: false,
46298
46321
  noSharedTooltip: true,
@@ -46404,7 +46427,7 @@
46404
46427
 
46405
46428
  return PieSeries;
46406
46429
  });
46407
- _registerModule(_modules, 'Series/Pie/PieDataLabel.js', [_modules['Core/Series/DataLabel.js'], _modules['Core/Globals.js'], _modules['Core/Color/Palette.js'], _modules['Core/Renderer/RendererUtilities.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (DataLabel, H, Palette, R, SeriesRegistry, U) {
46430
+ _registerModule(_modules, 'Series/Pie/PieDataLabel.js', [_modules['Core/Series/DataLabel.js'], _modules['Core/Globals.js'], _modules['Core/Renderer/RendererUtilities.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (DataLabel, H, R, SeriesRegistry, U) {
46408
46431
  /* *
46409
46432
  *
46410
46433
  * (c) 2010-2021 Torstein Honsi
@@ -46766,7 +46789,7 @@
46766
46789
  'stroke-width': connectorWidth,
46767
46790
  'stroke': (pointDataLabelsOptions.connectorColor ||
46768
46791
  point.color ||
46769
- Palette.neutralColor60)
46792
+ "#666666" /* neutralColor60 */)
46770
46793
  });
46771
46794
  }
46772
46795
  }