@amcharts/amcharts5 5.1.1 → 5.1.5

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 (387) hide show
  1. package/.internal/charts/flow/Chord.d.ts.map +1 -1
  2. package/.internal/charts/flow/Chord.js +7 -0
  3. package/.internal/charts/flow/Chord.js.map +1 -1
  4. package/.internal/charts/flow/Flow.d.ts +11 -0
  5. package/.internal/charts/flow/Flow.d.ts.map +1 -1
  6. package/.internal/charts/flow/Flow.js +17 -5
  7. package/.internal/charts/flow/Flow.js.map +1 -1
  8. package/.internal/charts/flow/SankeyLink.d.ts +2 -0
  9. package/.internal/charts/flow/SankeyLink.d.ts.map +1 -1
  10. package/.internal/charts/flow/SankeyLink.js +8 -0
  11. package/.internal/charts/flow/SankeyLink.js.map +1 -1
  12. package/.internal/charts/hierarchy/ForceDirected.d.ts.map +1 -1
  13. package/.internal/charts/hierarchy/ForceDirected.js +1 -2
  14. package/.internal/charts/hierarchy/ForceDirected.js.map +1 -1
  15. package/.internal/charts/map/MapSeries.d.ts.map +1 -1
  16. package/.internal/charts/map/MapSeries.js +7 -1
  17. package/.internal/charts/map/MapSeries.js.map +1 -1
  18. package/.internal/charts/radar/RadarCursor.d.ts +2 -0
  19. package/.internal/charts/radar/RadarCursor.d.ts.map +1 -1
  20. package/.internal/charts/radar/RadarCursor.js +20 -0
  21. package/.internal/charts/radar/RadarCursor.js.map +1 -1
  22. package/.internal/charts/xy/XYChart.d.ts +2 -2
  23. package/.internal/charts/xy/XYChart.d.ts.map +1 -1
  24. package/.internal/charts/xy/XYChart.js +45 -31
  25. package/.internal/charts/xy/XYChart.js.map +1 -1
  26. package/.internal/charts/xy/XYChartDefaultTheme.d.ts.map +1 -1
  27. package/.internal/charts/xy/XYChartDefaultTheme.js +12 -1
  28. package/.internal/charts/xy/XYChartDefaultTheme.js.map +1 -1
  29. package/.internal/charts/xy/XYCursor.d.ts +23 -2
  30. package/.internal/charts/xy/XYCursor.d.ts.map +1 -1
  31. package/.internal/charts/xy/XYCursor.js +92 -7
  32. package/.internal/charts/xy/XYCursor.js.map +1 -1
  33. package/.internal/charts/xy/axes/Axis.d.ts +1 -1
  34. package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
  35. package/.internal/charts/xy/axes/Axis.js +21 -6
  36. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  37. package/.internal/charts/xy/axes/DateAxis.d.ts +23 -2
  38. package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
  39. package/.internal/charts/xy/axes/DateAxis.js +14 -12
  40. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  41. package/.internal/charts/xy/axes/DurationAxis.d.ts.map +1 -1
  42. package/.internal/charts/xy/axes/DurationAxis.js +6 -3
  43. package/.internal/charts/xy/axes/DurationAxis.js.map +1 -1
  44. package/.internal/charts/xy/axes/GaplessDateAxis.d.ts +1 -0
  45. package/.internal/charts/xy/axes/GaplessDateAxis.d.ts.map +1 -1
  46. package/.internal/charts/xy/axes/GaplessDateAxis.js +21 -39
  47. package/.internal/charts/xy/axes/GaplessDateAxis.js.map +1 -1
  48. package/.internal/charts/xy/axes/ValueAxis.d.ts +7 -0
  49. package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
  50. package/.internal/charts/xy/axes/ValueAxis.js +28 -0
  51. package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
  52. package/.internal/charts/xy/series/LineSeries.d.ts +2 -0
  53. package/.internal/charts/xy/series/LineSeries.d.ts.map +1 -1
  54. package/.internal/charts/xy/series/LineSeries.js +29 -5
  55. package/.internal/charts/xy/series/LineSeries.js.map +1 -1
  56. package/.internal/charts/xy/series/XYSeries.d.ts +14 -1
  57. package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
  58. package/.internal/charts/xy/series/XYSeries.js +3 -1
  59. package/.internal/charts/xy/series/XYSeries.js.map +1 -1
  60. package/.internal/core/Root.d.ts +12 -2
  61. package/.internal/core/Root.d.ts.map +1 -1
  62. package/.internal/core/Root.js +31 -4
  63. package/.internal/core/Root.js.map +1 -1
  64. package/.internal/core/render/Legend.js.map +1 -1
  65. package/.internal/core/render/Line.d.ts +6 -0
  66. package/.internal/core/render/Line.d.ts.map +1 -1
  67. package/.internal/core/render/Line.js +5 -1
  68. package/.internal/core/render/Line.js.map +1 -1
  69. package/.internal/core/render/Scrollbar.d.ts +2 -0
  70. package/.internal/core/render/Scrollbar.d.ts.map +1 -1
  71. package/.internal/core/render/Scrollbar.js +10 -1
  72. package/.internal/core/render/Scrollbar.js.map +1 -1
  73. package/.internal/core/render/Series.d.ts.map +1 -1
  74. package/.internal/core/render/Series.js +5 -3
  75. package/.internal/core/render/Series.js.map +1 -1
  76. package/.internal/core/render/Sprite.d.ts +4 -0
  77. package/.internal/core/render/Sprite.d.ts.map +1 -1
  78. package/.internal/core/render/Sprite.js +2 -1
  79. package/.internal/core/render/Sprite.js.map +1 -1
  80. package/.internal/core/render/backend/CanvasRenderer.d.ts +9 -6
  81. package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
  82. package/.internal/core/render/backend/CanvasRenderer.js +77 -28
  83. package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
  84. package/.internal/core/util/DateFormatter.js +1 -1
  85. package/.internal/core/util/DateFormatter.js.map +1 -1
  86. package/.internal/core/util/Disposer.d.ts +33 -8
  87. package/.internal/core/util/Disposer.d.ts.map +1 -1
  88. package/.internal/core/util/Disposer.js +95 -21
  89. package/.internal/core/util/Disposer.js.map +1 -1
  90. package/.internal/core/util/Entity.d.ts +1 -1
  91. package/.internal/core/util/Entity.js.map +1 -1
  92. package/.internal/core/util/Language.d.ts +7 -0
  93. package/.internal/core/util/Language.d.ts.map +1 -1
  94. package/.internal/core/util/Language.js.map +1 -1
  95. package/.internal/core/util/Modal.d.ts.map +1 -1
  96. package/.internal/core/util/Modal.js +5 -3
  97. package/.internal/core/util/Modal.js.map +1 -1
  98. package/.internal/core/util/PopulateString.js +10 -1
  99. package/.internal/core/util/PopulateString.js.map +1 -1
  100. package/.internal/core/util/Utils.d.ts +20 -2
  101. package/.internal/core/util/Utils.d.ts.map +1 -1
  102. package/.internal/core/util/Utils.js +88 -17
  103. package/.internal/core/util/Utils.js.map +1 -1
  104. package/CHANGELOG.md +68 -3
  105. package/examples/javascript/flow-chord/package.json +1 -1
  106. package/examples/javascript/flow-chord-directed/package.json +1 -1
  107. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  108. package/examples/javascript/flow-sankey/package.json +1 -1
  109. package/examples/javascript/gauge/package.json +1 -1
  110. package/examples/javascript/gauge-bands/package.json +1 -1
  111. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  112. package/examples/javascript/hierarchy-pack/package.json +1 -1
  113. package/examples/javascript/hierarchy-partition/package.json +1 -1
  114. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  115. package/examples/javascript/hierarchy-tree/package.json +1 -1
  116. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  117. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  118. package/examples/javascript/map-day-and-night/package.json +1 -1
  119. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  120. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  121. package/examples/javascript/map-with-bubbles/package.json +1 -1
  122. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  123. package/examples/javascript/misc-40-charts/package.json +1 -1
  124. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  125. package/examples/javascript/pie-chart/package.json +1 -1
  126. package/examples/javascript/pie-donut-chart/package.json +1 -1
  127. package/examples/javascript/pie-variable-radius/package.json +1 -1
  128. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  129. package/examples/javascript/radar-heat-map/package.json +1 -1
  130. package/examples/javascript/radar-line/package.json +1 -1
  131. package/examples/javascript/radar-time-line/package.json +1 -1
  132. package/examples/javascript/sliced-funnel/package.json +1 -1
  133. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  134. package/examples/javascript/sliced-pyramid/package.json +1 -1
  135. package/examples/javascript/venn-diagram/package.json +1 -1
  136. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  137. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  138. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  139. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  140. package/examples/javascript/xy-bubble/package.json +1 -1
  141. package/examples/javascript/xy-candlestick/package.json +1 -1
  142. package/examples/javascript/xy-clustered-column/package.json +1 -1
  143. package/examples/javascript/xy-column/package.json +1 -1
  144. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  145. package/examples/javascript/xy-data-grouping/package.json +1 -1
  146. package/examples/javascript/xy-draggable-range/package.json +1 -1
  147. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  148. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  149. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  150. package/examples/javascript/xy-line/package.json +1 -1
  151. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  152. package/examples/javascript/xy-live-data/package.json +1 -1
  153. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  154. package/examples/javascript/xy-ohlc/package.json +1 -1
  155. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  156. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  157. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  158. package/examples/javascript/xy-stacked-column/package.json +1 -1
  159. package/examples/javascript/xy-stacked-step/package.json +1 -1
  160. package/examples/javascript/xy-stock/index.js +1 -1
  161. package/examples/javascript/xy-stock/package.json +1 -1
  162. package/examples/javascript/xy-stock-comparing/index.js +1 -1
  163. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  164. package/examples/typescript/flow-chord/package.json +1 -1
  165. package/examples/typescript/flow-chord-directed/package.json +1 -1
  166. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  167. package/examples/typescript/flow-sankey/package.json +1 -1
  168. package/examples/typescript/gauge/package.json +1 -1
  169. package/examples/typescript/gauge-bands/package.json +1 -1
  170. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  171. package/examples/typescript/hierarchy-pack/package.json +1 -1
  172. package/examples/typescript/hierarchy-partition/package.json +1 -1
  173. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  174. package/examples/typescript/hierarchy-tree/package.json +1 -1
  175. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  176. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  177. package/examples/typescript/map-day-and-night/package.json +1 -1
  178. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  179. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  180. package/examples/typescript/map-with-bubbles/package.json +1 -1
  181. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  182. package/examples/typescript/misc-40-charts/package.json +1 -1
  183. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  184. package/examples/typescript/pie-chart/package.json +1 -1
  185. package/examples/typescript/pie-donut-chart/package.json +1 -1
  186. package/examples/typescript/pie-variable-radius/package.json +1 -1
  187. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  188. package/examples/typescript/radar-heat-map/package.json +1 -1
  189. package/examples/typescript/radar-line/package.json +1 -1
  190. package/examples/typescript/radar-time-line/package.json +1 -1
  191. package/examples/typescript/sliced-funnel/package.json +1 -1
  192. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  193. package/examples/typescript/sliced-pyramid/package.json +1 -1
  194. package/examples/typescript/venn-diagram/package.json +1 -1
  195. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  196. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  197. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  198. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  199. package/examples/typescript/xy-bubble/package.json +1 -1
  200. package/examples/typescript/xy-candlestick/package.json +1 -1
  201. package/examples/typescript/xy-clustered-column/package.json +1 -1
  202. package/examples/typescript/xy-column/package.json +1 -1
  203. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  204. package/examples/typescript/xy-data-grouping/package.json +1 -1
  205. package/examples/typescript/xy-draggable-range/package.json +1 -1
  206. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  207. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  208. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  209. package/examples/typescript/xy-line/package.json +1 -1
  210. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  211. package/examples/typescript/xy-live-data/package.json +1 -1
  212. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  213. package/examples/typescript/xy-ohlc/package.json +1 -1
  214. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  215. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  216. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  217. package/examples/typescript/xy-stacked-column/package.json +1 -1
  218. package/examples/typescript/xy-stacked-step/package.json +1 -1
  219. package/examples/typescript/xy-stock/index.ts +1 -1
  220. package/examples/typescript/xy-stock/package.json +1 -1
  221. package/examples/typescript/xy-stock-comparing/index.ts +1 -1
  222. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  223. package/locales/ar.d.ts +7 -0
  224. package/locales/ar.d.ts.map +1 -1
  225. package/locales/ar.js +7 -0
  226. package/locales/ar.js.map +1 -1
  227. package/locales/bs_BA.d.ts +7 -0
  228. package/locales/bs_BA.d.ts.map +1 -1
  229. package/locales/bs_BA.js +7 -0
  230. package/locales/bs_BA.js.map +1 -1
  231. package/locales/ca_ES.d.ts +7 -0
  232. package/locales/ca_ES.d.ts.map +1 -1
  233. package/locales/ca_ES.js +7 -0
  234. package/locales/ca_ES.js.map +1 -1
  235. package/locales/cs_CZ.d.ts +7 -0
  236. package/locales/cs_CZ.d.ts.map +1 -1
  237. package/locales/cs_CZ.js +7 -0
  238. package/locales/cs_CZ.js.map +1 -1
  239. package/locales/da_DK.d.ts +7 -0
  240. package/locales/da_DK.d.ts.map +1 -1
  241. package/locales/da_DK.js +7 -0
  242. package/locales/da_DK.js.map +1 -1
  243. package/locales/de_CH.d.ts +11 -4
  244. package/locales/de_CH.d.ts.map +1 -1
  245. package/locales/de_CH.js +11 -4
  246. package/locales/de_CH.js.map +1 -1
  247. package/locales/de_DE.d.ts +7 -0
  248. package/locales/de_DE.d.ts.map +1 -1
  249. package/locales/de_DE.js +7 -0
  250. package/locales/de_DE.js.map +1 -1
  251. package/locales/el_GR.d.ts +7 -0
  252. package/locales/el_GR.d.ts.map +1 -1
  253. package/locales/el_GR.js +7 -0
  254. package/locales/el_GR.js.map +1 -1
  255. package/locales/en.d.ts +7 -0
  256. package/locales/en.d.ts.map +1 -1
  257. package/locales/en.js +7 -0
  258. package/locales/en.js.map +1 -1
  259. package/locales/en_CA.d.ts +7 -0
  260. package/locales/en_CA.d.ts.map +1 -1
  261. package/locales/en_CA.js +8 -1
  262. package/locales/en_CA.js.map +1 -1
  263. package/locales/en_US.d.ts +7 -0
  264. package/locales/en_US.d.ts.map +1 -1
  265. package/locales/en_US.js +8 -1
  266. package/locales/en_US.js.map +1 -1
  267. package/locales/es_ES.d.ts +7 -0
  268. package/locales/es_ES.d.ts.map +1 -1
  269. package/locales/es_ES.js +7 -0
  270. package/locales/es_ES.js.map +1 -1
  271. package/locales/et_EE.d.ts +7 -0
  272. package/locales/et_EE.d.ts.map +1 -1
  273. package/locales/et_EE.js +7 -0
  274. package/locales/et_EE.js.map +1 -1
  275. package/locales/fi_FI.d.ts +7 -0
  276. package/locales/fi_FI.d.ts.map +1 -1
  277. package/locales/fi_FI.js +7 -0
  278. package/locales/fi_FI.js.map +1 -1
  279. package/locales/fr_FR.d.ts +7 -0
  280. package/locales/fr_FR.d.ts.map +1 -1
  281. package/locales/fr_FR.js +7 -0
  282. package/locales/fr_FR.js.map +1 -1
  283. package/locales/he_IL.d.ts +7 -0
  284. package/locales/he_IL.d.ts.map +1 -1
  285. package/locales/he_IL.js +7 -0
  286. package/locales/he_IL.js.map +1 -1
  287. package/locales/hi_IN.d.ts +7 -0
  288. package/locales/hi_IN.d.ts.map +1 -1
  289. package/locales/hi_IN.js +7 -0
  290. package/locales/hi_IN.js.map +1 -1
  291. package/locales/hr_HR.d.ts +7 -0
  292. package/locales/hr_HR.d.ts.map +1 -1
  293. package/locales/hr_HR.js +7 -0
  294. package/locales/hr_HR.js.map +1 -1
  295. package/locales/hu_HU.d.ts +7 -0
  296. package/locales/hu_HU.d.ts.map +1 -1
  297. package/locales/hu_HU.js +7 -0
  298. package/locales/hu_HU.js.map +1 -1
  299. package/locales/id_ID.d.ts +7 -0
  300. package/locales/id_ID.d.ts.map +1 -1
  301. package/locales/id_ID.js +7 -0
  302. package/locales/id_ID.js.map +1 -1
  303. package/locales/it_IT.d.ts +7 -0
  304. package/locales/it_IT.d.ts.map +1 -1
  305. package/locales/it_IT.js +7 -0
  306. package/locales/it_IT.js.map +1 -1
  307. package/locales/ja_JP.d.ts +7 -0
  308. package/locales/ja_JP.d.ts.map +1 -1
  309. package/locales/ja_JP.js +7 -0
  310. package/locales/ja_JP.js.map +1 -1
  311. package/locales/ko_KR.d.ts +7 -0
  312. package/locales/ko_KR.d.ts.map +1 -1
  313. package/locales/ko_KR.js +7 -0
  314. package/locales/ko_KR.js.map +1 -1
  315. package/locales/lt_LT.d.ts +7 -0
  316. package/locales/lt_LT.d.ts.map +1 -1
  317. package/locales/lt_LT.js +9 -2
  318. package/locales/lt_LT.js.map +1 -1
  319. package/locales/lv_LV.d.ts +7 -0
  320. package/locales/lv_LV.d.ts.map +1 -1
  321. package/locales/lv_LV.js +7 -0
  322. package/locales/lv_LV.js.map +1 -1
  323. package/locales/nb_NO.d.ts +7 -0
  324. package/locales/nb_NO.d.ts.map +1 -1
  325. package/locales/nb_NO.js +7 -0
  326. package/locales/nb_NO.js.map +1 -1
  327. package/locales/nl_NL.d.ts +7 -0
  328. package/locales/nl_NL.d.ts.map +1 -1
  329. package/locales/nl_NL.js +7 -0
  330. package/locales/nl_NL.js.map +1 -1
  331. package/locales/pl_PL.d.ts +7 -0
  332. package/locales/pl_PL.d.ts.map +1 -1
  333. package/locales/pl_PL.js +7 -0
  334. package/locales/pl_PL.js.map +1 -1
  335. package/locales/pt_BR.d.ts +7 -0
  336. package/locales/pt_BR.d.ts.map +1 -1
  337. package/locales/pt_BR.js +7 -0
  338. package/locales/pt_BR.js.map +1 -1
  339. package/locales/pt_PT.d.ts +7 -0
  340. package/locales/pt_PT.d.ts.map +1 -1
  341. package/locales/pt_PT.js +7 -0
  342. package/locales/pt_PT.js.map +1 -1
  343. package/locales/ro_RO.d.ts +7 -0
  344. package/locales/ro_RO.d.ts.map +1 -1
  345. package/locales/ro_RO.js +7 -0
  346. package/locales/ro_RO.js.map +1 -1
  347. package/locales/ru_RU.d.ts +7 -0
  348. package/locales/ru_RU.d.ts.map +1 -1
  349. package/locales/ru_RU.js +7 -0
  350. package/locales/ru_RU.js.map +1 -1
  351. package/locales/sl_SL.d.ts +7 -0
  352. package/locales/sl_SL.d.ts.map +1 -1
  353. package/locales/sl_SL.js +7 -0
  354. package/locales/sl_SL.js.map +1 -1
  355. package/locales/sr_RS.d.ts +7 -0
  356. package/locales/sr_RS.d.ts.map +1 -1
  357. package/locales/sr_RS.js +7 -0
  358. package/locales/sr_RS.js.map +1 -1
  359. package/locales/sv_SE.d.ts +7 -0
  360. package/locales/sv_SE.d.ts.map +1 -1
  361. package/locales/sv_SE.js +7 -0
  362. package/locales/sv_SE.js.map +1 -1
  363. package/locales/th_TH.d.ts +7 -0
  364. package/locales/th_TH.d.ts.map +1 -1
  365. package/locales/th_TH.js +7 -0
  366. package/locales/th_TH.js.map +1 -1
  367. package/locales/tr_TR.d.ts +7 -0
  368. package/locales/tr_TR.d.ts.map +1 -1
  369. package/locales/tr_TR.js +7 -0
  370. package/locales/tr_TR.js.map +1 -1
  371. package/locales/uk_UA.d.ts +7 -0
  372. package/locales/uk_UA.d.ts.map +1 -1
  373. package/locales/uk_UA.js +7 -0
  374. package/locales/uk_UA.js.map +1 -1
  375. package/locales/vi_VN.d.ts +7 -0
  376. package/locales/vi_VN.d.ts.map +1 -1
  377. package/locales/vi_VN.js +7 -0
  378. package/locales/vi_VN.js.map +1 -1
  379. package/locales/zh_Hans.d.ts +7 -0
  380. package/locales/zh_Hans.d.ts.map +1 -1
  381. package/locales/zh_Hans.js +7 -0
  382. package/locales/zh_Hans.js.map +1 -1
  383. package/locales/zh_Hant.d.ts +7 -0
  384. package/locales/zh_Hant.d.ts.map +1 -1
  385. package/locales/zh_Hant.js +7 -0
  386. package/locales/zh_Hant.js.map +1 -1
  387. package/package.json +6 -1
