highcharts 9.1.1 → 9.1.2

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 (424) hide show
  1. package/bower.json +1 -1
  2. package/css/annotations/popup.css +29 -28
  3. package/css/annotations/popup.scss +29 -27
  4. package/es-modules/Core/Axis/Axis.js +24 -17
  5. package/es-modules/Core/Axis/AxisDefaults.js +0 -1
  6. package/es-modules/Core/Axis/OrdinalAxis.js +141 -61
  7. package/es-modules/Core/Globals.js +7 -1
  8. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +1 -1
  9. package/es-modules/Core/Series/Series.js +16 -1
  10. package/es-modules/Core/Time.js +2 -2
  11. package/es-modules/Core/Tooltip.js +7 -11
  12. package/es-modules/Extensions/Annotations/NavigationBindings.js +1 -1
  13. package/es-modules/Extensions/Annotations/Popup.js +4 -1
  14. package/es-modules/Extensions/Boost/WGLRenderer.js +5 -0
  15. package/es-modules/Extensions/Drilldown.js +39 -12
  16. package/es-modules/Extensions/OfflineExporting.js +1 -1
  17. package/es-modules/Extensions/Oldie/Oldie.js +1 -1
  18. package/es-modules/Extensions/PatternFill.js +23 -10
  19. package/es-modules/Stock/StockToolsGui.js +1 -1
  20. package/es-modules/masters/highcharts-3d.src.js +1 -1
  21. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  22. package/es-modules/masters/highcharts-more.src.js +1 -1
  23. package/es-modules/masters/highcharts.src.js +1 -1
  24. package/es-modules/masters/highmaps.src.js +1 -1
  25. package/es-modules/masters/highstock.src.js +1 -1
  26. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  27. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  28. package/es-modules/masters/indicators/ao.src.js +1 -1
  29. package/es-modules/masters/indicators/apo.src.js +1 -1
  30. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  31. package/es-modules/masters/indicators/aroon.src.js +1 -1
  32. package/es-modules/masters/indicators/atr.src.js +1 -1
  33. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  34. package/es-modules/masters/indicators/cci.src.js +1 -1
  35. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  36. package/es-modules/masters/indicators/cmf.src.js +1 -1
  37. package/es-modules/masters/indicators/cmo.src.js +1 -1
  38. package/es-modules/masters/indicators/dema.src.js +1 -1
  39. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  40. package/es-modules/masters/indicators/dmi.src.js +1 -1
  41. package/es-modules/masters/indicators/dpo.src.js +1 -1
  42. package/es-modules/masters/indicators/ema.src.js +1 -1
  43. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  44. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  45. package/es-modules/masters/indicators/indicators.src.js +1 -1
  46. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  47. package/es-modules/masters/indicators/klinger.src.js +1 -1
  48. package/es-modules/masters/indicators/macd.src.js +1 -1
  49. package/es-modules/masters/indicators/mfi.src.js +1 -1
  50. package/es-modules/masters/indicators/momentum.src.js +1 -1
  51. package/es-modules/masters/indicators/natr.src.js +1 -1
  52. package/es-modules/masters/indicators/obv.src.js +1 -1
  53. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  54. package/es-modules/masters/indicators/ppo.src.js +1 -1
  55. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  56. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  57. package/es-modules/masters/indicators/psar.src.js +1 -1
  58. package/es-modules/masters/indicators/regressions.src.js +1 -1
  59. package/es-modules/masters/indicators/roc.src.js +1 -1
  60. package/es-modules/masters/indicators/rsi.src.js +1 -1
  61. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  62. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  63. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  64. package/es-modules/masters/indicators/tema.src.js +1 -1
  65. package/es-modules/masters/indicators/trendline.src.js +1 -1
  66. package/es-modules/masters/indicators/trix.src.js +1 -1
  67. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  68. package/es-modules/masters/indicators/vwap.src.js +1 -1
  69. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  70. package/es-modules/masters/indicators/wma.src.js +1 -1
  71. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  72. package/es-modules/masters/modules/accessibility.src.js +1 -1
  73. package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
  74. package/es-modules/masters/modules/annotations.src.js +1 -1
  75. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  76. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  77. package/es-modules/masters/modules/boost.src.js +1 -1
  78. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  79. package/es-modules/masters/modules/bullet.src.js +1 -1
  80. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  81. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  82. package/es-modules/masters/modules/cylinder.src.js +1 -1
  83. package/es-modules/masters/modules/data.src.js +1 -1
  84. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  85. package/es-modules/masters/modules/debugger.src.js +1 -1
  86. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  87. package/es-modules/masters/modules/dotplot.src.js +1 -1
  88. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  89. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  90. package/es-modules/masters/modules/drilldown.src.js +1 -1
  91. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  92. package/es-modules/masters/modules/export-data.src.js +1 -1
  93. package/es-modules/masters/modules/exporting.src.js +1 -1
  94. package/es-modules/masters/modules/full-screen.src.js +1 -1
  95. package/es-modules/masters/modules/funnel.src.js +1 -1
  96. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  97. package/es-modules/masters/modules/gantt.src.js +1 -1
  98. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  99. package/es-modules/masters/modules/heatmap.src.js +1 -1
  100. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  101. package/es-modules/masters/modules/item-series.src.js +1 -1
  102. package/es-modules/masters/modules/lollipop.src.js +1 -1
  103. package/es-modules/masters/modules/map.src.js +1 -1
  104. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  105. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  106. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  107. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  108. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  109. package/es-modules/masters/modules/oldie.src.js +1 -1
  110. package/es-modules/masters/modules/organization.src.js +1 -1
  111. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  112. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  113. package/es-modules/masters/modules/pareto.src.js +1 -1
  114. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  115. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  116. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  117. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  118. package/es-modules/masters/modules/sankey.src.js +1 -1
  119. package/es-modules/masters/modules/series-label.src.js +1 -1
  120. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  121. package/es-modules/masters/modules/sonification.src.js +1 -1
  122. package/es-modules/masters/modules/static-scale.src.js +1 -1
  123. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  124. package/es-modules/masters/modules/stock.src.js +1 -1
  125. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  126. package/es-modules/masters/modules/sunburst.src.js +1 -1
  127. package/es-modules/masters/modules/tilemap.src.js +1 -1
  128. package/es-modules/masters/modules/timeline.src.js +1 -1
  129. package/es-modules/masters/modules/treegrid.src.js +1 -1
  130. package/es-modules/masters/modules/treemap.src.js +1 -1
  131. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  132. package/es-modules/masters/modules/variwide.src.js +1 -1
  133. package/es-modules/masters/modules/vector.src.js +1 -1
  134. package/es-modules/masters/modules/venn.src.js +1 -1
  135. package/es-modules/masters/modules/windbarb.src.js +1 -1
  136. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  137. package/es-modules/masters/modules/xrange.src.js +1 -1
  138. package/es-modules/masters/themes/avocado.src.js +1 -1
  139. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  140. package/es-modules/masters/themes/dark-green.src.js +1 -1
  141. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  142. package/es-modules/masters/themes/gray.src.js +1 -1
  143. package/es-modules/masters/themes/grid-light.src.js +1 -1
  144. package/es-modules/masters/themes/grid.src.js +1 -1
  145. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  146. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  147. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  148. package/es-modules/masters/themes/skies.src.js +1 -1
  149. package/es-modules/masters/themes/sunset.src.js +1 -1
  150. package/highcharts-3d.js +1 -1
  151. package/highcharts-3d.src.js +1 -1
  152. package/highcharts-gantt.js +782 -782
  153. package/highcharts-gantt.js.map +1 -1
  154. package/highcharts-gantt.src.js +109 -87
  155. package/highcharts-more.js +1 -1
  156. package/highcharts-more.src.js +1 -1
  157. package/highcharts.d.ts +30 -9
  158. package/highcharts.js +467 -467
  159. package/highcharts.js.map +1 -1
  160. package/highcharts.src.d.ts +30 -9
  161. package/highcharts.src.js +109 -87
  162. package/highmaps.js +697 -697
  163. package/highmaps.js.map +1 -1
  164. package/highmaps.src.js +109 -87
  165. package/highstock.js +757 -755
  166. package/highstock.js.map +1 -1
  167. package/highstock.src.js +270 -157
  168. package/indicators/acceleration-bands.js +1 -1
  169. package/indicators/acceleration-bands.src.js +1 -1
  170. package/indicators/accumulation-distribution.js +1 -1
  171. package/indicators/accumulation-distribution.src.js +1 -1
  172. package/indicators/ao.js +1 -1
  173. package/indicators/ao.src.js +1 -1
  174. package/indicators/apo.js +1 -1
  175. package/indicators/apo.src.js +1 -1
  176. package/indicators/aroon-oscillator.js +1 -1
  177. package/indicators/aroon-oscillator.src.js +1 -1
  178. package/indicators/aroon.js +1 -1
  179. package/indicators/aroon.src.js +1 -1
  180. package/indicators/atr.js +1 -1
  181. package/indicators/atr.src.js +1 -1
  182. package/indicators/bollinger-bands.js +1 -1
  183. package/indicators/bollinger-bands.src.js +1 -1
  184. package/indicators/cci.js +1 -1
  185. package/indicators/cci.src.js +1 -1
  186. package/indicators/chaikin.js +1 -1
  187. package/indicators/chaikin.src.js +1 -1
  188. package/indicators/cmf.js +1 -1
  189. package/indicators/cmf.src.js +1 -1
  190. package/indicators/cmo.js +1 -1
  191. package/indicators/cmo.src.js +1 -1
  192. package/indicators/dema.js +1 -1
  193. package/indicators/dema.src.js +1 -1
  194. package/indicators/disparity-index.js +1 -1
  195. package/indicators/disparity-index.src.js +1 -1
  196. package/indicators/dmi.js +1 -1
  197. package/indicators/dmi.src.js +1 -1
  198. package/indicators/dpo.js +1 -1
  199. package/indicators/dpo.src.js +1 -1
  200. package/indicators/ema.js +1 -1
  201. package/indicators/ema.src.js +1 -1
  202. package/indicators/ichimoku-kinko-hyo.js +1 -1
  203. package/indicators/ichimoku-kinko-hyo.src.js +1 -1
  204. package/indicators/indicators-all.js +1 -1
  205. package/indicators/indicators-all.src.js +1 -1
  206. package/indicators/indicators.js +1 -1
  207. package/indicators/indicators.src.js +1 -1
  208. package/indicators/keltner-channels.js +1 -1
  209. package/indicators/keltner-channels.src.js +1 -1
  210. package/indicators/klinger.js +1 -1
  211. package/indicators/klinger.src.js +1 -1
  212. package/indicators/macd.js +1 -1
  213. package/indicators/macd.src.js +1 -1
  214. package/indicators/mfi.js +1 -1
  215. package/indicators/mfi.src.js +1 -1
  216. package/indicators/momentum.js +1 -1
  217. package/indicators/momentum.src.js +1 -1
  218. package/indicators/natr.js +1 -1
  219. package/indicators/natr.src.js +1 -1
  220. package/indicators/obv.js +1 -1
  221. package/indicators/obv.src.js +1 -1
  222. package/indicators/pivot-points.js +1 -1
  223. package/indicators/pivot-points.src.js +1 -1
  224. package/indicators/ppo.js +1 -1
  225. package/indicators/ppo.src.js +1 -1
  226. package/indicators/price-channel.js +1 -1
  227. package/indicators/price-channel.src.js +1 -1
  228. package/indicators/price-envelopes.js +1 -1
  229. package/indicators/price-envelopes.src.js +1 -1
  230. package/indicators/psar.js +1 -1
  231. package/indicators/psar.src.js +1 -1
  232. package/indicators/regressions.js +1 -1
  233. package/indicators/regressions.src.js +1 -1
  234. package/indicators/roc.js +1 -1
  235. package/indicators/roc.src.js +1 -1
  236. package/indicators/rsi.js +1 -1
  237. package/indicators/rsi.src.js +1 -1
  238. package/indicators/slow-stochastic.js +1 -1
  239. package/indicators/slow-stochastic.src.js +1 -1
  240. package/indicators/stochastic.js +1 -1
  241. package/indicators/stochastic.src.js +1 -1
  242. package/indicators/supertrend.js +1 -1
  243. package/indicators/supertrend.src.js +1 -1
  244. package/indicators/tema.js +1 -1
  245. package/indicators/tema.src.js +1 -1
  246. package/indicators/trendline.js +1 -1
  247. package/indicators/trendline.src.js +1 -1
  248. package/indicators/trix.js +1 -1
  249. package/indicators/trix.src.js +1 -1
  250. package/indicators/volume-by-price.js +1 -1
  251. package/indicators/volume-by-price.src.js +1 -1
  252. package/indicators/vwap.js +1 -1
  253. package/indicators/vwap.src.js +1 -1
  254. package/indicators/williams-r.js +1 -1
  255. package/indicators/williams-r.src.js +1 -1
  256. package/indicators/wma.js +1 -1
  257. package/indicators/wma.src.js +1 -1
  258. package/indicators/zigzag.js +1 -1
  259. package/indicators/zigzag.src.js +1 -1
  260. package/modules/accessibility.js +1 -1
  261. package/modules/accessibility.src.js +1 -1
  262. package/modules/annotations-advanced.js +16 -16
  263. package/modules/annotations-advanced.js.map +1 -1
  264. package/modules/annotations-advanced.src.js +6 -3
  265. package/modules/annotations.js +16 -16
  266. package/modules/annotations.js.map +1 -1
  267. package/modules/annotations.src.js +6 -3
  268. package/modules/arrow-symbols.js +1 -1
  269. package/modules/arrow-symbols.src.js +1 -1
  270. package/modules/boost-canvas.js +1 -1
  271. package/modules/boost-canvas.src.js +1 -1
  272. package/modules/boost.js +34 -34
  273. package/modules/boost.js.map +1 -1
  274. package/modules/boost.src.js +6 -1
  275. package/modules/broken-axis.js +1 -1
  276. package/modules/broken-axis.src.js +1 -1
  277. package/modules/bullet.js +1 -1
  278. package/modules/bullet.src.js +1 -1
  279. package/modules/coloraxis.js +1 -1
  280. package/modules/coloraxis.src.js +1 -1
  281. package/modules/current-date-indicator.js +1 -1
  282. package/modules/current-date-indicator.src.js +1 -1
  283. package/modules/cylinder.js +1 -1
  284. package/modules/cylinder.src.js +1 -1
  285. package/modules/data.js +1 -1
  286. package/modules/data.src.js +1 -1
  287. package/modules/datagrouping.js +1 -1
  288. package/modules/datagrouping.src.js +1 -1
  289. package/modules/debugger.js +1 -1
  290. package/modules/debugger.src.js +1 -1
  291. package/modules/dependency-wheel.js +1 -1
  292. package/modules/dependency-wheel.src.js +1 -1
  293. package/modules/dotplot.js +1 -1
  294. package/modules/dotplot.src.js +1 -1
  295. package/modules/drag-panes.js +1 -1
  296. package/modules/drag-panes.src.js +1 -1
  297. package/modules/draggable-points.js +1 -1
  298. package/modules/draggable-points.src.js +1 -1
  299. package/modules/drilldown.d.ts +27 -0
  300. package/modules/drilldown.js +16 -16
  301. package/modules/drilldown.js.map +1 -1
  302. package/modules/drilldown.src.d.ts +27 -0
  303. package/modules/drilldown.src.js +40 -14
  304. package/modules/dumbbell.js +1 -1
  305. package/modules/dumbbell.src.js +1 -1
  306. package/modules/export-data.js +1 -1
  307. package/modules/export-data.src.js +1 -1
  308. package/modules/exporting.js +1 -1
  309. package/modules/exporting.src.js +1 -1
  310. package/modules/full-screen.js +1 -1
  311. package/modules/full-screen.src.js +1 -1
  312. package/modules/funnel.js +1 -1
  313. package/modules/funnel.src.js +1 -1
  314. package/modules/funnel3d.js +1 -1
  315. package/modules/funnel3d.src.js +1 -1
  316. package/modules/gantt.js +1 -1
  317. package/modules/gantt.src.js +1 -1
  318. package/modules/grid-axis.js +1 -1
  319. package/modules/grid-axis.src.js +1 -1
  320. package/modules/heatmap.js +1 -1
  321. package/modules/heatmap.src.js +1 -1
  322. package/modules/histogram-bellcurve.js +1 -1
  323. package/modules/histogram-bellcurve.src.js +1 -1
  324. package/modules/item-series.js +1 -1
  325. package/modules/item-series.src.js +1 -1
  326. package/modules/lollipop.js +1 -1
  327. package/modules/lollipop.src.js +1 -1
  328. package/modules/map.js +1 -1
  329. package/modules/map.src.js +1 -1
  330. package/modules/marker-clusters.js +1 -1
  331. package/modules/marker-clusters.src.js +1 -1
  332. package/modules/networkgraph.js +1 -1
  333. package/modules/networkgraph.src.js +1 -1
  334. package/modules/no-data-to-display.js +1 -1
  335. package/modules/no-data-to-display.src.js +1 -1
  336. package/modules/offline-exporting.js +2 -2
  337. package/modules/offline-exporting.src.js +2 -2
  338. package/modules/oldie-polyfills.js +1 -1
  339. package/modules/oldie-polyfills.src.js +1 -1
  340. package/modules/oldie.js +2 -2
  341. package/modules/oldie.src.js +2 -2
  342. package/modules/organization.js +1 -1
  343. package/modules/organization.src.js +1 -1
  344. package/modules/overlapping-datalabels.js +1 -1
  345. package/modules/overlapping-datalabels.src.js +1 -1
  346. package/modules/parallel-coordinates.js +1 -1
  347. package/modules/parallel-coordinates.src.js +1 -1
  348. package/modules/pareto.js +1 -1
  349. package/modules/pareto.src.js +1 -1
  350. package/modules/pathfinder.js +1 -1
  351. package/modules/pathfinder.src.js +1 -1
  352. package/modules/pattern-fill.js +14 -14
  353. package/modules/pattern-fill.js.map +1 -1
  354. package/modules/pattern-fill.src.js +24 -12
  355. package/modules/price-indicator.js +1 -1
  356. package/modules/price-indicator.src.js +1 -1
  357. package/modules/pyramid3d.js +1 -1
  358. package/modules/pyramid3d.src.js +1 -1
  359. package/modules/sankey.js +1 -1
  360. package/modules/sankey.src.js +1 -1
  361. package/modules/series-label.js +1 -1
  362. package/modules/series-label.src.js +1 -1
  363. package/modules/solid-gauge.js +1 -1
  364. package/modules/solid-gauge.src.js +1 -1
  365. package/modules/sonification.js +1 -1
  366. package/modules/sonification.src.js +1 -1
  367. package/modules/static-scale.js +1 -1
  368. package/modules/static-scale.src.js +1 -1
  369. package/modules/stock-tools.js +2 -2
  370. package/modules/stock-tools.src.js +3 -3
  371. package/modules/stock.js +191 -189
  372. package/modules/stock.js.map +1 -1
  373. package/modules/stock.src.js +162 -71
  374. package/modules/streamgraph.js +1 -1
  375. package/modules/streamgraph.src.js +1 -1
  376. package/modules/sunburst.js +1 -1
  377. package/modules/sunburst.src.js +1 -1
  378. package/modules/tilemap.js +1 -1
  379. package/modules/tilemap.src.js +1 -1
  380. package/modules/timeline.js +1 -1
  381. package/modules/timeline.src.js +1 -1
  382. package/modules/treegrid.js +1 -1
  383. package/modules/treegrid.src.js +1 -1
  384. package/modules/treemap.js +1 -1
  385. package/modules/treemap.src.js +1 -1
  386. package/modules/variable-pie.js +1 -1
  387. package/modules/variable-pie.src.js +1 -1
  388. package/modules/variwide.js +1 -1
  389. package/modules/variwide.src.js +1 -1
  390. package/modules/vector.js +1 -1
  391. package/modules/vector.src.js +1 -1
  392. package/modules/venn.js +1 -1
  393. package/modules/venn.src.js +1 -1
  394. package/modules/windbarb.js +1 -1
  395. package/modules/windbarb.src.js +1 -1
  396. package/modules/wordcloud.js +1 -1
  397. package/modules/wordcloud.src.js +1 -1
  398. package/modules/xrange.js +1 -1
  399. package/modules/xrange.src.js +1 -1
  400. package/package.json +1 -1
  401. package/themes/avocado.js +1 -1
  402. package/themes/avocado.src.js +1 -1
  403. package/themes/dark-blue.js +1 -1
  404. package/themes/dark-blue.src.js +1 -1
  405. package/themes/dark-green.js +1 -1
  406. package/themes/dark-green.src.js +1 -1
  407. package/themes/dark-unica.js +1 -1
  408. package/themes/dark-unica.src.js +1 -1
  409. package/themes/gray.js +1 -1
  410. package/themes/gray.src.js +1 -1
  411. package/themes/grid-light.js +1 -1
  412. package/themes/grid-light.src.js +1 -1
  413. package/themes/grid.js +1 -1
  414. package/themes/grid.src.js +1 -1
  415. package/themes/high-contrast-dark.js +1 -1
  416. package/themes/high-contrast-dark.src.js +1 -1
  417. package/themes/high-contrast-light.js +1 -1
  418. package/themes/high-contrast-light.src.js +1 -1
  419. package/themes/sand-signika.js +1 -1
  420. package/themes/sand-signika.src.js +1 -1
  421. package/themes/skies.js +1 -1
  422. package/themes/skies.src.js +1 -1
  423. package/themes/sunset.js +1 -1
  424. package/themes/sunset.src.js +1 -1
