@ntlab/ntjs-assets 2.0.21 → 2.0.22

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 (402) hide show
  1. package/assets/js/cdn.json +1 -1
  2. package/assets/js/highcharts/css/highcharts.css +74 -0
  3. package/assets/js/highcharts/es-modules/Accessibility/Components/LegendComponent.js +1 -1
  4. package/assets/js/highcharts/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +1 -1
  5. package/assets/js/highcharts/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +9 -2
  6. package/assets/js/highcharts/es-modules/Core/Axis/Axis.js +25 -15
  7. package/assets/js/highcharts/es-modules/Core/Axis/AxisDefaults.js +3 -2
  8. package/assets/js/highcharts/es-modules/Core/Axis/Color/ColorAxis.js +1 -1
  9. package/assets/js/highcharts/es-modules/Core/Axis/Color/ColorAxisDefaults.js +2 -2
  10. package/assets/js/highcharts/es-modules/Core/Axis/GridAxis.js +1 -1
  11. package/assets/js/highcharts/es-modules/Core/Axis/OrdinalAxis.js +1 -1
  12. package/assets/js/highcharts/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +10 -0
  13. package/assets/js/highcharts/es-modules/Core/Axis/RadialAxis.js +19 -113
  14. package/assets/js/highcharts/es-modules/Core/Axis/RadialAxisDefaults.js +128 -0
  15. package/assets/js/highcharts/es-modules/Core/Axis/Tick.js +9 -13
  16. package/assets/js/highcharts/es-modules/Core/Chart/Chart.js +21 -17
  17. package/assets/js/highcharts/es-modules/Core/Chart/ChartDefaults.js +4 -2
  18. package/assets/js/highcharts/es-modules/Core/Chart/StockChart.js +5 -9
  19. package/assets/js/highcharts/es-modules/Core/Defaults.js +180 -91
  20. package/assets/js/highcharts/es-modules/Core/Renderer/SVG/SVGElement.js +50 -28
  21. package/assets/js/highcharts/es-modules/Core/Renderer/SVG/SVGLabel.js +6 -3
  22. package/assets/js/highcharts/es-modules/Core/Renderer/SVG/SVGRenderer.js +38 -80
  23. package/assets/js/highcharts/es-modules/Core/Renderer/SVG/Symbols.js +9 -5
  24. package/assets/js/highcharts/es-modules/Core/Series/DataLabel.js +17 -10
  25. package/assets/js/highcharts/es-modules/Core/Series/Point.js +4 -3
  26. package/assets/js/highcharts/es-modules/Core/Series/Series.js +24 -15
  27. package/assets/js/highcharts/es-modules/Core/Series/SeriesDefaults.js +15 -0
  28. package/assets/js/highcharts/es-modules/Core/Templating.js +4 -1
  29. package/assets/js/highcharts/es-modules/Core/Tooltip.js +17 -55
  30. package/assets/js/highcharts/es-modules/Core/Utilities.js +16 -0
  31. package/assets/js/highcharts/es-modules/Data/Converters/CSVConverter.js +1 -1
  32. package/assets/js/highcharts/es-modules/Data/DataCursor.js +34 -16
  33. package/assets/js/highcharts/es-modules/Data/DataPool.js +1 -1
  34. package/assets/js/highcharts/es-modules/Extensions/Annotations/Controllables/Controllable.js +3 -0
  35. package/assets/js/highcharts/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +0 -3
  36. package/assets/js/highcharts/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +0 -3
  37. package/assets/js/highcharts/es-modules/Extensions/Annotations/EventEmitter.js +6 -6
  38. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +2 -0
  39. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/CrookedLine.js +1 -0
  40. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/Fibonacci.js +4 -2
  41. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +2 -1
  42. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/InfinityLine.js +2 -1
  43. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/Measure.js +4 -3
  44. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/Pitchfork.js +11 -5
  45. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/TimeCycles.js +2 -1
  46. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/Tunnel.js +4 -2
  47. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/VerticalLine.js +2 -1
  48. package/assets/js/highcharts/es-modules/Extensions/Boost/BoostChart.js +11 -3
  49. package/assets/js/highcharts/es-modules/Extensions/Boost/BoostSeries.js +7 -4
  50. package/assets/js/highcharts/es-modules/Extensions/Boost/WGLRenderer.js +11 -2
  51. package/assets/js/highcharts/es-modules/Extensions/Data.js +3 -3
  52. package/assets/js/highcharts/es-modules/Extensions/DataGrouping/DataGroupingSeriesComposition.js +1 -0
  53. package/assets/js/highcharts/es-modules/Extensions/DownloadURL.js +3 -0
  54. package/assets/js/highcharts/es-modules/Extensions/DragPanes/AxisResizer.js +1 -2
  55. package/assets/js/highcharts/es-modules/Extensions/DraggablePoints/DragDropProps.js +17 -0
  56. package/assets/js/highcharts/es-modules/Extensions/DraggablePoints/DraggablePoints.js +1 -0
  57. package/assets/js/highcharts/es-modules/Extensions/Drilldown/Drilldown.js +14 -14
  58. package/assets/js/highcharts/es-modules/Extensions/Exporting/Exporting.js +13 -18
  59. package/assets/js/highcharts/es-modules/Extensions/Exporting/ExportingDefaults.js +8 -6
  60. package/assets/js/highcharts/es-modules/Extensions/OfflineExporting/OfflineExporting.js +38 -30
  61. package/assets/js/highcharts/es-modules/Extensions/Pane/PaneDefaults.js +11 -0
  62. package/assets/js/highcharts/es-modules/Extensions/RegexLimits.js +1 -0
  63. package/assets/js/highcharts/es-modules/Extensions/ScrollablePlotArea.js +19 -17
  64. package/assets/js/highcharts/es-modules/Extensions/Themes/BrandDark.js +13 -1
  65. package/assets/js/highcharts/es-modules/Maps/MapNavigation.js +5 -3
  66. package/assets/js/highcharts/es-modules/Maps/MapView.js +5 -5
  67. package/assets/js/highcharts/es-modules/Maps/Projection.js +39 -20
  68. package/assets/js/highcharts/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +10 -231
  69. package/assets/js/highcharts/es-modules/Series/ArcDiagram/ArcDiagramSeriesDefaults.js +245 -0
  70. package/assets/js/highcharts/es-modules/Series/Area/AreaSeries.js +2 -222
  71. package/assets/js/highcharts/es-modules/Series/Area/AreaSeriesDefaults.js +239 -0
  72. package/assets/js/highcharts/es-modules/Series/AreaRange/AreaRangeSeries.js +0 -133
  73. package/assets/js/highcharts/es-modules/Series/AreaRange/AreaRangeSeriesDefaults.js +273 -0
  74. package/assets/js/highcharts/es-modules/Series/BoxPlot/BoxPlotSeries.js +36 -38
  75. package/assets/js/highcharts/es-modules/Series/Bubble/BubbleSeries.js +17 -6
  76. package/assets/js/highcharts/es-modules/Series/Candlestick/CandlestickSeries.js +9 -11
  77. package/assets/js/highcharts/es-modules/Series/ColorMapComposition.js +28 -4
  78. package/assets/js/highcharts/es-modules/Series/Column/ColumnDataLabel.js +1 -1
  79. package/assets/js/highcharts/es-modules/Series/Column/ColumnSeries.js +25 -30
  80. package/assets/js/highcharts/es-modules/Series/DataModifyComposition.js +26 -2
  81. package/assets/js/highcharts/es-modules/Series/DotPlot/DotPlotSeries.js +37 -27
  82. package/assets/js/highcharts/es-modules/Series/DotPlot/DotPlotSeriesDefaults.js +3 -2
  83. package/assets/js/highcharts/es-modules/Series/Dumbbell/DumbbellSeries.js +1 -39
  84. package/assets/js/highcharts/es-modules/Series/Dumbbell/DumbbellSeriesDefaults.js +29 -0
  85. package/assets/js/highcharts/es-modules/Series/Flags/FlagsSeries.js +2 -1
  86. package/assets/js/highcharts/es-modules/Series/GeoHeatmap/GeoHeatmapSeries.js +3 -10
  87. package/assets/js/highcharts/es-modules/Series/HLC/HLCSeries.js +4 -5
  88. package/assets/js/highcharts/es-modules/Series/MapLine/MapLineSeriesDefaults.js +7 -6
  89. package/assets/js/highcharts/es-modules/Series/MapPoint/MapPointSeriesDefaults.js +17 -11
  90. package/assets/js/highcharts/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +1 -1
  91. package/assets/js/highcharts/es-modules/Series/Networkgraph/ReingoldFruchtermanLayout.js +1 -1
  92. package/assets/js/highcharts/es-modules/Series/OHLC/OHLCSeries.js +3 -5
  93. package/assets/js/highcharts/es-modules/Series/Organization/OrganizationSeries.js +17 -19
  94. package/assets/js/highcharts/es-modules/Series/Organization/OrganizationSeriesDefaults.js +1 -1
  95. package/assets/js/highcharts/es-modules/Series/PackedBubble/PackedBubbleLayout.js +3 -3
  96. package/assets/js/highcharts/es-modules/Series/PackedBubble/PackedBubbleSeries.js +3 -3
  97. package/assets/js/highcharts/es-modules/Series/PackedBubble/PackedBubbleSeriesDefaults.js +0 -1
  98. package/assets/js/highcharts/es-modules/Series/Pyramid/PyramidSeriesDefaults.js +3 -3
  99. package/assets/js/highcharts/es-modules/Series/Sankey/SankeySeries.js +5 -6
  100. package/assets/js/highcharts/es-modules/Series/Sankey/SankeySeriesDefaults.js +1 -1
  101. package/assets/js/highcharts/es-modules/Series/SeriesOnPointComposition.js +2 -2
  102. package/assets/js/highcharts/es-modules/Series/Sunburst/SunburstSeriesDefaults.js +1 -1
  103. package/assets/js/highcharts/es-modules/Series/Treegraph/TreegraphLink.js +12 -7
  104. package/assets/js/highcharts/es-modules/Series/Treegraph/TreegraphSeries.js +8 -9
  105. package/assets/js/highcharts/es-modules/Series/Treemap/TreemapSeries.js +8 -8
  106. package/assets/js/highcharts/es-modules/Series/Treemap/TreemapSeriesDefaults.js +1 -1
  107. package/assets/js/highcharts/es-modules/Series/Variwide/VariwideSeries.js +4 -4
  108. package/assets/js/highcharts/es-modules/Series/Venn/VennSeriesDefaults.js +2 -2
  109. package/assets/js/highcharts/es-modules/Series/Waterfall/WaterfallSeries.js +11 -12
  110. package/assets/js/highcharts/es-modules/Series/XRange/XRangeSeries.js +4 -4
  111. package/assets/js/highcharts/es-modules/Stock/Navigator/Navigator.js +2 -5
  112. package/assets/js/highcharts/es-modules/Stock/Navigator/NavigatorDefaults.js +11 -0
  113. package/assets/js/highcharts/es-modules/Stock/Navigator/NavigatorSymbols.js +9 -10
  114. package/assets/js/highcharts/es-modules/Stock/RangeSelector/RangeSelector.js +162 -187
  115. package/assets/js/highcharts/es-modules/Stock/RangeSelector/RangeSelectorComposition.js +32 -74
  116. package/assets/js/highcharts/es-modules/Stock/Scrollbar/Scrollbar.js +6 -7
  117. package/assets/js/highcharts/es-modules/masters/highcharts-more.src.js +2 -0
  118. package/assets/js/highcharts/highcharts-3d.js +1 -1
  119. package/assets/js/highcharts/highcharts-3d.src.js +1 -1
  120. package/assets/js/highcharts/highcharts-gantt.js +3 -3
  121. package/assets/js/highcharts/highcharts-gantt.src.js +2008 -906
  122. package/assets/js/highcharts/highcharts-more.js +2 -2
  123. package/assets/js/highcharts/highcharts-more.src.js +234 -313
  124. package/assets/js/highcharts/highcharts.js +3 -3
  125. package/assets/js/highcharts/highcharts.src.js +743 -616
  126. package/assets/js/highcharts/highmaps.js +3 -3
  127. package/assets/js/highcharts/highmaps.src.js +862 -673
  128. package/assets/js/highcharts/highstock.js +3 -3
  129. package/assets/js/highcharts/highstock.src.js +1016 -935
  130. package/assets/js/highcharts/indicators/acceleration-bands.js +1 -1
  131. package/assets/js/highcharts/indicators/acceleration-bands.src.js +1 -1
  132. package/assets/js/highcharts/indicators/accumulation-distribution.js +1 -1
  133. package/assets/js/highcharts/indicators/accumulation-distribution.src.js +1 -1
  134. package/assets/js/highcharts/indicators/ao.js +1 -1
  135. package/assets/js/highcharts/indicators/ao.src.js +1 -1
  136. package/assets/js/highcharts/indicators/apo.js +1 -1
  137. package/assets/js/highcharts/indicators/apo.src.js +1 -1
  138. package/assets/js/highcharts/indicators/aroon-oscillator.js +1 -1
  139. package/assets/js/highcharts/indicators/aroon-oscillator.src.js +1 -1
  140. package/assets/js/highcharts/indicators/aroon.js +1 -1
  141. package/assets/js/highcharts/indicators/aroon.src.js +1 -1
  142. package/assets/js/highcharts/indicators/atr.js +1 -1
  143. package/assets/js/highcharts/indicators/atr.src.js +1 -1
  144. package/assets/js/highcharts/indicators/bollinger-bands.js +1 -1
  145. package/assets/js/highcharts/indicators/bollinger-bands.src.js +1 -1
  146. package/assets/js/highcharts/indicators/cci.js +1 -1
  147. package/assets/js/highcharts/indicators/cci.src.js +1 -1
  148. package/assets/js/highcharts/indicators/chaikin.js +1 -1
  149. package/assets/js/highcharts/indicators/chaikin.src.js +1 -1
  150. package/assets/js/highcharts/indicators/cmf.js +1 -1
  151. package/assets/js/highcharts/indicators/cmf.src.js +1 -1
  152. package/assets/js/highcharts/indicators/cmo.js +1 -1
  153. package/assets/js/highcharts/indicators/cmo.src.js +1 -1
  154. package/assets/js/highcharts/indicators/dema.js +1 -1
  155. package/assets/js/highcharts/indicators/dema.src.js +1 -1
  156. package/assets/js/highcharts/indicators/disparity-index.js +1 -1
  157. package/assets/js/highcharts/indicators/disparity-index.src.js +1 -1
  158. package/assets/js/highcharts/indicators/dmi.js +1 -1
  159. package/assets/js/highcharts/indicators/dmi.src.js +1 -1
  160. package/assets/js/highcharts/indicators/dpo.js +1 -1
  161. package/assets/js/highcharts/indicators/dpo.src.js +1 -1
  162. package/assets/js/highcharts/indicators/ichimoku-kinko-hyo.js +1 -1
  163. package/assets/js/highcharts/indicators/ichimoku-kinko-hyo.src.js +1 -1
  164. package/assets/js/highcharts/indicators/indicators-all.js +1 -1
  165. package/assets/js/highcharts/indicators/indicators-all.src.js +1 -1
  166. package/assets/js/highcharts/indicators/indicators.js +1 -1
  167. package/assets/js/highcharts/indicators/indicators.src.js +1 -1
  168. package/assets/js/highcharts/indicators/keltner-channels.js +1 -1
  169. package/assets/js/highcharts/indicators/keltner-channels.src.js +1 -1
  170. package/assets/js/highcharts/indicators/klinger.js +1 -1
  171. package/assets/js/highcharts/indicators/klinger.src.js +1 -1
  172. package/assets/js/highcharts/indicators/macd.js +1 -1
  173. package/assets/js/highcharts/indicators/macd.src.js +1 -1
  174. package/assets/js/highcharts/indicators/mfi.js +1 -1
  175. package/assets/js/highcharts/indicators/mfi.src.js +1 -1
  176. package/assets/js/highcharts/indicators/momentum.js +1 -1
  177. package/assets/js/highcharts/indicators/momentum.src.js +1 -1
  178. package/assets/js/highcharts/indicators/natr.js +1 -1
  179. package/assets/js/highcharts/indicators/natr.src.js +1 -1
  180. package/assets/js/highcharts/indicators/obv.js +1 -1
  181. package/assets/js/highcharts/indicators/obv.src.js +1 -1
  182. package/assets/js/highcharts/indicators/pivot-points.js +1 -1
  183. package/assets/js/highcharts/indicators/pivot-points.src.js +1 -1
  184. package/assets/js/highcharts/indicators/ppo.js +1 -1
  185. package/assets/js/highcharts/indicators/ppo.src.js +1 -1
  186. package/assets/js/highcharts/indicators/price-channel.js +1 -1
  187. package/assets/js/highcharts/indicators/price-channel.src.js +1 -1
  188. package/assets/js/highcharts/indicators/price-envelopes.js +1 -1
  189. package/assets/js/highcharts/indicators/price-envelopes.src.js +1 -1
  190. package/assets/js/highcharts/indicators/psar.js +1 -1
  191. package/assets/js/highcharts/indicators/psar.src.js +1 -1
  192. package/assets/js/highcharts/indicators/regressions.js +1 -1
  193. package/assets/js/highcharts/indicators/regressions.src.js +1 -1
  194. package/assets/js/highcharts/indicators/roc.js +1 -1
  195. package/assets/js/highcharts/indicators/roc.src.js +1 -1
  196. package/assets/js/highcharts/indicators/rsi.js +1 -1
  197. package/assets/js/highcharts/indicators/rsi.src.js +1 -1
  198. package/assets/js/highcharts/indicators/slow-stochastic.js +1 -1
  199. package/assets/js/highcharts/indicators/slow-stochastic.src.js +1 -1
  200. package/assets/js/highcharts/indicators/stochastic.js +1 -1
  201. package/assets/js/highcharts/indicators/stochastic.src.js +1 -1
  202. package/assets/js/highcharts/indicators/supertrend.js +1 -1
  203. package/assets/js/highcharts/indicators/supertrend.src.js +1 -1
  204. package/assets/js/highcharts/indicators/tema.js +1 -1
  205. package/assets/js/highcharts/indicators/tema.src.js +1 -1
  206. package/assets/js/highcharts/indicators/trendline.js +1 -1
  207. package/assets/js/highcharts/indicators/trendline.src.js +1 -1
  208. package/assets/js/highcharts/indicators/trix.js +1 -1
  209. package/assets/js/highcharts/indicators/trix.src.js +1 -1
  210. package/assets/js/highcharts/indicators/volume-by-price.js +1 -1
  211. package/assets/js/highcharts/indicators/volume-by-price.src.js +1 -1
  212. package/assets/js/highcharts/indicators/vwap.js +1 -1
  213. package/assets/js/highcharts/indicators/vwap.src.js +1 -1
  214. package/assets/js/highcharts/indicators/williams-r.js +1 -1
  215. package/assets/js/highcharts/indicators/williams-r.src.js +1 -1
  216. package/assets/js/highcharts/indicators/wma.js +1 -1
  217. package/assets/js/highcharts/indicators/wma.src.js +1 -1
  218. package/assets/js/highcharts/indicators/zigzag.js +1 -1
  219. package/assets/js/highcharts/indicators/zigzag.src.js +1 -1
  220. package/assets/js/highcharts/modules/accessibility.js +2 -2
  221. package/assets/js/highcharts/modules/accessibility.src.js +39 -28
  222. package/assets/js/highcharts/modules/annotations-advanced.js +2 -2
  223. package/assets/js/highcharts/modules/annotations-advanced.src.js +46 -31
  224. package/assets/js/highcharts/modules/annotations.js +2 -2
  225. package/assets/js/highcharts/modules/annotations.src.js +12 -15
  226. package/assets/js/highcharts/modules/arc-diagram.js +2 -2
  227. package/assets/js/highcharts/modules/arc-diagram.src.js +258 -233
  228. package/assets/js/highcharts/modules/arrow-symbols.js +1 -1
  229. package/assets/js/highcharts/modules/arrow-symbols.src.js +1 -1
  230. package/assets/js/highcharts/modules/boost-canvas.js +2 -2
  231. package/assets/js/highcharts/modules/boost-canvas.src.js +30 -10
  232. package/assets/js/highcharts/modules/boost.js +2 -2
  233. package/assets/js/highcharts/modules/boost.src.js +30 -10
  234. package/assets/js/highcharts/modules/broken-axis.js +1 -1
  235. package/assets/js/highcharts/modules/broken-axis.src.js +1 -1
  236. package/assets/js/highcharts/modules/bullet.js +1 -1
  237. package/assets/js/highcharts/modules/bullet.src.js +1 -1
  238. package/assets/js/highcharts/modules/coloraxis.js +2 -2
  239. package/assets/js/highcharts/modules/coloraxis.src.js +4 -4
  240. package/assets/js/highcharts/modules/current-date-indicator.js +1 -1
  241. package/assets/js/highcharts/modules/current-date-indicator.src.js +1 -1
  242. package/assets/js/highcharts/modules/cylinder.js +1 -1
  243. package/assets/js/highcharts/modules/cylinder.src.js +1 -1
  244. package/assets/js/highcharts/modules/data-tools.js +2 -2
  245. package/assets/js/highcharts/modules/data-tools.src.js +37 -19
  246. package/assets/js/highcharts/modules/data.js +1 -1
  247. package/assets/js/highcharts/modules/data.src.js +4 -4
  248. package/assets/js/highcharts/modules/datagrouping.js +2 -2
  249. package/assets/js/highcharts/modules/datagrouping.src.js +2 -1
  250. package/assets/js/highcharts/modules/debugger.js +1 -1
  251. package/assets/js/highcharts/modules/debugger.src.js +1 -1
  252. package/assets/js/highcharts/modules/dependency-wheel.js +1 -1
  253. package/assets/js/highcharts/modules/dependency-wheel.src.js +1 -1
  254. package/assets/js/highcharts/modules/dotplot.js +2 -2
  255. package/assets/js/highcharts/modules/dotplot.src.js +41 -30
  256. package/assets/js/highcharts/modules/drag-panes.js +2 -2
  257. package/assets/js/highcharts/modules/drag-panes.src.js +2 -3
  258. package/assets/js/highcharts/modules/draggable-points.js +2 -2
  259. package/assets/js/highcharts/modules/draggable-points.src.js +19 -1
  260. package/assets/js/highcharts/modules/drilldown.js +2 -2
  261. package/assets/js/highcharts/modules/drilldown.src.js +15 -15
  262. package/assets/js/highcharts/modules/dumbbell.js +2 -2
  263. package/assets/js/highcharts/modules/dumbbell.src.js +31 -40
  264. package/assets/js/highcharts/modules/export-data.js +2 -2
  265. package/assets/js/highcharts/modules/export-data.src.js +4 -1
  266. package/assets/js/highcharts/modules/exporting.js +2 -2
  267. package/assets/js/highcharts/modules/exporting.src.js +22 -25
  268. package/assets/js/highcharts/modules/flowmap.js +1 -1
  269. package/assets/js/highcharts/modules/flowmap.src.js +1 -1
  270. package/assets/js/highcharts/modules/full-screen.js +1 -1
  271. package/assets/js/highcharts/modules/full-screen.src.js +1 -1
  272. package/assets/js/highcharts/modules/funnel.js +2 -2
  273. package/assets/js/highcharts/modules/funnel.src.js +4 -4
  274. package/assets/js/highcharts/modules/funnel3d.js +1 -1
  275. package/assets/js/highcharts/modules/funnel3d.src.js +1 -1
  276. package/assets/js/highcharts/modules/gantt.js +2 -2
  277. package/assets/js/highcharts/modules/gantt.src.js +1266 -291
  278. package/assets/js/highcharts/modules/geoheatmap.js +1 -1
  279. package/assets/js/highcharts/modules/geoheatmap.src.js +4 -11
  280. package/assets/js/highcharts/modules/grid-axis.js +2 -2
  281. package/assets/js/highcharts/modules/grid-axis.src.js +2 -2
  282. package/assets/js/highcharts/modules/heatmap.js +2 -2
  283. package/assets/js/highcharts/modules/heatmap.src.js +32 -9
  284. package/assets/js/highcharts/modules/heikinashi.js +1 -1
  285. package/assets/js/highcharts/modules/heikinashi.src.js +1 -1
  286. package/assets/js/highcharts/modules/histogram-bellcurve.js +1 -1
  287. package/assets/js/highcharts/modules/histogram-bellcurve.src.js +1 -1
  288. package/assets/js/highcharts/modules/hollowcandlestick.js +1 -1
  289. package/assets/js/highcharts/modules/hollowcandlestick.src.js +1 -1
  290. package/assets/js/highcharts/modules/item-series.js +1 -1
  291. package/assets/js/highcharts/modules/item-series.src.js +1 -1
  292. package/assets/js/highcharts/modules/lollipop.js +1 -1
  293. package/assets/js/highcharts/modules/lollipop.src.js +1 -1
  294. package/assets/js/highcharts/modules/map.js +2 -2
  295. package/assets/js/highcharts/modules/map.src.js +120 -58
  296. package/assets/js/highcharts/modules/marker-clusters.js +1 -1
  297. package/assets/js/highcharts/modules/marker-clusters.src.js +1 -1
  298. package/assets/js/highcharts/modules/mouse-wheel-zoom.js +1 -1
  299. package/assets/js/highcharts/modules/mouse-wheel-zoom.src.js +1 -1
  300. package/assets/js/highcharts/modules/navigator.js +2 -2
  301. package/assets/js/highcharts/modules/navigator.src.js +28 -24
  302. package/assets/js/highcharts/modules/networkgraph.js +2 -2
  303. package/assets/js/highcharts/modules/networkgraph.src.js +3 -3
  304. package/assets/js/highcharts/modules/no-data-to-display.js +1 -1
  305. package/assets/js/highcharts/modules/no-data-to-display.src.js +1 -1
  306. package/assets/js/highcharts/modules/offline-exporting.js +2 -2
  307. package/assets/js/highcharts/modules/offline-exporting.src.js +43 -32
  308. package/assets/js/highcharts/modules/organization.js +2 -2
  309. package/assets/js/highcharts/modules/organization.src.js +19 -21
  310. package/assets/js/highcharts/modules/overlapping-datalabels.js +1 -1
  311. package/assets/js/highcharts/modules/overlapping-datalabels.src.js +1 -1
  312. package/assets/js/highcharts/modules/parallel-coordinates.js +1 -1
  313. package/assets/js/highcharts/modules/parallel-coordinates.src.js +1 -1
  314. package/assets/js/highcharts/modules/pareto.js +1 -1
  315. package/assets/js/highcharts/modules/pareto.src.js +1 -1
  316. package/assets/js/highcharts/modules/pathfinder.js +1 -1
  317. package/assets/js/highcharts/modules/pathfinder.src.js +1 -1
  318. package/assets/js/highcharts/modules/pattern-fill.js +1 -1
  319. package/assets/js/highcharts/modules/pattern-fill.src.js +1 -1
  320. package/assets/js/highcharts/modules/pictorial.js +1 -1
  321. package/assets/js/highcharts/modules/pictorial.src.js +1 -1
  322. package/assets/js/highcharts/modules/price-indicator.js +1 -1
  323. package/assets/js/highcharts/modules/price-indicator.src.js +1 -1
  324. package/assets/js/highcharts/modules/pyramid3d.js +1 -1
  325. package/assets/js/highcharts/modules/pyramid3d.src.js +1 -1
  326. package/assets/js/highcharts/modules/sankey.js +2 -2
  327. package/assets/js/highcharts/modules/sankey.src.js +7 -8
  328. package/assets/js/highcharts/modules/series-label.js +1 -1
  329. package/assets/js/highcharts/modules/series-label.src.js +1 -1
  330. package/assets/js/highcharts/modules/series-on-point.js +2 -2
  331. package/assets/js/highcharts/modules/series-on-point.src.js +3 -3
  332. package/assets/js/highcharts/modules/solid-gauge.js +1 -1
  333. package/assets/js/highcharts/modules/solid-gauge.src.js +1 -1
  334. package/assets/js/highcharts/modules/sonification.js +2 -2
  335. package/assets/js/highcharts/modules/sonification.src.js +4 -1
  336. package/assets/js/highcharts/modules/static-scale.js +1 -1
  337. package/assets/js/highcharts/modules/static-scale.src.js +1 -1
  338. package/assets/js/highcharts/modules/stock-tools.js +2 -2
  339. package/assets/js/highcharts/modules/stock-tools.src.js +3 -3
  340. package/assets/js/highcharts/modules/stock.js +2 -2
  341. package/assets/js/highcharts/modules/stock.src.js +274 -320
  342. package/assets/js/highcharts/modules/streamgraph.js +1 -1
  343. package/assets/js/highcharts/modules/streamgraph.src.js +1 -1
  344. package/assets/js/highcharts/modules/sunburst.js +2 -2
  345. package/assets/js/highcharts/modules/sunburst.src.js +39 -16
  346. package/assets/js/highcharts/modules/tiledwebmap.js +1 -1
  347. package/assets/js/highcharts/modules/tiledwebmap.src.js +1 -1
  348. package/assets/js/highcharts/modules/tilemap.js +1 -1
  349. package/assets/js/highcharts/modules/tilemap.src.js +1 -1
  350. package/assets/js/highcharts/modules/timeline.js +1 -1
  351. package/assets/js/highcharts/modules/timeline.src.js +1 -1
  352. package/assets/js/highcharts/modules/treegraph.js +2 -2
  353. package/assets/js/highcharts/modules/treegraph.src.js +21 -17
  354. package/assets/js/highcharts/modules/treegrid.js +2 -2
  355. package/assets/js/highcharts/modules/treegrid.src.js +2 -2
  356. package/assets/js/highcharts/modules/treemap.js +2 -2
  357. package/assets/js/highcharts/modules/treemap.src.js +38 -15
  358. package/assets/js/highcharts/modules/variable-pie.js +1 -1
  359. package/assets/js/highcharts/modules/variable-pie.src.js +1 -1
  360. package/assets/js/highcharts/modules/variwide.js +2 -2
  361. package/assets/js/highcharts/modules/variwide.src.js +5 -5
  362. package/assets/js/highcharts/modules/vector.js +1 -1
  363. package/assets/js/highcharts/modules/vector.src.js +1 -1
  364. package/assets/js/highcharts/modules/venn.js +1 -1
  365. package/assets/js/highcharts/modules/venn.src.js +3 -3
  366. package/assets/js/highcharts/modules/windbarb.js +1 -1
  367. package/assets/js/highcharts/modules/windbarb.src.js +1 -1
  368. package/assets/js/highcharts/modules/wordcloud.js +1 -1
  369. package/assets/js/highcharts/modules/wordcloud.src.js +1 -1
  370. package/assets/js/highcharts/modules/xrange.js +2 -2
  371. package/assets/js/highcharts/modules/xrange.src.js +5 -5
  372. package/assets/js/highcharts/standalone-navigator.js +2 -2
  373. package/assets/js/highcharts/standalone-navigator.src.js +769 -638
  374. package/assets/js/highcharts/themes/avocado.js +1 -1
  375. package/assets/js/highcharts/themes/avocado.src.js +1 -1
  376. package/assets/js/highcharts/themes/brand-dark.js +2 -2
  377. package/assets/js/highcharts/themes/brand-dark.src.js +14 -2
  378. package/assets/js/highcharts/themes/brand-light.js +1 -1
  379. package/assets/js/highcharts/themes/brand-light.src.js +1 -1
  380. package/assets/js/highcharts/themes/dark-blue.js +1 -1
  381. package/assets/js/highcharts/themes/dark-blue.src.js +1 -1
  382. package/assets/js/highcharts/themes/dark-green.js +1 -1
  383. package/assets/js/highcharts/themes/dark-green.src.js +1 -1
  384. package/assets/js/highcharts/themes/dark-unica.js +1 -1
  385. package/assets/js/highcharts/themes/dark-unica.src.js +1 -1
  386. package/assets/js/highcharts/themes/gray.js +1 -1
  387. package/assets/js/highcharts/themes/gray.src.js +1 -1
  388. package/assets/js/highcharts/themes/grid-light.js +1 -1
  389. package/assets/js/highcharts/themes/grid-light.src.js +1 -1
  390. package/assets/js/highcharts/themes/grid.js +1 -1
  391. package/assets/js/highcharts/themes/grid.src.js +1 -1
  392. package/assets/js/highcharts/themes/high-contrast-dark.js +1 -1
  393. package/assets/js/highcharts/themes/high-contrast-dark.src.js +1 -1
  394. package/assets/js/highcharts/themes/high-contrast-light.js +1 -1
  395. package/assets/js/highcharts/themes/high-contrast-light.src.js +1 -1
  396. package/assets/js/highcharts/themes/sand-signika.js +1 -1
  397. package/assets/js/highcharts/themes/sand-signika.src.js +1 -1
  398. package/assets/js/highcharts/themes/skies.js +1 -1
  399. package/assets/js/highcharts/themes/skies.src.js +1 -1
  400. package/assets/js/highcharts/themes/sunset.js +1 -1
  401. package/assets/js/highcharts/themes/sunset.src.js +1 -1
  402. package/package.json +1 -1
