@amcharts/amcharts5 5.1.10 → 5.1.11

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 (236) hide show
  1. package/.internal/charts/hierarchy/ForceDirected.d.ts +1 -0
  2. package/.internal/charts/hierarchy/ForceDirected.d.ts.map +1 -1
  3. package/.internal/charts/hierarchy/ForceDirected.js +9 -0
  4. package/.internal/charts/hierarchy/ForceDirected.js.map +1 -1
  5. package/.internal/charts/hierarchy/LinkedHierarchy.d.ts +1 -0
  6. package/.internal/charts/hierarchy/LinkedHierarchy.d.ts.map +1 -1
  7. package/.internal/charts/hierarchy/LinkedHierarchy.js +12 -3
  8. package/.internal/charts/hierarchy/LinkedHierarchy.js.map +1 -1
  9. package/.internal/charts/xy/XYChart.d.ts +8 -1
  10. package/.internal/charts/xy/XYChart.d.ts.map +1 -1
  11. package/.internal/charts/xy/XYChart.js +15 -3
  12. package/.internal/charts/xy/XYChart.js.map +1 -1
  13. package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
  14. package/.internal/charts/xy/axes/Axis.js +1 -0
  15. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  16. package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
  17. package/.internal/charts/xy/axes/DateAxis.js +46 -4
  18. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  19. package/.internal/charts/xy/axes/ValueAxis.d.ts +12 -0
  20. package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
  21. package/.internal/charts/xy/axes/ValueAxis.js +16 -4
  22. package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
  23. package/.internal/charts/xy/series/XYSeries.d.ts +11 -0
  24. package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
  25. package/.internal/charts/xy/series/XYSeries.js +40 -13
  26. package/.internal/charts/xy/series/XYSeries.js.map +1 -1
  27. package/.internal/core/Root.d.ts +1 -0
  28. package/.internal/core/Root.d.ts.map +1 -1
  29. package/.internal/core/Root.js +10 -2
  30. package/.internal/core/Root.js.map +1 -1
  31. package/.internal/core/render/GridLayout.d.ts.map +1 -1
  32. package/.internal/core/render/GridLayout.js +11 -9
  33. package/.internal/core/render/GridLayout.js.map +1 -1
  34. package/.internal/core/render/HorizontalLayout.d.ts.map +1 -1
  35. package/.internal/core/render/HorizontalLayout.js +40 -34
  36. package/.internal/core/render/HorizontalLayout.js.map +1 -1
  37. package/.internal/core/render/Scrollbar.d.ts.map +1 -1
  38. package/.internal/core/render/Scrollbar.js +3 -0
  39. package/.internal/core/render/Scrollbar.js.map +1 -1
  40. package/.internal/core/render/Series.d.ts +5 -0
  41. package/.internal/core/render/Series.d.ts.map +1 -1
  42. package/.internal/core/render/Series.js +29 -3
  43. package/.internal/core/render/Series.js.map +1 -1
  44. package/.internal/core/render/Sprite.d.ts +4 -0
  45. package/.internal/core/render/Sprite.d.ts.map +1 -1
  46. package/.internal/core/render/Sprite.js +14 -0
  47. package/.internal/core/render/Sprite.js.map +1 -1
  48. package/.internal/core/render/VerticalLayout.d.ts.map +1 -1
  49. package/.internal/core/render/VerticalLayout.js +40 -34
  50. package/.internal/core/render/VerticalLayout.js.map +1 -1
  51. package/.internal/plugins/exporting/ExportingMenu.d.ts.map +1 -1
  52. package/.internal/plugins/exporting/ExportingMenu.js +3 -2
  53. package/.internal/plugins/exporting/ExportingMenu.js.map +1 -1
  54. package/.internal/plugins/json/Classes.js +131 -131
  55. package/.internal/plugins/json/Classes.js.map +1 -1
  56. package/.internal/plugins/json/Json.d.ts.map +1 -1
  57. package/.internal/plugins/json/Json.js +67 -29
  58. package/.internal/plugins/json/Json.js.map +1 -1
  59. package/CHANGELOG.md +20 -0
  60. package/examples/javascript/flow-chord/package.json +1 -1
  61. package/examples/javascript/flow-chord-directed/package.json +1 -1
  62. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  63. package/examples/javascript/flow-sankey/package.json +1 -1
  64. package/examples/javascript/gauge/package.json +1 -1
  65. package/examples/javascript/gauge-bands/package.json +1 -1
  66. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  67. package/examples/javascript/hierarchy-pack/package.json +1 -1
  68. package/examples/javascript/hierarchy-partition/package.json +1 -1
  69. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  70. package/examples/javascript/hierarchy-tree/package.json +1 -1
  71. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  72. package/examples/javascript/json/index.js +192 -80
  73. package/examples/javascript/json/package.json +1 -1
  74. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  75. package/examples/javascript/map-day-and-night/package.json +1 -1
  76. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  77. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  78. package/examples/javascript/map-with-bubbles/package.json +1 -1
  79. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  80. package/examples/javascript/misc-40-charts/package.json +1 -1
  81. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  82. package/examples/javascript/pie-chart/package.json +1 -1
  83. package/examples/javascript/pie-donut-chart/package.json +1 -1
  84. package/examples/javascript/pie-variable-radius/package.json +1 -1
  85. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  86. package/examples/javascript/radar-heat-map/package.json +1 -1
  87. package/examples/javascript/radar-line/package.json +1 -1
  88. package/examples/javascript/radar-time-line/package.json +1 -1
  89. package/examples/javascript/sliced-funnel/package.json +1 -1
  90. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  91. package/examples/javascript/sliced-pyramid/package.json +1 -1
  92. package/examples/javascript/venn-diagram/package.json +1 -1
  93. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  94. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  95. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  96. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  97. package/examples/javascript/xy-bubble/package.json +1 -1
  98. package/examples/javascript/xy-candlestick/package.json +1 -1
  99. package/examples/javascript/xy-clustered-column/package.json +1 -1
  100. package/examples/javascript/xy-column/package.json +1 -1
  101. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  102. package/examples/javascript/xy-data-grouping/package.json +1 -1
  103. package/examples/javascript/xy-draggable-range/package.json +1 -1
  104. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  105. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  106. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  107. package/examples/javascript/xy-line/package.json +1 -1
  108. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  109. package/examples/javascript/xy-live-data/package.json +1 -1
  110. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  111. package/examples/javascript/xy-ohlc/package.json +1 -1
  112. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  113. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  114. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  115. package/examples/javascript/xy-stacked-column/package.json +1 -1
  116. package/examples/javascript/xy-stacked-step/package.json +1 -1
  117. package/examples/javascript/xy-stock/package.json +1 -1
  118. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  119. package/examples/typescript/flow-chord/package.json +1 -1
  120. package/examples/typescript/flow-chord/webpack.config.js +1 -1
  121. package/examples/typescript/flow-chord-directed/package.json +1 -1
  122. package/examples/typescript/flow-chord-directed/webpack.config.js +1 -1
  123. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  124. package/examples/typescript/flow-chord-non-ribbon/webpack.config.js +1 -1
  125. package/examples/typescript/flow-sankey/package.json +1 -1
  126. package/examples/typescript/flow-sankey/webpack.config.js +1 -1
  127. package/examples/typescript/gauge/package.json +1 -1
  128. package/examples/typescript/gauge/webpack.config.js +1 -1
  129. package/examples/typescript/gauge-bands/package.json +1 -1
  130. package/examples/typescript/gauge-bands/webpack.config.js +1 -1
  131. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  132. package/examples/typescript/hierarchy-force-directed/webpack.config.js +1 -1
  133. package/examples/typescript/hierarchy-pack/package.json +1 -1
  134. package/examples/typescript/hierarchy-pack/webpack.config.js +1 -1
  135. package/examples/typescript/hierarchy-partition/package.json +1 -1
  136. package/examples/typescript/hierarchy-partition/webpack.config.js +1 -1
  137. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  138. package/examples/typescript/hierarchy-sunburst/webpack.config.js +1 -1
  139. package/examples/typescript/hierarchy-tree/package.json +1 -1
  140. package/examples/typescript/hierarchy-tree/webpack.config.js +1 -1
  141. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  142. package/examples/typescript/hierarchy-treemap/webpack.config.js +1 -1
  143. package/examples/typescript/json/index.ts +191 -79
  144. package/examples/typescript/json/package.json +1 -1
  145. package/examples/typescript/json/webpack.config.js +1 -1
  146. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  147. package/examples/typescript/map-animating-along-lines/webpack.config.js +1 -1
  148. package/examples/typescript/map-day-and-night/package.json +1 -1
  149. package/examples/typescript/map-day-and-night/webpack.config.js +1 -1
  150. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  151. package/examples/typescript/map-globe-rotate-to-country/webpack.config.js +1 -1
  152. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  153. package/examples/typescript/map-globe-with-projected-circles/webpack.config.js +1 -1
  154. package/examples/typescript/map-with-bubbles/package.json +1 -1
  155. package/examples/typescript/map-with-bubbles/webpack.config.js +1 -1
  156. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  157. package/examples/typescript/map-zoom-to-country/webpack.config.js +1 -1
  158. package/examples/typescript/misc-40-charts/package.json +1 -1
  159. package/examples/typescript/misc-40-charts/webpack.config.js +1 -1
  160. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  161. package/examples/typescript/misc-microchart-grid/webpack.config.js +1 -1
  162. package/examples/typescript/pie-chart/package.json +1 -1
  163. package/examples/typescript/pie-chart/webpack.config.js +1 -1
  164. package/examples/typescript/pie-donut-chart/package.json +1 -1
  165. package/examples/typescript/pie-donut-chart/webpack.config.js +1 -1
  166. package/examples/typescript/pie-variable-radius/package.json +1 -1
  167. package/examples/typescript/pie-variable-radius/webpack.config.js +1 -1
  168. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  169. package/examples/typescript/radar-column-iwatch-style/webpack.config.js +1 -1
  170. package/examples/typescript/radar-heat-map/package.json +1 -1
  171. package/examples/typescript/radar-heat-map/webpack.config.js +1 -1
  172. package/examples/typescript/radar-line/package.json +1 -1
  173. package/examples/typescript/radar-line/webpack.config.js +1 -1
  174. package/examples/typescript/radar-time-line/package.json +1 -1
  175. package/examples/typescript/radar-time-line/webpack.config.js +1 -1
  176. package/examples/typescript/sliced-funnel/package.json +1 -1
  177. package/examples/typescript/sliced-funnel/webpack.config.js +1 -1
  178. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  179. package/examples/typescript/sliced-pictorial-stacked/webpack.config.js +1 -1
  180. package/examples/typescript/sliced-pyramid/package.json +1 -1
  181. package/examples/typescript/sliced-pyramid/webpack.config.js +1 -1
  182. package/examples/typescript/venn-diagram/package.json +1 -1
  183. package/examples/typescript/venn-diagram/webpack.config.js +1 -1
  184. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  185. package/examples/typescript/wordcloud-with-data/webpack.config.js +1 -1
  186. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  187. package/examples/typescript/wordcloud-with-text/webpack.config.js +1 -1
  188. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  189. package/examples/typescript/xy-100-percent-stacked-column/webpack.config.js +1 -1
  190. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  191. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/webpack.config.js +1 -1
  192. package/examples/typescript/xy-bubble/package.json +1 -1
  193. package/examples/typescript/xy-bubble/webpack.config.js +1 -1
  194. package/examples/typescript/xy-candlestick/package.json +1 -1
  195. package/examples/typescript/xy-candlestick/webpack.config.js +1 -1
  196. package/examples/typescript/xy-clustered-column/package.json +1 -1
  197. package/examples/typescript/xy-clustered-column/webpack.config.js +1 -1
  198. package/examples/typescript/xy-column/package.json +1 -1
  199. package/examples/typescript/xy-column/webpack.config.js +1 -1
  200. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  201. package/examples/typescript/xy-comparing-series-google-analytics-style/webpack.config.js +1 -1
  202. package/examples/typescript/xy-data-grouping/package.json +1 -1
  203. package/examples/typescript/xy-data-grouping/webpack.config.js +1 -1
  204. package/examples/typescript/xy-draggable-range/package.json +1 -1
  205. package/examples/typescript/xy-draggable-range/webpack.config.js +1 -1
  206. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  207. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/webpack.config.js +1 -1
  208. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  209. package/examples/typescript/xy-dumbbell plot/webpack.config.js +1 -1
  210. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  211. package/examples/typescript/xy-evenly-spaced-date-axis/webpack.config.js +1 -1
  212. package/examples/typescript/xy-line/package.json +1 -1
  213. package/examples/typescript/xy-line/webpack.config.js +1 -1
  214. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  215. package/examples/typescript/xy-line-highlight-on-legend-hover/webpack.config.js +1 -1
  216. package/examples/typescript/xy-live-data/package.json +1 -1
  217. package/examples/typescript/xy-live-data/webpack.config.js +1 -1
  218. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  219. package/examples/typescript/xy-multiple-synced-value-axes/webpack.config.js +1 -1
  220. package/examples/typescript/xy-ohlc/package.json +1 -1
  221. package/examples/typescript/xy-ohlc/webpack.config.js +1 -1
  222. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  223. package/examples/typescript/xy-real-time-data-sorting/webpack.config.js +1 -1
  224. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  225. package/examples/typescript/xy-smoothed-line/webpack.config.js +1 -1
  226. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  227. package/examples/typescript/xy-stacked-and-clustered-column/webpack.config.js +1 -1
  228. package/examples/typescript/xy-stacked-column/package.json +1 -1
  229. package/examples/typescript/xy-stacked-column/webpack.config.js +1 -1
  230. package/examples/typescript/xy-stacked-step/package.json +1 -1
  231. package/examples/typescript/xy-stacked-step/webpack.config.js +1 -1
  232. package/examples/typescript/xy-stock/package.json +1 -1
  233. package/examples/typescript/xy-stock/webpack.config.js +1 -1
  234. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  235. package/examples/typescript/xy-stock-comparing/webpack.config.js +1 -1
  236. package/package.json +1 -1