@@ -1 +1 @@
1
- {"version":3,"file":"XYCursor.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/xy/XYCursor.ts"],"names":[],"mappings":";AAQA,OAAO,EAAE,SAAS,EAA2D,MAAM,6BAA6B,CAAC;AACjH,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,sDAAsD;AAEtD,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAC;AA6IlD;;;;;GAKG;AACH;IAA8B,4BAAS;IAAvC;QAAA,qEAyeC;QAjeA;;;;WAIG;QACH;;;;mBAA8B,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAI,CAAC,KAAK,EAAE;gBACrE,SAAS,EAAE,CAAC,GAAG,CAAC;aAChB,CAAC,CAAC;WAAC;QAEJ;;;;WAIG;QACH;;;;mBAA8B,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAI,CAAC,KAAK,EAAE;gBACrE,SAAS,EAAE,CAAC,GAAG,CAAC;aAChB,CAAC,CAAC;WAAC;QAEJ;;;;WAIG;QACH;;;;mBAAsC,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAI,CAAC,KAAK,EAAE;gBACjF,SAAS,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE;aAC7C,CAAC,CAAC;WAAC;QAEJ;;;;;WAAyC;QACzC;;;;mBAA+B,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;WAAC;QAE9C;;;;mBAA+B,KAAK;WAAC;QACrC;;;;mBAA+B,KAAK;WAAC;QAErC;;WAEG;QACH;;;;;WAAkC;;IA6bnC,CAAC;;;;;eA3bA;YAAA,iBAWC;YAVA,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;YACxF,iBAAM,SAAS,WAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;YACrF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAErC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;gBACpC,KAAI,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;YACjC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;QACT,CAAC;;;;;;eAED;YAAA,iBAgCC;YA/BA,iBAAM,gBAAgB,WAAE,CAAC;YAEzB,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAEhC,IAAI,KAAK,EAAE;oBACV,IAAM,SAAO,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACrC,IAAI,SAAO,EAAE;wBACZ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,SAAO,CAAC,EAAE,CAAC,SAAS,EAAE;4BACrB,KAAI,CAAC,YAAY,CAAC,SAAO,CAAC,CAAC;wBAC5B,CAAC,CAAC,CAAA;qBACF;iBACD;aACD;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAEhC,IAAI,KAAK,EAAE;oBACV,IAAM,SAAO,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACrC,IAAI,SAAO,EAAE;wBACZ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,SAAO,CAAC,EAAE,CAAC,SAAS,EAAE;4BACrB,KAAI,CAAC,YAAY,CAAC,SAAO,CAAC,CAAC;wBAC5B,CAAC,CAAC,CAAA;qBACF;iBACD;aACD;QACF,CAAC;;;;;;eAED;YACC,iBAAM,eAAe,WAAE,CAAC;YAExB,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBAC3D,IAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACxC,IAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAExC,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,EAAE;oBAC3C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACb;qBACI;oBACJ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpG,IAAI,CAAC,UAAU,EAAE,CAAC;iBAClB;aACD;QACF,CAAC;;;;;;eAED,UAAuB,OAAgB;YACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAC9L,CAAC;;;;;;eAED,UAAuB,OAAgB;YACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAC9L,CAAC;;;;;;eAED;YAAA,iBASC;YARA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,UAAC,OAAO;gBAC9B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,KAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAClC,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,UAAC,OAAO;gBAC9B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrB,OAAO,CAAC,MAAM,CAAC,KAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,CAAA;QACH,CAAC;;;;;;eAED,UAAiB,KAAc;YAA/B,iBA+CC;YA9CA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YAEnB,IAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;YAE1C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE;gBAC/B,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC;oBACpC,IAAI,KAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;wBAC3B,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,KAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,KAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;wBACpG,KAAI,CAAC,UAAU,EAAE,CAAC;qBAClB;gBACF,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;YACR,CAAC,CAAC,CAAA;YAEF,mCAAmC;YACnC,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;gBACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,UAAC,KAAK;oBAC3D,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;wBAC7C,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;qBACtC;gBACF,CAAC,CAAC,CAAC,CAAC;aACJ;YAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,UAAC,KAAK;gBACjE,KAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC,CAAC;YAEJ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,UAAC,KAAK;gBACrE,KAAI,CAAC,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBAC1C,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAI,CAAC,QAAQ,EAAE,EAAE;oBACtC,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;iBACtC;YACF,CAAC,CAAC,CAAC,CAAC;YAEJ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,UAAC,KAAK;gBACvE,IAAI,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAI,CAAC,QAAQ,EAAE,EAAE;oBAC5F,gEAAgE;oBAChE,sBAAsB;oBACtB,OAAO;iBACP;gBACD,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC,CAAC;YAEJ,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3B,IAAI,MAAM,EAAE;gBACX,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC1C;QACF,CAAC;;;;;;eAED,UAAkB,KAAa;YAC9B,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,KAAK,EAAE;gBACV,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAC3B;YACD,OAAO,KAAK,CAAC;QACd,CAAC;;;;;;eAED,UAA4B,KAAoB;YAC/C,0BAA0B;YAC1B,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACzF,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC7C,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAEzB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,cAAQ,CAAC,CAAC,CAAC;YAEtC,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACjC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBAExB,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,MAAM,EAAE;oBACnC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;oBAEtB,IAAM,IAAI,GAAG,eAAe,CAAC;oBAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;wBAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;qBACzD;iBACD;gBAED,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC3C,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAE3C,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;gBAC5C,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;aAC5C;QACF,CAAC;;;;;;eAED,UAA0B,MAAqB;YAC9C,0BAA0B;YAC1B,IAAI,IAAI,CAAC,UAAU,EAAE;gBACpB,IAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAC9C,IAAI,QAAQ,IAAI,MAAM,EAAE;oBACvB,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;wBAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;qBACtB;oBAED,IAAI,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBAC1C,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;oBAEhD,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;wBAClC,SAAS,GAAG,aAAa,CAAC;qBAC1B;oBAED,IAAI,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBAC1C,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;oBAEhD,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;wBAClC,SAAS,GAAG,aAAa,CAAC;qBAC1B;oBAED,IAAI,QAAQ,GAAG,KAAK,CAAC;oBACrB,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,UAAU,EAAE;wBACvG,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE;4BACtE,QAAQ,GAAG,IAAI,CAAC;yBAChB;qBACD;oBAED,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,UAAU,EAAE;wBACvG,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE;4BACtE,QAAQ,GAAG,IAAI,CAAC;yBAChB;qBACD;oBAED,IAAI,QAAQ,EAAE;wBACb,IAAM,IAAI,GAAG,aAAa,CAAC;wBAC3B,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;4BAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBACzD;qBACD;iBACD;aACD;YACD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC7B,CAAC;;;;;;eAED,UAAsB,KAAoB;YACzC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;gBAC/B,0BAA0B;gBAC1B,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAEzF,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;gBAElC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;oBAC/G,OAAO;iBACP;gBAED,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;gBAE5B,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;aACpD;QACF,CAAC;;;;;;eAED,UAAuB,KAAa;YACnC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QAClE,CAAC;;IAED;;OAEG;;;;;eACH,UAAkB,KAAc,EAAE,SAAmB;YACpD,IAAI,CAAC,KAAK,EAAE;gBACX,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;aACxB;YAED,IAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAE1C,IAAI,CAAC,KAAK,EAAE;gBACX,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACb,OAAO;aACP;YAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAEvB,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACjC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;gBAEzB,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;oBACpB,IAAI,CAAC,IAAI,EAAE,CAAC;oBAEZ,IAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;oBAC1C,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;wBAC9B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,cAAQ,CAAC,CAAC,CAAC;qBACtC;iBACD;gBAED,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;gBAChB,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;gBAEhB,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAErC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAEhC,IAAM,cAAY,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAE9C,IAAI,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,WAAS,GAAG,KAAK,CAAC,CAAC,CAAC;gBAExB,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;oBAClC,WAAS,GAAG,aAAa,CAAC;iBAC1B;gBAED,IAAI,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,WAAS,GAAG,KAAK,CAAC,CAAC,CAAC;gBAExB,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;oBAClC,WAAS,GAAG,aAAa,CAAC;iBAC1B;gBAED,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,WAAS,CAAC,CAAC;gBACxC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,WAAS,CAAC,CAAC;gBAExC,IAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,WAAS,EAAE,WAAS,CAAC,CAAC;gBAChD,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACT,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAET,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI;oBACrB,IAAI,CAAC,qBAAqB,CAAC,WAAS,EAAE,cAAY,CAAC,CAAC;oBACpD,IAAI,UAAU,EAAE;wBACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;qBACxB;gBACF,CAAC,CAAC,CAAA;gBACF,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI;oBACrB,IAAI,CAAC,qBAAqB,CAAC,WAAS,EAAE,cAAY,CAAC,CAAC;oBACpD,IAAI,UAAU,EAAE;wBACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;qBACxB;gBACF,CAAC,CAAC,CAAA;gBAEF,IAAI,CAAC,SAAS,EAAE;oBACf,KAAK,CAAC,qBAAqB,EAAE,CAAC;oBAE9B,IAAM,IAAI,GAAG,aAAa,CAAC;oBAC3B,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;wBAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;qBACzD;iBACD;gBAED,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAExB,KAAK,CAAC,eAAe,EAAE,CAAC;aACxB;iBACI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBAC1B,IAAI,CAAC,UAAU,EAAE;oBAChB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAEb,IAAM,IAAI,GAAG,cAAc,CAAC;oBAC5B,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;wBAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;qBACzD;iBACD;aACD;YAED,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,MAAM,EAAE;gBACtD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;aAC5B;QACF,CAAC;;;;;;eAED,UAAoB,SAAiB,EAAE,SAAiB;YACvD,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;QACtE,CAAC;;;;;;eAGD,UAAuB,CAAS,EAAE,CAAS;YAC1C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;aACvB;YACD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;aACvB;YAED,IAAI,CAAC,UAAU,EAAE,CAAC;QACnB,CAAC;;;;;;eAED,UAA2B,KAAa;YAAxC,iBAgDC;YA/CA,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,IAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACtC,IAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YACvB,IAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAExB,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE;gBAChB,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;aACZ;YAED,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE;gBAChB,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;aACZ;YAED,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE;gBAChB,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;aACZ;YAED,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE;gBAChB,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;aACZ;YAED,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,UAAC,OAAO;gBAC7B,IAAM,SAAS,GAAG,KAAI,CAAC,UAAU,CAAC;gBAClC,IAAI,SAAS,EAAE;oBACd,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,UAAU,EAAE;wBACrD,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;wBACzC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;wBACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;wBACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;wBACrC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;qBACzC;yBACI,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,SAAS,EAAE;wBACxD,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC/B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC3B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;qBAC/B;yBACI,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,SAAS,EAAE;wBACxD,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;wBAC/B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;wBAC/B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC3B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC3B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;qBAC/B;iBACD;YACF,CAAC,CAAC,CAAA;QACH,CAAC;;;;;;eAED;YACC,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;gBACpB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACvB,IAAI,KAAK,EAAE;oBAEV,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI;wBACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACzB,CAAC,CAAC,CAAA;oBACF,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI;wBACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACzB,CAAC,CAAC,CAAA;oBACF,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,MAAM;wBACxB,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBAC3B,CAAC,CAAC,CAAA;iBACF;aACD;YACD,iBAAM,OAAO,WAAE,CAAC;QACjB,CAAC;;;;;;eAED;YACC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;gBACrB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACvB,IAAI,KAAK,EAAE;oBACV,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI;wBACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACzB,CAAC,CAAC,CAAA;oBACF,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI;wBACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACzB,CAAC,CAAC,CAAA;iBACF;aACD;YACD,iBAAM,OAAO,WAAE,CAAC;QACjB,CAAC;;;;;;eAED;YACC,iBAAM,QAAQ,WAAE,CAAC;YACjB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC;;IAveD;;;;eAAkC,UAAU;OAAC;IAC7C;;;;eAA0C,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;OAAC;IAue7F,eAAC;CAAA,AAzeD,CAA8B,SAAS,GAyetC;SAzeY,QAAQ","sourcesContent":["import type { IPoint } from \"../../core/util/IPoint\";\nimport type { XYChart } from \"./XYChart\"\nimport type { XYSeries } from \"./series/XYSeries\";\nimport type { IPointerEvent } from \"../../core/render/backend/Renderer\";\nimport type { Axis } from \"./axes/Axis\";\nimport type { AxisRenderer } from \"./axes/AxisRenderer\";\nimport type { Tooltip } from \"../../core/render/Tooltip\";\n\nimport { Container, IContainerSettings, IContainerPrivate, IContainerEvents } from \"../../core/render/Container\";\nimport { p100 } from \"../../core/util/Percent\";\nimport { Graphics } from \"../../core/render/Graphics\";\nimport { Grid } from \"./axes/Grid\";\n//import { Animations } from \"../core/util/Animation\";\n\nimport * as $type from \"../../core/util/Type\";\nimport * as $utils from \"../../core/util/Utils\";\nimport * as $object from \"../../core/util/Object\";\n\nexport interface IXYCursorSettings extends IContainerSettings {\n\n\t/**\n\t * Cursor's X axis.\n\t *\n\t * If set, cursor will snap to that axis' cells.\n\t */\n\txAxis?: Axis<AxisRenderer>;\n\n\t/**\n\t * Cursor's Y axis.\n\t *\n\t * If set, cursor will snap to that axis' cells.\n\t */\n\tyAxis?: Axis<AxisRenderer>;\n\n\t/**\n\t * What should cursor do when dragged across plot area.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/cursor/#Behavior} for more info\n\t * @default \"none\"\n\t */\n\tbehavior?: \"zoomX\" | \"zoomY\" | \"zoomXY\" | \"selectX\" | \"selectY\" | \"selectXY\" | \"none\";\n\n\t/**\n\t * Cursor's horizontal position relative to plot area.\n\t *\n\t * If this setting is set, cursor will not react to mouse/touch and will just\n\t * sit at specified position until `positionX` is reset to `undefined`.\n\t *\n\t * `0` - left, `1` - right.\n\t */\n\tpositionX?: number;\n\n\t/**\n\t * Cursor's vertical position relative to plot area.\n\t *\n\t * If this setting is set, cursor will not react to mouse/touch and will just\n\t * sit at specified position until `positionY` is reset to `undefined`.\n\t *\n\t * `0` - left, `1` - right.\n\t */\n\tpositionY?: number;\n\n\t/**\n\t * If set to `true`, cursor will not be hidden when mouse cursor moves out\n\t * of the plot area.\n\t *\n\t * @default false\n\t */\n\talwaysShow?: boolean;\n\n\t/**\n\t * A list of series to snap cursor to.\n\t *\n\t * If set, the cursor will always snap to the closest data item of listed\n\t * series.\n\t */\n\tsnapToSeries?: Array<XYSeries>;\n\n\t/**\n\t * Defines in which direction to look when searching for the nearest data\n\t * item to snap to.\n\t * \n\t * Possible values: `\"xy\"` (default), `\"x\"`, and `\"y\"`.\n\t *\n\t * @since 5.0.6\n\t * @default \"xy\"\n\t */\n\tsnapToSeriesBy?: \"xy\" | \"x\" | \"y\";\n\n}\n\n\nexport interface IXYCursorPrivate extends IContainerPrivate {\n\n\t/**\n\t * Current X/Y coordinates of the cursor.\n\t */\n\tpoint?: IPoint;\n\n\t/**\n\t * Current horizontal position relative to the plot area (0-1).\n\t */\n\tpositionX?: number;\n\n\t/**\n\t * Current vertical position relative to the plot area (0-1).\n\t */\n\tpositionY?: number;\n\n\t/**\n\t * Horizontal cursor position on the moment when selection started.\n\t */\n\tdownPositionX?: number;\n\n\t/**\n\t * Vertical cursor position on the moment when selection started.\n\t */\n\tdownPositionY?: number;\n\n}\n\nexport interface IXYCursorEvents extends IContainerEvents {\n\n\t/**\n\t * Kicks in when cursor selection starts.\n\t *\n\t * Only when `behavior` is set.\n\t */\n\tselectended: {\n\t\ttarget: XYCursor;\n\t};\n\n\t/**\n\t * Kicks in when cursor selection ends.\n\t *\n\t * Only when `behavior` is set.\n\t */\n\tselectstarted: {\n\t\ttarget: XYCursor;\n\t};\n\n\t/**\n\t * Kicks in when cursor's position over plot area changes.\n\t */\n\tcursormoved: {\n\t\ttarget: XYCursor;\n\t};\n\n\t/**\n\t * Kicks in when cursor's is hidden when user rolls-out of the plot area\n\t */\n\tcursorhidden: {\n\t\ttarget: XYCursor;\n\t};\n\n}\n\n/**\n * Creates a chart cursor for an [[XYChart]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/cursor/} for more info\n * @important\n */\nexport class XYCursor extends Container {\n\tpublic static className: string = \"XYCursor\";\n\tpublic static classNames: Array<string> = Container.classNames.concat([XYCursor.className]);\n\n\tdeclare public _settings: IXYCursorSettings;\n\tdeclare public _privateSettings: IXYCursorPrivate;\n\tdeclare public _events: IXYCursorEvents;\n\n\t/**\n\t * A [[Grid]] elment that used for horizontal line of the cursor crosshair.\n\t *\n\t * @default Grid.new()\n\t */\n\tpublic readonly lineX: Grid = this.children.push(Grid.new(this._root, {\n\t\tthemeTags: [\"x\"]\n\t}));\n\n\t/**\n\t * A [[Grid]] elment that used for horizontal line of the cursor crosshair.\n\t *\n\t * @default Grid.new()\n\t */\n\tpublic readonly lineY: Grid = this.children.push(Grid.new(this._root, {\n\t\tthemeTags: [\"y\"]\n\t}));\n\n\t/**\n\t * An element that represents current selection.\n\t *\n\t * @default Graphics.new()\n\t */\n\tpublic readonly selection: Graphics = this.children.push(Graphics.new(this._root, {\n\t\tthemeTags: [\"selection\", \"cursor\"], layer: 30\n\t}));\n\n\tprotected _movePoint: IPoint | undefined;\n\tprotected _lastPoint: IPoint = { x: 0, y: 0 };\n\n\tprotected _tooltipX: boolean = false;\n\tprotected _tooltipY: boolean = false;\n\n\t/**\n\t * A chart cursor is attached to.\n\t */\n\tpublic chart: XYChart | undefined;\n\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"xy\", \"cursor\"]);\n\t\tsuper._afterNew();\n\t\tthis.setAll({ \"width\": p100, height: p100, isMeasured: true, position: \"absolute\" });\n\t\tthis.states.create(\"hidden\", { visible: true, opacity: 0 });\n\t\tthis._drawLines();\n\t\tthis.setPrivateRaw(\"visible\", false);\n\n\t\tthis._disposers.push(this.setTimeout(() => {\n\t\t\tthis.setPrivate(\"visible\", true)\n\t\t}, 500))\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this.isDirty(\"xAxis\")) {\n\t\t\tthis._tooltipX = false;\n\t\t\tconst xAxis = this.get(\"xAxis\");\n\n\t\t\tif (xAxis) {\n\t\t\t\tconst tooltip = xAxis.get(\"tooltip\");\n\t\t\t\tif (tooltip) {\n\t\t\t\t\tthis._tooltipX = true;\n\t\t\t\t\ttooltip.on(\"pointTo\", () => {\n\t\t\t\t\t\tthis._updateXLine(tooltip);\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"yAxis\")) {\n\t\t\tthis._tooltipY = false;\n\t\t\tconst yAxis = this.get(\"yAxis\");\n\n\t\t\tif (yAxis) {\n\t\t\t\tconst tooltip = yAxis.get(\"tooltip\");\n\t\t\t\tif (tooltip) {\n\t\t\t\t\tthis._tooltipY = true;\n\t\t\t\t\ttooltip.on(\"pointTo\", () => {\n\t\t\t\t\t\tthis._updateYLine(tooltip);\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\n\t\tif (this.isDirty(\"positionX\") || this.isDirty(\"positionY\")) {\n\t\t\tconst positionX = this.get(\"positionX\");\n\t\t\tconst positionY = this.get(\"positionY\");\n\n\t\t\tif (positionX == null && positionY == null) {\n\t\t\t\tthis.hide(0);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis._movePoint = this.toGlobal(this._getPoint(this.get(\"positionX\", 0), this.get(\"positionY\", 0)));\n\t\t\t\tthis.handleMove();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateXLine(tooltip: Tooltip) {\n\t\tthis.lineX.animate({ key: \"x\", to: this._display.toLocal(tooltip.get(\"pointTo\", { x: 0, y: 0 })).x, duration: tooltip.get(\"animationDuration\", 0), easing: tooltip.get(\"animationEasing\") });\n\t}\n\n\tprotected _updateYLine(tooltip: Tooltip) {\n\t\tthis.lineY.animate({ key: \"y\", to: this._display.toLocal(tooltip.get(\"pointTo\", { x: 0, y: 0 })).y, duration: tooltip.get(\"animationDuration\", 0), easing: tooltip.get(\"animationEasing\") });\n\t}\n\n\tprotected _drawLines() {\n\t\tthis.lineX.set(\"draw\", (display) => {\n\t\t\tdisplay.moveTo(0, 0);\n\t\t\tdisplay.lineTo(0, this.height());\n\t\t})\n\t\tthis.lineY.set(\"draw\", (display) => {\n\t\t\tdisplay.moveTo(0, 0);\n\t\t\tdisplay.lineTo(this.width(), 0);\n\t\t})\n\t}\n\n\tpublic _setChart(chart: XYChart): void {\n\t\tthis.chart = chart;\n\n\t\tconst plotContainer = chart.plotContainer;\n\n\t\tthis.events.on(\"boundschanged\", () => {\n\t\t\tthis._disposers.push(this.setTimeout(() => {\n\t\t\t\tif (this.get(\"alwaysShow\")) {\n\t\t\t\t\tthis._movePoint = this.toGlobal(this._getPoint(this.get(\"positionX\", 0), this.get(\"positionY\", 0)));\n\t\t\t\t\tthis.handleMove();\n\t\t\t\t}\n\t\t\t}, 50))\n\t\t})\n\n\t\t//this._display.interactive = true;\n\t\tif ($utils.supports(\"touchevents\")) {\n\t\t\tthis._disposers.push(plotContainer.events.on(\"click\", (event) => {\n\t\t\t\tif ($utils.isTouchEvent(event.originalEvent)) {\n\t\t\t\t\tthis._handleMove(event.originalEvent);\n\t\t\t\t}\n\t\t\t}));\n\t\t}\n\n\t\tthis._disposers.push(plotContainer.events.on(\"pointerdown\", (event) => {\n\t\t\tthis._handleCursorDown(event.originalEvent);\n\t\t}));\n\n\t\tthis._disposers.push(plotContainer.events.on(\"globalpointerup\", (event) => {\n\t\t\tthis._handleCursorUp(event.originalEvent);\n\t\t\tif (!event.native && !this.isHidden()) {\n\t\t\t\tthis._handleMove(event.originalEvent);\n\t\t\t}\n\t\t}));\n\n\t\tthis._disposers.push(plotContainer.events.on(\"globalpointermove\", (event) => {\n\t\t\tif ($object.keys(plotContainer._downPoints).length == 0 && !event.native && this.isHidden()) {\n\t\t\t\t// Ignore mouse movement if it originates on outside element and\n\t\t\t\t// we're not dragging.\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis._handleMove(event.originalEvent);\n\t\t}));\n\n\t\tconst parent = this.parent;\n\t\tif (parent) {\n\t\t\tparent.children.moveValue(this.selection);\n\t\t}\n\t}\n\n\tprotected _inPlot(point: IPoint): boolean {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\treturn chart.inPlot(point);\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected _handleCursorDown(event: IPointerEvent) {\n\t\t// TODO: handle multitouch\n\t\tconst rootPoint = this._root.documentPointToRoot({ x: event.clientX, y: event.clientY });\n\t\tlet local = this._display.toLocal(rootPoint);\n\t\tconst chart = this.chart;\n\n\t\tthis.selection.set(\"draw\", () => { });\n\n\t\tif (chart && this._inPlot(local)) {\n\t\t\tthis._downPoint = local;\n\n\t\t\tif (this.get(\"behavior\") != \"none\") {\n\t\t\t\tthis.selection.show();\n\n\t\t\t\tconst type = \"selectstarted\";\n\t\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\t\tthis.events.dispatch(type, { type: type, target: this });\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet positionX = this._getPosition(local).x;\n\t\t\tlet positionY = this._getPosition(local).y;\n\n\t\t\tthis.setPrivate(\"downPositionX\", positionX);\n\t\t\tthis.setPrivate(\"downPositionY\", positionY);\n\t\t}\n\t}\n\n\tprotected _handleCursorUp(_event: IPointerEvent) {\n\t\t// TODO: handle multitouch\n\t\tif (this._downPoint) {\n\t\t\tconst behavior = this.get(\"behavior\", \"none\");\n\t\t\tif (behavior != \"none\") {\n\t\t\t\tif (behavior.charAt(0) === \"z\") {\n\t\t\t\t\tthis.selection.hide();\n\t\t\t\t}\n\n\t\t\t\tlet userPositionX = this.get(\"positionX\");\n\t\t\t\tlet positionX = this.getPrivate(\"positionX\", 0);\n\n\t\t\t\tif ($type.isNumber(userPositionX)) {\n\t\t\t\t\tpositionX = userPositionX;\n\t\t\t\t}\n\n\t\t\t\tlet userPositionY = this.get(\"positionY\");\n\t\t\t\tlet positionY = this.getPrivate(\"positionY\", 0);\n\n\t\t\t\tif ($type.isNumber(userPositionY)) {\n\t\t\t\t\tpositionY = userPositionY;\n\t\t\t\t}\n\n\t\t\t\tlet dispatch = false;\n\t\t\t\tif (behavior === \"zoomX\" || behavior === \"zoomXY\" || behavior === \"selectX\" || behavior === \"selectXY\") {\n\t\t\t\t\tif (Math.abs(positionX - this.getPrivate(\"downPositionX\", 0)) > 0.003) {\n\t\t\t\t\t\tdispatch = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (behavior === \"zoomY\" || behavior === \"zoomXY\" || behavior === \"selectY\" || behavior === \"selectXY\") {\n\t\t\t\t\tif (Math.abs(positionY - this.getPrivate(\"downPositionY\", 0)) > 0.003) {\n\t\t\t\t\t\tdispatch = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (dispatch) {\n\t\t\t\t\tconst type = \"selectended\";\n\t\t\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\t\t\tthis.events.dispatch(type, { type: type, target: this });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis._downPoint = undefined;\n\t}\n\n\tprotected _handleMove(event: IPointerEvent) {\n\t\tif (this.getPrivate(\"visible\")) {\n\t\t\t// TODO: handle multitouch\n\t\t\tconst rootPoint = this._root.documentPointToRoot({ x: event.clientX, y: event.clientY });\n\n\t\t\tconst lastPoint = this._lastPoint;\n\n\t\t\tif (Math.round(lastPoint.x) === Math.round(rootPoint.x) && Math.round(lastPoint.y) === Math.round(rootPoint.y)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._lastPoint = rootPoint;\n\n\t\t\tthis.handleMove({ x: rootPoint.x, y: rootPoint.y });\n\t\t}\n\t}\n\n\tprotected _getPosition(point: IPoint): IPoint {\n\t\treturn { x: point.x / this.width(), y: point.y / this.height() };\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic handleMove(point?: IPoint, skipEvent?: boolean) {\n\t\tif (!point) {\n\t\t\tpoint = this._movePoint;\n\t\t}\n\n\t\tconst alwaysShow = this.get(\"alwaysShow\");\n\n\t\tif (!point) {\n\t\t\tthis.hide(0);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._movePoint = point;\n\t\tlet local = this._display.toLocal(point);\n\t\tlet chart = this.chart;\n\n\t\tif (chart && this._inPlot(local)) {\n\t\t\tchart._movePoint = point;\n\n\t\t\tif (this.isHidden()) {\n\t\t\t\tthis.show();\n\n\t\t\t\tconst behavior = this.get(\"behavior\", \"\");\n\t\t\t\tif (behavior.charAt(0) == \"z\") {\n\t\t\t\t\tthis.selection.set(\"draw\", () => { });\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet x = local.x;\n\t\t\tlet y = local.y;\n\n\t\t\tlet xyPos = this._getPosition(local);\n\n\t\t\tthis.setPrivate(\"point\", local);\n\n\t\t\tconst snapToSeries = this.get(\"snapToSeries\");\n\n\t\t\tlet userPositionX = this.get(\"positionX\");\n\t\t\tlet positionX = xyPos.x;\n\n\t\t\tif ($type.isNumber(userPositionX)) {\n\t\t\t\tpositionX = userPositionX;\n\t\t\t}\n\n\t\t\tlet userPositionY = this.get(\"positionY\");\n\t\t\tlet positionY = xyPos.y;\n\n\t\t\tif ($type.isNumber(userPositionY)) {\n\t\t\t\tpositionY = userPositionY;\n\t\t\t}\n\n\t\t\tthis.setPrivate(\"positionX\", positionX);\n\t\t\tthis.setPrivate(\"positionY\", positionY);\n\n\t\t\tconst xy = this._getPoint(positionX, positionY);\n\t\t\tx = xy.x;\n\t\t\ty = xy.y;\n\n\t\t\tchart.xAxes.each((axis) => {\n\t\t\t\taxis._handleCursorPosition(positionX, snapToSeries);\n\t\t\t\tif (alwaysShow) {\n\t\t\t\t\taxis.handleCursorShow();\n\t\t\t\t}\n\t\t\t})\n\t\t\tchart.yAxes.each((axis) => {\n\t\t\t\taxis._handleCursorPosition(positionY, snapToSeries);\n\t\t\t\tif (alwaysShow) {\n\t\t\t\t\taxis.handleCursorShow();\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tif (!skipEvent) {\n\t\t\t\tchart._handleCursorPosition();\n\n\t\t\t\tconst type = \"cursormoved\";\n\t\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\t\tthis.events.dispatch(type, { type: type, target: this });\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis._updateLines(x, y);\n\n\t\t\tchart.arrangeTooltips();\n\t\t}\n\t\telse if (!this._downPoint) {\n\t\t\tif (!alwaysShow) {\n\t\t\t\tthis.hide(0);\n\n\t\t\t\tconst type = \"cursorhidden\";\n\t\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\t\tthis.events.dispatch(type, { type: type, target: this });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (this._downPoint && this.get(\"behavior\") != \"none\") {\n\t\t\tthis._updateSelection(local)\n\t\t}\n\t}\n\n\tprotected _getPoint(positionX: number, positionY: number): IPoint {\n\t\treturn { x: this.width() * positionX, y: this.height() * positionY };\n\t}\n\n\n\tprotected _updateLines(x: number, y: number) {\n\t\tif (!this._tooltipX) {\n\t\t\tthis.lineX.set(\"x\", x);\n\t\t}\n\t\tif (!this._tooltipY) {\n\t\t\tthis.lineY.set(\"y\", y);\n\t\t}\n\n\t\tthis._drawLines();\n\t}\n\n\tprotected _updateSelection(point: IPoint) {\n\t\tconst selection = this.selection;\n\t\tconst behavior = this.get(\"behavior\");\n\t\tconst w = this.width();\n\t\tconst h = this.height();\n\n\t\tif (point.x < 0) {\n\t\t\tpoint.x = 0;\n\t\t}\n\n\t\tif (point.x > w) {\n\t\t\tpoint.x = w;\n\t\t}\n\n\t\tif (point.y < 0) {\n\t\t\tpoint.y = 0;\n\t\t}\n\n\t\tif (point.y > h) {\n\t\t\tpoint.y = h;\n\t\t}\n\n\t\tselection.set(\"draw\", (display) => {\n\t\t\tconst downPoint = this._downPoint;\n\t\t\tif (downPoint) {\n\t\t\t\tif (behavior === \"zoomXY\" || behavior === \"selectXY\") {\n\t\t\t\t\tdisplay.moveTo(downPoint.x, downPoint.y);\n\t\t\t\t\tdisplay.lineTo(downPoint.x, point.y);\n\t\t\t\t\tdisplay.lineTo(point.x, point.y);\n\t\t\t\t\tdisplay.lineTo(point.x, downPoint.y);\n\t\t\t\t\tdisplay.lineTo(downPoint.x, downPoint.y);\n\t\t\t\t}\n\t\t\t\telse if (behavior === \"zoomX\" || behavior === \"selectX\") {\n\t\t\t\t\tdisplay.moveTo(downPoint.x, 0);\n\t\t\t\t\tdisplay.lineTo(downPoint.x, h);\n\t\t\t\t\tdisplay.lineTo(point.x, h);\n\t\t\t\t\tdisplay.lineTo(point.x, 0);\n\t\t\t\t\tdisplay.lineTo(downPoint.x, 0);\n\t\t\t\t}\n\t\t\t\telse if (behavior === \"zoomY\" || behavior === \"selectY\") {\n\t\t\t\t\tdisplay.moveTo(0, downPoint.y);\n\t\t\t\t\tdisplay.lineTo(w, downPoint.y);\n\t\t\t\t\tdisplay.lineTo(w, point.y);\n\t\t\t\t\tdisplay.lineTo(0, point.y);\n\t\t\t\t\tdisplay.lineTo(0, downPoint.y);\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected _onHide() {\n\t\tif (this.isHidden()) {\n\t\t\tlet chart = this.chart;\n\t\t\tif (chart) {\n\n\t\t\t\tchart.xAxes.each((axis) => {\n\t\t\t\t\taxis.handleCursorHide();\n\t\t\t\t})\n\t\t\t\tchart.yAxes.each((axis) => {\n\t\t\t\t\taxis.handleCursorHide();\n\t\t\t\t})\n\t\t\t\tchart.series.each((series) => {\n\t\t\t\t\tseries.handleCursorHide();\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\tsuper._onHide();\n\t}\n\n\tprotected _onShow() {\n\t\tif (!this.isHidden()) {\n\t\t\tlet chart = this.chart;\n\t\t\tif (chart) {\n\t\t\t\tchart.xAxes.each((axis) => {\n\t\t\t\t\taxis.handleCursorShow();\n\t\t\t\t})\n\t\t\t\tchart.yAxes.each((axis) => {\n\t\t\t\t\taxis.handleCursorShow();\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\tsuper._onShow();\n\t}\n\n\tprotected _dispose() {\n\t\tsuper._dispose();\n\t\tthis.selection.dispose();\n\t}\n}\n"]}
1
+ {"version":3,"file":"XYCursor.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/xy/XYCursor.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IPoint } from \"../../core/util/IPoint\";\nimport type { XYChart } from \"./XYChart\"\nimport type { XYSeries } from \"./series/XYSeries\";\nimport type { IPointerEvent } from \"../../core/render/backend/Renderer\";\nimport type { Axis } from \"./axes/Axis\";\nimport type { AxisRenderer } from \"./axes/AxisRenderer\";\nimport type { Tooltip } from \"../../core/render/Tooltip\";\n\nimport { Container, IContainerSettings, IContainerPrivate, IContainerEvents } from \"../../core/render/Container\";\nimport { p100 } from \"../../core/util/Percent\";\nimport { Graphics } from \"../../core/render/Graphics\";\nimport { Grid } from \"./axes/Grid\";\n//import { Animations } from \"../core/util/Animation\";\n\nimport * as $type from \"../../core/util/Type\";\nimport * as $utils from \"../../core/util/Utils\";\nimport * as $math from \"../../core/util/Math\";\nimport * as $array from \"../../core/util/Array\";\nimport * as $object from \"../../core/util/Object\";\n\nexport interface IXYCursorSettings extends IContainerSettings {\n\n\t/**\n\t * Cursor's X axis.\n\t *\n\t * If set, cursor will snap to that axis' cells.\n\t */\n\txAxis?: Axis<AxisRenderer>;\n\n\t/**\n\t * Cursor's Y axis.\n\t *\n\t * If set, cursor will snap to that axis' cells.\n\t */\n\tyAxis?: Axis<AxisRenderer>;\n\n\t/**\n\t * What should cursor do when dragged across plot area.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/cursor/#Behavior} for more info\n\t * @default \"none\"\n\t */\n\tbehavior?: \"zoomX\" | \"zoomY\" | \"zoomXY\" | \"selectX\" | \"selectY\" | \"selectXY\" | \"none\";\n\n\t/**\n\t * Cursor's horizontal position relative to plot area.\n\t *\n\t * If this setting is set, cursor will not react to mouse/touch and will just\n\t * sit at specified position until `positionX` is reset to `undefined`.\n\t *\n\t * `0` - left, `1` - right.\n\t */\n\tpositionX?: number;\n\n\t/**\n\t * Cursor's vertical position relative to plot area.\n\t *\n\t * If this setting is set, cursor will not react to mouse/touch and will just\n\t * sit at specified position until `positionY` is reset to `undefined`.\n\t *\n\t * `0` - left, `1` - right.\n\t */\n\tpositionY?: number;\n\n\t/**\n\t * If set to `true`, cursor will not be hidden when mouse cursor moves out\n\t * of the plot area.\n\t *\n\t * @default false\n\t */\n\talwaysShow?: boolean;\n\n\t/**\n\t * A list of series to snap cursor to.\n\t *\n\t * If set, the cursor will always snap to the closest data item of listed\n\t * series.\n\t */\n\tsnapToSeries?: Array<XYSeries>;\n\n\t/**\n\t * Defines in which direction to look when searching for the nearest data\n\t * item to snap to.\n\t * \n\t * Possible values: `\"xy\"` (default), `\"x\"`, and `\"y\"`.\n\t *\n\t * @since 5.0.6\n\t * @default \"xy\"\n\t */\n\tsnapToSeriesBy?: \"xy\" | \"x\" | \"y\" | \"x!\" | \"y!\";\n\n\t/**\n\t * An array of other [[XYCursor]] objects to sync this cursor with.\n\t *\n\t * If set will automatically move synced cursors to the same position within\n\t * their respective axes as the this cursor.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/cursor/#syncing-cursors} for more info\n\t * @since 5.1.4\n\t */\n\tsyncWith?: Array<XYCursor>;\n}\n\n\nexport interface IXYCursorPrivate extends IContainerPrivate {\n\n\t/**\n\t * Current X/Y coordinates of the cursor.\n\t */\n\tpoint?: IPoint;\n\n\t/**\n\t * Current horizontal position relative to the plot area (0-1).\n\t */\n\tpositionX?: number;\n\n\t/**\n\t * Current vertical position relative to the plot area (0-1).\n\t */\n\tpositionY?: number;\n\n\t/**\n\t * Horizontal cursor position on the moment when selection started.\n\t */\n\tdownPositionX?: number;\n\n\t/**\n\t * Vertical cursor position on the moment when selection started.\n\t */\n\tdownPositionY?: number;\n\n}\n\nexport interface IXYCursorEvents extends IContainerEvents {\n\n\t/**\n\t * Kicks in when cursor selection starts.\n\t *\n\t * Only when `behavior` is set.\n\t */\n\tselectended: {\n\t\ttarget: XYCursor;\n\t};\n\n\t/**\n\t * Kicks in when cursor selection ends.\n\t *\n\t * Only when `behavior` is set.\n\t */\n\tselectstarted: {\n\t\ttarget: XYCursor;\n\t};\n\n\t/**\n\t * Kicks in when cursor's position over plot area changes.\n\t */\n\tcursormoved: {\n\t\ttarget: XYCursor;\n\t};\n\n\t/**\n\t * Kicks in when cursor's is hidden when user rolls-out of the plot area\n\t */\n\tcursorhidden: {\n\t\ttarget: XYCursor;\n\t};\n\n}\n\n/**\n * Creates a chart cursor for an [[XYChart]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/cursor/} for more info\n * @important\n */\nexport class XYCursor extends Container {\n\tpublic static className: string = \"XYCursor\";\n\tpublic static classNames: Array<string> = Container.classNames.concat([XYCursor.className]);\n\n\tdeclare public _settings: IXYCursorSettings;\n\tdeclare public _privateSettings: IXYCursorPrivate;\n\tdeclare public _events: IXYCursorEvents;\n\n\t/**\n\t * A [[Grid]] elment that used for horizontal line of the cursor crosshair.\n\t *\n\t * @default Grid.new()\n\t */\n\tpublic readonly lineX: Grid = this.children.push(Grid.new(this._root, {\n\t\tthemeTags: [\"x\"]\n\t}));\n\n\t/**\n\t * A [[Grid]] elment that used for horizontal line of the cursor crosshair.\n\t *\n\t * @default Grid.new()\n\t */\n\tpublic readonly lineY: Grid = this.children.push(Grid.new(this._root, {\n\t\tthemeTags: [\"y\"]\n\t}));\n\n\t/**\n\t * An element that represents current selection.\n\t *\n\t * @default Graphics.new()\n\t */\n\tpublic readonly selection: Graphics = this.children.push(Graphics.new(this._root, {\n\t\tthemeTags: [\"selection\", \"cursor\"], layer: 30\n\t}));\n\n\tprotected _movePoint: IPoint | undefined;\n\tprotected _lastPoint: IPoint = { x: 0, y: 0 };\n\n\tprotected _tooltipX: boolean = false;\n\tprotected _tooltipY: boolean = false;\n\n\t/**\n\t * A chart cursor is attached to.\n\t */\n\tpublic chart: XYChart | undefined;\n\n\tprotected _toX?: number;\n\tprotected _toY?: number;\n\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"xy\", \"cursor\"]);\n\t\tsuper._afterNew();\n\t\tthis.setAll({ \"width\": p100, height: p100, isMeasured: true, position: \"absolute\" });\n\t\tthis.states.create(\"hidden\", { visible: true, opacity: 0 });\n\t\tthis._drawLines();\n\t\tthis.setPrivateRaw(\"visible\", false);\n\n\t\tthis._disposers.push(this.setTimeout(() => {\n\t\t\tthis.setPrivate(\"visible\", true)\n\t\t}, 500))\n\n\t\tthis.lineX.events.on(\"positionchanged\", () => {\n\t\t\tthis._handleXLine();\n\t\t})\n\n\t\tthis.lineY.events.on(\"positionchanged\", () => {\n\t\t\tthis._handleYLine();\n\t\t})\n\t}\n\n\tprotected _handleXLine() {\n\t\tlet x = this.lineX.x();\n\t\tlet visible = true;\n\t\tif (x < 0 || x > this.width()) {\n\t\t\tvisible = false;\n\t\t}\n\t\tthis.lineX.setPrivate(\"visible\", visible);\n\t}\n\n\tprotected _handleYLine() {\n\t\tlet y = this.lineY.y();\n\t\tlet visible = true;\n\t\tif (y < 0 || y > this.height()) {\n\t\t\tvisible = false;\n\t\t}\n\t\tthis.lineY.setPrivate(\"visible\", visible);\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this.isDirty(\"xAxis\")) {\n\t\t\tthis._tooltipX = false;\n\t\t\tconst xAxis = this.get(\"xAxis\");\n\n\t\t\tif (xAxis) {\n\t\t\t\tconst tooltip = xAxis.get(\"tooltip\");\n\t\t\t\tif (tooltip) {\n\t\t\t\t\tthis._tooltipX = true;\n\t\t\t\t\ttooltip.on(\"pointTo\", () => {\n\t\t\t\t\t\tthis._updateXLine(tooltip);\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"yAxis\")) {\n\t\t\tthis._tooltipY = false;\n\t\t\tconst yAxis = this.get(\"yAxis\");\n\n\t\t\tif (yAxis) {\n\t\t\t\tconst tooltip = yAxis.get(\"tooltip\");\n\t\t\t\tif (tooltip) {\n\t\t\t\t\tthis._tooltipY = true;\n\t\t\t\t\ttooltip.on(\"pointTo\", () => {\n\t\t\t\t\t\tthis._updateYLine(tooltip);\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _handleSyncWith() {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tconst syncWith = this.get(\"syncWith\");\n\t\t\tconst otherCharts: Array<XYChart> = [];\n\t\t\tif (syncWith) {\n\t\t\t\t$array.each(syncWith, (cursor) => {\n\t\t\t\t\tconst chart = cursor.chart;\n\t\t\t\t\tif (chart) {\n\t\t\t\t\t\totherCharts.push(chart)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t\tchart._otherCharts = otherCharts;\n\t\t}\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\t\tthis._handleSyncWith();\n\n\t\tif (this.isDirty(\"positionX\") || this.isDirty(\"positionY\")) {\n\t\t\tconst positionX = this.get(\"positionX\");\n\t\t\tconst positionY = this.get(\"positionY\");\n\n\t\t\tif (positionX == null && positionY == null) {\n\t\t\t\tthis.hide(0);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis._movePoint = this.toGlobal(this._getPoint(this.get(\"positionX\", 0), this.get(\"positionY\", 0)));\n\t\t\t\tthis.handleMove();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateXLine(tooltip: Tooltip) {\n\t\tlet x = $math.round(this._display.toLocal(tooltip.get(\"pointTo\", { x: 0, y: 0 })).x, 2);\n\t\tif (this._toX != x) {\n\t\t\tthis.lineX.animate({ key: \"x\", to: x, duration: tooltip.get(\"animationDuration\", 0), easing: tooltip.get(\"animationEasing\") });\n\t\t\tthis._toX = x;\n\t\t}\n\t}\n\n\tprotected _updateYLine(tooltip: Tooltip) {\n\t\tlet y = $math.round(this._display.toLocal(tooltip.get(\"pointTo\", { x: 0, y: 0 })).y, 2);\n\t\tif (this._toY != y) {\n\t\t\tthis.lineY.animate({ key: \"y\", to: y, duration: tooltip.get(\"animationDuration\", 0), easing: tooltip.get(\"animationEasing\") });\n\t\t\tthis._toY = y;\n\t\t}\n\t}\n\n\tprotected _drawLines() {\n\t\tthis.lineX.set(\"draw\", (display) => {\n\t\t\tdisplay.moveTo(0, 0);\n\t\t\tdisplay.lineTo(0, this.height());\n\t\t})\n\t\tthis.lineY.set(\"draw\", (display) => {\n\t\t\tdisplay.moveTo(0, 0);\n\t\t\tdisplay.lineTo(this.width(), 0);\n\t\t})\n\t}\n\n\tpublic _setChart(chart: XYChart): void {\n\t\tthis.chart = chart;\n\n\t\tthis._handleSyncWith();\n\n\t\tconst plotContainer = chart.plotContainer;\n\n\t\tthis.events.on(\"boundschanged\", () => {\n\t\t\tthis._disposers.push(this.setTimeout(() => {\n\t\t\t\tif (this.get(\"alwaysShow\")) {\n\t\t\t\t\tthis._movePoint = this.toGlobal(this._getPoint(this.get(\"positionX\", 0), this.get(\"positionY\", 0)));\n\t\t\t\t\tthis.handleMove();\n\t\t\t\t}\n\t\t\t}, 50))\n\t\t})\n\n\t\t//this._display.interactive = true;\n\t\tif ($utils.supports(\"touchevents\")) {\n\t\t\tthis._disposers.push(plotContainer.events.on(\"click\", (event) => {\n\t\t\t\tif ($utils.isTouchEvent(event.originalEvent)) {\n\t\t\t\t\tthis._handleMove(event.originalEvent);\n\t\t\t\t}\n\t\t\t}));\n\t\t}\n\n\t\tthis._disposers.push(plotContainer.events.on(\"pointerdown\", (event) => {\n\t\t\tthis._handleCursorDown(event.originalEvent);\n\t\t}));\n\n\t\tthis._disposers.push(plotContainer.events.on(\"globalpointerup\", (event) => {\n\t\t\tthis._handleCursorUp(event.originalEvent);\n\t\t\tif (!event.native && !this.isHidden()) {\n\t\t\t\tthis._handleMove(event.originalEvent);\n\t\t\t}\n\t\t}));\n\n\t\tthis._disposers.push(plotContainer.events.on(\"globalpointermove\", (event) => {\n\t\t\tif (!this.get(\"syncWith\")) {\n\t\t\t\tif ($object.keys(plotContainer._downPoints).length == 0 && !event.native && this.isHidden()) {\n\t\t\t\t\t// Ignore mouse movement if it originates on outside element and\n\t\t\t\t\t// we're not dragging.\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis._handleMove(event.originalEvent);\n\t\t}));\n\n\t\tconst parent = this.parent;\n\t\tif (parent) {\n\t\t\tparent.children.moveValue(this.selection);\n\t\t}\n\t}\n\n\tprotected _inPlot(point: IPoint): boolean {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\treturn chart.inPlot(point);\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected _handleCursorDown(event: IPointerEvent) {\n\t\t// TODO: handle multitouch\n\t\tconst rootPoint = this._root.documentPointToRoot({ x: event.clientX, y: event.clientY });\n\t\tlet local = this._display.toLocal(rootPoint);\n\t\tconst chart = this.chart;\n\n\t\tthis.selection.set(\"draw\", () => { });\n\n\t\tif (chart && this._inPlot(local)) {\n\t\t\tthis._downPoint = local;\n\n\t\t\tif (this.get(\"behavior\") != \"none\") {\n\t\t\t\tthis.selection.show();\n\n\t\t\t\tconst type = \"selectstarted\";\n\t\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\t\tthis.events.dispatch(type, { type: type, target: this });\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet positionX = this._getPosition(local).x;\n\t\t\tlet positionY = this._getPosition(local).y;\n\n\t\t\tthis.setPrivate(\"downPositionX\", positionX);\n\t\t\tthis.setPrivate(\"downPositionY\", positionY);\n\t\t}\n\t}\n\n\tprotected _handleCursorUp(_event: IPointerEvent) {\n\t\t// TODO: handle multitouch\n\t\tif (this._downPoint) {\n\t\t\tconst behavior = this.get(\"behavior\", \"none\");\n\t\t\tif (behavior != \"none\") {\n\t\t\t\tif (behavior.charAt(0) === \"z\") {\n\t\t\t\t\tthis.selection.hide();\n\t\t\t\t}\n\n\t\t\t\tlet userPositionX = this.get(\"positionX\");\n\t\t\t\tlet positionX = this.getPrivate(\"positionX\", 0);\n\n\t\t\t\tif ($type.isNumber(userPositionX)) {\n\t\t\t\t\tpositionX = userPositionX;\n\t\t\t\t}\n\n\t\t\t\tlet userPositionY = this.get(\"positionY\");\n\t\t\t\tlet positionY = this.getPrivate(\"positionY\", 0);\n\n\t\t\t\tif ($type.isNumber(userPositionY)) {\n\t\t\t\t\tpositionY = userPositionY;\n\t\t\t\t}\n\n\t\t\t\tlet dispatch = false;\n\t\t\t\tif (behavior === \"zoomX\" || behavior === \"zoomXY\" || behavior === \"selectX\" || behavior === \"selectXY\") {\n\t\t\t\t\tif (Math.abs(positionX - this.getPrivate(\"downPositionX\", 0)) > 0.003) {\n\t\t\t\t\t\tdispatch = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (behavior === \"zoomY\" || behavior === \"zoomXY\" || behavior === \"selectY\" || behavior === \"selectXY\") {\n\t\t\t\t\tif (Math.abs(positionY - this.getPrivate(\"downPositionY\", 0)) > 0.003) {\n\t\t\t\t\t\tdispatch = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (dispatch) {\n\t\t\t\t\tconst type = \"selectended\";\n\t\t\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\t\t\tthis.events.dispatch(type, { type: type, target: this });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis._downPoint = undefined;\n\t}\n\n\tprotected _handleMove(event: IPointerEvent) {\n\t\tif (this.getPrivate(\"visible\")) {\n\t\t\t// TODO: handle multitouch\n\t\t\tconst rootPoint = this._root.documentPointToRoot({ x: event.clientX, y: event.clientY });\n\n\t\t\tconst lastPoint = this._lastPoint;\n\n\t\t\tif (Math.round(lastPoint.x) === Math.round(rootPoint.x) && Math.round(lastPoint.y) === Math.round(rootPoint.y)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._lastPoint = rootPoint;\n\n\t\t\tthis.handleMove({ x: rootPoint.x, y: rootPoint.y });\n\t\t}\n\t}\n\n\tprotected _getPosition(point: IPoint): IPoint {\n\t\treturn { x: point.x / this.width(), y: point.y / this.height() };\n\t}\n\n\t/**\n\t * Moves the cursor to X/Y coordinates within chart container (`point`).\n\t *\n\t * If `skipEvent` parameter is set to `true`, the move will not invoke\n\t * the `\"cursormoved\"` event.\n\t * \n\t * @param point X/Y to move cursor to\n\t * @param skipEvent Do not fire \"cursormoved\" event\n\t */\n\tpublic handleMove(point?: IPoint, skipEvent?: boolean) {\n\t\tif (!point) {\n\t\t\tpoint = this._movePoint;\n\t\t}\n\n\t\tconst alwaysShow = this.get(\"alwaysShow\");\n\n\t\tif (!point) {\n\t\t\tthis.hide(0);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._movePoint = point;\n\t\tlet local = this._display.toLocal(point);\n\t\tlet chart = this.chart;\n\n\t\tif (chart && this._inPlot(local)) {\n\t\t\tchart._movePoint = point;\n\n\t\t\tif (this.isHidden()) {\n\t\t\t\tthis.show();\n\n\t\t\t\tconst behavior = this.get(\"behavior\", \"\");\n\t\t\t\tif (behavior.charAt(0) == \"z\") {\n\t\t\t\t\tthis.selection.set(\"draw\", () => { });\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet x = local.x;\n\t\t\tlet y = local.y;\n\n\t\t\tlet xyPos = this._getPosition(local);\n\n\t\t\tthis.setPrivate(\"point\", local);\n\n\t\t\tconst snapToSeries = this.get(\"snapToSeries\");\n\n\t\t\tlet userPositionX = this.get(\"positionX\");\n\t\t\tlet positionX = xyPos.x;\n\n\t\t\tif ($type.isNumber(userPositionX)) {\n\t\t\t\tpositionX = userPositionX;\n\t\t\t}\n\n\t\t\tlet userPositionY = this.get(\"positionY\");\n\t\t\tlet positionY = xyPos.y;\n\n\t\t\tif ($type.isNumber(userPositionY)) {\n\t\t\t\tpositionY = userPositionY;\n\t\t\t}\n\n\t\t\tthis.setPrivate(\"positionX\", positionX);\n\t\t\tthis.setPrivate(\"positionY\", positionY);\n\n\t\t\tconst xy = this._getPoint(positionX, positionY);\n\t\t\tx = xy.x;\n\t\t\ty = xy.y;\n\n\t\t\tchart.xAxes.each((axis) => {\n\t\t\t\taxis._handleCursorPosition(positionX, snapToSeries);\n\t\t\t\tif (alwaysShow) {\n\t\t\t\t\taxis.handleCursorShow();\n\t\t\t\t}\n\t\t\t})\n\t\t\tchart.yAxes.each((axis) => {\n\t\t\t\taxis._handleCursorPosition(positionY, snapToSeries);\n\t\t\t\tif (alwaysShow) {\n\t\t\t\t\taxis.handleCursorShow();\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tif (!skipEvent) {\n\t\t\t\tchart._handleCursorPosition();\n\n\t\t\t\tconst type = \"cursormoved\";\n\t\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\t\tthis.events.dispatch(type, { type: type, target: this });\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis._updateLines(x, y);\n\n\t\t\tchart.arrangeTooltips();\n\t\t}\n\t\telse if (!this._downPoint) {\n\t\t\tif (!alwaysShow) {\n\t\t\t\tthis.hide(0);\n\n\t\t\t\tconst type = \"cursorhidden\";\n\t\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\t\tthis.events.dispatch(type, { type: type, target: this });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (this._downPoint && this.get(\"behavior\") != \"none\") {\n\t\t\tthis._updateSelection(local)\n\t\t}\n\t}\n\n\tprotected _getPoint(positionX: number, positionY: number): IPoint {\n\t\treturn { x: this.width() * positionX, y: this.height() * positionY };\n\t}\n\n\n\tprotected _updateLines(x: number, y: number) {\n\t\tif (!this._tooltipX) {\n\t\t\tthis.lineX.set(\"x\", x);\n\t\t}\n\t\tif (!this._tooltipY) {\n\t\t\tthis.lineY.set(\"y\", y);\n\t\t}\n\n\t\tthis._drawLines();\n\t}\n\n\tprotected _updateSelection(point: IPoint) {\n\t\tconst selection = this.selection;\n\t\tconst behavior = this.get(\"behavior\");\n\t\tconst w = this.width();\n\t\tconst h = this.height();\n\n\t\tif (point.x < 0) {\n\t\t\tpoint.x = 0;\n\t\t}\n\n\t\tif (point.x > w) {\n\t\t\tpoint.x = w;\n\t\t}\n\n\t\tif (point.y < 0) {\n\t\t\tpoint.y = 0;\n\t\t}\n\n\t\tif (point.y > h) {\n\t\t\tpoint.y = h;\n\t\t}\n\n\t\tselection.set(\"draw\", (display) => {\n\t\t\tconst downPoint = this._downPoint;\n\t\t\tif (downPoint) {\n\t\t\t\tif (behavior === \"zoomXY\" || behavior === \"selectXY\") {\n\t\t\t\t\tdisplay.moveTo(downPoint.x, downPoint.y);\n\t\t\t\t\tdisplay.lineTo(downPoint.x, point.y);\n\t\t\t\t\tdisplay.lineTo(point.x, point.y);\n\t\t\t\t\tdisplay.lineTo(point.x, downPoint.y);\n\t\t\t\t\tdisplay.lineTo(downPoint.x, downPoint.y);\n\t\t\t\t}\n\t\t\t\telse if (behavior === \"zoomX\" || behavior === \"selectX\") {\n\t\t\t\t\tdisplay.moveTo(downPoint.x, 0);\n\t\t\t\t\tdisplay.lineTo(downPoint.x, h);\n\t\t\t\t\tdisplay.lineTo(point.x, h);\n\t\t\t\t\tdisplay.lineTo(point.x, 0);\n\t\t\t\t\tdisplay.lineTo(downPoint.x, 0);\n\t\t\t\t}\n\t\t\t\telse if (behavior === \"zoomY\" || behavior === \"selectY\") {\n\t\t\t\t\tdisplay.moveTo(0, downPoint.y);\n\t\t\t\t\tdisplay.lineTo(w, downPoint.y);\n\t\t\t\t\tdisplay.lineTo(w, point.y);\n\t\t\t\t\tdisplay.lineTo(0, point.y);\n\t\t\t\t\tdisplay.lineTo(0, downPoint.y);\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected _onHide() {\n\t\tif (this.isHidden()) {\n\t\t\tlet chart = this.chart;\n\t\t\tif (chart) {\n\n\t\t\t\tchart.xAxes.each((axis) => {\n\t\t\t\t\taxis.handleCursorHide();\n\t\t\t\t})\n\t\t\t\tchart.yAxes.each((axis) => {\n\t\t\t\t\taxis.handleCursorHide();\n\t\t\t\t})\n\t\t\t\tchart.series.each((series) => {\n\t\t\t\t\tseries.handleCursorHide();\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\tsuper._onHide();\n\t}\n\n\tprotected _onShow() {\n\t\tif (!this.isHidden()) {\n\t\t\tlet chart = this.chart;\n\t\t\tif (chart) {\n\t\t\t\tchart.xAxes.each((axis) => {\n\t\t\t\t\taxis.handleCursorShow();\n\t\t\t\t})\n\t\t\t\tchart.yAxes.each((axis) => {\n\t\t\t\t\taxis.handleCursorShow();\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\tsuper._onShow();\n\t}\n\n\tprotected _dispose() {\n\t\tsuper._dispose();\n\t\tthis.selection.dispose();\n\t}\n}\n"]}
@@ -277,7 +277,7 @@ export declare abstract class Axis<R extends AxisRenderer> extends Component {
277
277
  * @param duration Duration of the zoom animation in milliseconds
278
278
  * @return Zoom animation
279
279
  */
280
- zoom(start: number, end: number, duration?: number): Animation<this["_settings"]["start"]> | Animation<this["_settings"]["end"]> | undefined;
280
+ zoom(start: number, end: number, duration?: number, priority?: "start" | "end"): Animation<this["_settings"]["start"]> | Animation<this["_settings"]["end"]> | undefined;
281
281
  /**
282
282
  * A list of series using this axis.
283
283
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Axis.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/axes/Axis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Axis.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/axes/Axis.ts"],"names":[],"mappings":"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"}
@@ -251,7 +251,7 @@ var Axis = /** @class */ (function (_super) {
251
251
  enumerable: false,
252
252
  configurable: true,
253
253
  writable: true,
254
- value: function (start, end, duration) {
254
+ value: function (start, end, duration, priority) {
255
255
  var _a;
256
256
  if (this.get("start") !== start || this.get("end") != end) {
257
257
  var sAnimation = this._sAnimation;
@@ -269,8 +269,11 @@ var Axis = /** @class */ (function (_super) {
269
269
  if (!$type.isNumber(duration)) {
270
270
  duration = this.get("interpolationDuration", 0);
271
271
  }
272
- var priority = "end";
272
+ if (!priority) {
273
+ priority = "end";
274
+ }
273
275
  var maxZoomFactor = this.getPrivate("maxZoomFactor", this.get("maxZoomFactor", 100));
276
+ var maxZoomFactorReal = maxZoomFactor;
274
277
  if (end === 1 && start !== 0) {
275
278
  if (start < this.get("start")) {
276
279
  priority = "start";
@@ -290,11 +293,11 @@ var Axis = /** @class */ (function (_super) {
290
293
  var minZoomCount = this.get("minZoomCount");
291
294
  var maxZoomCount = this.get("maxZoomCount");
292
295
  if ($type.isNumber(minZoomCount)) {
293
- maxZoomFactor = maxZoomFactor / minZoomCount;
296
+ maxZoomFactor = maxZoomFactorReal / minZoomCount;
294
297
  }
295
298
  var minZoomFactor = 1;
296
299
  if ($type.isNumber(maxZoomCount)) {
297
- minZoomFactor = maxZoomFactor / maxZoomCount;
300
+ minZoomFactor = maxZoomFactorReal / maxZoomCount;
298
301
  }
299
302
  // most likely we are dragging left scrollbar grip here, so we tend to modify end
300
303
  if (priority === "start") {
@@ -337,13 +340,24 @@ var Axis = /** @class */ (function (_super) {
337
340
  if (1 / (end - start) > maxZoomFactor) {
338
341
  start = end - 1 / maxZoomFactor;
339
342
  }
343
+ if (maxZoomCount != null && minZoomCount != null && (start == this.get("start") && end == this.get("end"))) {
344
+ var chart = this.chart;
345
+ if (chart) {
346
+ chart._handleAxisSelection(this, true);
347
+ }
348
+ }
340
349
  if (((sAnimation && sAnimation.playing && sAnimation.to == start) || this.get("start") == start) && ((eAnimation && eAnimation.playing && eAnimation.to == end) || this.get("end") == end)) {
341
350
  return;
342
351
  }
343
352
  if (duration > 0) {
344
353
  var easing = this.get("interpolationEasing");
345
- var sAnimation_1 = this.animate({ key: "start", to: start, duration: duration, easing: easing });
346
- var eAnimation_1 = this.animate({ key: "end", to: end, duration: duration, easing: easing });
354
+ var sAnimation_1, eAnimation_1;
355
+ if (this.get("start") != start) {
356
+ sAnimation_1 = this.animate({ key: "start", to: start, duration: duration, easing: easing });
357
+ }
358
+ if (this.get("end") != end) {
359
+ eAnimation_1 = this.animate({ key: "end", to: end, duration: duration, easing: easing });
360
+ }
347
361
  this._sAnimation = sAnimation_1;
348
362
  this._eAnimation = eAnimation_1;
349
363
  if (sAnimation_1) {
@@ -745,6 +759,7 @@ var Axis = /** @class */ (function (_super) {
745
759
  $array.each(this.series, function (series) {
746
760
  if (series.get("baseAxis") === _this) {
747
761
  var dataItem = _this.getSeriesItem(series, position);
762
+ series.setRaw("tooltipDataItem", dataItem);
748
763
  if (snapToSeries && snapToSeries.indexOf(series) != -1) {
749
764
  series.updateLegendMarker(dataItem);
750
765
  series.updateLegendValue(dataItem);
@@ -1 +1 @@
1
- {"version":3,"file":"Axis.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/axes/Axis.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AxisRenderer } from \"./AxisRenderer\";\nimport type { AxisLabel } from \"./AxisLabel\";\nimport type { AxisTick } from \"./AxisTick\";\nimport type { Graphics } from \"../../../core/render/Graphics\";\nimport type { Grid } from \"./Grid\";\nimport type { AxisBullet } from \"./AxisBullet\";\nimport type { XYChart } from \"../XYChart\";\nimport type { XYSeries, IXYSeriesDataItem } from \"../series/XYSeries\";\nimport type { Animation } from \"../../../core/util/Entity\";\nimport type { Tooltip } from \"../../../core/render/Tooltip\";\nimport type { Root } from \"../../../core/Root\";\n\nimport { DataItem } from \"../../../core/render/Component\";\nimport { Component, IComponentSettings, IComponentPrivate, IComponentEvents, IComponentDataItem } from \"../../../core/render/Component\";\nimport { Container } from \"../../../core/render/Container\";\nimport { p100 } from \"../../../core/util/Percent\";\nimport { List } from \"../../../core/util/List\";\nimport { Rectangle } from \"../../../core/render/Rectangle\";\n\nimport * as $array from \"../../../core/util/Array\";\nimport * as $type from \"../../../core/util/Type\";\nimport * as $utils from \"../../../core/util/Utils\";\n\n\n\nexport interface IAxisSettings<R extends AxisRenderer> extends IComponentSettings {\n\t/**\n\t * A renderer object which is responsible of rendering visible axis elements.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/#Axis_renderer} for more info\n\t */\n\trenderer: R;\n\n\t/**\n\t * The initial relative zoom start position of the axis.\n\t *\n\t * E.g. stting it to `0.1` will pre-zoom axis to 10% from the start.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Pre_zooming_axes} for more info\n\t */\n\tstart?: number;\n\n\t/**\n\t * The initial relative zoom end position of the axis.\n\t *\n\t * E.g. stting it to `0.9` will pre-zoom axis to 10% from the end.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Pre_zooming_axes} for more info\n\t */\n\tend?: number;\n\n\t/**\n\t * Maximum number of times the scope of the axis could auto-zoom-in.\n\t *\n\t * This is to prevent axis jumping too drastically when scrolling/zooming.\n\t *\n\t * @default 1000\n\t */\n\tmaxZoomFactor?: number;\n\n\t/**\n\t * Maximum number of axis elements to show at a time.\n\t *\n\t * E.g. for a [[CategoryAxis]] that would be number of categories.\n\t * For a [[DateAxis]] it would be number of `baseInterval`.\n\t *\n\t * The axis will not allow to be zoomed out beyond this number.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Limiting_zoom_scope} for more info\n\t */\n\tmaxZoomCount?: number;\n\n\t/**\n\t * Minimum number of axis elements to show at a time.\n\t *\n\t * E.g. for a [[CategoryAxis]] that would be number of categories.\n\t * For a [[DateAxis]] it would be number of `baseInterval`.\n\t *\n\t * The axis will not allow to be zoomed in beyond this number.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Limiting_zoom_scope} for more info\n\t */\n\tminZoomCount?: number;\n\n\t/**\n\t * Base value of the axis.\n\t */\n\tbaseValue?: number;\n\n\t/**\n\t * If set to `false` the axis will be exempt when chart is panned\n\t * horizontally, and will keep its current position.`\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Excluding_axes_from_pan_or_zoom} for more info\n\t */\n\tpanX?: boolean;\n\n\t/**\n\t * If set to `false` the axis will be exempt when chart is panned\n\t * vertically, and will keep its current position.`\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Excluding_axes_from_pan_or_zoom} for more info\n\t */\n\tpanY?: boolean;\n\n\t/**\n\t * If set to `false` the axis will be exempt when chart is zoomed\n\t * horizontally, and will keep its current zoom/position.`\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Excluding_axes_from_pan_or_zoom} for more info\n\t */\n\tzoomX?: boolean;\n\n\t/**\n\t * If set to `false` the axis will be exempt when chart is zoomed\n\t * vertically, and will keep its current zoom/position.`\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Excluding_axes_from_pan_or_zoom} for more info\n\t */\n\tzoomY?: boolean;\n\n\t/**\n\t * A relative distance the axis is allowed to be zoomed/panned beyond its\n\t * actual scope.\n\t *\n\t * @default 0.1\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Over_zooming} for more info\n\t */\n\tmaxDeviation?: number;\n\n\t/**\n\t * [[Tooltip]] element to use for axis.\n\t */\n\ttooltip?: Tooltip;\n\n\t/**\n\t * `tooltipLocation` indicates\n\t * which relative place to snap to: `0` beginning, `0.5` - middle, `1` - end.\n\t *\n\t * @default 0.5\n\t */\n\ttooltipLocation?: number;\n\n\t/**\n\t * Should tooltip snap to the `tooltipLocation` (`true`) or follow cursor.\n\t *\n\t * @default true\n\t */\n\tsnapTooltip?: boolean;\n\n\t/**\n\t * If set to `true` (default) the axis width will stay constant across all\n\t * zooms, even if actual length of all visible labels changes.\n\t *\n\t * @default true\n\t */\n\tfixAxisSize?: boolean;\n\n\t/**\n\t * A function that will be used to create bullets on each cell.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/#Axis_bullets} for more info\n\t */\n\tbullet?: (root: Root, axis: Axis<AxisRenderer>, dataItem: DataItem<IAxisDataItem>) => AxisBullet;\n\n}\n\nexport interface IAxisEvents extends IComponentEvents {\n}\n\nexport interface IAxisPrivate extends IComponentPrivate {\n\n\t/**\n\t * @ignore\n\t */\n\tname?: \"value\" | \"date\" | \"category\";\n\n\t/**\n\t * @ignore\n\t */\n\tupdateScrollbar?: boolean;\n\n\t/**\n\t * @ignore\n\t */\n\tmaxZoomFactor?: number;\n}\n\nexport interface IAxisDataItem extends IComponentDataItem {\n\n\t/**\n\t * Axis label element.\n\t */\n\tlabel?: AxisLabel;\n\n\t/**\n\t * Tick element.\n\t */\n\ttick?: AxisTick;\n\n\t/**\n\t * Grid line element.\n\t */\n\tgrid?: Grid;\n\n\t/**\n\t * Axis fill element.\n\t */\n\taxisFill?: Graphics;\n\n\t/**\n\t * Bullet element.\n\t */\n\tbullet?: AxisBullet;\n\n\t/**\n\t * Indicates if this data item represents an axis range.\n\t */\n\tisRange?: boolean;\n\n\t/**\n\t * If set to `true`, the grid and axis fill of this data item will be drawn\n\t * above series.\n\t *\n\t * NOTE: this needs to be set **before** crating an axis range. Updating this\n\t * dynamically won't have any effect.\n\t *\n\t * NOTE: if you need all grid to be drawn above series, you can brig it to\n\t * front with `chart.gridContainer.toFront();`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/axis-ranges/#Grid_fill_above_series} for more info\n\t * @default false\n\t */\n\tabove?: boolean\n\n}\n\n/**\n * A base class for all axes.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/#Adding_axes} for more info\n */\nexport abstract class Axis<R extends AxisRenderer> extends Component {\n\tpublic static className: string = \"Axis\";\n\tpublic static classNames: Array<string> = Component.classNames.concat([Axis.className]);\n\n\tdeclare public _settings: IAxisSettings<R>;\n\tdeclare public _privateSettings: IAxisPrivate;\n\tdeclare public _dataItemSettings: IAxisDataItem;\n\tdeclare public _events: IAxisEvents;\n\n\tdeclare public _seriesType: XYSeries;\n\n\tprotected _series: Array<this[\"_seriesType\"]> = [];\n\n\tpublic _isPanning: boolean = false;\n\n\t/**\n\t * A [[Container]] that holds all the axis label elements.\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly labelsContainer: Container = this.children.push(Container.new(this._root, {}));\n\n\t/**\n\t * A [[Container]] that holds all the axis grid and fill elements.\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly gridContainer: Container = Container.new(this._root, { width: p100, height: p100 });\n\n\t/**\n\t * A [[Container]] that holds axis grid elements which goes above the series.\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly topGridContainer: Container = Container.new(this._root, { width: p100, height: p100 });\n\n\t/**\n\t * A [[Container]] that holds all the axis bullet elements.\n\t *\n\t * @default new Container\n\t */\n\tpublic readonly bulletsContainer: Container = this.children.push(Container.new(this._root, { isMeasured: false, width: p100, height: p100, position: \"absolute\" }));\n\n\t/**\n\t * A referenece to the the chart the axis belongs to.\n\t */\n\tpublic chart: XYChart | undefined;\n\n\tprotected _rangesDirty: Boolean = false;\n\n\tpublic _panStart: number = 0;\n\tpublic _panEnd: number = 1;\n\n\tprotected _sAnimation?: Animation<this[\"_settings\"][\"start\"]>;\n\tprotected _eAnimation?: Animation<this[\"_settings\"][\"end\"]>;\n\n\t/**\n\t * A list of axis ranges.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/axis-ranges/} for more info\n\t * @default new List()\n\t */\n\tpublic readonly axisRanges: List<DataItem<this[\"_dataItemSettings\"]>> = new List();\n\n\tpublic _seriesAxisRanges: Array<DataItem<this[\"_dataItemSettings\"]>> = [];\n\n\t/**\n\t * A control label that is invisible but is used to keep width the width of\n\t * the axis constant.\n\t */\n\tpublic ghostLabel!: AxisLabel;\n\n\tprotected _cursorPosition: number = -1;\n\n\tprotected _snapToSeries?: Array<XYSeries>;\n\n\tpublic _seriesValuesDirty = false;\n\n\t/**\n\t * A container above the axis that can be used to add additional stuff into\n\t * it. For example a legend, label, or an icon.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/axis-headers/} for more info\n\t * @default new Container\n\t */\n\tpublic axisHeader: Container = this.children.push(Container.new(this._root, {\n\t\tthemeTags: [\"axis\", \"header\"],\n\t\tposition: \"absolute\",\n\t\tbackground: Rectangle.new(this._root, {\n\t\t\tthemeTags: [\"header\", \"background\"],\n\t\t\tfill: this._root.interfaceColors.get(\"background\")\n\t\t})\n\t}));\n\n\tprotected _dispose() {\n\t\t// these could be in other parents, so disposing just in case\n\t\tthis.gridContainer.dispose();\n\t\tthis.topGridContainer.dispose();\n\t\tthis.bulletsContainer.dispose();\n\t\tthis.labelsContainer.dispose();\n\t\tthis.axisHeader.dispose();\n\t\tsuper._dispose();\n\t}\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\n\t\tthis.setPrivate(\"updateScrollbar\", true);\n\n\t\tthis._disposers.push(this.axisRanges.events.onAll((change) => {\n\t\t\tif (change.type === \"clear\") {\n\t\t\t\t$array.each(change.oldValues, (dataItem) => {\n\t\t\t\t\tthis.disposeDataItem(dataItem);\n\t\t\t\t});\n\t\t\t} else if (change.type === \"push\") {\n\t\t\t\tthis._processAxisRange(change.newValue, [\"range\"]);\n\t\t\t} else if (change.type === \"setIndex\") {\n\t\t\t\tthis._processAxisRange(change.newValue, [\"range\"]);\n\t\t\t} else if (change.type === \"insertIndex\") {\n\t\t\t\tthis._processAxisRange(change.newValue, [\"range\"]);\n\t\t\t} else if (change.type === \"removeIndex\") {\n\t\t\t\tthis.disposeDataItem(change.oldValue);\n\t\t\t} else if (change.type === \"moveIndex\") {\n\t\t\t\tthis._processAxisRange(change.value, [\"range\"]);\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"Unknown IStreamEvent type\");\n\t\t\t}\n\t\t}))\n\n\t\tconst renderer = this.get(\"renderer\");\n\t\tif (renderer) {\n\t\t\trenderer.axis = this;\n\t\t\trenderer.processAxis();\n\t\t}\n\t\tthis.children.push(renderer);\n\t\tthis.ghostLabel = renderer.makeLabel(new DataItem(this, undefined, {}), []);\n\t\tthis.ghostLabel.set(\"opacity\", 0);\n\t}\n\n\t/**\n\t * Zooms the axis to relative locations.\n\t *\n\t * Both `start` and `end` are relative: 0 means start of the axis, 1 - end.\n\t *\n\t * @param start Relative start\n\t * @param end Relative end\n\t * @param duration Duration of the zoom animation in milliseconds\n\t * @return Zoom animation\n\t */\n\tpublic zoom(start: number, end: number, duration?: number): Animation<this[\"_settings\"][\"start\"]> | Animation<this[\"_settings\"][\"end\"]> | undefined {\n\n\t\tif (this.get(\"start\") !== start || this.get(\"end\") != end) {\n\n\t\t\tlet sAnimation = this._sAnimation;\n\t\t\tlet eAnimation = this._eAnimation;\n\n\t\t\tlet maxDeviation = this.get(\"maxDeviation\", 0.5) * Math.min(1, (end - start));\n\n\t\t\tif (start < - maxDeviation) {\n\t\t\t\tstart = -maxDeviation;\n\t\t\t}\n\n\t\t\tif (end > 1 + maxDeviation) {\n\t\t\t\tend = 1 + maxDeviation;\n\t\t\t}\n\n\t\t\tif (start > end) {\n\t\t\t\t[start, end] = [end, start];\n\t\t\t}\n\n\t\t\tif (!$type.isNumber(duration)) {\n\t\t\t\tduration = this.get(\"interpolationDuration\", 0);\n\t\t\t}\n\n\t\t\tlet priority: \"start\" | \"end\" = \"end\";\n\t\t\tlet maxZoomFactor = this.getPrivate(\"maxZoomFactor\", this.get(\"maxZoomFactor\", 100));\n\n\t\t\tif (end === 1 && start !== 0) {\n\t\t\t\tif (start < this.get(\"start\")) {\n\t\t\t\t\tpriority = \"start\";\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tpriority = \"end\";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (start === 0 && end !== 1) {\n\t\t\t\tif (end > this.get(\"end\")) {\n\t\t\t\t\tpriority = \"end\";\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tpriority = \"start\";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet minZoomCount = this.get(\"minZoomCount\");\n\t\t\tlet maxZoomCount = this.get(\"maxZoomCount\");\n\n\t\t\tif ($type.isNumber(minZoomCount)) {\n\t\t\t\tmaxZoomFactor = maxZoomFactor / minZoomCount;\n\t\t\t}\n\n\t\t\tlet minZoomFactor: number = 1;\n\n\t\t\tif ($type.isNumber(maxZoomCount)) {\n\t\t\t\tminZoomFactor = maxZoomFactor / maxZoomCount;\n\t\t\t}\n\n\t\t\t// most likely we are dragging left scrollbar grip here, so we tend to modify end\n\t\t\tif (priority === \"start\") {\n\t\t\t\tif (maxZoomCount > 0) {\n\t\t\t\t\t// add to the end\n\t\t\t\t\tif (1 / (end - start) < minZoomFactor) {\n\t\t\t\t\t\tend = start + 1 / minZoomFactor;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// add to the end\n\t\t\t\tif (1 / (end - start) > maxZoomFactor) {\n\t\t\t\t\tend = start + 1 / maxZoomFactor;\n\t\t\t\t}\n\t\t\t\t//unless end is > 0\n\t\t\t\tif (end > 1 && end - start < 1 / maxZoomFactor) {\n\t\t\t\t\t//end = 1;\n\t\t\t\t\tstart = end - 1 / maxZoomFactor;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// most likely we are dragging right, so we modify left\n\t\t\telse {\n\t\t\t\tif (maxZoomCount > 0) {\n\t\t\t\t\t// add to the end\n\t\t\t\t\tif (1 / (end - start) < minZoomFactor) {\n\t\t\t\t\t\tstart = end - 1 / minZoomFactor;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// remove from start\n\t\t\t\tif (1 / (end - start) > maxZoomFactor) {\n\t\t\t\t\tstart = end - 1 / maxZoomFactor;\n\t\t\t\t}\n\t\t\t\tif (start < 0 && end - start < 1 / maxZoomFactor) {\n\t\t\t\t\t//start = 0;\n\t\t\t\t\tend = start + 1 / maxZoomFactor;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (1 / (end - start) > maxZoomFactor) {\n\t\t\t\tend = start + 1 / maxZoomFactor;\n\t\t\t}\n\n\t\t\tif (1 / (end - start) > maxZoomFactor) {\n\t\t\t\tstart = end - 1 / maxZoomFactor;\n\t\t\t}\n\n\t\t\tif (((sAnimation && sAnimation.playing && sAnimation.to == start) || this.get(\"start\") == start) && ((eAnimation && eAnimation.playing && eAnimation.to == end) || this.get(\"end\") == end)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (duration > 0) {\n\t\t\t\tlet easing = this.get(\"interpolationEasing\");\n\n\t\t\t\tlet sAnimation = this.animate({ key: \"start\", to: start, duration: duration, easing: easing });\n\t\t\t\tlet eAnimation = this.animate({ key: \"end\", to: end, duration: duration, easing: easing });\n\n\t\t\t\tthis._sAnimation = sAnimation;\n\t\t\t\tthis._eAnimation = eAnimation;\n\n\t\t\t\tif (sAnimation) {\n\t\t\t\t\treturn sAnimation;\n\t\t\t\t}\n\t\t\t\telse if (eAnimation) {\n\t\t\t\t\treturn eAnimation;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.set(\"start\", start);\n\t\t\t\tthis.set(\"end\", end);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * A list of series using this axis.\n\t *\n\t * @return Series\n\t */\n\tpublic get series(): Array<this[\"_seriesType\"]> {\n\t\treturn this._series;\n\t}\n\n\n\tpublic _processAxisRange(dataItem: DataItem<this[\"_dataItemSettings\"]>, themeTags: Array<string>) {\n\t\tdataItem.setRaw(\"isRange\", true);\n\t\tthis._createAssets(dataItem, themeTags);\n\t\tthis._rangesDirty = true;\n\t\tthis._prepareDataItem(dataItem);\n\n\t\tconst above = dataItem.get(\"above\");\n\t\tconst container = this.topGridContainer;\n\n\t\tconst grid = dataItem.get(\"grid\");\n\t\tif (above && grid) {\n\t\t\tcontainer.children.moveValue(grid);\n\t\t}\n\n\t\tconst fill = dataItem.get(\"axisFill\");\n\t\tif (above && fill) {\n\t\t\tcontainer.children.moveValue(fill);\n\t\t}\n\t}\n\n\tpublic _prepareDataItem(_dataItem: DataItem<this[\"_dataItemSettings\"]>, _index?: number) { }\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract getX(_value: any, _location: number, baseValue?: any): number;\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract getY(_value: any, _location: number, baseValue?: any): number;\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract getDataItemCoordinateX(_dataItem: DataItem<IXYSeriesDataItem>, _field: string, _cellLocation?: number, _axisLocation?: number): number;\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract getDataItemCoordinateY(_dataItem: DataItem<IXYSeriesDataItem>, _field: string, _cellLocation?: number, _axisLocation?: number): number;\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract getDataItemPositionX(_dataItem: DataItem<IXYSeriesDataItem>, _field: string, _cellLocation?: number, _axisLocation?: number): number;\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract getDataItemPositionY(_dataItem: DataItem<IXYSeriesDataItem>, _field: string, _cellLocation?: number, _axisLocation?: number): number;\n\n\t/**\n\t * @ignore\n\t */\n\tpublic markDirtyExtremes() {\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic markDirtySelectionExtremes() {\n\t}\n\n\tpublic _calculateTotals() {\n\t}\n\n\tprotected _updateAxisRanges() {\n\t\tthis.axisRanges.each((axisRange) => {\n\t\t\tthis._prepareDataItem(axisRange);\n\t\t})\n\n\t\t$array.each(this._seriesAxisRanges, (axisRange) => {\n\t\t\tthis._prepareDataItem(axisRange);\n\t\t})\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract baseValue(): any;\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this.get(\"fixAxisSize\")) {\n\t\t\tthis.ghostLabel.set(\"visible\", true);\n\t\t}\n\t\telse {\n\t\t\tthis.ghostLabel.set(\"visible\", false);\n\t\t}\n\n\t\tif (this.isDirty(\"start\") || this.isDirty(\"end\")) {\n\t\t\tthis.chart!._updateCursor();\n\n\t\t\tlet start = this.get(\"start\", 0);\n\t\t\tlet end = this.get(\"end\", 1);\n\n\t\t\tlet maxDeviation = this.get(\"maxDeviation\", 0.5) * Math.min(1, (end - start));\n\n\t\t\tif (start < -maxDeviation) {\n\t\t\t\tlet delta = start + maxDeviation;\n\t\t\t\tstart = -maxDeviation;\n\t\t\t\tthis.setRaw(\"start\", start);\n\t\t\t\tif (this.isDirty(\"end\")) {\n\t\t\t\t\tthis.setRaw(\"end\", end - delta);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (end > 1 + maxDeviation) {\n\t\t\t\tlet delta = end - 1 - maxDeviation;\n\t\t\t\tend = 1 + maxDeviation;\n\t\t\t\tthis.setRaw(\"end\", end);\n\n\t\t\t\tif (this.isDirty(\"start\")) {\n\t\t\t\t\tthis.setRaw(\"start\", start - delta);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\n\t\tconst renderer = this.get(\"renderer\");\n\t\trenderer._start = this.get(\"start\")!;\n\t\trenderer._end = this.get(\"end\")!;\n\t\trenderer._inversed = renderer.get(\"inversed\", false);\n\t\trenderer._axisLength = renderer.axisLength() / (renderer._end - renderer._start);\n\t\trenderer._updateLC();\n\n\t\tif (this.isDirty(\"tooltip\")) {\n\t\t\tconst tooltip = this.get(\"tooltip\");\n\t\t\tif (tooltip) {\n\t\t\t\tconst rendererTags = renderer.get(\"themeTags\");\n\t\t\t\ttooltip.addTag(\"axis\");\n\t\t\t\ttooltip.addTag(this.className.toLowerCase());\n\t\t\t\ttooltip._applyThemes();\n\n\t\t\t\tif (rendererTags) {\n\t\t\t\t\ttooltip.set(\"themeTags\", $utils.mergeTags(tooltip.get(\"themeTags\"), rendererTags));\n\t\t\t\t\ttooltip.label._applyThemes();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _updateTooltipBounds() {\n\t\tconst tooltip = this.get(\"tooltip\")!;\n\t\tif (tooltip) {\n\t\t\tthis.get(\"renderer\").updateTooltipBounds(tooltip);\n\t\t}\n\t}\n\n\tpublic _updateBounds() {\n\t\tsuper._updateBounds();\n\t\tthis._updateTooltipBounds();\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic processChart(chart: XYChart) {\n\t\tthis.chart = chart;\n\t\tconst renderer = this.get(\"renderer\");\n\n\t\trenderer.chart = chart;\n\t\tchart.gridContainer.children.push(this.gridContainer);\n\t\tchart.topGridContainer.children.push(this.topGridContainer);\n\n\t\tchart.axisHeadersContainer.children.push(this.axisHeader);\n\n\t\tthis.on(\"start\", () => {\n\t\t\tchart._handleAxisSelection(this);\n\t\t});\n\t\tthis.on(\"end\", () => {\n\t\t\tchart._handleAxisSelection(this);\n\t\t});\n\n\t\tchart.plotContainer.onPrivate(\"width\", () => {\n\t\t\tthis.markDirtySize();\n\t\t});\n\t\tchart.plotContainer.onPrivate(\"height\", () => {\n\t\t\tthis.markDirtySize();\n\t\t});\n\n\t\tchart.processAxis(this);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic hideDataItem(dataItem: DataItem<IAxisDataItem>): Promise<void> {\n\t\tthis._toggleDataItem(dataItem, false);\n\t\treturn super.hideDataItem(dataItem);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic showDataItem(dataItem: DataItem<IAxisDataItem>): Promise<void> {\n\t\tthis._toggleDataItem(dataItem, true);\n\t\treturn super.showDataItem(dataItem);\n\t}\n\n\n\tpublic _toggleDataItem(dataItem: DataItem<IAxisDataItem>, visible: boolean) {\n\t\tconst label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tlabel.setPrivate(\"visible\", visible);\n\t\t}\n\t\tconst grid = dataItem.get(\"grid\");\n\t\tif (grid) {\n\t\t\tgrid.setPrivate(\"visible\", visible);\n\t\t}\n\t\tconst tick = dataItem.get(\"tick\");\n\t\tif (tick) {\n\t\t\ttick.setPrivate(\"visible\", visible);\n\t\t}\n\t\tconst axisFill = dataItem.get(\"axisFill\");\n\t\tif (axisFill) {\n\t\t\taxisFill.setPrivate(\"visible\", visible);\n\t\t}\n\n\t\tconst bullet = dataItem.get(\"bullet\");\n\t\tif (bullet) {\n\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\tif (sprite) {\n\t\t\t\tsprite.setPrivate(\"visible\", visible);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract basePosition(): number;\n\n\tpublic _createAssets(dataItem: DataItem<this[\"_dataItemSettings\"]>, tags: Array<string>) {\n\t\tconst renderer = this.get(\"renderer\");\n\n\t\tif (!dataItem.get(\"label\")) {\n\t\t\trenderer.makeLabel(dataItem, tags);\n\t\t}\n\n\t\tif (!dataItem.get(\"grid\")) {\n\t\t\trenderer.makeGrid(dataItem, tags);\n\t\t}\n\n\t\tif (!dataItem.get(\"tick\")) {\n\t\t\trenderer.makeTick(dataItem, tags);\n\t\t}\n\n\t\tif (!dataItem.get(\"axisFill\")) {\n\t\t\trenderer.makeAxisFill(dataItem, tags);\n\t\t}\n\n\t\tthis._processBullet(dataItem);\n\t}\n\n\tprotected _processBullet(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tlet bullet = dataItem.get(\"bullet\");\n\t\tlet axisBullet = this.get(\"bullet\");\n\n\t\tif (!bullet && axisBullet && !dataItem.get(\"isRange\")) {\n\t\t\tbullet = axisBullet(this._root, this, dataItem);\n\t\t}\n\n\t\tif (bullet) {\n\t\t\tbullet.axis = this;\n\t\t\tconst sprite = bullet.get(\"sprite\");\n\n\t\t\tif (sprite) {\n\t\t\t\tsprite._setDataItem(dataItem);\n\t\t\t\tdataItem.setRaw(\"bullet\", bullet);\n\t\t\t\tif (!sprite.parent) {\n\t\t\t\t\tthis.bulletsContainer.children.push(sprite);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _afterChanged() {\n\t\tsuper._afterChanged();\n\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tchart._updateChartLayout();\n\t\t\tchart.axisHeadersContainer.markDirtySize();\n\t\t}\n\n\t\tthis.get(\"renderer\")._updatePositions();\t\t\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tconst renderer = this.get(\"renderer\");\n\t\tconst label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\trenderer.labels.removeValue(label);\n\t\t\tlabel.dispose();\n\t\t}\n\t\tconst tick = dataItem.get(\"tick\");\n\t\tif (tick) {\n\t\t\trenderer.ticks.removeValue(tick);\n\t\t\ttick.dispose();\n\t\t}\n\t\tconst grid = dataItem.get(\"grid\");\n\t\tif (grid) {\n\t\t\trenderer.grid.removeValue(grid);\n\t\t\tgrid.dispose();\n\t\t}\n\t\tconst axisFill = dataItem.get(\"axisFill\");\n\t\tif (axisFill) {\n\t\t\trenderer.axisFills.removeValue(axisFill);\n\t\t\taxisFill.dispose();\n\t\t}\n\t}\n\n\tprotected _updateGhost() {\n\t\tconst ghostLabel = this.ghostLabel;\n\t\tif (!ghostLabel.isHidden()) {\n\t\t\tconst bounds = ghostLabel.localBounds();\n\t\t\tconst gWidth = bounds.right - bounds.left;\n\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tconst label = dataItem.get(\"label\");\n\t\t\t\tif (label && !label.isHidden()) {\n\t\t\t\t\tconst bounds = label.localBounds();\n\t\t\t\t\tconst w = bounds.right - bounds.left;\n\n\t\t\t\t\tif (w > gWidth) {\n\t\t\t\t\t\tghostLabel.set(\"text\", label.text._getText());\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t\tlet start = this.get(\"start\", 0);\n\t\tlet end = this.get(\"end\", 1);\n\t\tthis.get(\"renderer\").updateLabel(ghostLabel, start + (end - start) * 0.5);\n\t\tghostLabel.setPrivate(\"visible\", true);\n\t}\n\n\tpublic _handleCursorPosition(position: number, snapToSeries?: Array<XYSeries>) {\n\t\tconst renderer = this.get(\"renderer\");\n\t\tposition = renderer.toAxisPosition(position);\n\n\t\tthis._cursorPosition = position;\n\t\tthis._snapToSeries = snapToSeries;\n\n\t\tthis.updateTooltip();\n\t}\n\n\t/**\n\t * Can be called when axis zoom changes and you need to update tooltip\n\t * position.\n\t */\n\tpublic updateTooltip() {\n\t\tconst snapToSeries = this._snapToSeries;\n\t\tlet position = this._cursorPosition;\n\t\tconst tooltip = this.get(\"tooltip\")!;\n\t\tconst renderer = this.get(\"renderer\");\n\n\t\tif ($type.isNumber(position)) {\n\n\t\t\t$array.each(this.series, (series) => {\n\t\t\t\tif (series.get(\"baseAxis\") === this) {\n\t\t\t\t\tconst dataItem = this.getSeriesItem(series, position!);\n\t\t\t\t\tif (snapToSeries && snapToSeries.indexOf(series) != -1) {\n\t\t\t\t\t\tseries.updateLegendMarker(dataItem);\n\t\t\t\t\t\tseries.updateLegendValue(dataItem);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tseries.showDataItemTooltip(dataItem);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\n\n\t\t\tif (tooltip) {\n\t\t\t\trenderer.updateTooltipBounds(tooltip);\n\n\t\t\t\tif (this.get(\"snapTooltip\")) {\n\t\t\t\t\tposition = this.roundAxisPosition(position, this.get(\"tooltipLocation\", 0.5));\n\t\t\t\t}\n\t\t\t\tif (!$type.isNaN(position)) {\n\t\t\t\t\tthis._updateTooltipText(tooltip, position);\n\t\t\t\t\trenderer.positionTooltip(tooltip, position);\n\n\t\t\t\t\tif (position < this.get(\"start\") || position > this.get(\"end\")) {\n\t\t\t\t\t\ttooltip.hide(0);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\ttooltip.show(0);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\ttooltip.hide(0);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateTooltipText(tooltip: Tooltip, position: number) {\n\t\ttooltip.label.set(\"text\", this.getTooltipText(position));\n\t}\n\n\t/**\n\t * Returns text to be used in an axis tooltip for specific relative position.\n\t *\n\t * @param position Position\n\t * @return Tooltip text\n\t */\n\tpublic abstract getTooltipText(position: number): string | undefined;\n\n\t/**\n\t * @ignore\n\t */\n\tpublic roundAxisPosition(position: number, _location: number): number {\n\t\treturn position;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic handleCursorShow() {\n\t\tlet tooltip = this.get(\"tooltip\");\n\t\tif (tooltip) {\n\t\t\ttooltip.show();\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic handleCursorHide() {\n\t\tlet tooltip = this.get(\"tooltip\");\n\t\tif (tooltip) {\n\t\t\ttooltip.hide();\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic processSeriesDataItem(_dataItem: DataItem<IXYSeriesDataItem>, _fields: Array<string>) {\n\n\t}\n\n\tpublic _clearDirty() {\n\t\tsuper._clearDirty();\n\t\tthis._sizeDirty = false;\n\t\tthis._rangesDirty = false;\n\t}\n\n\t/**\n\t * Converts pixel coordinate to a relative position on axis.\n\t *\n\t * @param coordinate Coordinate\n\t * @return Relative position\n\t */\n\tpublic coordinateToPosition(coordinate: number): number {\n\t\tconst renderer = this.get(\"renderer\");\n\t\treturn renderer.toAxisPosition(coordinate / renderer.axisLength());\n\t}\n\n\t/**\n\t * Converts relative position of the plot area to relative position of the\n\t * axis with zoom taken into account.\n\t *\n\t * @param position Position\n\t * @return Relative position\n\t */\n\tpublic toAxisPosition(position: number): number {\n\t\treturn this.get(\"renderer\").toAxisPosition(position);\n\t}\n\n\t/**\n\t * Adjusts position with inversed taken into account.\n\t *\n\t * @ignore\n\t */\n\tpublic fixPosition(position: number): number {\n\t\treturn this.get(\"renderer\").fixPosition(position);\n\t}\n\n\t/**\n\t * Returns a data item from series that is closest to the `position`.\n\t *\n\t * @param series Series\n\t * @param position Relative position\n\t * @return Data item\n\t */\n\tpublic abstract getSeriesItem(series: XYSeries, position: number): DataItem<IXYSeriesDataItem> | undefined\n\n\t/**\n\t * @ignore\n\t */\n\tpublic shouldGap(_dataItem: DataItem<IXYSeriesDataItem>, _nextItem: DataItem<IXYSeriesDataItem>, _autoGapCount: number, _fieldName: string): boolean {\n\t\treturn false;\n\t}\n\n\t/**\n\t * Creates and returns an axis range object.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/axis-ranges/} for more info\n\t * @param axisDataItem Axis data item\n\t * @return Axis range\n\t */\n\tpublic createAxisRange(axisDataItem: DataItem<IAxisDataItem>): DataItem<this[\"_dataItemSettings\"]> {\n\t\treturn this.axisRanges.push(axisDataItem);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic _groupSeriesData(_series: XYSeries) { }\n}\n"]}
1
+ {"version":3,"file":"Axis.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/axes/Axis.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AxisRenderer } from \"./AxisRenderer\";\nimport type { AxisLabel } from \"./AxisLabel\";\nimport type { AxisTick } from \"./AxisTick\";\nimport type { Graphics } from \"../../../core/render/Graphics\";\nimport type { Grid } from \"./Grid\";\nimport type { AxisBullet } from \"./AxisBullet\";\nimport type { XYChart } from \"../XYChart\";\nimport type { XYSeries, IXYSeriesDataItem } from \"../series/XYSeries\";\nimport type { Animation } from \"../../../core/util/Entity\";\nimport type { Tooltip } from \"../../../core/render/Tooltip\";\nimport type { Root } from \"../../../core/Root\";\n\nimport { DataItem } from \"../../../core/render/Component\";\nimport { Component, IComponentSettings, IComponentPrivate, IComponentEvents, IComponentDataItem } from \"../../../core/render/Component\";\nimport { Container } from \"../../../core/render/Container\";\nimport { p100 } from \"../../../core/util/Percent\";\nimport { List } from \"../../../core/util/List\";\nimport { Rectangle } from \"../../../core/render/Rectangle\";\n\nimport * as $array from \"../../../core/util/Array\";\nimport * as $type from \"../../../core/util/Type\";\nimport * as $utils from \"../../../core/util/Utils\";\n\n\n\nexport interface IAxisSettings<R extends AxisRenderer> extends IComponentSettings {\n\t/**\n\t * A renderer object which is responsible of rendering visible axis elements.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/#Axis_renderer} for more info\n\t */\n\trenderer: R;\n\n\t/**\n\t * The initial relative zoom start position of the axis.\n\t *\n\t * E.g. stting it to `0.1` will pre-zoom axis to 10% from the start.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Pre_zooming_axes} for more info\n\t */\n\tstart?: number;\n\n\t/**\n\t * The initial relative zoom end position of the axis.\n\t *\n\t * E.g. stting it to `0.9` will pre-zoom axis to 10% from the end.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Pre_zooming_axes} for more info\n\t */\n\tend?: number;\n\n\t/**\n\t * Maximum number of times the scope of the axis could auto-zoom-in.\n\t *\n\t * This is to prevent axis jumping too drastically when scrolling/zooming.\n\t *\n\t * @default 1000\n\t */\n\tmaxZoomFactor?: number;\n\n\t/**\n\t * Maximum number of axis elements to show at a time.\n\t *\n\t * E.g. for a [[CategoryAxis]] that would be number of categories.\n\t * For a [[DateAxis]] it would be number of `baseInterval`.\n\t *\n\t * The axis will not allow to be zoomed out beyond this number.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Limiting_zoom_scope} for more info\n\t */\n\tmaxZoomCount?: number;\n\n\t/**\n\t * Minimum number of axis elements to show at a time.\n\t *\n\t * E.g. for a [[CategoryAxis]] that would be number of categories.\n\t * For a [[DateAxis]] it would be number of `baseInterval`.\n\t *\n\t * The axis will not allow to be zoomed in beyond this number.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Limiting_zoom_scope} for more info\n\t */\n\tminZoomCount?: number;\n\n\t/**\n\t * Base value of the axis.\n\t */\n\tbaseValue?: number;\n\n\t/**\n\t * If set to `false` the axis will be exempt when chart is panned\n\t * horizontally, and will keep its current position.`\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Excluding_axes_from_pan_or_zoom} for more info\n\t */\n\tpanX?: boolean;\n\n\t/**\n\t * If set to `false` the axis will be exempt when chart is panned\n\t * vertically, and will keep its current position.`\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Excluding_axes_from_pan_or_zoom} for more info\n\t */\n\tpanY?: boolean;\n\n\t/**\n\t * If set to `false` the axis will be exempt when chart is zoomed\n\t * horizontally, and will keep its current zoom/position.`\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Excluding_axes_from_pan_or_zoom} for more info\n\t */\n\tzoomX?: boolean;\n\n\t/**\n\t * If set to `false` the axis will be exempt when chart is zoomed\n\t * vertically, and will keep its current zoom/position.`\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Excluding_axes_from_pan_or_zoom} for more info\n\t */\n\tzoomY?: boolean;\n\n\t/**\n\t * A relative distance the axis is allowed to be zoomed/panned beyond its\n\t * actual scope.\n\t *\n\t * @default 0.1\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Over_zooming} for more info\n\t */\n\tmaxDeviation?: number;\n\n\t/**\n\t * [[Tooltip]] element to use for axis.\n\t */\n\ttooltip?: Tooltip;\n\n\t/**\n\t * `tooltipLocation` indicates\n\t * which relative place to snap to: `0` beginning, `0.5` - middle, `1` - end.\n\t *\n\t * @default 0.5\n\t */\n\ttooltipLocation?: number;\n\n\t/**\n\t * Should tooltip snap to the `tooltipLocation` (`true`) or follow cursor.\n\t *\n\t * @default true\n\t */\n\tsnapTooltip?: boolean;\n\n\t/**\n\t * If set to `true` (default) the axis width will stay constant across all\n\t * zooms, even if actual length of all visible labels changes.\n\t *\n\t * @default true\n\t */\n\tfixAxisSize?: boolean;\n\n\t/**\n\t * A function that will be used to create bullets on each cell.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/#Axis_bullets} for more info\n\t */\n\tbullet?: (root: Root, axis: Axis<AxisRenderer>, dataItem: DataItem<IAxisDataItem>) => AxisBullet;\n\n}\n\nexport interface IAxisEvents extends IComponentEvents {\n}\n\nexport interface IAxisPrivate extends IComponentPrivate {\n\n\t/**\n\t * @ignore\n\t */\n\tname?: \"value\" | \"date\" | \"category\";\n\n\t/**\n\t * @ignore\n\t */\n\tupdateScrollbar?: boolean;\n\n\t/**\n\t * @ignore\n\t */\n\tmaxZoomFactor?: number;\n}\n\nexport interface IAxisDataItem extends IComponentDataItem {\n\n\t/**\n\t * Axis label element.\n\t */\n\tlabel?: AxisLabel;\n\n\t/**\n\t * Tick element.\n\t */\n\ttick?: AxisTick;\n\n\t/**\n\t * Grid line element.\n\t */\n\tgrid?: Grid;\n\n\t/**\n\t * Axis fill element.\n\t */\n\taxisFill?: Graphics;\n\n\t/**\n\t * Bullet element.\n\t */\n\tbullet?: AxisBullet;\n\n\t/**\n\t * Indicates if this data item represents an axis range.\n\t */\n\tisRange?: boolean;\n\n\t/**\n\t * If set to `true`, the grid and axis fill of this data item will be drawn\n\t * above series.\n\t *\n\t * NOTE: this needs to be set **before** crating an axis range. Updating this\n\t * dynamically won't have any effect.\n\t *\n\t * NOTE: if you need all grid to be drawn above series, you can brig it to\n\t * front with `chart.gridContainer.toFront();`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/axis-ranges/#Grid_fill_above_series} for more info\n\t * @default false\n\t */\n\tabove?: boolean\n\n}\n\n/**\n * A base class for all axes.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/#Adding_axes} for more info\n */\nexport abstract class Axis<R extends AxisRenderer> extends Component {\n\tpublic static className: string = \"Axis\";\n\tpublic static classNames: Array<string> = Component.classNames.concat([Axis.className]);\n\n\tdeclare public _settings: IAxisSettings<R>;\n\tdeclare public _privateSettings: IAxisPrivate;\n\tdeclare public _dataItemSettings: IAxisDataItem;\n\tdeclare public _events: IAxisEvents;\n\n\tdeclare public _seriesType: XYSeries;\n\n\tprotected _series: Array<this[\"_seriesType\"]> = [];\n\n\tpublic _isPanning: boolean = false;\n\n\t/**\n\t * A [[Container]] that holds all the axis label elements.\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly labelsContainer: Container = this.children.push(Container.new(this._root, {}));\n\n\t/**\n\t * A [[Container]] that holds all the axis grid and fill elements.\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly gridContainer: Container = Container.new(this._root, { width: p100, height: p100 });\n\n\t/**\n\t * A [[Container]] that holds axis grid elements which goes above the series.\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly topGridContainer: Container = Container.new(this._root, { width: p100, height: p100 });\n\n\t/**\n\t * A [[Container]] that holds all the axis bullet elements.\n\t *\n\t * @default new Container\n\t */\n\tpublic readonly bulletsContainer: Container = this.children.push(Container.new(this._root, { isMeasured: false, width: p100, height: p100, position: \"absolute\" }));\n\n\t/**\n\t * A referenece to the the chart the axis belongs to.\n\t */\n\tpublic chart: XYChart | undefined;\n\n\tprotected _rangesDirty: Boolean = false;\n\n\tpublic _panStart: number = 0;\n\tpublic _panEnd: number = 1;\n\n\tprotected _sAnimation?: Animation<this[\"_settings\"][\"start\"]>;\n\tprotected _eAnimation?: Animation<this[\"_settings\"][\"end\"]>;\n\n\t/**\n\t * A list of axis ranges.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/axis-ranges/} for more info\n\t * @default new List()\n\t */\n\tpublic readonly axisRanges: List<DataItem<this[\"_dataItemSettings\"]>> = new List();\n\n\tpublic _seriesAxisRanges: Array<DataItem<this[\"_dataItemSettings\"]>> = [];\n\n\t/**\n\t * A control label that is invisible but is used to keep width the width of\n\t * the axis constant.\n\t */\n\tpublic ghostLabel!: AxisLabel;\n\n\tprotected _cursorPosition: number = -1;\n\n\tprotected _snapToSeries?: Array<XYSeries>;\n\n\tpublic _seriesValuesDirty = false;\n\n\t/**\n\t * A container above the axis that can be used to add additional stuff into\n\t * it. For example a legend, label, or an icon.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/axis-headers/} for more info\n\t * @default new Container\n\t */\n\tpublic axisHeader: Container = this.children.push(Container.new(this._root, {\n\t\tthemeTags: [\"axis\", \"header\"],\n\t\tposition: \"absolute\",\n\t\tbackground: Rectangle.new(this._root, {\n\t\t\tthemeTags: [\"header\", \"background\"],\n\t\t\tfill: this._root.interfaceColors.get(\"background\")\n\t\t})\n\t}));\n\n\tprotected _dispose() {\n\t\t// these could be in other parents, so disposing just in case\n\t\tthis.gridContainer.dispose();\n\t\tthis.topGridContainer.dispose();\n\t\tthis.bulletsContainer.dispose();\n\t\tthis.labelsContainer.dispose();\n\t\tthis.axisHeader.dispose();\n\t\tsuper._dispose();\n\t}\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\n\t\tthis.setPrivate(\"updateScrollbar\", true);\n\n\t\tthis._disposers.push(this.axisRanges.events.onAll((change) => {\n\t\t\tif (change.type === \"clear\") {\n\t\t\t\t$array.each(change.oldValues, (dataItem) => {\n\t\t\t\t\tthis.disposeDataItem(dataItem);\n\t\t\t\t});\n\t\t\t} else if (change.type === \"push\") {\n\t\t\t\tthis._processAxisRange(change.newValue, [\"range\"]);\n\t\t\t} else if (change.type === \"setIndex\") {\n\t\t\t\tthis._processAxisRange(change.newValue, [\"range\"]);\n\t\t\t} else if (change.type === \"insertIndex\") {\n\t\t\t\tthis._processAxisRange(change.newValue, [\"range\"]);\n\t\t\t} else if (change.type === \"removeIndex\") {\n\t\t\t\tthis.disposeDataItem(change.oldValue);\n\t\t\t} else if (change.type === \"moveIndex\") {\n\t\t\t\tthis._processAxisRange(change.value, [\"range\"]);\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"Unknown IStreamEvent type\");\n\t\t\t}\n\t\t}))\n\n\t\tconst renderer = this.get(\"renderer\");\n\t\tif (renderer) {\n\t\t\trenderer.axis = this;\n\t\t\trenderer.processAxis();\n\t\t}\n\t\tthis.children.push(renderer);\n\t\tthis.ghostLabel = renderer.makeLabel(new DataItem(this, undefined, {}), []);\n\t\tthis.ghostLabel.set(\"opacity\", 0);\n\t}\n\n\t/**\n\t * Zooms the axis to relative locations.\n\t *\n\t * Both `start` and `end` are relative: 0 means start of the axis, 1 - end.\n\t *\n\t * @param start Relative start\n\t * @param end Relative end\n\t * @param duration Duration of the zoom animation in milliseconds\n\t * @return Zoom animation\n\t */\n\tpublic zoom(start: number, end: number, duration?: number, priority?: \"start\" | \"end\"): Animation<this[\"_settings\"][\"start\"]> | Animation<this[\"_settings\"][\"end\"]> | undefined {\n\n\t\tif (this.get(\"start\") !== start || this.get(\"end\") != end) {\n\n\t\t\tlet sAnimation = this._sAnimation;\n\t\t\tlet eAnimation = this._eAnimation;\n\n\t\t\tlet maxDeviation = this.get(\"maxDeviation\", 0.5) * Math.min(1, (end - start));\n\n\t\t\tif (start < - maxDeviation) {\n\t\t\t\tstart = -maxDeviation;\n\t\t\t}\n\n\t\t\tif (end > 1 + maxDeviation) {\n\t\t\t\tend = 1 + maxDeviation;\n\t\t\t}\n\n\t\t\tif (start > end) {\n\t\t\t\t[start, end] = [end, start];\n\t\t\t}\n\n\t\t\tif (!$type.isNumber(duration)) {\n\t\t\t\tduration = this.get(\"interpolationDuration\", 0);\n\t\t\t}\n\n\t\t\tif (!priority) {\n\t\t\t\tpriority = \"end\";\n\t\t\t}\n\n\t\t\tlet maxZoomFactor = this.getPrivate(\"maxZoomFactor\", this.get(\"maxZoomFactor\", 100));\n\t\t\tlet maxZoomFactorReal = maxZoomFactor;\n\n\t\t\tif (end === 1 && start !== 0) {\n\t\t\t\tif (start < this.get(\"start\")) {\n\t\t\t\t\tpriority = \"start\";\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tpriority = \"end\";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (start === 0 && end !== 1) {\n\t\t\t\tif (end > this.get(\"end\")) {\n\t\t\t\t\tpriority = \"end\";\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tpriority = \"start\";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet minZoomCount = this.get(\"minZoomCount\");\n\t\t\tlet maxZoomCount = this.get(\"maxZoomCount\");\n\n\t\t\tif ($type.isNumber(minZoomCount)) {\n\t\t\t\tmaxZoomFactor = maxZoomFactorReal / minZoomCount;\n\t\t\t}\n\n\t\t\tlet minZoomFactor: number = 1;\n\n\t\t\tif ($type.isNumber(maxZoomCount)) {\n\t\t\t\tminZoomFactor = maxZoomFactorReal / maxZoomCount;\n\t\t\t}\n\n\t\t\t// most likely we are dragging left scrollbar grip here, so we tend to modify end\n\t\t\tif (priority === \"start\") {\n\t\t\t\tif (maxZoomCount > 0) {\n\t\t\t\t\t// add to the end\n\t\t\t\t\tif (1 / (end - start) < minZoomFactor) {\n\t\t\t\t\t\tend = start + 1 / minZoomFactor;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// add to the end\n\t\t\t\tif (1 / (end - start) > maxZoomFactor) {\n\t\t\t\t\tend = start + 1 / maxZoomFactor;\n\t\t\t\t}\n\t\t\t\t//unless end is > 0\n\t\t\t\tif (end > 1 && end - start < 1 / maxZoomFactor) {\n\t\t\t\t\t//end = 1;\n\t\t\t\t\tstart = end - 1 / maxZoomFactor;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// most likely we are dragging right, so we modify left\n\t\t\telse {\n\t\t\t\tif (maxZoomCount > 0) {\n\t\t\t\t\t// add to the end\n\t\t\t\t\tif (1 / (end - start) < minZoomFactor) {\n\t\t\t\t\t\tstart = end - 1 / minZoomFactor;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// remove from start\n\t\t\t\tif (1 / (end - start) > maxZoomFactor) {\n\t\t\t\t\tstart = end - 1 / maxZoomFactor;\n\t\t\t\t}\n\t\t\t\tif (start < 0 && end - start < 1 / maxZoomFactor) {\n\t\t\t\t\t//start = 0;\n\t\t\t\t\tend = start + 1 / maxZoomFactor;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (1 / (end - start) > maxZoomFactor) {\n\t\t\t\tend = start + 1 / maxZoomFactor;\n\t\t\t}\n\n\t\t\tif (1 / (end - start) > maxZoomFactor) {\n\t\t\t\tstart = end - 1 / maxZoomFactor;\n\t\t\t}\n\n\t\t\tif (maxZoomCount != null && minZoomCount != null && (start == this.get(\"start\") && end == this.get(\"end\"))) {\n\t\t\t\tconst chart = this.chart;\n\t\t\t\tif (chart) {\n\t\t\t\t\tchart._handleAxisSelection(this, true);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (((sAnimation && sAnimation.playing && sAnimation.to == start) || this.get(\"start\") == start) && ((eAnimation && eAnimation.playing && eAnimation.to == end) || this.get(\"end\") == end)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\n\t\t\tif (duration > 0) {\n\t\t\t\tlet easing = this.get(\"interpolationEasing\");\n\t\t\t\tlet sAnimation, eAnimation;\n\t\t\t\tif (this.get(\"start\") != start) {\n\t\t\t\t\tsAnimation = this.animate({ key: \"start\", to: start, duration: duration, easing: easing });\n\t\t\t\t}\n\t\t\t\tif (this.get(\"end\") != end) {\n\t\t\t\t\teAnimation = this.animate({ key: \"end\", to: end, duration: duration, easing: easing });\n\t\t\t\t}\n\n\t\t\t\tthis._sAnimation = sAnimation;\n\t\t\t\tthis._eAnimation = eAnimation;\n\n\t\t\t\tif (sAnimation) {\n\t\t\t\t\treturn sAnimation;\n\t\t\t\t}\n\t\t\t\telse if (eAnimation) {\n\t\t\t\t\treturn eAnimation;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.set(\"start\", start);\n\t\t\t\tthis.set(\"end\", end);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * A list of series using this axis.\n\t *\n\t * @return Series\n\t */\n\tpublic get series(): Array<this[\"_seriesType\"]> {\n\t\treturn this._series;\n\t}\n\n\n\tpublic _processAxisRange(dataItem: DataItem<this[\"_dataItemSettings\"]>, themeTags: Array<string>) {\n\t\tdataItem.setRaw(\"isRange\", true);\n\t\tthis._createAssets(dataItem, themeTags);\n\t\tthis._rangesDirty = true;\n\t\tthis._prepareDataItem(dataItem);\n\n\t\tconst above = dataItem.get(\"above\");\n\t\tconst container = this.topGridContainer;\n\n\t\tconst grid = dataItem.get(\"grid\");\n\t\tif (above && grid) {\n\t\t\tcontainer.children.moveValue(grid);\n\t\t}\n\n\t\tconst fill = dataItem.get(\"axisFill\");\n\t\tif (above && fill) {\n\t\t\tcontainer.children.moveValue(fill);\n\t\t}\n\t}\n\n\tpublic _prepareDataItem(_dataItem: DataItem<this[\"_dataItemSettings\"]>, _index?: number) { }\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract getX(_value: any, _location: number, baseValue?: any): number;\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract getY(_value: any, _location: number, baseValue?: any): number;\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract getDataItemCoordinateX(_dataItem: DataItem<IXYSeriesDataItem>, _field: string, _cellLocation?: number, _axisLocation?: number): number;\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract getDataItemCoordinateY(_dataItem: DataItem<IXYSeriesDataItem>, _field: string, _cellLocation?: number, _axisLocation?: number): number;\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract getDataItemPositionX(_dataItem: DataItem<IXYSeriesDataItem>, _field: string, _cellLocation?: number, _axisLocation?: number): number;\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract getDataItemPositionY(_dataItem: DataItem<IXYSeriesDataItem>, _field: string, _cellLocation?: number, _axisLocation?: number): number;\n\n\t/**\n\t * @ignore\n\t */\n\tpublic markDirtyExtremes() {\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic markDirtySelectionExtremes() {\n\t}\n\n\tpublic _calculateTotals() {\n\t}\n\n\tprotected _updateAxisRanges() {\n\t\tthis.axisRanges.each((axisRange) => {\n\t\t\tthis._prepareDataItem(axisRange);\n\t\t})\n\n\t\t$array.each(this._seriesAxisRanges, (axisRange) => {\n\t\t\tthis._prepareDataItem(axisRange);\n\t\t})\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract baseValue(): any;\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this.get(\"fixAxisSize\")) {\n\t\t\tthis.ghostLabel.set(\"visible\", true);\n\t\t}\n\t\telse {\n\t\t\tthis.ghostLabel.set(\"visible\", false);\n\t\t}\n\n\t\tif (this.isDirty(\"start\") || this.isDirty(\"end\")) {\n\t\t\tthis.chart!._updateCursor();\n\n\t\t\tlet start = this.get(\"start\", 0);\n\t\t\tlet end = this.get(\"end\", 1);\n\n\t\t\tlet maxDeviation = this.get(\"maxDeviation\", 0.5) * Math.min(1, (end - start));\n\n\t\t\tif (start < -maxDeviation) {\n\t\t\t\tlet delta = start + maxDeviation;\n\t\t\t\tstart = -maxDeviation;\n\t\t\t\tthis.setRaw(\"start\", start);\n\t\t\t\tif (this.isDirty(\"end\")) {\n\t\t\t\t\tthis.setRaw(\"end\", end - delta);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (end > 1 + maxDeviation) {\n\t\t\t\tlet delta = end - 1 - maxDeviation;\n\t\t\t\tend = 1 + maxDeviation;\n\t\t\t\tthis.setRaw(\"end\", end);\n\n\t\t\t\tif (this.isDirty(\"start\")) {\n\t\t\t\t\tthis.setRaw(\"start\", start - delta);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\n\t\tconst renderer = this.get(\"renderer\");\n\t\trenderer._start = this.get(\"start\")!;\n\t\trenderer._end = this.get(\"end\")!;\n\t\trenderer._inversed = renderer.get(\"inversed\", false);\n\t\trenderer._axisLength = renderer.axisLength() / (renderer._end - renderer._start);\n\t\trenderer._updateLC();\n\n\t\tif (this.isDirty(\"tooltip\")) {\n\t\t\tconst tooltip = this.get(\"tooltip\");\n\t\t\tif (tooltip) {\n\t\t\t\tconst rendererTags = renderer.get(\"themeTags\");\n\t\t\t\ttooltip.addTag(\"axis\");\n\t\t\t\ttooltip.addTag(this.className.toLowerCase());\n\t\t\t\ttooltip._applyThemes();\n\n\t\t\t\tif (rendererTags) {\n\t\t\t\t\ttooltip.set(\"themeTags\", $utils.mergeTags(tooltip.get(\"themeTags\"), rendererTags));\n\t\t\t\t\ttooltip.label._applyThemes();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _updateTooltipBounds() {\n\t\tconst tooltip = this.get(\"tooltip\")!;\n\t\tif (tooltip) {\n\t\t\tthis.get(\"renderer\").updateTooltipBounds(tooltip);\n\t\t}\n\t}\n\n\tpublic _updateBounds() {\n\t\tsuper._updateBounds();\n\t\tthis._updateTooltipBounds();\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic processChart(chart: XYChart) {\n\t\tthis.chart = chart;\n\t\tconst renderer = this.get(\"renderer\");\n\n\t\trenderer.chart = chart;\n\t\tchart.gridContainer.children.push(this.gridContainer);\n\t\tchart.topGridContainer.children.push(this.topGridContainer);\n\n\t\tchart.axisHeadersContainer.children.push(this.axisHeader);\n\n\t\tthis.on(\"start\", () => {\n\t\t\tchart._handleAxisSelection(this);\n\t\t});\n\t\tthis.on(\"end\", () => {\n\t\t\tchart._handleAxisSelection(this);\n\t\t});\n\n\t\tchart.plotContainer.onPrivate(\"width\", () => {\n\t\t\tthis.markDirtySize();\n\t\t});\n\t\tchart.plotContainer.onPrivate(\"height\", () => {\n\t\t\tthis.markDirtySize();\n\t\t});\n\n\t\tchart.processAxis(this);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic hideDataItem(dataItem: DataItem<IAxisDataItem>): Promise<void> {\n\t\tthis._toggleDataItem(dataItem, false);\n\t\treturn super.hideDataItem(dataItem);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic showDataItem(dataItem: DataItem<IAxisDataItem>): Promise<void> {\n\t\tthis._toggleDataItem(dataItem, true);\n\t\treturn super.showDataItem(dataItem);\n\t}\n\n\n\tpublic _toggleDataItem(dataItem: DataItem<IAxisDataItem>, visible: boolean) {\n\t\tconst label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tlabel.setPrivate(\"visible\", visible);\n\t\t}\n\t\tconst grid = dataItem.get(\"grid\");\n\t\tif (grid) {\n\t\t\tgrid.setPrivate(\"visible\", visible);\n\t\t}\n\t\tconst tick = dataItem.get(\"tick\");\n\t\tif (tick) {\n\t\t\ttick.setPrivate(\"visible\", visible);\n\t\t}\n\t\tconst axisFill = dataItem.get(\"axisFill\");\n\t\tif (axisFill) {\n\t\t\taxisFill.setPrivate(\"visible\", visible);\n\t\t}\n\n\t\tconst bullet = dataItem.get(\"bullet\");\n\t\tif (bullet) {\n\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\tif (sprite) {\n\t\t\t\tsprite.setPrivate(\"visible\", visible);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract basePosition(): number;\n\n\tpublic _createAssets(dataItem: DataItem<this[\"_dataItemSettings\"]>, tags: Array<string>) {\n\t\tconst renderer = this.get(\"renderer\");\n\n\t\tif (!dataItem.get(\"label\")) {\n\t\t\trenderer.makeLabel(dataItem, tags);\n\t\t}\n\n\t\tif (!dataItem.get(\"grid\")) {\n\t\t\trenderer.makeGrid(dataItem, tags);\n\t\t}\n\n\t\tif (!dataItem.get(\"tick\")) {\n\t\t\trenderer.makeTick(dataItem, tags);\n\t\t}\n\n\t\tif (!dataItem.get(\"axisFill\")) {\n\t\t\trenderer.makeAxisFill(dataItem, tags);\n\t\t}\n\n\t\tthis._processBullet(dataItem);\n\t}\n\n\tprotected _processBullet(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tlet bullet = dataItem.get(\"bullet\");\n\t\tlet axisBullet = this.get(\"bullet\");\n\n\t\tif (!bullet && axisBullet && !dataItem.get(\"isRange\")) {\n\t\t\tbullet = axisBullet(this._root, this, dataItem);\n\t\t}\n\n\t\tif (bullet) {\n\t\t\tbullet.axis = this;\n\t\t\tconst sprite = bullet.get(\"sprite\");\n\n\t\t\tif (sprite) {\n\t\t\t\tsprite._setDataItem(dataItem);\n\t\t\t\tdataItem.setRaw(\"bullet\", bullet);\n\t\t\t\tif (!sprite.parent) {\n\t\t\t\t\tthis.bulletsContainer.children.push(sprite);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _afterChanged() {\n\t\tsuper._afterChanged();\n\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tchart._updateChartLayout();\n\t\t\tchart.axisHeadersContainer.markDirtySize();\n\t\t}\n\n\t\tthis.get(\"renderer\")._updatePositions();\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tconst renderer = this.get(\"renderer\");\n\t\tconst label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\trenderer.labels.removeValue(label);\n\t\t\tlabel.dispose();\n\t\t}\n\t\tconst tick = dataItem.get(\"tick\");\n\t\tif (tick) {\n\t\t\trenderer.ticks.removeValue(tick);\n\t\t\ttick.dispose();\n\t\t}\n\t\tconst grid = dataItem.get(\"grid\");\n\t\tif (grid) {\n\t\t\trenderer.grid.removeValue(grid);\n\t\t\tgrid.dispose();\n\t\t}\n\t\tconst axisFill = dataItem.get(\"axisFill\");\n\t\tif (axisFill) {\n\t\t\trenderer.axisFills.removeValue(axisFill);\n\t\t\taxisFill.dispose();\n\t\t}\n\t}\n\n\tprotected _updateGhost() {\n\t\tconst ghostLabel = this.ghostLabel;\n\t\tif (!ghostLabel.isHidden()) {\n\t\t\tconst bounds = ghostLabel.localBounds();\n\t\t\tconst gWidth = bounds.right - bounds.left;\n\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tconst label = dataItem.get(\"label\");\n\t\t\t\tif (label && !label.isHidden()) {\n\t\t\t\t\tconst bounds = label.localBounds();\n\t\t\t\t\tconst w = bounds.right - bounds.left;\n\n\t\t\t\t\tif (w > gWidth) {\n\t\t\t\t\t\tghostLabel.set(\"text\", label.text._getText());\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t\tlet start = this.get(\"start\", 0);\n\t\tlet end = this.get(\"end\", 1);\n\t\tthis.get(\"renderer\").updateLabel(ghostLabel, start + (end - start) * 0.5);\n\t\tghostLabel.setPrivate(\"visible\", true);\n\t}\n\n\tpublic _handleCursorPosition(position: number, snapToSeries?: Array<XYSeries>) {\n\t\tconst renderer = this.get(\"renderer\");\n\t\tposition = renderer.toAxisPosition(position);\n\n\t\tthis._cursorPosition = position;\n\t\tthis._snapToSeries = snapToSeries;\n\n\t\tthis.updateTooltip();\n\t}\n\n\t/**\n\t * Can be called when axis zoom changes and you need to update tooltip\n\t * position.\n\t */\n\tpublic updateTooltip() {\n\t\tconst snapToSeries = this._snapToSeries;\n\t\tlet position = this._cursorPosition;\n\t\tconst tooltip = this.get(\"tooltip\")!;\n\t\tconst renderer = this.get(\"renderer\");\n\n\t\tif ($type.isNumber(position)) {\n\n\t\t\t$array.each(this.series, (series) => {\n\t\t\t\tif (series.get(\"baseAxis\") === this) {\n\t\t\t\t\tconst dataItem = this.getSeriesItem(series, position!);\n\t\t\t\t\tseries.setRaw(\"tooltipDataItem\", dataItem);\n\t\t\t\t\tif (snapToSeries && snapToSeries.indexOf(series) != -1) {\n\t\t\t\t\t\tseries.updateLegendMarker(dataItem);\n\t\t\t\t\t\tseries.updateLegendValue(dataItem);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tseries.showDataItemTooltip(dataItem);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\n\n\t\t\tif (tooltip) {\n\t\t\t\trenderer.updateTooltipBounds(tooltip);\n\n\t\t\t\tif (this.get(\"snapTooltip\")) {\n\t\t\t\t\tposition = this.roundAxisPosition(position, this.get(\"tooltipLocation\", 0.5));\n\t\t\t\t}\n\t\t\t\tif (!$type.isNaN(position)) {\n\t\t\t\t\tthis._updateTooltipText(tooltip, position);\n\t\t\t\t\trenderer.positionTooltip(tooltip, position);\n\n\t\t\t\t\tif (position < this.get(\"start\") || position > this.get(\"end\")) {\n\t\t\t\t\t\ttooltip.hide(0);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\ttooltip.show(0);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\ttooltip.hide(0);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateTooltipText(tooltip: Tooltip, position: number) {\n\t\ttooltip.label.set(\"text\", this.getTooltipText(position));\n\t}\n\n\t/**\n\t * Returns text to be used in an axis tooltip for specific relative position.\n\t *\n\t * @param position Position\n\t * @return Tooltip text\n\t */\n\tpublic abstract getTooltipText(position: number): string | undefined;\n\n\t/**\n\t * @ignore\n\t */\n\tpublic roundAxisPosition(position: number, _location: number): number {\n\t\treturn position;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic handleCursorShow() {\n\t\tlet tooltip = this.get(\"tooltip\");\n\t\tif (tooltip) {\n\t\t\ttooltip.show();\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic handleCursorHide() {\n\t\tlet tooltip = this.get(\"tooltip\");\n\t\tif (tooltip) {\n\t\t\ttooltip.hide();\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic processSeriesDataItem(_dataItem: DataItem<IXYSeriesDataItem>, _fields: Array<string>) {\n\n\t}\n\n\tpublic _clearDirty() {\n\t\tsuper._clearDirty();\n\t\tthis._sizeDirty = false;\n\t\tthis._rangesDirty = false;\n\t}\n\n\t/**\n\t * Converts pixel coordinate to a relative position on axis.\n\t *\n\t * @param coordinate Coordinate\n\t * @return Relative position\n\t */\n\tpublic coordinateToPosition(coordinate: number): number {\n\t\tconst renderer = this.get(\"renderer\");\n\t\treturn renderer.toAxisPosition(coordinate / renderer.axisLength());\n\t}\n\n\t/**\n\t * Converts relative position of the plot area to relative position of the\n\t * axis with zoom taken into account.\n\t *\n\t * @param position Position\n\t * @return Relative position\n\t */\n\tpublic toAxisPosition(position: number): number {\n\t\treturn this.get(\"renderer\").toAxisPosition(position);\n\t}\n\n\t/**\n\t * Adjusts position with inversed taken into account.\n\t *\n\t * @ignore\n\t */\n\tpublic fixPosition(position: number): number {\n\t\treturn this.get(\"renderer\").fixPosition(position);\n\t}\n\n\t/**\n\t * Returns a data item from series that is closest to the `position`.\n\t *\n\t * @param series Series\n\t * @param position Relative position\n\t * @return Data item\n\t */\n\tpublic abstract getSeriesItem(series: XYSeries, position: number): DataItem<IXYSeriesDataItem> | undefined\n\n\t/**\n\t * @ignore\n\t */\n\tpublic shouldGap(_dataItem: DataItem<IXYSeriesDataItem>, _nextItem: DataItem<IXYSeriesDataItem>, _autoGapCount: number, _fieldName: string): boolean {\n\t\treturn false;\n\t}\n\n\t/**\n\t * Creates and returns an axis range object.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/axis-ranges/} for more info\n\t * @param axisDataItem Axis data item\n\t * @return Axis range\n\t */\n\tpublic createAxisRange(axisDataItem: DataItem<IAxisDataItem>): DataItem<this[\"_dataItemSettings\"]> {\n\t\treturn this.axisRanges.push(axisDataItem);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic _groupSeriesData(_series: XYSeries) { }\n}\n"]}
@@ -82,9 +82,30 @@ export interface IDateAxisSettings<R extends AxisRenderer> extends IValueAxisSet
82
82
  /**
83
83
  * A date format to use for axis tooltip.
84
84
  *
85
- * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/formatting-dates/} for more info
85
+ * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/date-axis/#Axis_tooltip} for more info
86
86
  */
87
87
  tooltipDateFormat?: string | Intl.DateTimeFormatOptions;
88
+ /**
89
+ * Time unit-specific formats to use for axis tooltip.
90
+ *
91
+ * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/date-axis/#Axis_tooltip} for more info
92
+ * @since 5.1.4
93
+ */
94
+ tooltipDateFormats?: {
95
+ [index: string]: string | Intl.DateTimeFormatOptions;
96
+ };
97
+ /**
98
+ * A value which indicates relative position within axis cell to get timestamp
99
+ * for the tooltip from.
100
+ *
101
+ * Values are from `0` (zero) to `1` (one), meaning start and end of the cell.
102
+ *
103
+ * If not set, it will use cell's start tiemstamp.
104
+ *
105
+ * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/date-axis/#Axis_tooltip} for more info
106
+ * @since 5.1.4
107
+ */
108
+ tooltipIntervalOffset?: number;
88
109
  }
89
110
  export interface IDateAxisDataItem extends IValueAxisDataItem {
90
111
  }
@@ -118,8 +139,8 @@ export declare class DateAxis<R extends AxisRenderer> extends ValueAxis<R> {
118
139
  protected _intervalDuration: number;
119
140
  protected _baseDuration: number;
120
141
  _afterNew(): void;
121
- _updateChildren(): void;
122
142
  protected _setBaseInterval(interval: ITimeInterval): void;
143
+ protected _fixZoomFactor(): void;
123
144
  protected _groupData(): void;
124
145
  _groupSeriesData(series: XYSeries): void;
125
146
  _clearDirty(): void;