@@ -361,6 +361,8 @@ class ChartAdditions {
361
361
  });
362
362
  chart.mapView
363
363
  .fitToBounds(void 0, void 0);
364
+ chart.mapView.allowTransformAnimation =
365
+ true; // #20857
364
366
  }
365
367
  fireEvent(chart, 'afterApplyDrilldown');
366
368
  }
@@ -465,7 +467,8 @@ class ChartAdditions {
465
467
  // series are added for the same axis, #16135.
466
468
  if (oldSeries.xAxis &&
467
469
  oldSeries.xAxis.names &&
468
- (drilldownLevelsNumber === 0 || i === drilldownLevelsNumber)) {
470
+ (drilldownLevelsNumber === 0 ||
471
+ i === drilldownLevelsNumber - 1)) {
469
472
  oldSeries.xAxis.names.length = 0;
470
473
  }
471
474
  level.levelSeriesOptions.forEach((el) => {
@@ -508,13 +511,6 @@ class ChartAdditions {
508
511
  }
509
512
  if (!chart.mapView) {
510
513
  fireEvent(chart, 'afterDrillUp');
511
- chart.redraw();
512
- if (chart.ddDupes) {
513
- chart.ddDupes.length = 0; // #3315
514
- } // #8324
515
- // Fire a once-off event after all series have been drilled
516
- // up (#5158)
517
- fireEvent(chart, 'drillupall');
518
514
  }
519
515
  else {
520
516
  const shouldAnimate = level.levelNumber === levelNumber &&
@@ -555,6 +551,7 @@ class ChartAdditions {
555
551
  }
556
552
  }
557
553
  });
554
+ newSeries._hasTracking = false;
558
555
  }
