highcharts 9.3.3 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (670) hide show
  1. package/bower.json +1 -1
  2. package/css/highcharts.css +19 -2
  3. package/css/highcharts.scss +17 -2
  4. package/css/themes/dark-unica.css +19 -2
  5. package/css/themes/grid-light.css +19 -2
  6. package/css/themes/sand-signika.css +19 -2
  7. package/es-modules/Accessibility/Accessibility.js +1 -1
  8. package/es-modules/Accessibility/Components/LegendComponent.js +31 -23
  9. package/es-modules/Accessibility/Components/MenuComponent.js +4 -5
  10. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +2 -2
  11. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +7 -6
  12. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +1 -1
  13. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +0 -1
  14. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +3 -3
  15. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +61 -29
  16. package/es-modules/Accessibility/Components/ZoomComponent.js +13 -10
  17. package/es-modules/Accessibility/HighContrastMode.js +2 -2
  18. package/es-modules/Accessibility/KeyboardNavigation.js +113 -98
  19. package/es-modules/Accessibility/ProxyElement.js +14 -6
  20. package/es-modules/Accessibility/ProxyProvider.js +10 -2
  21. package/es-modules/Core/Axis/Axis.js +150 -46
  22. package/es-modules/Core/Axis/Color/ColorAxis.js +22 -5
  23. package/es-modules/Core/Axis/GridAxis.js +10 -9
  24. package/es-modules/Core/Axis/TreeGridTick.js +11 -0
  25. package/es-modules/Core/Chart/Chart3D.js +1 -11
  26. package/es-modules/Core/Chart/ChartDefaults.js +32 -11
  27. package/es-modules/Core/Chart/MapChart.js +1 -6
  28. package/es-modules/Core/DefaultOptions.js +2 -0
  29. package/es-modules/Core/Geometry/PolygonClip.js +84 -0
  30. package/es-modules/Core/Globals.js +4 -18
  31. package/es-modules/Core/HttpUtilities.js +13 -8
  32. package/es-modules/Core/Legend/Legend.js +10 -8
  33. package/es-modules/Core/Navigator.js +9 -6
  34. package/es-modules/Core/Pointer.js +15 -11
  35. package/es-modules/Core/Renderer/HTML/AST.js +62 -5
  36. package/es-modules/Core/Renderer/SVG/SVGElement.js +25 -41
  37. package/es-modules/Core/Renderer/SVG/SVGElement3D.js +17 -5
  38. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +17 -17
  39. package/es-modules/Core/Renderer/SVG/TextBuilder.js +12 -10
  40. package/es-modules/Core/Series/DataLabel.js +11 -3
  41. package/es-modules/Core/Series/Point.js +2 -2
  42. package/es-modules/Core/Series/Series.js +33 -15
  43. package/es-modules/Core/Series/SeriesDefaults.js +4 -1
  44. package/es-modules/Core/Tooltip.js +14 -31
  45. package/es-modules/Core/Utilities.js +28 -28
  46. package/es-modules/Extensions/Annotations/Annotations.js +7 -0
  47. package/es-modules/Extensions/Annotations/MockPoint.js +1 -1
  48. package/es-modules/Extensions/Annotations/NavigationBindings.js +1 -1
  49. package/es-modules/Extensions/Annotations/Popup.js +1 -1
  50. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +5 -3
  51. package/es-modules/Extensions/Boost/BoostInit.js +6 -1
  52. package/es-modules/Extensions/Boost/BoostOptions.js +26 -0
  53. package/es-modules/Extensions/Boost/Boostables.js +1 -0
  54. package/es-modules/Extensions/Boost/WGLRenderer.js +48 -37
  55. package/es-modules/Extensions/Boost/WGLShader.js +4 -3
  56. package/es-modules/Extensions/Breadcrumbs.js +874 -0
  57. package/es-modules/Extensions/Data.js +26 -14
  58. package/es-modules/Extensions/DataGrouping.js +5 -2
  59. package/es-modules/Extensions/DraggablePoints.js +9 -7
  60. package/es-modules/Extensions/Drilldown.js +147 -94
  61. package/es-modules/Extensions/Exporting/Exporting.js +9 -7
  62. package/es-modules/Extensions/Exporting/ExportingDefaults.js +49 -1
  63. package/es-modules/Extensions/GeoJSON.js +149 -124
  64. package/es-modules/Extensions/MarkerClusters.js +34 -20
  65. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +110 -22
  66. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  67. package/es-modules/Extensions/Oldie/Oldie.js +1 -1
  68. package/es-modules/Extensions/ScrollablePlotArea.js +5 -1
  69. package/es-modules/Extensions/Stacking.js +3 -2
  70. package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
  71. package/es-modules/Extensions/Themes/HighContrastLight.js +10 -10
  72. package/es-modules/Maps/MapNavigation.js +49 -8
  73. package/es-modules/Maps/MapPointer.js +16 -0
  74. package/es-modules/Maps/MapUtilities.js +56 -0
  75. package/es-modules/Maps/MapView.js +606 -135
  76. package/es-modules/Maps/MapViewInsetsOptionsDefault.js +148 -0
  77. package/es-modules/Maps/MapViewOptionsDefault.js +58 -20
  78. package/es-modules/Maps/Projection.js +169 -77
  79. package/es-modules/Maps/Projections/EqualEarth.js +15 -6
  80. package/es-modules/Maps/Projections/LambertConformalConic.js +27 -19
  81. package/es-modules/Maps/Projections/Miller.js +23 -10
  82. package/es-modules/Maps/Projections/Orthographic.js +21 -10
  83. package/es-modules/Maps/Projections/WebMercator.js +25 -13
  84. package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +77 -0
  85. package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +581 -0
  86. package/es-modules/Series/Column/ColumnSeries.js +4 -3
  87. package/es-modules/Series/DataModifyComposition.js +1 -0
  88. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +2 -2
  89. package/es-modules/Series/DrawPointComposition.js +7 -4
  90. package/es-modules/Series/Lollipop/LollipopSeries.js +1 -1
  91. package/es-modules/Series/Map/MapPoint.js +24 -1
  92. package/es-modules/Series/Map/MapSeries.js +196 -169
  93. package/es-modules/Series/MapBubble/MapBubblePoint.js +16 -24
  94. package/es-modules/Series/MapBubble/MapBubbleSeries.js +11 -0
  95. package/es-modules/Series/MapPoint/MapPointPoint.js +2 -8
  96. package/es-modules/Series/MapPoint/MapPointSeries.js +36 -14
  97. package/es-modules/Series/NodesComposition.js +60 -13
  98. package/es-modules/Series/OHLC/OHLCSeries.js +7 -0
  99. package/es-modules/Series/Organization/OrganizationPoint.js +68 -2
  100. package/es-modules/Series/Organization/OrganizationSeries.js +79 -25
  101. package/es-modules/Series/Pie/PiePoint.js +12 -5
  102. package/es-modules/Series/Pie3D/Pie3DSeries.js +19 -0
  103. package/es-modules/Series/Sankey/SankeyColumnComposition.js +193 -0
  104. package/es-modules/Series/Sankey/SankeyPoint.js +37 -1
  105. package/es-modules/Series/Sankey/SankeySeries.js +10 -127
  106. package/es-modules/Series/Scatter/ScatterSeries.js +1 -1
  107. package/es-modules/Series/Sunburst/SunburstSeries.js +13 -2
  108. package/es-modules/Series/Treemap/TreemapSeries.js +88 -80
  109. package/es-modules/Series/Waterfall/WaterfallSeries.js +2 -0
  110. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +9 -2
  111. package/es-modules/Stock/StockToolsGui.js +1 -1
  112. package/es-modules/masters/highcharts-3d.src.js +1 -1
  113. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  114. package/es-modules/masters/highcharts-more.src.js +1 -1
  115. package/es-modules/masters/highcharts.src.js +1 -1
  116. package/es-modules/masters/highmaps.src.js +1 -1
  117. package/es-modules/masters/highstock.src.js +1 -1
  118. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  119. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  120. package/es-modules/masters/indicators/ao.src.js +1 -1
  121. package/es-modules/masters/indicators/apo.src.js +1 -1
  122. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  123. package/es-modules/masters/indicators/aroon.src.js +1 -1
  124. package/es-modules/masters/indicators/atr.src.js +1 -1
  125. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  126. package/es-modules/masters/indicators/cci.src.js +1 -1
  127. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  128. package/es-modules/masters/indicators/cmf.src.js +1 -1
  129. package/es-modules/masters/indicators/cmo.src.js +1 -1
  130. package/es-modules/masters/indicators/dema.src.js +1 -1
  131. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  132. package/es-modules/masters/indicators/dmi.src.js +1 -1
  133. package/es-modules/masters/indicators/dpo.src.js +1 -1
  134. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  135. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  136. package/es-modules/masters/indicators/indicators.src.js +1 -1
  137. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  138. package/es-modules/masters/indicators/klinger.src.js +1 -1
  139. package/es-modules/masters/indicators/macd.src.js +1 -1
  140. package/es-modules/masters/indicators/mfi.src.js +1 -1
  141. package/es-modules/masters/indicators/momentum.src.js +1 -1
  142. package/es-modules/masters/indicators/natr.src.js +1 -1
  143. package/es-modules/masters/indicators/obv.src.js +1 -1
  144. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  145. package/es-modules/masters/indicators/ppo.src.js +1 -1
  146. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  147. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  148. package/es-modules/masters/indicators/psar.src.js +1 -1
  149. package/es-modules/masters/indicators/regressions.src.js +1 -1
  150. package/es-modules/masters/indicators/roc.src.js +1 -1
  151. package/es-modules/masters/indicators/rsi.src.js +1 -1
  152. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  153. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  154. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  155. package/es-modules/masters/indicators/tema.src.js +1 -1
  156. package/es-modules/masters/indicators/trendline.src.js +1 -1
  157. package/es-modules/masters/indicators/trix.src.js +1 -1
  158. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  159. package/es-modules/masters/indicators/vwap.src.js +1 -1
  160. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  161. package/es-modules/masters/indicators/wma.src.js +1 -1
  162. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  163. package/es-modules/masters/modules/accessibility.src.js +1 -1
  164. package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
  165. package/es-modules/masters/modules/annotations.src.js +1 -1
  166. package/es-modules/masters/modules/arc-diagram.src.js +14 -0
  167. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  168. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  169. package/es-modules/masters/modules/boost.src.js +1 -1
  170. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  171. package/es-modules/masters/modules/bullet.src.js +1 -1
  172. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  173. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  174. package/es-modules/masters/modules/cylinder.src.js +1 -1
  175. package/es-modules/masters/modules/data.src.js +1 -1
  176. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  177. package/es-modules/masters/modules/debugger.src.js +1 -1
  178. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  179. package/es-modules/masters/modules/dotplot.src.js +1 -1
  180. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  181. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  182. package/es-modules/masters/modules/drilldown.src.js +2 -1
  183. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  184. package/es-modules/masters/modules/export-data.src.js +1 -1
  185. package/es-modules/masters/modules/exporting.src.js +1 -1
  186. package/es-modules/masters/modules/full-screen.src.js +1 -1
  187. package/es-modules/masters/modules/funnel.src.js +1 -1
  188. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  189. package/es-modules/masters/modules/gantt.src.js +1 -1
  190. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  191. package/es-modules/masters/modules/heatmap.src.js +1 -1
  192. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  193. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  194. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  195. package/es-modules/masters/modules/item-series.src.js +1 -1
  196. package/es-modules/masters/modules/lollipop.src.js +1 -1
  197. package/es-modules/masters/modules/map.src.js +5 -1
  198. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  199. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  200. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  201. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  202. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  203. package/es-modules/masters/modules/oldie.src.js +1 -1
  204. package/es-modules/masters/modules/organization.src.js +1 -1
  205. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  206. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  207. package/es-modules/masters/modules/pareto.src.js +1 -1
  208. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  209. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  210. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  211. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  212. package/es-modules/masters/modules/sankey.src.js +1 -1
  213. package/es-modules/masters/modules/series-label.src.js +1 -1
  214. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  215. package/es-modules/masters/modules/sonification.src.js +1 -1
  216. package/es-modules/masters/modules/static-scale.src.js +1 -1
  217. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  218. package/es-modules/masters/modules/stock.src.js +1 -1
  219. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  220. package/es-modules/masters/modules/sunburst.src.js +1 -1
  221. package/es-modules/masters/modules/tilemap.src.js +1 -1
  222. package/es-modules/masters/modules/timeline.src.js +1 -1
  223. package/es-modules/masters/modules/treegrid.src.js +1 -1
  224. package/es-modules/masters/modules/treemap.src.js +5 -1
  225. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  226. package/es-modules/masters/modules/variwide.src.js +1 -1
  227. package/es-modules/masters/modules/vector.src.js +1 -1
  228. package/es-modules/masters/modules/venn.src.js +1 -1
  229. package/es-modules/masters/modules/windbarb.src.js +1 -1
  230. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  231. package/es-modules/masters/modules/xrange.src.js +1 -1
  232. package/es-modules/masters/themes/avocado.src.js +1 -1
  233. package/es-modules/masters/themes/brand-dark.src.js +1 -1
  234. package/es-modules/masters/themes/brand-light.src.js +1 -1
  235. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  236. package/es-modules/masters/themes/dark-green.src.js +1 -1
  237. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  238. package/es-modules/masters/themes/gray.src.js +1 -1
  239. package/es-modules/masters/themes/grid-light.src.js +1 -1
  240. package/es-modules/masters/themes/grid.src.js +1 -1
  241. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  242. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  243. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  244. package/es-modules/masters/themes/skies.src.js +1 -1
  245. package/es-modules/masters/themes/sunset.src.js +1 -1
  246. package/highcharts-3d.js +99 -98
  247. package/highcharts-3d.js.map +1 -1
  248. package/highcharts-3d.src.js +50 -20
  249. package/highcharts-gantt.js +800 -795
  250. package/highcharts-gantt.js.map +1 -1
  251. package/highcharts-gantt.src.js +528 -290
  252. package/highcharts-more.js +195 -194
  253. package/highcharts-more.js.map +1 -1
  254. package/highcharts-more.src.js +13 -2
  255. package/highcharts.d.ts +2162 -504
  256. package/highcharts.js +586 -581
  257. package/highcharts.js.map +1 -1
  258. package/highcharts.src.d.ts +2162 -504
  259. package/highcharts.src.js +494 -272
  260. package/highmaps.js +753 -723
  261. package/highmaps.js.map +1 -1
  262. package/highmaps.src.js +3603 -2117
  263. package/highstock.js +790 -786
  264. package/highstock.js.map +1 -1
  265. package/highstock.src.js +519 -283
  266. package/indicators/acceleration-bands.js +12 -11
  267. package/indicators/acceleration-bands.js.map +1 -1
  268. package/indicators/acceleration-bands.src.js +11 -2
  269. package/indicators/accumulation-distribution.js +5 -5
  270. package/indicators/accumulation-distribution.js.map +1 -1
  271. package/indicators/accumulation-distribution.src.js +11 -2
  272. package/indicators/ao.js +6 -6
  273. package/indicators/ao.js.map +1 -1
  274. package/indicators/ao.src.js +11 -2
  275. package/indicators/apo.js +5 -5
  276. package/indicators/apo.js.map +1 -1
  277. package/indicators/apo.src.js +11 -2
  278. package/indicators/aroon-oscillator.js +10 -10
  279. package/indicators/aroon-oscillator.js.map +1 -1
  280. package/indicators/aroon-oscillator.src.js +11 -2
  281. package/indicators/aroon.js +11 -11
  282. package/indicators/aroon.js.map +1 -1
  283. package/indicators/aroon.src.js +11 -2
  284. package/indicators/atr.js +5 -5
  285. package/indicators/atr.js.map +1 -1
  286. package/indicators/atr.src.js +11 -2
  287. package/indicators/bollinger-bands.js +12 -12
  288. package/indicators/bollinger-bands.js.map +1 -1
  289. package/indicators/bollinger-bands.src.js +11 -2
  290. package/indicators/cci.js +5 -5
  291. package/indicators/cci.js.map +1 -1
  292. package/indicators/cci.src.js +11 -2
  293. package/indicators/chaikin.js +8 -8
  294. package/indicators/chaikin.js.map +1 -1
  295. package/indicators/chaikin.src.js +11 -2
  296. package/indicators/cmf.js +6 -6
  297. package/indicators/cmf.js.map +1 -1
  298. package/indicators/cmf.src.js +11 -2
  299. package/indicators/cmo.js +5 -5
  300. package/indicators/cmo.js.map +1 -1
  301. package/indicators/cmo.src.js +11 -2
  302. package/indicators/dema.js +5 -5
  303. package/indicators/dema.js.map +1 -1
  304. package/indicators/dema.src.js +11 -2
  305. package/indicators/disparity-index.js +6 -6
  306. package/indicators/disparity-index.js.map +1 -1
  307. package/indicators/disparity-index.src.js +11 -2
  308. package/indicators/dmi.js +12 -12
  309. package/indicators/dmi.js.map +1 -1
  310. package/indicators/dmi.src.js +11 -2
  311. package/indicators/dpo.js +5 -5
  312. package/indicators/dpo.js.map +1 -1
  313. package/indicators/dpo.src.js +11 -2
  314. package/indicators/ema.js +2 -1
  315. package/indicators/ema.js.map +1 -1
  316. package/indicators/ema.src.js +10 -1
  317. package/indicators/ichimoku-kinko-hyo.js +16 -16
  318. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  319. package/indicators/ichimoku-kinko-hyo.src.js +11 -2
  320. package/indicators/indicators-all.js +195 -194
  321. package/indicators/indicators-all.js.map +1 -1
  322. package/indicators/indicators-all.src.js +21 -5
  323. package/indicators/indicators.js +13 -12
  324. package/indicators/indicators.js.map +1 -1
  325. package/indicators/indicators.src.js +21 -5
  326. package/indicators/keltner-channels.js +12 -11
  327. package/indicators/keltner-channels.js.map +1 -1
  328. package/indicators/keltner-channels.src.js +11 -2
  329. package/indicators/klinger.js +13 -13
  330. package/indicators/klinger.js.map +1 -1
  331. package/indicators/klinger.src.js +11 -2
  332. package/indicators/macd.js +12 -11
  333. package/indicators/macd.js.map +1 -1
  334. package/indicators/macd.src.js +11 -2
  335. package/indicators/mfi.js +6 -6
  336. package/indicators/mfi.js.map +1 -1
  337. package/indicators/mfi.src.js +11 -2
  338. package/indicators/momentum.js +5 -5
  339. package/indicators/momentum.js.map +1 -1
  340. package/indicators/momentum.src.js +11 -2
  341. package/indicators/natr.js +5 -4
  342. package/indicators/natr.js.map +1 -1
  343. package/indicators/natr.src.js +11 -2
  344. package/indicators/obv.js +5 -5
  345. package/indicators/obv.js.map +1 -1
  346. package/indicators/obv.src.js +11 -2
  347. package/indicators/pivot-points.js +11 -11
  348. package/indicators/pivot-points.js.map +1 -1
  349. package/indicators/pivot-points.src.js +11 -2
  350. package/indicators/ppo.js +5 -5
  351. package/indicators/ppo.js.map +1 -1
  352. package/indicators/ppo.src.js +11 -2
  353. package/indicators/price-channel.js +11 -11
  354. package/indicators/price-channel.js.map +1 -1
  355. package/indicators/price-channel.src.js +11 -2
  356. package/indicators/price-envelopes.js +8 -8
  357. package/indicators/price-envelopes.js.map +1 -1
  358. package/indicators/price-envelopes.src.js +11 -2
  359. package/indicators/psar.js +7 -6
  360. package/indicators/psar.js.map +1 -1
  361. package/indicators/psar.src.js +11 -2
  362. package/indicators/regressions.js +12 -12
  363. package/indicators/regressions.js.map +1 -1
  364. package/indicators/regressions.src.js +11 -2
  365. package/indicators/roc.js +5 -5
  366. package/indicators/roc.js.map +1 -1
  367. package/indicators/roc.src.js +11 -2
  368. package/indicators/rsi.js +6 -5
  369. package/indicators/rsi.js.map +1 -1
  370. package/indicators/rsi.src.js +11 -2
  371. package/indicators/slow-stochastic.js +5 -5
  372. package/indicators/slow-stochastic.js.map +1 -1
  373. package/indicators/slow-stochastic.src.js +11 -2
  374. package/indicators/stochastic.js +12 -12
  375. package/indicators/stochastic.js.map +1 -1
  376. package/indicators/stochastic.src.js +11 -2
  377. package/indicators/supertrend.js +10 -10
  378. package/indicators/supertrend.js.map +1 -1
  379. package/indicators/supertrend.src.js +11 -2
  380. package/indicators/tema.js +6 -6
  381. package/indicators/tema.js.map +1 -1
  382. package/indicators/tema.src.js +11 -2
  383. package/indicators/trendline.js +5 -5
  384. package/indicators/trendline.js.map +1 -1
  385. package/indicators/trendline.src.js +11 -2
  386. package/indicators/trix.js +4 -4
  387. package/indicators/trix.js.map +1 -1
  388. package/indicators/trix.src.js +11 -2
  389. package/indicators/volume-by-price.js +17 -17
  390. package/indicators/volume-by-price.js.map +1 -1
  391. package/indicators/volume-by-price.src.js +11 -2
  392. package/indicators/vwap.js +5 -5
  393. package/indicators/vwap.js.map +1 -1
  394. package/indicators/vwap.src.js +11 -2
  395. package/indicators/williams-r.js +6 -5
  396. package/indicators/williams-r.js.map +1 -1
  397. package/indicators/williams-r.src.js +11 -2
  398. package/indicators/wma.js +5 -5
  399. package/indicators/wma.js.map +1 -1
  400. package/indicators/wma.src.js +11 -2
  401. package/indicators/zigzag.js +6 -6
  402. package/indicators/zigzag.js.map +1 -1
  403. package/indicators/zigzag.src.js +11 -2
  404. package/lib/jspdf.js +299 -184
  405. package/lib/jspdf.src.js +25266 -18067
  406. package/lib/svg2pdf.js +35 -31
  407. package/lib/svg2pdf.src.js +5721 -4179
  408. package/modules/accessibility.js +231 -229
  409. package/modules/accessibility.js.map +1 -1
  410. package/modules/accessibility.src.js +278 -197
  411. package/modules/annotations-advanced.js +144 -144
  412. package/modules/annotations-advanced.js.map +1 -1
  413. package/modules/annotations-advanced.src.js +26 -8
  414. package/modules/annotations.js +79 -79
  415. package/modules/annotations.js.map +1 -1
  416. package/modules/annotations.src.js +21 -5
  417. package/modules/arc-diagram.js +25 -0
  418. package/modules/arc-diagram.js.map +1 -0
  419. package/modules/arc-diagram.src.js +770 -0
  420. package/modules/arrow-symbols.js +4 -3
  421. package/modules/arrow-symbols.js.map +1 -1
  422. package/modules/arrow-symbols.src.js +11 -2
  423. package/modules/boost-canvas.js +15 -15
  424. package/modules/boost-canvas.js.map +1 -1
  425. package/modules/boost-canvas.src.js +11 -2
  426. package/modules/boost.js +80 -79
  427. package/modules/boost.js.map +1 -1
  428. package/modules/boost.src.js +71 -43
  429. package/modules/broken-axis.js +13 -13
  430. package/modules/broken-axis.js.map +1 -1
  431. package/modules/broken-axis.src.js +11 -2
  432. package/modules/bullet.js +9 -9
  433. package/modules/bullet.js.map +1 -1
  434. package/modules/bullet.src.js +11 -2
  435. package/modules/coloraxis.js +24 -24
  436. package/modules/coloraxis.js.map +1 -1
  437. package/modules/coloraxis.src.js +33 -7
  438. package/modules/current-date-indicator.js +5 -4
  439. package/modules/current-date-indicator.js.map +1 -1
  440. package/modules/current-date-indicator.src.js +11 -2
  441. package/modules/cylinder.js +11 -11
  442. package/modules/cylinder.js.map +1 -1
  443. package/modules/cylinder.src.js +11 -2
  444. package/modules/data.js +34 -33
  445. package/modules/data.js.map +1 -1
  446. package/modules/data.src.js +59 -32
  447. package/modules/datagrouping.js +21 -20
  448. package/modules/datagrouping.js.map +1 -1
  449. package/modules/datagrouping.src.js +16 -4
  450. package/modules/debugger.js +6 -6
  451. package/modules/debugger.js.map +1 -1
  452. package/modules/debugger.src.js +11 -2
  453. package/modules/dependency-wheel.js +12 -11
  454. package/modules/dependency-wheel.js.map +1 -1
  455. package/modules/dependency-wheel.src.js +14 -5
  456. package/modules/dotplot.js +6 -6
  457. package/modules/dotplot.js.map +1 -1
  458. package/modules/dotplot.src.js +11 -2
  459. package/modules/drag-panes.js +10 -10
  460. package/modules/drag-panes.js.map +1 -1
  461. package/modules/drag-panes.src.js +11 -2
  462. package/modules/draggable-points.js +35 -34
  463. package/modules/draggable-points.js.map +1 -1
  464. package/modules/draggable-points.src.js +20 -9
  465. package/modules/drilldown.d.ts +19 -0
  466. package/modules/drilldown.js +37 -25
  467. package/modules/drilldown.js.map +1 -1
  468. package/modules/drilldown.src.d.ts +19 -0
  469. package/modules/drilldown.src.js +1090 -105
  470. package/modules/dumbbell.js +17 -17
  471. package/modules/dumbbell.js.map +1 -1
  472. package/modules/dumbbell.src.js +11 -2
  473. package/modules/export-data.js +21 -20
  474. package/modules/export-data.js.map +1 -1
  475. package/modules/export-data.src.js +11 -2
  476. package/modules/exporting.js +39 -39
  477. package/modules/exporting.js.map +1 -1
  478. package/modules/exporting.src.js +82 -18
  479. package/modules/full-screen.js +8 -7
  480. package/modules/full-screen.js.map +1 -1
  481. package/modules/full-screen.src.js +11 -2
  482. package/modules/funnel.js +12 -12
  483. package/modules/funnel.js.map +1 -1
  484. package/modules/funnel.src.js +11 -2
  485. package/modules/funnel3d.js +21 -21
  486. package/modules/funnel3d.js.map +1 -1
  487. package/modules/funnel3d.src.js +11 -2
  488. package/modules/gantt.js +217 -217
  489. package/modules/gantt.js.map +1 -1
  490. package/modules/gantt.src.js +45 -20
  491. package/modules/grid-axis.js +23 -23
  492. package/modules/grid-axis.js.map +1 -1
  493. package/modules/grid-axis.src.js +22 -11
  494. package/modules/heatmap.js +40 -39
  495. package/modules/heatmap.js.map +1 -1
  496. package/modules/heatmap.src.js +33 -7
  497. package/modules/heikinashi.js +8 -8
  498. package/modules/heikinashi.js.map +1 -1
  499. package/modules/heikinashi.src.js +11 -2
  500. package/modules/histogram-bellcurve.js +13 -13
  501. package/modules/histogram-bellcurve.js.map +1 -1
  502. package/modules/histogram-bellcurve.src.js +11 -2
  503. package/modules/hollowcandlestick.js +9 -9
  504. package/modules/hollowcandlestick.js.map +1 -1
  505. package/modules/hollowcandlestick.src.js +11 -2
  506. package/modules/item-series.js +12 -12
  507. package/modules/item-series.js.map +1 -1
  508. package/modules/item-series.src.js +11 -2
  509. package/modules/lollipop.js +7 -7
  510. package/modules/lollipop.js.map +1 -1
  511. package/modules/lollipop.src.js +12 -3
  512. package/modules/map.d.ts +80 -43
  513. package/modules/map.js +169 -144
  514. package/modules/map.js.map +1 -1
  515. package/modules/map.src.d.ts +80 -43
  516. package/modules/map.src.js +7960 -6687
  517. package/modules/marker-clusters.js +36 -36
  518. package/modules/marker-clusters.js.map +1 -1
  519. package/modules/marker-clusters.src.js +47 -23
  520. package/modules/networkgraph.d.ts +5 -0
  521. package/modules/networkgraph.js +49 -48
  522. package/modules/networkgraph.js.map +1 -1
  523. package/modules/networkgraph.src.d.ts +5 -0
  524. package/modules/networkgraph.src.js +77 -15
  525. package/modules/no-data-to-display.js +5 -5
  526. package/modules/no-data-to-display.js.map +1 -1
  527. package/modules/no-data-to-display.src.js +11 -2
  528. package/modules/offline-exporting.js +20 -18
  529. package/modules/offline-exporting.js.map +1 -1
  530. package/modules/offline-exporting.src.js +126 -25
  531. package/modules/oldie-polyfills.js +7 -7
  532. package/modules/oldie-polyfills.js.map +1 -1
  533. package/modules/oldie-polyfills.src.js +11 -2
  534. package/modules/oldie.js +30 -30
  535. package/modules/oldie.js.map +1 -1
  536. package/modules/oldie.src.js +12 -3
  537. package/modules/organization.js +16 -14
  538. package/modules/organization.js.map +1 -1
  539. package/modules/organization.src.js +166 -32
  540. package/modules/overlapping-datalabels.js +3 -2
  541. package/modules/overlapping-datalabels.js.map +1 -1
  542. package/modules/overlapping-datalabels.src.js +11 -2
  543. package/modules/parallel-coordinates.js +11 -11
  544. package/modules/parallel-coordinates.js.map +1 -1
  545. package/modules/parallel-coordinates.src.js +11 -2
  546. package/modules/pareto.js +7 -7
  547. package/modules/pareto.js.map +1 -1
  548. package/modules/pareto.src.js +11 -2
  549. package/modules/pathfinder.js +31 -31
  550. package/modules/pathfinder.js.map +1 -1
  551. package/modules/pathfinder.src.js +11 -2
  552. package/modules/pattern-fill.js +14 -14
  553. package/modules/pattern-fill.js.map +1 -1
  554. package/modules/pattern-fill.src.js +11 -2
  555. package/modules/price-indicator.js +5 -5
  556. package/modules/price-indicator.js.map +1 -1
  557. package/modules/price-indicator.src.js +11 -2
  558. package/modules/pyramid3d.js +4 -4
  559. package/modules/pyramid3d.js.map +1 -1
  560. package/modules/pyramid3d.src.js +11 -2
  561. package/modules/sankey.d.ts +5 -0
  562. package/modules/sankey.js +32 -29
  563. package/modules/sankey.js.map +1 -1
  564. package/modules/sankey.src.d.ts +5 -0
  565. package/modules/sankey.src.js +338 -156
  566. package/modules/series-label.js +18 -17
  567. package/modules/series-label.js.map +1 -1
  568. package/modules/series-label.src.js +11 -2
  569. package/modules/solid-gauge.js +10 -10
  570. package/modules/solid-gauge.js.map +1 -1
  571. package/modules/solid-gauge.src.js +11 -2
  572. package/modules/sonification.js +59 -59
  573. package/modules/sonification.js.map +1 -1
  574. package/modules/sonification.src.js +11 -2
  575. package/modules/static-scale.js +5 -4
  576. package/modules/static-scale.js.map +1 -1
  577. package/modules/static-scale.src.js +11 -2
  578. package/modules/stock-tools.js +78 -78
  579. package/modules/stock-tools.js.map +1 -1
  580. package/modules/stock-tools.src.js +21 -5
  581. package/modules/stock.js +162 -162
  582. package/modules/stock.js.map +1 -1
  583. package/modules/stock.src.js +36 -13
  584. package/modules/streamgraph.js +5 -4
  585. package/modules/streamgraph.js.map +1 -1
  586. package/modules/streamgraph.src.js +11 -2
  587. package/modules/sunburst.d.ts +3 -0
  588. package/modules/sunburst.js +73 -60
  589. package/modules/sunburst.js.map +1 -1
  590. package/modules/sunburst.src.d.ts +3 -0
  591. package/modules/sunburst.src.js +1049 -96
  592. package/modules/tilemap.js +17 -17
  593. package/modules/tilemap.js.map +1 -1
  594. package/modules/tilemap.src.js +11 -2
  595. package/modules/timeline.js +18 -18
  596. package/modules/timeline.js.map +1 -1
  597. package/modules/timeline.src.js +11 -2
  598. package/modules/treegrid.js +57 -56
  599. package/modules/treegrid.js.map +1 -1
  600. package/modules/treegrid.src.js +33 -11
  601. package/modules/treemap.d.ts +3 -0
  602. package/modules/treemap.js +53 -41
  603. package/modules/treemap.js.map +1 -1
  604. package/modules/treemap.src.d.ts +3 -0
  605. package/modules/treemap.src.js +1039 -95
  606. package/modules/variable-pie.js +9 -9
  607. package/modules/variable-pie.js.map +1 -1
  608. package/modules/variable-pie.src.js +11 -2
  609. package/modules/variwide.js +12 -12
  610. package/modules/variwide.js.map +1 -1
  611. package/modules/variwide.src.js +11 -2
  612. package/modules/vector.js +8 -7
  613. package/modules/vector.js.map +1 -1
  614. package/modules/vector.src.js +11 -2
  615. package/modules/venn.js +31 -31
  616. package/modules/venn.js.map +1 -1
  617. package/modules/venn.src.js +18 -6
  618. package/modules/windbarb.js +15 -15
  619. package/modules/windbarb.js.map +1 -1
  620. package/modules/windbarb.src.js +11 -2
  621. package/modules/wordcloud.js +23 -23
  622. package/modules/wordcloud.js.map +1 -1
  623. package/modules/wordcloud.src.js +18 -6
  624. package/modules/xrange.js +16 -16
  625. package/modules/xrange.js.map +1 -1
  626. package/modules/xrange.src.js +11 -2
  627. package/package.json +1 -1
  628. package/themes/avocado.js +4 -3
  629. package/themes/avocado.js.map +1 -1
  630. package/themes/avocado.src.js +11 -2
  631. package/themes/brand-dark.js +9 -8
  632. package/themes/brand-dark.js.map +1 -1
  633. package/themes/brand-dark.src.js +11 -2
  634. package/themes/brand-light.js +8 -8
  635. package/themes/brand-light.js.map +1 -1
  636. package/themes/brand-light.src.js +11 -2
  637. package/themes/dark-blue.js +9 -8
  638. package/themes/dark-blue.js.map +1 -1
  639. package/themes/dark-blue.src.js +11 -2
  640. package/themes/dark-green.js +9 -8
  641. package/themes/dark-green.js.map +1 -1
  642. package/themes/dark-green.src.js +11 -2
  643. package/themes/dark-unica.js +8 -7
  644. package/themes/dark-unica.js.map +1 -1
  645. package/themes/dark-unica.src.js +11 -2
  646. package/themes/gray.js +9 -8
  647. package/themes/gray.js.map +1 -1
  648. package/themes/gray.src.js +11 -2
  649. package/themes/grid-light.js +5 -4
  650. package/themes/grid-light.js.map +1 -1
  651. package/themes/grid-light.src.js +11 -2
  652. package/themes/grid.js +5 -5
  653. package/themes/grid.js.map +1 -1
  654. package/themes/grid.src.js +11 -2
  655. package/themes/high-contrast-dark.js +7 -7
  656. package/themes/high-contrast-dark.js.map +1 -1
  657. package/themes/high-contrast-dark.src.js +21 -12
  658. package/themes/high-contrast-light.js +3 -3
  659. package/themes/high-contrast-light.js.map +1 -1
  660. package/themes/high-contrast-light.src.js +21 -12
  661. package/themes/sand-signika.js +5 -5
  662. package/themes/sand-signika.js.map +1 -1
  663. package/themes/sand-signika.src.js +11 -2
  664. package/themes/skies.js +5 -5
  665. package/themes/skies.js.map +1 -1
  666. package/themes/skies.src.js +11 -2
  667. package/themes/sunset.js +3 -3
  668. package/themes/sunset.js.map +1 -1
  669. package/themes/sunset.src.js +11 -2
  670. package/es-modules/Maps/ProjectionDefinition.js +0 -9
