@amcharts/amcharts5 5.7.7 → 5.8.1

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 (274) hide show
  1. package/.internal/charts/hierarchy/Hierarchy.d.ts.map +1 -1
  2. package/.internal/charts/hierarchy/Hierarchy.js +18 -8
  3. package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
  4. package/.internal/charts/hierarchy/Partition.d.ts +4 -0
  5. package/.internal/charts/hierarchy/Partition.d.ts.map +1 -1
  6. package/.internal/charts/hierarchy/Partition.js +2 -1
  7. package/.internal/charts/hierarchy/Partition.js.map +1 -1
  8. package/.internal/charts/map/ClusteredPointSeries.d.ts +3 -1
  9. package/.internal/charts/map/ClusteredPointSeries.d.ts.map +1 -1
  10. package/.internal/charts/map/ClusteredPointSeries.js +54 -41
  11. package/.internal/charts/map/ClusteredPointSeries.js.map +1 -1
  12. package/.internal/charts/map/MapChartDefaultTheme.d.ts.map +1 -1
  13. package/.internal/charts/map/MapChartDefaultTheme.js +1 -37
  14. package/.internal/charts/map/MapChartDefaultTheme.js.map +1 -1
  15. package/.internal/charts/map/ZoomControl.d.ts +6 -26
  16. package/.internal/charts/map/ZoomControl.d.ts.map +1 -1
  17. package/.internal/charts/map/ZoomControl.js +5 -80
  18. package/.internal/charts/map/ZoomControl.js.map +1 -1
  19. package/.internal/charts/stock/SettingsModal.d.ts.map +1 -1
  20. package/.internal/charts/stock/SettingsModal.js +18 -0
  21. package/.internal/charts/stock/SettingsModal.js.map +1 -1
  22. package/.internal/charts/stock/StockChart.d.ts +1 -0
  23. package/.internal/charts/stock/StockChart.d.ts.map +1 -1
  24. package/.internal/charts/stock/StockChart.js +52 -42
  25. package/.internal/charts/stock/StockChart.js.map +1 -1
  26. package/.internal/charts/stock/StockChartDefaultTheme.js +1 -1
  27. package/.internal/charts/stock/StockChartDefaultTheme.js.map +1 -1
  28. package/.internal/charts/stock/drawing/DrawingSeries.d.ts +1 -2
  29. package/.internal/charts/stock/drawing/DrawingSeries.d.ts.map +1 -1
  30. package/.internal/charts/stock/drawing/DrawingSeries.js +0 -6
  31. package/.internal/charts/stock/drawing/DrawingSeries.js.map +1 -1
  32. package/.internal/charts/stock/drawing/ParallelChannelSeries.d.ts +0 -1
  33. package/.internal/charts/stock/drawing/ParallelChannelSeries.d.ts.map +1 -1
  34. package/.internal/charts/stock/drawing/ParallelChannelSeries.js +0 -6
  35. package/.internal/charts/stock/drawing/ParallelChannelSeries.js.map +1 -1
  36. package/.internal/charts/stock/drawing/RectangleSeries.d.ts +0 -1
  37. package/.internal/charts/stock/drawing/RectangleSeries.d.ts.map +1 -1
  38. package/.internal/charts/stock/drawing/RectangleSeries.js +0 -6
  39. package/.internal/charts/stock/drawing/RectangleSeries.js.map +1 -1
  40. package/.internal/charts/stock/indicators/Indicator.d.ts +7 -0
  41. package/.internal/charts/stock/indicators/Indicator.d.ts.map +1 -1
  42. package/.internal/charts/stock/indicators/Indicator.js.map +1 -1
  43. package/.internal/charts/stock/indicators/VolumeProfile.d.ts.map +1 -1
  44. package/.internal/charts/stock/indicators/VolumeProfile.js +26 -8
  45. package/.internal/charts/stock/indicators/VolumeProfile.js.map +1 -1
  46. package/.internal/charts/stock/toolbar/DateRangeSelector.d.ts.map +1 -1
  47. package/.internal/charts/stock/toolbar/DateRangeSelector.js +4 -1
  48. package/.internal/charts/stock/toolbar/DateRangeSelector.js.map +1 -1
  49. package/.internal/charts/stock/toolbar/DrawingControl.d.ts +10 -0
  50. package/.internal/charts/stock/toolbar/DrawingControl.d.ts.map +1 -1
  51. package/.internal/charts/stock/toolbar/DrawingControl.js +36 -6
  52. package/.internal/charts/stock/toolbar/DrawingControl.js.map +1 -1
  53. package/.internal/charts/wordcloud/WordCloud.d.ts +2 -0
  54. package/.internal/charts/wordcloud/WordCloud.d.ts.map +1 -1
  55. package/.internal/charts/wordcloud/WordCloud.js.map +1 -1
  56. package/.internal/charts/xy/XYChart.d.ts.map +1 -1
  57. package/.internal/charts/xy/XYChart.js +3 -0
  58. package/.internal/charts/xy/XYChart.js.map +1 -1
  59. package/.internal/charts/xy/axes/Axis.d.ts +1 -0
  60. package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
  61. package/.internal/charts/xy/axes/Axis.js +13 -6
  62. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  63. package/.internal/charts/xy/axes/AxisRenderer.d.ts.map +1 -1
  64. package/.internal/charts/xy/axes/AxisRenderer.js +2 -4
  65. package/.internal/charts/xy/axes/AxisRenderer.js.map +1 -1
  66. package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
  67. package/.internal/charts/xy/axes/DateAxis.js +7 -0
  68. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  69. package/.internal/charts/xy/series/XYSeries.d.ts +4 -0
  70. package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
  71. package/.internal/charts/xy/series/XYSeries.js +48 -2
  72. package/.internal/charts/xy/series/XYSeries.js.map +1 -1
  73. package/.internal/core/Classes.d.ts +4 -0
  74. package/.internal/core/Classes.d.ts.map +1 -1
  75. package/.internal/core/Classes.js.map +1 -1
  76. package/.internal/core/Registry.js +1 -1
  77. package/.internal/core/Registry.js.map +1 -1
  78. package/.internal/core/render/Container.d.ts +0 -2
  79. package/.internal/core/render/Container.d.ts.map +1 -1
  80. package/.internal/core/render/Container.js.map +1 -1
  81. package/.internal/core/render/HeatLegend.js +1 -1
  82. package/.internal/core/render/HeatLegend.js.map +1 -1
  83. package/.internal/core/render/Series.d.ts +5 -0
  84. package/.internal/core/render/Series.d.ts.map +1 -1
  85. package/.internal/core/render/Series.js +35 -4
  86. package/.internal/core/render/Series.js.map +1 -1
  87. package/.internal/core/render/Sprite.d.ts +1 -1
  88. package/.internal/core/render/Sprite.d.ts.map +1 -1
  89. package/.internal/core/render/Sprite.js +6 -2
  90. package/.internal/core/render/Sprite.js.map +1 -1
  91. package/.internal/core/render/ZoomTools.d.ts +47 -0
  92. package/.internal/core/render/ZoomTools.d.ts.map +1 -0
  93. package/.internal/core/render/ZoomTools.js +102 -0
  94. package/.internal/core/render/ZoomTools.js.map +1 -0
  95. package/.internal/core/render/ZoomableContainer.d.ts +116 -0
  96. package/.internal/core/render/ZoomableContainer.d.ts.map +1 -0
  97. package/.internal/core/render/ZoomableContainer.js +309 -0
  98. package/.internal/core/render/ZoomableContainer.js.map +1 -0
  99. package/.internal/core/util/Time.d.ts.map +1 -1
  100. package/.internal/core/util/Time.js +8 -1
  101. package/.internal/core/util/Time.js.map +1 -1
  102. package/.internal/plugins/json/Classes-script.d.ts +4 -0
  103. package/.internal/plugins/json/Classes-script.d.ts.map +1 -1
  104. package/.internal/plugins/json/Classes-script.js +2 -0
  105. package/.internal/plugins/json/Classes-script.js.map +1 -1
  106. package/.internal/plugins/json/Classes.d.ts +4 -0
  107. package/.internal/plugins/json/Classes.d.ts.map +1 -1
  108. package/.internal/plugins/json/Classes.js +2 -0
  109. package/.internal/plugins/json/Classes.js.map +1 -1
  110. package/.internal/themes/DefaultTheme.d.ts.map +1 -1
  111. package/.internal/themes/DefaultTheme.js +46 -0
  112. package/.internal/themes/DefaultTheme.js.map +1 -1
  113. package/CHANGELOG.md +40 -0
  114. package/examples/javascript/flow-arc-horizontal/package.json +1 -1
  115. package/examples/javascript/flow-arc-vertical/package.json +1 -1
  116. package/examples/javascript/flow-chord/package.json +1 -1
  117. package/examples/javascript/flow-chord-directed/package.json +1 -1
  118. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  119. package/examples/javascript/flow-sankey/package.json +1 -1
  120. package/examples/javascript/gauge/package.json +1 -1
  121. package/examples/javascript/gauge-bands/package.json +1 -1
  122. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  123. package/examples/javascript/hierarchy-pack/package.json +1 -1
  124. package/examples/javascript/hierarchy-partition/package.json +1 -1
  125. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  126. package/examples/javascript/hierarchy-tree/package.json +1 -1
  127. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  128. package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
  129. package/examples/javascript/jest/package.json +1 -1
  130. package/examples/javascript/json-pie/package.json +1 -1
  131. package/examples/javascript/json-xy/package.json +1 -1
  132. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  133. package/examples/javascript/map-clustered-points/package.json +1 -1
  134. package/examples/javascript/map-day-and-night/package.json +1 -1
  135. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  136. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  137. package/examples/javascript/map-with-bubbles/package.json +1 -1
  138. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  139. package/examples/javascript/misc-40-charts/package.json +1 -1
  140. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  141. package/examples/javascript/pie-chart/package.json +1 -1
  142. package/examples/javascript/pie-donut-chart/package.json +1 -1
  143. package/examples/javascript/pie-variable-radius/package.json +1 -1
  144. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  145. package/examples/javascript/radar-heat-map/package.json +1 -1
  146. package/examples/javascript/radar-line/package.json +1 -1
  147. package/examples/javascript/radar-time-line/package.json +1 -1
  148. package/examples/javascript/sliced-funnel/package.json +1 -1
  149. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  150. package/examples/javascript/sliced-pyramid/package.json +1 -1
  151. package/examples/javascript/stock-chart/index.js +1 -1
  152. package/examples/javascript/stock-chart/package.json +1 -1
  153. package/examples/javascript/stock-chart-comparing-stocks/index.js +1 -1
  154. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  155. package/examples/javascript/stock-chart-data-granularity/index.js +1 -1
  156. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  157. package/examples/javascript/stock-chart-data-grouping/index.js +1 -1
  158. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  159. package/examples/javascript/stock-chart-intraday/index.js +1 -1
  160. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  161. package/examples/javascript/stock-chart-live/index.js +1 -0
  162. package/examples/javascript/stock-chart-live/package.json +1 -1
  163. package/examples/javascript/stock-chart-volume-separate-panel/index.js +1 -1
  164. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  165. package/examples/javascript/venn-diagram/package.json +1 -1
  166. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  167. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  168. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  169. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  170. package/examples/javascript/xy-bubble/package.json +1 -1
  171. package/examples/javascript/xy-candlestick/package.json +1 -1
  172. package/examples/javascript/xy-clustered-column/package.json +1 -1
  173. package/examples/javascript/xy-column/package.json +1 -1
  174. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  175. package/examples/javascript/xy-data-grouping/package.json +1 -1
  176. package/examples/javascript/xy-draggable-range/package.json +1 -1
  177. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  178. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  179. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  180. package/examples/javascript/xy-line/package.json +1 -1
  181. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  182. package/examples/javascript/xy-live-data/package.json +1 -1
  183. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  184. package/examples/javascript/xy-ohlc/package.json +1 -1
  185. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  186. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  187. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  188. package/examples/javascript/xy-stacked-column/package.json +1 -1
  189. package/examples/javascript/xy-stacked-step/package.json +1 -1
  190. package/examples/javascript/xy-stock/package.json +1 -1
  191. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  192. package/examples/typescript/flow-arc-horizontal/package.json +1 -1
  193. package/examples/typescript/flow-arc-vertical/package.json +1 -1
  194. package/examples/typescript/flow-chord/package.json +1 -1
  195. package/examples/typescript/flow-chord-directed/package.json +1 -1
  196. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  197. package/examples/typescript/flow-sankey/package.json +1 -1
  198. package/examples/typescript/gauge/package.json +1 -1
  199. package/examples/typescript/gauge-bands/package.json +1 -1
  200. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  201. package/examples/typescript/hierarchy-pack/package.json +1 -1
  202. package/examples/typescript/hierarchy-partition/package.json +1 -1
  203. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  204. package/examples/typescript/hierarchy-tree/package.json +1 -1
  205. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  206. package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
  207. package/examples/typescript/jest/package.json +1 -1
  208. package/examples/typescript/json-pie/package.json +1 -1
  209. package/examples/typescript/json-xy/package.json +1 -1
  210. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  211. package/examples/typescript/map-clustered-points/package.json +1 -1
  212. package/examples/typescript/map-day-and-night/package.json +1 -1
  213. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  214. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  215. package/examples/typescript/map-with-bubbles/package.json +1 -1
  216. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  217. package/examples/typescript/misc-40-charts/package.json +1 -1
  218. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  219. package/examples/typescript/pie-chart/package.json +1 -1
  220. package/examples/typescript/pie-donut-chart/package.json +1 -1
  221. package/examples/typescript/pie-variable-radius/package.json +1 -1
  222. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  223. package/examples/typescript/radar-heat-map/package.json +1 -1
  224. package/examples/typescript/radar-line/package.json +1 -1
  225. package/examples/typescript/radar-time-line/package.json +1 -1
  226. package/examples/typescript/sliced-funnel/package.json +1 -1
  227. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  228. package/examples/typescript/sliced-pyramid/package.json +1 -1
  229. package/examples/typescript/stock-chart/index.ts +1 -1
  230. package/examples/typescript/stock-chart/package.json +1 -1
  231. package/examples/typescript/stock-chart-comparing-stocks/index.ts +1 -1
  232. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  233. package/examples/typescript/stock-chart-data-granularity/index.ts +1 -1
  234. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  235. package/examples/typescript/stock-chart-data-grouping/index.ts +1 -1
  236. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  237. package/examples/typescript/stock-chart-intraday/index.ts +1 -1
  238. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  239. package/examples/typescript/stock-chart-live/index.ts +1 -0
  240. package/examples/typescript/stock-chart-live/package.json +1 -1
  241. package/examples/typescript/stock-chart-volume-separate-panel/index.ts +1 -1
  242. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  243. package/examples/typescript/venn-diagram/package.json +1 -1
  244. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  245. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  246. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  247. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  248. package/examples/typescript/xy-bubble/package.json +1 -1
  249. package/examples/typescript/xy-candlestick/package.json +1 -1
  250. package/examples/typescript/xy-clustered-column/package.json +1 -1
  251. package/examples/typescript/xy-column/package.json +1 -1
  252. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  253. package/examples/typescript/xy-data-grouping/package.json +1 -1
  254. package/examples/typescript/xy-draggable-range/package.json +1 -1
  255. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  256. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  257. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  258. package/examples/typescript/xy-line/package.json +1 -1
  259. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  260. package/examples/typescript/xy-live-data/package.json +1 -1
  261. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  262. package/examples/typescript/xy-ohlc/package.json +1 -1
  263. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  264. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  265. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  266. package/examples/typescript/xy-stacked-column/package.json +1 -1
  267. package/examples/typescript/xy-stacked-step/package.json +1 -1
  268. package/examples/typescript/xy-stock/package.json +1 -1
  269. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  270. package/index.d.ts +2 -0
  271. package/index.d.ts.map +1 -1
  272. package/index.js +2 -0
  273. package/index.js.map +1 -1
  274. package/package.json +1 -1