559
556
  else {
560
557
  // When user don't want to zoom into region only
@@ -578,17 +575,20 @@ class ChartAdditions {
578
575
  }
579
576
  }
580
577
  newSeries.isDrilling = false;
581
- if (chart.ddDupes) {
582
- chart.ddDupes.length = 0; // #3315
583
- } // #8324
584
- // Fire a once-off event after all series have been
585
- // drilled up (#5158)
586
- fireEvent(chart, 'drillupall');
587
578
  }
588
579
  }
589
580
  }
590
581
  }
591
582
  }
583
+ if (!chart.mapView) {
584
+ chart.redraw();
585
+ }
586
+ if (chart.ddDupes) {
587
+ chart.ddDupes.length = 0; // #3315
588
+ } // #8324
589
+ // Fire a once-off event after all series have been
590
+ // drilled up (#5158)
591
+ fireEvent(chart, 'drillupall');
592
592
  }
593
593
  /**
594
594
  * A function to fade in a group. First, the element is being hidden, then,
@@ -104,12 +104,8 @@ var Exporting;
104
104
  if (btnOptions.enabled === false || !btnOptions.theme) {
105
105
  return;
106
106
  }
107
- const attr = btnOptions.theme;
107
+ const theme = chart.styledMode ? {} : btnOptions.theme;
108
108
  let callback;
109
- if (!chart.styledMode) {
110
- attr.fill = pick(attr.fill, "#ffffff" /* Palette.backgroundColor */);
111
- attr.stroke = pick(attr.stroke, 'none');
112
- }
113
109
  if (onclick) {
114
110
  callback = function (e) {
115
111
  if (e) {
@@ -129,22 +125,17 @@ var Exporting;
129
125
  };
130
126
  }
131
127
  if (btnOptions.text && btnOptions.symbol) {
132
- attr.paddingLeft = pick(attr.paddingLeft, 30);
128
+ theme.paddingLeft = pick(theme.paddingLeft, 30);
133
129
  }
134
130
  else if (!btnOptions.text) {
135
- extend(attr, {
131
+ extend(theme, {
136
132
  width: btnOptions.width,
137
133
  height: btnOptions.height,
138
134
  padding: 0
139
135
  });
140
136
  }
141
- if (!chart.styledMode) {
142
- attr['stroke-linecap'] = 'round';
143
- attr.fill = pick(attr.fill, "#ffffff" /* Palette.backgroundColor */);
144
- attr.stroke = pick(attr.stroke, 'none');
145
- }
146
137
  const button = renderer
147
- .button(btnOptions.text, 0, 0, callback, attr, void 0, void 0, void 0, void 0, btnOptions.useHTML)
138
+ .button(btnOptions.text, 0, 0, callback, theme, void 0, void 0, void 0, void 0, btnOptions.useHTML)
148
139
  .addClass(options.className)
149
140
  .attr({
150
141
  title: pick(chart.options.lang[btnOptions._titleKey || btnOptions.titleKey], '')
@@ -153,7 +144,7 @@ var Exporting;
153
144
  'highcharts-menu-' + chart.btnCount++);
154
145
  if (btnOptions.symbol) {
155
146
  symbol = renderer
156
- .symbol(btnOptions.symbol, btnOptions.symbolX - (symbolSize / 2), btnOptions.symbolY - (symbolSize / 2), symbolSize, symbolSize
147
+ .symbol(btnOptions.symbol, Math.round((btnOptions.symbolX || 0) - (symbolSize / 2)), Math.round((btnOptions.symbolY || 0) - (symbolSize / 2)), symbolSize, symbolSize
157
148
  // If symbol is an image, scale it (#7957)
158
149
  , {
159
150
  width: symbolSize,
@@ -486,15 +477,15 @@ var Exporting;
486
477
  }
487
478
  const menuStyle = { display: 'block' };
488
479
  // If outside right, right align it
489
- if (x + chart.exportMenuWidth > chartWidth) {
480
+ if (x + (chart.exportMenuWidth || 0) > chartWidth) {
490
481
  menuStyle.right = (chartWidth - x - width - menuPadding) + 'px';
491
482
  }
492
483
  else {
493
484
  menuStyle.left = (x - menuPadding) + 'px';
494
485
  }
495
486
  // If outside bottom, bottom align it
496
- if (y + height + chart.exportMenuHeight > chartHeight &&
497
- button.alignOptions.verticalAlign !== 'top') {
487
+ if (y + height + (chart.exportMenuHeight || 0) > chartHeight &&
488
+ button.alignOptions?.verticalAlign !== 'top') {
498
489
  menuStyle.bottom = (chartHeight - y - menuPadding) + 'px';
499
490
  }
500
491
  else {
@@ -876,6 +867,9 @@ var Exporting;
876
867
  }
877
868
  i = denylist.length;
878
869
  while (i-- && !denylisted) {
870
+ if (prop.length > 1000 /* RegexLimits.shortLimit */) {
871
+ throw new Error('Input too long');
872
+ }
879
873
  denylisted = (denylist[i].test(prop) ||
880
874
  typeof val === 'function');
881
875
  }
@@ -924,7 +918,8 @@ var Exporting;
924
918
  // won't do)
925
919
  const s = win.getComputedStyle(dummy, null), defaults = {};
926
920
  for (const key in s) {
927
- if (typeof s[key] === 'string' &&
921
+ if (key.length < 1000 /* RegexLimits.shortLimit */ &&
922
+ typeof s[key] === 'string' &&
928
923
  !/^[0-9]+$/.test(key)) {
929
924
  defaults[key] = s[key];
930
925
  }
@@ -767,20 +767,22 @@ const navigation = {
767
767
  * The default fill exists only to capture hover events.
768
768
  *
769
769
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
770
- * @default ${palette.backgroundColor}
771
- * @apioption navigation.buttonOptions.theme.fill
772
770
  */
771
+ fill: "#ffffff" /* Palette.backgroundColor */,
772
+ /**
773
+ * Padding for the button.
774
+ */
775
+ padding: 5,
773
776
  /**
774
777
  * Default stroke for the buttons.
775
778
  *
776
779
  * @type {Highcharts.ColorString}
777
- * @default none
778
- * @apioption navigation.buttonOptions.theme.stroke
779
780
  */
781
+ stroke: 'none',
780
782
  /**
781
- * Padding for the button.
783
+ * Default stroke linecap for the buttons.
782
784
  */
783
- padding: 5
785
+ 'stroke-linecap': 'round'
784
786
  }
785
787
  },
786
788
  /**
@@ -308,41 +308,49 @@ var OfflineExporting;
308
308
  failCallback(e);
309
309
  }
310
310
  }, function () {
311
+ if (svg.length > 100000000 /* RegexLimits.svgLimit */) {
312
+ throw new Error('Input too long');
313
+ }
311
314
  // Failed due to tainted canvas
312
315
  // Create new and untainted canvas
313
- const canvas = doc.createElement('canvas'), ctx = canvas.getContext('2d'), imageWidth = svg.match(/^<svg[^>]*width\s*=\s*\"?(\d+)\"?[^>]*>/)[1] * scale, imageHeight = svg.match(/^<svg[^>]*height\s*=\s*\"?(\d+)\"?[^>]*>/)[1] * scale, downloadWithCanVG = function () {
314
- const v = win.canvg.Canvg.fromString(ctx, svg);
315
- v.start();
316
- try {
317
- downloadURL(win.navigator.msSaveOrOpenBlob ?
318
- canvas.msToBlob() :
319
- canvas.toDataURL(imageType), filename);
320
- if (successCallback) {
321
- successCallback();
316
+ const canvas = doc.createElement('canvas'), ctx = canvas.getContext('2d'), matchedImageWidth = svg.match(
317
+ // eslint-disable-next-line max-len
318
+ /^<svg[^>]*\s{,1000}width\s{,1000}=\s{,1000}\"?(\d+)\"?[^>]*>/), matchedImageHeight = svg.match(
319
+ // eslint-disable-next-line max-len
320
+ /^<svg[^>]*\s{0,1000}height\s{,1000}=\s{,1000}\"?(\d+)\"?[^>]*>/);
321
+ if (ctx && matchedImageWidth && matchedImageHeight) {
322
+ const imageWidth = +matchedImageWidth[1] * scale, imageHeight = +matchedImageHeight[1] * scale, downloadWithCanVG = () => {
323
+ const v = win.canvg.Canvg.fromString(ctx, svg);
324
+ v.start();
325
+ try {
326
+ downloadURL(win.navigator.msSaveOrOpenBlob ?
327
+ canvas.msToBlob() :
328
+ canvas.toDataURL(imageType), filename);
329
+ if (successCallback) {
330
+ successCallback();
331
+ }
322
332
  }
333
+ catch (e) {
334
+ failCallback(e);
335
+ }
336
+ finally {
337
+ finallyHandler();
338
+ }
339
+ };
340
+ canvas.width = imageWidth;
341
+ canvas.height = imageHeight;
342
+ if (win.canvg) {
343
+ // Use preloaded canvg
344
+ downloadWithCanVG();
323
345
  }
324
- catch (e) {
325
- failCallback(e);
326
- }
327
- finally {
328
- finallyHandler();
346
+ else {
347
+ // Must load canVG first.
348
+ // Don't destroy the object URL yet since we are
349
+ // doing things asynchronously. A cleaner solution
350
+ // would be nice, but this will do for now.
351
+ objectURLRevoke = true;
352
+ getScript(libURL + 'canvg.js', downloadWithCanVG);
329
353
  }
330
- };
331
- canvas.width = imageWidth;
332
- canvas.height = imageHeight;
333
- if (win.canvg) {
334
- // Use preloaded canvg
335
- downloadWithCanVG();
336
- }
337
- else {
338
- // Must load canVG first. // Don't destroy the object
339
- // URL yet since we are doing things asynchronously. A
340
- // cleaner solution would be nice, but this will do for
341
- // now.
342
- objectURLRevoke = true;
343
- getScript(libURL + 'canvg.js', function () {
344
- downloadWithCanVG();
345
- });
346
354
  }
347
355
  },
348
356
  // No canvas support
@@ -48,6 +48,17 @@ const background = {
48
48
  * @product highcharts
49
49
  */
50
50
  shape: 'circle',
51
+ /**
52
+ * The border radius of the pane background when the shape is `arc`. Can be
53
+ * a number (pixels) or a percentage string.
54
+ *
55
+ * @since 11.4.2
56
+ * @sample highcharts/series-solidgauge/pane-borderradius
57
+ * Circular gauge and pane with equal border radius
58
+ * @product highcharts
59
+ * @type {number|string}
60
+ */
61
+ borderRadius: 0,
51
62
  /**
52
63
  * The pixel border width of the pane background.
53
64
  *
@@ -226,23 +226,7 @@ class ScrollablePlotArea {
226
226
  * @private
227
227
  */
228
228
  moveFixedElements() {
229
- const { container, inverted, scrollablePixelsX, scrollablePixelsY } = this.chart, fixedRenderer = this.fixedRenderer, fixedSelectors = [
230
- '.highcharts-breadcrumbs-group',
231
- '.highcharts-contextbutton',
232
- '.highcharts-caption',
233
- '.highcharts-credits',
234
- '.highcharts-legend',
235
- '.highcharts-legend-checkbox',
236
- '.highcharts-navigator-series',
237
- '.highcharts-navigator-xaxis',
238
- '.highcharts-navigator-yaxis',
239
- '.highcharts-navigator',
240
- '.highcharts-reset-zoom',
241
- '.highcharts-drillup-button',
242
- '.highcharts-scrollbar',
243
- '.highcharts-subtitle',
244
- '.highcharts-title'
245
- ];
229
+ const { container, inverted, scrollablePixelsX, scrollablePixelsY } = this.chart, fixedRenderer = this.fixedRenderer, fixedSelectors = ScrollablePlotArea.fixedSelectors;
246
230
  let axisClass;
247
231
  if (scrollablePixelsX && !inverted) {
248
232
  axisClass = '.highcharts-yaxis';
@@ -269,6 +253,24 @@ class ScrollablePlotArea {
269
253
  }
270
254
  }
271
255
  }
256
+ ScrollablePlotArea.fixedSelectors = [
257
+ '.highcharts-breadcrumbs-group',
258
+ '.highcharts-contextbutton',
259
+ '.highcharts-caption',
260
+ '.highcharts-credits',
261
+ '.highcharts-drillup-button',
262
+ '.highcharts-legend',
263
+ '.highcharts-legend-checkbox',
264
+ '.highcharts-navigator-series',
265
+ '.highcharts-navigator-xaxis',
266
+ '.highcharts-navigator-yaxis',
267
+ '.highcharts-navigator',
268
+ '.highcharts-range-selector-group',
269
+ '.highcharts-reset-zoom',
270
+ '.highcharts-scrollbar',
271
+ '.highcharts-subtitle',
272
+ '.highcharts-title'
273
+ ];
272
274
  /* *
273
275
  *
274
276
  * Default Export
@@ -113,7 +113,7 @@ var BrandDarkTheme;
113
113
  lowColor: '#f0f0f0'
114
114
  },
115
115
  map: {
116
- borderColor: 'rgba(200, 200, 200, 1)',
116
+ borderColor: '#909090',
117
117
  nullColor: '#78758C'
118
118
  }
119
119
  },
@@ -166,6 +166,18 @@ var BrandDarkTheme;
166
166
  }
167
167
  }
168
168
  },
169
+ colorAxis: {
170
+ gridLineColor: '#45445d',
171
+ labels: {
172
+ style: {
173
+ color: '#fff',
174
+ fontSize: '12px'
175
+ }
176
+ },
177
+ minColor: '#342f95',
178
+ maxColor: '#2caffe',
179
+ tickColor: '#45445d'
180
+ },
169
181
  mapNavigation: {
170
182
  enabled: true,
171
183
  buttonOptions: {
@@ -100,7 +100,7 @@ class MapNavigation {
100
100
  this.handler.call(chart, e);
101
101
  stopEvent(e); // Stop default click event (#4444)
102
102
  };
103
- let navOptions = chart.options.mapNavigation, attr;
103
+ let navOptions = chart.options.mapNavigation;
104
104
  // Merge in new options in case of update, and register back to chart
105
105
  // options.
106
106
  if (options) {
@@ -122,9 +122,12 @@ class MapNavigation {
122
122
  }
123
123
  objectEach(navOptions.buttons, (buttonOptions, n) => {
124
124
  buttonOptions = merge(navOptions.buttonOptions, buttonOptions);
125
+ const attr = {
126
+ padding: buttonOptions.padding
127
+ };
125
128
  // Presentational
126
129
  if (!chart.styledMode && buttonOptions.theme) {
127
- attr = buttonOptions.theme;
130
+ extend(attr, buttonOptions.theme);
128
131
  attr.style = merge(buttonOptions.theme.style, buttonOptions.style // #3203
129
132
  );
130
133
  }
@@ -142,7 +145,6 @@ class MapNavigation {
142
145
  width,
143
146
  height,
144
147
  title: chart.options.lang[n],
145
- padding: buttonOptions.padding,
146
148
  zIndex: 5
147
149
  })
148
150
  .add(mapNav.navButtonsGroup);
@@ -17,7 +17,7 @@ import MU from './MapUtilities.js';
17
17
  const { boundsFromPath, pointInPolygon } = MU;
18
18
  import Projection from './Projection.js';
19
19
  import U from '../Core/Utilities.js';
20
- const { addEvent, clamp, fireEvent, isArray, isNumber, isObject, isString, merge, pick, pushUnique, relativeLength } = U;
20
+ const { addEvent, clamp, crisp, fireEvent, isArray, isNumber, isObject, isString, merge, pick, pushUnique, relativeLength } = U;
21
21
  /* *
22
22
  *
23
23
  * Constants
@@ -494,7 +494,7 @@ class MapView {
494
494
  *
495
495
  * @function Highcharts.MapView#recommendMapView
496
496
  *
497
- * @since @next
497
+ * @since 11.4.0
498
498
  *
499
499
  * @param {Highcharts.Chart} chart
500
500
  * Chart object
@@ -1067,7 +1067,7 @@ class MapViewInset extends MapView {
1067
1067
  'stroke-width': options.borderWidth
1068
1068
  });
1069
1069
  }
1070
- const crisp = Math.round(this.border.strokeWidth()) % 2 / 2, field = (options.relativeTo === 'mapBoundingBox' &&
1070
+ const strokeWidth = this.border.strokeWidth(), field = (options.relativeTo === 'mapBoundingBox' &&
1071
1071
  mapView.getMapBBox()) || mapView.playingField;
1072
1072
  const d = (borderPath.coordinates || []).reduce((d, lineString) => lineString.reduce((d, point, i) => {
1073
1073
  let [x, y] = point;
@@ -1075,8 +1075,8 @@ class MapViewInset extends MapView {
1075
1075
  x = chart.plotLeft + relativeLength(`${x}%`, field.width, field.x);
1076
1076
  y = chart.plotTop + relativeLength(`${y}%`, field.height, field.y);
1077
1077
  }
1078
- x = Math.floor(x) + crisp;
1079
- y = Math.floor(y) + crisp;
1078
+ x = crisp(x, strokeWidth);
1079
+ y = crisp(y, strokeWidth);
1080
1080
  d.push(i === 0 ? ['M', x, y] : ['L', x, y]);
1081
1081
  return d;
1082
1082
  }, d), []);
@@ -32,7 +32,7 @@ floatCorrection = 0.000001;
32
32
  * operator, and preserves the distinction between -180 and 180.
33
33
  * @private
34
34
  */
35
- function wrapLon(lon) {
35
+ const wrapLon = (lon) => {
36
36
  // Replacing the if's with while would increase the range, but make it prone
37
37
  // to crashes on bad data
38
38
  if (lon < -180) {
@@ -42,7 +42,20 @@ function wrapLon(lon) {
42
42
  lon -= 360;
43
43
  }
44
44
  return lon;
45
- }
45
+ };
46
+ /**
47
+ * Calculate the haversine of an angle.
48
+ * @private
49
+ */
50
+ const hav = (radians) => (1 - Math.cos(radians)) / 2;
51
+ /**
52
+ * Calculate the haversine of an angle from two coordinates.
53
+ * @private
54
+ */
55
+ const havFromCoords = (point1, point2) => {
56
+ const cos = Math.cos, lat1 = point1[1] * deg2rad, lon1 = point1[0] * deg2rad, lat2 = point2[1] * deg2rad, lon2 = point2[0] * deg2rad, deltaLat = lat2 - lat1, deltaLon = lon2 - lon1, havFromCoords = hav(deltaLat) + cos(lat1) * cos(lat2) * hav(deltaLon);
57
+ return havFromCoords;
58
+ };
46
59
  /* *
47
60
  *
48
61
  * Class
@@ -62,14 +75,19 @@ class Projection {
62
75
  Projection.registry[name] = definition;
63
76
  }
64
77
  /**
65
- * Calculate the great circle between two given coordinates.
78
+ * Calculate the distance in meters between two given coordinates.
79
+ * @private
80
+ */
81
+ static distance(point1, point2) {
82
+ const { atan2, sqrt } = Math, hav = havFromCoords(point1, point2), angularDistance = 2 * atan2(sqrt(hav), sqrt(1 - hav)), distance = angularDistance * 6371e3;
83
+ return distance;
84
+ }
85
+ /**
86
+ * Calculate the geodesic line string between two given coordinates.
66
87
  * @private
67
88
  */
68
- static greatCircle(point1, point2, inclusive) {
69
- const { atan2, cos, sin, sqrt } = Math, lat1 = point1[1] * deg2rad, lon1 = point1[0] * deg2rad, lat2 = point2[1] * deg2rad, lon2 = point2[0] * deg2rad, deltaLat = lat2 - lat1, deltaLng = lon2 - lon1, calcA = sin(deltaLat / 2) * sin(deltaLat / 2) +
70
- cos(lat1) * cos(lat2) * sin(deltaLng / 2) * sin(deltaLng / 2), calcB = 2 * atan2(sqrt(calcA), sqrt(1 - calcA)), distance = calcB * 6371e3, // In meters
71
- jumps = Math.round(distance / 500000), // 500 km each jump
72
- lineString = [];
89
+ static geodesic(point1, point2, inclusive, stepDistance = 500000) {
90
+ const { atan2, cos, sin, sqrt } = Math, distance = Projection.distance, lat1 = point1[1] * deg2rad, lon1 = point1[0] * deg2rad, lat2 = point2[1] * deg2rad, lon2 = point2[0] * deg2rad, cosLat1CosLon1 = cos(lat1) * cos(lon1), cosLat2CosLon2 = cos(lat2) * cos(lon2), cosLat1SinLon1 = cos(lat1) * sin(lon1), cosLat2SinLon2 = cos(lat2) * sin(lon2), sinLat1 = sin(lat1), sinLat2 = sin(lat2), pointDistance = distance(point1, point2), angDistance = pointDistance / 6371e3, sinAng = sin(angDistance), jumps = Math.round(pointDistance / stepDistance), lineString = [];
73
91
  if (inclusive) {
74
92
  lineString.push(point1);
75
93
  }
@@ -77,7 +95,8 @@ class Projection {
77
95
  const step = 1 / jumps;
78
96
  for (let fraction = step; fraction < 0.999; // Account for float errors
79
97
  fraction += step) {
80
- const A = sin((1 - fraction) * calcB) / sin(calcB), B = sin(fraction * calcB) / sin(calcB), x = A * cos(lat1) * cos(lon1) + B * cos(lat2) * cos(lon2), y = A * cos(lat1) * sin(lon1) + B * cos(lat2) * sin(lon2), z = A * sin(lat1) + B * sin(lat2), lat3 = atan2(z, sqrt(x * x + y * y)), lon3 = atan2(y, x);
98
+ // Add intermediate point to lineString
99
+ const A = sin((1 - fraction) * angDistance) / sinAng, B = sin(fraction * angDistance) / sinAng, x = A * cosLat1CosLon1 + B * cosLat2CosLon2, y = A * cosLat1SinLon1 + B * cosLat2SinLon2, z = A * sinLat1 + B * sinLat2, lat3 = atan2(z, sqrt(x * x + y * y)), lon3 = atan2(y, x);
81
100
  lineString.push([lon3 / deg2rad, lat3 / deg2rad]);
82
101
  }
83
102
  }
@@ -86,16 +105,16 @@ class Projection {
86
105
  }
87
106
  return lineString;
88
107
  }
89
- static insertGreatCircles(poly) {
108
+ static insertGeodesics(poly) {
90
109
  let i = poly.length - 1;
91
110
  while (i--) {
92
111
  // Distance in degrees, either in lon or lat. Avoid heavy
93
112
  // calculation of true distance.
94
113
  const roughDistance = Math.max(Math.abs(poly[i][0] - poly[i + 1][0]), Math.abs(poly[i][1] - poly[i + 1][1]));
95
114
  if (roughDistance > 10) {
96
- const greatCircle = Projection.greatCircle(poly[i], poly[i + 1]);
97
- if (greatCircle.length) {
98
- poly.splice(i + 1, 0, ...greatCircle);
115
+ const geodesic = Projection.geodesic(poly[i], poly[i + 1]);
116
+ if (geodesic.length) {
117
+ poly.splice(i + 1, 0, ...geodesic);
99
118
  }
100
119
  }
101
120
  }
@@ -290,9 +309,9 @@ class Projection {
290
309
  intersections[i].direction * floatCorrection);
291
310
  const slice = poly.splice(index, intersections[i + 1].i - index,
292
311
  // Add interpolated points close to the cut
293
- ...Projection.greatCircle([lonPlus, intersections[i].lat], [lonPlus, intersections[i + 1].lat], true));
312
+ ...Projection.geodesic([lonPlus, intersections[i].lat], [lonPlus, intersections[i + 1].lat], true));
294
313
  // Add interpolated points close to the cut
295
- slice.push(...Projection.greatCircle([lonMinus, intersections[i + 1].lat], [lonMinus, intersections[i].lat], true));
314
+ slice.push(...Projection.geodesic([lonMinus, intersections[i + 1].lat], [lonMinus, intersections[i].lat], true));
296
315
  polygons.push(slice);
297
316
  i -= 2;
298
317
  }
@@ -307,7 +326,7 @@ class Projection {
307
326
  direction * floatCorrection);
308
327
  const lon2 = wrapLon(antimeridian -
309
328
  direction * floatCorrection);
310
- const polarSegment = Projection.greatCircle([lon1, lat], [lon1, polarLatitude], true);
329
+ const polarSegment = Projection.geodesic([lon1, lat], [lon1, polarLatitude], true);
311
330
  // Circle around the pole point in order to make
312
331
  // polygon clipping right. Without this, Antarctica
313
332
  // would wrap the wrong way in an LLC projection
@@ -315,7 +334,7 @@ class Projection {
315
334
  for (let lon = lon1 + 120 * direction; lon > -180 && lon < 180; lon += 120 * direction) {
316
335
  polarSegment.push([lon, polarLatitude]);
317
336
  }
318
- polarSegment.push(...Projection.greatCircle([lon2, polarLatitude], [lon2, polarIntersection.lat], true));
337
+ polarSegment.push(...Projection.geodesic([lon2, polarLatitude], [lon2, polarIntersection.lat], true));
319
338
  poly.splice(indexOf, 0, ...polarSegment);
320
339
  break;
321
340
  }
@@ -404,7 +423,7 @@ class Projection {
404
423
  let polygons = [poly];
405
424
  if (hasGeoProjection) {
406
425
  // Insert great circles into long straight lines
407
- Projection.insertGreatCircles(poly);
426
+ Projection.insertGeodesics(poly);
408
427
  if (projectingToPlane) {
409
428
  polygons = this.cutOnAntimeridian(poly, isPolygon);
410
429
  }
@@ -501,8 +520,8 @@ class Projection {
501
520
  // we may have to rewrite this to use the small
502
521
  // circle related to the current lon0 and lat0.
503
522
  if (isPolygon && hasGeoProjection) {
504
- const greatCircle = Projection.greatCircle(lastValidLonLat, lonLat);
505
- greatCircle.forEach((lonLat) => pushToPath(postclip.forward(lonLat)));
523
+ const geodesic = Projection.geodesic(lastValidLonLat, lonLat);
524
+ geodesic.forEach((lonLat) => pushToPath(postclip.forward(lonLat)));
506
525
  // For lines, just jump over the gap
507
526
  }
508
527
  else {