@@ -25,6 +25,8 @@ import BubbleSeries from '../Bubble/BubbleSeries.js';
25
25
  import MapBubblePoint from './MapBubblePoint.js';
26
26
  import MapSeries from '../Map/MapSeries.js';
27
27
  import SeriesRegistry from '../../Core/Series/SeriesRegistry.js';
28
+ import H from '../../Core/Globals.js';
29
+ var noop = H.noop;
28
30
  var MapPointSeries = SeriesRegistry.seriesTypes.mappoint;
29
31
  import U from '../../Core/Utilities.js';
30
32
  var extend = U.extend, merge = U.merge;
@@ -57,6 +59,12 @@ var MapBubbleSeries = /** @class */ (function (_super) {
57
59
  _this.points = void 0;
58
60
  return _this;
59
61
  }
62
+ MapBubbleSeries.prototype.searchPoint = function (e, compareX) {
63
+ return this.searchKDTree({
64
+ clientX: e.chartX - this.chart.plotLeft,
65
+ plotY: e.chartY - this.chart.plotTop
66
+ }, compareX, e);
67
+ };
60
68
  MapBubbleSeries.prototype.translate = function () {
61
69
  MapPointSeries.prototype.translate.call(this);
62
70
  this.getRadii();
@@ -189,6 +197,7 @@ var MapBubbleSeries = /** @class */ (function (_super) {
189
197
  * @apioption plotOptions.mapbubble.zThreshold
190
198
  */
191
199
  animationLimit: 500,
200
+ joinBy: 'hc-key',
192
201
  tooltip: {
193
202
  pointFormat: '{point.name}: {point.z}'
194
203
  }
@@ -203,6 +212,8 @@ extend(MapBubbleSeries.prototype, {
203
212
  // If one single value is passed, it is interpreted as z
204
213
  pointArrayMap: ['z'],
205
214
  pointClass: MapBubblePoint,
215
+ processData: MapSeries.prototype.processData,
216
+ projectPoint: MapPointSeries.prototype.projectPoint,
206
217
  setData: MapSeries.prototype.setData,
207
218
  setOptions: MapSeries.prototype.setOptions,
208
219
  useMapGeometry: true,
@@ -50,16 +50,10 @@ var MapPointPoint = /** @class */ (function (_super) {
50
50
  *
51
51
  * */
52
52
  /* eslint-disable valid-jsdoc */
53
- MapPointPoint.prototype.applyOptions = function (options, x) {
54
- var mergedOptions = (typeof options.lat !== 'undefined' &&
55
- typeof options.lon !== 'undefined' ?
56
- merge(options, this.series.chart.fromLatLonToPoint(options)) :
57
- options);
58
- return _super.prototype.applyOptions.call(this, mergedOptions, x);
59
- };
60
53
  MapPointPoint.prototype.isValid = function () {
61
54
  return Boolean(this.options.geometry ||
62
- (isNumber(this.x) && isNumber(this.y)));
55
+ (isNumber(this.x) && isNumber(this.y)) ||
56
+ (isNumber(this.options.lon) && isNumber(this.options.lat)));
63
57
  };
64
58
  return MapPointPoint;
65
59
  }(ScatterSeries.prototype.pointClass));
@@ -56,6 +56,7 @@ var MapPointSeries = /** @class */ (function (_super) {
56
56
  * Properties
57
57
  *
58
58
  * */
59
+ _this.chart = void 0;
59
60
  _this.data = void 0;
60
61
  _this.options = void 0;
61
62
  _this.points = void 0;
@@ -74,6 +75,30 @@ var MapPointSeries = /** @class */ (function (_super) {
74
75
  this.dataLabelsGroup.clip(this.chart.clipRect);
75
76
  }
76
77
  };
78
+ /**
79
+ * Resolve `lon`, `lat` or `geometry` options and project the resulted
80
+ * coordinates.
81
+ *
82
+ * @private
83
+ */
84
+ MapPointSeries.prototype.projectPoint = function (pointOptions) {
85
+ var mapView = this.chart.mapView;
86
+ if (mapView) {
87
+ var geometry = pointOptions.geometry, lon = pointOptions.lon, lat = pointOptions.lat;
88
+ var coordinates = (geometry &&
89
+ geometry.type === 'Point' &&
90
+ geometry.coordinates);
91
+ if (isNumber(lon) && isNumber(lat)) {
92
+ coordinates = [lon, lat];
93
+ }
94
+ if (coordinates) {
95
+ return mapView.lonLatToProjectedUnits({
96
+ lon: coordinates[0],
97
+ lat: coordinates[1]
98
+ });
99
+ }
100
+ }
101
+ };
77
102
  MapPointSeries.prototype.translate = function () {
78
103
  var _this = this;
79
104
  var mapView = this.chart.mapView;
@@ -83,16 +108,13 @@ var MapPointSeries = /** @class */ (function (_super) {
83
108
  this.generatePoints();
84
109
  // Create map based translation
85
110
  if (mapView) {
86
- var _a = mapView.projection, forward_1 = _a.forward, hasCoordinates_1 = _a.hasCoordinates;
111
+ var hasCoordinates_1 = mapView.projection.hasCoordinates;
87
112
  this.points.forEach(function (p) {
88
113
  var _a = p.x, x = _a === void 0 ? void 0 : _a, _b = p.y, y = _b === void 0 ? void 0 : _b;
89
- var geometry = p.options.geometry, coordinates = (geometry &&
90
- geometry.type === 'Point' &&
91
- geometry.coordinates);
92
- if (coordinates) {
93
- var xy = forward_1(coordinates);
94
- x = xy[0];
95
- y = xy[1];
114
+ var xy = _this.projectPoint(p.options);
115
+ if (xy) {
116
+ x = xy.x;
117
+ y = xy.y;
96
118
  // Map bubbles getting geometry from shape
97
119
  }
98
120
  else if (p.bounds) {
@@ -100,6 +122,7 @@ var MapPointSeries = /** @class */ (function (_super) {
100
122
  y = p.bounds.midY;
101
123
  }
102
124
  if (isNumber(x) && isNumber(y)) {
125
+ // Establish plotX and plotY
103
126
  var plotCoords = mapView.projectedUnitsToPixels({ x: x, y: y });
104
127
  p.plotX = plotCoords.x;
105
128
  p.plotY = hasCoordinates_1 ?
@@ -107,8 +130,7 @@ var MapPointSeries = /** @class */ (function (_super) {
107
130
  _this.chart.plotHeight - plotCoords.y;
108
131
  }
109
132
  else {
110
- p.plotX = void 0;
111
- p.plotY = void 0;
133
+ p.y = p.plotX = p.plotY = void 0;
112
134
  }
113
135
  p.isInside = _this.isPointInside(p);
114
136
  // Find point zone
@@ -287,9 +309,9 @@ export default MapPointSeries;
287
309
  * @apioption series.mappoint.data.lon
288
310
  */
289
311
  /**
290
- * The x coordinate of the point in terms of the map path coordinates.
312
+ * The x coordinate of the point in terms of projected units.
291
313
  *
292
- * @sample {highmaps} maps/demo/mapline-mappoint/
314
+ * @sample {highmaps} maps/series/mapline-mappoint-path-xy/
293
315
  * Map point demo
294
316
  *
295
317
  * @type {number}
@@ -297,9 +319,9 @@ export default MapPointSeries;
297
319
  * @apioption series.mappoint.data.x
298
320
  */
299
321
  /**
300
- * The x coordinate of the point in terms of the map path coordinates.
322
+ * The x coordinate of the point in terms of projected units.
301
323
  *
302
- * @sample {highmaps} maps/demo/mapline-mappoint/
324
+ * @sample {highmaps} maps/series/mapline-mappoint-path-xy/
303
325
  * Map point demo
304
326
  *
305
327
  * @type {number|null}
@@ -7,7 +7,7 @@
7
7
  import Point from '../Core/Series/Point.js';
8
8
  import Series from '../Core/Series/Series.js';
9
9
  import U from '../Core/Utilities.js';
10
- var defined = U.defined, extend = U.extend, find = U.find, pick = U.pick;
10
+ var defined = U.defined, extend = U.extend, find = U.find, merge = U.merge, pick = U.pick;
11
11
  /* *
12
12
  *
13
13
  * Composition
@@ -41,6 +41,7 @@ var NodesComposition;
41
41
  var pointProto = PointClass.prototype;
42
42
  pointProto.setNodeState = setNodeState;
43
43
  pointProto.setState = setNodeState;
44
+ pointProto.update = updateNode;
44
45
  }
45
46
  if (composedClasses.indexOf(SeriesClass) === -1) {
46
47
  composedClasses.push(SeriesClass);
@@ -69,17 +70,6 @@ var NodesComposition;
69
70
  }, options));
70
71
  node.linksTo = [];
71
72
  node.linksFrom = [];
72
- node.formatPrefix = 'node';
73
- // for use in formats
74
- node.name = node.name || node.options.id || '';
75
- // Mass is used in networkgraph:
76
- node.mass = pick(
77
- // Node:
78
- node.options.mass, node.options.marker && node.options.marker.radius,
79
- // Series:
80
- this.options.marker && this.options.marker.radius,
81
- // Default:
82
- 4);
83
73
  /**
84
74
  * Return the largest sum of either the incoming or outgoing links.
85
75
  * @private
@@ -119,8 +109,19 @@ var NodesComposition;
119
109
  return (!node.linksTo.length ||
120
110
  outgoing !== node.linksTo.length);
121
111
  };
122
- this.nodes.push(node);
112
+ node.index = this.nodes.push(node) - 1;
123
113
  }
114
+ node.formatPrefix = 'node';
115
+ // for use in formats
116
+ node.name = node.name || node.options.id || '';
117
+ // Mass is used in networkgraph:
118
+ node.mass = pick(
119
+ // Node:
120
+ node.options.mass, node.options.marker && node.options.marker.radius,
121
+ // Series:
122
+ this.options.marker && this.options.marker.radius,
123
+ // Default:
124
+ 4);
124
125
  return node;
125
126
  }
126
127
  NodesComposition.createNode = createNode;
@@ -220,6 +221,52 @@ var NodesComposition;
220
221
  Point.prototype.setState.apply(this, args);
221
222
  }
222
223
  NodesComposition.setNodeState = setNodeState;
224
+ /**
225
+ * When updating a node, don't update `series.options.data`, but `series.options.nodes`
226
+ */
227
+ function updateNode(options, redraw, animation, runEvent) {
228
+ var _this = this;
229
+ var nodes = this.series.options.nodes, data = this.series.options.data, dataLength = data && data.length || 0, linkConfig = data && data[this.index];
230
+ Point.prototype.update.call(this, options, this.isNode ? false : redraw, // Hold the redraw for nodes
231
+ animation, runEvent);
232
+ if (this.isNode) {
233
+ // this.index refers to `series.nodes`, not `options.nodes` array
234
+ var nodeIndex = (nodes || [])
235
+ .reduce(// Array.findIndex needs a polyfill
236
+ function (prevIndex, n, index) {
237
+ return (_this.id === n.id ? index : prevIndex);
238
+ }, -1),
239
+ // Merge old config with new config. New config is stored in
240
+ // options.data, because of default logic in point.update()
241
+ nodeConfig = merge(nodes && nodes[nodeIndex] || {}, data && data[this.index] || {});
242
+ // Restore link config
243
+ if (data) {
244
+ if (linkConfig) {
245
+ data[this.index] = linkConfig;
246
+ }
247
+ else {
248
+ // Remove node from config if there's more nodes than links
249
+ data.length = dataLength;
250
+ }
251
+ }
252
+ // Set node config
253
+ if (nodes) {
254
+ if (nodeIndex >= 0) {
255
+ nodes[nodeIndex] = nodeConfig;
256
+ }
257
+ else {
258
+ nodes.push(nodeConfig);
259
+ }
260
+ }
261
+ else {
262
+ this.series.options.nodes = [nodeConfig];
263
+ }
264
+ if (pick(redraw, true)) {
265
+ this.series.chart.redraw(animation);
266
+ }
267
+ }
268
+ }
269
+ NodesComposition.updateNode = updateNode;
223
270
  })(NodesComposition || (NodesComposition = {}));
224
271
  /* *
225
272
  *
@@ -244,6 +244,13 @@ addEvent(Series, 'afterSetOptions', function (e) {
244
244
  * @product highstock
245
245
  * @apioption series.ohlc.data
246
246
  */
247
+ /**
248
+ * The closing value of each data point.
249
+ *
250
+ * @type {number}
251
+ * @product highstock
252
+ * @apioption series.ohlc.data.close
253
+ */
247
254
  /**
248
255
  * The opening value of each data point.
249
256
  *
@@ -24,7 +24,30 @@ var __extends = (this && this.__extends) || (function () {
24
24
  };
25
25
  })();
26
26
  import SeriesRegistry from '../../Core/Series/SeriesRegistry.js';
27
- var SankeyPoint = SeriesRegistry.seriesTypes.sankey.prototype.pointClass;
27
+ var SankeyPointClass = SeriesRegistry.seriesTypes.sankey.prototype.pointClass;
28
+ import U from '../../Core/Utilities.js';
29
+ var defined = U.defined, find = U.find, pick = U.pick;
30
+ /**
31
+ * Get columns offset including all sibiling and cousins etc.
32
+ *
33
+ * @private
34
+ * @param node Point
35
+ */
36
+ function getOffset(node) {
37
+ var offset = node.linksFrom.length;
38
+ node.linksFrom.forEach(function (link) {
39
+ if (link.id === link.toNode.linksTo[0].id) {
40
+ // Node has children, that hangs directly from it:
41
+ offset += getOffset(link.toNode);
42
+ }
43
+ else {
44
+ // If the node hangs from multiple parents, and this is not
45
+ // the last one, ignore it:
46
+ offset--;
47
+ }
48
+ });
49
+ return offset;
50
+ }
28
51
  /* *
29
52
  *
30
53
  * Class
@@ -61,8 +84,51 @@ var OrganizationPoint = /** @class */ (function (_super) {
61
84
  OrganizationPoint.prototype.getSum = function () {
62
85
  return 1;
63
86
  };
87
+ /**
88
+ * Set node.column for hanging layout
89
+ * @private
90
+ */
91
+ OrganizationPoint.prototype.setNodeColumn = function () {
92
+ _super.prototype.setNodeColumn.call(this);
93
+ var node = this, fromNode = node.getFromNode().fromNode;
94
+ // Hanging layout
95
+ if (
96
+ // Not defined by user
97
+ !defined(node.options.column) &&
98
+ // Has links to
99
+ node.linksTo.length !== 0 &&
100
+ // And parent uses hanging layout
101
+ fromNode &&
102
+ fromNode.options.layout === 'hanging') {
103
+ // Default all children of the hanging node
104
+ // to have hanging layout
105
+ node.options.layout = pick(node.options.layout, 'hanging');
106
+ node.hangsFrom = fromNode;
107
+ var i_1 = -1;
108
+ find(fromNode.linksFrom, function (link, index) {
109
+ var found = link.toNode === node;
110
+ if (found) {
111
+ i_1 = index;
112
+ }
113
+ return found;
114
+ });
115
+ // For all siblings' children (recursively)
116
+ // increase the column offset to prevent overlapping
117
+ for (var j = 0; j < fromNode.linksFrom.length; j++) {
118
+ var link = fromNode.linksFrom[j];
119
+ if (link.toNode.id === node.id) {
120
+ // Break
121
+ j = fromNode.linksFrom.length;
122
+ }
123
+ else {
124
+ i_1 += getOffset(link.toNode);
125
+ }
126
+ }
127
+ node.column = (node.column || 0) + i_1;
128
+ }
129
+ };
64
130
  return OrganizationPoint;
65
- }(SankeyPoint));
131
+ }(SankeyPointClass));
66
132
  /* *
67
133
  *
68
134
  * Default Export
@@ -178,23 +178,6 @@ var OrganizationSeries = /** @class */ (function (_super) {
178
178
  };
179
179
  return node;
180
180
  };
181
- OrganizationSeries.prototype.createNodeColumn = function () {
182
- var column = _super.prototype.createNodeColumn
183
- .call(this);
184
- // Wrap the offset function so that the hanging node's children are
185
- // aligned to their parent
186
- wrap(column, 'offset', function (proceed, node, factor) {
187
- var offset = proceed.call(this, node, factor); // eslint-disable-line no-invalid-this
188
- // Modify the default output if the parent's layout is 'hanging'
189
- if (node.hangsFrom) {
190
- return {
191
- absoluteTop: node.hangsFrom.nodeY
192
- };
193
- }
194
- return offset;
195
- });
196
- return column;
197
- };
198
181
  OrganizationSeries.prototype.pointAttribs = function (point, state) {
199
182
  var series = this, attribs = SankeySeries.prototype.pointAttribs.call(series, point, state), level = point.isNode ? point.level : point.fromNode.level, levelOptions = series.mapOptionsToLevel[level || 0] || {}, options = point.options, stateOptions = (levelOptions.states &&
200
183
  levelOptions.states[state]) || {}, values = ['borderRadius', 'linkColor', 'linkLineWidth']
@@ -265,16 +248,37 @@ var OrganizationSeries = /** @class */ (function (_super) {
265
248
  };
266
249
  OrganizationSeries.prototype.translateNode = function (node, column) {
267
250
  SankeySeries.prototype.translateNode.call(this, node, column);
268
- if (node.hangsFrom) {
269
- node.shapeArgs.height -=
270
- this.options.hangingIndent;
271
- if (!this.chart.inverted) {
272
- node.shapeArgs.y += this.options.hangingIndent;
251
+ var parentNode = node.hangsFrom, indent = this.options.hangingIndent || 0, sign = this.chart.inverted ? -1 : 1, shapeArgs = node.shapeArgs, indentLogic = this.options.hangingIndentTranslation, minLength = this.options.minNodeLength || 10;
252
+ if (parentNode) {
253
+ if (indentLogic === 'cumulative') {
254
+ // Move to the right:
255
+ shapeArgs.height -= indent;
256
+ shapeArgs.y -= sign * indent;
257
+ while (parentNode) {
258
+ shapeArgs.y += sign * indent;
259
+ parentNode = parentNode.hangsFrom;
260
+ }
261
+ }
262
+ else if (indentLogic === 'shrink') {
263
+ // Resize the node:
264
+ while (parentNode &&
265
+ shapeArgs.height > indent + minLength) {
266
+ shapeArgs.height -= indent;
267
+ parentNode = parentNode.hangsFrom;
268
+ }
269
+ }
270
+ else {
271
+ // indentLogic === "inherit"
272
+ // Do nothing (v9.3.2 and prev versions):
273
+ shapeArgs.height -= indent;
274
+ if (!this.chart.inverted) {
275
+ shapeArgs.y += indent;
276
+ }
273
277
  }
274
278
  }
275
279
  node.nodeHeight = this.chart.inverted ?
276
- node.shapeArgs.width :
277
- node.shapeArgs.height;
280
+ shapeArgs.width :
281
+ shapeArgs.height;
278
282
  };
279
283
  /**
280
284
  * An organization chart is a diagram that shows the structure of an
@@ -428,6 +432,31 @@ var OrganizationSeries = /** @class */ (function (_super) {
428
432
  * @private
429
433
  */
430
434
  hangingIndent: 20,
435
+ /**
436
+ * Defines the indentation of a `hanging` layout parent's children.
437
+ * Possible options:
438
+ *
439
+ * - `inherit` (default): Only the first child adds the indentation,
440
+ * children of a child with indentation inherit the indentation.
441
+ * - `cumulative`: All children of a child with indentation add its
442
+ * own indent. The option may cause overlapping of nodes.
443
+ * Then use `shrink` option:
444
+ * - `shrink`: Nodes shrink by the
445
+ * [hangingIndent](#plotOptions.organization.hangingIndent)
446
+ * value until they reach the
447
+ * [minNodeLength](#plotOptions.organization.minNodeLength).
448
+ *
449
+ * @sample highcharts/series-organization/hanging-cumulative
450
+ * Every indent increases the indentation
451
+ *
452
+ * @sample highcharts/series-organization/hanging-shrink
453
+ * Every indent decreases the nodes' width
454
+ *
455
+ * @type {Highcharts.OrganizationHangingIndentTranslationValue}
456
+ * @since 10.0.0
457
+ * @default inherit
458
+ */
459
+ hangingIndentTranslation: 'inherit',
431
460
  /**
432
461
  * The color of the links between nodes.
433
462
  *
@@ -445,10 +474,25 @@ var OrganizationSeries = /** @class */ (function (_super) {
445
474
  */
446
475
  linkLineWidth: 1,
447
476
  /**
448
- * In a horizontal chart, the width of the nodes in pixels. Node that
477
+ * In a horizontal chart, the minimum width of the **hanging** nodes
478
+ * only, in pixels. In a vertical chart, the minimum height of the
479
+ * **haning** nodes only, in pixels too.
480
+ *
481
+ * Note: Used only when
482
+ * [hangingIndentTranslation](#plotOptions.organization.hangingIndentTranslation)
483
+ * is set to `shrink`.
484
+ *
485
+ * @see [nodeWidth](#plotOptions.organization.nodeWidth)
486
+ * @private
487
+ */
488
+ minNodeLength: 10,
489
+ /**
490
+ * In a horizontal chart, the width of the nodes in pixels. Note that
449
491
  * most organization charts are vertical, so the name of this option
450
492
  * is counterintuitive.
451
493
  *
494
+ * @see [minNodeLength](#plotOptions.organization.minNodeLength)
495
+ *
452
496
  * @private
453
497
  */
454
498
  nodeWidth: 50,
@@ -480,6 +524,13 @@ export default OrganizationSeries;
480
524
  *
481
525
  * @typedef {"normal"|"hanging"} Highcharts.SeriesOrganizationNodesLayoutValue
482
526
  */
527
+ /**
528
+ * Indent translation value for the child nodes in an organization chart, when
529
+ * parent has `hanging` layout. Option can shrink nodes (for tight charts),
530
+ * translate children to the left, or render nodes directly under the parent.
531
+ *
532
+ * @typedef {"inherit"|"cumulative"|"shrink"} Highcharts.OrganizationHangingIndentTranslationValue
533
+ */
483
534
  ''; // detach doclets above
484
535
  /* *
485
536
  *
@@ -546,6 +597,9 @@ export default OrganizationSeries;
546
597
  * Layout for the node's children. If `hanging`, this node's children will hang
547
598
  * below their parent, allowing a tighter packing of nodes in the diagram.
548
599
  *
600
+ * Note: Since @next version, the `hanging` layout is set by default for
601
+ * children of a parent using `hanging` layout.
602
+ *
549
603
  * @sample highcharts/demo/organization-chart
550
604
  * Hanging layout
551
605
  *
@@ -118,12 +118,19 @@ var PiePoint = /** @class */ (function (_super) {
118
118
  return isNumber(this.y) && this.y >= 0;
119
119
  };
120
120
  /**
121
- * Toggle the visibility of the pie slice.
122
- * @private
121
+ * Toggle the visibility of a pie slice or other data point. Note that this
122
+ * method is available only for some series, like pie, treemap and sunburst.
123
+ *
124
+ * @function Highcharts.Point#setVisible
125
+ *
126
+ * @param {boolean} [vis]
127
+ * True to show the pie slice or other data point, false to hide. If
128
+ * undefined, the visibility is toggled.
129
+ *
130
+ * @param {boolean} [redraw] Whether to redraw the chart after the point is
131
+ * altered. If doing more operations on the chart, it is a good idea to set
132
+ * redraw to false and call {@link Chart#redraw|chart.redraw()} after.
123
133
  *
124
- * @param {boolean} vis
125
- * Whether to show the slice or not. If undefined, the visibility is
126
- * toggled.
127
134
  */
128
135
  PiePoint.prototype.setVisible = function (vis, redraw) {
129
136
  var _this = this;
@@ -171,6 +171,25 @@ var Pie3DSeries = /** @class */ (function (_super) {
171
171
  };
172
172
  });
173
173
  };
174
+ /**
175
+ * @private
176
+ */
177
+ Pie3DSeries.prototype.drawTracker = function () {
178
+ _super.prototype.drawTracker.apply(this, arguments);
179
+ // Do not do this if the chart is not 3D
180
+ if (!this.chart.is3d()) {
181
+ return;
182
+ }
183
+ this.points.forEach(function (point) {
184
+ if (point.graphic) {
185
+ ['out', 'inn', 'side1', 'side2'].forEach(function (face) {
186
+ if (point.graphic) {
187
+ point.graphic[face].element.point = point;
188
+ }
189
+ });
190
+ }
191
+ });
192
+ };
174
193
  return Pie3DSeries;
175
194
  }(PieSeries));
176
195
  extend(Pie3DSeries.prototype, {