package/highstock.src.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highstock JS v9.1.1 (2021-06-04)
2
+ * @license Highstock JS v9.1.2 (2021-06-16)
3
3
  *
4
4
  * (c) 2009-2021 Torstein Honsi
5
5
  *
@@ -71,7 +71,7 @@
71
71
  * Constants
72
72
  *
73
73
  * */
74
- Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '9.1.1', Globals.win = w, Globals.doc = Globals.win.document, Globals.svg = (Globals.doc &&
74
+ Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '9.1.2', Globals.win = w, Globals.doc = Globals.win.document, Globals.svg = (Globals.doc &&
75
75
  Globals.doc.createElementNS &&
76
76
  !!Globals.doc.createElementNS(Globals.SVG_NS, 'svg').createSVGRect), Globals.userAgent = (Globals.win.navigator && Globals.win.navigator.userAgent) || '', Globals.isChrome = Globals.userAgent.indexOf('Chrome') !== -1, Globals.isFirefox = Globals.userAgent.indexOf('Firefox') !== -1, Globals.isMS = /(edge|msie|trident)/i.test(Globals.userAgent) && !Globals.win.opera, Globals.isSafari = !Globals.isChrome && Globals.userAgent.indexOf('Safari') !== -1, Globals.isTouchDevice = /(Mobile|Android|Windows Phone)/.test(Globals.userAgent), Globals.isWebKit = Globals.userAgent.indexOf('AppleWebKit') !== -1, Globals.deg2rad = Math.PI * 2 / 360, Globals.hasBidiBug = (Globals.isFirefox &&
77
77
  parseInt(Globals.userAgent.split('Firefox/')[1], 10) < 4 // issue #38
@@ -131,6 +131,12 @@
131
131
  * @private
132
132
  */
133
133
  Globals.symbolSizes = {};
134
+ /* *
135
+ *
136
+ * Properties
137
+ *
138
+ * */
139
+ Globals.chartCount = 0;
134
140
  })(Globals || (Globals = {}));
