@amcharts/amcharts5 5.13.6 → 5.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (675) hide show
  1. package/.internal/charts/funnel/FunnelSeries.d.ts +1 -1
  2. package/.internal/charts/funnel/FunnelSeries.d.ts.map +1 -1
  3. package/.internal/charts/funnel/FunnelSeries.js.map +1 -1
  4. package/.internal/charts/funnel/FunnelSlice.d.ts +1 -1
  5. package/.internal/charts/funnel/FunnelSlice.d.ts.map +1 -1
  6. package/.internal/charts/funnel/FunnelSlice.js.map +1 -1
  7. package/.internal/charts/funnel/PyramidSeries.d.ts.map +1 -1
  8. package/.internal/charts/funnel/PyramidSeries.js.map +1 -1
  9. package/.internal/charts/funnel/SlicedChart.d.ts +1 -1
  10. package/.internal/charts/funnel/SlicedChart.d.ts.map +1 -1
  11. package/.internal/charts/funnel/SlicedChart.js.map +1 -1
  12. package/.internal/charts/gantt/Gantt.d.ts +216 -0
  13. package/.internal/charts/gantt/Gantt.d.ts.map +1 -0
  14. package/.internal/charts/gantt/Gantt.js +772 -0
  15. package/.internal/charts/gantt/Gantt.js.map +1 -0
  16. package/.internal/charts/gantt/GanttCategoryAxis.d.ts +287 -0
  17. package/.internal/charts/gantt/GanttCategoryAxis.d.ts.map +1 -0
  18. package/.internal/charts/gantt/GanttCategoryAxis.js +1238 -0
  19. package/.internal/charts/gantt/GanttCategoryAxis.js.map +1 -0
  20. package/.internal/charts/gantt/GanttCategoryAxisRenderer.d.ts +98 -0
  21. package/.internal/charts/gantt/GanttCategoryAxisRenderer.d.ts.map +1 -0
  22. package/.internal/charts/gantt/GanttCategoryAxisRenderer.js +270 -0
  23. package/.internal/charts/gantt/GanttCategoryAxisRenderer.js.map +1 -0
  24. package/.internal/charts/gantt/GanttDateAxis.d.ts +36 -0
  25. package/.internal/charts/gantt/GanttDateAxis.d.ts.map +1 -0
  26. package/.internal/charts/gantt/GanttDateAxis.js +35 -0
  27. package/.internal/charts/gantt/GanttDateAxis.js.map +1 -0
  28. package/.internal/charts/gantt/GanttDateAxisRenderer.d.ts +19 -0
  29. package/.internal/charts/gantt/GanttDateAxisRenderer.d.ts.map +1 -0
  30. package/.internal/charts/gantt/GanttDateAxisRenderer.js +23 -0
  31. package/.internal/charts/gantt/GanttDateAxisRenderer.js.map +1 -0
  32. package/.internal/charts/gantt/GanttDefaultTheme.d.ts +8 -0
  33. package/.internal/charts/gantt/GanttDefaultTheme.d.ts.map +1 -0
  34. package/.internal/charts/gantt/GanttDefaultTheme.js +756 -0
  35. package/.internal/charts/gantt/GanttDefaultTheme.js.map +1 -0
  36. package/.internal/charts/gantt/GanttSeries.d.ts +348 -0
  37. package/.internal/charts/gantt/GanttSeries.d.ts.map +1 -0
  38. package/.internal/charts/gantt/GanttSeries.js +1524 -0
  39. package/.internal/charts/gantt/GanttSeries.js.map +1 -0
  40. package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
  41. package/.internal/charts/hierarchy/HierarchyDefaultTheme.js.map +1 -1
  42. package/.internal/charts/hierarchy/HierarchyLink.d.ts +1 -1
  43. package/.internal/charts/hierarchy/HierarchyLink.d.ts.map +1 -1
  44. package/.internal/charts/hierarchy/HierarchyLink.js.map +1 -1
  45. package/.internal/charts/hierarchy/LinkedHierarchy.d.ts +2 -2
  46. package/.internal/charts/hierarchy/LinkedHierarchy.d.ts.map +1 -1
  47. package/.internal/charts/hierarchy/LinkedHierarchy.js +1 -1
  48. package/.internal/charts/hierarchy/LinkedHierarchy.js.map +1 -1
  49. package/.internal/charts/hierarchy/Pack.d.ts.map +1 -1
  50. package/.internal/charts/hierarchy/Pack.js.map +1 -1
  51. package/.internal/charts/hierarchy/Partition.d.ts.map +1 -1
  52. package/.internal/charts/hierarchy/Partition.js.map +1 -1
  53. package/.internal/charts/hierarchy/Treemap.js.map +1 -1
  54. package/.internal/charts/hierarchy/VoronoiTreemap.d.ts.map +1 -1
  55. package/.internal/charts/hierarchy/VoronoiTreemap.js +3 -3
  56. package/.internal/charts/hierarchy/VoronoiTreemap.js.map +1 -1
  57. package/.internal/charts/map/MapChart.d.ts.map +1 -1
  58. package/.internal/charts/map/MapChart.js +1 -3
  59. package/.internal/charts/map/MapChart.js.map +1 -1
  60. package/.internal/charts/stock/drawing/DrawingSeries.d.ts +1 -0
  61. package/.internal/charts/stock/drawing/DrawingSeries.d.ts.map +1 -1
  62. package/.internal/charts/stock/drawing/DrawingSeries.js +7 -0
  63. package/.internal/charts/stock/drawing/DrawingSeries.js.map +1 -1
  64. package/.internal/charts/stock/drawing/HorizontalLineSeries.d.ts.map +1 -1
  65. package/.internal/charts/stock/drawing/HorizontalLineSeries.js +2 -1
  66. package/.internal/charts/stock/drawing/HorizontalLineSeries.js.map +1 -1
  67. package/.internal/charts/stock/drawing/HorizontalRaySeries.d.ts.map +1 -1
  68. package/.internal/charts/stock/drawing/HorizontalRaySeries.js +2 -1
  69. package/.internal/charts/stock/drawing/HorizontalRaySeries.js.map +1 -1
  70. package/.internal/charts/stock/drawing/ParallelChannelSeries.d.ts.map +1 -1
  71. package/.internal/charts/stock/drawing/ParallelChannelSeries.js +2 -1
  72. package/.internal/charts/stock/drawing/ParallelChannelSeries.js.map +1 -1
  73. package/.internal/charts/stock/drawing/PolylineSeries.d.ts.map +1 -1
  74. package/.internal/charts/stock/drawing/PolylineSeries.js +3 -1
  75. package/.internal/charts/stock/drawing/PolylineSeries.js.map +1 -1
  76. package/.internal/charts/stock/drawing/SimpleLineSeries.d.ts.map +1 -1
  77. package/.internal/charts/stock/drawing/SimpleLineSeries.js +2 -1
  78. package/.internal/charts/stock/drawing/SimpleLineSeries.js.map +1 -1
  79. package/.internal/charts/stock/drawing/VerticalLineSeries.d.ts.map +1 -1
  80. package/.internal/charts/stock/drawing/VerticalLineSeries.js +2 -1
  81. package/.internal/charts/stock/drawing/VerticalLineSeries.js.map +1 -1
  82. package/.internal/charts/timeline/AxisRendererCurveX.js.map +1 -1
  83. package/.internal/charts/timeline/AxisRendererCurveY.js.map +1 -1
  84. package/.internal/charts/timeline/CurveChart.js.map +1 -1
  85. package/.internal/charts/timeline/CurveColumnSeries.js.map +1 -1
  86. package/.internal/charts/timeline/CurveCursor.js +1 -1
  87. package/.internal/charts/timeline/CurveCursor.js.map +1 -1
  88. package/.internal/charts/timeline/SerpentineChart.d.ts +1 -1
  89. package/.internal/charts/timeline/SerpentineChart.d.ts.map +1 -1
  90. package/.internal/charts/timeline/SerpentineChart.js.map +1 -1
  91. package/.internal/charts/timeline/SpiralChart.d.ts +1 -1
  92. package/.internal/charts/timeline/SpiralChart.d.ts.map +1 -1
  93. package/.internal/charts/timeline/SpiralChart.js.map +1 -1
  94. package/.internal/charts/wordcloud/WordCloud.js.map +1 -1
  95. package/.internal/charts/xy/XYChart.d.ts.map +1 -1
  96. package/.internal/charts/xy/XYChart.js +16 -8
  97. package/.internal/charts/xy/XYChart.js.map +1 -1
  98. package/.internal/charts/xy/XYChartDefaultTheme.d.ts.map +1 -1
  99. package/.internal/charts/xy/XYChartDefaultTheme.js +6 -3
  100. package/.internal/charts/xy/XYChartDefaultTheme.js.map +1 -1
  101. package/.internal/charts/xy/axes/Axis.d.ts +17 -1
  102. package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
  103. package/.internal/charts/xy/axes/Axis.js +46 -26
  104. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  105. package/.internal/charts/xy/axes/AxisBullet.d.ts +1 -1
  106. package/.internal/charts/xy/axes/AxisBullet.d.ts.map +1 -1
  107. package/.internal/charts/xy/axes/AxisBullet.js.map +1 -1
  108. package/.internal/charts/xy/axes/AxisLabel.d.ts +1 -1
  109. package/.internal/charts/xy/axes/AxisLabel.d.ts.map +1 -1
  110. package/.internal/charts/xy/axes/AxisLabel.js.map +1 -1
  111. package/.internal/charts/xy/axes/AxisLabelRadial.d.ts +1 -1
  112. package/.internal/charts/xy/axes/AxisLabelRadial.d.ts.map +1 -1
  113. package/.internal/charts/xy/axes/AxisLabelRadial.js.map +1 -1
  114. package/.internal/charts/xy/axes/AxisRenderer.d.ts +5 -5
  115. package/.internal/charts/xy/axes/AxisRenderer.d.ts.map +1 -1
  116. package/.internal/charts/xy/axes/AxisRenderer.js.map +1 -1
  117. package/.internal/charts/xy/axes/AxisRendererX.d.ts +1 -1
  118. package/.internal/charts/xy/axes/AxisRendererX.d.ts.map +1 -1
  119. package/.internal/charts/xy/axes/AxisRendererX.js +9 -5
  120. package/.internal/charts/xy/axes/AxisRendererX.js.map +1 -1
  121. package/.internal/charts/xy/axes/AxisRendererY.d.ts +1 -1
  122. package/.internal/charts/xy/axes/AxisRendererY.d.ts.map +1 -1
  123. package/.internal/charts/xy/axes/AxisRendererY.js +9 -5
  124. package/.internal/charts/xy/axes/AxisRendererY.js.map +1 -1
  125. package/.internal/charts/xy/axes/CategoryAxis.d.ts +34 -3
  126. package/.internal/charts/xy/axes/CategoryAxis.d.ts.map +1 -1
  127. package/.internal/charts/xy/axes/CategoryAxis.js +243 -40
  128. package/.internal/charts/xy/axes/CategoryAxis.js.map +1 -1
  129. package/.internal/charts/xy/axes/CategoryDateAxis.d.ts +1 -1
  130. package/.internal/charts/xy/axes/CategoryDateAxis.d.ts.map +1 -1
  131. package/.internal/charts/xy/axes/CategoryDateAxis.js.map +1 -1
  132. package/.internal/charts/xy/axes/DateAxis.d.ts +16 -2
  133. package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
  134. package/.internal/charts/xy/axes/DateAxis.js +20 -5
  135. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  136. package/.internal/charts/xy/axes/EditableAxisLabel.d.ts +21 -0
  137. package/.internal/charts/xy/axes/EditableAxisLabel.d.ts.map +1 -0
  138. package/.internal/charts/xy/axes/EditableAxisLabel.js +31 -0
  139. package/.internal/charts/xy/axes/EditableAxisLabel.js.map +1 -0
  140. package/.internal/charts/xy/axes/GaplessDateAxis.d.ts +2 -2
  141. package/.internal/charts/xy/axes/GaplessDateAxis.d.ts.map +1 -1
  142. package/.internal/charts/xy/axes/GaplessDateAxis.js.map +1 -1
  143. package/.internal/charts/xy/axes/ValueAxis.d.ts +2 -2
  144. package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
  145. package/.internal/charts/xy/axes/ValueAxis.js +4 -3
  146. package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
  147. package/.internal/charts/xy/series/BaseColumnSeries.d.ts +5 -1
  148. package/.internal/charts/xy/series/BaseColumnSeries.d.ts.map +1 -1
  149. package/.internal/charts/xy/series/BaseColumnSeries.js +60 -32
  150. package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
  151. package/.internal/charts/xy/series/CandlestickSeries.d.ts +2 -1
  152. package/.internal/charts/xy/series/CandlestickSeries.d.ts.map +1 -1
  153. package/.internal/charts/xy/series/CandlestickSeries.js +99 -44
  154. package/.internal/charts/xy/series/CandlestickSeries.js.map +1 -1
  155. package/.internal/charts/xy/series/ColumnSeries.d.ts +39 -0
  156. package/.internal/charts/xy/series/ColumnSeries.d.ts.map +1 -1
  157. package/.internal/charts/xy/series/ColumnSeries.js +77 -1
  158. package/.internal/charts/xy/series/ColumnSeries.js.map +1 -1
  159. package/.internal/charts/xy/series/LineSeries.d.ts.map +1 -1
  160. package/.internal/charts/xy/series/LineSeries.js.map +1 -1
  161. package/.internal/charts/xy/series/OHLC.d.ts +6 -0
  162. package/.internal/charts/xy/series/OHLC.d.ts.map +1 -1
  163. package/.internal/charts/xy/series/OHLC.js +6 -0
  164. package/.internal/charts/xy/series/OHLC.js.map +1 -1
  165. package/.internal/charts/xy/series/SmoothedXLineSeries.d.ts.map +1 -1
  166. package/.internal/charts/xy/series/SmoothedXLineSeries.js.map +1 -1
  167. package/.internal/charts/xy/series/SmoothedXYLineSeries.d.ts.map +1 -1
  168. package/.internal/charts/xy/series/SmoothedXYLineSeries.js.map +1 -1
  169. package/.internal/charts/xy/series/SmoothedYLineSeries.d.ts.map +1 -1
  170. package/.internal/charts/xy/series/SmoothedYLineSeries.js.map +1 -1
  171. package/.internal/charts/xy/series/StepLineSeries.d.ts +8 -2
  172. package/.internal/charts/xy/series/StepLineSeries.d.ts.map +1 -1
  173. package/.internal/charts/xy/series/StepLineSeries.js +6 -0
  174. package/.internal/charts/xy/series/StepLineSeries.js.map +1 -1
  175. package/.internal/charts/xy/series/XYSeries.d.ts +1 -1
  176. package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
  177. package/.internal/charts/xy/series/XYSeries.js +4 -1
  178. package/.internal/charts/xy/series/XYSeries.js.map +1 -1
  179. package/.internal/core/Classes.d.ts +28 -0
  180. package/.internal/core/Classes.d.ts.map +1 -1
  181. package/.internal/core/Classes.js.map +1 -1
  182. package/.internal/core/Registry.js +1 -1
  183. package/.internal/core/Registry.js.map +1 -1
  184. package/.internal/core/Root.d.ts +8 -0
  185. package/.internal/core/Root.d.ts.map +1 -1
  186. package/.internal/core/Root.js +26 -19
  187. package/.internal/core/Root.js.map +1 -1
  188. package/.internal/core/render/Button.d.ts +4 -1
  189. package/.internal/core/render/Button.d.ts.map +1 -1
  190. package/.internal/core/render/Button.js.map +1 -1
  191. package/.internal/core/render/Component.d.ts +8 -0
  192. package/.internal/core/render/Component.d.ts.map +1 -1
  193. package/.internal/core/render/Component.js +17 -0
  194. package/.internal/core/render/Component.js.map +1 -1
  195. package/.internal/core/render/ConfirmButton.d.ts +30 -0
  196. package/.internal/core/render/ConfirmButton.d.ts.map +1 -0
  197. package/.internal/core/render/ConfirmButton.js +84 -0
  198. package/.internal/core/render/ConfirmButton.js.map +1 -0
  199. package/.internal/core/render/Container.d.ts +6 -0
  200. package/.internal/core/render/Container.d.ts.map +1 -1
  201. package/.internal/core/render/Container.js +49 -2
  202. package/.internal/core/render/Container.js.map +1 -1
  203. package/.internal/core/render/EditableLabel.d.ts.map +1 -1
  204. package/.internal/core/render/EditableLabel.js +6 -6
  205. package/.internal/core/render/EditableLabel.js.map +1 -1
  206. package/.internal/core/render/HeatLegend.d.ts +14 -0
  207. package/.internal/core/render/HeatLegend.d.ts.map +1 -1
  208. package/.internal/core/render/HeatLegend.js +16 -3
  209. package/.internal/core/render/HeatLegend.js.map +1 -1
  210. package/.internal/core/render/Link.d.ts +28 -0
  211. package/.internal/core/render/Link.d.ts.map +1 -0
  212. package/.internal/core/render/Link.js +90 -0
  213. package/.internal/core/render/Link.js.map +1 -0
  214. package/.internal/core/render/MonotoneXTension.d.ts.map +1 -1
  215. package/.internal/core/render/MonotoneXTension.js.map +1 -1
  216. package/.internal/core/render/MonotoneYTension.d.ts.map +1 -1
  217. package/.internal/core/render/MonotoneYTension.js.map +1 -1
  218. package/.internal/core/render/NumericStepper.d.ts +27 -0
  219. package/.internal/core/render/NumericStepper.d.ts.map +1 -0
  220. package/.internal/core/render/NumericStepper.js +117 -0
  221. package/.internal/core/render/NumericStepper.js.map +1 -0
  222. package/.internal/core/render/OrthogonalLine.d.ts +33 -0
  223. package/.internal/core/render/OrthogonalLine.d.ts.map +1 -0
  224. package/.internal/core/render/OrthogonalLine.js +97 -0
  225. package/.internal/core/render/OrthogonalLine.js.map +1 -0
  226. package/.internal/core/render/ProgressPie.d.ts +32 -0
  227. package/.internal/core/render/ProgressPie.d.ts.map +1 -0
  228. package/.internal/core/render/ProgressPie.js +89 -0
  229. package/.internal/core/render/ProgressPie.js.map +1 -0
  230. package/.internal/core/render/Series.d.ts +0 -7
  231. package/.internal/core/render/Series.d.ts.map +1 -1
  232. package/.internal/core/render/Series.js +24 -27
  233. package/.internal/core/render/Series.js.map +1 -1
  234. package/.internal/core/render/Sprite.d.ts +3 -2
  235. package/.internal/core/render/Sprite.d.ts.map +1 -1
  236. package/.internal/core/render/Sprite.js +40 -30
  237. package/.internal/core/render/Sprite.js.map +1 -1
  238. package/.internal/core/render/patterns/LinePattern.d.ts +8 -0
  239. package/.internal/core/render/patterns/LinePattern.d.ts.map +1 -1
  240. package/.internal/core/render/patterns/LinePattern.js +32 -1
  241. package/.internal/core/render/patterns/LinePattern.js.map +1 -1
  242. package/.internal/core/util/Entity.d.ts.map +1 -1
  243. package/.internal/core/util/Entity.js.map +1 -1
  244. package/.internal/core/util/EventDispatcher.d.ts +32 -3
  245. package/.internal/core/util/EventDispatcher.d.ts.map +1 -1
  246. package/.internal/core/util/EventDispatcher.js +51 -5
  247. package/.internal/core/util/EventDispatcher.js.map +1 -1
  248. package/.internal/core/util/Language.d.ts +2 -0
  249. package/.internal/core/util/Language.d.ts.map +1 -1
  250. package/.internal/core/util/Language.js.map +1 -1
  251. package/.internal/core/util/Time.d.ts.map +1 -1
  252. package/.internal/core/util/Time.js +4 -1
  253. package/.internal/core/util/Time.js.map +1 -1
  254. package/.internal/plugins/colorPicker/ColorPicker.d.ts +151 -0
  255. package/.internal/plugins/colorPicker/ColorPicker.d.ts.map +1 -0
  256. package/.internal/plugins/colorPicker/ColorPicker.js +665 -0
  257. package/.internal/plugins/colorPicker/ColorPicker.js.map +1 -0
  258. package/.internal/plugins/colorPicker/ColorPickerButton.d.ts +28 -0
  259. package/.internal/plugins/colorPicker/ColorPickerButton.d.ts.map +1 -0
  260. package/.internal/plugins/colorPicker/ColorPickerButton.js +87 -0
  261. package/.internal/plugins/colorPicker/ColorPickerButton.js.map +1 -0
  262. package/.internal/plugins/colorPicker/ColorPickerDefaultTheme.d.ts +8 -0
  263. package/.internal/plugins/colorPicker/ColorPickerDefaultTheme.d.ts.map +1 -0
  264. package/.internal/plugins/colorPicker/ColorPickerDefaultTheme.js +248 -0
  265. package/.internal/plugins/colorPicker/ColorPickerDefaultTheme.js.map +1 -0
  266. package/.internal/plugins/json/Classes-script.d.ts +28 -0
  267. package/.internal/plugins/json/Classes-script.d.ts.map +1 -1
  268. package/.internal/plugins/json/Classes-script.js +14 -0
  269. package/.internal/plugins/json/Classes-script.js.map +1 -1
  270. package/.internal/plugins/json/Classes.d.ts +28 -0
  271. package/.internal/plugins/json/Classes.d.ts.map +1 -1
  272. package/.internal/plugins/json/Classes.js +14 -0
  273. package/.internal/plugins/json/Classes.js.map +1 -1
  274. package/.internal/themes/DefaultTheme.d.ts.map +1 -1
  275. package/.internal/themes/DefaultTheme.js +227 -2
  276. package/.internal/themes/DefaultTheme.js.map +1 -1
  277. package/CHANGELOG.md +27 -0
  278. package/examples/javascript/flow-arc-horizontal/package.json +1 -1
  279. package/examples/javascript/flow-arc-vertical/package.json +1 -1
  280. package/examples/javascript/flow-chord/package.json +1 -1
  281. package/examples/javascript/flow-chord-directed/package.json +1 -1
  282. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  283. package/examples/javascript/flow-sankey/package.json +1 -1
  284. package/examples/javascript/gantt/README.md +6 -0
  285. package/examples/javascript/gantt/index.css +11 -0
  286. package/examples/javascript/gantt/index.html +12 -0
  287. package/examples/javascript/gantt/index.js +233 -0
  288. package/examples/javascript/gantt/package.json +16 -0
  289. package/examples/javascript/gantt/webpack.config.js +38 -0
  290. package/examples/javascript/gantt-multilevel/README.md +6 -0
  291. package/examples/javascript/gantt-multilevel/index.css +11 -0
  292. package/examples/javascript/gantt-multilevel/index.html +12 -0
  293. package/examples/javascript/gantt-multilevel/index.js +111 -0
  294. package/examples/javascript/gantt-multilevel/package.json +16 -0
  295. package/examples/javascript/gantt-multilevel/webpack.config.js +38 -0
  296. package/examples/javascript/gantt-simple/README.md +6 -0
  297. package/examples/javascript/gantt-simple/index.css +11 -0
  298. package/examples/javascript/gantt-simple/index.html +12 -0
  299. package/examples/javascript/gantt-simple/index.js +94 -0
  300. package/examples/javascript/gantt-simple/package.json +16 -0
  301. package/examples/javascript/gantt-simple/webpack.config.js +38 -0
  302. package/examples/javascript/gauge/package.json +1 -1
  303. package/examples/javascript/gauge-bands/package.json +1 -1
  304. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  305. package/examples/javascript/hierarchy-pack/package.json +1 -1
  306. package/examples/javascript/hierarchy-partition/package.json +1 -1
  307. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  308. package/examples/javascript/hierarchy-tree/package.json +1 -1
  309. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  310. package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
  311. package/examples/javascript/jest/package.json +1 -1
  312. package/examples/javascript/json-pie/package.json +1 -1
  313. package/examples/javascript/json-xy/package.json +1 -1
  314. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  315. package/examples/javascript/map-clustered-points/package.json +1 -1
  316. package/examples/javascript/map-day-and-night/package.json +1 -1
  317. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  318. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  319. package/examples/javascript/map-with-bubbles/package.json +1 -1
  320. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  321. package/examples/javascript/misc-40-charts/package.json +1 -1
  322. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  323. package/examples/javascript/pie-chart/package.json +1 -1
  324. package/examples/javascript/pie-donut-chart/package.json +1 -1
  325. package/examples/javascript/pie-variable-radius/package.json +1 -1
  326. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  327. package/examples/javascript/radar-heat-map/package.json +1 -1
  328. package/examples/javascript/radar-line/package.json +1 -1
  329. package/examples/javascript/radar-time-line/package.json +1 -1
  330. package/examples/javascript/sliced-funnel/package.json +1 -1
  331. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  332. package/examples/javascript/sliced-pyramid/package.json +1 -1
  333. package/examples/javascript/stock-chart/index.js +2 -0
  334. package/examples/javascript/stock-chart/package.json +1 -1
  335. package/examples/javascript/stock-chart-comparing-stocks/index.js +2 -0
  336. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  337. package/examples/javascript/stock-chart-data-granularity/index.js +2 -0
  338. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  339. package/examples/javascript/stock-chart-data-grouping/index.js +2 -0
  340. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  341. package/examples/javascript/stock-chart-intraday/index.js +2 -0
  342. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  343. package/examples/javascript/stock-chart-live/index.js +1 -0
  344. package/examples/javascript/stock-chart-live/package.json +1 -1
  345. package/examples/javascript/stock-chart-volume-separate-panel/index.js +2 -0
  346. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  347. package/examples/javascript/timeline-horizontal-serpentine-chart/package.json +1 -1
  348. package/examples/javascript/timeline-linear-process-diagram/package.json +1 -1
  349. package/examples/javascript/timeline-serpentine-chart/package.json +1 -1
  350. package/examples/javascript/timeline-spiral-chart/package.json +1 -1
  351. package/examples/javascript/venn-diagram/package.json +1 -1
  352. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  353. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  354. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  355. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  356. package/examples/javascript/xy-bubble/package.json +1 -1
  357. package/examples/javascript/xy-candlestick/index.js +1 -0
  358. package/examples/javascript/xy-candlestick/package.json +1 -1
  359. package/examples/javascript/xy-clustered-column/package.json +1 -1
  360. package/examples/javascript/xy-column/package.json +1 -1
  361. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  362. package/examples/javascript/xy-data-grouping/package.json +1 -1
  363. package/examples/javascript/xy-draggable-range/package.json +1 -1
  364. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  365. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  366. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  367. package/examples/javascript/xy-line/package.json +1 -1
  368. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  369. package/examples/javascript/xy-live-data/package.json +1 -1
  370. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  371. package/examples/javascript/xy-ohlc/package.json +1 -1
  372. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  373. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  374. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  375. package/examples/javascript/xy-stacked-column/package.json +1 -1
  376. package/examples/javascript/xy-stacked-step/package.json +1 -1
  377. package/examples/javascript/xy-stock/package.json +1 -1
  378. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  379. package/examples/typescript/flow-arc-horizontal/package.json +1 -1
  380. package/examples/typescript/flow-arc-vertical/package.json +1 -1
  381. package/examples/typescript/flow-chord/package.json +1 -1
  382. package/examples/typescript/flow-chord-directed/package.json +1 -1
  383. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  384. package/examples/typescript/flow-sankey/package.json +1 -1
  385. package/examples/typescript/gantt/README.md +6 -0
  386. package/examples/typescript/gantt/index.css +11 -0
  387. package/examples/typescript/gantt/index.html +12 -0
  388. package/examples/typescript/gantt/index.ts +233 -0
  389. package/examples/typescript/gantt/package.json +18 -0
  390. package/examples/typescript/gantt/tsconfig.json +12 -0
  391. package/examples/typescript/gantt/webpack.config.js +45 -0
  392. package/examples/typescript/gantt-multilevel/README.md +6 -0
  393. package/examples/typescript/gantt-multilevel/index.css +11 -0
  394. package/examples/typescript/gantt-multilevel/index.html +12 -0
  395. package/examples/typescript/gantt-multilevel/index.ts +111 -0
  396. package/examples/typescript/gantt-multilevel/package.json +18 -0
  397. package/examples/typescript/gantt-multilevel/tsconfig.json +12 -0
  398. package/examples/typescript/gantt-multilevel/webpack.config.js +45 -0
  399. package/examples/typescript/gantt-simple/README.md +6 -0
  400. package/examples/typescript/gantt-simple/index.css +11 -0
  401. package/examples/typescript/gantt-simple/index.html +12 -0
  402. package/examples/typescript/gantt-simple/index.ts +94 -0
  403. package/examples/typescript/gantt-simple/package.json +18 -0
  404. package/examples/typescript/gantt-simple/tsconfig.json +12 -0
  405. package/examples/typescript/gantt-simple/webpack.config.js +45 -0
  406. package/examples/typescript/gauge/package.json +1 -1
  407. package/examples/typescript/gauge-bands/package.json +1 -1
  408. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  409. package/examples/typescript/hierarchy-pack/package.json +1 -1
  410. package/examples/typescript/hierarchy-partition/package.json +1 -1
  411. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  412. package/examples/typescript/hierarchy-tree/package.json +1 -1
  413. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  414. package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
  415. package/examples/typescript/jest/package.json +1 -1
  416. package/examples/typescript/json-pie/package.json +1 -1
  417. package/examples/typescript/json-xy/package.json +1 -1
  418. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  419. package/examples/typescript/map-clustered-points/package.json +1 -1
  420. package/examples/typescript/map-day-and-night/package.json +1 -1
  421. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  422. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  423. package/examples/typescript/map-with-bubbles/package.json +1 -1
  424. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  425. package/examples/typescript/misc-40-charts/package.json +1 -1
  426. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  427. package/examples/typescript/pie-chart/package.json +1 -1
  428. package/examples/typescript/pie-donut-chart/package.json +1 -1
  429. package/examples/typescript/pie-variable-radius/package.json +1 -1
  430. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  431. package/examples/typescript/radar-heat-map/package.json +1 -1
  432. package/examples/typescript/radar-line/package.json +1 -1
  433. package/examples/typescript/radar-time-line/package.json +1 -1
  434. package/examples/typescript/sliced-funnel/package.json +1 -1
  435. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  436. package/examples/typescript/sliced-pyramid/package.json +1 -1
  437. package/examples/typescript/stock-chart/index.ts +2 -0
  438. package/examples/typescript/stock-chart/package.json +1 -1
  439. package/examples/typescript/stock-chart-comparing-stocks/index.ts +2 -0
  440. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  441. package/examples/typescript/stock-chart-data-granularity/index.ts +2 -0
  442. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  443. package/examples/typescript/stock-chart-data-grouping/index.ts +2 -0
  444. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  445. package/examples/typescript/stock-chart-intraday/index.ts +2 -0
  446. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  447. package/examples/typescript/stock-chart-live/index.ts +1 -0
  448. package/examples/typescript/stock-chart-live/package.json +1 -1
  449. package/examples/typescript/stock-chart-volume-separate-panel/index.ts +2 -0
  450. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  451. package/examples/typescript/timeline-horizontal-serpentine-chart/package.json +1 -1
  452. package/examples/typescript/timeline-linear-process-diagram/package.json +1 -1
  453. package/examples/typescript/timeline-serpentine-chart/package.json +1 -1
  454. package/examples/typescript/timeline-spiral-chart/package.json +1 -1
  455. package/examples/typescript/venn-diagram/package.json +1 -1
  456. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  457. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  458. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  459. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  460. package/examples/typescript/xy-bubble/package.json +1 -1
  461. package/examples/typescript/xy-candlestick/index.ts +1 -0
  462. package/examples/typescript/xy-candlestick/package.json +1 -1
  463. package/examples/typescript/xy-clustered-column/package.json +1 -1
  464. package/examples/typescript/xy-column/package.json +1 -1
  465. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  466. package/examples/typescript/xy-data-grouping/package.json +1 -1
  467. package/examples/typescript/xy-draggable-range/package.json +1 -1
  468. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  469. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  470. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  471. package/examples/typescript/xy-line/package.json +1 -1
  472. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  473. package/examples/typescript/xy-live-data/package.json +1 -1
  474. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  475. package/examples/typescript/xy-ohlc/package.json +1 -1
  476. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  477. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  478. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  479. package/examples/typescript/xy-stacked-column/package.json +1 -1
  480. package/examples/typescript/xy-stacked-step/package.json +1 -1
  481. package/examples/typescript/xy-stock/package.json +1 -1
  482. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  483. package/gantt.d.ts +9 -0
  484. package/gantt.d.ts.map +1 -0
  485. package/gantt.js +9 -0
  486. package/gantt.js.map +1 -0
  487. package/index.d.ts +5 -0
  488. package/index.d.ts.map +1 -1
  489. package/index.js +5 -0
  490. package/index.js.map +1 -1
  491. package/locales/ar.d.ts +4 -0
  492. package/locales/ar.d.ts.map +1 -1
  493. package/locales/ar.js +5 -0
  494. package/locales/ar.js.map +1 -1
  495. package/locales/bg_BG.d.ts +2 -0
  496. package/locales/bg_BG.d.ts.map +1 -1
  497. package/locales/bg_BG.js +3 -1
  498. package/locales/bg_BG.js.map +1 -1
  499. package/locales/bs_BA.d.ts +4 -0
  500. package/locales/bs_BA.d.ts.map +1 -1
  501. package/locales/bs_BA.js +5 -0
  502. package/locales/bs_BA.js.map +1 -1
  503. package/locales/ca_ES.d.ts +4 -0
  504. package/locales/ca_ES.d.ts.map +1 -1
  505. package/locales/ca_ES.js +5 -0
  506. package/locales/ca_ES.js.map +1 -1
  507. package/locales/cs_CZ.d.ts +4 -0
  508. package/locales/cs_CZ.d.ts.map +1 -1
  509. package/locales/cs_CZ.js +5 -0
  510. package/locales/cs_CZ.js.map +1 -1
  511. package/locales/da_DK.d.ts +4 -0
  512. package/locales/da_DK.d.ts.map +1 -1
  513. package/locales/da_DK.js +5 -0
  514. package/locales/da_DK.js.map +1 -1
  515. package/locales/de_CH.d.ts +4 -0
  516. package/locales/de_CH.d.ts.map +1 -1
  517. package/locales/de_CH.js +5 -0
  518. package/locales/de_CH.js.map +1 -1
  519. package/locales/de_DE.d.ts +4 -0
  520. package/locales/de_DE.d.ts.map +1 -1
  521. package/locales/de_DE.js +5 -0
  522. package/locales/de_DE.js.map +1 -1
  523. package/locales/el_GR.d.ts +4 -0
  524. package/locales/el_GR.d.ts.map +1 -1
  525. package/locales/el_GR.js +5 -0
  526. package/locales/el_GR.js.map +1 -1
  527. package/locales/en.d.ts +2 -0
  528. package/locales/en.d.ts.map +1 -1
  529. package/locales/en.js +3 -1
  530. package/locales/en.js.map +1 -1
  531. package/locales/en_CA.d.ts +4 -0
  532. package/locales/en_CA.d.ts.map +1 -1
  533. package/locales/en_CA.js +5 -0
  534. package/locales/en_CA.js.map +1 -1
  535. package/locales/en_US.d.ts +4 -0
  536. package/locales/en_US.d.ts.map +1 -1
  537. package/locales/en_US.js +5 -0
  538. package/locales/en_US.js.map +1 -1
  539. package/locales/es_ES.d.ts +4 -0
  540. package/locales/es_ES.d.ts.map +1 -1
  541. package/locales/es_ES.js +6 -1
  542. package/locales/es_ES.js.map +1 -1
  543. package/locales/et_EE.d.ts +4 -0
  544. package/locales/et_EE.d.ts.map +1 -1
  545. package/locales/et_EE.js +5 -0
  546. package/locales/et_EE.js.map +1 -1
  547. package/locales/fi_FI.d.ts +4 -0
  548. package/locales/fi_FI.d.ts.map +1 -1
  549. package/locales/fi_FI.js +5 -0
  550. package/locales/fi_FI.js.map +1 -1
  551. package/locales/fo_FO.d.ts +2 -0
  552. package/locales/fo_FO.d.ts.map +1 -1
  553. package/locales/fo_FO.js +3 -1
  554. package/locales/fo_FO.js.map +1 -1
  555. package/locales/fr_FR.d.ts +4 -0
  556. package/locales/fr_FR.d.ts.map +1 -1
  557. package/locales/fr_FR.js +5 -0
  558. package/locales/fr_FR.js.map +1 -1
  559. package/locales/he_IL.d.ts +4 -0
  560. package/locales/he_IL.d.ts.map +1 -1
  561. package/locales/he_IL.js +5 -0
  562. package/locales/he_IL.js.map +1 -1
  563. package/locales/hi_IN.d.ts +4 -0
  564. package/locales/hi_IN.d.ts.map +1 -1
  565. package/locales/hi_IN.js +5 -0
  566. package/locales/hi_IN.js.map +1 -1
  567. package/locales/hr_HR.d.ts +4 -0
  568. package/locales/hr_HR.d.ts.map +1 -1
  569. package/locales/hr_HR.js +5 -0
  570. package/locales/hr_HR.js.map +1 -1
  571. package/locales/hu_HU.d.ts +4 -0
  572. package/locales/hu_HU.d.ts.map +1 -1
  573. package/locales/hu_HU.js +5 -0
  574. package/locales/hu_HU.js.map +1 -1
  575. package/locales/id_ID.d.ts +4 -0
  576. package/locales/id_ID.d.ts.map +1 -1
  577. package/locales/id_ID.js +5 -0
  578. package/locales/id_ID.js.map +1 -1
  579. package/locales/it_IT.d.ts +4 -0
  580. package/locales/it_IT.d.ts.map +1 -1
  581. package/locales/it_IT.js +5 -0
  582. package/locales/it_IT.js.map +1 -1
  583. package/locales/ja_JP.d.ts +4 -0
  584. package/locales/ja_JP.d.ts.map +1 -1
  585. package/locales/ja_JP.js +5 -0
  586. package/locales/ja_JP.js.map +1 -1
  587. package/locales/ko_KR.d.ts +4 -0
  588. package/locales/ko_KR.d.ts.map +1 -1
  589. package/locales/ko_KR.js +5 -0
  590. package/locales/ko_KR.js.map +1 -1
  591. package/locales/lt_LT.d.ts +4 -0
  592. package/locales/lt_LT.d.ts.map +1 -1
  593. package/locales/lt_LT.js +5 -0
  594. package/locales/lt_LT.js.map +1 -1
  595. package/locales/lv_LV.d.ts +4 -0
  596. package/locales/lv_LV.d.ts.map +1 -1
  597. package/locales/lv_LV.js +5 -0
  598. package/locales/lv_LV.js.map +1 -1
  599. package/locales/nb_NO.d.ts +4 -0
  600. package/locales/nb_NO.d.ts.map +1 -1
  601. package/locales/nb_NO.js +5 -0
  602. package/locales/nb_NO.js.map +1 -1
  603. package/locales/nl_NL.d.ts +4 -0
  604. package/locales/nl_NL.d.ts.map +1 -1
  605. package/locales/nl_NL.js +5 -0
  606. package/locales/nl_NL.js.map +1 -1
  607. package/locales/pl_PL.d.ts +4 -0
  608. package/locales/pl_PL.d.ts.map +1 -1
  609. package/locales/pl_PL.js +5 -0
  610. package/locales/pl_PL.js.map +1 -1
  611. package/locales/pt_BR.d.ts +4 -0
  612. package/locales/pt_BR.d.ts.map +1 -1
  613. package/locales/pt_BR.js +5 -0
  614. package/locales/pt_BR.js.map +1 -1
  615. package/locales/pt_PT.d.ts +4 -0
  616. package/locales/pt_PT.d.ts.map +1 -1
  617. package/locales/pt_PT.js +5 -0
  618. package/locales/pt_PT.js.map +1 -1
  619. package/locales/ro_RO.d.ts +4 -0
  620. package/locales/ro_RO.d.ts.map +1 -1
  621. package/locales/ro_RO.js +5 -0
  622. package/locales/ro_RO.js.map +1 -1
  623. package/locales/ru_RU.d.ts +4 -0
  624. package/locales/ru_RU.d.ts.map +1 -1
  625. package/locales/ru_RU.js +5 -0
  626. package/locales/ru_RU.js.map +1 -1
  627. package/locales/sk_SK.d.ts +4 -0
  628. package/locales/sk_SK.d.ts.map +1 -1
  629. package/locales/sk_SK.js +5 -0
  630. package/locales/sk_SK.js.map +1 -1
  631. package/locales/sl_SL.d.ts +4 -0
  632. package/locales/sl_SL.d.ts.map +1 -1
  633. package/locales/sl_SL.js +5 -0
  634. package/locales/sl_SL.js.map +1 -1
  635. package/locales/sr_RS.d.ts +4 -0
  636. package/locales/sr_RS.d.ts.map +1 -1
  637. package/locales/sr_RS.js +5 -0
  638. package/locales/sr_RS.js.map +1 -1
  639. package/locales/sv_SE.d.ts +4 -0
  640. package/locales/sv_SE.d.ts.map +1 -1
  641. package/locales/sv_SE.js +5 -0
  642. package/locales/sv_SE.js.map +1 -1
  643. package/locales/th_TH.d.ts +4 -0
  644. package/locales/th_TH.d.ts.map +1 -1
  645. package/locales/th_TH.js +5 -0
  646. package/locales/th_TH.js.map +1 -1
  647. package/locales/tr_TR.d.ts +4 -0
  648. package/locales/tr_TR.d.ts.map +1 -1
  649. package/locales/tr_TR.js +5 -0
  650. package/locales/tr_TR.js.map +1 -1
  651. package/locales/uk_UA.d.ts +4 -0
  652. package/locales/uk_UA.d.ts.map +1 -1
  653. package/locales/uk_UA.js +5 -0
  654. package/locales/uk_UA.js.map +1 -1
  655. package/locales/vi_VN.d.ts +4 -0
  656. package/locales/vi_VN.d.ts.map +1 -1
  657. package/locales/vi_VN.js +5 -0
  658. package/locales/vi_VN.js.map +1 -1
  659. package/locales/zh_Hans.d.ts +4 -0
  660. package/locales/zh_Hans.d.ts.map +1 -1
  661. package/locales/zh_Hans.js +5 -0
  662. package/locales/zh_Hans.js.map +1 -1
  663. package/locales/zh_Hant.d.ts +4 -0
  664. package/locales/zh_Hant.d.ts.map +1 -1
  665. package/locales/zh_Hant.js +5 -0
  666. package/locales/zh_Hant.js.map +1 -1
  667. package/package.json +1 -1
  668. package/plugins/colorPicker.d.ts +3 -0
  669. package/plugins/colorPicker.d.ts.map +1 -0
  670. package/plugins/colorPicker.js +3 -0
  671. package/plugins/colorPicker.js.map +1 -0
  672. package/xy.d.ts +1 -0
  673. package/xy.d.ts.map +1 -1
  674. package/xy.js +1 -0
  675. package/xy.js.map +1 -1
