@amcharts/amcharts5 5.14.3 → 5.14.4

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 (213) hide show
  1. package/.internal/charts/stock/StockChart.js +1 -1
  2. package/.internal/charts/stock/StockChart.js.map +1 -1
  3. package/.internal/charts/stock/StockChartDefaultTheme.d.ts.map +1 -1
  4. package/.internal/charts/stock/StockChartDefaultTheme.js +6 -0
  5. package/.internal/charts/stock/StockChartDefaultTheme.js.map +1 -1
  6. package/.internal/charts/stock/drawing/DrawingSeries.d.ts.map +1 -1
  7. package/.internal/charts/stock/drawing/DrawingSeries.js +2 -2
  8. package/.internal/charts/stock/drawing/DrawingSeries.js.map +1 -1
  9. package/.internal/charts/stock/drawing/IconSeries.js +1 -1
  10. package/.internal/charts/stock/drawing/IconSeries.js.map +1 -1
  11. package/.internal/charts/stock/indicators/AccelerationBands.d.ts +0 -3
  12. package/.internal/charts/stock/indicators/AccelerationBands.d.ts.map +1 -1
  13. package/.internal/charts/stock/indicators/AccelerationBands.js +16 -16
  14. package/.internal/charts/stock/indicators/AccelerationBands.js.map +1 -1
  15. package/.internal/charts/stock/indicators/AccumulationDistribution.d.ts.map +1 -1
  16. package/.internal/charts/stock/indicators/AccumulationDistribution.js +33 -31
  17. package/.internal/charts/stock/indicators/AccumulationDistribution.js.map +1 -1
  18. package/.internal/charts/stock/indicators/Indicator.d.ts.map +1 -1
  19. package/.internal/charts/stock/indicators/Indicator.js +139 -91
  20. package/.internal/charts/stock/indicators/Indicator.js.map +1 -1
  21. package/.internal/charts/stock/toolbar/DateRangeSelector.d.ts.map +1 -1
  22. package/.internal/charts/stock/toolbar/DateRangeSelector.js +1 -1
  23. package/.internal/charts/stock/toolbar/DateRangeSelector.js.map +1 -1
  24. package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
  25. package/.internal/charts/xy/axes/DateAxis.js +8 -4
  26. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  27. package/.internal/charts/xy/axes/GaplessDateAxis.d.ts.map +1 -1
  28. package/.internal/charts/xy/axes/GaplessDateAxis.js +1 -0
  29. package/.internal/charts/xy/axes/GaplessDateAxis.js.map +1 -1
  30. package/.internal/charts/xy/series/LineSeries.js +2 -2
  31. package/.internal/charts/xy/series/LineSeries.js.map +1 -1
  32. package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
  33. package/.internal/charts/xy/series/XYSeries.js +6 -20
  34. package/.internal/charts/xy/series/XYSeries.js.map +1 -1
  35. package/.internal/core/Registry.d.ts +7 -1
  36. package/.internal/core/Registry.d.ts.map +1 -1
  37. package/.internal/core/Registry.js +14 -3
  38. package/.internal/core/Registry.js.map +1 -1
  39. package/.internal/core/Root.d.ts.map +1 -1
  40. package/.internal/core/Root.js +8 -2
  41. package/.internal/core/Root.js.map +1 -1
  42. package/.internal/core/render/Component.d.ts.map +1 -1
  43. package/.internal/core/render/Component.js +3 -0
  44. package/.internal/core/render/Component.js.map +1 -1
  45. package/.internal/core/render/Container.d.ts.map +1 -1
  46. package/.internal/core/render/Container.js +5 -0
  47. package/.internal/core/render/Container.js.map +1 -1
  48. package/.internal/core/render/Series.d.ts +9 -0
  49. package/.internal/core/render/Series.d.ts.map +1 -1
  50. package/.internal/core/render/Series.js +77 -65
  51. package/.internal/core/render/Series.js.map +1 -1
  52. package/.internal/plugins/exporting/ExportingMenu.d.ts +6 -0
  53. package/.internal/plugins/exporting/ExportingMenu.d.ts.map +1 -1
  54. package/.internal/plugins/exporting/ExportingMenu.js +2 -2
  55. package/.internal/plugins/exporting/ExportingMenu.js.map +1 -1
  56. package/CHANGELOG.md +21 -0
  57. package/examples/javascript/flow-arc-horizontal/package.json +1 -1
  58. package/examples/javascript/flow-arc-vertical/package.json +1 -1
  59. package/examples/javascript/flow-chord/package.json +1 -1
  60. package/examples/javascript/flow-chord-directed/package.json +1 -1
  61. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  62. package/examples/javascript/flow-sankey/package.json +1 -1
  63. package/examples/javascript/gantt/package.json +1 -1
  64. package/examples/javascript/gantt-multilevel/package.json +1 -1
  65. package/examples/javascript/gantt-simple/package.json +1 -1
  66. package/examples/javascript/gauge/package.json +1 -1
  67. package/examples/javascript/gauge-bands/package.json +1 -1
  68. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  69. package/examples/javascript/hierarchy-pack/package.json +1 -1
  70. package/examples/javascript/hierarchy-partition/package.json +1 -1
  71. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  72. package/examples/javascript/hierarchy-tree/package.json +1 -1
  73. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  74. package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
  75. package/examples/javascript/jest/package.json +1 -1
  76. package/examples/javascript/json-pie/package.json +1 -1
  77. package/examples/javascript/json-xy/package.json +1 -1
  78. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  79. package/examples/javascript/map-clustered-points/package.json +1 -1
  80. package/examples/javascript/map-day-and-night/package.json +1 -1
  81. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  82. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  83. package/examples/javascript/map-with-bubbles/package.json +1 -1
  84. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  85. package/examples/javascript/misc-40-charts/package.json +1 -1
  86. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  87. package/examples/javascript/pie-chart/package.json +1 -1
  88. package/examples/javascript/pie-donut-chart/package.json +1 -1
  89. package/examples/javascript/pie-variable-radius/package.json +1 -1
  90. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  91. package/examples/javascript/radar-heat-map/package.json +1 -1
  92. package/examples/javascript/radar-line/package.json +1 -1
  93. package/examples/javascript/radar-time-line/package.json +1 -1
  94. package/examples/javascript/sliced-funnel/package.json +1 -1
  95. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  96. package/examples/javascript/sliced-pyramid/package.json +1 -1
  97. package/examples/javascript/stock-chart/package.json +1 -1
  98. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  99. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  100. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  101. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  102. package/examples/javascript/stock-chart-live/package.json +1 -1
  103. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  104. package/examples/javascript/timeline-horizontal-serpentine-chart/package.json +1 -1
  105. package/examples/javascript/timeline-linear-process-diagram/package.json +1 -1
  106. package/examples/javascript/timeline-serpentine-chart/package.json +1 -1
  107. package/examples/javascript/timeline-spiral-chart/package.json +1 -1
  108. package/examples/javascript/venn-diagram/package.json +1 -1
  109. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  110. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  111. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  112. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  113. package/examples/javascript/xy-bubble/package.json +1 -1
  114. package/examples/javascript/xy-candlestick/package.json +1 -1
  115. package/examples/javascript/xy-clustered-column/package.json +1 -1
  116. package/examples/javascript/xy-column/package.json +1 -1
  117. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  118. package/examples/javascript/xy-data-grouping/package.json +1 -1
  119. package/examples/javascript/xy-draggable-range/package.json +1 -1
  120. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  121. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  122. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  123. package/examples/javascript/xy-line/package.json +1 -1
  124. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  125. package/examples/javascript/xy-live-data/package.json +1 -1
  126. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  127. package/examples/javascript/xy-ohlc/package.json +1 -1
  128. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  129. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  130. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  131. package/examples/javascript/xy-stacked-column/package.json +1 -1
  132. package/examples/javascript/xy-stacked-step/package.json +1 -1
  133. package/examples/javascript/xy-stock/package.json +1 -1
  134. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  135. package/examples/typescript/flow-arc-horizontal/package.json +1 -1
  136. package/examples/typescript/flow-arc-vertical/package.json +1 -1
  137. package/examples/typescript/flow-chord/package.json +1 -1
  138. package/examples/typescript/flow-chord-directed/package.json +1 -1
  139. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  140. package/examples/typescript/flow-sankey/package.json +1 -1
  141. package/examples/typescript/gantt/package.json +1 -1
  142. package/examples/typescript/gantt-multilevel/package.json +1 -1
  143. package/examples/typescript/gantt-simple/package.json +1 -1
  144. package/examples/typescript/gauge/package.json +1 -1
  145. package/examples/typescript/gauge-bands/package.json +1 -1
  146. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  147. package/examples/typescript/hierarchy-pack/package.json +1 -1
  148. package/examples/typescript/hierarchy-partition/package.json +1 -1
  149. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  150. package/examples/typescript/hierarchy-tree/package.json +1 -1
  151. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  152. package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
  153. package/examples/typescript/jest/package.json +1 -1
  154. package/examples/typescript/json-pie/package.json +1 -1
  155. package/examples/typescript/json-xy/package.json +1 -1
  156. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  157. package/examples/typescript/map-clustered-points/package.json +1 -1
  158. package/examples/typescript/map-day-and-night/package.json +1 -1
  159. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  160. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  161. package/examples/typescript/map-with-bubbles/package.json +1 -1
  162. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  163. package/examples/typescript/misc-40-charts/package.json +1 -1
  164. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  165. package/examples/typescript/pie-chart/package.json +1 -1
  166. package/examples/typescript/pie-donut-chart/package.json +1 -1
  167. package/examples/typescript/pie-variable-radius/package.json +1 -1
  168. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  169. package/examples/typescript/radar-heat-map/package.json +1 -1
  170. package/examples/typescript/radar-line/package.json +1 -1
  171. package/examples/typescript/radar-time-line/package.json +1 -1
  172. package/examples/typescript/sliced-funnel/package.json +1 -1
  173. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  174. package/examples/typescript/sliced-pyramid/package.json +1 -1
  175. package/examples/typescript/stock-chart/package.json +1 -1
  176. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  177. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  178. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  179. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  180. package/examples/typescript/stock-chart-live/package.json +1 -1
  181. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  182. package/examples/typescript/timeline-horizontal-serpentine-chart/package.json +1 -1
  183. package/examples/typescript/timeline-linear-process-diagram/package.json +1 -1
  184. package/examples/typescript/timeline-serpentine-chart/package.json +1 -1
  185. package/examples/typescript/timeline-spiral-chart/package.json +1 -1
  186. package/examples/typescript/venn-diagram/package.json +1 -1
  187. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  188. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  189. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  190. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  191. package/examples/typescript/xy-bubble/package.json +1 -1
  192. package/examples/typescript/xy-candlestick/package.json +1 -1
  193. package/examples/typescript/xy-clustered-column/package.json +1 -1
  194. package/examples/typescript/xy-column/package.json +1 -1
  195. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  196. package/examples/typescript/xy-data-grouping/package.json +1 -1
  197. package/examples/typescript/xy-draggable-range/package.json +1 -1
  198. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  199. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  200. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  201. package/examples/typescript/xy-line/package.json +1 -1
  202. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  203. package/examples/typescript/xy-live-data/package.json +1 -1
  204. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  205. package/examples/typescript/xy-ohlc/package.json +1 -1
  206. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  207. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  208. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  209. package/examples/typescript/xy-stacked-column/package.json +1 -1
  210. package/examples/typescript/xy-stacked-step/package.json +1 -1
  211. package/examples/typescript/xy-stock/package.json +1 -1
  212. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  213. package/package.json +1 -1