@@ -24,53 +24,59 @@ var VerticalLayout = /** @class */ (function (_super) {
24
24
  var availableHeight = container.innerHeight();
25
25
  var totalPercent = 0;
26
26
  eachChildren(container, function (child) {
27
- if (child.get("position") == "relative") {
28
- var childHeight = child.get("height");
29
- if (childHeight instanceof Percent) {
30
- totalPercent += childHeight.value;
31
- var h = availableHeight * childHeight.value;
32
- var minHeight = child.get("minHeight", -Infinity);
33
- if (minHeight > h) {
34
- availableHeight -= minHeight;
35
- totalPercent -= childHeight.value;
36
- }
37
- var maxHeight = child.get("maxHeight", Infinity);
38
- if (h > maxHeight) {
39
- availableHeight -= maxHeight;
40
- totalPercent -= childHeight.value;
27
+ if (child.isVisible()) {
28
+ if (child.get("position") == "relative") {
29
+ var childHeight = child.get("height");
30
+ if (childHeight instanceof Percent) {
31
+ totalPercent += childHeight.value;
32
+ var h = availableHeight * childHeight.value;
33
+ var minHeight = child.get("minHeight", -Infinity);
34
+ if (minHeight > h) {
35
+ availableHeight -= minHeight;
36
+ totalPercent -= childHeight.value;
37
+ }
38
+ var maxHeight = child.get("maxHeight", Infinity);
39
+ if (h > maxHeight) {
40
+ availableHeight -= maxHeight;
41
+ totalPercent -= childHeight.value;
42
+ }
41
43
  }
42
- }
43
- else {
44
- if (!$type.isNumber(childHeight)) {
45
- childHeight = child.height();
44
+ else {
45
+ if (!$type.isNumber(childHeight)) {
46
+ childHeight = child.height();
47
+ }
48
+ availableHeight -= childHeight + child.get("marginTop", 0) + child.get("marginBottom", 0);
46
49
  }
47
- availableHeight -= childHeight + child.get("marginTop", 0) + child.get("marginBottom", 0);
48
50
  }
49
51
  }
50
52
  });
51
53
  if (availableHeight > 0) {
52
54
  eachChildren(container, function (child) {
53
- if (child.get("position") == "relative") {
54
- var childHeight = child.get("height");
55
- if (childHeight instanceof Percent) {
56
- var privateHeight = availableHeight * childHeight.value / totalPercent - child.get("marginTop", 0) - child.get("marginBottom", 0);
57
- var minHeight = child.get("minHeight", -Infinity);
58
- var maxHeight = child.get("maxHeight", Infinity);
59
- privateHeight = Math.min(Math.max(minHeight, privateHeight), maxHeight);
60
- child.setPrivate("height", privateHeight);
55
+ if (child.isVisible()) {
56
+ if (child.get("position") == "relative") {
57
+ var childHeight = child.get("height");
58
+ if (childHeight instanceof Percent) {
59
+ var privateHeight = availableHeight * childHeight.value / totalPercent - child.get("marginTop", 0) - child.get("marginBottom", 0);
60
+ var minHeight = child.get("minHeight", -Infinity);
61
+ var maxHeight = child.get("maxHeight", Infinity);
62
+ privateHeight = Math.min(Math.max(minHeight, privateHeight), maxHeight);
63
+ child.setPrivate("height", privateHeight);
64
+ }
61
65
  }
62
66
  }
63
67
  });
64
68
  }
65
69
  var prevY = paddingTop;
66
70
  eachChildren(container, function (child) {
67
- if (child.get("position") == "relative") {
68
- var bounds = child.adjustedLocalBounds();
69
- var marginTop = child.get("marginTop", 0);
70
- var marginBottom = child.get("marginBottom", 0);
71
- var y = prevY + marginTop - bounds.top;
72
- child.setPrivate("y", y);
73
- prevY = y + bounds.bottom + marginBottom;
71
+ if (child.isVisible()) {
72
+ if (child.get("position") == "relative") {
73
+ var bounds = child.adjustedLocalBounds();
74
+ var marginTop = child.get("marginTop", 0);
75
+ var marginBottom = child.get("marginBottom", 0);
76
+ var y = prevY + marginTop - bounds.top;
77
+ child.setPrivate("y", y);
78
+ prevY = y + bounds.bottom + marginBottom;
79
+ }
74
80
  }
75
81
  });
76
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VerticalLayout.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/VerticalLayout.ts"],"names":[],"mappings":"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","sourcesContent":["import { Layout, eachChildren } from \"./Layout\";\nimport * as $type from \"../util/Type\";\nimport { Percent } from \"../util/Percent\";\nimport type { Container } from \"./Container\";\n\n\n/**\n * A vertical children layout for [[Container]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/containers/#Layout} for more info\n */\nexport class VerticalLayout extends Layout {\n\n\tpublic static className: string = \"VerticalLayout\";\n\tpublic static classNames: Array<string> = Layout.classNames.concat([VerticalLayout.className]);\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateContainer(container: Container): void {\n\t\tlet paddingTop = container.get(\"paddingTop\", 0);\n\n\t\tlet availableHeight = container.innerHeight();\n\t\tlet totalPercent = 0;\n\n\t\teachChildren(container, (child) => {\n\t\t\tif (child.get(\"position\") == \"relative\") {\n\t\t\t\tlet childHeight = child.get(\"height\");\n\t\t\t\tif (childHeight instanceof Percent) {\n\t\t\t\t\ttotalPercent += childHeight.value;\n\n\t\t\t\t\tlet h = availableHeight * childHeight.value;\n\t\t\t\t\tlet minHeight = child.get(\"minHeight\", -Infinity);\n\t\t\t\t\tif (minHeight > h) {\n\t\t\t\t\t\tavailableHeight -= minHeight;\n\t\t\t\t\t\ttotalPercent -= childHeight.value;\n\t\t\t\t\t}\n\t\t\t\t\tlet maxHeight = child.get(\"maxHeight\", Infinity);\n\t\t\t\t\tif (h > maxHeight) {\n\t\t\t\t\t\tavailableHeight -= maxHeight;\n\t\t\t\t\t\ttotalPercent -= childHeight.value;\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tif (!$type.isNumber(childHeight)) {\n\t\t\t\t\t\tchildHeight = child.height();\n\t\t\t\t\t}\n\t\t\t\t\tavailableHeight -= childHeight + child.get(\"marginTop\", 0) + child.get(\"marginBottom\", 0);\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\tif(availableHeight > 0){\n\t\t\teachChildren(container, (child) => {\n\t\t\t\tif (child.get(\"position\") == \"relative\") {\n\t\t\t\t\tlet childHeight = child.get(\"height\");\n\n\t\t\t\t\tif (childHeight instanceof Percent) {\n\t\t\t\t\t\tlet privateHeight = availableHeight * childHeight.value / totalPercent - child.get(\"marginTop\", 0) - child.get(\"marginBottom\", 0);\n\n\t\t\t\t\t\tlet minHeight = child.get(\"minHeight\", -Infinity);\n\t\t\t\t\t\tlet maxHeight = child.get(\"maxHeight\", Infinity);\n\t\t\t\t\t\tprivateHeight = Math.min(Math.max(minHeight, privateHeight), maxHeight);\n\n\t\t\t\t\t\tchild.setPrivate(\"height\", privateHeight);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tlet prevY = paddingTop;\n\n\t\teachChildren(container, (child) => {\n\t\t\tif (child.get(\"position\") == \"relative\") {\n\t\t\t\tlet bounds = child.adjustedLocalBounds();\n\t\t\t\tlet marginTop = child.get(\"marginTop\", 0);\n\t\t\t\tlet marginBottom = child.get(\"marginBottom\", 0);\n\t\t\t\tlet y = prevY + marginTop - bounds.top;\n\t\t\t\tchild.setPrivate(\"y\", y);\n\t\t\t\tprevY = y + bounds.bottom + marginBottom;\n\t\t\t}\n\t\t});\n\t}\n}\n"]}
1
+ {"version":3,"file":"VerticalLayout.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/VerticalLayout.ts"],"names":[],"mappings":"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","sourcesContent":["import { Layout, eachChildren } from \"./Layout\";\nimport * as $type from \"../util/Type\";\nimport { Percent } from \"../util/Percent\";\nimport type { Container } from \"./Container\";\n\n\n/**\n * A vertical children layout for [[Container]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/containers/#Layout} for more info\n */\nexport class VerticalLayout extends Layout {\n\n\tpublic static className: string = \"VerticalLayout\";\n\tpublic static classNames: Array<string> = Layout.classNames.concat([VerticalLayout.className]);\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateContainer(container: Container): void {\n\t\tlet paddingTop = container.get(\"paddingTop\", 0);\n\n\t\tlet availableHeight = container.innerHeight();\n\t\tlet totalPercent = 0;\n\n\t\teachChildren(container, (child) => {\n\t\t\tif (child.isVisible()) {\n\t\t\t\tif (child.get(\"position\") == \"relative\") {\n\t\t\t\t\tlet childHeight = child.get(\"height\");\n\t\t\t\t\tif (childHeight instanceof Percent) {\n\t\t\t\t\t\ttotalPercent += childHeight.value;\n\n\t\t\t\t\t\tlet h = availableHeight * childHeight.value;\n\t\t\t\t\t\tlet minHeight = child.get(\"minHeight\", -Infinity);\n\t\t\t\t\t\tif (minHeight > h) {\n\t\t\t\t\t\t\tavailableHeight -= minHeight;\n\t\t\t\t\t\t\ttotalPercent -= childHeight.value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet maxHeight = child.get(\"maxHeight\", Infinity);\n\t\t\t\t\t\tif (h > maxHeight) {\n\t\t\t\t\t\t\tavailableHeight -= maxHeight;\n\t\t\t\t\t\t\ttotalPercent -= childHeight.value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (!$type.isNumber(childHeight)) {\n\t\t\t\t\t\t\tchildHeight = child.height();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tavailableHeight -= childHeight + child.get(\"marginTop\", 0) + child.get(\"marginBottom\", 0);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\tif (availableHeight > 0) {\n\t\t\teachChildren(container, (child) => {\n\t\t\t\tif (child.isVisible()) {\n\t\t\t\t\tif (child.get(\"position\") == \"relative\") {\n\t\t\t\t\t\tlet childHeight = child.get(\"height\");\n\n\t\t\t\t\t\tif (childHeight instanceof Percent) {\n\t\t\t\t\t\t\tlet privateHeight = availableHeight * childHeight.value / totalPercent - child.get(\"marginTop\", 0) - child.get(\"marginBottom\", 0);\n\n\t\t\t\t\t\t\tlet minHeight = child.get(\"minHeight\", -Infinity);\n\t\t\t\t\t\t\tlet maxHeight = child.get(\"maxHeight\", Infinity);\n\t\t\t\t\t\t\tprivateHeight = Math.min(Math.max(minHeight, privateHeight), maxHeight);\n\n\t\t\t\t\t\t\tchild.setPrivate(\"height\", privateHeight);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tlet prevY = paddingTop;\n\n\t\teachChildren(container, (child) => {\n\t\t\tif (child.isVisible()) {\n\t\t\t\tif (child.get(\"position\") == \"relative\") {\n\t\t\t\t\tlet bounds = child.adjustedLocalBounds();\n\t\t\t\t\tlet marginTop = child.get(\"marginTop\", 0);\n\t\t\t\t\tlet marginBottom = child.get(\"marginBottom\", 0);\n\t\t\t\t\tlet y = prevY + marginTop - bounds.top;\n\t\t\t\t\tchild.setPrivate(\"y\", y);\n\t\t\t\t\tprevY = y + bounds.bottom + marginBottom;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ExportingMenu.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/plugins/exporting/ExportingMenu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE9E,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAO/F,MAAM,WAAW,kBAAkB;IAElC;;;;;OAKG;IACH,IAAI,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;IAExC;;;OAGG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAE1B;;OAEG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAE5B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC;IAEnC;;OAEG;IACH,cAAc,CAAC,EAAE,GAAG,CAAC;IAErB;;;;OAIG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAE5B;AAED,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAE9D;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAEzB;;;;OAIG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAE1B;;;;OAIG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC;IAExB;;OAEG;IACH,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAE7B;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAEzB;AAED,MAAM,WAAW,qBAAsB,SAAQ,cAAc;CAC5D;AAED,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IAC1D,aAAa,EAAE,EAAE,CAAA;IACjB,YAAY,EAAE,EAAE,CAAA;IAChB,YAAY,EAAE,EAAE,CAAA;CAChB;AAED;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,MAAM;IACxC,OAAc,SAAS,EAAE,MAAM,CAAmB;IAClD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAuD;IAE/E,SAAS,EAAE,sBAAsB,CAAC;IAClC,gBAAgB,EAAE,qBAAqB,CAAC;IACxC,OAAO,EAAE,oBAAoB,CAAC;IAE7C,OAAO,CAAC,YAAY,CAAC,CAAiB;IACtC,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,YAAY,CAAC,CAAmB;IACxC,OAAO,CAAC,aAAa,CAAC,CAAuB;IAC7C,OAAO,CAAC,cAAc,CAAwB;IAE9C,OAAO,CAAC,YAAY,CAAC,CAAY;IACjC,OAAO,CAAC,WAAW,CAAC,CAAqB;IAElC,MAAM,EAAE,OAAO,CAAS;IAE/B,OAAO,CAAC,OAAO,CAAkB;IAEjC,SAAS,CAAC,SAAS;IAqLZ,aAAa;IAmCpB,SAAS,CAAC,QAAQ,IAAI,IAAI;IAQ1B,OAAO,CAAC,gBAAgB;IAUxB;;OAEG;IACI,WAAW,IAAI,IAAI;IA2E1B,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,eAAe;IAavB;;;;OAIG;IACI,cAAc,IAAI,IAAI;IAU7B;;OAEG;IACI,IAAI,IAAI,IAAI;IASnB;;OAEG;IACI,KAAK,IAAI,IAAI;IAUpB;;OAEG;IACI,MAAM,IAAI,IAAI;CAUrB"}
1
+ {"version":3,"file":"ExportingMenu.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/plugins/exporting/ExportingMenu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE9E,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAO/F,MAAM,WAAW,kBAAkB;IAElC;;;;;OAKG;IACH,IAAI,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;IAExC;;;OAGG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAE1B;;OAEG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAE5B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC;IAEnC;;OAEG;IACH,cAAc,CAAC,EAAE,GAAG,CAAC;IAErB;;;;OAIG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAE5B;AAED,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAE9D;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAEzB;;;;OAIG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAE1B;;;;OAIG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC;IAExB;;OAEG;IACH,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAE7B;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAEzB;AAED,MAAM,WAAW,qBAAsB,SAAQ,cAAc;CAC5D;AAED,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IAC1D,aAAa,EAAE,EAAE,CAAA;IACjB,YAAY,EAAE,EAAE,CAAA;IAChB,YAAY,EAAE,EAAE,CAAA;CAChB;AAED;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,MAAM;IACxC,OAAc,SAAS,EAAE,MAAM,CAAmB;IAClD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAuD;IAE/E,SAAS,EAAE,sBAAsB,CAAC;IAClC,gBAAgB,EAAE,qBAAqB,CAAC;IACxC,OAAO,EAAE,oBAAoB,CAAC;IAE7C,OAAO,CAAC,YAAY,CAAC,CAAiB;IACtC,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,YAAY,CAAC,CAAmB;IACxC,OAAO,CAAC,aAAa,CAAC,CAAuB;IAC7C,OAAO,CAAC,cAAc,CAAwB;IAE9C,OAAO,CAAC,YAAY,CAAC,CAAY;IACjC,OAAO,CAAC,WAAW,CAAC,CAAqB;IAElC,MAAM,EAAE,OAAO,CAAS;IAE/B,OAAO,CAAC,OAAO,CAAkB;IAEjC,SAAS,CAAC,SAAS;IAuLZ,aAAa;IAmCpB,SAAS,CAAC,QAAQ,IAAI,IAAI;IAQ1B,OAAO,CAAC,gBAAgB;IAUxB;;OAEG;IACI,WAAW,IAAI,IAAI;IA2E1B,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,eAAe;IAavB;;;;OAIG;IACI,cAAc,IAAI,IAAI;IAU7B;;OAEG;IACI,IAAI,IAAI,IAAI;IASnB;;OAEG;IACI,KAAK,IAAI,IAAI;IAUpB;;OAEG;IACI,MAAM,IAAI,IAAI;CAUrB"}
@@ -208,7 +208,8 @@ var ExportingMenu = /** @class */ (function (_super) {
208
208
  }));
209
209
  menuElement.appendChild(this._iconElement);
210
210
  menuElement.appendChild(this._listElement);
211
- this._root._inner.appendChild(this._menuElement);
211
+ var container = this.get("container", this._root._inner);
212
+ container.appendChild(this._menuElement);
212
213
  this._disposers.push($utils.addEventListener(menuElement, $utils.getRendererEvent("pointerover"), function (_ev) {
213
214
  _this._isOver = true;
214
215
  if (_this.get("deactivateRoot")) {
@@ -223,7 +224,7 @@ var ExportingMenu = /** @class */ (function (_super) {
223
224
  }));
224
225
  this._disposers.push(new Disposer(function () {
225
226
  if (_this._menuElement) {
226
- _this._root._inner.removeChild(_this._menuElement);
227
+ container.removeChild(_this._menuElement);
227
228
  }
228
229
  }));
229
230
  this._disposers.push($utils.addEventListener(document, "click", function (_ev) {
@@ -1 +1 @@
1
- {"version":3,"file":"ExportingMenu.js","sourceRoot":"","sources":["../../../../../src/.internal/plugins/exporting/ExportingMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Exporting, ExportingFormats, ExportingTypes } from \"./Exporting\"\n\nimport { Entity, IEntitySettings, IEntityPrivate, IEntityEvents } from \"../../core/util/Entity\"\nimport { IDisposer, Disposer } from \"../../core/util/Disposer\";\nimport exportingCSS from \"./ExportingCSS\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $utils from \"../../core/util/Utils\";\n\nexport interface IExportingMenuItem {\n\n\t/**\n\t * Indicates type of the menu item:\n\t * * `\"format\"` - indicates export action\n\t * * `\"separator\"` - will show horizontal divider.\n\t * * `\"custom\"` - will invoke custom function when clicked.\n\t */\n\ttype: \"format\" | \"separator\" | \"custom\";\n\n\t/**\n\t * If `type` is set to `\"format\"`, clicking item will initiate export in\n\t * that format.\n\t */\n\tformat?: ExportingFormats;\n\n\t/**\n\t * Indicates export type: `\"image\"`, `\"data\"`, or `\"print\"`.\n\t */\n\texportType?: ExportingTypes;\n\n\t/**\n\t * Menu label.\n\t */\n\tlabel?: string;\n\n\t/**\n\t * Additional information.\n\t */\n\tsublabel?: string;\n\n\t/**\n\t * If `type` is set to `\"custom\"`, this needs to be set to a function.\n\t */\n\tcallback?: (menuItem?: any) => any;\n\n\t/**\n\t * A target for callback function.\n\t */\n\tcallbackTarget?: any;\n\n\t/**\n\t * A DOM element for the menu item.\n\t *\n\t * @readonly\n\t */\n\telement?: HTMLAnchorElement;\n\n}\n\nexport interface IExportingMenuSettings extends IEntitySettings {\n\n\t/**\n\t * Horizontal alignment of the menu.\n\t *\n\t * @default \"right\"\n\t */\n\talign?: \"left\" | \"right\";\n\n\t/**\n\t * Vertical alignment of the menu.\n\t *\n\t * @default \"top\"\n\t */\n\tvalign?: \"top\" | \"bottom\";\n\n\t/**\n\t * A reference to an element in the document to place export menu in.\n\t *\n\t * If not set, will use root element's container.\n\t */\n\tcontainer?: HTMLElement;\n\n\t/**\n\t * A list of menu items.\n\t */\n\titems?: IExportingMenuItem[];\n\n\t/**\n\t * A reference to related [[Exporting]] object.\n\t */\n\texporting?: Exporting;\n\n\t/**\n\t * If set to `false` the legend will not load default CSS.\n\t *\n\t * @default true\n\t */\n\tuseDefaultCSS?: boolean;\n\n\t/**\n\t * If set to `true` the menu will close automatically when export operation\n\t * is initiated.\n\t *\n\t * @default true\n\t */\n\tautoClose?: boolean;\n\n\t/**\n\t * Menu will disable all interactions for the underlying chart when browsing\n\t * the menu.\n\t *\n\t * @default true\n\t */\n\tdeactivateRoot?: boolean;\n\n}\n\nexport interface IExportingMenuPrivate extends IEntityPrivate {\n}\n\nexport interface IExportingMenuEvents extends IEntityEvents {\n\t\"menucreated\": {}\n\t\"menuopened\": {}\n\t\"menuclosed\": {}\n}\n\n/**\n * Displays a menu for [[Exporting]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/exporting/} for more info\n */\nexport class ExportingMenu extends Entity {\n\tpublic static className: string = \"ExportingMenu\";\n\tpublic static classNames: Array<string> = Entity.classNames.concat([ExportingMenu.className]);\n\n\tdeclare public _settings: IExportingMenuSettings;\n\tdeclare public _privateSettings: IExportingMenuPrivate;\n\tdeclare public _events: IExportingMenuEvents;\n\n\tprivate _menuElement?: HTMLDivElement;\n\tprivate _iconElement?: HTMLElement;\n\tprivate _listElement?: HTMLUListElement;\n\tprivate _itemElements?: HTMLLIElement[] = [];\n\tprivate _itemDisposers: Array<IDisposer> = [];\n\n\tprivate _cssDisposer?: IDisposer;\n\tprivate _activeItem?: IExportingMenuItem;\n\n\tpublic isOpen: boolean = false;\n\n\tprivate _isOver: boolean = false;\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\t\tthis._setRawDefault(\"container\", this._root._inner);\n\t\tthis._setRawDefault(\"align\", \"right\");\n\t\tthis._setRawDefault(\"valign\", \"top\");\n\t\tthis._setRawDefault(\"useDefaultCSS\", true);\n\t\tthis._setRawDefault(\"autoClose\", true);\n\t\tthis._setRawDefault(\"deactivateRoot\", true);\n\t\tthis._setRawDefault(\"items\", [{\n\t\t\ttype: \"separator\",\n\t\t\tlabel: this._t(\"Export\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"png\",\n\t\t\texportType: \"image\",\n\t\t\tlabel: this._t(\"PNG\"),\n\t\t\tsublabel: this._t(\"Image\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"jpg\",\n\t\t\texportType: \"image\",\n\t\t\tlabel: this._t(\"JPG\"),\n\t\t\tsublabel: this._t(\"Image\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"pdf\",\n\t\t\texportType: \"image\",\n\t\t\tlabel: this._t(\"PDF\"),\n\t\t\tsublabel: this._t(\"Image\")\n\t\t}, {\n\t\t\ttype: \"separator\",\n\t\t\texportType: \"data\",\n\t\t\t//label: this._t(\"Data\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"json\",\n\t\t\texportType: \"data\",\n\t\t\tlabel: this._t(\"JSON\"),\n\t\t\tsublabel: this._t(\"Data\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"csv\",\n\t\t\texportType: \"data\",\n\t\t\tlabel: this._t(\"CSV\"),\n\t\t\tsublabel: this._t(\"Data\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"xlsx\",\n\t\t\texportType: \"data\",\n\t\t\tlabel: this._t(\"XLSX\"),\n\t\t\tsublabel: this._t(\"Data\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"pdfdata\",\n\t\t\texportType: \"data\",\n\t\t\tlabel: this._t(\"PDF\"),\n\t\t\tsublabel: this._t(\"Data\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"html\",\n\t\t\texportType: \"data\",\n\t\t\tlabel: this._t(\"HTML\"),\n\t\t\tsublabel: this._t(\"Data\")\n\t\t}, {\n\t\t\ttype: \"separator\"\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"print\",\n\t\t\texportType: \"print\",\n\t\t\tlabel: this._t(\"Print\")\n\t\t}]);\n\n\t\tconst menuElement = document.createElement(\"div\");\n\t\tthis._menuElement = menuElement;\n\n\t\tconst iconElement = document.createElement(\"a\");\n\t\tthis._iconElement = iconElement;\n\n\t\tthis._listElement = document.createElement(\"ul\");\n\t\tthis._listElement.setAttribute(\"role\", \"menu\");\n\t\tthis._applyClassNames();\n\n\t\ticonElement.innerHTML = '<svg fill=\"none\" height=\"20\" width=\"20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6 10a2 2 0 11-4 0 2 2 0 014 0zM12 10a2 2 0 11-4 0 2 2 0 014 0zM16 12a2 2 0 100-4 2 2 0 000 4z\"/></svg>';\n\t\ticonElement.setAttribute(\"tabindex\", this._root.tabindex.toString());\n\t\ticonElement.setAttribute(\"aria-label\", this._t(\"Export\"));\n\t\ticonElement.setAttribute(\"aria-description\", this._t(\"Press ENTER to open\"));\n\n\t\tif ($utils.supports(\"keyboardevents\")) {\n\t\t\tthis._disposers.push($utils.addEventListener(document, \"keydown\", (ev: KeyboardEvent) => {\n\t\t\t\tif (document.activeElement == this._iconElement || this.isOpen) {\n\t\t\t\t\tif (ev.keyCode == 27) {\n\t\t\t\t\t\t// ESC\n\t\t\t\t\t\tthis.close();\n\t\t\t\t\t}\n\t\t\t\t\telse if (ev.keyCode == 13) {\n\t\t\t\t\t\t// ENTER\n\t\t\t\t\t\tif (this._activeItem) {\n\t\t\t\t\t\t\tthis._handleClick(this._activeItem);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tthis.toggle();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if (ev.keyCode == 38 || ev.keyCode == 40) {\n\t\t\t\t\t\tconst items = this.get(\"items\", []);\n\t\t\t\t\t\tlet currentIndex = (<any>items).indexOf(this._activeItem);\n\t\t\t\t\t\tif (this.get(\"valign\") == \"top\" && currentIndex == -1) {\n\t\t\t\t\t\t\tcurrentIndex = items.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst dir = ev.keyCode == 38 ? -1 : 1;\n\t\t\t\t\t\tlet newIndex = currentIndex + dir;\n\t\t\t\t\t\tlet newItem;\n\t\t\t\t\t\tdo {\n\t\t\t\t\t\t\tif (newIndex < 0) {\n\t\t\t\t\t\t\t\tnewIndex = items.length - 1;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (newIndex > (items.length - 1)) {\n\t\t\t\t\t\t\t\tnewIndex = 0;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (items[newIndex].type == \"separator\") {\n\t\t\t\t\t\t\t\tnewIndex += dir;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tnewItem = items[newIndex];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} while(!newItem);\n\n\t\t\t\t\t\tif (newItem) {\n\t\t\t\t\t\t\tthis._handleItemFocus(newItem);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}));\n\t\t}\n\n\t\tthis._disposers.push($utils.addEventListener(iconElement, \"click\", (ev: MouseEvent) => {\n\t\t\tev.stopImmediatePropagation();\n\t\t\tthis.toggle();\n\t\t}));\n\n\t\tmenuElement.appendChild(this._iconElement);\n\t\tmenuElement.appendChild(this._listElement);\n\n\t\tthis._root._inner.appendChild(this._menuElement);\n\n\t\tthis._disposers.push($utils.addEventListener(menuElement, $utils.getRendererEvent(\"pointerover\"), (_ev) => {\n\t\t\tthis._isOver = true;\n\t\t\tif (this.get(\"deactivateRoot\")) {\n\t\t\t\tthis._root._renderer.interactionsEnabled = false;\n\t\t\t}\n\t\t}));\n\n\t\tthis._disposers.push($utils.addEventListener(menuElement, $utils.getRendererEvent(\"pointerout\"), (_ev) => {\n\t\t\tthis._isOver = false;\n\t\t\tif (this.get(\"deactivateRoot\")) {\n\t\t\t\tthis._root._renderer.interactionsEnabled = true;\n\t\t\t}\n\t\t}));\n\n\t\tthis._disposers.push(new Disposer(() => {\n\t\t\tif (this._menuElement) {\n\t\t\t\tthis._root._inner.removeChild(this._menuElement);\n\t\t\t}\n\t\t}));\n\n\t\tthis._disposers.push($utils.addEventListener(document, \"click\", (_ev) => {\n\t\t\tif (this.isOpen && !this._isOver) {\n\t\t\t\tthis.close();\n\t\t\t}\n\t\t}));\n\n\t\tthis.loadDefaultCSS();\n\n\t\tthis._root.addDisposer(this);\n\n\t\tthis.events.dispatch(\"menucreated\", {\n\t\t\ttype: \"menucreated\",\n\t\t\ttarget: this\n\t\t});\n\t}\n\n\tpublic _afterChanged() {\n\t\tsuper._afterChanged();\n\n\t\tif (this._itemElements!.length == 0) {\n\t\t\tthis.createItems();\n\t\t}\n\n\t\tif (this.isDirty(\"useDefaultCSS\")) {\n\t\t\tif (this.get(\"useDefaultCSS\")) {\n\t\t\t\tthis.loadDefaultCSS();\n\t\t\t}\n\t\t\telse if (this._cssDisposer) {\n\t\t\t\tthis._cssDisposer.dispose();\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"exporting\")) {\n\t\t\tconst exporting = this.get(\"exporting\");\n\t\t\tif (exporting) {\n\t\t\t\tthis.createItems();\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"align\") || this.isDirty(\"valign\")) {\n\t\t\tthis._applyClassNames();\n\t\t}\n\n\t\tif (this.isDirty(\"container\")) {\n\t\t\tconst container = this.get(\"container\");\n\t\t\tif (container) {\n\t\t\t\tcontainer.appendChild(this._menuElement!);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _dispose(): void {\n\t\tsuper._dispose();\n\n\t\t$array.each(this._itemDisposers, (x) => {\n\t\t\tx.dispose();\n\t\t});\n\t}\n\n\tprivate _applyClassNames(): void {\n\t\tconst align = this.get(\"align\", \"right\");\n\t\tconst valign = this.get(\"valign\", \"top\");\n\t\tconst status = this.isOpen ? \"am5exporting-menu-open\" : \"am5exporting-menu-closed\";\n\n\t\tthis._menuElement!.className = \"am5exporting am5exporting-menu am5exporting-align-\" + align + \" am5exporting-valign-\" + valign + \" \" + status;\n\t\tthis._iconElement!.className = \"am5exporting am5exporting-icon am5exporting-align-\" + align + \" am5exporting-valign-\" + valign;\n\t\tthis._listElement!.className = \"am5exporting am5exporting-list am5exporting-align-\" + align + \" am5exporting-valign-\" + valign;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic createItems(): void {\n\t\tconst exporting = this.get(\"exporting\");\n\t\tif (!exporting) {\n\t\t\treturn;\n\t\t}\n\t\tthis._listElement!.innerHTML = \"\";\n\t\tthis._itemElements = [];\n\t\tconst items = this.get(\"items\", []);\n\t\tconst supportedFormats = exporting.supportedFormats();\n\t\tconst supportedExportTypes = exporting.supportedExportTypes();\n\n\t\t$array.each(this._itemDisposers, (x) => {\n\t\t\tx.dispose();\n\t\t});\n\n\t\tthis._itemDisposers.length = 0;\n\n\t\t$array.each(items, (item) => {\n\n\t\t\tif (item.format && supportedFormats.indexOf(item.format) == -1) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (item.exportType && supportedExportTypes.indexOf(item.exportType) == -1) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst li = document.createElement(\"li\");\n\t\t\tli.setAttribute(\"role\", \"menuitem\");\n\n\t\t\tli.className = \"am5exporting am5exporting-item am5exporting-type-\" + item.type;\n\t\t\tif (item.format) {\n\t\t\t\tli.className += \" am5exporting-format-\" + item.format;\n\t\t\t}\n\n\t\t\tconst a = document.createElement(\"a\");\n\n\t\t\tlet ariaLabel = this._t(\"Export\");\n\t\t\tif (item.label) {\n\t\t\t\ta.innerHTML = item.label;\n\t\t\t\tariaLabel += \" \" + item.label;\n\t\t\t}\n\n\t\t\tif (item.sublabel) {\n\t\t\t\ta.innerHTML += \" <span class=\\\"am5exporting-label-alt\\\">\" + item.sublabel + \"</span>\";\n\t\t\t\tariaLabel += \" (\" + item.sublabel + \")\";\n\t\t\t}\n\n\t\t\tif (item.callback) {\n\t\t\t\tthis._itemDisposers.push($utils.addEventListener(a, \"click\", (_ev) => {\n\t\t\t\t\titem.callback!.call(item.callbackTarget || this)\n\t\t\t\t}));\n\t\t\t\ta.setAttribute(\"tabindex\", this._root.tabindex.toString());\n\t\t\t}\n\t\t\telse if (item.format && exporting) {\n\t\t\t\tthis._itemDisposers.push($utils.addEventListener(a, \"click\", (_ev) => {\n\t\t\t\t\tthis._handleClick(item);\n\t\t\t\t}));\n\t\t\t\tthis._itemDisposers.push($utils.addEventListener(a, \"focus\", (_ev) => {\n\t\t\t\t\tthis._handleItemFocus(item);\n\t\t\t\t}));\n\t\t\t\tthis._itemDisposers.push($utils.addEventListener(a, \"blur\", (_ev) => {\n\t\t\t\t\tthis._handleItemBlur(item);\n\t\t\t\t}));\n\t\t\t\ta.setAttribute(\"tabindex\", this._root.tabindex.toString());\n\t\t\t\ta.setAttribute(\"aria-label\", ariaLabel);\n\t\t\t}\n\n\t\t\titem.element = a;\n\t\t\tli.appendChild(a);\n\t\t\tthis._listElement!.appendChild(li);\n\t\t\tthis._itemElements!.push(li);\n\t\t});\n\t}\n\n\tprivate _handleClick(item: IExportingMenuItem): void {\n\t\tconst exporting = this.get(\"exporting\")!;\n\t\tif (this.get(\"autoClose\")) {\n\t\t\tthis.close();\n\t\t}\n\t\tif (item.format == \"print\") {\n\t\t\texporting.print();\n\t\t}\n\t\telse {\n\t\t\texporting.download(item.format!);\n\t\t}\n\t}\n\n\tprivate _handleItemFocus(item: IExportingMenuItem): void {\n\t\tif (item != this._activeItem) {\n\t\t\tif (this._activeItem) {\n\t\t\t\tthis._activeItem.element!.className = \"\";\n\t\t\t}\n\t\t\tthis._activeItem = item;\n\t\t\titem.element!.className = \"am5exporting-item-active\";\n\t\t\titem.element!.focus();\n\t\t}\n\t}\n\n\tprivate _handleItemBlur(item: IExportingMenuItem): void {\n\t\titem.element!.className = \"\";\n\t\tif (item == this._activeItem) {\n\t\t\tthis._activeItem = undefined\n\t\t}\n\t\tthis.setTimeout(() => {\n\t\t\tif (!document.activeElement || !$utils.contains(this.get(\"container\")!, document.activeElement!)) {\n\t\t\t\tthis.close();\n\t\t\t}\n\t\t}, 10);\n\n\t}\n\n\t/**\n\t * Loads the default CSS.\n\t *\n\t * @ignore Exclude from docs\n\t */\n\tpublic loadDefaultCSS(): void {\n\t\tconst disposer = exportingCSS($utils.getShadowRoot(this._root.dom), this._root);\n\t\tthis._disposers.push(disposer);\n\t\tthis._cssDisposer = disposer;\n\n\t\t// if (this._element) {\n\t\t// \tthis._element.style.display = \"\";\n\t\t// }\n\t}\n\n\t/**\n\t * Opens menu.\n\t */\n\tpublic open(): void {\n\t\tthis.isOpen = true;\n\t\tthis._applyClassNames();\n\t\tthis.events.dispatch(\"menuopened\", {\n\t\t\ttype: \"menuopened\",\n\t\t\ttarget: this\n\t\t});\n\t}\n\n\t/**\n\t * Closes menu.\n\t */\n\tpublic close(): void {\n\t\tthis.isOpen = false;\n\t\t$utils.blur();\n\t\tthis._applyClassNames();\n\t\tthis.events.dispatch(\"menuclosed\", {\n\t\t\ttype: \"menuclosed\",\n\t\t\ttarget: this\n\t\t});\n\t}\n\n\t/**\n\t * Toggles menu open and close.\n\t */\n\tpublic toggle(): void {\n\t\tif (this.isOpen) {\n\t\t\tthis.close();\n\t\t}\n\t\telse {\n\t\t\tthis.open();\n\t\t}\n\t}\n\n\n}\n"]}
1
+ {"version":3,"file":"ExportingMenu.js","sourceRoot":"","sources":["../../../../../src/.internal/plugins/exporting/ExportingMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Exporting, ExportingFormats, ExportingTypes } from \"./Exporting\"\n\nimport { Entity, IEntitySettings, IEntityPrivate, IEntityEvents } from \"../../core/util/Entity\"\nimport { IDisposer, Disposer } from \"../../core/util/Disposer\";\nimport exportingCSS from \"./ExportingCSS\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $utils from \"../../core/util/Utils\";\n\nexport interface IExportingMenuItem {\n\n\t/**\n\t * Indicates type of the menu item:\n\t * * `\"format\"` - indicates export action\n\t * * `\"separator\"` - will show horizontal divider.\n\t * * `\"custom\"` - will invoke custom function when clicked.\n\t */\n\ttype: \"format\" | \"separator\" | \"custom\";\n\n\t/**\n\t * If `type` is set to `\"format\"`, clicking item will initiate export in\n\t * that format.\n\t */\n\tformat?: ExportingFormats;\n\n\t/**\n\t * Indicates export type: `\"image\"`, `\"data\"`, or `\"print\"`.\n\t */\n\texportType?: ExportingTypes;\n\n\t/**\n\t * Menu label.\n\t */\n\tlabel?: string;\n\n\t/**\n\t * Additional information.\n\t */\n\tsublabel?: string;\n\n\t/**\n\t * If `type` is set to `\"custom\"`, this needs to be set to a function.\n\t */\n\tcallback?: (menuItem?: any) => any;\n\n\t/**\n\t * A target for callback function.\n\t */\n\tcallbackTarget?: any;\n\n\t/**\n\t * A DOM element for the menu item.\n\t *\n\t * @readonly\n\t */\n\telement?: HTMLAnchorElement;\n\n}\n\nexport interface IExportingMenuSettings extends IEntitySettings {\n\n\t/**\n\t * Horizontal alignment of the menu.\n\t *\n\t * @default \"right\"\n\t */\n\talign?: \"left\" | \"right\";\n\n\t/**\n\t * Vertical alignment of the menu.\n\t *\n\t * @default \"top\"\n\t */\n\tvalign?: \"top\" | \"bottom\";\n\n\t/**\n\t * A reference to an element in the document to place export menu in.\n\t *\n\t * If not set, will use root element's container.\n\t */\n\tcontainer?: HTMLElement;\n\n\t/**\n\t * A list of menu items.\n\t */\n\titems?: IExportingMenuItem[];\n\n\t/**\n\t * A reference to related [[Exporting]] object.\n\t */\n\texporting?: Exporting;\n\n\t/**\n\t * If set to `false` the legend will not load default CSS.\n\t *\n\t * @default true\n\t */\n\tuseDefaultCSS?: boolean;\n\n\t/**\n\t * If set to `true` the menu will close automatically when export operation\n\t * is initiated.\n\t *\n\t * @default true\n\t */\n\tautoClose?: boolean;\n\n\t/**\n\t * Menu will disable all interactions for the underlying chart when browsing\n\t * the menu.\n\t *\n\t * @default true\n\t */\n\tdeactivateRoot?: boolean;\n\n}\n\nexport interface IExportingMenuPrivate extends IEntityPrivate {\n}\n\nexport interface IExportingMenuEvents extends IEntityEvents {\n\t\"menucreated\": {}\n\t\"menuopened\": {}\n\t\"menuclosed\": {}\n}\n\n/**\n * Displays a menu for [[Exporting]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/exporting/} for more info\n */\nexport class ExportingMenu extends Entity {\n\tpublic static className: string = \"ExportingMenu\";\n\tpublic static classNames: Array<string> = Entity.classNames.concat([ExportingMenu.className]);\n\n\tdeclare public _settings: IExportingMenuSettings;\n\tdeclare public _privateSettings: IExportingMenuPrivate;\n\tdeclare public _events: IExportingMenuEvents;\n\n\tprivate _menuElement?: HTMLDivElement;\n\tprivate _iconElement?: HTMLElement;\n\tprivate _listElement?: HTMLUListElement;\n\tprivate _itemElements?: HTMLLIElement[] = [];\n\tprivate _itemDisposers: Array<IDisposer> = [];\n\n\tprivate _cssDisposer?: IDisposer;\n\tprivate _activeItem?: IExportingMenuItem;\n\n\tpublic isOpen: boolean = false;\n\n\tprivate _isOver: boolean = false;\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\t\tthis._setRawDefault(\"container\", this._root._inner);\n\t\tthis._setRawDefault(\"align\", \"right\");\n\t\tthis._setRawDefault(\"valign\", \"top\");\n\t\tthis._setRawDefault(\"useDefaultCSS\", true);\n\t\tthis._setRawDefault(\"autoClose\", true);\n\t\tthis._setRawDefault(\"deactivateRoot\", true);\n\t\tthis._setRawDefault(\"items\", [{\n\t\t\ttype: \"separator\",\n\t\t\tlabel: this._t(\"Export\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"png\",\n\t\t\texportType: \"image\",\n\t\t\tlabel: this._t(\"PNG\"),\n\t\t\tsublabel: this._t(\"Image\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"jpg\",\n\t\t\texportType: \"image\",\n\t\t\tlabel: this._t(\"JPG\"),\n\t\t\tsublabel: this._t(\"Image\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"pdf\",\n\t\t\texportType: \"image\",\n\t\t\tlabel: this._t(\"PDF\"),\n\t\t\tsublabel: this._t(\"Image\")\n\t\t}, {\n\t\t\ttype: \"separator\",\n\t\t\texportType: \"data\",\n\t\t\t//label: this._t(\"Data\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"json\",\n\t\t\texportType: \"data\",\n\t\t\tlabel: this._t(\"JSON\"),\n\t\t\tsublabel: this._t(\"Data\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"csv\",\n\t\t\texportType: \"data\",\n\t\t\tlabel: this._t(\"CSV\"),\n\t\t\tsublabel: this._t(\"Data\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"xlsx\",\n\t\t\texportType: \"data\",\n\t\t\tlabel: this._t(\"XLSX\"),\n\t\t\tsublabel: this._t(\"Data\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"pdfdata\",\n\t\t\texportType: \"data\",\n\t\t\tlabel: this._t(\"PDF\"),\n\t\t\tsublabel: this._t(\"Data\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"html\",\n\t\t\texportType: \"data\",\n\t\t\tlabel: this._t(\"HTML\"),\n\t\t\tsublabel: this._t(\"Data\")\n\t\t}, {\n\t\t\ttype: \"separator\"\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"print\",\n\t\t\texportType: \"print\",\n\t\t\tlabel: this._t(\"Print\")\n\t\t}]);\n\n\t\tconst menuElement = document.createElement(\"div\");\n\t\tthis._menuElement = menuElement;\n\n\t\tconst iconElement = document.createElement(\"a\");\n\t\tthis._iconElement = iconElement;\n\n\t\tthis._listElement = document.createElement(\"ul\");\n\t\tthis._listElement.setAttribute(\"role\", \"menu\");\n\t\tthis._applyClassNames();\n\n\t\ticonElement.innerHTML = '<svg fill=\"none\" height=\"20\" width=\"20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6 10a2 2 0 11-4 0 2 2 0 014 0zM12 10a2 2 0 11-4 0 2 2 0 014 0zM16 12a2 2 0 100-4 2 2 0 000 4z\"/></svg>';\n\t\ticonElement.setAttribute(\"tabindex\", this._root.tabindex.toString());\n\t\ticonElement.setAttribute(\"aria-label\", this._t(\"Export\"));\n\t\ticonElement.setAttribute(\"aria-description\", this._t(\"Press ENTER to open\"));\n\n\t\tif ($utils.supports(\"keyboardevents\")) {\n\t\t\tthis._disposers.push($utils.addEventListener(document, \"keydown\", (ev: KeyboardEvent) => {\n\t\t\t\tif (document.activeElement == this._iconElement || this.isOpen) {\n\t\t\t\t\tif (ev.keyCode == 27) {\n\t\t\t\t\t\t// ESC\n\t\t\t\t\t\tthis.close();\n\t\t\t\t\t}\n\t\t\t\t\telse if (ev.keyCode == 13) {\n\t\t\t\t\t\t// ENTER\n\t\t\t\t\t\tif (this._activeItem) {\n\t\t\t\t\t\t\tthis._handleClick(this._activeItem);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tthis.toggle();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if (ev.keyCode == 38 || ev.keyCode == 40) {\n\t\t\t\t\t\tconst items = this.get(\"items\", []);\n\t\t\t\t\t\tlet currentIndex = (<any>items).indexOf(this._activeItem);\n\t\t\t\t\t\tif (this.get(\"valign\") == \"top\" && currentIndex == -1) {\n\t\t\t\t\t\t\tcurrentIndex = items.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst dir = ev.keyCode == 38 ? -1 : 1;\n\t\t\t\t\t\tlet newIndex = currentIndex + dir;\n\t\t\t\t\t\tlet newItem;\n\t\t\t\t\t\tdo {\n\t\t\t\t\t\t\tif (newIndex < 0) {\n\t\t\t\t\t\t\t\tnewIndex = items.length - 1;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (newIndex > (items.length - 1)) {\n\t\t\t\t\t\t\t\tnewIndex = 0;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (items[newIndex].type == \"separator\") {\n\t\t\t\t\t\t\t\tnewIndex += dir;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tnewItem = items[newIndex];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} while(!newItem);\n\n\t\t\t\t\t\tif (newItem) {\n\t\t\t\t\t\t\tthis._handleItemFocus(newItem);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}));\n\t\t}\n\n\t\tthis._disposers.push($utils.addEventListener(iconElement, \"click\", (ev: MouseEvent) => {\n\t\t\tev.stopImmediatePropagation();\n\t\t\tthis.toggle();\n\t\t}));\n\n\t\tmenuElement.appendChild(this._iconElement);\n\t\tmenuElement.appendChild(this._listElement);\n\n\t\tconst container = this.get(\"container\", this._root._inner);\n\n\t\tcontainer.appendChild(this._menuElement);\n\n\t\tthis._disposers.push($utils.addEventListener(menuElement, $utils.getRendererEvent(\"pointerover\"), (_ev) => {\n\t\t\tthis._isOver = true;\n\t\t\tif (this.get(\"deactivateRoot\")) {\n\t\t\t\tthis._root._renderer.interactionsEnabled = false;\n\t\t\t}\n\t\t}));\n\n\t\tthis._disposers.push($utils.addEventListener(menuElement, $utils.getRendererEvent(\"pointerout\"), (_ev) => {\n\t\t\tthis._isOver = false;\n\t\t\tif (this.get(\"deactivateRoot\")) {\n\t\t\t\tthis._root._renderer.interactionsEnabled = true;\n\t\t\t}\n\t\t}));\n\n\t\tthis._disposers.push(new Disposer(() => {\n\t\t\tif (this._menuElement) {\n\t\t\t\tcontainer.removeChild(this._menuElement);\n\t\t\t}\n\t\t}));\n\n\t\tthis._disposers.push($utils.addEventListener(document, \"click\", (_ev) => {\n\t\t\tif (this.isOpen && !this._isOver) {\n\t\t\t\tthis.close();\n\t\t\t}\n\t\t}));\n\n\t\tthis.loadDefaultCSS();\n\n\t\tthis._root.addDisposer(this);\n\n\t\tthis.events.dispatch(\"menucreated\", {\n\t\t\ttype: \"menucreated\",\n\t\t\ttarget: this\n\t\t});\n\t}\n\n\tpublic _afterChanged() {\n\t\tsuper._afterChanged();\n\n\t\tif (this._itemElements!.length == 0) {\n\t\t\tthis.createItems();\n\t\t}\n\n\t\tif (this.isDirty(\"useDefaultCSS\")) {\n\t\t\tif (this.get(\"useDefaultCSS\")) {\n\t\t\t\tthis.loadDefaultCSS();\n\t\t\t}\n\t\t\telse if (this._cssDisposer) {\n\t\t\t\tthis._cssDisposer.dispose();\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"exporting\")) {\n\t\t\tconst exporting = this.get(\"exporting\");\n\t\t\tif (exporting) {\n\t\t\t\tthis.createItems();\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"align\") || this.isDirty(\"valign\")) {\n\t\t\tthis._applyClassNames();\n\t\t}\n\n\t\tif (this.isDirty(\"container\")) {\n\t\t\tconst container = this.get(\"container\");\n\t\t\tif (container) {\n\t\t\t\tcontainer.appendChild(this._menuElement!);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _dispose(): void {\n\t\tsuper._dispose();\n\n\t\t$array.each(this._itemDisposers, (x) => {\n\t\t\tx.dispose();\n\t\t});\n\t}\n\n\tprivate _applyClassNames(): void {\n\t\tconst align = this.get(\"align\", \"right\");\n\t\tconst valign = this.get(\"valign\", \"top\");\n\t\tconst status = this.isOpen ? \"am5exporting-menu-open\" : \"am5exporting-menu-closed\";\n\n\t\tthis._menuElement!.className = \"am5exporting am5exporting-menu am5exporting-align-\" + align + \" am5exporting-valign-\" + valign + \" \" + status;\n\t\tthis._iconElement!.className = \"am5exporting am5exporting-icon am5exporting-align-\" + align + \" am5exporting-valign-\" + valign;\n\t\tthis._listElement!.className = \"am5exporting am5exporting-list am5exporting-align-\" + align + \" am5exporting-valign-\" + valign;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic createItems(): void {\n\t\tconst exporting = this.get(\"exporting\");\n\t\tif (!exporting) {\n\t\t\treturn;\n\t\t}\n\t\tthis._listElement!.innerHTML = \"\";\n\t\tthis._itemElements = [];\n\t\tconst items = this.get(\"items\", []);\n\t\tconst supportedFormats = exporting.supportedFormats();\n\t\tconst supportedExportTypes = exporting.supportedExportTypes();\n\n\t\t$array.each(this._itemDisposers, (x) => {\n\t\t\tx.dispose();\n\t\t});\n\n\t\tthis._itemDisposers.length = 0;\n\n\t\t$array.each(items, (item) => {\n\n\t\t\tif (item.format && supportedFormats.indexOf(item.format) == -1) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (item.exportType && supportedExportTypes.indexOf(item.exportType) == -1) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst li = document.createElement(\"li\");\n\t\t\tli.setAttribute(\"role\", \"menuitem\");\n\n\t\t\tli.className = \"am5exporting am5exporting-item am5exporting-type-\" + item.type;\n\t\t\tif (item.format) {\n\t\t\t\tli.className += \" am5exporting-format-\" + item.format;\n\t\t\t}\n\n\t\t\tconst a = document.createElement(\"a\");\n\n\t\t\tlet ariaLabel = this._t(\"Export\");\n\t\t\tif (item.label) {\n\t\t\t\ta.innerHTML = item.label;\n\t\t\t\tariaLabel += \" \" + item.label;\n\t\t\t}\n\n\t\t\tif (item.sublabel) {\n\t\t\t\ta.innerHTML += \" <span class=\\\"am5exporting-label-alt\\\">\" + item.sublabel + \"</span>\";\n\t\t\t\tariaLabel += \" (\" + item.sublabel + \")\";\n\t\t\t}\n\n\t\t\tif (item.callback) {\n\t\t\t\tthis._itemDisposers.push($utils.addEventListener(a, \"click\", (_ev) => {\n\t\t\t\t\titem.callback!.call(item.callbackTarget || this)\n\t\t\t\t}));\n\t\t\t\ta.setAttribute(\"tabindex\", this._root.tabindex.toString());\n\t\t\t}\n\t\t\telse if (item.format && exporting) {\n\t\t\t\tthis._itemDisposers.push($utils.addEventListener(a, \"click\", (_ev) => {\n\t\t\t\t\tthis._handleClick(item);\n\t\t\t\t}));\n\t\t\t\tthis._itemDisposers.push($utils.addEventListener(a, \"focus\", (_ev) => {\n\t\t\t\t\tthis._handleItemFocus(item);\n\t\t\t\t}));\n\t\t\t\tthis._itemDisposers.push($utils.addEventListener(a, \"blur\", (_ev) => {\n\t\t\t\t\tthis._handleItemBlur(item);\n\t\t\t\t}));\n\t\t\t\ta.setAttribute(\"tabindex\", this._root.tabindex.toString());\n\t\t\t\ta.setAttribute(\"aria-label\", ariaLabel);\n\t\t\t}\n\n\t\t\titem.element = a;\n\t\t\tli.appendChild(a);\n\t\t\tthis._listElement!.appendChild(li);\n\t\t\tthis._itemElements!.push(li);\n\t\t});\n\t}\n\n\tprivate _handleClick(item: IExportingMenuItem): void {\n\t\tconst exporting = this.get(\"exporting\")!;\n\t\tif (this.get(\"autoClose\")) {\n\t\t\tthis.close();\n\t\t}\n\t\tif (item.format == \"print\") {\n\t\t\texporting.print();\n\t\t}\n\t\telse {\n\t\t\texporting.download(item.format!);\n\t\t}\n\t}\n\n\tprivate _handleItemFocus(item: IExportingMenuItem): void {\n\t\tif (item != this._activeItem) {\n\t\t\tif (this._activeItem) {\n\t\t\t\tthis._activeItem.element!.className = \"\";\n\t\t\t}\n\t\t\tthis._activeItem = item;\n\t\t\titem.element!.className = \"am5exporting-item-active\";\n\t\t\titem.element!.focus();\n\t\t}\n\t}\n\n\tprivate _handleItemBlur(item: IExportingMenuItem): void {\n\t\titem.element!.className = \"\";\n\t\tif (item == this._activeItem) {\n\t\t\tthis._activeItem = undefined\n\t\t}\n\t\tthis.setTimeout(() => {\n\t\t\tif (!document.activeElement || !$utils.contains(this.get(\"container\")!, document.activeElement!)) {\n\t\t\t\tthis.close();\n\t\t\t}\n\t\t}, 10);\n\n\t}\n\n\t/**\n\t * Loads the default CSS.\n\t *\n\t * @ignore Exclude from docs\n\t */\n\tpublic loadDefaultCSS(): void {\n\t\tconst disposer = exportingCSS($utils.getShadowRoot(this._root.dom), this._root);\n\t\tthis._disposers.push(disposer);\n\t\tthis._cssDisposer = disposer;\n\n\t\t// if (this._element) {\n\t\t// \tthis._element.style.display = \"\";\n\t\t// }\n\t}\n\n\t/**\n\t * Opens menu.\n\t */\n\tpublic open(): void {\n\t\tthis.isOpen = true;\n\t\tthis._applyClassNames();\n\t\tthis.events.dispatch(\"menuopened\", {\n\t\t\ttype: \"menuopened\",\n\t\t\ttarget: this\n\t\t});\n\t}\n\n\t/**\n\t * Closes menu.\n\t */\n\tpublic close(): void {\n\t\tthis.isOpen = false;\n\t\t$utils.blur();\n\t\tthis._applyClassNames();\n\t\tthis.events.dispatch(\"menuclosed\", {\n\t\t\ttype: \"menuclosed\",\n\t\t\ttarget: this\n\t\t});\n\t}\n\n\t/**\n\t * Toggles menu open and close.\n\t */\n\tpublic toggle(): void {\n\t\tif (this.isOpen) {\n\t\t\tthis.close();\n\t\t}\n\t\telse {\n\t\t\tthis.open();\n\t\t}\n\t}\n\n\n}\n"]}