@@ -1,10 +1,10 @@
1
1
  import { Axis } from "./Axis";
2
+ import { populateString } from "../../../core/util/PopulateString";
3
+ import { ValueAxis } from "./ValueAxis";
2
4
  import * as $array from "../../../core/util/Array";
3
5
  import * as $type from "../../../core/util/Type";
4
6
  import * as $math from "../../../core/util/Math";
5
7
  import * as $utils from "../../../core/util/Utils";
6
- import { populateString } from "../../../core/util/PopulateString";
7
- import { ValueAxis } from "./ValueAxis";
8
8
  /**
9
9
  * Creates a category axis.
10
10
  *
@@ -29,11 +29,21 @@ export class CategoryAxis extends Axis {
29
29
  }
30
30
  _afterNew() {
31
31
  this._settings.themeTags = $utils.mergeTags(this._settings.themeTags, ["axis"]);
32
- this.fields.push("category");
32
+ this.fields.push("category", "id", "cellSize");
33
33
  this.setPrivateRaw("name", "category");
34
34
  this.addTag("category");
35
35
  super._afterNew();
36
36
  }
37
+ _afterDataChange() {
38
+ super._afterDataChange();
39
+ const len = this.dataItems.length;
40
+ if (len > 0) {
41
+ this.setPrivateRaw("maxZoomFactor", len);
42
+ }
43
+ // fix final indexes
44
+ this.setPrivateRaw("startIndex", Math.min(this.getPrivate("startIndex", 0), len));
45
+ this.setPrivateRaw("endIndex", Math.min(this.getPrivate("endIndex", len), 1));
46
+ }
37
47
  _prepareChildren() {
38
48
  super._prepareChildren();
39
49
  const len = this.dataItems.length;
@@ -47,8 +57,11 @@ export class CategoryAxis extends Axis {
47
57
  });
48
58
  this.setPrivateRaw("maxZoomFactor", len);
49
59
  }
50
- this.setPrivateRaw("startIndex", Math.max(Math.round(this.get("start", 0) * len), 0));
51
- this.setPrivateRaw("endIndex", Math.min(Math.round(this.get("end", 1) * len), len));
60
+ let start = this.get("start", 0);
61
+ let end = this.get("end", 1);
62
+ let indices = this._getIndices(start, end);
63
+ this.setPrivateRaw("startIndex", indices.startIndex);
64
+ this.setPrivateRaw("endIndex", indices.endIndex);
52
65
  if (this._sizeDirty || this._valuesDirty || (this.isDirty("start") || this.isDirty("end") || this.isPrivateDirty("endIndex") || this.isPrivateDirty("startIndex") || this.isPrivateDirty("width") || this.isPrivateDirty("height"))) {
53
66
  if (this.dataItems.length > 0) {
54
67
  this._handleRangeChange();
@@ -57,6 +70,78 @@ export class CategoryAxis extends Axis {
57
70
  }
58
71
  }
59
72
  }
73
+ /**
74
+ * @ignore
75
+ */
76
+ adjustZoom() {
77
+ const len = this.dataItems.length;
78
+ if (len > 1) {
79
+ let maxZoomCount = this.get("maxZoomCount", this.dataItems.length);
80
+ let minZoomCount = this.get("minZoomCount", 1);
81
+ let count = 0;
82
+ let startIndex = this.getPrivate("startIndex", 0);
83
+ let endIndex = this.getPrivate("endIndex", 0);
84
+ const sAnimation = this._sAnimation;
85
+ const eAnimation = this._eAnimation;
86
+ let start = this.get("start", 0);
87
+ let getIndices = false;
88
+ if (sAnimation && !sAnimation.stopped) {
89
+ start = Number(sAnimation.to);
90
+ getIndices = true;
91
+ }
92
+ let end = this.get("end", 1);
93
+ if (eAnimation && !eAnimation.stopped) {
94
+ end = Number(eAnimation.to);
95
+ getIndices = true;
96
+ }
97
+ if (getIndices) {
98
+ const indices = this._getIndices(start, end);
99
+ startIndex = indices.startIndex;
100
+ endIndex = indices.endIndex;
101
+ }
102
+ for (let i = startIndex; i < endIndex; i++) {
103
+ const dataItem = this.dataItems[i];
104
+ count += dataItem.get("finalCellSize", 1);
105
+ }
106
+ ;
107
+ if (count <= minZoomCount) {
108
+ // need to zoom out
109
+ let c = 0;
110
+ for (let i = startIndex; i < len; i++) {
111
+ const dataItem = this.dataItems[i];
112
+ c += dataItem.get("finalCellSize", 1);
113
+ endIndex = i + 1;
114
+ if (c >= minZoomCount) {
115
+ break;
116
+ }
117
+ }
118
+ if (c < minZoomCount) {
119
+ // still not enough, try to extend at the start
120
+ for (let i = startIndex - 1; i >= 0; i--) {
121
+ const dataItem = this.dataItems[i];
122
+ c += dataItem.get("finalCellSize", 1);
123
+ startIndex = i;
124
+ if (c >= minZoomCount) {
125
+ break;
126
+ }
127
+ }
128
+ }
129
+ this.zoomToIndexes(startIndex, endIndex);
130
+ }
131
+ else if (count >= maxZoomCount) {
132
+ let c = count;
133
+ for (let i = endIndex - 1; i >= startIndex; i--) {
134
+ const dataItem = this.dataItems[i];
135
+ c -= dataItem.get("finalCellSize", 1);
136
+ if (c <= maxZoomCount) {
137
+ endIndex = i + 1;
138
+ break;
139
+ }
140
+ }
141
+ this.zoomToIndexes(startIndex, endIndex);
142
+ }
143
+ }
144
+ }
60
145
  _handleRangeChange() {
61
146
  $array.each(this.series, (series) => {
62
147
  let startCategory = this.dataItems[this.startIndex()].get("category");
@@ -92,36 +177,45 @@ export class CategoryAxis extends Axis {
92
177
  if (key || openKey) {
93
178
  let startDataItem;
94
179
  let endDataItem;
95
- for (let i = 0, len = series.dataItems.length; i < len; i++) {
96
- let dataItem = series.dataItems[i];
97
- if (key) {
98
- if (dataItem.get(key) === startCategory) {
99
- startDataItem = dataItem;
100
- break;
101
- }
102
- }
103
- if (openKey) {
104
- if (dataItem.get(openKey) === startCategory) {
105
- startDataItem = dataItem;
106
- break;
180
+ function findDataItem(series, categoryAxis, key, openKey, category, direction) {
181
+ let dataItem;
182
+ let idx = categoryAxis.categoryToIndex(category);
183
+ while (!dataItem && idx >= 0 && idx < categoryAxis.dataItems.length) {
184
+ let searchCategory = categoryAxis.dataItems[idx].get("category");
185
+ if (direction == "previous") {
186
+ for (let i = series.dataItems.length - 1; i >= 0; i--) {
187
+ let item = series.dataItems[i];
188
+ if (key && item.get(key) === searchCategory) {
189
+ dataItem = item;
190
+ break;
191
+ }
192
+ if (openKey && item.get(openKey) === searchCategory) {
193
+ dataItem = item;
194
+ break;
195
+ }
196
+ }
107
197
  }
108
- }
109
- }
110
- for (let i = series.dataItems.length - 1; i >= 0; i--) {
111
- let dataItem = series.dataItems[i];
112
- if (key) {
113
- if (dataItem.get(key) === endCategory) {
114
- endDataItem = dataItem;
115
- break;
198
+ else {
199
+ for (let i = 0, len = series.dataItems.length; i < len; i++) {
200
+ let item = series.dataItems[i];
201
+ if (key && item.get(key) === searchCategory) {
202
+ dataItem = item;
203
+ break;
204
+ }
205
+ if (openKey && item.get(openKey) === searchCategory) {
206
+ dataItem = item;
207
+ break;
208
+ }
209
+ }
116
210
  }
117
- }
118
- if (openKey) {
119
- if (dataItem.get(openKey) === endCategory) {
120
- endDataItem = dataItem;
121
- break;
211
+ if (!dataItem) {
212
+ idx += direction === "previous" ? -1 : 1;
122
213
  }
123
214
  }
215
+ return dataItem;
124
216
  }
217
+ startDataItem = findDataItem(series, this, key, openKey, startCategory, "next");
218
+ endDataItem = findDataItem(series, this, key, openKey, endCategory, "previous");
125
219
  let startIndex = 0;
126
220
  let endIndex = series.dataItems.length;
127
221
  if (startDataItem) {
@@ -231,6 +325,9 @@ export class CategoryAxis extends Axis {
231
325
  let fillEndPosition;
232
326
  if (dataItem.get("isRange")) {
233
327
  fillEndIndex = endIndex;
328
+ if (!$type.isNumber(index)) {
329
+ return;
330
+ }
234
331
  }
235
332
  else {
236
333
  fillEndIndex = index + this._frequency - 1;
@@ -337,19 +434,52 @@ export class CategoryAxis extends Axis {
337
434
  * @param location Location
338
435
  * @return Index
339
436
  */
340
- indexToPosition(index, location) {
437
+ indexToPosition(index, location, final) {
438
+ let len = this.dataItems.length;
439
+ let position = 0;
440
+ if (len == 0) {
441
+ return 0;
442
+ }
443
+ if (index >= len) {
444
+ index = len - 1;
445
+ location = 1;
446
+ }
341
447
  if (!$type.isNumber(location)) {
342
448
  location = 0.5;
343
449
  }
344
- let len = this.dataItems.length;
450
+ if (!$type.isNumber(index)) {
451
+ return 0;
452
+ }
345
453
  let startLocation = this.get("startLocation", 0);
346
454
  let endLocation = this.get("endLocation", 1);
347
- len -= startLocation;
348
- len -= (1 - endLocation);
349
- let position = (index + location - startLocation) / len;
350
- let dataItem = this.dataItems[index];
351
- if (dataItem) {
352
- position += dataItem.get("deltaPosition", 0);
455
+ if (!this.get("cellSizeField")) {
456
+ len -= startLocation;
457
+ len -= (1 - endLocation);
458
+ position = (index + location - startLocation) / len;
459
+ }
460
+ else {
461
+ let name = final ? "finalCellSize" : "cellSize";
462
+ const dataItems = this.dataItems;
463
+ // Calculate total modified count (sum of cell sizes)
464
+ let modCount = 0;
465
+ $array.each(this.dataItems, (dataItem) => {
466
+ modCount += dataItem.get(name, 1);
467
+ });
468
+ modCount -= startLocation * dataItems[0].get(name, 1);
469
+ modCount -= (1 - endLocation) * dataItems[dataItems.length - 1].get(name, 1);
470
+ // Calculate the position based on cell sizes
471
+ let acc = 0;
472
+ for (let i = 0; i < index; i++) {
473
+ acc += dataItems[i].get(name, 1);
474
+ }
475
+ let cellSizeAtIndex = dataItems[index].get(name, 1);
476
+ position = (acc + location * cellSizeAtIndex - startLocation * dataItems[0].get(name, 1)) / modCount;
477
+ }
478
+ if (!final) {
479
+ let dataItem = this.dataItems[index];
480
+ if (dataItem) {
481
+ position += dataItem.get("deltaPosition", 0);
482
+ }
353
483
  }
354
484
  return position;
355
485
  }
@@ -401,7 +531,38 @@ export class CategoryAxis extends Axis {
401
531
  */
402
532
  axisPositionToIndex(position) {
403
533
  let len = this.dataItems.length;
404
- return $math.fitToRange(Math.floor(position * len), 0, len - 1); //$math.fitToRange(Math.floor((end - start) * len * position + len * start), 0, len - 1);
534
+ if (len === 0) {
535
+ return 0;
536
+ }
537
+ // Calculate total modified length (sum of cell sizes)
538
+ if (this.get("cellSizeField")) {
539
+ let modifiedLen = 0;
540
+ let cellSizes = [];
541
+ $array.each(this.dataItems, (dataItem) => {
542
+ const cellSize = dataItem.get("cellSize", 1);
543
+ cellSizes.push(cellSize);
544
+ modifiedLen += cellSize;
545
+ });
546
+ // Adjust for startLocation and endLocation
547
+ let startLocation = this.get("startLocation", 0);
548
+ let endLocation = this.get("endLocation", 1);
549
+ modifiedLen -= startLocation;
550
+ modifiedLen -= (1 - endLocation);
551
+ // Find which cell the position falls into
552
+ let rel = position * modifiedLen + startLocation;
553
+ let acc = 0;
554
+ for (let i = 0; i < len; i++) {
555
+ const cellSize = cellSizes[i];
556
+ if (rel < acc + cellSize) {
557
+ return i;
558
+ }
559
+ acc += cellSize;
560
+ }
561
+ return len - 1;
562
+ }
563
+ else {
564
+ return $math.fitToRange(Math.floor(position * len), 0, len - 1);
565
+ }
405
566
  }
406
567
  /**
407
568
  * Returns text to be used in an axis tooltip for specific relative position.
@@ -452,6 +613,39 @@ export class CategoryAxis extends Axis {
452
613
  }
453
614
  }
454
615
  }
616
+ _getIndices(start, end) {
617
+ let len = this.dataItems.length;
618
+ let startIndex = 0;
619
+ let endIndex = len;
620
+ if (this.get("cellSizeField")) {
621
+ let count = 0;
622
+ $array.each(this.dataItems, (dataItem) => {
623
+ count += dataItem.get("cellSize", 1);
624
+ });
625
+ let c = 0;
626
+ for (let i = 0; i < len; i++) {
627
+ c += this.dataItems[i].get("cellSize", 1);
628
+ if (c / count > start) {
629
+ startIndex = i;
630
+ break;
631
+ }
632
+ }
633
+ for (let i = startIndex + 1; i < len; i++) {
634
+ c += this.dataItems[i].get("cellSize", 1);
635
+ if (c / count > end) {
636
+ endIndex = i + 1;
637
+ break;
638
+ }
639
+ }
640
+ startIndex = Math.max(startIndex, 0);
641
+ endIndex = Math.min(endIndex, len);
642
+ }
643
+ else {
644
+ startIndex = Math.max(Math.round(this.get("start", 0) * len), 0);
645
+ endIndex = Math.min(Math.round(this.get("end", 1) * len), len);
646
+ }
647
+ return { startIndex, endIndex };
648
+ }
455
649
  /**
456
650
  * Zooms the axis to specific `start` and `end` indexes.
457
651
  *
@@ -463,7 +657,16 @@ export class CategoryAxis extends Axis {
463
657
  */
464
658
  zoomToIndexes(start, end, duration) {
465
659
  let len = this.dataItems.length;
466
- this.zoom(start / len, end / len, duration);
660
+ if (this.get("cellSizeField")) {
661
+ start = Math.min(Math.max(start, 0), len);
662
+ end = Math.max(Math.min(end, len), 1);
663
+ this.setPrivateRaw("startIndex", start);
664
+ this.setPrivateRaw("endIndex", end);
665
+ this.zoom(this.indexToPosition(start, 0, true), this.indexToPosition(end, 0, true), duration);
666
+ }
667
+ else {
668
+ this.zoom(start / len, end / len, duration);
669
+ }
467
670
  }
468
671
  zoomToCategories(startCategory, endCategory, duration) {
469
672
  this.zoomToIndexes(this.categoryToIndex(startCategory), this.categoryToIndex(endCategory) + 1, duration);
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryAxis.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/axes/CategoryAxis.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAA2D,MAAM,QAAQ,CAAC;AAEvF,OAAO,KAAK,MAAM,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AACjD,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AACjD,OAAO,KAAK,MAAM,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAwFxC;;;;;GAKG;AACH,MAAM,OAAO,YAAqC,SAAQ,IAAO;IAAjE;;QASC;;;;mBAA+B,CAAC;WAAC;QAEjC;;;;mBAA2E,EAAE;WAAC;IAyiB/E,CAAC;IAviBU,SAAS;QAClB,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACxB,KAAK,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEM,gBAAgB;QACtB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAEzB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,IAAI,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACxC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAW,CAAC,GAAG,QAAQ,CAAC;gBAC7D,CAAC,EAAE,CAAC;YACL,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;SACzC;QAED,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAEpF,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,EAAE;YACpO,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC9B,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,CAAC,iBAAiB,EAAE,CAAC;aACzB;SACD;IACF,CAAC;IAES,kBAAkB;QAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YACnC,IAAI,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACtE,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAEtE,IAAI,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACtC,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEhC,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,YAAY,YAAY,EAAE;gBACnE,MAAM,CAAC,cAAc,EAAE,CAAC;aACxB;iBACI,IAAI,QAAQ,KAAK,IAAI,EAAE;gBAC3B,IAAI,GAAuB,CAAC;gBAC5B,IAAI,OAA2B,CAAC;gBAChC,IAAI,SAAS,GAAG,KAAK,CAAC;gBACtB,IAAI,KAAK,KAAK,QAAQ,EAAE;oBACvB,IAAI,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;wBACjC,GAAG,GAAG,WAAW,CAAC;qBAClB;oBACD,IAAI,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE;wBACrC,OAAO,GAAG,eAAe,CAAC;qBAC1B;iBACD;qBACI,IAAI,KAAK,KAAK,QAAQ,EAAE;oBAC5B,IAAI,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;wBACjC,GAAG,GAAG,WAAW,CAAC;qBAClB;oBACD,IAAI,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE;wBACrC,OAAO,GAAG,eAAe,CAAC;qBAC1B;oBACD,SAAS,GAAG,KAAK,CAAC;iBAClB;gBAED,IAAI,SAAS,YAAY,SAAS,EAAE;oBAEnC,IAAI,GAAG,IAAI,OAAO,EAAE;wBACnB,IAAI,aAAsD,CAAC;wBAC3D,IAAI,WAAoD,CAAC;wBAEzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;4BAC5D,IAAI,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;4BACnC,IAAI,GAAG,EAAE;gCACR,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAU,CAAC,KAAK,aAAa,EAAE;oCAC/C,aAAa,GAAG,QAAQ,CAAC;oCACzB,MAAM;iCACN;6BACD;4BACD,IAAI,OAAO,EAAE;gCACZ,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAc,CAAC,KAAK,aAAa,EAAE;oCACnD,aAAa,GAAG,QAAQ,CAAC;oCACzB,MAAM;iCACN;6BACD;yBACD;wBAED,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;4BACtD,IAAI,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;4BACnC,IAAI,GAAG,EAAE;gCACR,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAU,CAAC,KAAK,WAAW,EAAE;oCAC7C,WAAW,GAAG,QAAQ,CAAC;oCACvB,MAAM;iCACN;6BACD;4BACD,IAAI,OAAO,EAAE;gCACZ,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAc,CAAC,KAAK,WAAW,EAAE;oCACjD,WAAW,GAAG,QAAQ,CAAC;oCACvB,MAAM;iCACN;6BACD;yBACD;wBAED,IAAI,UAAU,GAAG,CAAC,CAAC;wBACnB,IAAI,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;wBAEvC,IAAI,aAAa,EAAE;4BAClB,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;yBACrD;wBAED,IAAI,WAAW,EAAE;4BAChB,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;yBACrD;wBAED,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;wBAC5C,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;wBAExC,IAAI,QAAQ,GAAG,KAAK,CAAC;wBACrB,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;4BAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;4BAErC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,EAAE;gCAC9C,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAM,GAAG,CAAC,CAAC;gCACnC,IAAI,KAAK,IAAI,IAAI,EAAE;oCAClB,QAAQ,GAAG,IAAI,CAAC;iCAChB;4BACF,CAAC,CAAC,CAAA;4BAEF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,EAAE;gCAC9C,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAM,GAAG,CAAC,CAAC;gCACnC,IAAI,KAAK,IAAI,IAAI,EAAE;oCAClB,QAAQ,GAAG,IAAI,CAAC;iCAChB;4BACF,CAAC,CAAC,CAAA;4BAEF,IAAI,QAAQ,EAAE;gCACb,MAAM;6BACN;yBACD;wBACD,MAAM,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,CAAC;qBAC/C;iBACD;gBACD,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,kBAAkB;aAC3C;QACF,CAAC,CAAC,CAAA;IACH,CAAC;IAGS,iBAAiB;;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAElC,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,UAAU,GAAG,CAAC,EAAE;YACnB,UAAU,EAAE,CAAC;SACb;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC/B,IAAI,QAAQ,GAAG,GAAG,EAAE;YACnB,QAAQ,EAAE,CAAC;SACX;QAED,MAAM,kBAAkB,GAAG,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC9D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;QAE9E,IAAI,QAAQ,GAAG,QAAQ,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAE,EAAE,CAAC,CAAC,CAAC;QACrF,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE1F,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;QAC5D,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YAC7B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;SAC/C;QAED,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAEnD,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE;YACzD,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAEjC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACjC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAErC,IAAI,KAAK,GAAG,SAAS,CAAC;YACtB,IAAI,gBAAgB,EAAE;gBACrB,KAAK,GAAG,CAAC,CAAC;aACV;YAED,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YAE1C,CAAC,EAAE,CAAC;SACJ;QAED,IAAI,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE;YACrC,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;gBAC3C,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjC,IAAI,CAAC,GAAG,SAAS,IAAI,CAAC,EAAE;oBACvB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;oBAC9C,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBACrC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAEtC,IAAI,CAAC,kBAAkB,EAAE;wBACxB,MAAA,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,0CAAE,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;qBACpD;iBACD;aACD;SACD;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;IACrB,CAAC;IAGM,gBAAgB,CAAC,QAA6C,EAAE,SAAkB,EAAE,KAAc;QACxG,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAEpC,IAAI,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAC3D,IAAI,mBAAmB,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;QAEjE,IAAI,KAAK,GAAuB,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEtD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAC3B,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,CAAC;SACxD;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QAE7D,IAAI,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC;QAC/C,IAAI,QAAgB,CAAC;QACrB,IAAI,WAAW,EAAE;YAChB,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAC7C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAC9B,QAAQ,GAAG,KAAK,CAAC;aACjB;SACD;aACI;YACJ,QAAQ,GAAG,KAAK,CAAC;SACjB;QAED,IAAI,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QAEtE,IAAI,YAAoB,CAAC;QACzB,IAAI,eAAuB,CAAC;QAE5B,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YAC5B,YAAY,GAAG,QAAQ,CAAC;SACxB;aACI;YACJ,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SAC3C;QAED,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;QAE1E,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QAC1E,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QACjE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QACxE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;QAEzE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC9B,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAErE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,QAAQ,EAAE;YACb,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;SAC7B;IACF,CAAC;IAEM,UAAU;QAChB,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAChC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IACzE,CAAC;IAEM,QAAQ;QACd,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAChC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACI,SAAS;IAEhB,CAAC;IAED;;OAEG;IACI,YAAY;QAClB,OAAO,CAAC,CAAC;IACV,CAAC;IAED;;;;;OAKG;IACI,IAAI,CAAC,KAAa;QACxB,IAAI,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,YAAY,EAAE;YACjB,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SACxG;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAED;;;;;OAKG;IACI,IAAI,CAAC,KAAa;QACxB,IAAI,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,YAAY,EAAE;YACjB,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SACxG;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAED;;OAEG;IACI,oBAAoB,CAAC,QAAqC,EAAE,KAAa,EAAE,YAAoB,EAAE,aAAsB;QAC7H,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAY,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,YAAY,EAAE;YACjB,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;SACxE;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAED;;OAEG;IACI,sBAAsB,CAAC,QAAqC,EAAE,KAAa,EAAE,YAAoB,EAAE,aAAsB;QAC/H,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;IAC9H,CAAC;IAED;;OAEG;IACI,oBAAoB,CAAC,QAAqC,EAAE,KAAa,EAAE,YAAoB,EAAE,aAAsB;QAC7H,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAY,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,YAAY,EAAE;YACjB,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;SACxE;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAED;;OAEG;IACI,sBAAsB,CAAC,QAAqC,EAAE,KAAa,EAAE,YAAoB,EAAE,aAAsB;QAC/H,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;IAC9H,CAAC;IAED;;;;;;;;;;OAUG;IACI,eAAe,CAAC,KAAa,EAAE,QAAiB;QACtD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAC9B,QAAQ,GAAG,GAAG,CAAC;SACf;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAEhC,IAAI,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QACjD,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QAE7C,GAAG,IAAI,aAAa,CAAC;QACrB,GAAG,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;QAEzB,IAAI,QAAQ,GAAG,CAAC,KAAK,GAAG,QAAQ,GAAG,aAAa,CAAC,GAAG,GAAG,CAAC;QAExD,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,QAAQ,EAAE;YACb,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;SAC7C;QAED,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACI,kBAAkB,CAAC,QAAgB;QACzC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,QAAQ,EAAE;YACb,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,CAAC;SACpD;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAGD;;;;;OAKG;IACI,eAAe,CAAC,QAAgB;QACtC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,QAAQ,EAAE;YACb,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;SAC9B;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAED;;OAEG;IACI,kBAAkB,CAAC,QAA6C;QACtE,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACI,iBAAiB,CAAC,QAAgB,EAAE,QAAgB;QAC1D,QAAQ,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QACrD,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;OAMG;IACI,mBAAmB,CAAC,QAAgB;QAC1C,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAChC,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA,yFAAyF;IAC1J,CAAC;IAED;;;;;OAKG;IACI,cAAc,CAAC,QAAgB,EAAE,eAAyB;QAChE,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpE,IAAI,QAAQ,EAAE;YACb,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACnC,IAAI,KAAK,EAAE;gBACV,OAAO,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;aAC1D;SACD;IACF,CAAC;IAES,kBAAkB,CAAC,OAAgB,EAAE,QAAgB;QAC9D,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;IACpC,CAAC;IAED;;;;;;OAMG;IACI,aAAa,CAAC,MAAgB,EAAE,QAAgB;QACtD,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9B,IAAI,SAAS,GAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAE,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAE,CAAC,CAAC;YAC7F,IAAI,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAC/C,mBAAmB;YACnB,IAAI,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAE5C,IAAI,cAAc,IAAI,YAAY,EAAE;gBACnC,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE;oBAC/C,OAAO,cAAc,CAAC;iBACtB;aACD;YAED,4BAA4B;YAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC5D,IAAI,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACnC,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE;oBACzC,OAAO,QAAQ,CAAC;iBAChB;aACD;SACD;IACF,CAAC;IAED;;;;;;;;OAQG;IACI,aAAa,CAAC,KAAa,EAAE,GAAW,EAAE,QAAiB;QACjE,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAEM,gBAAgB,CAAC,aAAqB,EAAE,WAAmB,EAAE,QAAiB;QACpF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC1G,CAAC;IAED;;;;;OAKG;IACI,oBAAoB;QAC1B,OAAO,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED;;OAEG;IACI,YAAY,CAAC,KAAa;QAChC,IAAG,KAAK,IAAI,IAAI,EAAC;YAChB,KAAK,GAAG,CAAC,CAAC;SACV;QAED,IAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAC;YACnD,KAAK,IAAI,CAAC,CAAC,CAAC;SACZ;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;QAEvD,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzG,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3D,CAAC;;AAljBD;;;;WAAkC,cAAc;GAAC;AACjD;;;;WAA0C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;GAAC","sourcesContent":["import type { DataItem } from \"../../../core/render/Component\";\nimport type { AxisRenderer } from \"./AxisRenderer\";\nimport { Axis, IAxisSettings, IAxisPrivate, IAxisDataItem, IAxisEvents } from \"./Axis\";\nimport type { IXYSeriesDataItem, XYSeries } from \"../series/XYSeries\";\nimport * as $array from \"../../../core/util/Array\";\nimport * as $type from \"../../../core/util/Type\";\nimport * as $math from \"../../../core/util/Math\";\nimport * as $utils from \"../../../core/util/Utils\";\nimport { populateString } from \"../../../core/util/PopulateString\";\nimport type { Tooltip } from \"../../../core/render/Tooltip\";\nimport { ValueAxis } from \"./ValueAxis\";\n\nexport interface ICategoryAxisSettings<R extends AxisRenderer> extends IAxisSettings<R> {\n\n\t/**\n\t * A function that can be used to specify how to configure axis fills.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/#Axis_fills} for more info\n\t */\n\tfillRule?: (dataItem: DataItem<ICategoryAxisDataItem>, index?: number) => void;\n\n\t/**\n\t * A field in data which holds categories.\n\t */\n\tcategoryField: string;\n\n\t/**\n\t * Relative location of where axis cell starts: 0 - beginning, 1 - end.\n\t *\n\t * @default 0\n\t */\n\tstartLocation?: number;\n\n\t/**\n\t * Relative location of where axis cell ends: 0 - beginning, 1 - end.\n\t *\n\t * @default 1\n\t */\n\tendLocation?: number;\n}\n\nexport interface ICategoryAxisDataItem extends IAxisDataItem {\n\n\t/**\n\t * Named category.\n\t */\n\tcategory?: string;\n\n\t/**\n\t * Named end category (for axis items that span multiple categories, like\n\t * axis ranges).\n\t */\n\tendCategory?: string;\n\n\t/**\n\t * Index of the data item.\n\t */\n\tindex?: number;\n\n\t/**\n\t * Relative location of the category within cell: 0 - start, 1 - end.\n\t */\n\tcategoryLocation?: number;\n\n\t/**\n\t * Relative location of the end category within cell: 0 - start, 1 - end.\n\t */\n\tendCategoryLocation?: number;\n\n\t/**\n\t * A distance to shift data item relative to its original position.\n\t *\n\t * The value is 0 to 1, where 1 is full witdth of the axis.\n\t *\n\t * Can be used to sort data items without modifying order of the actual data.\n\t */\n\tdeltaPosition?: number;\n\n}\n\nexport interface ICategoryAxisPrivate extends IAxisPrivate {\n\n\t/**\n\t * Start index of the current zoom scope.\n\t */\n\tstartIndex?: number;\n\n\t/**\n\t * End index of the current zoom scope.\n\t */\n\tendIndex?: number;\n\n}\n\nexport interface ICategoryAxisEvents extends IAxisEvents {\n\n}\n\n/**\n * Creates a category axis.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/category-axis/} for more info\n * @important\n */\nexport class CategoryAxis<R extends AxisRenderer> extends Axis<R> {\n\tpublic static className: string = \"CategoryAxis\";\n\tpublic static classNames: Array<string> = Axis.classNames.concat([CategoryAxis.className]);\n\n\tdeclare public _settings: ICategoryAxisSettings<R>;\n\tdeclare public _privateSettings: ICategoryAxisPrivate;\n\tdeclare public _dataItemSettings: ICategoryAxisDataItem;\n\tdeclare public _events: ICategoryAxisEvents;\n\n\tprotected _frequency: number = 1;\n\n\tprotected _itemMap: { [index: string]: DataItem<ICategoryAxisDataItem> } = {};\n\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"axis\"]);\n\t\tthis.fields.push(\"category\");\n\t\tthis.setPrivateRaw(\"name\", \"category\");\n\t\tthis.addTag(\"category\");\n\t\tsuper._afterNew();\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tconst len = this.dataItems.length;\n\t\tlet i = 0;\n\t\tif (this._valuesDirty) {\n\t\t\tthis._itemMap = {};\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tdataItem.setRaw(\"index\", i);\n\t\t\t\tthis._itemMap[dataItem.get(\"category\") as string] = dataItem;\n\t\t\t\ti++;\n\t\t\t})\n\n\t\t\tthis.setPrivateRaw(\"maxZoomFactor\", len);\n\t\t}\n\n\t\tthis.setPrivateRaw(\"startIndex\", Math.max(Math.round(this.get(\"start\", 0) * len), 0));\n\t\tthis.setPrivateRaw(\"endIndex\", Math.min(Math.round(this.get(\"end\", 1) * len), len));\n\n\t\tif (this._sizeDirty || this._valuesDirty || (this.isDirty(\"start\") || this.isDirty(\"end\") || this.isPrivateDirty(\"endIndex\") || this.isPrivateDirty(\"startIndex\") || this.isPrivateDirty(\"width\") || this.isPrivateDirty(\"height\"))) {\n\t\t\tif (this.dataItems.length > 0) {\n\t\t\t\tthis._handleRangeChange();\n\t\t\t\tthis._prepareAxisItems();\n\t\t\t\tthis._updateAxisRanges();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _handleRangeChange() {\n\t\t$array.each(this.series, (series) => {\n\t\t\tlet startCategory = this.dataItems[this.startIndex()].get(\"category\");\n\t\t\tlet endCategory = this.dataItems[this.endIndex() - 1].get(\"category\");\n\n\t\t\tlet baseAxis = series.get(\"baseAxis\");\n\t\t\tlet xAxis = series.get(\"xAxis\");\n\t\t\tlet yAxis = series.get(\"yAxis\");\n\n\t\t\tif (xAxis instanceof CategoryAxis && yAxis instanceof CategoryAxis) {\n\t\t\t\tseries._markDirtyAxes();\n\t\t\t}\n\t\t\telse if (baseAxis === this) {\n\t\t\t\tlet key: string | undefined;\n\t\t\t\tlet openKey: string | undefined;\n\t\t\t\tlet otherAxis = yAxis;\n\t\t\t\tif (xAxis === baseAxis) {\n\t\t\t\t\tif (series.get(\"categoryXField\")) {\n\t\t\t\t\t\tkey = \"categoryX\";\n\t\t\t\t\t}\n\t\t\t\t\tif (series.get(\"openCategoryXField\")) {\n\t\t\t\t\t\topenKey = \"openCategoryX\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (yAxis === baseAxis) {\n\t\t\t\t\tif (series.get(\"categoryYField\")) {\n\t\t\t\t\t\tkey = \"categoryY\";\n\t\t\t\t\t}\n\t\t\t\t\tif (series.get(\"openCategoryYField\")) {\n\t\t\t\t\t\topenKey = \"openCategoryY\";\n\t\t\t\t\t}\n\t\t\t\t\totherAxis = xAxis;\n\t\t\t\t}\n\n\t\t\t\tif (otherAxis instanceof ValueAxis) {\n\n\t\t\t\t\tif (key || openKey) {\n\t\t\t\t\t\tlet startDataItem: DataItem<IXYSeriesDataItem> | undefined;\n\t\t\t\t\t\tlet endDataItem: DataItem<IXYSeriesDataItem> | undefined;\n\n\t\t\t\t\t\tfor (let i = 0, len = series.dataItems.length; i < len; i++) {\n\t\t\t\t\t\t\tlet dataItem = series.dataItems[i];\n\t\t\t\t\t\t\tif (key) {\n\t\t\t\t\t\t\t\tif (dataItem.get(key as any) === startCategory) {\n\t\t\t\t\t\t\t\t\tstartDataItem = dataItem;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (openKey) {\n\t\t\t\t\t\t\t\tif (dataItem.get(openKey as any) === startCategory) {\n\t\t\t\t\t\t\t\t\tstartDataItem = dataItem;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tfor (let i = series.dataItems.length - 1; i >= 0; i--) {\n\t\t\t\t\t\t\tlet dataItem = series.dataItems[i];\n\t\t\t\t\t\t\tif (key) {\n\t\t\t\t\t\t\t\tif (dataItem.get(key as any) === endCategory) {\n\t\t\t\t\t\t\t\t\tendDataItem = dataItem;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (openKey) {\n\t\t\t\t\t\t\t\tif (dataItem.get(openKey as any) === endCategory) {\n\t\t\t\t\t\t\t\t\tendDataItem = dataItem;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet startIndex = 0;\n\t\t\t\t\t\tlet endIndex = series.dataItems.length;\n\n\t\t\t\t\t\tif (startDataItem) {\n\t\t\t\t\t\t\tstartIndex = series.dataItems.indexOf(startDataItem);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (endDataItem) {\n\t\t\t\t\t\t\tendIndex = series.dataItems.indexOf(endDataItem) + 1;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tseries.setPrivate(\"startIndex\", startIndex);\n\t\t\t\t\t\tseries.setPrivate(\"endIndex\", endIndex);\n\n\t\t\t\t\t\tlet hasValue = false;\n\t\t\t\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\t\t\t\tconst dataItem = series.dataItems[i];\n\n\t\t\t\t\t\t\t$array.each(series.__valueXShowFields, (key) => {\n\t\t\t\t\t\t\t\tlet value = dataItem.get(<any>key);\n\t\t\t\t\t\t\t\tif (value != null) {\n\t\t\t\t\t\t\t\t\thasValue = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\n\t\t\t\t\t\t\t$array.each(series.__valueYShowFields, (key) => {\n\t\t\t\t\t\t\t\tlet value = dataItem.get(<any>key);\n\t\t\t\t\t\t\t\tif (value != null) {\n\t\t\t\t\t\t\t\t\thasValue = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\n\t\t\t\t\t\t\tif (hasValue) {\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tseries.setPrivate(\"outOfSelection\", !hasValue);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tseries._markDirtyAxes();\t// must be outside\n\t\t\t}\n\t\t})\n\t}\n\n\n\tprotected _prepareAxisItems() {\n\t\tconst renderer = this.get(\"renderer\");\n\t\tconst len = this.dataItems.length;\n\n\t\tlet startIndex = this.startIndex();\n\t\tif (startIndex > 0) {\n\t\t\tstartIndex--;\n\t\t}\n\n\t\tlet endIndex = this.endIndex();\n\t\tif (endIndex < len) {\n\t\t\tendIndex++;\n\t\t}\n\n\t\tconst minorLabelsEnabled = renderer.get(\"minorLabelsEnabled\");\n\t\tconst minorGridEnabled = renderer.get(\"minorGridEnabled\", minorLabelsEnabled);\n\n\t\tlet maxCount = renderer.axisLength() / Math.max(renderer.get(\"minGridDistance\")!, 1);\n\t\tlet frequency = Math.max(1, Math.min(len, Math.ceil((endIndex - startIndex) / maxCount)));\n\n\t\tstartIndex = Math.floor(startIndex / frequency) * frequency;\n\t\tthis._frequency = frequency;\n\n\t\tfor (let j = 0; j < len; j++) {\n\t\t\tthis._toggleDataItem(this.dataItems[j], false);\n\t\t}\n\n\t\tlet f = this.dataItems[startIndex].get(\"index\", 0);\n\n\t\tfor (let i = startIndex; i < endIndex; i = i + frequency) {\n\t\t\tlet dataItem = this.dataItems[i];\n\n\t\t\tthis._createAssets(dataItem, []);\n\t\t\tthis._toggleDataItem(dataItem, true);\n\n\t\t\tlet count = frequency;\n\t\t\tif (minorGridEnabled) {\n\t\t\t\tcount = 1;\n\t\t\t}\n\n\t\t\tthis._prepareDataItem(dataItem, f, count);\n\n\t\t\tf++;\n\t\t}\n\n\t\tif (renderer.get(\"minorGridEnabled\")) {\n\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\tlet dataItem = this.dataItems[i];\n\t\t\t\tif (i % frequency != 0) {\n\t\t\t\t\tthis._createAssets(dataItem, [\"minor\"], true);\n\t\t\t\t\tthis._toggleDataItem(dataItem, true);\n\t\t\t\t\tthis._prepareDataItem(dataItem, 0, 1);\n\n\t\t\t\t\tif (!minorLabelsEnabled) {\n\t\t\t\t\t\tdataItem.get(\"label\")?.setPrivate(\"visible\", false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis._updateGhost();\n\t}\n\n\n\tpublic _prepareDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, fillIndex?: number, count?: number) {\n\t\tlet renderer = this.get(\"renderer\");\n\n\t\tlet categoryLocation = dataItem.get(\"categoryLocation\", 0);\n\t\tlet endCategoryLocation = dataItem.get(\"endCategoryLocation\", 1);\n\n\t\tlet index: number | undefined = dataItem.get(\"index\");\n\n\t\tif (!$type.isNumber(index)) {\n\t\t\tindex = this.categoryToIndex(dataItem.get(\"category\")!);\n\t\t}\n\n\t\tlet position = this.indexToPosition(index, categoryLocation);\n\n\t\tlet endCategory = dataItem.get(\"endCategory\")!;\n\t\tlet endIndex: number;\n\t\tif (endCategory) {\n\t\t\tendIndex = this.categoryToIndex(endCategory);\n\t\t\tif (!$type.isNumber(endIndex)) {\n\t\t\t\tendIndex = index;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tendIndex = index;\n\t\t}\n\n\t\tlet endPosition = this.indexToPosition(endIndex, endCategoryLocation);\n\n\t\tlet fillEndIndex: number;\n\t\tlet fillEndPosition: number;\n\n\t\tif (dataItem.get(\"isRange\")) {\n\t\t\tfillEndIndex = endIndex;\n\t\t}\n\t\telse {\n\t\t\tfillEndIndex = index + this._frequency - 1;\n\t\t}\n\n\t\tfillEndPosition = this.indexToPosition(fillEndIndex, endCategoryLocation);\n\n\t\trenderer.updateLabel(dataItem.get(\"label\"), position, endPosition, count);\n\t\trenderer.updateGrid(dataItem.get(\"grid\"), position, endPosition);\n\t\trenderer.updateTick(dataItem.get(\"tick\"), position, endPosition, count);\n\t\trenderer.updateFill(dataItem.get(\"axisFill\"), position, fillEndPosition);\n\n\t\tthis._processBullet(dataItem);\n\t\trenderer.updateBullet(dataItem.get(\"bullet\"), position, endPosition);\n\n\t\tconst fillRule = this.get(\"fillRule\");\n\t\tif (fillRule) {\n\t\t\tfillRule(dataItem, fillIndex)\n\t\t}\n\t}\n\n\tpublic startIndex() {\n\t\tlet len = this.dataItems.length;\n\t\treturn Math.min(Math.max(this.getPrivate(\"startIndex\", 0), 0), len - 1);\n\t}\n\n\tpublic endIndex() {\n\t\tlet len = this.dataItems.length;\n\t\treturn Math.max(1, Math.min(this.getPrivate(\"endIndex\", len), len));\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic baseValue(): any {\n\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic basePosition() {\n\t\treturn 0;\n\t}\n\n\t/**\n\t * Returns X coordinate in pixels corresponding to specific category index.\n\t *\n\t * @param value Index\n\t * @return X coordinate\n\t */\n\tpublic getX(value: string): number {\n\t\tlet axisDataItem = this._itemMap[value];\n\t\tif (axisDataItem) {\n\t\t\treturn this._settings.renderer.positionToCoordinate(this.indexToPosition(axisDataItem.get(\"index\", 0)));\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * Returns Y coordinate in pixels corresponding to specific category index.\n\t *\n\t * @param value Index\n\t * @return Y coordinate\n\t */\n\tpublic getY(value: string): number {\n\t\tlet axisDataItem = this._itemMap[value];\n\t\tif (axisDataItem) {\n\t\t\treturn this._settings.renderer.positionToCoordinate(this.indexToPosition(axisDataItem.get(\"index\", 0)));\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getDataItemPositionX(dataItem: DataItem<IXYSeriesDataItem>, field: string, cellLocation: number, _axisLocation?: number): number {\n\t\tconst category = dataItem.get(field as any);\n\t\tconst axisDataItem = this._itemMap[category];\n\n\t\tif (axisDataItem) {\n\t\t\treturn this.indexToPosition(axisDataItem.get(\"index\", 0), cellLocation);\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getDataItemCoordinateX(dataItem: DataItem<IXYSeriesDataItem>, field: string, cellLocation: number, _axisLocation?: number): number {\n\t\treturn this._settings.renderer.positionToCoordinate(this.getDataItemPositionX(dataItem, field, cellLocation, _axisLocation));\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getDataItemPositionY(dataItem: DataItem<IXYSeriesDataItem>, field: string, cellLocation: number, _axisLocation?: number): number {\n\t\tconst category = dataItem.get(field as any);\n\t\tconst axisDataItem = this._itemMap[category];\n\t\tif (axisDataItem) {\n\t\t\treturn this.indexToPosition(axisDataItem.get(\"index\", 0), cellLocation);\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getDataItemCoordinateY(dataItem: DataItem<IXYSeriesDataItem>, field: string, cellLocation: number, _axisLocation?: number): number {\n\t\treturn this._settings.renderer.positionToCoordinate(this.getDataItemPositionY(dataItem, field, cellLocation, _axisLocation));\n\t}\n\n\t/**\n\t * Converts category index to a relative position.\n\t *\n\t * `location` indicates relative position within category: 0 - start, 1 - end.\n\t *\n\t * If not set, will use middle (0.5) of the category.\n\t *\n\t * @param index Index\n\t * @param location Location\n\t * @return Index\n\t */\n\tpublic indexToPosition(index: number, location?: number): number {\n\t\tif (!$type.isNumber(location)) {\n\t\t\tlocation = 0.5;\n\t\t}\n\n\t\tlet len = this.dataItems.length;\n\n\t\tlet startLocation = this.get(\"startLocation\", 0);\n\t\tlet endLocation = this.get(\"endLocation\", 1);\n\n\t\tlen -= startLocation;\n\t\tlen -= (1 - endLocation);\n\n\t\tlet position = (index + location - startLocation) / len;\n\n\t\tlet dataItem = this.dataItems[index];\n\t\tif (dataItem) {\n\t\t\tposition += dataItem.get(\"deltaPosition\", 0);\n\t\t}\n\n\t\treturn position;\n\t}\n\n\t/**\n\t * Returns a position of a category.\n\t *\n\t * @param category Category to look up\n\t * @return Position\n\t */\n\tpublic categoryToPosition(category: string): number {\n\t\tlet dataItem = this._itemMap[category];\n\t\tif (dataItem) {\n\t\t\treturn this.indexToPosition(dataItem.get(\"index\")!);\n\t\t}\n\t\treturn NaN;\n\t}\n\n\n\t/**\n\t * Returns an index of a category.\n\t *\n\t * @param category Category to look up\n\t * @return Index\n\t */\n\tpublic categoryToIndex(category: string): number {\n\t\tlet dataItem = this._itemMap[category];\n\t\tif (dataItem) {\n\t\t\treturn dataItem.get(\"index\")!;\n\t\t}\n\t\treturn NaN;\n\t}\t\n\n\t/**\n\t * @ignore\n\t */\n\tpublic dataItemToPosition(dataItem: DataItem<this[\"_dataItemSettings\"]>): number {\n\t\treturn this.indexToPosition(dataItem.get(\"index\")!);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic roundAxisPosition(position: number, location: number): number {\n\t\tposition += (0.5 - location) / this.dataItems.length;\n\t\treturn this.indexToPosition(this.axisPositionToIndex(position), location);\n\t}\n\n\t/**\n\t * Returns an index of the category that corresponds to specific pixel\n\t * position within axis.\n\t *\n\t * @param position Position (px)\n\t * @return Category index\n\t */\n\tpublic axisPositionToIndex(position: number): number {\n\t\tlet len = this.dataItems.length;\n\t\treturn $math.fitToRange(Math.floor(position * len), 0, len - 1);//$math.fitToRange(Math.floor((end - start) * len * position + len * start), 0, len - 1);\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 getTooltipText(position: number, _adjustPosition?: boolean): string | undefined {\n\t\t//@todo number formatter + tag\n\t\tconst dataItem = this.dataItems[this.axisPositionToIndex(position)];\n\t\tif (dataItem) {\n\t\t\tconst label = dataItem.get(\"label\")\n\t\t\tif (label) {\n\t\t\t\treturn populateString(label, this.get(\"tooltipText\", \"\"));\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateTooltipText(tooltip: Tooltip, position: number) {\n\t\ttooltip._setDataItem(this.dataItems[this.axisPositionToIndex(position)]);\n\t\ttooltip.label.text.markDirtyText();\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 getSeriesItem(series: XYSeries, position: number): DataItem<IXYSeriesDataItem> | undefined {\n\t\tif (this.dataItems.length > 0) {\n\t\t\tlet fieldName = <any>(this.getPrivate(\"name\")! + this.get(\"renderer\").getPrivate(\"letter\")!);\n\t\t\tlet index = this.axisPositionToIndex(position);\n\t\t\t// try simple first\n\t\t\tlet seriesDataItem = series.dataItems[index];\n\t\t\tlet axisDataItem = this.dataItems[index];\n\t\t\tlet category = axisDataItem.get(\"category\");\n\n\t\t\tif (seriesDataItem && axisDataItem) {\n\t\t\t\tif (seriesDataItem.get(fieldName) === category) {\n\t\t\t\t\treturn seriesDataItem;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// if not found, try looking\n\t\t\tfor (let i = 0, len = series.dataItems.length; i < len; i++) {\n\t\t\t\tlet dataItem = series.dataItems[i];\n\t\t\t\tif (dataItem.get(fieldName) === category) {\n\t\t\t\t\treturn dataItem;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Zooms the axis to specific `start` and `end` indexes.\n\t *\n\t * Optional `duration` specifies duration of zoom animation in milliseconds.\n\t *\n\t * @param start Start index\n\t * @param end End index\n\t * @param duration Duration in milliseconds\n\t */\n\tpublic zoomToIndexes(start: number, end: number, duration?: number) {\n\t\tlet len = this.dataItems.length;\n\t\tthis.zoom(start / len, end / len, duration);\n\t}\n\n\tpublic zoomToCategories(startCategory: string, endCategory: string, duration?: number) {\n\t\tthis.zoomToIndexes(this.categoryToIndex(startCategory), this.categoryToIndex(endCategory) + 1, duration);\n\t}\n\n\t/**\n\t * Returns position span between start and end of a single cell in axis.\n\t *\n\t * @since 5.2.30\n\t * @return Position\n\t */\n\tpublic getCellWidthPosition(): number {\n\t\treturn this._frequency / this.dataItems.length / (this.get(\"end\", 1) - this.get(\"start\", 0));\n\t}\n\t\n\t/**\n\t * @ignore\n\t */\t\n\tpublic nextPosition(count?:number){\n\t\tif(count == null){\n\t\t\tcount = 1;\n\t\t}\n\n\t\tif(this.get(\"renderer\").getPrivate(\"letter\") == \"Y\"){\n\t\t\tcount *= -1;\n\t\t}\n\n\t\tconst position = this.getPrivate(\"tooltipPosition\", 0);\n\n\t\tconst index = $math.fitToRange(this.axisPositionToIndex(position) + count, 0, this.dataItems.length - 1);\t\t\n\t\treturn this.toGlobalPosition(this.indexToPosition(index));\n\t}\n}\n"]}
1
+ {"version":3,"file":"CategoryAxis.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/axes/CategoryAxis.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../../core/render/Component\";\nimport type { AxisRenderer } from \"./AxisRenderer\";\nimport type { Tooltip } from \"../../../core/render/Tooltip\";\nimport type { IXYSeriesDataItem, XYSeries } from \"../series/XYSeries\";\n\nimport { Axis, IAxisSettings, IAxisPrivate, IAxisDataItem, IAxisEvents } from \"./Axis\";\nimport { populateString } from \"../../../core/util/PopulateString\";\nimport { ValueAxis } from \"./ValueAxis\";\n\nimport * as $array from \"../../../core/util/Array\";\nimport * as $type from \"../../../core/util/Type\";\nimport * as $math from \"../../../core/util/Math\";\nimport * as $utils from \"../../../core/util/Utils\";\n\nexport interface ICategoryAxisSettings<R extends AxisRenderer> extends IAxisSettings<R> {\n\n\t/**\n\t * A function that can be used to specify how to configure axis fills.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/#Axis_fills} for more info\n\t */\n\tfillRule?: (dataItem: DataItem<ICategoryAxisDataItem>, index?: number) => void;\n\n\t/**\n\t * A field in data which holds categories.\n\t */\n\tcategoryField: string;\n\n\t/**\n\t * A key to look up in data for an id of the data item.\n\t */\n\tidField?: string;\n\n\t/**\n\t * A key to look up in data for a relative size value of the data item. \n\t */\n\tcellSizeField?: string;\n\n\t/**\n\t * Relative location of where axis cell starts: 0 - beginning, 1 - end.\n\t *\n\t * @default 0\n\t */\n\tstartLocation?: number;\n\n\t/**\n\t * Relative location of where axis cell ends: 0 - beginning, 1 - end.\n\t *\n\t * @default 1\n\t */\n\tendLocation?: number;\n}\n\nexport interface ICategoryAxisDataItem extends IAxisDataItem {\n\n\t/**\n\t * Named category.\n\t */\n\tcategory?: string;\n\n\t/**\n\t * Named end category (for axis items that span multiple categories, like\n\t * axis ranges).\n\t */\n\tendCategory?: string;\n\n\t/**\n\t * Index of the data item.\n\t */\n\tindex?: number;\n\n\t/**\n\t * Relative location of the category within cell: 0 - start, 1 - end.\n\t */\n\tcategoryLocation?: number;\n\n\t/**\n\t * Relative location of the end category within cell: 0 - start, 1 - end.\n\t */\n\tendCategoryLocation?: number;\n\n\t/**\n\t * A distance to shift data item relative to its original position.\n\t *\n\t * The value is 0 to 1, where 1 is full witdth of the axis.\n\t *\n\t * Can be used to sort data items without modifying order of the actual data.\n\t */\n\tdeltaPosition?: number;\n\n\t/**\n\t * A size of the category cell.\n\t *\n\t * NOTE: This value is used only if `cellSizeField` is set on the series.\n\t */\n\tcellSize?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tfinalCellSize?: number;\n\n\t/**\n\t * A unique id of the data item.\n\t */\n\tid?: string;\n}\n\nexport interface ICategoryAxisPrivate extends IAxisPrivate {\n\n\t/**\n\t * Start index of the current zoom scope.\n\t */\n\tstartIndex?: number;\n\n\t/**\n\t * End index of the current zoom scope.\n\t */\n\tendIndex?: number;\n}\n\nexport interface ICategoryAxisEvents extends IAxisEvents {\n\n}\n\n/**\n * Creates a category axis.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/category-axis/} for more info\n * @important\n */\nexport class CategoryAxis<R extends AxisRenderer> extends Axis<R> {\n\tpublic static className: string = \"CategoryAxis\";\n\tpublic static classNames: Array<string> = Axis.classNames.concat([CategoryAxis.className]);\n\n\tdeclare public _settings: ICategoryAxisSettings<R>;\n\tdeclare public _privateSettings: ICategoryAxisPrivate;\n\tdeclare public _dataItemSettings: ICategoryAxisDataItem;\n\tdeclare public _events: ICategoryAxisEvents;\n\n\tprotected _frequency: number = 1;\n\n\tprotected _itemMap: { [index: string]: DataItem<ICategoryAxisDataItem> } = {};\n\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"axis\"]);\n\t\tthis.fields.push(\"category\", \"id\", \"cellSize\");\n\t\tthis.setPrivateRaw(\"name\", \"category\");\n\t\tthis.addTag(\"category\");\n\t\tsuper._afterNew();\n\t}\n\n\tpublic _afterDataChange(): void {\n\t\tsuper._afterDataChange();\n\t\tconst len = this.dataItems.length;\n\t\tif (len > 0) {\n\t\t\tthis.setPrivateRaw(\"maxZoomFactor\", len);\n\t\t}\n\n\t\t// fix final indexes\t\t\n\t\tthis.setPrivateRaw(\"startIndex\", Math.min(this.getPrivate(\"startIndex\", 0), len));\n\t\tthis.setPrivateRaw(\"endIndex\", Math.min(this.getPrivate(\"endIndex\", len), 1));\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tconst len = this.dataItems.length;\n\t\tlet i = 0;\n\t\tif (this._valuesDirty) {\n\t\t\tthis._itemMap = {};\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tdataItem.setRaw(\"index\", i);\n\t\t\t\tthis._itemMap[dataItem.get(\"category\") as string] = dataItem;\n\t\t\t\ti++;\n\t\t\t})\n\n\t\t\tthis.setPrivateRaw(\"maxZoomFactor\", len);\n\t\t}\n\n\t\tlet start = this.get(\"start\", 0);\n\t\tlet end = this.get(\"end\", 1);\n\n\t\tlet indices = this._getIndices(start, end);\n\n\t\tthis.setPrivateRaw(\"startIndex\", indices.startIndex);\n\t\tthis.setPrivateRaw(\"endIndex\", indices.endIndex);\n\n\t\tif (this._sizeDirty || this._valuesDirty || (this.isDirty(\"start\") || this.isDirty(\"end\") || this.isPrivateDirty(\"endIndex\") || this.isPrivateDirty(\"startIndex\") || this.isPrivateDirty(\"width\") || this.isPrivateDirty(\"height\"))) {\n\t\t\tif (this.dataItems.length > 0) {\n\t\t\t\tthis._handleRangeChange();\n\t\t\t\tthis._prepareAxisItems();\n\t\t\t\tthis._updateAxisRanges();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic adjustZoom(): void {\n\t\tconst len = this.dataItems.length;\n\t\tif (len > 1) {\n\t\t\tlet maxZoomCount = this.get(\"maxZoomCount\", this.dataItems.length);\n\t\t\tlet minZoomCount = this.get(\"minZoomCount\", 1);\n\n\t\t\tlet count = 0;\n\t\t\tlet startIndex = this.getPrivate(\"startIndex\", 0);\n\t\t\tlet endIndex = this.getPrivate(\"endIndex\", 0);\n\n\t\t\tconst sAnimation = this._sAnimation;\n\t\t\tconst eAnimation = this._eAnimation;\n\n\t\t\tlet start = this.get(\"start\", 0);\n\t\t\tlet getIndices = false;\n\t\t\tif (sAnimation && !sAnimation.stopped) {\n\t\t\t\tstart = Number(sAnimation.to);\n\t\t\t\tgetIndices = true;\n\t\t\t}\n\t\t\tlet end = this.get(\"end\", 1);\n\t\t\tif (eAnimation && !eAnimation.stopped) {\n\t\t\t\tend = Number(eAnimation.to);\n\t\t\t\tgetIndices = true;\n\t\t\t}\n\n\t\t\tif (getIndices) {\n\t\t\t\tconst indices = this._getIndices(start, end);\n\t\t\t\tstartIndex = indices.startIndex;\n\t\t\t\tendIndex = indices.endIndex;\n\t\t\t}\n\n\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\tconst dataItem = this.dataItems[i];\n\t\t\t\tcount += dataItem.get(\"finalCellSize\", 1);\n\t\t\t};\n\n\t\t\tif (count <= minZoomCount) {\n\t\t\t\t// need to zoom out\n\t\t\t\tlet c = 0;\n\n\t\t\t\tfor (let i = startIndex; i < len; i++) {\n\t\t\t\t\tconst dataItem = this.dataItems[i];\n\t\t\t\t\tc += dataItem.get(\"finalCellSize\", 1);\n\n\t\t\t\t\tendIndex = i + 1;\n\t\t\t\t\tif (c >= minZoomCount) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (c < minZoomCount) {\n\t\t\t\t\t// still not enough, try to extend at the start\n\t\t\t\t\tfor (let i = startIndex - 1; i >= 0; i--) {\n\t\t\t\t\t\tconst dataItem = this.dataItems[i];\n\t\t\t\t\t\tc += dataItem.get(\"finalCellSize\", 1);\n\t\t\t\t\t\tstartIndex = i;\n\t\t\t\t\t\tif (c >= minZoomCount) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.zoomToIndexes(startIndex, endIndex);\n\t\t\t}\n\t\t\telse if (count >= maxZoomCount) {\n\t\t\t\tlet c = count;\n\t\t\t\tfor (let i = endIndex - 1; i >= startIndex; i--) {\n\t\t\t\t\tconst dataItem = this.dataItems[i];\n\t\t\t\t\tc -= dataItem.get(\"finalCellSize\", 1);\n\t\t\t\t\tif (c <= maxZoomCount) {\n\t\t\t\t\t\tendIndex = i + 1;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.zoomToIndexes(startIndex, endIndex);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _handleRangeChange() {\n\t\t$array.each(this.series, (series) => {\n\t\t\tlet startCategory = this.dataItems[this.startIndex()].get(\"category\")!;\n\t\t\tlet endCategory = this.dataItems[this.endIndex() - 1].get(\"category\")!;\n\n\t\t\tlet baseAxis = series.get(\"baseAxis\");\n\t\t\tlet xAxis = series.get(\"xAxis\");\n\t\t\tlet yAxis = series.get(\"yAxis\");\n\n\t\t\tif (xAxis instanceof CategoryAxis && yAxis instanceof CategoryAxis) {\n\t\t\t\tseries._markDirtyAxes();\n\t\t\t}\n\t\t\telse if (baseAxis === this) {\n\t\t\t\tlet key: string | undefined;\n\t\t\t\tlet openKey: string | undefined;\n\t\t\t\tlet otherAxis = yAxis;\n\t\t\t\tif (xAxis === baseAxis) {\n\t\t\t\t\tif (series.get(\"categoryXField\")) {\n\t\t\t\t\t\tkey = \"categoryX\";\n\t\t\t\t\t}\n\t\t\t\t\tif (series.get(\"openCategoryXField\")) {\n\t\t\t\t\t\topenKey = \"openCategoryX\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (yAxis === baseAxis) {\n\t\t\t\t\tif (series.get(\"categoryYField\")) {\n\t\t\t\t\t\tkey = \"categoryY\";\n\t\t\t\t\t}\n\t\t\t\t\tif (series.get(\"openCategoryYField\")) {\n\t\t\t\t\t\topenKey = \"openCategoryY\";\n\t\t\t\t\t}\n\t\t\t\t\totherAxis = xAxis;\n\t\t\t\t}\n\n\t\t\t\tif (otherAxis instanceof ValueAxis) {\n\n\t\t\t\t\tif (key || openKey) {\n\t\t\t\t\t\tlet startDataItem: DataItem<IXYSeriesDataItem> | undefined;\n\t\t\t\t\t\tlet endDataItem: DataItem<IXYSeriesDataItem> | undefined;\n\n\t\t\t\t\t\tfunction findDataItem(\n\t\t\t\t\t\t\tseries: XYSeries,\n\t\t\t\t\t\t\tcategoryAxis: CategoryAxis<any>,\n\t\t\t\t\t\t\tkey: string | undefined,\n\t\t\t\t\t\t\topenKey: string | undefined,\n\t\t\t\t\t\t\tcategory: string,\n\t\t\t\t\t\t\tdirection: \"previous\" | \"next\"\n\t\t\t\t\t\t): DataItem<IXYSeriesDataItem> | undefined {\n\t\t\t\t\t\t\tlet dataItem: DataItem<IXYSeriesDataItem> | undefined;\n\t\t\t\t\t\t\tlet idx = categoryAxis.categoryToIndex(category!);\n\n\t\t\t\t\t\t\twhile (!dataItem && idx >= 0 && idx < categoryAxis.dataItems.length) {\n\t\t\t\t\t\t\t\tlet searchCategory = categoryAxis.dataItems[idx].get(\"category\");\n\t\t\t\t\t\t\t\tif (direction == \"previous\") {\n\t\t\t\t\t\t\t\t\tfor (let i = series.dataItems.length - 1; i >= 0; i--) {\n\t\t\t\t\t\t\t\t\t\tlet item = series.dataItems[i];\n\t\t\t\t\t\t\t\t\t\tif (key && item.get(key as any) === searchCategory) {\n\t\t\t\t\t\t\t\t\t\t\tdataItem = item;\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif (openKey && item.get(openKey as any) === searchCategory) {\n\t\t\t\t\t\t\t\t\t\t\tdataItem = item;\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tfor (let i = 0, len = series.dataItems.length; i < len; i++) {\n\t\t\t\t\t\t\t\t\t\tlet item = series.dataItems[i];\n\t\t\t\t\t\t\t\t\t\tif (key && item.get(key as any) === searchCategory) {\n\t\t\t\t\t\t\t\t\t\t\tdataItem = item;\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif (openKey && item.get(openKey as any) === searchCategory) {\n\t\t\t\t\t\t\t\t\t\t\tdataItem = item;\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (!dataItem) {\n\t\t\t\t\t\t\t\t\tidx += direction === \"previous\" ? -1 : 1;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn dataItem;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstartDataItem = findDataItem(series, this, key, openKey, startCategory, \"next\");\n\t\t\t\t\t\tendDataItem = findDataItem(series, this, key, openKey, endCategory, \"previous\");\n\n\t\t\t\t\t\tlet startIndex = 0;\n\t\t\t\t\t\tlet endIndex = series.dataItems.length;\n\n\t\t\t\t\t\tif (startDataItem) {\n\t\t\t\t\t\t\tstartIndex = series.dataItems.indexOf(startDataItem);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (endDataItem) {\n\t\t\t\t\t\t\tendIndex = series.dataItems.indexOf(endDataItem) + 1;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tseries.setPrivate(\"startIndex\", startIndex);\n\t\t\t\t\t\tseries.setPrivate(\"endIndex\", endIndex);\n\n\t\t\t\t\t\tlet hasValue = false;\n\t\t\t\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\t\t\t\tconst dataItem = series.dataItems[i];\n\n\t\t\t\t\t\t\t$array.each(series.__valueXShowFields, (key) => {\n\t\t\t\t\t\t\t\tlet value = dataItem.get(<any>key);\n\t\t\t\t\t\t\t\tif (value != null) {\n\t\t\t\t\t\t\t\t\thasValue = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\n\t\t\t\t\t\t\t$array.each(series.__valueYShowFields, (key) => {\n\t\t\t\t\t\t\t\tlet value = dataItem.get(<any>key);\n\t\t\t\t\t\t\t\tif (value != null) {\n\t\t\t\t\t\t\t\t\thasValue = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\n\t\t\t\t\t\t\tif (hasValue) {\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tseries.setPrivate(\"outOfSelection\", !hasValue);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tseries._markDirtyAxes();\t// must be outside\n\t\t\t}\n\t\t})\n\t}\n\n\n\tprotected _prepareAxisItems() {\n\t\tconst renderer = this.get(\"renderer\");\n\t\tconst len = this.dataItems.length;\n\n\t\tlet startIndex = this.startIndex();\n\t\tif (startIndex > 0) {\n\t\t\tstartIndex--;\n\t\t}\n\n\t\tlet endIndex = this.endIndex();\n\t\tif (endIndex < len) {\n\t\t\tendIndex++;\n\t\t}\n\n\t\tconst minorLabelsEnabled = renderer.get(\"minorLabelsEnabled\");\n\t\tconst minorGridEnabled = renderer.get(\"minorGridEnabled\", minorLabelsEnabled);\n\n\t\tlet maxCount = renderer.axisLength() / Math.max(renderer.get(\"minGridDistance\")!, 1);\n\n\t\tlet frequency = Math.max(1, Math.min(len, Math.ceil((endIndex - startIndex) / maxCount)));\n\n\t\tstartIndex = Math.floor(startIndex / frequency) * frequency;\n\t\tthis._frequency = frequency;\n\n\t\tfor (let j = 0; j < len; j++) {\n\t\t\tthis._toggleDataItem(this.dataItems[j], false);\n\t\t}\n\n\t\tlet f = this.dataItems[startIndex].get(\"index\", 0);\n\n\t\tfor (let i = startIndex; i < endIndex; i = i + frequency) {\n\t\t\tlet dataItem = this.dataItems[i];\n\n\t\t\tthis._createAssets(dataItem, []);\n\t\t\tthis._toggleDataItem(dataItem, true);\n\n\t\t\tlet count = frequency;\n\t\t\tif (minorGridEnabled) {\n\t\t\t\tcount = 1;\n\t\t\t}\n\n\t\t\tthis._prepareDataItem(dataItem, f, count);\n\n\t\t\tf++;\n\t\t}\n\n\t\tif (renderer.get(\"minorGridEnabled\")) {\n\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\tlet dataItem = this.dataItems[i];\n\t\t\t\tif (i % frequency != 0) {\n\t\t\t\t\tthis._createAssets(dataItem, [\"minor\"], true);\n\t\t\t\t\tthis._toggleDataItem(dataItem, true);\n\t\t\t\t\tthis._prepareDataItem(dataItem, 0, 1);\n\n\t\t\t\t\tif (!minorLabelsEnabled) {\n\t\t\t\t\t\tdataItem.get(\"label\")?.setPrivate(\"visible\", false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis._updateGhost();\n\t}\n\n\n\tpublic _prepareDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, fillIndex?: number, count?: number) {\n\t\tlet renderer = this.get(\"renderer\");\n\n\t\tlet categoryLocation = dataItem.get(\"categoryLocation\", 0);\n\t\tlet endCategoryLocation = dataItem.get(\"endCategoryLocation\", 1);\n\n\t\tlet index: number | undefined = dataItem.get(\"index\");\n\n\t\tif (!$type.isNumber(index)) {\n\t\t\tindex = this.categoryToIndex(dataItem.get(\"category\")!);\n\t\t}\n\n\t\tlet position = this.indexToPosition(index, categoryLocation);\n\n\t\tlet endCategory = dataItem.get(\"endCategory\")!;\n\t\tlet endIndex: number;\n\t\tif (endCategory) {\n\t\t\tendIndex = this.categoryToIndex(endCategory);\n\t\t\tif (!$type.isNumber(endIndex)) {\n\t\t\t\tendIndex = index;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tendIndex = index;\n\t\t}\n\n\t\tlet endPosition = this.indexToPosition(endIndex, endCategoryLocation);\n\n\t\tlet fillEndIndex: number;\n\t\tlet fillEndPosition: number;\n\n\t\tif (dataItem.get(\"isRange\")) {\n\t\t\tfillEndIndex = endIndex;\n\n\t\t\tif (!$type.isNumber(index)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tfillEndIndex = index + this._frequency - 1;\n\t\t}\n\n\t\tfillEndPosition = this.indexToPosition(fillEndIndex, endCategoryLocation);\n\n\t\trenderer.updateLabel(dataItem.get(\"label\"), position, endPosition, count);\n\t\trenderer.updateGrid(dataItem.get(\"grid\"), position, endPosition);\n\t\trenderer.updateTick(dataItem.get(\"tick\"), position, endPosition, count);\n\t\trenderer.updateFill(dataItem.get(\"axisFill\"), position, fillEndPosition);\n\n\t\tthis._processBullet(dataItem);\n\t\trenderer.updateBullet(dataItem.get(\"bullet\"), position, endPosition);\n\n\t\tconst fillRule = this.get(\"fillRule\");\n\t\tif (fillRule) {\n\t\t\tfillRule(dataItem, fillIndex)\n\t\t}\n\t}\n\n\tpublic startIndex() {\n\t\tlet len = this.dataItems.length;\n\t\treturn Math.min(Math.max(this.getPrivate(\"startIndex\", 0), 0), len - 1);\n\t}\n\n\tpublic endIndex() {\n\t\tlet len = this.dataItems.length;\n\t\treturn Math.max(1, Math.min(this.getPrivate(\"endIndex\", len), len));\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic baseValue(): any {\n\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic basePosition() {\n\t\treturn 0;\n\t}\n\n\t/**\n\t * Returns X coordinate in pixels corresponding to specific category index.\n\t *\n\t * @param value Index\n\t * @return X coordinate\n\t */\n\tpublic getX(value: string): number {\n\t\tlet axisDataItem = this._itemMap[value];\n\t\tif (axisDataItem) {\n\t\t\treturn this._settings.renderer.positionToCoordinate(this.indexToPosition(axisDataItem.get(\"index\", 0)));\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * Returns Y coordinate in pixels corresponding to specific category index.\n\t *\n\t * @param value Index\n\t * @return Y coordinate\n\t */\n\tpublic getY(value: string): number {\n\t\tlet axisDataItem = this._itemMap[value];\n\t\tif (axisDataItem) {\n\t\t\treturn this._settings.renderer.positionToCoordinate(this.indexToPosition(axisDataItem.get(\"index\", 0)));\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getDataItemPositionX(dataItem: DataItem<IXYSeriesDataItem>, field: string, cellLocation: number, _axisLocation?: number): number {\n\t\tconst category = dataItem.get(field as any);\n\t\tconst axisDataItem = this._itemMap[category];\n\n\t\tif (axisDataItem) {\n\t\t\treturn this.indexToPosition(axisDataItem.get(\"index\", 0), cellLocation);\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getDataItemCoordinateX(dataItem: DataItem<IXYSeriesDataItem>, field: string, cellLocation: number, _axisLocation?: number): number {\n\t\treturn this._settings.renderer.positionToCoordinate(this.getDataItemPositionX(dataItem, field, cellLocation, _axisLocation));\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getDataItemPositionY(dataItem: DataItem<IXYSeriesDataItem>, field: string, cellLocation: number, _axisLocation?: number): number {\n\t\tconst category = dataItem.get(field as any);\n\t\tconst axisDataItem = this._itemMap[category];\n\t\tif (axisDataItem) {\n\t\t\treturn this.indexToPosition(axisDataItem.get(\"index\", 0), cellLocation);\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getDataItemCoordinateY(dataItem: DataItem<IXYSeriesDataItem>, field: string, cellLocation: number, _axisLocation?: number): number {\n\t\treturn this._settings.renderer.positionToCoordinate(this.getDataItemPositionY(dataItem, field, cellLocation, _axisLocation));\n\t}\n\n\t/**\n\t * Converts category index to a relative position.\n\t *\n\t * `location` indicates relative position within category: 0 - start, 1 - end.\n\t *\n\t * If not set, will use middle (0.5) of the category.\n\t *\n\t * @param index Index\n\t * @param location Location\n\t * @return Index\n\t */\n\tpublic indexToPosition(index: number, location?: number, final?: boolean): number {\n\t\tlet len = this.dataItems.length;\n\t\tlet position = 0;\n\n\t\tif (len == 0) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tif (index >= len) {\n\t\t\tindex = len - 1;\n\t\t\tlocation = 1;\n\t\t}\n\n\t\tif (!$type.isNumber(location)) {\n\t\t\tlocation = 0.5;\n\t\t}\n\n\t\tif (!$type.isNumber(index)) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tlet startLocation = this.get(\"startLocation\", 0);\n\t\tlet endLocation = this.get(\"endLocation\", 1);\n\n\t\tif (!this.get(\"cellSizeField\")) {\n\t\t\tlen -= startLocation;\n\t\t\tlen -= (1 - endLocation);\n\n\t\t\tposition = (index + location - startLocation) / len;\n\t\t}\n\t\telse {\n\t\t\tlet name: \"finalCellSize\" | \"cellSize\" = final ? \"finalCellSize\" : \"cellSize\";\n\n\t\t\tconst dataItems = this.dataItems;\n\n\t\t\t// Calculate total modified count (sum of cell sizes)\n\t\t\tlet modCount = 0;\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tmodCount += dataItem.get(name, 1);\n\t\t\t});\n\n\t\t\tmodCount -= startLocation * dataItems[0].get(name, 1);\n\t\t\tmodCount -= (1 - endLocation) * dataItems[dataItems.length - 1].get(name, 1);\n\n\t\t\t// Calculate the position based on cell sizes\n\t\t\tlet acc = 0;\n\t\t\tfor (let i = 0; i < index; i++) {\n\t\t\t\tacc += dataItems[i].get(name, 1);\n\t\t\t}\n\t\t\tlet cellSizeAtIndex = dataItems[index].get(name, 1);\n\n\t\t\tposition = (acc + location * cellSizeAtIndex - startLocation * dataItems[0].get(name, 1)) / modCount;\n\t\t}\n\n\t\tif (!final) {\n\t\t\tlet dataItem = this.dataItems[index];\n\t\t\tif (dataItem) {\n\t\t\t\tposition += dataItem.get(\"deltaPosition\", 0);\n\t\t\t}\n\t\t}\n\n\t\treturn position;\n\t}\n\n\t/**\n\t * Returns a position of a category.\n\t *\n\t * @param category Category to look up\n\t * @return Position\n\t */\n\tpublic categoryToPosition(category: string): number {\n\t\tlet dataItem = this._itemMap[category];\n\t\tif (dataItem) {\n\t\t\treturn this.indexToPosition(dataItem.get(\"index\")!);\n\t\t}\n\t\treturn NaN;\n\t}\n\n\n\t/**\n\t * Returns an index of a category.\n\t *\n\t * @param category Category to look up\n\t * @return Index\n\t */\n\tpublic categoryToIndex(category: string): number {\n\t\tlet dataItem = this._itemMap[category];\n\t\tif (dataItem) {\n\t\t\treturn dataItem.get(\"index\")!;\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic dataItemToPosition(dataItem: DataItem<this[\"_dataItemSettings\"]>): number {\n\t\treturn this.indexToPosition(dataItem.get(\"index\")!);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic roundAxisPosition(position: number, location: number): number {\n\t\tposition += (0.5 - location) / this.dataItems.length;\n\t\treturn this.indexToPosition(this.axisPositionToIndex(position), location);\n\t}\n\n\t/**\n\t * Returns an index of the category that corresponds to specific pixel\n\t * position within axis.\n\t *\n\t * @param position Position (px)\n\t * @return Category index\n\t */\n\tpublic axisPositionToIndex(position: number): number {\n\t\tlet len = this.dataItems.length;\n\t\tif (len === 0) {\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Calculate total modified length (sum of cell sizes)\n\t\tif (this.get(\"cellSizeField\")) {\n\t\t\tlet modifiedLen = 0;\n\t\t\tlet cellSizes: number[] = [];\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tconst cellSize = dataItem.get(\"cellSize\", 1);\n\t\t\t\tcellSizes.push(cellSize);\n\t\t\t\tmodifiedLen += cellSize;\n\t\t\t});\n\t\t\t// Adjust for startLocation and endLocation\n\t\t\tlet startLocation = this.get(\"startLocation\", 0);\n\t\t\tlet endLocation = this.get(\"endLocation\", 1);\n\t\t\tmodifiedLen -= startLocation;\n\t\t\tmodifiedLen -= (1 - endLocation);\n\n\t\t\t// Find which cell the position falls into\n\t\t\tlet rel = position * modifiedLen + startLocation;\n\t\t\tlet acc = 0;\n\t\t\tfor (let i = 0; i < len; i++) {\n\t\t\t\tconst cellSize = cellSizes[i];\n\t\t\t\tif (rel < acc + cellSize) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t\tacc += cellSize;\n\t\t\t}\n\t\t\treturn len - 1;\n\t\t}\n\t\telse {\n\t\t\treturn $math.fitToRange(Math.floor(position * len), 0, len - 1);\n\t\t}\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 getTooltipText(position: number, _adjustPosition?: boolean): string | undefined {\n\t\t//@todo number formatter + tag\n\t\tconst dataItem = this.dataItems[this.axisPositionToIndex(position)];\n\t\tif (dataItem) {\n\t\t\tconst label = dataItem.get(\"label\")\n\t\t\tif (label) {\n\t\t\t\treturn populateString(label, this.get(\"tooltipText\", \"\"));\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateTooltipText(tooltip: Tooltip, position: number) {\n\t\ttooltip._setDataItem(this.dataItems[this.axisPositionToIndex(position)]);\n\t\ttooltip.label.text.markDirtyText();\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 getSeriesItem(series: XYSeries, position: number): DataItem<IXYSeriesDataItem> | undefined {\n\t\tif (this.dataItems.length > 0) {\n\t\t\tlet fieldName = <any>(this.getPrivate(\"name\")! + this.get(\"renderer\").getPrivate(\"letter\")!);\n\t\t\tlet index = this.axisPositionToIndex(position);\n\t\t\t// try simple first\n\t\t\tlet seriesDataItem = series.dataItems[index];\n\t\t\tlet axisDataItem = this.dataItems[index];\n\t\t\tlet category = axisDataItem.get(\"category\");\n\n\t\t\tif (seriesDataItem && axisDataItem) {\n\t\t\t\tif (seriesDataItem.get(fieldName) === category) {\n\t\t\t\t\treturn seriesDataItem;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// if not found, try looking\n\t\t\tfor (let i = 0, len = series.dataItems.length; i < len; i++) {\n\t\t\t\tlet dataItem = series.dataItems[i];\n\t\t\t\tif (dataItem.get(fieldName) === category) {\n\t\t\t\t\treturn dataItem;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _getIndices(start: number, end: number): { startIndex: number, endIndex: number } {\n\t\tlet len = this.dataItems.length;\n\t\tlet startIndex = 0;\n\t\tlet endIndex = len;\n\n\t\tif (this.get(\"cellSizeField\")) {\n\t\t\tlet count = 0;\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tcount += dataItem.get(\"cellSize\", 1);\n\t\t\t});\n\n\t\t\tlet c = 0;\n\t\t\tfor (let i = 0; i < len; i++) {\n\t\t\t\tc += this.dataItems[i].get(\"cellSize\", 1);\n\t\t\t\tif (c / count > start) {\n\t\t\t\t\tstartIndex = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (let i = startIndex + 1; i < len; i++) {\n\t\t\t\tc += this.dataItems[i].get(\"cellSize\", 1);\n\t\t\t\tif (c / count > end) {\n\t\t\t\t\tendIndex = i + 1;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tstartIndex = Math.max(startIndex, 0);\n\t\t\tendIndex = Math.min(endIndex, len);\n\t\t}\n\t\telse {\n\t\t\tstartIndex = Math.max(Math.round(this.get(\"start\", 0) * len), 0);\n\t\t\tendIndex = Math.min(Math.round(this.get(\"end\", 1) * len), len);\n\t\t}\n\n\t\treturn { startIndex, endIndex };\n\t}\n\n\t/**\n\t * Zooms the axis to specific `start` and `end` indexes.\n\t *\n\t * Optional `duration` specifies duration of zoom animation in milliseconds.\n\t *\n\t * @param start Start index\n\t * @param end End index\n\t * @param duration Duration in milliseconds\n\t */\n\tpublic zoomToIndexes(start: number, end: number, duration?: number) {\n\t\tlet len = this.dataItems.length;\n\t\tif (this.get(\"cellSizeField\")) {\n\t\t\tstart = Math.min(Math.max(start, 0), len);\n\t\t\tend = Math.max(Math.min(end, len), 1);\n\t\t\tthis.setPrivateRaw(\"startIndex\", start);\n\t\t\tthis.setPrivateRaw(\"endIndex\", end);\n\t\t\tthis.zoom(this.indexToPosition(start, 0, true), this.indexToPosition(end, 0, true), duration);\n\t\t}\n\t\telse {\n\t\t\tthis.zoom(start / len, end / len, duration);\n\t\t}\n\t}\n\n\tpublic zoomToCategories(startCategory: string, endCategory: string, duration?: number) {\n\t\tthis.zoomToIndexes(this.categoryToIndex(startCategory), this.categoryToIndex(endCategory) + 1, duration);\n\t}\n\n\t/**\n\t * Returns position span between start and end of a single cell in axis.\n\t *\n\t * @since 5.2.30\n\t * @return Position\n\t */\n\tpublic getCellWidthPosition(): number {\n\t\treturn this._frequency / this.dataItems.length / (this.get(\"end\", 1) - this.get(\"start\", 0));\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic nextPosition(count?: number) {\n\t\tif (count == null) {\n\t\t\tcount = 1;\n\t\t}\n\n\t\tif (this.get(\"renderer\").getPrivate(\"letter\") == \"Y\") {\n\t\t\tcount *= -1;\n\t\t}\n\n\t\tconst position = this.getPrivate(\"tooltipPosition\", 0);\n\n\t\tconst index = $math.fitToRange(this.axisPositionToIndex(position) + count, 0, this.dataItems.length - 1);\n\t\treturn this.toGlobalPosition(this.indexToPosition(index));\n\t}\n}\n"]}
@@ -1,8 +1,8 @@
1
1
  import type { DataItem } from "../../../core/render/Component";
2
2
  import type { AxisRenderer } from "./AxisRenderer";
3
- import { CategoryAxis, ICategoryAxisSettings, ICategoryAxisPrivate, ICategoryAxisDataItem, ICategoryAxisEvents } from "./CategoryAxis";
4
3
  import type { ITimeInterval } from "../../../core/util/Time";
5
4
  import type { Tooltip } from "../../../core/render/Tooltip";
5
+ import { CategoryAxis, ICategoryAxisSettings, ICategoryAxisPrivate, ICategoryAxisDataItem, ICategoryAxisEvents } from "./CategoryAxis";
6
6
  export interface ICategoryDateAxisSettings<R extends AxisRenderer> extends ICategoryAxisSettings<R> {
7
7
  /**
8
8
  * Indicates granularity of data.
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryDateAxis.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/axes/CategoryDateAxis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACvI,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAK7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAE5D,MAAM,WAAW,yBAAyB,CAAC,CAAC,SAAS,YAAY,CAAE,SAAQ,qBAAqB,CAAC,CAAC,CAAC;IAElG;;;;OAIG;IACH,YAAY,EAAE,aAAa,CAAC;IAE5B;;;;OAIG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAErC;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;OAIG;IACH,WAAW,CAAC,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAE1C;;;;OAIG;IACH,uBAAuB,CAAC,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAEtD;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAE3B;AAED,MAAM,WAAW,yBAA0B,SAAQ,qBAAqB;CACvE;AAED,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IAErE;;OAEG;IACH,YAAY,EAAE,aAAa,CAAC;CAE5B;AAED,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;CACnE;AAGD;;;;;GAKG;AACH,qBAAa,gBAAgB,CAAC,CAAC,SAAS,YAAY,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IAC5E,OAAc,SAAS,EAAE,MAAM,CAAsB;IACrD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAgE;IAExF,SAAS,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;IACxC,gBAAgB,EAAE,wBAAwB,CAAC;IAC3C,iBAAiB,EAAE,yBAAyB,CAAC;IAC7C,OAAO,EAAE,uBAAuB,CAAC;IAEhD,SAAS,CAAC,UAAU,EAAE,MAAM,CAAK;IAEjC,SAAS,CAAC,QAAQ,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,yBAAyB,CAAC,CAAA;KAAE,CAAM;IAElF,SAAS,CAAC,SAAS;IAOnB,SAAS,CAAC,iBAAiB;IA8I3B;;;;OAIG;IACI,YAAY,IAAI,MAAM;IAK7B;;;;;OAKG;IACI,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IAUtF,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;CAI/D"}
1
+ {"version":3,"file":"CategoryDateAxis.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/axes/CategoryDateAxis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAOvI,MAAM,WAAW,yBAAyB,CAAC,CAAC,SAAS,YAAY,CAAE,SAAQ,qBAAqB,CAAC,CAAC,CAAC;IAElG;;;;OAIG;IACH,YAAY,EAAE,aAAa,CAAC;IAE5B;;;;OAIG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAErC;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;OAIG;IACH,WAAW,CAAC,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAE1C;;;;OAIG;IACH,uBAAuB,CAAC,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAEtD;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAE3B;AAED,MAAM,WAAW,yBAA0B,SAAQ,qBAAqB;CACvE;AAED,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IAErE;;OAEG;IACH,YAAY,EAAE,aAAa,CAAC;CAE5B;AAED,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;CACnE;AAGD;;;;;GAKG;AACH,qBAAa,gBAAgB,CAAC,CAAC,SAAS,YAAY,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IAC5E,OAAc,SAAS,EAAE,MAAM,CAAsB;IACrD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAgE;IAExF,SAAS,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;IACxC,gBAAgB,EAAE,wBAAwB,CAAC;IAC3C,iBAAiB,EAAE,yBAAyB,CAAC;IAC7C,OAAO,EAAE,uBAAuB,CAAC;IAEhD,SAAS,CAAC,UAAU,EAAE,MAAM,CAAK;IAEjC,SAAS,CAAC,QAAQ,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,yBAAyB,CAAC,CAAA;KAAE,CAAM;IAElF,SAAS,CAAC,SAAS;IAOnB,SAAS,CAAC,iBAAiB;IA8I3B;;;;OAIG;IACI,YAAY,IAAI,MAAM;IAK7B;;;;;OAKG;IACI,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IAUtF,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;CAI/D"}