@@ -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\t/**\n\t * A `<div>` element that acts as a container for other menu elements.\n\t */\n\tmenuElement?: HTMLDivElement;\n\n\t/**\n\t * A top-level `<ul>` element containing menu items.\n\t */\n\tlistElement?: HTMLUListElement;\n\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\t\tthis.setPrivate(\"menuElement\", this._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.setPrivate(\"listElement\", this._listElement);\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\") + \"; \" + this._t(\"Press ENTER to open\"));\n\t\ticonElement.setAttribute(\"role\", \"button\");\n\n\t\tif ($utils.supports(\"keyboardevents\")) {\n\t\t\tthis._disposers.push($utils.addEventListener(document, \"keydown\", (ev: KeyboardEvent) => {\n\t\t\t\tconst eventKey = $utils.getEventKey(ev);\n\t\t\t\tif (document.activeElement == this._iconElement || this.isOpen) {\n\t\t\t\t\tif (eventKey == \"Escape\") {\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 (eventKey == \"Enter\") {\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 (eventKey == \"ArrowUp\" || eventKey == \"ArrowDown\") {\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 = eventKey == \"ArrowUp\" ? -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\tif (this.get(\"deactivateRoot\") && (this.isOpen || this._isOver)) {\n\t\t\t\tthis._root._renderer.interactionsEnabled = true;\n\t\t\t}\n\t\t\tthis._isOver = false;\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.setTimeout(() => {\n\t\t\tthis.isOpen = true;\n\t\t\tif (this.get(\"deactivateRoot\")) {\n\t\t\t\tthis._root._renderer.interactionsEnabled = false;\n\t\t\t}\n\t\t\tthis._applyClassNames();\n\t\t\tthis.events.dispatch(\"menuopened\", {\n\t\t\t\ttype: \"menuopened\",\n\t\t\t\ttarget: this\n\t\t\t});\n\t\t}, 1);\n\t}\n\n\t/**\n\t * Closes menu.\n\t */\n\tpublic close(): void {\n\t\tthis.isOpen = false;\n\t\tif (this.get(\"deactivateRoot\")) {\n\t\t\tthis._root._renderer.interactionsEnabled = true;\n\t\t}\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\t/**\n\t * ARIA label for the menu.\n\t *\n\t * @since 5.14.4\n\t */\n\tariaLabel?: string;\n\n}\n\nexport interface IExportingMenuPrivate extends IEntityPrivate {\n\n\t/**\n\t * A `<div>` element that acts as a container for other menu elements.\n\t */\n\tmenuElement?: HTMLDivElement;\n\n\t/**\n\t * A top-level `<ul>` element containing menu items.\n\t */\n\tlistElement?: HTMLUListElement;\n\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\t\tthis.setPrivate(\"menuElement\", this._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.setPrivate(\"listElement\", this._listElement);\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.get(\"ariaLabel\", this._t(\"Export\") + \"; \" + this._t(\"Press ENTER to open\")));\n\t\ticonElement.setAttribute(\"role\", \"button\");\n\n\t\tif ($utils.supports(\"keyboardevents\")) {\n\t\t\tthis._disposers.push($utils.addEventListener(document, \"keydown\", (ev: KeyboardEvent) => {\n\t\t\t\tconst eventKey = $utils.getEventKey(ev);\n\t\t\t\tif (document.activeElement == this._iconElement || this.isOpen) {\n\t\t\t\t\tif (eventKey == \"Escape\") {\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 (eventKey == \"Enter\") {\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 (eventKey == \"ArrowUp\" || eventKey == \"ArrowDown\") {\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 = eventKey == \"ArrowUp\" ? -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\tif (this.get(\"deactivateRoot\") && (this.isOpen || this._isOver)) {\n\t\t\t\tthis._root._renderer.interactionsEnabled = true;\n\t\t\t}\n\t\t\tthis._isOver = false;\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.setTimeout(() => {\n\t\t\tthis.isOpen = true;\n\t\t\tif (this.get(\"deactivateRoot\")) {\n\t\t\t\tthis._root._renderer.interactionsEnabled = false;\n\t\t\t}\n\t\t\tthis._applyClassNames();\n\t\t\tthis.events.dispatch(\"menuopened\", {\n\t\t\t\ttype: \"menuopened\",\n\t\t\t\ttarget: this\n\t\t\t});\n\t\t}, 1);\n\t}\n\n\t/**\n\t * Closes menu.\n\t */\n\tpublic close(): void {\n\t\tthis.isOpen = false;\n\t\tif (this.get(\"deactivateRoot\")) {\n\t\t\tthis._root._renderer.interactionsEnabled = true;\n\t\t}\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"]}
package/CHANGELOG.md CHANGED
@@ -5,6 +5,27 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
5
5
  Please note, that this project, while following numbering syntax, it DOES NOT