@@ -0,0 +1,47 @@
1
+ import { Container, IContainerPrivate, IContainerSettings, IContainerEvents } from "../../core/render/Container";
2
+ import { Button } from "../../core/render/Button";
3
+ import { MultiDisposer } from "../../core/util/Disposer";
4
+ export interface IZoomable {
5
+ zoomIn(): void;
6
+ zoomOut(): void;
7
+ goHome(): void;
8
+ }
9
+ export interface IZoomToolsSettings extends IContainerSettings {
10
+ /**
11
+ * A target element that zoom tools will control, e.g. [[ZoomableContainer]].
12
+ */
13
+ target?: IZoomable;
14
+ }
15
+ export interface IZoomToolsPrivate extends IContainerPrivate {
16
+ }
17
+ export interface IZoomToolsEvents extends IContainerEvents {
18
+ }
19
+ /**
20
+ * A tool that displays button for zoomable targets.
21
+ *
22
+ * @since 5.8.0
23
+ * @important
24
+ */
25
+ export declare class ZoomTools extends Container {
26
+ static className: string;
27
+ static classNames: Array<string>;
28
+ _events: IContainerEvents;
29
+ /**
30
+ * A [[Button]] for home.
31
+ */
32
+ readonly homeButton: Button;
33
+ /**
34
+ * A [[Button]] for zoom in.
35
+ */
36
+ readonly plusButton: Button;
37
+ /**
38
+ * A [[Button]] for zoom out.
39
+ */
40
+ readonly minusButton: Button;
41
+ _settings: IZoomToolsSettings;
42
+ _privateSettings: IZoomToolsPrivate;
43
+ protected _disposer: MultiDisposer | undefined;
44
+ protected _afterNew(): void;
45
+ _prepareChildren(): void;
46
+ }
47
+ //# sourceMappingURL=ZoomTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZoomTools.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/render/ZoomTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACjH,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,MAAM,WAAW,SAAS;IACzB,MAAM,IAAI,IAAI,CAAC;IACf,OAAO,IAAI,IAAI,CAAC;IAChB,MAAM,IAAI,IAAI,CAAC;CACf;AAED,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAE7D;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;CAEnB;AAED,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;CAC3D;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;CACzD;AAED;;;;;GAKG;AACH,qBAAa,SAAU,SAAQ,SAAS;IAEvC,OAAc,SAAS,EAAE,MAAM,CAAe;IAC9C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAsD;IAC9E,OAAO,EAAE,gBAAgB,CAAC;IAEzC;;OAEG;IACH,SAAgB,UAAU,EAAE,MAAM,CAA8F;IAEhI;;OAEG;IACH,SAAgB,UAAU,EAAE,MAAM,CAA8F;IAEhI;;OAEG;IACH,SAAgB,WAAW,EAAE,MAAM,CAA+F;IAEnH,SAAS,EAAE,kBAAkB,CAAC;IAC9B,gBAAgB,EAAE,iBAAiB,CAAC;IAEnD,SAAS,CAAC,SAAS,EAAE,aAAa,GAAG,SAAS,CAAC;IAE/C,SAAS,CAAC,SAAS;IAwBZ,gBAAgB;CAwBvB"}
@@ -0,0 +1,102 @@
1
+ import { Container } from "../../core/render/Container";
2
+ import { Button } from "../../core/render/Button";
3
+ import { Graphics } from "../../core/render/Graphics";
4
+ import { MultiDisposer } from "../../core/util/Disposer";
5
+ /**
6
+ * A tool that displays button for zoomable targets.
7
+ *
8
+ * @since 5.8.0
9
+ * @important
10
+ */
11
+ export class ZoomTools extends Container {
12
+ constructor() {
13
+ super(...arguments);
14
+ /**
15
+ * A [[Button]] for home.
16
+ */
17
+ Object.defineProperty(this, "homeButton", {
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true,
21
+ value: this.children.push(Button.new(this._root, { width: 35, height: 35, themeTags: ["home"] }))
22
+ });
23
+ /**
24
+ * A [[Button]] for zoom in.
25
+ */
26
+ Object.defineProperty(this, "plusButton", {
27
+ enumerable: true,
28
+ configurable: true,
29
+ writable: true,
30
+ value: this.children.push(Button.new(this._root, { width: 35, height: 35, themeTags: ["plus"] }))
31
+ });
32
+ /**
33
+ * A [[Button]] for zoom out.
34
+ */
35
+ Object.defineProperty(this, "minusButton", {
36
+ enumerable: true,
37
+ configurable: true,
38
+ writable: true,
39
+ value: this.children.push(Button.new(this._root, { width: 35, height: 35, themeTags: ["minus"] }))
40
+ });
41
+ Object.defineProperty(this, "_disposer", {
42
+ enumerable: true,
43
+ configurable: true,
44
+ writable: true,
45
+ value: void 0
46
+ });
47
+ }
48
+ _afterNew() {
49
+ super._afterNew();
50
+ this.set("position", "absolute");
51
+ this.set("layout", this._root.verticalLayout);
52
+ this.addTag("zoomtools");
53
+ this.plusButton.setAll({
54
+ icon: Graphics.new(this._root, { themeTags: ["icon"] }),
55
+ layout: undefined
56
+ });
57
+ this.minusButton.setAll({
58
+ icon: Graphics.new(this._root, { themeTags: ["icon"] }),
59
+ layout: undefined
60
+ });
61
+ this.homeButton.setAll({
62
+ icon: Graphics.new(this._root, { themeTags: ["icon"] }),
63
+ layout: undefined
64
+ });
65
+ }
66
+ _prepareChildren() {
67
+ super._prepareChildren();
68
+ if (this.isDirty("target")) {
69
+ const target = this.get("target");
70
+ const previous = this._prevSettings.target;
71
+ if (target) {
72
+ this._disposer = new MultiDisposer([
73
+ this.plusButton.events.on("click", () => {
74
+ target.zoomIn();
75
+ }),
76
+ this.minusButton.events.on("click", () => {
77
+ target.zoomOut();
78
+ }),
79
+ this.homeButton.events.on("click", () => {
80
+ target.goHome();
81
+ })
82
+ ]);
83
+ }
84
+ if (previous && this._disposer) {
85
+ this._disposer.dispose();
86
+ }
87
+ }
88
+ }
89
+ }
90
+ Object.defineProperty(ZoomTools, "className", {
91
+ enumerable: true,
92
+ configurable: true,
93
+ writable: true,
94
+ value: "ZoomTools"
95
+ });
96
+ Object.defineProperty(ZoomTools, "classNames", {
97
+ enumerable: true,
98
+ configurable: true,
99
+ writable: true,
100
+ value: Container.classNames.concat([ZoomTools.className])
101
+ });
102
+ //# sourceMappingURL=ZoomTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZoomTools.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/ZoomTools.ts"],"names":[],"mappings":"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","sourcesContent":["import { Container, IContainerPrivate, IContainerSettings, IContainerEvents } from \"../../core/render/Container\";\r\nimport { Button } from \"../../core/render/Button\";\r\nimport { Graphics } from \"../../core/render/Graphics\";\r\nimport { MultiDisposer } from \"../../core/util/Disposer\";\r\n\r\nexport interface IZoomable {\r\n\tzoomIn(): void;\r\n\tzoomOut(): void;\r\n\tgoHome(): void;\r\n}\r\n\r\nexport interface IZoomToolsSettings extends IContainerSettings {\r\n\r\n\t/**\r\n\t * A target element that zoom tools will control, e.g. [[ZoomableContainer]].\r\n\t */\r\n\ttarget?: IZoomable;\r\n\r\n}\r\n\r\nexport interface IZoomToolsPrivate extends IContainerPrivate {\r\n}\r\n\r\nexport interface IZoomToolsEvents extends IContainerEvents {\r\n}\r\n\r\n/**\r\n * A tool that displays button for zoomable targets.\r\n *\r\n * @since 5.8.0\r\n * @important\r\n */\r\nexport class ZoomTools extends Container {\r\n\r\n\tpublic static className: string = \"ZoomTools\";\r\n\tpublic static classNames: Array<string> = Container.classNames.concat([ZoomTools.className]);\r\n\tdeclare public _events: IContainerEvents;\r\n\r\n\t/**\r\n\t * A [[Button]] for home.\r\n\t */\r\n\tpublic readonly homeButton: Button = this.children.push(Button.new(this._root, { width: 35, height: 35, themeTags: [\"home\"] }));\r\n\r\n\t/**\r\n\t * A [[Button]] for zoom in.\r\n\t */\r\n\tpublic readonly plusButton: Button = this.children.push(Button.new(this._root, { width: 35, height: 35, themeTags: [\"plus\"] }));\r\n\r\n\t/**\r\n\t * A [[Button]] for zoom out.\r\n\t */\r\n\tpublic readonly minusButton: Button = this.children.push(Button.new(this._root, { width: 35, height: 35, themeTags: [\"minus\"] }));\r\n\r\n\tdeclare public _settings: IZoomToolsSettings;\r\n\tdeclare public _privateSettings: IZoomToolsPrivate;\r\n\r\n\tprotected _disposer: MultiDisposer | undefined;\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\r\n\t\tthis.set(\"position\", \"absolute\");\r\n\r\n\t\tthis.set(\"layout\", this._root.verticalLayout);\r\n\t\tthis.addTag(\"zoomtools\");\r\n\r\n\t\tthis.plusButton.setAll({\r\n\t\t\ticon: Graphics.new(this._root, { themeTags: [\"icon\"] }),\r\n\t\t\tlayout: undefined\r\n\t\t});\r\n\r\n\t\tthis.minusButton.setAll({\r\n\t\t\ticon: Graphics.new(this._root, { themeTags: [\"icon\"] }),\r\n\t\t\tlayout: undefined\r\n\t\t});\r\n\r\n\t\tthis.homeButton.setAll({\r\n\t\t\ticon: Graphics.new(this._root, { themeTags: [\"icon\"] }),\r\n\t\t\tlayout: undefined\r\n\t\t});\r\n\t}\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tsuper._prepareChildren();\r\n\r\n\t\tif (this.isDirty(\"target\")) {\r\n\t\t\tconst target = this.get(\"target\");\r\n\t\t\tconst previous = this._prevSettings.target;\r\n\t\t\tif (target) {\r\n\t\t\t\tthis._disposer = new MultiDisposer([\r\n\t\t\t\t\tthis.plusButton.events.on(\"click\", () => {\r\n\t\t\t\t\t\ttarget.zoomIn()\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tthis.minusButton.events.on(\"click\", () => {\r\n\t\t\t\t\t\ttarget.zoomOut()\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tthis.homeButton.events.on(\"click\", () => {\r\n\t\t\t\t\t\ttarget.goHome()\r\n\t\t\t\t\t})])\r\n\t\t\t}\r\n\r\n\t\t\tif (previous && this._disposer) {\r\n\t\t\t\tthis._disposer.dispose();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n"]}
@@ -0,0 +1,116 @@
1
+ import type { Time } from "../../core/util/Animation";
2
+ import type { Animation } from "../../core/util/Entity";
3
+ import type { IDisposer } from "../../core/util/Disposer";
4
+ import type { IPoint } from "../../core/util/IPoint";
5
+ import type { ISpritePointerEvent } from "../../core/render/Sprite";
6
+ import { Container, IContainerSettings, IContainerPrivate, IContainerEvents } from "../../core/render/Container";
7
+ export interface IZoomableContainerSettings extends IContainerSettings {
8
+ /**
9
+ * Maximum zoom-in level.
10
+ *
11
+ * @default 32
12
+ */
13
+ maxZoomLevel?: number;
14
+ /**
15
+ * Maximum zoom-out level.
16
+ *
17
+ * @default 1
18
+ */
19
+ minZoomLevel?: number;
20
+ /**
21
+ * Zoom level increase/decrease factor with each zoom action.
22
+ *
23
+ * @defult 2
24
+ */
25
+ zoomStep?: number;
26
+ /**
27
+ * Pinch-zooming is enabled on touch devices.
28
+ *
29
+ * @default true
30
+ */
31
+ pinchZoom?: boolean;
32
+ /**
33
+ * Animation duration (ms) for zoom animations.
34
+ *
35
+ * @default 600
36
+ */
37
+ animationDuration?: number;
38
+ /**
39
+ * Easing function to use for zoom animations.
40
+ *
41
+ * @default am5.ease.out(am5.ease.cubic)
42
+ */
43
+ animationEasing?: (t: Time) => Time;
44
+ }
45
+ export interface IZoomableContainerPrivate extends IContainerPrivate {
46
+ }
47
+ export interface IZoomableContainerEvents extends IContainerEvents {
48
+ }
49
+ /**
50
+ * A version of [[Container]] which adds zooming capabilities.
51
+ *
52
+ * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/containers/#Zoomable_container} for more info
53
+ * @since 5.8.0
54
+ * @important
55
+ */
56
+ export declare class ZoomableContainer extends Container {
57
+ static className: string;
58
+ static classNames: Array<string>;
59
+ _settings: IZoomableContainerSettings;
60
+ _privateSettings: IZoomableContainerPrivate;
61
+ _events: IZoomableContainerEvents;
62
+ protected _za?: Animation<this["_settings"]["scale"]>;
63
+ protected _txa?: Animation<this["_settings"]["x"]>;
64
+ protected _tya?: Animation<this["_settings"]["y"]>;
65
+ protected _movePoints: {
66
+ [index: number]: IPoint;
67
+ };
68
+ protected _downScale: number;
69
+ protected _downX: number;
70
+ protected _downY: number;
71
+ protected _pinchDP?: IDisposer;
72
+ /**
73
+ * All elements must be added to `contents.children` instead of `children` of
74
+ * [[ZoomableContainer]].
75
+ *
76
+ * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/containers/#Zoomable_container} for more info
77
+ */
78
+ contents: Container;
79
+ protected _wheelDp: IDisposer | undefined;
80
+ protected _afterNew(): void;
81
+ _prepareChildren(): void;
82
+ protected _handleSetWheel(): void;
83
+ protected _handleWheelZoom(delta: number, point: IPoint): void;
84
+ /**
85
+ * Zooms to specific X/Y point.
86
+ *
87
+ * @param point Center point
88
+ * @param level Zoom level
89
+ * @return Zoom Animation object
90
+ */
91
+ zoomToPoint(point: IPoint, level: number): Animation<this["_settings"]["scale"]> | undefined;
92
+ /**
93
+ * Zooms the container contents in by `zoomStep`.
94
+ *
95
+ * @return Zoom Animation object
96
+ */
97
+ zoomIn(): Animation<this["_settings"]["scale"]> | undefined;
98
+ /**
99
+ * Zooms the container contents out by `zoomStep`.
100
+ *
101
+ * @return Zoom Animation object
102
+ */
103
+ zoomOut(): Animation<this["_settings"]["scale"]> | undefined;
104
+ /**
105
+ * Fully zooms out the container contents.
106
+ *
107
+ * @return Zoom Animation object
108
+ */
109
+ goHome(): void;
110
+ protected _animateTo(x: number, y: number, scale: number): void;
111
+ protected _handleThisUp(_event: ISpritePointerEvent): void;
112
+ protected _handleThisDown(event: ISpritePointerEvent): void;
113
+ protected _handleThisMove(event: ISpritePointerEvent): void;
114
+ protected _handlePinch(): void;
115
+ }
116
+ //# sourceMappingURL=ZoomableContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZoomableContainer.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/render/ZoomableContainer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,309 @@
1
+ import { Container } from "../../core/render/Container";
2
+ import { p100 } from "../../core/util/Percent";
3
+ import { Rectangle } from "../../core/render/Rectangle";
4
+ import { color } from "../../core/util/Color";
5
+ import * as $utils from "../../core/util/Utils";
6
+ import * as $math from "../../core/util/Math";
7
+ import * as $object from "../../core/util/Object";
8
+ /**
9
+ * A version of [[Container]] which adds zooming capabilities.
10
+ *
11
+ * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/containers/#Zoomable_container} for more info
12
+ * @since 5.8.0
13
+ * @important
14
+ */
15
+ export class ZoomableContainer extends Container {
16
+ constructor() {
17
+ super(...arguments);
18
+ Object.defineProperty(this, "_za", {
19
+ enumerable: true,
20
+ configurable: true,
21
+ writable: true,
22
+ value: void 0
23
+ });
24
+ Object.defineProperty(this, "_txa", {
25
+ enumerable: true,
26
+ configurable: true,
27
+ writable: true,
28
+ value: void 0
29
+ });
30
+ Object.defineProperty(this, "_tya", {
31
+ enumerable: true,
32
+ configurable: true,
33
+ writable: true,
34
+ value: void 0
35
+ });
36
+ Object.defineProperty(this, "_movePoints", {
37
+ enumerable: true,
38
+ configurable: true,
39
+ writable: true,
40
+ value: {}
41
+ });
42
+ Object.defineProperty(this, "_downScale", {
43
+ enumerable: true,
44
+ configurable: true,
45
+ writable: true,
46
+ value: 1
47
+ });
48
+ Object.defineProperty(this, "_downX", {
49
+ enumerable: true,
50
+ configurable: true,
51
+ writable: true,
52
+ value: 0
53
+ });
54
+ Object.defineProperty(this, "_downY", {
55
+ enumerable: true,
56
+ configurable: true,
57
+ writable: true,
58
+ value: 0
59
+ });
60
+ Object.defineProperty(this, "_pinchDP", {
61
+ enumerable: true,
62
+ configurable: true,
63
+ writable: true,
64
+ value: void 0
65
+ });
66
+ /**
67
+ * All elements must be added to `contents.children` instead of `children` of
68
+ * [[ZoomableContainer]].
69
+ *
70
+ * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/containers/#Zoomable_container} for more info
71
+ */
72
+ Object.defineProperty(this, "contents", {
73
+ enumerable: true,
74
+ configurable: true,
75
+ writable: true,
76
+ value: this.children.push(Container.new(this._root, {
77
+ width: p100,
78
+ height: p100,
79
+ x: 0,
80
+ y: 0,
81
+ draggable: true,
82
+ background: Rectangle.new(this._root, {
83
+ fill: color(0xffffff),
84
+ fillOpacity: 0
85
+ })
86
+ }))
87
+ });
88
+ Object.defineProperty(this, "_wheelDp", {
89
+ enumerable: true,
90
+ configurable: true,
91
+ writable: true,
92
+ value: void 0
93
+ });
94
+ }
95
+ _afterNew() {
96
+ super._afterNew();
97
+ const events = this.contents.events;
98
+ this._disposers.push(events.on("pointerdown", (event) => {
99
+ this._handleThisDown(event);
100
+ }));
101
+ this._disposers.push(events.on("globalpointerup", (event) => {
102
+ this._handleThisUp(event);
103
+ }));
104
+ this._disposers.push(events.on("globalpointermove", (event) => {
105
+ this._handleThisMove(event);
106
+ }));
107
+ }
108
+ _prepareChildren() {
109
+ super._prepareChildren();
110
+ if (this.isDirty("wheelable")) {
111
+ this._handleSetWheel();
112
+ }
113
+ this.contents._display.cancelTouch = this.get("pinchZoom", false);
114
+ }
115
+ _handleSetWheel() {
116
+ // const contents = this.contents;
117
+ if (this.get("wheelable")) {
118
+ if (this._wheelDp) {
119
+ this._wheelDp.dispose();
120
+ }
121
+ this._wheelDp = this.events.on("wheel", (event) => {
122
+ const wheelEvent = event.originalEvent;
123
+ // Ignore wheel event if it is happening on a non-ZoomableContainer element, e.g. if
124
+ // some page element is over the ZoomableContainer.
125
+ if ($utils.isLocalEvent(wheelEvent, this)) {
126
+ wheelEvent.preventDefault();
127
+ }
128
+ else {
129
+ return;
130
+ }
131
+ const point = this.toLocal(event.point);
132
+ this._handleWheelZoom(wheelEvent.deltaY, point);
133
+ });
134
+ this._disposers.push(this._wheelDp);
135
+ }
136
+ else {
137
+ if (this._wheelDp) {
138
+ this._wheelDp.dispose();
139
+ }
140
+ }
141
+ }
142
+ _handleWheelZoom(delta, point) {
143
+ let step = this.get("zoomStep", 2);
144
+ let zoomLevel = this.contents.get("scale", 1);
145
+ let newZoomLevel = zoomLevel;
146
+ if (delta > 0) {
147
+ newZoomLevel = zoomLevel / step;
148
+ }
149
+ else if (delta < 0) {
150
+ newZoomLevel = zoomLevel * step;
151
+ }
152
+ if (newZoomLevel != zoomLevel) {
153
+ this.zoomToPoint(point, newZoomLevel);
154
+ }
155
+ }
156
+ /**
157
+ * Zooms to specific X/Y point.
158
+ *
159
+ * @param point Center point
160
+ * @param level Zoom level
161
+ * @return Zoom Animation object
162
+ */
163
+ zoomToPoint(point, level) {
164
+ if (level) {
165
+ level = $math.fitToRange(level, this.get("minZoomLevel", 1), this.get("maxZoomLevel", 32));
166
+ }
167
+ const zoomLevel = this.contents.get("scale", 1);
168
+ let x = point.x;
169
+ let y = point.y;
170
+ let cx = x;
171
+ let cy = y;
172
+ const contents = this.contents;
173
+ let tx = contents.x();
174
+ let ty = contents.y();
175
+ let xx = cx - ((x - tx) / zoomLevel * level);
176
+ let yy = cy - ((y - ty) / zoomLevel * level);
177
+ this._animateTo(xx, yy, level);
178
+ return this._za;
179
+ }
180
+ /**
181
+ * Zooms the container contents in by `zoomStep`.
182
+ *
183
+ * @return Zoom Animation object
184
+ */
185
+ zoomIn() {
186
+ return this.zoomToPoint({ x: this.width() / 2, y: this.height() / 2 }, this.contents.get("scale", 1) * this.get("zoomStep", 2));
187
+ }
188
+ /**
189
+ * Zooms the container contents out by `zoomStep`.
190
+ *
191
+ * @return Zoom Animation object
192
+ */
193
+ zoomOut() {
194
+ return this.zoomToPoint({ x: this.width() / 2, y: this.height() / 2 }, this.contents.get("scale", 1) / this.get("zoomStep", 2));
195
+ }
196
+ /**
197
+ * Fully zooms out the container contents.
198
+ *
199
+ * @return Zoom Animation object
200
+ */
201
+ goHome() {
202
+ return this._animateTo(0, 0, 1);
203
+ }
204
+ _animateTo(x, y, scale) {
205
+ const duration = this.get("animationDuration", 0);
206
+ const easing = this.get("animationEasing");
207
+ const contents = this.contents;
208
+ this._txa = contents.animate({ key: "x", to: x, duration: duration, easing: easing });
209
+ this._tya = contents.animate({ key: "y", to: y, duration: duration, easing: easing });
210
+ this._za = contents.animate({ key: "scale", to: scale, duration: duration, easing: easing });
211
+ }
212
+ _handleThisUp(_event) {
213
+ this._downPoints = {};
214
+ }
215
+ _handleThisDown(event) {
216
+ const contents = this.contents;
217
+ this._downScale = contents.get("scale", 1);
218
+ const downPoints = contents._downPoints;
219
+ let count = $object.keys(downPoints).length;
220
+ if (count == 1) {
221
+ // workaround to solve a problem when events are added to some children of chart container (rotation stops working)
222
+ let downPoint = downPoints[1];
223
+ if (!downPoint) {
224
+ downPoint = downPoints[0];
225
+ }
226
+ if (downPoint && (downPoint.x == event.point.x && downPoint.y == event.point.y)) {
227
+ count = 0;
228
+ }
229
+ }
230
+ if (count > 0) {
231
+ this._downX = contents.x();
232
+ this._downY = contents.y();
233
+ const downId = contents._getDownPointId();
234
+ if (downId) {
235
+ let movePoint = this._movePoints[downId];
236
+ if (movePoint) {
237
+ contents._downPoints[downId] = movePoint;
238
+ }
239
+ }
240
+ }
241
+ }
242
+ _handleThisMove(event) {
243
+ const originalEvent = event.originalEvent;
244
+ const pointerId = originalEvent.pointerId;
245
+ if (this.get("pinchZoom")) {
246
+ if (pointerId) {
247
+ this._movePoints[pointerId] = event.point;
248
+ if ($object.keys(this.contents._downPoints).length > 1) {
249
+ this._handlePinch();
250
+ return;
251
+ }
252
+ }
253
+ }
254
+ }
255
+ _handlePinch() {
256
+ let i = 0;
257
+ let downPoints = [];
258
+ let movePoints = [];
259
+ $object.each(this.contents._downPoints, (k, point) => {
260
+ downPoints[i] = point;
261
+ let movePoint = this._movePoints[k];
262
+ if (movePoint) {
263
+ movePoints[i] = movePoint;
264
+ }
265
+ i++;
266
+ });
267
+ if (downPoints.length > 1 && movePoints.length > 1) {
268
+ this.contents._isDragging = false;
269
+ let downPoint0 = downPoints[0];
270
+ let downPoint1 = downPoints[1];
271
+ let movePoint0 = movePoints[0];
272
+ let movePoint1 = movePoints[1];
273
+ if (downPoint0 && downPoint1 && movePoint0 && movePoint1) {
274
+ downPoint0 = this.toLocal(downPoint0);
275
+ downPoint1 = this.toLocal(downPoint1);
276
+ movePoint0 = this.toLocal(movePoint0);
277
+ movePoint1 = this.toLocal(movePoint1);
278
+ let initialDistance = Math.hypot(downPoint1.x - downPoint0.x, downPoint1.y - downPoint0.y);
279
+ let currentDistance = Math.hypot(movePoint1.x - movePoint0.x, movePoint1.y - movePoint0.y);
280
+ let level = currentDistance / initialDistance * this._downScale;
281
+ let moveCenter = { x: movePoint0.x + (movePoint1.x - movePoint0.x) / 2, y: movePoint0.y + (movePoint1.y - movePoint0.y) / 2 };
282
+ let downCenter = { x: downPoint0.x + (downPoint1.x - downPoint0.x) / 2, y: downPoint0.y + (downPoint1.y - downPoint0.y) / 2 };
283
+ let tx = this._downX || 0;
284
+ let ty = this._downY || 0;
285
+ let zoomLevel = this._downScale;
286
+ let xx = moveCenter.x - (-tx + downCenter.x) / zoomLevel * level;
287
+ let yy = moveCenter.y - (-ty + downCenter.y) / zoomLevel * level;
288
+ this.contents.setAll({
289
+ x: xx,
290
+ y: yy,
291
+ scale: level
292
+ });
293
+ }
294
+ }
295
+ }
296
+ }
297
+ Object.defineProperty(ZoomableContainer, "className", {
298
+ enumerable: true,
299
+ configurable: true,
300
+ writable: true,
301
+ value: "ZoomableContainer"
302
+ });
303
+ Object.defineProperty(ZoomableContainer, "classNames", {
304
+ enumerable: true,
305
+ configurable: true,
306
+ writable: true,
307
+ value: Container.classNames.concat([ZoomableContainer.className])
308
+ });
309
+ //# sourceMappingURL=ZoomableContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZoomableContainer.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/ZoomableContainer.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Time } from \"../../core/util/Animation\";\r\nimport type { Animation } from \"../../core/util/Entity\";\r\nimport type { IDisposer } from \"../../core/util/Disposer\";\r\nimport type { IPoint } from \"../../core/util/IPoint\";\r\nimport type { ISpritePointerEvent } from \"../../core/render/Sprite\";\r\n\r\nimport { Container, IContainerSettings, IContainerPrivate, IContainerEvents } from \"../../core/render/Container\";\r\nimport { p100 } from \"../../core/util/Percent\";\r\nimport { Rectangle } from \"../../core/render/Rectangle\";\r\nimport { color } from \"../../core/util/Color\";\r\n\r\nimport * as $utils from \"../../core/util/Utils\";\r\nimport * as $math from \"../../core/util/Math\";\r\nimport * as $object from \"../../core/util/Object\";\r\n\r\nexport interface IZoomableContainerSettings extends IContainerSettings {\r\n\r\n\t/**\r\n\t * Maximum zoom-in level.\r\n\t * \r\n\t * @default 32\r\n\t */\r\n\tmaxZoomLevel?: number;\r\n\r\n\t/**\r\n\t * Maximum zoom-out level.\r\n\t * \r\n\t * @default 1\r\n\t */\r\n\tminZoomLevel?: number;\r\n\r\n\t/**\r\n\t * Zoom level increase/decrease factor with each zoom action.\r\n\t * \r\n\t * @defult 2\r\n\t */\r\n\tzoomStep?: number;\r\n\r\n\t/**\r\n\t * Pinch-zooming is enabled on touch devices.\r\n\t *\r\n\t * @default true\r\n\t */\r\n\tpinchZoom?: boolean;\r\n\r\n\t/**\r\n\t * Animation duration (ms) for zoom animations.\r\n\t *\r\n\t * @default 600\r\n\t */\r\n\tanimationDuration?: number;\r\n\r\n\t/**\r\n\t * Easing function to use for zoom animations.\r\n\t * \r\n\t * @default am5.ease.out(am5.ease.cubic)\r\n\t */\r\n\tanimationEasing?: (t: Time) => Time;\r\n\r\n}\r\n\r\nexport interface IZoomableContainerPrivate extends IContainerPrivate {\r\n}\r\n\r\nexport interface IZoomableContainerEvents extends IContainerEvents {\r\n}\r\n\r\n/**\r\n * A version of [[Container]] which adds zooming capabilities.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/containers/#Zoomable_container} for more info\r\n * @since 5.8.0\r\n * @important\r\n */\r\nexport class ZoomableContainer extends Container {\r\n\tpublic static className: string = \"ZoomableContainer\";\r\n\tpublic static classNames: Array<string> = Container.classNames.concat([ZoomableContainer.className]);\r\n\r\n\tdeclare public _settings: IZoomableContainerSettings;\r\n\tdeclare public _privateSettings: IZoomableContainerPrivate;\r\n\tdeclare public _events: IZoomableContainerEvents;\r\n\r\n\tprotected _za?: Animation<this[\"_settings\"][\"scale\"]>;\r\n\tprotected _txa?: Animation<this[\"_settings\"][\"x\"]>;\r\n\tprotected _tya?: Animation<this[\"_settings\"][\"y\"]>;\r\n\r\n\r\n\tprotected _movePoints: { [index: number]: IPoint } = {};\r\n\tprotected _downScale: number = 1;\r\n\tprotected _downX: number = 0;\r\n\tprotected _downY: number = 0;\r\n\r\n\tprotected _pinchDP?: IDisposer;\r\n\r\n\t/**\r\n\t * All elements must be added to `contents.children` instead of `children` of\r\n\t * [[ZoomableContainer]].\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/containers/#Zoomable_container} for more info\r\n\t */\r\n\tpublic contents = this.children.push(Container.new(this._root, {\r\n\t\twidth: p100,\r\n\t\theight: p100,\r\n\t\tx: 0,\r\n\t\ty: 0,\r\n\t\tdraggable: true,\r\n\t\tbackground: Rectangle.new(this._root, {\r\n\t\t\tfill: color(0xffffff),\r\n\t\t\tfillOpacity: 0\r\n\t\t})\r\n\t}))\r\n\r\n\tprotected _wheelDp: IDisposer | undefined;\r\n\r\n\tprotected _afterNew(): void {\r\n\t\tsuper._afterNew();\r\n\r\n\t\tconst events = this.contents.events;\r\n\r\n\t\tthis._disposers.push(events.on(\"pointerdown\", (event) => {\r\n\t\t\tthis._handleThisDown(event);\r\n\t\t}));\r\n\r\n\t\tthis._disposers.push(events.on(\"globalpointerup\", (event) => {\r\n\t\t\tthis._handleThisUp(event);\r\n\t\t}));\r\n\r\n\t\tthis._disposers.push(events.on(\"globalpointermove\", (event) => {\r\n\t\t\tthis._handleThisMove(event);\r\n\t\t}));\r\n\t}\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tsuper._prepareChildren();\r\n\t\tif (this.isDirty(\"wheelable\")) {\r\n\t\t\tthis._handleSetWheel();\r\n\t\t}\r\n\r\n\t\tthis.contents._display.cancelTouch = this.get(\"pinchZoom\", false);\r\n\t}\r\n\r\n\r\n\tprotected _handleSetWheel() {\r\n\t\t// const contents = this.contents;\r\n\r\n\t\tif (this.get(\"wheelable\")) {\r\n\t\t\tif (this._wheelDp) {\r\n\t\t\t\tthis._wheelDp.dispose();\r\n\t\t\t}\r\n\r\n\t\t\tthis._wheelDp = this.events.on(\"wheel\", (event) => {\r\n\t\t\t\tconst wheelEvent = event.originalEvent;\r\n\r\n\t\t\t\t// Ignore wheel event if it is happening on a non-ZoomableContainer element, e.g. if\r\n\t\t\t\t// some page element is over the ZoomableContainer.\r\n\t\t\t\tif ($utils.isLocalEvent(wheelEvent, this)) {\r\n\t\t\t\t\twheelEvent.preventDefault();\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst point = this.toLocal(event.point);\r\n\r\n\t\t\t\tthis._handleWheelZoom(wheelEvent.deltaY, point);\r\n\t\t\t});\r\n\r\n\t\t\tthis._disposers.push(this._wheelDp);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tif (this._wheelDp) {\r\n\t\t\t\tthis._wheelDp.dispose();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _handleWheelZoom(delta: number, point: IPoint) {\r\n\t\tlet step = this.get(\"zoomStep\", 2);\r\n\t\tlet zoomLevel = this.contents.get(\"scale\", 1);\r\n\r\n\t\tlet newZoomLevel = zoomLevel;\r\n\t\tif (delta > 0) {\r\n\t\t\tnewZoomLevel = zoomLevel / step;\r\n\t\t}\r\n\t\telse if (delta < 0) {\r\n\t\t\tnewZoomLevel = zoomLevel * step;\r\n\t\t}\r\n\r\n\t\tif (newZoomLevel != zoomLevel) {\r\n\t\t\tthis.zoomToPoint(point, newZoomLevel)\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Zooms to specific X/Y point.\r\n\t * \r\n\t * @param point Center point\r\n\t * @param level Zoom level\r\n\t * @return Zoom Animation object\r\n\t */\r\n\tpublic zoomToPoint(point: IPoint, level: number): Animation<this[\"_settings\"][\"scale\"]> | undefined {\r\n\t\tif (level) {\r\n\t\t\tlevel = $math.fitToRange(level, this.get(\"minZoomLevel\", 1), this.get(\"maxZoomLevel\", 32));\r\n\t\t}\r\n\r\n\t\tconst zoomLevel = this.contents.get(\"scale\", 1);\r\n\r\n\t\tlet x = point.x;\r\n\t\tlet y = point.y;\r\n\r\n\t\tlet cx = x;\r\n\t\tlet cy = y;\r\n\r\n\t\tconst contents = this.contents;\r\n\r\n\t\tlet tx = contents.x();\r\n\t\tlet ty = contents.y();\r\n\r\n\t\tlet xx = cx - ((x - tx) / zoomLevel * level);\r\n\t\tlet yy = cy - ((y - ty) / zoomLevel * level);\r\n\r\n\t\tthis._animateTo(xx, yy, level);\r\n\r\n\t\treturn this._za;\r\n\t}\r\n\r\n\t/**\r\n\t * Zooms the container contents in by `zoomStep`.\r\n\t * \r\n\t * @return Zoom Animation object\r\n\t */\r\n\tpublic zoomIn(): Animation<this[\"_settings\"][\"scale\"]> | undefined {\r\n\t\treturn this.zoomToPoint({ x: this.width() / 2, y: this.height() / 2 }, this.contents.get(\"scale\", 1) * this.get(\"zoomStep\", 2));\r\n\t}\r\n\r\n\t/**\r\n\t * Zooms the container contents out by `zoomStep`.\r\n\t * \r\n\t * @return Zoom Animation object\r\n\t */\r\n\tpublic zoomOut(): Animation<this[\"_settings\"][\"scale\"]> | undefined {\r\n\t\treturn this.zoomToPoint({ x: this.width() / 2, y: this.height() / 2 }, this.contents.get(\"scale\", 1) / this.get(\"zoomStep\", 2));\r\n\t}\r\n\r\n\t/**\r\n\t * Fully zooms out the container contents.\r\n\t * \r\n\t * @return Zoom Animation object\r\n\t */\r\n\tpublic goHome() {\r\n\t\treturn this._animateTo(0, 0, 1);\r\n\t}\r\n\r\n\tprotected _animateTo(x: number, y: number, scale: number) {\r\n\t\tconst duration = this.get(\"animationDuration\", 0);\r\n\t\tconst easing = this.get(\"animationEasing\");\r\n\r\n\t\tconst contents = this.contents;\r\n\t\tthis._txa = contents.animate({ key: \"x\", to: x, duration: duration, easing: easing });\r\n\t\tthis._tya = contents.animate({ key: \"y\", to: y, duration: duration, easing: easing });\r\n\t\tthis._za = contents.animate({ key: \"scale\", to: scale, duration: duration, easing: easing });\r\n\t}\r\n\r\n\r\n\tprotected _handleThisUp(_event: ISpritePointerEvent) {\r\n\t\tthis._downPoints = {}\r\n\t}\r\n\r\n\tprotected _handleThisDown(event: ISpritePointerEvent) {\r\n\r\n\t\tconst contents = this.contents;\r\n\r\n\t\tthis._downScale = contents.get(\"scale\", 1);\r\n\t\tconst downPoints = contents._downPoints;\r\n\r\n\t\tlet count = $object.keys(downPoints).length;\r\n\r\n\t\tif (count == 1) {\r\n\t\t\t// workaround to solve a problem when events are added to some children of chart container (rotation stops working)\r\n\t\t\tlet downPoint = downPoints[1];\r\n\t\t\tif (!downPoint) {\r\n\t\t\t\tdownPoint = downPoints[0];\r\n\t\t\t}\r\n\r\n\t\t\tif (downPoint && (downPoint.x == event.point.x && downPoint.y == event.point.y)) {\r\n\t\t\t\tcount = 0;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (count > 0) {\r\n\t\t\tthis._downX = contents.x();\r\n\t\t\tthis._downY = contents.y();\r\n\r\n\t\t\tconst downId = contents._getDownPointId();\r\n\t\t\tif (downId) {\r\n\t\t\t\tlet movePoint = this._movePoints[downId];\r\n\t\t\t\tif (movePoint) {\r\n\t\t\t\t\tcontents._downPoints[downId] = movePoint;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tprotected _handleThisMove(event: ISpritePointerEvent) {\r\n\t\tconst originalEvent = event.originalEvent as any;\r\n\r\n\t\tconst pointerId = originalEvent.pointerId;\r\n\r\n\t\tif (this.get(\"pinchZoom\")) {\r\n\t\t\tif (pointerId) {\r\n\t\t\t\tthis._movePoints[pointerId] = event.point;\r\n\r\n\t\t\t\tif ($object.keys(this.contents._downPoints).length > 1) {\r\n\t\t\t\t\tthis._handlePinch();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _handlePinch() {\r\n\t\tlet i = 0;\r\n\t\tlet downPoints: Array<IPoint> = [];\r\n\t\tlet movePoints: Array<IPoint> = [];\r\n\r\n\t\t$object.each(this.contents._downPoints, (k, point) => {\r\n\t\t\tdownPoints[i] = point;\r\n\t\t\tlet movePoint = this._movePoints[k];\r\n\t\t\tif (movePoint) {\r\n\t\t\t\tmovePoints[i] = movePoint;\r\n\t\t\t}\r\n\t\t\ti++;\r\n\t\t});\r\n\r\n\t\tif (downPoints.length > 1 && movePoints.length > 1) {\r\n\r\n\t\t\tthis.contents._isDragging = false;\r\n\r\n\t\t\tlet downPoint0 = downPoints[0];\r\n\t\t\tlet downPoint1 = downPoints[1];\r\n\r\n\t\t\tlet movePoint0 = movePoints[0];\r\n\t\t\tlet movePoint1 = movePoints[1];\r\n\r\n\t\t\tif (downPoint0 && downPoint1 && movePoint0 && movePoint1) {\r\n\t\t\t\tdownPoint0 = this.toLocal(downPoint0);\r\n\t\t\t\tdownPoint1 = this.toLocal(downPoint1);\r\n\r\n\t\t\t\tmovePoint0 = this.toLocal(movePoint0);\r\n\t\t\t\tmovePoint1 = this.toLocal(movePoint1);\r\n\r\n\t\t\t\tlet initialDistance = Math.hypot(downPoint1.x - downPoint0.x, downPoint1.y - downPoint0.y);\r\n\t\t\t\tlet currentDistance = Math.hypot(movePoint1.x - movePoint0.x, movePoint1.y - movePoint0.y);\r\n\r\n\t\t\t\tlet level = currentDistance / initialDistance * this._downScale;\r\n\t\t\t\tlet moveCenter = { x: movePoint0.x + (movePoint1.x - movePoint0.x) / 2, y: movePoint0.y + (movePoint1.y - movePoint0.y) / 2 };\r\n\t\t\t\tlet downCenter = { x: downPoint0.x + (downPoint1.x - downPoint0.x) / 2, y: downPoint0.y + (downPoint1.y - downPoint0.y) / 2 };\r\n\r\n\t\t\t\tlet tx = this._downX || 0;\r\n\t\t\t\tlet ty = this._downY || 0;\r\n\r\n\t\t\t\tlet zoomLevel = this._downScale;\r\n\r\n\t\t\t\tlet xx = moveCenter.x - (- tx + downCenter.x) / zoomLevel * level;\r\n\t\t\t\tlet yy = moveCenter.y - (- ty + downCenter.y) / zoomLevel * level;\r\n\r\n\t\t\t\tthis.contents.setAll({\r\n\t\t\t\t\tx: xx,\r\n\t\t\t\t\ty: yy,\r\n\t\t\t\t\tscale: level\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Time.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Time.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEpC,oBAAY,QAAQ,GAAG,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAExG,MAAM,WAAW,aAAa;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACd;AAGD;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI/C;AAGD;;;;GAIG;AACH,eAAO,IAAI,iBAAiB,EAAE;KAAG,GAAG,IAAI,QAAQ,GAAG,MAAM;CASxD,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAyBhE;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAKlE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,SAAS,UAKtE;AAGD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,UAYxI;AAED;;;;GAIG;AACH,wBAAgB,GAAG,IAAI,IAAI,CAE1B;AAED;;;;GAIG;AACH,wBAAgB,OAAO,IAAI,MAAM,CAEhC;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAErC;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAwFzH;AAED;;;;;;;GAOG;AACH,wBAAgB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAgFvG;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAMxG;AAGD;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAkQrJ;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,aAAa,CAuBjI;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,UAmBtD"}
1
+ {"version":3,"file":"Time.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Time.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEpC,oBAAY,QAAQ,GAAG,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAExG,MAAM,WAAW,aAAa;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACd;AAGD;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI/C;AAGD;;;;GAIG;AACH,eAAO,IAAI,iBAAiB,EAAE;KAAG,GAAG,IAAI,QAAQ,GAAG,MAAM;CASxD,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAyBhE;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAKlE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,SAAS,UAKtE;AAGD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,UAYxI;AAED;;;;GAIG;AACH,wBAAgB,GAAG,IAAI,IAAI,CAE1B;AAED;;;;GAIG;AACH,wBAAgB,OAAO,IAAI,MAAM,CAEhC;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAErC;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAwFzH;AAED;;;;;;;GAOG;AACH,wBAAgB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAuFvG;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAMxG;AAGD;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAkQrJ;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,aAAa,CAuBjI;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,UAmBtD"}