135
141
  /* *
136
142
  *
@@ -3774,9 +3780,9 @@
3774
3780
  * Constants
3775
3781
  *
3776
3782
  * */
3777
- var hasNewSafariBug = (H.isSafari && Intl.DateTimeFormat.prototype.formatRange);
3783
+ var hasNewSafariBug = (H.isSafari && Intl && Intl.DateTimeFormat.prototype.formatRange);
3778
3784
  // To do: Remove this when we no longer need support for Safari < v14.1
3779
- var hasOldSafariBug = (H.isSafari && !Intl.DateTimeFormat.prototype.formatRange);
3785
+ var hasOldSafariBug = (H.isSafari && Intl && !Intl.DateTimeFormat.prototype.formatRange);
3780
3786
  /* *
3781
3787
  *
3782
3788
  * Class
@@ -12156,7 +12162,7 @@
12156
12162
  this.url = this.getReferenceURL();
12157
12163
  // Add description
12158
12164
  var desc = this.createElement('desc').add();
12159
- desc.element.appendChild(doc.createTextNode('Created with Highcharts 9.1.1'));
12165
+ desc.element.appendChild(doc.createTextNode('Created with Highcharts 9.1.2'));
12160
12166
  renderer.defs = this.createElement('defs').add();
12161
12167
  renderer.allowHTML = allowHTML;
12162
12168
  renderer.forExport = forExport;
@@ -14428,6 +14434,63 @@
14428
14434
 
14429
14435
  return HTMLRenderer;
14430
14436
  });
14437
+ _registerModule(_modules, 'Core/Foundation.js', [_modules['Core/Utilities.js']], function (U) {
14438
+ /* *
14439
+ *
14440
+ * (c) 2010-2021 Torstein Honsi
14441
+ *
14442
+ * License: www.highcharts.com/license
14443
+ *
14444
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
14445
+ *
14446
+ * */
14447
+ var addEvent = U.addEvent,
14448
+ isFunction = U.isFunction,
14449
+ objectEach = U.objectEach,
14450
+ removeEvent = U.removeEvent;
14451
+ /* *
14452
+ *
14453
+ * Functions
14454
+ *
14455
+ * */
14456
+ /*
14457
+ * Register event options. If an event handler is set on the options, it should
14458
+ * be subject to Chart.update, Axis.update and Series.update. This is contrary
14459
+ * to general handlers that are set directly using addEvent either on the class
14460
+ * or on the instance. #6538, #6943, #10861.
14461
+ */
14462
+ var registerEventOptions = function (component,
14463
+ options) {
14464
+ // A lookup over those events that are added by _options_ (not
14465
+ // programmatically). These are updated through .update()
14466
+ component.eventOptions = component.eventOptions || {};
14467
+ // Register event listeners
14468
+ objectEach(options.events, function (event, eventType) {
14469
+ if (isFunction(event)) {
14470
+ // If event does not exist, or is changed by the .update()
14471
+ // function
14472
+ if (component.eventOptions[eventType] !== event) {
14473
+ // Remove existing if set by option
14474
+ if (isFunction(component.eventOptions[eventType])) {
14475
+ removeEvent(component, eventType, component.eventOptions[eventType]);
14476
+ }
14477
+ component.eventOptions[eventType] = event;
14478
+ addEvent(component, eventType, event);
14479
+ }
14480
+ }
14481
+ });
14482
+ };
14483
+ /* *
14484
+ *
14485
+ * Default Export
14486
+ *
14487
+ * */
14488
+ var exports = {
14489
+ registerEventOptions: registerEventOptions
14490
+ };
14491
+
14492
+ return exports;
14493
+ });
14431
14494
  _registerModule(_modules, 'Core/Axis/AxisDefaults.js', [_modules['Core/Color/Palette.js']], function (Palette) {
14432
14495
  /* *
14433
14496
  *
@@ -15329,7 +15392,6 @@
15329
15392
  * Show labels over two lines
15330
15393
  *
15331
15394
  * @since 2.1
15332
- * @apioption xAxis.labels.staggerLines
15333
15395
  */
15334
15396
  staggerLines: 0,
15335
15397
  /**
@@ -17354,63 +17416,6 @@
17354
17416
 
17355
17417
  return AxisDefaults;
17356
17418
  });
17357
- _registerModule(_modules, 'Core/Foundation.js', [_modules['Core/Utilities.js']], function (U) {
17358
- /* *
17359
- *
17360
- * (c) 2010-2021 Torstein Honsi
17361
- *
17362
- * License: www.highcharts.com/license
17363
- *
17364
- * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
17365
- *
17366
- * */
17367
- var addEvent = U.addEvent,
17368
- isFunction = U.isFunction,
17369
- objectEach = U.objectEach,
17370
- removeEvent = U.removeEvent;
17371
- /* *
17372
- *
17373
- * Functions
17374
- *
17375
- * */
17376
- /*
17377
- * Register event options. If an event handler is set on the options, it should
17378
- * be subject to Chart.update, Axis.update and Series.update. This is contrary
17379
- * to general handlers that are set directly using addEvent either on the class
17380
- * or on the instance. #6538, #6943, #10861.
17381
- */
17382
- var registerEventOptions = function (component,
17383
- options) {
17384
- // A lookup over those events that are added by _options_ (not
17385
- // programmatically). These are updated through .update()
17386
- component.eventOptions = component.eventOptions || {};
17387
- // Register event listeners
17388
- objectEach(options.events, function (event, eventType) {
17389
- if (isFunction(event)) {
17390
- // If event does not exist, or is changed by the .update()
17391
- // function
17392
- if (component.eventOptions[eventType] !== event) {
17393
- // Remove existing if set by option
17394
- if (isFunction(component.eventOptions[eventType])) {
17395
- removeEvent(component, eventType, component.eventOptions[eventType]);
17396
- }
17397
- component.eventOptions[eventType] = event;
17398
- addEvent(component, eventType, event);
17399
- }
17400
- }
17401
- });
17402
- };
17403
- /* *
17404
- *
17405
- * Default Export
17406
- *
17407
- * */
17408
- var exports = {
17409
- registerEventOptions: registerEventOptions
17410
- };
17411
-
17412
- return exports;
17413
- });
17414
17419
  _registerModule(_modules, 'Core/Axis/Tick.js', [_modules['Core/FormatUtilities.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (F, H, U) {
17415
17420
  /* *
17416
17421
  *
@@ -18263,7 +18268,7 @@
18263
18268
 
18264
18269
  return Tick;
18265
18270
  });
18266
- _registerModule(_modules, 'Core/Axis/Axis.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Axis/AxisDefaults.js'], _modules['Core/Color/Color.js'], _modules['Core/Foundation.js'], _modules['Core/Globals.js'], _modules['Core/Color/Palette.js'], _modules['Core/DefaultOptions.js'], _modules['Core/Axis/Tick.js'], _modules['Core/Utilities.js']], function (A, AxisDefaults, Color, F, H, Palette, D, Tick, U) {
18271
+ _registerModule(_modules, 'Core/Axis/Axis.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Color/Color.js'], _modules['Core/Color/Palette.js'], _modules['Core/DefaultOptions.js'], _modules['Core/Foundation.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js'], _modules['Core/Axis/AxisDefaults.js'], _modules['Core/Axis/Tick.js']], function (A, Color, Palette, D, F, H, U, AxisDefaults, Tick) {
18267
18272
  /* *
18268
18273
  *
18269
18274
  * (c) 2010-2021 Torstein Honsi
@@ -18858,13 +18863,13 @@
18858
18863
  val -= minPixelPadding;
18859
18864
  // from chart pixel to value:
18860
18865
  returnValue = val / localA + localMin;
18861
- if (doPostTranslate) { // log and ordinal axes
18866
+ if (doPostTranslate) { // log, ordinal and broken axis
18862
18867
  returnValue = axis.lin2val(returnValue);
18863
18868
  }
18864
18869
  // From value to pixels
18865
18870
  }
18866
18871
  else {
18867
- if (doPostTranslate) { // log and ordinal axes
18872
+ if (doPostTranslate) { // log, ordinal and broken axis
18868
18873
  val = axis.val2lin(val);
18869
18874
  }
18870
18875
  returnValue = isNumber(localMin) ?
@@ -20968,16 +20973,18 @@
20968
20973
  *
20969
20974
  * @param {number} pos
20970
20975
  * The position in axis values.
20976
+ *
20977
+ * @param {boolean} slideIn
20978
+ * Whether the tick should animate in from last computed position
20971
20979
  */
20972
- Axis.prototype.renderMinorTick = function (pos) {
20980
+ Axis.prototype.renderMinorTick = function (pos, slideIn) {
20973
20981
  var axis = this;
20974
- var slideInTicks = axis.chart.hasRendered && axis.old;
20975
20982
  var minorTicks = axis.minorTicks;
20976
20983
  if (!minorTicks[pos]) {
20977
20984
  minorTicks[pos] = new Tick(axis, pos, 'minor');
20978
20985
  }
20979
20986
  // Render new ticks in old position
20980
- if (slideInTicks && minorTicks[pos].isNew) {
20987
+ if (slideIn && minorTicks[pos].isNew) {
20981
20988
  minorTicks[pos].render(null, true);
20982
20989
  }
20983
20990
  minorTicks[pos].render(null, false, 1);
@@ -20993,12 +21000,14 @@
20993
21000
  *
20994
21001
  * @param {number} i
20995
21002
  * The tick index.
21003
+ *
21004
+ * @param {boolean} slideIn
21005
+ * Whether the tick should animate in from last computed position
20996
21006
  */
20997
- Axis.prototype.renderTick = function (pos, i) {
21007
+ Axis.prototype.renderTick = function (pos, i, slideIn) {
20998
21008
  var axis = this,
20999
21009
  isLinked = axis.isLinked,
21000
- ticks = axis.ticks,
21001
- slideInTicks = axis.chart.hasRendered && axis.old;
21010
+ ticks = axis.ticks;
21002
21011
  // Linked axes need an extra check to find out if
21003
21012
  if (!isLinked ||
21004
21013
  (pos >= axis.min && pos <= axis.max) ||
@@ -21009,7 +21018,7 @@
21009
21018
  // NOTE this seems like overkill. Could be handled in tick.render by
21010
21019
  // setting old position in attr, then set new position in animate.
21011
21020
  // render new ticks in old position
21012
- if (slideInTicks && ticks[pos].isNew) {
21021
+ if (slideIn && ticks[pos].isNew) {
21013
21022
  // Start with negative opacity so that it is visible from
21014
21023
  // halfway into the animation
21015
21024
  ticks[pos].render(i, true, -1);
@@ -21056,17 +21065,19 @@
21056
21065
  });
21057
21066
  // If the series has data draw the ticks. Else only the line and title
21058
21067
  if (axis.hasData() || isLinked) {
21068
+ var slideInTicks_1 = axis.chart.hasRendered &&
21069
+ axis.old && isNumber(axis.old.min);
21059
21070
  // minor ticks
21060
21071
  if (axis.minorTickInterval && !axis.categories) {
21061
21072
  axis.getMinorTickPositions().forEach(function (pos) {
21062
- axis.renderMinorTick(pos);
21073
+ axis.renderMinorTick(pos, slideInTicks_1);
21063
21074
  });
21064
21075
  }
21065
21076
  // Major ticks. Pull out the first item and render it last so that
21066
21077
  // we can get the position of the neighbour label. #808.
21067
21078
  if (tickPositions.length) { // #1300
21068
21079
  tickPositions.forEach(function (pos, i) {
21069
- axis.renderTick(pos, i);
21080
+ axis.renderTick(pos, i, slideInTicks_1);
21070
21081
  });
21071
21082
  // In a categorized axis, the tick marks are displayed
21072
21083
  // between labels. So we need to add a tick mark and
@@ -23454,12 +23465,6 @@
23454
23465
  }]
23455
23466
  }]
23456
23467
  });
23457
- chart.renderer.definition({
23458
- tagName: 'style',
23459
- textContent: '.highcharts-tooltip-' + chart.index + '{' +
23460
- 'filter:url(#drop-shadow-' + chart.index + ')' +
23461
- '}'
23462
- });
23463
23468
  };
23464
23469
  /**
23465
23470
  * Build the body (lines) of the tooltip by iterating over the items and
@@ -23765,10 +23770,12 @@
23765
23770
  .shadow(options.shadow);
23766
23771
  }
23767
23772
  }
23768
- if (styledMode) {
23773
+ if (styledMode && options.shadow) {
23769
23774
  // Apply the drop-shadow filter
23770
23775
  this.applyFilter();
23771
- this.label.addClass('highcharts-tooltip-' + this.chart.index);
23776
+ this.label.attr({
23777
+ filter: 'url(#drop-shadow-' + this.chart.index + ')'
23778
+ });
23772
23779
  }
23773
23780
  // Split tooltip use updateTooltipContainer to position the tooltip
23774
23781
  // container.
@@ -24652,8 +24659,8 @@
24652
24659
  }
24653
24660
  var chart = tooltip.chart;
24654
24661
  var label = tooltip.label;
24655
- var point = chart.hoverPoint;
24656
- if (!label || !point) {
24662
+ var points = tooltip.shared ? chart.hoverPoints : chart.hoverPoint;
24663
+ if (!label || !points) {
24657
24664
  return;
24658
24665
  }
24659
24666
  var box = {
@@ -24663,7 +24670,7 @@
24663
24670
  height: 0
24664
24671
  };
24665
24672
  // Combine anchor and tooltip
24666
- var anchorPos = this.getAnchor(point);
24673
+ var anchorPos = this.getAnchor(points);
24667
24674
  var labelBBox = label.getBBox();
24668
24675
  anchorPos[0] += chart.plotLeft - label.translateX;
24669
24676
  anchorPos[1] += chart.plotTop - label.translateY;
@@ -35284,8 +35291,23 @@
35284
35291
  }
35285
35292
  };
35286
35293
  /**
35287
- * @private
35294
+ * Find the nearest point from a pointer event. This applies to series that
35295
+ * use k-d-trees to get the nearest point. Native pointer events must be
35296
+ * normalized using `Pointer.normalize`, that adds `chartX` and `chartY`
35297
+ * properties.
35298
+ *
35299
+ * @sample highcharts/demo/synchronized-charts
35300
+ * Synchronized charts with tooltips
35301
+ *
35288
35302
  * @function Highcharts.Series#searchPoint
35303
+ *
35304
+ * @param {Highcharts.PointerEvent} e
35305
+ * The normalized pointer event
35306
+ * @param {boolean} [compareX=false]
35307
+ * Search only by the X value, not Y
35308
+ *
35309
+ * @return {Point|undefined}
35310
+ * The closest point to the pointer event
35289
35311
  */
35290
35312
  Series.prototype.searchPoint = function (e, compareX) {
35291
35313
  var series = this,
@@ -50401,6 +50423,7 @@
50401
50423
  *
50402
50424
  * */
50403
50425
  var addEvent = U.addEvent,
50426
+ correctFloat = U.correctFloat,
50404
50427
  css = U.css,
50405
50428
  defined = U.defined,
50406
50429
  error = U.error,
@@ -50579,6 +50602,41 @@
50579
50602
  axis.isOrdinal = isOrdinal && useOrdinal; // #3818, #4196, #4926
50580
50603
  ordinal.groupIntervalFactor = null; // reset for next run
50581
50604
  };
50605
+ /**
50606
+ * Faster way of using the Array.indexOf method.
50607
+ * Works for sorted arrays only with unique values.
50608
+ *
50609
+ * @param {Array} sortedArray
50610
+ * The sorted array inside which we are looking for.
50611
+ * @param {number} key
50612
+ * The key to being found.
50613
+ * @param {boolean} indirectSearch
50614
+ * In case of lack of the point in the array, should return
50615
+ * value be equal to -1 or the closest bigger index.
50616
+ * @private
50617
+ */
50618
+ Composition.findIndexOf = function (sortedArray, key, indirectSearch) {
50619
+ var start = 0,
50620
+ end = sortedArray.length - 1,
50621
+ middle;
50622
+ while (start <= end) {
50623
+ middle = Math.floor((start + end) / 2);
50624
+ // Key found as the middle element.
50625
+ if (sortedArray[middle] === key) {
50626
+ return middle;
50627
+ }
50628
+ if (sortedArray[middle] < key) {
50629
+ // Continue searching to the right.
50630
+ start = middle + 1;
50631
+ }
50632
+ else {
50633
+ // Continue searching to the left.
50634
+ end = middle - 1;
50635
+ }
50636
+ }
50637
+ // Key could not be found.
50638
+ return !indirectSearch ? -1 : middle;
50639
+ };
50582
50640
  /**
50583
50641
  * Get the ordinal positions for the entire data set. This is necessary
50584
50642
  * in chart panning because we need to find out what points or data
@@ -50730,6 +50788,34 @@
50730
50788
  // Return the factor needed for data grouping
50731
50789
  return groupIntervalFactor;
50732
50790
  };
50791
+ /**
50792
+ * Get index of point inside the ordinal positions array.
50793
+ *
50794
+ * @private
50795
+ * @param {number} val
50796
+ * The pixel value of a point.
50797
+ *
50798
+ * @param {Array<number>} [ordinallArray]
50799
+ * An array of all points available on the axis
50800
+ * for the given data set.
50801
+ * Either ordinalPositions if the value is inside the plotArea
50802
+ * or extendedOrdinalPositions if not.
50803
+ *
50804
+ * @return {number}
50805
+ */
50806
+ Composition.prototype.getIndexOfPoint = function (val, ordinalArray) {
50807
+ var ordinal = this,
50808
+ axis = ordinal.axis,
50809
+ firstPointVal = ordinal.positions ? ordinal.positions[0] : 0,
50810
+ // toValue for the first point.
50811
+ firstPointX = ordinal.slope ? ordinal.slope * axis.transA : 0;
50812
+ // Distance in pixels between two points
50813
+ // on the ordinal axis in the current zoom.
50814
+ var ordinalPointPixelInterval = axis.translationSlope *
50815
+ (ordinal.slope || axis.closestPointRange || ordinal.overscrollPointsRange),
50816
+ shiftIndex = (val - firstPointX) / ordinalPointPixelInterval;
50817
+ return Composition.findIndexOf(ordinalArray, firstPointVal) + shiftIndex;
50818
+ };
50733
50819
  /**
50734
50820
  * Get ticks for an ordinal axis within a range where points don't
50735
50821
  * exist. It is required when overscroll is enabled. We can't base on
@@ -50981,6 +51067,48 @@
50981
51067
  }
50982
51068
  return groupPositions;
50983
51069
  };
51070
+ /**
51071
+ * Get axis position of given index of the extended ordinal positions.
51072
+ * Used only when panning an ordinal axis.
51073
+ *
51074
+ * @private
51075
+ * @function Highcharts.Axis#index2val
51076
+ *
51077
+ * @param {number} index
51078
+ * The index value of searched point
51079
+ *
51080
+ * @return {number}
51081
+ */
51082
+ axisProto.index2val = function (index) {
51083
+ var axis = this,
51084
+ ordinal = axis.ordinal,
51085
+ // Context could be changed to extendedOrdinalPositions.
51086
+ ordinalPositions = ordinal.positions;
51087
+ // The visible range contains only equally spaced values.
51088
+ if (!ordinalPositions) {
51089
+ return index;
51090
+ }
51091
+ var i = ordinalPositions.length - 1,
51092
+ distance;
51093
+ if (index < 0) { // out of range, in effect panning to the left
51094
+ index = ordinalPositions[0];
51095
+ }
51096
+ else if (index > i) { // out of range, panning to the right
51097
+ index = ordinalPositions[i];
51098
+ }
51099
+ else { // split it up
51100
+ i = Math.floor(index);
51101
+ distance = index - i; // the decimal
51102
+ }
51103
+ if (typeof distance !== 'undefined' &&
51104
+ typeof ordinalPositions[i] !== 'undefined') {
51105
+ return ordinalPositions[i] + (distance ?
51106
+ distance *
51107
+ (ordinalPositions[i + 1] - ordinalPositions[i]) :
51108
+ 0);
51109
+ }
51110
+ return index;
51111
+ };
50984
51112
  /**
50985
51113
  * Translate from linear (internal) to axis value.
50986
51114
  *
@@ -50990,73 +51118,60 @@
50990
51118
  * @param {number} val
50991
51119
  * The linear abstracted value.
50992
51120
  *
50993
- * @param {boolean} [fromIndex]
50994
- * Translate from an index in the ordinal positions rather than a
50995
- * value.
50996
- *
50997
51121
  * @return {number}
50998
51122
  */
50999
- axisProto.lin2val = function (val, fromIndex) {
51123
+ axisProto.lin2val = function (val) {
51000
51124
  var axis = this,
51001
51125
  ordinal = axis.ordinal,
51002
- ordinalPositions = ordinal.positions,
51003
- ret;
51004
- // the visible range contains only equally spaced values
51005
- if (!ordinalPositions) {
51006
- ret = val;
51007
- }
51008
- else {
51009
- var ordinalSlope = ordinal.slope,
51010
- ordinalOffset = ordinal.offset,
51011
- i = ordinalPositions.length - 1,
51012
- linearEquivalentLeft = void 0,
51013
- linearEquivalentRight = void 0,
51014
- distance = void 0;
51015
- // Handle the case where we translate from the index directly,
51016
- // used only when panning an ordinal axis
51017
- if (fromIndex) {
51018
- if (val < 0) { // out of range, in effect panning to the left
51019
- val = ordinalPositions[0];
51020
- }
51021
- else if (val > i) { // out of range, panning to the right
51022
- val = ordinalPositions[i];
51023
- }
51024
- else { // split it up
51025
- i = Math.floor(val);
51026
- distance = val - i; // the decimal
51027
- }
51028
- // Loop down along the ordinal positions. When the linear
51029
- // equivalent of i matches an ordinal position, interpolate
51030
- // between the left and right values.
51031
- }
51032
- else {
51033
- while (i--) {
51034
- linearEquivalentLeft =
51035
- (ordinalSlope * i) + ordinalOffset;
51036
- if (val >= linearEquivalentLeft) {
51037
- linearEquivalentRight =
51038
- (ordinalSlope *
51039
- (i + 1)) +
51040
- ordinalOffset;
51041
- // something between 0 and 1
51042
- distance = (val - linearEquivalentLeft) /
51043
- (linearEquivalentRight - linearEquivalentLeft);
51044
- break;
51045
- }
51046
- }
51047
- }
51048
- // If the index is within the range of the ordinal positions,
51049
- // return the associated or interpolated value. If not, just
51050
- // return the value.
51051
- return (typeof distance !== 'undefined' &&
51052
- typeof ordinalPositions[i] !== 'undefined' ?
51053
- ordinalPositions[i] + (distance ?
51054
- distance *
51055
- (ordinalPositions[i + 1] - ordinalPositions[i]) :
51056
- 0) :
51057
- val);
51058
- }
51059
- return ret;
51126
+ isInside = val > axis.left && val < axis.left + axis.len,
51127
+ localMin = axis.old ? axis.old.min : axis.min,
51128
+ localA = axis.old ? axis.old.transA : axis.transA;
51129
+ var positions = ordinal.positions; // for the current visible range
51130
+ // The visible range contains only equally spaced values.
51131
+ if (!positions) {
51132
+ return val;
51133
+ }
51134
+ // Convert back from modivied value to pixels.
51135
+ var pixelVal = (val - localMin) * localA;
51136
+ // If the value is not inside the plot area,
51137
+ // use the extended positions.
51138
+ // (array contains also points that are outside of the plotArea).
51139
+ if (!isInside) {
51140
+ // When iterating for the first time,
51141
+ // get the extended ordinal positional and assign them.
51142
+ if (!ordinal.extendedOrdinalPositions) {
51143
+ ordinal.extendedOrdinalPositions = ordinal.getExtendedPositions();
51144
+ }
51145
+ positions = ordinal.extendedOrdinalPositions;
51146
+ }
51147
+ // In some cases (especially in early stages of the chart creation)
51148
+ // the getExtendedPositions might return undefined.
51149
+ if (positions && positions.length) {
51150
+ var index = ordinal.getIndexOfPoint(pixelVal,
51151
+ positions),
51152
+ mantissa = correctFloat(index % 1);
51153
+ // Check if the index is inside position array.
51154
+ // If true, read/approximate value for that exact index.
51155
+ if (index >= 0 && index < positions.length) {
51156
+ var leftNeighbour = positions[Math.floor(index)],
51157
+ rightNeighbour = positions[Math.ceil(index)],
51158
+ distance = rightNeighbour - leftNeighbour;
51159
+ return positions[Math.floor(index)] + mantissa * distance;
51160
+ }
51161
+ // For cases when the index is not in the extended ordinal
51162
+ // position array (EOP), like when the value we are looking
51163
+ // for exceed the available data,
51164
+ // approximate that value based on the calculated slope.
51165
+ var positionsLength = positions.length,
51166
+ firstPositionsValue = positions[0],
51167
+ lastPositionsValue = positions[positionsLength - 1],
51168
+ slope = (lastPositionsValue - firstPositionsValue) / (positionsLength - 1);
51169
+ if (index < 0) {
51170
+ return firstPositionsValue + slope * index;
51171
+ }
51172
+ return lastPositionsValue + slope * (index - positionsLength);
51173
+ }
51174
+ return val;
51060
51175
  };
51061
51176
  /**
51062
51177
  * Translate from a linear axis value to the corresponding ordinal axis
@@ -51192,7 +51307,7 @@
51192
51307
  extendedAxis = { ordinal: { positions: xAxis.ordinal.getExtendedPositions() } },
51193
51308
  ordinalPositions = void 0,
51194
51309
  searchAxisLeft = void 0,
51195
- lin2val = xAxis.lin2val,
51310
+ index2val = xAxis.index2val,
51196
51311
  val2lin = xAxis.val2lin,
51197
51312
  searchAxisRight = void 0;
51198
51313
  // we have an ordinal axis, but the data is equally spaced
@@ -51231,12 +51346,10 @@
51231
51346
  // range, else it happens on the current x axis which is
51232
51347
  // smaller and faster.
51233
51348
  chart.fixedRange = max - min;
51234
- trimmedRange = xAxis.navigatorAxis.toFixedRange(null, null, lin2val.apply(searchAxisLeft, [
51235
- val2lin.apply(searchAxisLeft, [min, true]) + movedUnits,
51236
- true // translate from index
51237
- ]), lin2val.apply(searchAxisRight, [
51238
- val2lin.apply(searchAxisRight, [max, true]) + movedUnits,
51239
- true // translate from index
51349
+ trimmedRange = xAxis.navigatorAxis.toFixedRange(null, null, index2val.apply(searchAxisLeft, [
51350
+ val2lin.apply(searchAxisLeft, [min, true]) + movedUnits
51351
+ ]), index2val.apply(searchAxisRight, [
51352
+ val2lin.apply(searchAxisRight, [max, true]) + movedUnits
51240
51353
  ]));
51241
51354
  // Apply it if it is within the available data range
51242
51355
  if (trimmedRange.min >= Math.min(extremes.dataMin, min) &&
@@ -1,5 +1,5 @@
1
1
  /*
2
- Highstock JS v9.1.1 (2021-06-03)
2
+ Highstock JS v9.1.2 (2021-06-16)
3
3
 
4
4
  Indicator series type for Highcharts Stock
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highstock JS v9.1.1 (2021-06-04)
2
+ * @license Highstock JS v9.1.2 (2021-06-16)
3
3
  *
4
4
  * Indicator series type for Highcharts Stock
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*
2
- Highstock JS v9.1.1 (2021-06-03)
2
+ Highstock JS v9.1.2 (2021-06-16)
3
3
 
4
4
  Indicator series type for Highcharts Stock
5
5