6
6
  adhere to [Semantic Versioning](http://semver.org/spec/v2.0.0.html) rules.
7
7
 
8
+ ## [5.14.4] - 2025-11-06
9
+
10
+ ### Added
11
+ - Added `ariaLabel` setting to `ExportingMenu`.
12
+ - Added `autoDispose` (default: `false`) property to `Registry`. Set it to `true` to automatically dispose a `Root` element if it exists in the target container when a new `Root` element is being created.
13
+ - Added `exculdeFromAggregate` setting to `XYSeries`, mainly for performance. Use it to remove some data fields from calculation of their aggregate values. On a `StockChart` the setting is set to `["valueX"]`, since X values are not usually used in aggregates, but will save some processing time on large data sets.
14
+
15
+ ### Changed
16
+ - `date` tag added to `DateAxis`.
17
+ - `gapless` tag added to `GaplessDateAxis`.
18
+ - `turboMode` is now set to `true` on all `ColumnSeries`/`CandlestickSeries` by default on all `StockChart` indicator series.
19
+
20
+ ### Fixed
21
+ - Performance improvements.
22
+ - `zoomable` set on axis to false was ignored by stock chart.
23
+ - Adding an arrow or icon to `StockChart` would dispatch a `"drawingadded"` event with wrong `drawingId`.
24
+ - Focus elements in a scrollable container were sometimes being highlighted incorrectly.
25
+ - `Container` method `scrollToChild()` was not working properly.
26
+ - `DateRangeSelector` was displaying selectable days incorrectly whith some of the locales.
27
+
28
+
8
29
  ## [5.14.3] - 2025-10-13
9
30
 
10
31
  ### Fixed
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-flow-arc-horizontal",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-flow-arc-vertical",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-flow-chord",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-flow-chord-directed",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-flow-chord-non-ribbon",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-flow-sankey",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-gantt",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-gantt-multilevel",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-gantt-simple",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-gauge",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-gauge-bands",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-hierarchy-force-directed",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-hierarchy-pack",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-hierarchy-partition",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-hierarchy-sunburst",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-hierarchy-tree",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-hierarchy-treemap",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-hierarchy-voronoi-treemap",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-jest",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-json-pie",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-json-xy",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-map-animating-along-lines",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "@amcharts/amcharts5-geodata": "^5.1.5",
8
8
  "source-map-loader": "^4.0.1",
9
9
  "webpack": "^5.1.3",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-map-clustered-points",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "@amcharts/amcharts5-geodata": "^5.1.5",
8
8
  "source-map-loader": "^4.0.1",
9
9
  "webpack": "^5.1.3",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-map-day-and-night",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "@amcharts/amcharts5-geodata": "^5.1.5",
8
8
  "source-map-loader": "^4.0.1",
9
9
  "webpack": "^5.1.3",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-map-globe-rotate-to-country",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "@amcharts/amcharts5-geodata": "^5.1.5",
8
8
  "source-map-loader": "^4.0.1",
9
9
  "webpack": "^5.1.3",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-map-globe-with-projected-circles",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "@amcharts/amcharts5-geodata": "^5.1.5",
8
8
  "source-map-loader": "^4.0.1",
9
9
  "webpack": "^5.1.3",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-map-with-bubbles",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "@amcharts/amcharts5-geodata": "^5.1.5",
8
8
  "source-map-loader": "^4.0.1",
9
9
  "webpack": "^5.1.3",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-map-zoom-to-country",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "@amcharts/amcharts5-geodata": "^5.1.5",
8
8
  "source-map-loader": "^4.0.1",
9
9
  "webpack": "^5.1.3",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-misc-40-charts",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-misc-microchart-grid",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-pie-chart",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-pie-donut-chart",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-pie-variable-radius",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-radar-column-iwatch-style",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-radar-heat-map",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-radar-line",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-radar-time-line",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-sliced-funnel",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-sliced-pictorial-stacked",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-sliced-pyramid",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-stock-chart",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-stock-chart-comparing-stocks",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.14.3",
6
+ "@amcharts/amcharts5": "^5.14.4",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",