@amcharts/amcharts5 5.2.7 → 5.2.10

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 (283) hide show
  1. package/.internal/charts/funnel/FunnelSeries.d.ts +2 -0
  2. package/.internal/charts/funnel/FunnelSeries.d.ts.map +1 -1
  3. package/.internal/charts/funnel/FunnelSeries.js +27 -0
  4. package/.internal/charts/funnel/FunnelSeries.js.map +1 -1
  5. package/.internal/charts/funnel/FunnelSlice.d.ts +4 -4
  6. package/.internal/charts/funnel/FunnelSlice.d.ts.map +1 -1
  7. package/.internal/charts/funnel/FunnelSlice.js.map +1 -1
  8. package/.internal/charts/hierarchy/HierarchyDefaultTheme.d.ts.map +1 -1
  9. package/.internal/charts/hierarchy/HierarchyDefaultTheme.js +2 -1
  10. package/.internal/charts/hierarchy/HierarchyDefaultTheme.js.map +1 -1
  11. package/.internal/charts/hierarchy/Treemap.js +2 -2
  12. package/.internal/charts/hierarchy/Treemap.js.map +1 -1
  13. package/.internal/charts/map/MapChart.d.ts +3 -1
  14. package/.internal/charts/map/MapChart.d.ts.map +1 -1
  15. package/.internal/charts/map/MapChart.js +39 -1
  16. package/.internal/charts/map/MapChart.js.map +1 -1
  17. package/.internal/charts/map/MapChartDefaultTheme.d.ts.map +1 -1
  18. package/.internal/charts/map/MapChartDefaultTheme.js +2 -1
  19. package/.internal/charts/map/MapChartDefaultTheme.js.map +1 -1
  20. package/.internal/charts/map/MapPointSeries.d.ts +5 -0
  21. package/.internal/charts/map/MapPointSeries.d.ts.map +1 -1
  22. package/.internal/charts/map/MapPointSeries.js.map +1 -1
  23. package/.internal/charts/map/MapSeries.d.ts +1 -0
  24. package/.internal/charts/map/MapSeries.d.ts.map +1 -1
  25. package/.internal/charts/map/MapSeries.js +9 -0
  26. package/.internal/charts/map/MapSeries.js.map +1 -1
  27. package/.internal/charts/percent/PercentChart.d.ts +1 -0
  28. package/.internal/charts/percent/PercentChart.d.ts.map +1 -1
  29. package/.internal/charts/percent/PercentChart.js +9 -0
  30. package/.internal/charts/percent/PercentChart.js.map +1 -1
  31. package/.internal/charts/percent/PercentDefaultTheme.d.ts.map +1 -1
  32. package/.internal/charts/percent/PercentDefaultTheme.js +3 -1
  33. package/.internal/charts/percent/PercentDefaultTheme.js.map +1 -1
  34. package/.internal/charts/percent/PercentSeries.d.ts.map +1 -1
  35. package/.internal/charts/percent/PercentSeries.js +9 -0
  36. package/.internal/charts/percent/PercentSeries.js.map +1 -1
  37. package/.internal/charts/pie/PieChart.d.ts.map +1 -1
  38. package/.internal/charts/pie/PieChart.js +5 -0
  39. package/.internal/charts/pie/PieChart.js.map +1 -1
  40. package/.internal/charts/pie/PieSeries.d.ts +2 -0
  41. package/.internal/charts/pie/PieSeries.d.ts.map +1 -1
  42. package/.internal/charts/pie/PieSeries.js +23 -0
  43. package/.internal/charts/pie/PieSeries.js.map +1 -1
  44. package/.internal/charts/stock/toolbar/DateRangeSelector.d.ts.map +1 -1
  45. package/.internal/charts/stock/toolbar/DateRangeSelector.js +22 -3
  46. package/.internal/charts/stock/toolbar/DateRangeSelector.js.map +1 -1
  47. package/.internal/charts/xy/XYChart.d.ts +11 -3
  48. package/.internal/charts/xy/XYChart.d.ts.map +1 -1
  49. package/.internal/charts/xy/XYChart.js +34 -2
  50. package/.internal/charts/xy/XYChart.js.map +1 -1
  51. package/.internal/charts/xy/XYCursor.d.ts +1 -0
  52. package/.internal/charts/xy/XYCursor.d.ts.map +1 -1
  53. package/.internal/charts/xy/XYCursor.js +12 -0
  54. package/.internal/charts/xy/XYCursor.js.map +1 -1
  55. package/.internal/charts/xy/axes/Axis.d.ts +5 -0
  56. package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
  57. package/.internal/charts/xy/axes/Axis.js +1 -0
  58. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  59. package/.internal/charts/xy/axes/GaplessDateAxis.js +1 -0
  60. package/.internal/charts/xy/axes/GaplessDateAxis.js.map +1 -1
  61. package/.internal/charts/xy/series/LineSeries.d.ts +3 -1
  62. package/.internal/charts/xy/series/LineSeries.d.ts.map +1 -1
  63. package/.internal/charts/xy/series/LineSeries.js +21 -5
  64. package/.internal/charts/xy/series/LineSeries.js.map +1 -1
  65. package/.internal/charts/xy/series/XYSeries.js +2 -2
  66. package/.internal/charts/xy/series/XYSeries.js.map +1 -1
  67. package/.internal/core/Root.d.ts +31 -0
  68. package/.internal/core/Root.d.ts.map +1 -1
  69. package/.internal/core/Root.js +94 -22
  70. package/.internal/core/Root.js.map +1 -1
  71. package/.internal/core/render/Container.d.ts.map +1 -1
  72. package/.internal/core/render/Container.js +9 -1
  73. package/.internal/core/render/Container.js.map +1 -1
  74. package/.internal/core/render/Graphics.d.ts +8 -0
  75. package/.internal/core/render/Graphics.d.ts.map +1 -1
  76. package/.internal/core/render/Graphics.js +5 -4
  77. package/.internal/core/render/Graphics.js.map +1 -1
  78. package/.internal/core/render/HorizontalLayout.js +2 -2
  79. package/.internal/core/render/HorizontalLayout.js.map +1 -1
  80. package/.internal/core/render/Label.d.ts +2 -2
  81. package/.internal/core/render/Label.d.ts.map +1 -1
  82. package/.internal/core/render/Label.js +4 -4
  83. package/.internal/core/render/Label.js.map +1 -1
  84. package/.internal/core/render/Scrollbar.d.ts +2 -2
  85. package/.internal/core/render/Scrollbar.d.ts.map +1 -1
  86. package/.internal/core/render/Scrollbar.js +5 -2
  87. package/.internal/core/render/Scrollbar.js.map +1 -1
  88. package/.internal/core/render/Series.d.ts.map +1 -1
  89. package/.internal/core/render/Series.js +3 -0
  90. package/.internal/core/render/Series.js.map +1 -1
  91. package/.internal/core/render/Sprite.d.ts +8 -0
  92. package/.internal/core/render/Sprite.d.ts.map +1 -1
  93. package/.internal/core/render/Sprite.js +6 -5
  94. package/.internal/core/render/Sprite.js.map +1 -1
  95. package/.internal/core/render/Text.d.ts +1 -1
  96. package/.internal/core/render/Text.d.ts.map +1 -1
  97. package/.internal/core/render/Text.js +4 -4
  98. package/.internal/core/render/Text.js.map +1 -1
  99. package/.internal/core/render/VerticalLayout.js +2 -2
  100. package/.internal/core/render/VerticalLayout.js.map +1 -1
  101. package/.internal/core/render/backend/CanvasRenderer.d.ts +9 -2
  102. package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
  103. package/.internal/core/render/backend/CanvasRenderer.js +123 -9
  104. package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
  105. package/.internal/core/render/backend/Renderer.d.ts +5 -2
  106. package/.internal/core/render/backend/Renderer.d.ts.map +1 -1
  107. package/.internal/core/render/backend/Renderer.js.map +1 -1
  108. package/.internal/core/util/ColorSet.d.ts +1 -0
  109. package/.internal/core/util/ColorSet.d.ts.map +1 -1
  110. package/.internal/core/util/ColorSet.js +11 -0
  111. package/.internal/core/util/ColorSet.js.map +1 -1
  112. package/.internal/core/util/TextFormatter.js +2 -2
  113. package/.internal/core/util/TextFormatter.js.map +1 -1
  114. package/.internal/core/util/Utils.d.ts +9 -0
  115. package/.internal/core/util/Utils.d.ts.map +1 -1
  116. package/.internal/core/util/Utils.js +10 -0
  117. package/.internal/core/util/Utils.js.map +1 -1
  118. package/.internal/plugins/exporting/Exporting.d.ts +2 -2
  119. package/.internal/plugins/exporting/Exporting.d.ts.map +1 -1
  120. package/.internal/plugins/exporting/Exporting.js +21 -13
  121. package/.internal/plugins/exporting/Exporting.js.map +1 -1
  122. package/CHANGELOG.md +46 -1
  123. package/examples/javascript/flow-chord/package.json +1 -1
  124. package/examples/javascript/flow-chord-directed/package.json +1 -1
  125. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  126. package/examples/javascript/flow-sankey/package.json +1 -1
  127. package/examples/javascript/gauge/package.json +1 -1
  128. package/examples/javascript/gauge-bands/package.json +1 -1
  129. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  130. package/examples/javascript/hierarchy-pack/package.json +1 -1
  131. package/examples/javascript/hierarchy-partition/package.json +1 -1
  132. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  133. package/examples/javascript/hierarchy-tree/package.json +1 -1
  134. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  135. package/examples/javascript/json/package.json +1 -1
  136. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  137. package/examples/javascript/map-day-and-night/package.json +1 -1
  138. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  139. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  140. package/examples/javascript/map-with-bubbles/package.json +1 -1
  141. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  142. package/examples/javascript/misc-40-charts/package.json +1 -1
  143. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  144. package/examples/javascript/pie-chart/package.json +1 -1
  145. package/examples/javascript/pie-donut-chart/package.json +1 -1
  146. package/examples/javascript/pie-variable-radius/package.json +1 -1
  147. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  148. package/examples/javascript/radar-heat-map/package.json +1 -1
  149. package/examples/javascript/radar-line/package.json +1 -1
  150. package/examples/javascript/radar-time-line/package.json +1 -1
  151. package/examples/javascript/sliced-funnel/package.json +1 -1
  152. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  153. package/examples/javascript/sliced-pyramid/package.json +1 -1
  154. package/examples/javascript/stock-chart/package.json +1 -1
  155. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  156. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  157. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  158. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  159. package/examples/javascript/stock-chart-live/package.json +1 -1
  160. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  161. package/examples/javascript/venn-diagram/package.json +1 -1
  162. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  163. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  164. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  165. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  166. package/examples/javascript/xy-bubble/package.json +1 -1
  167. package/examples/javascript/xy-candlestick/package.json +1 -1
  168. package/examples/javascript/xy-clustered-column/package.json +1 -1
  169. package/examples/javascript/xy-column/package.json +1 -1
  170. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  171. package/examples/javascript/xy-data-grouping/package.json +1 -1
  172. package/examples/javascript/xy-draggable-range/package.json +1 -1
  173. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  174. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  175. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  176. package/examples/javascript/xy-line/package.json +1 -1
  177. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  178. package/examples/javascript/xy-live-data/package.json +1 -1
  179. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  180. package/examples/javascript/xy-ohlc/package.json +1 -1
  181. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  182. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  183. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  184. package/examples/javascript/xy-stacked-column/package.json +1 -1
  185. package/examples/javascript/xy-stacked-step/package.json +1 -1
  186. package/examples/javascript/xy-stock/package.json +1 -1
  187. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  188. package/examples/typescript/flow-chord/package.json +1 -1
  189. package/examples/typescript/flow-chord-directed/package.json +1 -1
  190. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  191. package/examples/typescript/flow-sankey/package.json +1 -1
  192. package/examples/typescript/gauge/package.json +1 -1
  193. package/examples/typescript/gauge-bands/package.json +1 -1
  194. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  195. package/examples/typescript/hierarchy-pack/package.json +1 -1
  196. package/examples/typescript/hierarchy-partition/package.json +1 -1
  197. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  198. package/examples/typescript/hierarchy-tree/package.json +1 -1
  199. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  200. package/examples/typescript/json/package.json +1 -1
  201. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  202. package/examples/typescript/map-day-and-night/package.json +1 -1
  203. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  204. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  205. package/examples/typescript/map-with-bubbles/package.json +1 -1
  206. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  207. package/examples/typescript/misc-40-charts/package.json +1 -1
  208. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  209. package/examples/typescript/pie-chart/package.json +1 -1
  210. package/examples/typescript/pie-donut-chart/package.json +1 -1
  211. package/examples/typescript/pie-variable-radius/package.json +1 -1
  212. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  213. package/examples/typescript/radar-heat-map/package.json +1 -1
  214. package/examples/typescript/radar-line/package.json +1 -1
  215. package/examples/typescript/radar-time-line/package.json +1 -1
  216. package/examples/typescript/sliced-funnel/package.json +1 -1
  217. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  218. package/examples/typescript/sliced-pyramid/package.json +1 -1
  219. package/examples/typescript/stock-chart/package.json +1 -1
  220. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  221. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  222. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  223. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  224. package/examples/typescript/stock-chart-live/package.json +1 -1
  225. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  226. package/examples/typescript/venn-diagram/package.json +1 -1
  227. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  228. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  229. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  230. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  231. package/examples/typescript/xy-bubble/package.json +1 -1
  232. package/examples/typescript/xy-candlestick/package.json +1 -1
  233. package/examples/typescript/xy-clustered-column/package.json +1 -1
  234. package/examples/typescript/xy-column/package.json +1 -1
  235. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  236. package/examples/typescript/xy-data-grouping/package.json +1 -1
  237. package/examples/typescript/xy-draggable-range/package.json +1 -1
  238. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  239. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  240. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  241. package/examples/typescript/xy-line/package.json +1 -1
  242. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  243. package/examples/typescript/xy-live-data/package.json +1 -1
  244. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  245. package/examples/typescript/xy-ohlc/package.json +1 -1
  246. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  247. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  248. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  249. package/examples/typescript/xy-stacked-column/package.json +1 -1
  250. package/examples/typescript/xy-stacked-step/package.json +1 -1
  251. package/examples/typescript/xy-stock/package.json +1 -1
  252. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  253. package/flow.d.ts +13 -13
  254. package/flow.d.ts.map +1 -1
  255. package/flow.js.map +1 -1
  256. package/hierarchy.d.ts +12 -12
  257. package/hierarchy.d.ts.map +1 -1
  258. package/hierarchy.js.map +1 -1
  259. package/index.d.ts +42 -42
  260. package/index.d.ts.map +1 -1
  261. package/index.js.map +1 -1
  262. package/map.d.ts +9 -9
  263. package/map.d.ts.map +1 -1
  264. package/map.js.map +1 -1
  265. package/package.json +1 -1
  266. package/percent.d.ts +9 -9
  267. package/percent.d.ts.map +1 -1
  268. package/percent.js.map +1 -1
  269. package/radar.d.ts +8 -8
  270. package/radar.d.ts.map +1 -1
  271. package/radar.js.map +1 -1
  272. package/stock.d.ts +62 -62
  273. package/stock.d.ts.map +1 -1
  274. package/stock.js.map +1 -1
  275. package/venn.d.ts +1 -1
  276. package/venn.d.ts.map +1 -1
  277. package/venn.js.map +1 -1
  278. package/wc.d.ts +1 -1
  279. package/wc.d.ts.map +1 -1
  280. package/wc.js.map +1 -1
  281. package/xy.d.ts +30 -30
  282. package/xy.d.ts.map +1 -1
  283. package/xy.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Container.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Graphics } from \"./Graphics\";\nimport type { Layout } from \"./Layout\";\nimport type { IContainer } from \"./backend/Renderer\";\nimport type { IBounds } from \"../util/IBounds\";\nimport type { Scrollbar } from \"./Scrollbar\";\n\nimport { Children } from \"../util/Children\";\nimport { Percent } from \"../util/Percent\";\nimport { Sprite, ISpriteSettings, ISpritePrivate, ISpriteEvents } from \"./Sprite\";\nimport { Rectangle } from \"./Rectangle\";\nimport { HorizontalLayout } from \"./HorizontalLayout\";\nimport { VerticalLayout } from \"./VerticalLayout\";\nimport { GridLayout } from \"./GridLayout\";\n\nimport * as $array from \"../util/Array\";\nimport * as $type from \"../util/Type\";\n\nexport interface IContainerSettings extends ISpriteSettings {\n\n\t/**\n\t * Left padding in pixels.\n\t */\n\tpaddingLeft?: number;\n\n\t/**\n\t * Right padding in pixels.\n\t */\n\tpaddingRight?: number;\n\n\t/**\n\t * Top padding in pixels.\n\t */\n\tpaddingTop?: number;\n\n\t/**\n\t * Bottom padding in pixels.\n\t */\n\tpaddingBottom?: number;\n\n\t/**\n\t * Background element.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/containers/#Background} for more info\n\t */\n\tbackground?: Graphics;\n\n\t/**\n\t * A method to layout\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/containers/#Layout} for more info\n\t */\n\tlayout?: Layout | null;\n\n\t/**\n\t * An element to use as a container's mask (clipping region).\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/containers/#Masks} for more info\n\t */\n\tmask?: Graphics | null;\n\n\t/**\n\t * If set to `true` all content going outside the bounds of the container\n\t * will be clipped.\n\t */\n\tmaskContent?: boolean;\n\n\t/**\n\t * If set to `true` all descendants - not just direct children, but every\n\t * element in it - will become \"interactive\".\n\t */\n\tinteractiveChildren?: boolean;\n\n\t/**\n\t * If set to `true`, applying a state on a container will also apply the same\n\t * state on its children.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/containers/#States} for more info\n\t */\n\tsetStateOnChildren?: boolean;\n\n\t/**\n\t * Setting this to an instance of [[Scrollbar]] will enable vertical\n\t * scrolling of content if it does not fit into the Container.\n\t * \n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/containers/#Scrollbar} for more info\n\t */\n\tverticalScrollbar?: Scrollbar;\n\n\t/**\n\t * If set to `true` its children will be laid out in opposite order.\n\t *\n\t * @since 5.1.1\n\t */\n\treverseChildren?: boolean;\n\n}\n\nexport interface IContainerEvents extends ISpriteEvents {\n}\n\nexport interface IContainerPrivate extends ISpritePrivate {\n}\n\nexport interface IContainerEvents extends ISpriteEvents {\n}\n\n/**\n * A basic element that can have child elements, maintain their layout, and\n * have a background.\n *\n * It can have any [[Sprite]] element as a child, from very basic shapes, to\n * full-fledged charts.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/containers/} for more info\n * @important\n */\nexport class Container extends Sprite {\n\n\tdeclare public _settings: IContainerSettings;\n\tdeclare public _privateSettings: IContainerPrivate;\n\tdeclare public _events: IContainerEvents;\n\n\tpublic _display: IContainer = this._root._renderer.makeContainer();\n\n\tpublic _childrenDisplay: IContainer = this._root._renderer.makeContainer();\n\n\t/**\n\t * List of Container's child elements.\n\t */\n\tpublic children: Children<Sprite> = new Children(this);\n\n\tpublic _percentageSizeChildren: Array<Sprite> = [];\n\tpublic _percentagePositionChildren: Array<Sprite> = [];\n\n\tpublic static className: string = \"Container\";\n\tpublic static classNames: Array<string> = Sprite.classNames.concat([Container.className]);\n\n\tpublic _prevWidth: number = 0;\n\tpublic _prevHeight: number = 0;\n\n\tprotected _contentWidth: number = 0;\n\tprotected _contentHeight: number = 0;\n\n\tprotected _contentMask: Rectangle | undefined;\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\t\tthis._display.addChild(this._childrenDisplay);\n\t}\n\n\tprotected _dispose() {\n\t\t$array.eachReverse(this.allChildren(), (child) => {\n\t\t\tchild.dispose();\n\t\t});\n\n\t\tsuper._dispose();\n\t}\n\n\tpublic _changed() {\n\t\tsuper._changed();\n\n\t\tif (this.isDirty(\"interactiveChildren\")) {\n\t\t\tthis._display.interactiveChildren = this.get(\"interactiveChildren\", false);\n\t\t}\n\n\t\tif (this.isDirty(\"layout\")) {\n\t\t\tthis._prevWidth = 0;\n\t\t\tthis._prevHeight = 0;\n\t\t\tthis.markDirtyBounds();\n\t\t\tif (this._prevSettings.layout) {\n\t\t\t\tthis.children.each((child) => {\n\t\t\t\t\tchild.removePrivate(\"x\");\n\t\t\t\t\tchild.removePrivate(\"y\");\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"paddingTop\") || this.isDirty(\"paddingBottom\") || this.isDirty(\"paddingLeft\") || this.isDirty(\"paddingRight\")) {\n\t\t\tthis.children.each((child) => {\n\t\t\t\tchild.markDirtyPosition();\n\t\t\t})\n\t\t}\n\n\t\tif (this.isDirty(\"maskContent\")) {\n\n\t\t\tconst childrenDisplay = this._childrenDisplay;\n\n\t\t\tlet contentMask = this._contentMask;\n\t\t\tif (this.get(\"maskContent\")) {\n\t\t\t\tif (!contentMask) {\n\t\t\t\t\tcontentMask = Rectangle.new(this._root, {\n\t\t\t\t\t\twidth: this.width(),\n\t\t\t\t\t\theight: this.height()\n\t\t\t\t\t});\n\t\t\t\t\tthis._contentMask = contentMask;\n\t\t\t\t\tchildrenDisplay.addChildAt(contentMask._display, 0);\n\t\t\t\t\tchildrenDisplay.mask = contentMask._display;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (contentMask) {\n\t\t\t\t\tchildrenDisplay.removeChild(contentMask._display);\n\t\t\t\t\tchildrenDisplay.mask = null;\n\t\t\t\t\tcontentMask.dispose();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _updateSize() {\n\t\tsuper._updateSize();\n\n\t\t$array.each(this._percentageSizeChildren, (child) => {\n\t\t\tchild._updateSize();\n\t\t});\n\n\t\t$array.each(this._percentagePositionChildren, (child) => {\n\t\t\tchild.markDirtyPosition();\n\t\t\tchild._updateSize();\n\t\t});\n\n\t\tthis.updateBackground();\n\t}\n\n\tprotected updateBackground() {\n\t\tconst background = this.get(\"background\");\n\t\tlet bounds = this._localBounds;\n\n\t\tif (bounds && !this.isHidden()) {\n\t\t\tlet x = bounds.left;\n\t\t\tlet y = bounds.top;\n\t\t\tlet w = bounds.right - x;\n\t\t\tlet h = bounds.bottom - y;\n\n\t\t\tlet width = this.width();\n\t\t\tlet height = this.height();\n\n\t\t\tif (background) {\n\t\t\t\tbackground.setAll({ width: w, height: h, x: x, y: y });\n\t\t\t\tif (this._display.interactive) {\n\t\t\t\t\tbackground._display.interactive = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst contentMask = this._contentMask;\n\t\t\tif (contentMask) {\n\t\t\t\tcontentMask.setAll({ width, height });\n\t\t\t}\n\n\t\t\tconst verticalScrollbar = this.get(\"verticalScrollbar\")!;\n\t\t\tif (verticalScrollbar) {\n\t\t\t\tverticalScrollbar.set(\"height\", height);\n\t\t\t\tverticalScrollbar.set(\"x\", width - verticalScrollbar.width() - verticalScrollbar.get(\"marginRight\", 0));\n\t\t\t\tverticalScrollbar.set(\"end\", verticalScrollbar.get(\"start\", 0) + height / this._contentHeight);\n\n\t\t\t\tconst bg = verticalScrollbar.get(\"background\");\n\t\t\t\tif (bg) {\n\t\t\t\t\tbg.setAll({ width: verticalScrollbar.width(), height: height })\n\t\t\t\t}\n\n\t\t\t\tlet visible = true;\n\t\t\t\tif(this._contentHeight <= height){\n\t\t\t\t\tvisible = false;\n\t\t\t\t}\n\t\t\t\tverticalScrollbar.setPrivate(\"visible\", visible);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _applyThemes(): boolean {\n\t\tif (super._applyThemes()) {\n\t\t\tthis.eachChildren((child) => {\n\t\t\t\tchild._applyThemes();\n\t\t\t});\n\n\t\t\treturn true;\n\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic _applyState(name: string): void {\n\t\tsuper._applyState(name);\n\n\t\tif (this.get(\"setStateOnChildren\")) {\n\t\t\tthis.eachChildren((child) => {\n\t\t\t\tchild.states.apply(name);\n\t\t\t});\n\t\t}\n\t}\n\n\tpublic _applyStateAnimated(name: string, duration?: number): void {\n\t\tsuper._applyStateAnimated(name, duration);\n\n\t\tif (this.get(\"setStateOnChildren\")) {\n\t\t\tthis.eachChildren((child) => {\n\t\t\t\tchild.states.applyAnimate(name, duration);\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Returns container's inner width (width without padding) in pixels.\n\t *\n\t * @return Inner width (px)\n\t */\n\tpublic innerWidth(): number {\n\t\treturn this.width() - this.get(\"paddingRight\", 0) - this.get(\"paddingLeft\", 0);\n\t}\n\n\t/**\n\t * Returns container's inner height (height without padding) in pixels.\n\t *\n\t * @return Inner height (px)\n\t */\n\tpublic innerHeight(): number {\n\t\treturn this.height() - this.get(\"paddingTop\", 0) - this.get(\"paddingBottom\", 0);\n\t}\n\n\tprotected _getBounds() {\n\n\t\tlet width = this.get(\"width\");\n\t\tlet height = this.get(\"height\");\n\t\tlet pWidth = this.getPrivate(\"width\");\n\t\tlet pHeight = this.getPrivate(\"height\");\n\n\t\tlet bounds: IBounds = {\n\t\t\tleft: 0,\n\t\t\ttop: 0,\n\t\t\tright: this.width(),\n\t\t\tbottom: this.height(),\n\t\t};\n\n\t\tlet layout = this.get(\"layout\");\n\t\tlet horizontal = false;\n\t\tlet vertical = false;\n\t\tif (layout instanceof HorizontalLayout || layout instanceof GridLayout) {\n\t\t\thorizontal = true;\n\t\t}\n\n\t\tif (layout instanceof VerticalLayout) {\n\t\t\tvertical = true;\n\t\t}\n\n\t\tif ((width != null || pWidth != null) && (height != null || pHeight != null) && !this.get(\"verticalScrollbar\")) {\n\t\t\t// void\n\t\t}\n\t\telse {\n\t\t\tlet m = Number.MAX_VALUE;\n\n\t\t\tlet l = m;\n\t\t\tlet r = -m;\n\t\t\tlet t = m;\n\t\t\tlet b = -m;\n\n\t\t\tconst paddingLeft = this.get(\"paddingLeft\", 0);\n\t\t\tconst paddingTop = this.get(\"paddingTop\", 0);\n\t\t\tconst paddingRight = this.get(\"paddingRight\", 0);\n\t\t\tconst paddingBottom = this.get(\"paddingBottom\", 0);\n\n\t\t\tthis.children.each((child) => {\n\t\t\t\tif (child.get(\"position\") != \"absolute\" && child.get(\"isMeasured\")) {\n\t\t\t\t\tlet childBounds = child.adjustedLocalBounds();\n\t\t\t\t\tlet childX = child.x();\n\t\t\t\t\tlet childY = child.y();\n\t\t\t\t\tlet cl = childX + childBounds.left;\n\t\t\t\t\tlet cr = childX + childBounds.right;\n\t\t\t\t\tlet ct = childY + childBounds.top;\n\t\t\t\t\tlet cb = childY + childBounds.bottom;\n\n\t\t\t\t\tif (horizontal) {\n\t\t\t\t\t\tcl -= child.get(\"marginLeft\", 0);\n\t\t\t\t\t\tcr += child.get(\"marginRight\", 0);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (vertical) {\n\t\t\t\t\t\tct -= child.get(\"marginTop\", 0);\n\t\t\t\t\t\tcb += child.get(\"marginBottom\", 0);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (cl < l) {\n\t\t\t\t\t\tl = cl;\n\t\t\t\t\t}\n\t\t\t\t\tif (cr > r) {\n\t\t\t\t\t\tr = cr;\n\t\t\t\t\t}\n\t\t\t\t\tif (ct < t) {\n\t\t\t\t\t\tt = ct;\n\t\t\t\t\t}\n\t\t\t\t\tif (cb > b) {\n\t\t\t\t\t\tb = cb;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tif (l == m) {\n\t\t\t\tl = 0;\n\t\t\t}\n\n\t\t\tif (r == -m) {\n\t\t\t\tr = 0;\n\t\t\t}\n\n\t\t\tif (t == m) {\n\t\t\t\tt = 0;\n\t\t\t}\n\n\t\t\tif (b == -m) {\n\t\t\t\tb = 0;\n\t\t\t}\n\n\t\t\tbounds.left = l - paddingLeft;\n\t\t\tbounds.top = t - paddingTop;\n\t\t\tbounds.right = r + paddingRight;\n\t\t\tbounds.bottom = b + paddingBottom;\n\t\t}\n\n\t\tthis._contentWidth = bounds.right - bounds.left;\n\t\tthis._contentHeight = bounds.bottom - bounds.top;\n\n\t\tif ($type.isNumber(width)) {\n\t\t\tbounds.left = 0;\n\t\t\tbounds.right = width;\n\t\t}\n\n\t\tif ($type.isNumber(pWidth)) {\n\t\t\tbounds.left = 0;\n\t\t\tbounds.right = pWidth;\n\t\t}\n\n\t\tif ($type.isNumber(height)) {\n\t\t\tbounds.top = 0;\n\t\t\tbounds.bottom = height;\n\t\t}\n\n\t\tif ($type.isNumber(pHeight)) {\n\t\t\tbounds.top = 0;\n\t\t\tbounds.bottom = pHeight;\n\t\t}\n\n\t\tthis._localBounds = bounds;\n\t}\n\n\tpublic _updateBounds() {\n\t\tconst layout = this.get(\"layout\");\n\n\t\tif (layout) {\n\t\t\tlayout.updateContainer(this);\n\t\t}\n\n\t\tsuper._updateBounds();\n\n\t\tthis.updateBackground();\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic markDirty(): void {\n\t\tsuper.markDirty();\n\t\tthis._root._addDirtyParent(this);\n\t}\n\n\tpublic _prepareChildren() {\n\t\tconst innerWidth = this.innerWidth();\n\t\tconst innerHeight = this.innerHeight();\n\n\t\tif (innerWidth != this._prevWidth || innerHeight != this._prevHeight) {\n\t\t\tlet layout = this.get(\"layout\");\n\t\t\tlet horizontal = false;\n\t\t\tlet vertical = false;\n\t\t\tif (layout) {\n\t\t\t\tif (layout instanceof HorizontalLayout || layout instanceof GridLayout) {\n\t\t\t\t\thorizontal = true;\n\t\t\t\t}\n\t\t\t\tif (layout instanceof VerticalLayout) {\n\t\t\t\t\tvertical = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$array.each(this._percentageSizeChildren, (child) => {\n\t\t\t\tif (!horizontal) {\n\t\t\t\t\tlet width = child.get(\"width\");\n\t\t\t\t\tif (width instanceof Percent) {\n\t\t\t\t\t\tchild.setPrivate(\"width\", width.value * innerWidth);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!vertical) {\n\t\t\t\t\tlet height = child.get(\"height\");\n\t\t\t\t\tif (height instanceof Percent) {\n\t\t\t\t\t\tchild.setPrivate(\"height\", height.value * innerHeight);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t$array.each(this._percentagePositionChildren, (child) => {\n\t\t\t\tchild.markDirtyPosition();\n\t\t\t\tchild.markDirtyBounds();\n\t\t\t})\n\n\t\t\tthis._prevWidth = innerWidth;\n\t\t\tthis._prevHeight = innerHeight;\n\n\t\t\tthis._sizeDirty = true;\n\t\t\tthis.updateBackground();\n\t\t}\n\n\t\tthis._handleStates();\n\t}\n\n\tpublic _updateChildren() {\n\n\t\tif (this.isDirty(\"verticalScrollbar\")) {\n\t\t\tconst verticalScrollbar = this.get(\"verticalScrollbar\")!;\n\t\t\tif (verticalScrollbar) {\n\t\t\t\tverticalScrollbar._setParent(this);\n\t\t\t\tverticalScrollbar.children.removeValue(verticalScrollbar.startGrip);\n\t\t\t\tverticalScrollbar.children.removeValue(verticalScrollbar.endGrip);\n\n\t\t\t\tthis.set(\"maskContent\", true);\n\t\t\t\tthis.set(\"paddingRight\", verticalScrollbar.width() + verticalScrollbar.get(\"marginRight\", 0) + verticalScrollbar.get(\"marginLeft\", 0));\n\n\t\t\t\tlet background = this.get(\"background\");\n\n\t\t\t\tif (!background) {\n\t\t\t\t\tbackground = this.set(\"background\", Rectangle.new(this._root, {\n\t\t\t\t\t\tthemeTags: [\"background\"],\n\t\t\t\t\t\tfillOpacity: 0,\n\t\t\t\t\t\tfill: this._root.interfaceColors.get(\"alternativeBackground\")\n\t\t\t\t\t}));\n\t\t\t\t}\n\n\t\t\t\tthis._disposers.push(this.events.on(\"wheel\", (event) => {\n\t\t\t\t\tconst wheelEvent = event.originalEvent;\n\t\t\t\t\twheelEvent.preventDefault();\n\t\t\t\t\tconst shiftY = wheelEvent.deltaY / 5000;\n\t\t\t\t\tconst start = verticalScrollbar.get(\"start\", 0);\n\t\t\t\t\tconst end = verticalScrollbar.get(\"end\", 1);\n\t\t\t\t\tif (start + shiftY > 0 && end + shiftY < 1) {\n\t\t\t\t\t\tverticalScrollbar.set(\"start\", start + shiftY);\n\t\t\t\t\t\tverticalScrollbar.set(\"end\", end + shiftY);\n\t\t\t\t\t}\n\t\t\t\t}))\n\n\t\t\t\tthis._disposers.push(verticalScrollbar.events.on(\"rangechanged\", () => {\n\t\t\t\t\tlet h = this._contentHeight;\n\t\t\t\t\tconst childrenDisplay = this._childrenDisplay;\n\t\t\t\t\tconst contentMask = this._contentMask;\n\n\t\t\t\t\tchildrenDisplay.y = -verticalScrollbar.get(\"start\") * h;\n\t\t\t\t\tchildrenDisplay.markDirtyLayer();\n\n\t\t\t\t\tif (contentMask) {\n\t\t\t\t\t\tcontentMask._display.y = -childrenDisplay.y;\n\t\t\t\t\t\tchildrenDisplay.mask = contentMask._display;\n\t\t\t\t\t}\n\t\t\t\t}))\n\n\t\t\t\tthis._display.addChild(verticalScrollbar._display);\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"background\")) {\n\t\t\t// TODO maybe this should dispose ?\n\t\t\tconst previous = this._prevSettings[\"background\"];\n\t\t\tif (previous) {\n\t\t\t\tthis._display.removeChild(previous._display);\n\t\t\t}\n\n\t\t\tconst background = this.get(\"background\");\n\t\t\tif (background instanceof Sprite) {\n\t\t\t\tbackground.set(\"isMeasured\", false);\n\t\t\t\tbackground._setParent(this);\n\t\t\t\tthis._display.addChildAt(background._display, 0);\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"mask\")) {\n\n\t\t\tconst mask = this.get(\"mask\");\n\n\t\t\tconst previous = this._prevSettings[\"mask\"];\n\t\t\tif (previous) {\n\t\t\t\tthis._display.removeChild(previous._display);\n\t\t\t\tif (previous != mask) {\n\t\t\t\t\tprevious.dispose();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (mask) {\n\t\t\t\tvar parent = mask.parent;\n\t\t\t\tif (parent) {\n\t\t\t\t\tparent.children.removeValue(mask);\n\t\t\t\t}\n\n\t\t\t\tmask._setParent(this);\n\t\t\t\tthis._display.addChildAt(mask._display, 0);\n\t\t\t\tthis._childrenDisplay.mask = mask._display;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _processTemplateField(): void {\n\t\tsuper._processTemplateField();\n\t\tthis.children.each((child) => {\n\t\t\tchild._processTemplateField();\n\t\t})\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic walkChildren(f: (child: Sprite) => void): void {\n\t\tthis.children.each((child) => {\n\t\t\tif (child instanceof Container) {\n\t\t\t\tchild.walkChildren(f);\n\t\t\t}\n\t\t\tf(child);\n\t\t});\n\t}\n\n\tpublic eachChildren(f: (child: Sprite) => void): void {\n\t\tconst background = this.get(\"background\");\n\t\tif (background) {\n\t\t\tf(background);\n\t\t}\n\n\t\tconst verticalScrollbar = this.get(\"verticalScrollbar\");\n\t\tif (verticalScrollbar) {\n\t\t\tf(verticalScrollbar);\n\t\t}\n\n\t\tconst mask = this.get(\"mask\");\n\t\tif (mask) {\n\t\t\tf(mask);\n\t\t}\n\n\t\tthis.children.values.forEach((child) => {\n\t\t\tf(child);\n\t\t});\n\t}\n\n\tpublic allChildren(): Array<Sprite> {\n\t\tconst output: Array<Sprite> = [];\n\n\t\tthis.eachChildren((x) => {\n\t\t\toutput.push(x);\n\t\t});\n\n\t\treturn output;\n\t}\n}\n"]}
1
+ {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Container.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Graphics } from \"./Graphics\";\nimport type { Layout } from \"./Layout\";\nimport type { IContainer } from \"./backend/Renderer\";\nimport type { IBounds } from \"../util/IBounds\";\nimport type { Scrollbar } from \"./Scrollbar\";\n\nimport { Children } from \"../util/Children\";\nimport { Percent } from \"../util/Percent\";\nimport { Sprite, ISpriteSettings, ISpritePrivate, ISpriteEvents } from \"./Sprite\";\nimport { Rectangle } from \"./Rectangle\";\nimport { HorizontalLayout } from \"./HorizontalLayout\";\nimport { VerticalLayout } from \"./VerticalLayout\";\nimport { GridLayout } from \"./GridLayout\";\n\nimport * as $array from \"../util/Array\";\nimport * as $type from \"../util/Type\";\nimport * as $utils from \"../util/Utils\";\n\nexport interface IContainerSettings extends ISpriteSettings {\n\n\t/**\n\t * Left padding in pixels.\n\t */\n\tpaddingLeft?: number;\n\n\t/**\n\t * Right padding in pixels.\n\t */\n\tpaddingRight?: number;\n\n\t/**\n\t * Top padding in pixels.\n\t */\n\tpaddingTop?: number;\n\n\t/**\n\t * Bottom padding in pixels.\n\t */\n\tpaddingBottom?: number;\n\n\t/**\n\t * Background element.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/containers/#Background} for more info\n\t */\n\tbackground?: Graphics;\n\n\t/**\n\t * A method to layout\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/containers/#Layout} for more info\n\t */\n\tlayout?: Layout | null;\n\n\t/**\n\t * An element to use as a container's mask (clipping region).\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/containers/#Masks} for more info\n\t */\n\tmask?: Graphics | null;\n\n\t/**\n\t * If set to `true` all content going outside the bounds of the container\n\t * will be clipped.\n\t */\n\tmaskContent?: boolean;\n\n\t/**\n\t * If set to `true` all descendants - not just direct children, but every\n\t * element in it - will become \"interactive\".\n\t */\n\tinteractiveChildren?: boolean;\n\n\t/**\n\t * If set to `true`, applying a state on a container will also apply the same\n\t * state on its children.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/containers/#States} for more info\n\t */\n\tsetStateOnChildren?: boolean;\n\n\t/**\n\t * Setting this to an instance of [[Scrollbar]] will enable vertical\n\t * scrolling of content if it does not fit into the Container.\n\t * \n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/containers/#Scrollbar} for more info\n\t */\n\tverticalScrollbar?: Scrollbar;\n\n\t/**\n\t * If set to `true` its children will be laid out in opposite order.\n\t *\n\t * @since 5.1.1\n\t */\n\treverseChildren?: boolean;\n\n}\n\nexport interface IContainerEvents extends ISpriteEvents {\n}\n\nexport interface IContainerPrivate extends ISpritePrivate {\n}\n\nexport interface IContainerEvents extends ISpriteEvents {\n}\n\n/**\n * A basic element that can have child elements, maintain their layout, and\n * have a background.\n *\n * It can have any [[Sprite]] element as a child, from very basic shapes, to\n * full-fledged charts.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/containers/} for more info\n * @important\n */\nexport class Container extends Sprite {\n\n\tdeclare public _settings: IContainerSettings;\n\tdeclare public _privateSettings: IContainerPrivate;\n\tdeclare public _events: IContainerEvents;\n\n\tpublic _display: IContainer = this._root._renderer.makeContainer();\n\n\tpublic _childrenDisplay: IContainer = this._root._renderer.makeContainer();\n\n\t/**\n\t * List of Container's child elements.\n\t */\n\tpublic children: Children<Sprite> = new Children(this);\n\n\tpublic _percentageSizeChildren: Array<Sprite> = [];\n\tpublic _percentagePositionChildren: Array<Sprite> = [];\n\n\tpublic static className: string = \"Container\";\n\tpublic static classNames: Array<string> = Sprite.classNames.concat([Container.className]);\n\n\tpublic _prevWidth: number = 0;\n\tpublic _prevHeight: number = 0;\n\n\tprotected _contentWidth: number = 0;\n\tprotected _contentHeight: number = 0;\n\n\tprotected _contentMask: Rectangle | undefined;\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\t\tthis._display.addChild(this._childrenDisplay);\n\t}\n\n\tprotected _dispose() {\n\t\t$array.eachReverse(this.allChildren(), (child) => {\n\t\t\tchild.dispose();\n\t\t});\n\n\t\tsuper._dispose();\n\t}\n\n\tpublic _changed() {\n\t\tsuper._changed();\n\n\t\tif (this.isDirty(\"interactiveChildren\")) {\n\t\t\tthis._display.interactiveChildren = this.get(\"interactiveChildren\", false);\n\t\t}\n\n\t\tif (this.isDirty(\"layout\")) {\n\t\t\tthis._prevWidth = 0;\n\t\t\tthis._prevHeight = 0;\n\t\t\tthis.markDirtyBounds();\n\t\t\tif (this._prevSettings.layout) {\n\t\t\t\tthis.children.each((child) => {\n\t\t\t\t\tchild.removePrivate(\"x\");\n\t\t\t\t\tchild.removePrivate(\"y\");\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"paddingTop\") || this.isDirty(\"paddingBottom\") || this.isDirty(\"paddingLeft\") || this.isDirty(\"paddingRight\")) {\n\t\t\tthis.children.each((child) => {\n\t\t\t\tchild.markDirtyPosition();\n\t\t\t})\n\t\t}\n\n\t\tif (this.isDirty(\"maskContent\")) {\n\n\t\t\tconst childrenDisplay = this._childrenDisplay;\n\n\t\t\tlet contentMask = this._contentMask;\n\t\t\tif (this.get(\"maskContent\")) {\n\t\t\t\tif (!contentMask) {\n\t\t\t\t\tcontentMask = Rectangle.new(this._root, {\n\t\t\t\t\t\twidth: this.width(),\n\t\t\t\t\t\theight: this.height()\n\t\t\t\t\t});\n\t\t\t\t\tthis._contentMask = contentMask;\n\t\t\t\t\tchildrenDisplay.addChildAt(contentMask._display, 0);\n\t\t\t\t\tchildrenDisplay.mask = contentMask._display;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (contentMask) {\n\t\t\t\t\tchildrenDisplay.removeChild(contentMask._display);\n\t\t\t\t\tchildrenDisplay.mask = null;\n\t\t\t\t\tcontentMask.dispose();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _updateSize() {\n\t\tsuper._updateSize();\n\n\t\t$array.each(this._percentageSizeChildren, (child) => {\n\t\t\tchild._updateSize();\n\t\t});\n\n\t\t$array.each(this._percentagePositionChildren, (child) => {\n\t\t\tchild.markDirtyPosition();\n\t\t\tchild._updateSize();\n\t\t});\n\n\t\tthis.updateBackground();\n\t}\n\n\tprotected updateBackground() {\n\t\tconst background = this.get(\"background\");\n\t\tlet bounds = this._localBounds;\n\n\t\tif (bounds && !this.isHidden()) {\n\t\t\tlet x = bounds.left;\n\t\t\tlet y = bounds.top;\n\t\t\tlet w = bounds.right - x;\n\t\t\tlet h = bounds.bottom - y;\n\n\t\t\tlet width = this.width();\n\t\t\tlet height = this.height();\n\n\t\t\tif (background) {\n\t\t\t\tbackground.setAll({ width: w, height: h, x: x, y: y });\n\t\t\t\tif (this._display.interactive) {\n\t\t\t\t\tbackground._display.interactive = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst contentMask = this._contentMask;\n\t\t\tif (contentMask) {\n\t\t\t\tcontentMask.setAll({ width, height });\n\t\t\t}\n\n\t\t\tconst verticalScrollbar = this.get(\"verticalScrollbar\")!;\n\t\t\tif (verticalScrollbar) {\n\t\t\t\tverticalScrollbar.set(\"height\", height);\n\t\t\t\tverticalScrollbar.set(\"x\", width - verticalScrollbar.width() - verticalScrollbar.get(\"marginRight\", 0));\n\t\t\t\tverticalScrollbar.set(\"end\", verticalScrollbar.get(\"start\", 0) + height / this._contentHeight);\n\n\t\t\t\tconst bg = verticalScrollbar.get(\"background\");\n\t\t\t\tif (bg) {\n\t\t\t\t\tbg.setAll({ width: verticalScrollbar.width(), height: height })\n\t\t\t\t}\n\n\t\t\t\tlet visible = true;\n\t\t\t\tif (this._contentHeight <= height) {\n\t\t\t\t\tvisible = false;\n\t\t\t\t}\n\t\t\t\tverticalScrollbar.setPrivate(\"visible\", visible);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _applyThemes(): boolean {\n\t\tif (super._applyThemes()) {\n\t\t\tthis.eachChildren((child) => {\n\t\t\t\tchild._applyThemes();\n\t\t\t});\n\n\t\t\treturn true;\n\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic _applyState(name: string): void {\n\t\tsuper._applyState(name);\n\n\t\tif (this.get(\"setStateOnChildren\")) {\n\t\t\tthis.eachChildren((child) => {\n\t\t\t\tchild.states.apply(name);\n\t\t\t});\n\t\t}\n\t}\n\n\tpublic _applyStateAnimated(name: string, duration?: number): void {\n\t\tsuper._applyStateAnimated(name, duration);\n\n\t\tif (this.get(\"setStateOnChildren\")) {\n\t\t\tthis.eachChildren((child) => {\n\t\t\t\tchild.states.applyAnimate(name, duration);\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Returns container's inner width (width without padding) in pixels.\n\t *\n\t * @return Inner width (px)\n\t */\n\tpublic innerWidth(): number {\n\t\treturn this.width() - this.get(\"paddingRight\", 0) - this.get(\"paddingLeft\", 0);\n\t}\n\n\t/**\n\t * Returns container's inner height (height without padding) in pixels.\n\t *\n\t * @return Inner height (px)\n\t */\n\tpublic innerHeight(): number {\n\t\treturn this.height() - this.get(\"paddingTop\", 0) - this.get(\"paddingBottom\", 0);\n\t}\n\n\tprotected _getBounds() {\n\n\t\tlet width = this.get(\"width\");\n\t\tlet height = this.get(\"height\");\n\t\tlet pWidth = this.getPrivate(\"width\");\n\t\tlet pHeight = this.getPrivate(\"height\");\n\n\t\tlet bounds: IBounds = {\n\t\t\tleft: 0,\n\t\t\ttop: 0,\n\t\t\tright: this.width(),\n\t\t\tbottom: this.height(),\n\t\t};\n\n\t\tlet layout = this.get(\"layout\");\n\t\tlet horizontal = false;\n\t\tlet vertical = false;\n\t\tif (layout instanceof HorizontalLayout || layout instanceof GridLayout) {\n\t\t\thorizontal = true;\n\t\t}\n\n\t\tif (layout instanceof VerticalLayout) {\n\t\t\tvertical = true;\n\t\t}\n\n\t\tif ((width != null || pWidth != null) && (height != null || pHeight != null) && !this.get(\"verticalScrollbar\")) {\n\t\t\t// void\n\t\t}\n\t\telse {\n\t\t\tlet m = Number.MAX_VALUE;\n\n\t\t\tlet l = m;\n\t\t\tlet r = -m;\n\t\t\tlet t = m;\n\t\t\tlet b = -m;\n\n\t\t\tconst paddingLeft = this.get(\"paddingLeft\", 0);\n\t\t\tconst paddingTop = this.get(\"paddingTop\", 0);\n\t\t\tconst paddingRight = this.get(\"paddingRight\", 0);\n\t\t\tconst paddingBottom = this.get(\"paddingBottom\", 0);\n\n\t\t\tthis.children.each((child) => {\n\t\t\t\tif (child.get(\"position\") != \"absolute\" && child.get(\"isMeasured\")) {\n\t\t\t\t\tlet childBounds = child.adjustedLocalBounds();\n\t\t\t\t\tlet childX = child.x();\n\t\t\t\t\tlet childY = child.y();\n\t\t\t\t\tlet cl = childX + childBounds.left;\n\t\t\t\t\tlet cr = childX + childBounds.right;\n\t\t\t\t\tlet ct = childY + childBounds.top;\n\t\t\t\t\tlet cb = childY + childBounds.bottom;\n\n\t\t\t\t\tif (horizontal) {\n\t\t\t\t\t\tcl -= child.get(\"marginLeft\", 0);\n\t\t\t\t\t\tcr += child.get(\"marginRight\", 0);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (vertical) {\n\t\t\t\t\t\tct -= child.get(\"marginTop\", 0);\n\t\t\t\t\t\tcb += child.get(\"marginBottom\", 0);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (cl < l) {\n\t\t\t\t\t\tl = cl;\n\t\t\t\t\t}\n\t\t\t\t\tif (cr > r) {\n\t\t\t\t\t\tr = cr;\n\t\t\t\t\t}\n\t\t\t\t\tif (ct < t) {\n\t\t\t\t\t\tt = ct;\n\t\t\t\t\t}\n\t\t\t\t\tif (cb > b) {\n\t\t\t\t\t\tb = cb;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tif (l == m) {\n\t\t\t\tl = 0;\n\t\t\t}\n\n\t\t\tif (r == -m) {\n\t\t\t\tr = 0;\n\t\t\t}\n\n\t\t\tif (t == m) {\n\t\t\t\tt = 0;\n\t\t\t}\n\n\t\t\tif (b == -m) {\n\t\t\t\tb = 0;\n\t\t\t}\n\n\t\t\tbounds.left = l - paddingLeft;\n\t\t\tbounds.top = t - paddingTop;\n\t\t\tbounds.right = r + paddingRight;\n\t\t\tbounds.bottom = b + paddingBottom;\n\t\t}\n\n\t\tthis._contentWidth = bounds.right - bounds.left;\n\t\tthis._contentHeight = bounds.bottom - bounds.top;\n\n\t\tif ($type.isNumber(width)) {\n\t\t\tbounds.left = 0;\n\t\t\tbounds.right = width;\n\t\t}\n\n\t\tif ($type.isNumber(pWidth)) {\n\t\t\tbounds.left = 0;\n\t\t\tbounds.right = pWidth;\n\t\t}\n\n\t\tif ($type.isNumber(height)) {\n\t\t\tbounds.top = 0;\n\t\t\tbounds.bottom = height;\n\t\t}\n\n\t\tif ($type.isNumber(pHeight)) {\n\t\t\tbounds.top = 0;\n\t\t\tbounds.bottom = pHeight;\n\t\t}\n\n\t\tthis._localBounds = bounds;\n\t}\n\n\tpublic _updateBounds() {\n\t\tconst layout = this.get(\"layout\");\n\n\t\tif (layout) {\n\t\t\tlayout.updateContainer(this);\n\t\t}\n\n\t\tsuper._updateBounds();\n\n\t\tthis.updateBackground();\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic markDirty(): void {\n\t\tsuper.markDirty();\n\t\tthis._root._addDirtyParent(this);\n\t}\n\n\tpublic _prepareChildren() {\n\t\tconst innerWidth = this.innerWidth();\n\t\tconst innerHeight = this.innerHeight();\n\n\t\tif (innerWidth != this._prevWidth || innerHeight != this._prevHeight) {\n\t\t\tlet layout = this.get(\"layout\");\n\t\t\tlet horizontal = false;\n\t\t\tlet vertical = false;\n\t\t\tif (layout) {\n\t\t\t\tif (layout instanceof HorizontalLayout || layout instanceof GridLayout) {\n\t\t\t\t\thorizontal = true;\n\t\t\t\t}\n\t\t\t\tif (layout instanceof VerticalLayout) {\n\t\t\t\t\tvertical = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$array.each(this._percentageSizeChildren, (child) => {\n\t\t\t\tif (!horizontal) {\n\t\t\t\t\tlet width = child.get(\"width\");\n\t\t\t\t\tif (width instanceof Percent) {\n\t\t\t\t\t\tchild.setPrivate(\"width\", width.value * innerWidth);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!vertical) {\n\t\t\t\t\tlet height = child.get(\"height\");\n\t\t\t\t\tif (height instanceof Percent) {\n\t\t\t\t\t\tchild.setPrivate(\"height\", height.value * innerHeight);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t$array.each(this._percentagePositionChildren, (child) => {\n\t\t\t\tchild.markDirtyPosition();\n\t\t\t\tchild.markDirtyBounds();\n\t\t\t})\n\n\t\t\tthis._prevWidth = innerWidth;\n\t\t\tthis._prevHeight = innerHeight;\n\n\t\t\tthis._sizeDirty = true;\n\t\t\tthis.updateBackground();\n\t\t}\n\n\t\tthis._handleStates();\n\t}\n\n\tpublic _updateChildren() {\n\n\t\tif (this.isDirty(\"verticalScrollbar\")) {\n\t\t\tconst verticalScrollbar = this.get(\"verticalScrollbar\")!;\n\t\t\tif (verticalScrollbar) {\n\t\t\t\tverticalScrollbar._setParent(this);\n\t\t\t\tverticalScrollbar.children.removeValue(verticalScrollbar.startGrip);\n\t\t\t\tverticalScrollbar.children.removeValue(verticalScrollbar.endGrip);\n\n\t\t\t\tthis.set(\"maskContent\", true);\n\t\t\t\tthis.set(\"paddingRight\", verticalScrollbar.width() + verticalScrollbar.get(\"marginRight\", 0) + verticalScrollbar.get(\"marginLeft\", 0));\n\n\t\t\t\tlet background = this.get(\"background\");\n\n\t\t\t\tif (!background) {\n\t\t\t\t\tbackground = this.set(\"background\", Rectangle.new(this._root, {\n\t\t\t\t\t\tthemeTags: [\"background\"],\n\t\t\t\t\t\tfillOpacity: 0,\n\t\t\t\t\t\tfill: this._root.interfaceColors.get(\"alternativeBackground\")\n\t\t\t\t\t}));\n\t\t\t\t}\n\n\t\t\t\tthis._disposers.push(this.events.on(\"wheel\", (event) => {\n\t\t\t\t\tconst wheelEvent = event.originalEvent;\n\n\t\t\t\t\t// Ignore wheel event if it is happening on a non-chart element, e.g. if\n\t\t\t\t\t// some page element is over the chart.\n\t\t\t\t\tif ($utils.isLocalEvent(wheelEvent, this)) {\n\t\t\t\t\t\twheelEvent.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst shiftY = wheelEvent.deltaY / 5000;\n\t\t\t\t\tconst start = verticalScrollbar.get(\"start\", 0);\n\t\t\t\t\tconst end = verticalScrollbar.get(\"end\", 1);\n\t\t\t\t\tif (start + shiftY > 0 && end + shiftY < 1) {\n\t\t\t\t\t\tverticalScrollbar.set(\"start\", start + shiftY);\n\t\t\t\t\t\tverticalScrollbar.set(\"end\", end + shiftY);\n\t\t\t\t\t}\n\t\t\t\t}))\n\n\t\t\t\tthis._disposers.push(verticalScrollbar.events.on(\"rangechanged\", () => {\n\t\t\t\t\tlet h = this._contentHeight;\n\t\t\t\t\tconst childrenDisplay = this._childrenDisplay;\n\t\t\t\t\tconst contentMask = this._contentMask;\n\n\t\t\t\t\tchildrenDisplay.y = -verticalScrollbar.get(\"start\") * h;\n\t\t\t\t\tchildrenDisplay.markDirtyLayer();\n\n\t\t\t\t\tif (contentMask) {\n\t\t\t\t\t\tcontentMask._display.y = -childrenDisplay.y;\n\t\t\t\t\t\tchildrenDisplay.mask = contentMask._display;\n\t\t\t\t\t}\n\t\t\t\t}))\n\n\t\t\t\tthis._display.addChild(verticalScrollbar._display);\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"background\")) {\n\t\t\t// TODO maybe this should dispose ?\n\t\t\tconst previous = this._prevSettings[\"background\"];\n\t\t\tif (previous) {\n\t\t\t\tthis._display.removeChild(previous._display);\n\t\t\t}\n\n\t\t\tconst background = this.get(\"background\");\n\t\t\tif (background instanceof Sprite) {\n\t\t\t\tbackground.set(\"isMeasured\", false);\n\t\t\t\tbackground._setParent(this);\n\t\t\t\tthis._display.addChildAt(background._display, 0);\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"mask\")) {\n\n\t\t\tconst mask = this.get(\"mask\");\n\n\t\t\tconst previous = this._prevSettings[\"mask\"];\n\t\t\tif (previous) {\n\t\t\t\tthis._display.removeChild(previous._display);\n\t\t\t\tif (previous != mask) {\n\t\t\t\t\tprevious.dispose();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (mask) {\n\t\t\t\tvar parent = mask.parent;\n\t\t\t\tif (parent) {\n\t\t\t\t\tparent.children.removeValue(mask);\n\t\t\t\t}\n\n\t\t\t\tmask._setParent(this);\n\t\t\t\tthis._display.addChildAt(mask._display, 0);\n\t\t\t\tthis._childrenDisplay.mask = mask._display;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _processTemplateField(): void {\n\t\tsuper._processTemplateField();\n\t\tthis.children.each((child) => {\n\t\t\tchild._processTemplateField();\n\t\t})\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic walkChildren(f: (child: Sprite) => void): void {\n\t\tthis.children.each((child) => {\n\t\t\tif (child instanceof Container) {\n\t\t\t\tchild.walkChildren(f);\n\t\t\t}\n\t\t\tf(child);\n\t\t});\n\t}\n\n\tpublic eachChildren(f: (child: Sprite) => void): void {\n\t\tconst background = this.get(\"background\");\n\t\tif (background) {\n\t\t\tf(background);\n\t\t}\n\n\t\tconst verticalScrollbar = this.get(\"verticalScrollbar\");\n\t\tif (verticalScrollbar) {\n\t\t\tf(verticalScrollbar);\n\t\t}\n\n\t\tconst mask = this.get(\"mask\");\n\t\tif (mask) {\n\t\t\tf(mask);\n\t\t}\n\n\t\tthis.children.values.forEach((child) => {\n\t\t\tf(child);\n\t\t});\n\t}\n\n\tpublic allChildren(): Array<Sprite> {\n\t\tconst output: Array<Sprite> = [];\n\n\t\tthis.eachChildren((x) => {\n\t\t\toutput.push(x);\n\t\t});\n\n\t\treturn output;\n\t}\n}\n"]}
@@ -124,6 +124,14 @@ export interface IGraphicsSettings extends ISpriteSettings {
124
124
  * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info
125
125
  */
126
126
  shadowOpacity?: number;
127
+ /**
128
+ * A method to be used on anchor points (joints) of the multi-point line.
129
+ *
130
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineJoin} for more info
131
+ * @default "miter"
132
+ * @since 5.2.10
133
+ */
134
+ lineJoin?: "miter" | "round" | "bevel";
127
135
  }
128
136
  export interface IGraphicsPrivate extends ISpritePrivate {
129
137
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Graphics.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Graphics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAM1D,eAAO,MAAM,cAAc,UAA6K,CAAC;AAEzM,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IAEzD;;;;OAIG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC;IAEb;;;;OAIG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;IAEf;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,YAAY,CAAC,EAAE,QAAQ,CAAC;IAExB;;;;OAIG;IACH,cAAc,CAAC,EAAE,QAAQ,CAAC;IAE1B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAEpC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IAExD;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAE3B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CAEvB;AAED,MAAM,WAAW,gBAAiB,SAAQ,cAAc;CACvD;AAED,MAAM,WAAW,eAAgB,SAAQ,aAAa;CACrD;AAED;;;;;GAKG;AACH,qBAAa,QAAS,SAAQ,MAAM;IAEpB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,OAAO,EAAE,eAAe,CAAC;IAEjC,QAAQ,EAAE,SAAS,CAAuC;IAEjE,SAAS,CAAC,MAAM,UAAS;IAEzB,OAAc,SAAS,EAAE,MAAM,CAAc;IAC7C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAkD;IAElF,cAAc;IA+Cd,QAAQ;IAsCR,aAAa;CAkIpB"}
1
+ {"version":3,"file":"Graphics.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Graphics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAM1D,eAAO,MAAM,cAAc,UAA6K,CAAC;AAEzM,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IAEzD;;;;OAIG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC;IAEb;;;;OAIG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;IAEf;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,YAAY,CAAC,EAAE,QAAQ,CAAC;IAExB;;;;OAIG;IACH,cAAc,CAAC,EAAE,QAAQ,CAAC;IAE1B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAEpC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IAExD;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAE3B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;CAEvC;AAED,MAAM,WAAW,gBAAiB,SAAQ,cAAc;CACvD;AAED,MAAM,WAAW,eAAgB,SAAQ,aAAa;CACrD;AAED;;;;;GAKG;AACH,qBAAa,QAAS,SAAQ,MAAM;IAEpB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,OAAO,EAAE,eAAe,CAAC;IAEjC,QAAQ,EAAE,SAAS,CAAuC;IAEjE,SAAS,CAAC,MAAM,UAAS;IAEzB,OAAc,SAAS,EAAE,MAAM,CAAc;IAC7C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAkD;IAElF,cAAc;IA+Cd,QAAQ;IAsCR,aAAa;CAmIpB"}
@@ -38,7 +38,7 @@ var Graphics = /** @class */ (function (_super) {
38
38
  if (this.isDirty("draw") || this.isDirty("svgPath")) {
39
39
  this.markDirtyBounds();
40
40
  }
41
- if (this.isDirty("fill") || this.isDirty("stroke") || this.isDirty("visible") || this.isDirty("forceHidden") || this.isDirty("fillGradient") || this.isDirty("strokeGradient") || this.isDirty("fillPattern") || this.isDirty("strokePattern") || this.isDirty("fillOpacity") || this.isDirty("strokeOpacity") || this.isDirty("strokeWidth") || this.isDirty("draw") || this.isDirty("blendMode") || this.isDirty("strokeDasharray") || this.isDirty("strokeDashoffset") || this.isDirty("svgPath") || this.isDirty("shadowColor") || this.isDirty("shadowBlur") || this.isDirty("shadowOffsetX") || this.isDirty("shadowOffsetY")) {
41
+ if (this.isDirty("fill") || this.isDirty("stroke") || this.isDirty("visible") || this.isDirty("forceHidden") || this.isDirty("fillGradient") || this.isDirty("strokeGradient") || this.isDirty("fillPattern") || this.isDirty("strokePattern") || this.isDirty("fillOpacity") || this.isDirty("strokeOpacity") || this.isDirty("strokeWidth") || this.isDirty("draw") || this.isDirty("blendMode") || this.isDirty("strokeDasharray") || this.isDirty("strokeDashoffset") || this.isDirty("svgPath") || this.isDirty("lineJoin") || this.isDirty("shadowColor") || this.isDirty("shadowBlur") || this.isDirty("shadowOffsetX") || this.isDirty("shadowOffsetY")) {
42
42
  this._clear = true;
43
43
  }
44
44
  if (this.isDirty("fillGradient")) {
@@ -183,6 +183,7 @@ var Graphics = /** @class */ (function (_super) {
183
183
  if (stroke_1 || strokeGradient || strokePattern) {
184
184
  var strokeOpacity_1 = this.get("strokeOpacity");
185
185
  var strokeWidth = this.get("strokeWidth", 1);
186
+ var lineJoin = this.get("lineJoin");
186
187
  if (strokePattern) {
187
188
  var changed = false;
188
189
  if (stroke_1 && (!strokePattern.get("color") || strokePattern.get("colorInherited"))) {
@@ -196,7 +197,7 @@ var Graphics = /** @class */ (function (_super) {
196
197
  }
197
198
  var pattern = strokePattern.pattern;
198
199
  if (pattern) {
199
- this._display.lineStyle(strokeWidth, pattern, strokeOpacity_1);
200
+ this._display.lineStyle(strokeWidth, pattern, strokeOpacity_1, lineJoin);
200
201
  this._display.endStroke();
201
202
  }
202
203
  }
@@ -216,12 +217,12 @@ var Graphics = /** @class */ (function (_super) {
216
217
  }
217
218
  var gradient = strokeGradient.getFill(this);
218
219
  if (gradient) {
219
- this._display.lineStyle(strokeWidth, gradient, strokeOpacity_1);
220
+ this._display.lineStyle(strokeWidth, gradient, strokeOpacity_1, lineJoin);
220
221
  this._display.endStroke();
221
222
  }
222
223
  }
223
224
  else if (stroke_1) {
224
- this._display.lineStyle(strokeWidth, stroke_1, strokeOpacity_1);
225
+ this._display.lineStyle(strokeWidth, stroke_1, strokeOpacity_1, lineJoin);
225
226
  this._display.endStroke();
226
227
  }
227
228
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Graphics.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Graphics.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Color } from \"../util/Color\";\nimport type { Pattern } from \"../render/patterns/Pattern\";\nimport type { Gradient } from \"../render/gradients/Gradient\";\n\nimport { ISpriteSettings, ISpritePrivate, ISpriteEvents, Sprite } from \"./Sprite\";\nimport { IGraphics, BlendMode } from \"./backend/Renderer\";\n\nimport * as $type from \"../util/Type\";\nimport * as $array from \"../util/Array\";\n\n\nexport const visualSettings = [\"fill\", \"fillOpacity\", \"stroke\", \"strokeWidth\", \"strokeOpacity\", \"fillPattern\", \"strokePattern\", \"fillGradient\", \"strokeGradient\", \"strokeDasharray\", \"strokeDashoffset\"];\n\nexport interface IGraphicsSettings extends ISpriteSettings {\n\n\t/**\n\t * Fill color.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/} for more information\n\t */\n\tfill?: Color;\n\n\t/**\n\t * Stroke (border or line) color.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/} for more information\n\t */\n\tstroke?: Color;\n\n\t/**\n\t * Fill pattern.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/} for more information\n\t */\n\tfillPattern?: Pattern;\n\n\t/**\n\t * Stroke (border or line) pattern.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/} for more information\n\t */\n\tstrokePattern?: Pattern;\n\n\t/**\n\t * Fill gradient.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/gradients/} for more information\n\t */\n\tfillGradient?: Gradient;\n\n\t/**\n\t * Stroke (border or line) gradient.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/gradients/} for more information\n\t */\n\tstrokeGradient?: Gradient;\n\n\t/**\n\t * Stroke (border or line) dash settings.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/#Dashed_lines} for more information\n\t */\n\tstrokeDasharray?: number[] | number;\n\n\t/**\n\t * Stroke (border or line) dash offset.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/#Dashed_lines} for more information\n\t */\n\tstrokeDashoffset?: number;\n\n\t/**\n\t * Opacity of the fill. 0 - fully transparent; 1 - fully opaque.\n\t */\n\tfillOpacity?: number;\n\n\t/**\n\t * Opacity of the stroke (border or line). 0 - fully transparent; 1 - fully opaque.\n\t */\n\tstrokeOpacity?: number;\n\n\t/**\n\t * Width of the stroke (border or line) in pixels.\n\t */\n\tstrokeWidth?: number;\n\n\t/**\n\t * Drawing function.\n\t *\n\t * Must use renderer (`display` parameter) methods to draw.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/graphics/#Custom_draw_functions} for more info\n\t */\n\tdraw?: (display: IGraphics, graphics: Graphics) => void;\n\n\t/**\n\t * Rendering mode.\n\t *\n\t * @default BlendMode.NORMAL (\"source-over\")\n\t * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation} for more information\n\t * @ignore\n\t */\n\tblendMode?: BlendMode;\n\n\t/**\n\t * Draw a shape using an SVG path.\n\t *\n\t * @see {@link https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths} for more information\n\t */\n\tsvgPath?: string;\n\n\t/**\n\t * Color of the element's shadow.\n\t *\n\t * For this to work at least one of the following needs to be set as well:\n\t * `shadowBlur`, `shadowOffsetX`, `shadowOffsetY`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowColor?: Color | null;\n\n\t/**\n\t * Blurriness of the the shadow.\n\t *\n\t * The bigger the number, the more blurry shadow will be.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowBlur?: number;\n\n\t/**\n\t * Horizontal shadow offset in pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOffsetX?: number;\n\n\t/**\n\t * Vertical shadow offset in pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOffsetY?: number;\n\n\t/**\n\t * Opacity of the shadow (0-1).\n\t *\n\t * If not set, will use the same as `fillOpacity` of the element.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOpacity?: number;\n\n}\n\nexport interface IGraphicsPrivate extends ISpritePrivate {\n}\n\nexport interface IGraphicsEvents extends ISpriteEvents {\n}\n\n/**\n * Base class used for drawing shapes.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/graphics/} for more info\n * @important\n */\nexport class Graphics extends Sprite {\n\n\tdeclare public _settings: IGraphicsSettings;\n\tdeclare public _privateSettings: IGraphicsPrivate;\n\tdeclare public _events: IGraphicsEvents;\n\n\tpublic _display: IGraphics = this._root._renderer.makeGraphics();\n\n\tprotected _clear = false;\n\n\tpublic static className: string = \"Graphics\";\n\tpublic static classNames: Array<string> = Sprite.classNames.concat([Graphics.className]);\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tif (this.isDirty(\"draw\") || this.isDirty(\"svgPath\")) {\n\t\t\tthis.markDirtyBounds();\n\t\t}\n\n\t\tif (this.isDirty(\"fill\") || this.isDirty(\"stroke\") || this.isDirty(\"visible\") || this.isDirty(\"forceHidden\") || this.isDirty(\"fillGradient\") || this.isDirty(\"strokeGradient\") || this.isDirty(\"fillPattern\") || this.isDirty(\"strokePattern\") || this.isDirty(\"fillOpacity\") || this.isDirty(\"strokeOpacity\") || this.isDirty(\"strokeWidth\") || this.isDirty(\"draw\") || this.isDirty(\"blendMode\") || this.isDirty(\"strokeDasharray\") || this.isDirty(\"strokeDashoffset\") || this.isDirty(\"svgPath\") || this.isDirty(\"shadowColor\") || this.isDirty(\"shadowBlur\") || this.isDirty(\"shadowOffsetX\") || this.isDirty(\"shadowOffsetY\")) {\n\t\t\tthis._clear = true;\n\t\t}\n\n\t\tif (this.isDirty(\"fillGradient\")) {\n\t\t\tconst gradient = this.get(\"fillGradient\");\n\t\t\tif (gradient) {\n\t\t\t\tthis._display.isMeasured = true;\n\t\t\t\tconst gradientTarget = gradient.get(\"target\");\n\t\t\t\tif (gradientTarget) {\n\t\t\t\t\tthis._disposers.push(gradientTarget.events.on(\"boundschanged\", () => {\n\t\t\t\t\t\tthis._markDirtyKey(\"fill\");\n\t\t\t\t\t}))\n\t\t\t\t\tthis._disposers.push(\n\t\t\t\t\t\tgradientTarget.events.on(\"positionchanged\", () => {\n\t\t\t\t\t\t\tthis._markDirtyKey(\"fill\");\n\t\t\t\t\t\t}))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"strokeGradient\")) {\n\t\t\tconst gradient = this.get(\"strokeGradient\");\n\t\t\tif (gradient) {\n\t\t\t\tthis._display.isMeasured = true;\n\t\t\t\tconst gradientTarget = gradient.get(\"target\");\n\t\t\t\tif (gradientTarget) {\n\t\t\t\t\tthis._disposers.push(\n\t\t\t\t\t\tgradientTarget.events.on(\"boundschanged\", () => {\n\t\t\t\t\t\t\tthis._markDirtyKey(\"stroke\");\n\t\t\t\t\t\t}))\n\t\t\t\t\tthis._disposers.push(\n\t\t\t\t\t\tgradientTarget.events.on(\"positionchanged\", () => {\n\t\t\t\t\t\t\tthis._markDirtyKey(\"stroke\");\n\t\t\t\t\t\t}))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _changed() {\n\t\tsuper._changed();\n\n\t\tif (this._clear) {\n\t\t\tthis.markDirtyLayer();\n\t\t\tthis._display.clear();\n\n\t\t\tlet strokeDasharray = this.get(\"strokeDasharray\");\n\t\t\tif ($type.isNumber(strokeDasharray)) {\n\t\t\t\tif (strokeDasharray < 0.5) {\n\t\t\t\t\tstrokeDasharray = [0];\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tstrokeDasharray = [strokeDasharray]\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis._display.setLineDash(strokeDasharray as number[]);\n\n\t\t\tconst strokeDashoffset = this.get(\"strokeDashoffset\");\n\t\t\tif (strokeDashoffset) {\n\t\t\t\tthis._display.setLineDashOffset(strokeDashoffset);\n\t\t\t}\n\n\t\t\tconst blendMode = this.get(\"blendMode\", BlendMode.NORMAL);\n\t\t\tthis._display.blendMode = blendMode;\n\n\t\t\tconst draw = this.get(\"draw\");\n\t\t\tif (draw) {\n\t\t\t\tdraw(this._display, this);\n\t\t\t}\n\n\t\t\tconst svgPath = this.get(\"svgPath\");\n\t\t\tif (svgPath != null) {\n\t\t\t\tthis._display.svgPath(svgPath!);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _afterChanged() {\n\t\tsuper._afterChanged();\n\n\t\tif (this._clear) {\n\t\t\tconst fill = this.get(\"fill\");\n\t\t\tconst fillGradient = this.get(\"fillGradient\");\n\t\t\tconst fillPattern = this.get(\"fillPattern\");\n\t\t\tconst fillOpacity = this.get(\"fillOpacity\");\n\n\t\t\tconst stroke = this.get(\"stroke\");\n\t\t\tconst strokeGradient = this.get(\"strokeGradient\");\n\t\t\tconst strokePattern = this.get(\"strokePattern\");\n\n\t\t\tconst shadowColor = this.get(\"shadowColor\");\n\t\t\tconst shadowBlur = this.get(\"shadowBlur\");\n\t\t\tconst shadowOffsetX = this.get(\"shadowOffsetX\");\n\t\t\tconst shadowOffsetY = this.get(\"shadowOffsetY\");\n\t\t\tconst shadowOpacity = this.get(\"shadowOpacity\");\n\n\t\t\t//const bounds = this._display.getLocalBounds();\n\n\t\t\tif (shadowColor && (shadowBlur || shadowOffsetX || shadowOffsetY)) {\n\t\t\t\tthis._display.shadow(shadowColor, shadowBlur, shadowOffsetX, shadowOffsetY, shadowOpacity);\n\t\t\t}\n\n\t\t\tif (fillPattern) {\n\t\t\t\tlet changed = false;\n\t\t\t\tif (fill && (!fillPattern.get(\"fill\") || fillPattern.get(\"fillInherited\"))) {\n\t\t\t\t\tfillPattern.set(\"fill\", fill);\n\t\t\t\t\tfillPattern.set(\"fillInherited\", true)\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t\tif (stroke && (!fillPattern.get(\"color\") || fillPattern.get(\"colorInherited\"))) {\n\t\t\t\t\tfillPattern.set(\"color\", stroke);\n\t\t\t\t\tfillPattern.set(\"colorInherited\", true)\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t\tif (changed) {\n\t\t\t\t\t// @todo: is this OK?\n\t\t\t\t\tfillPattern._changed();\n\t\t\t\t}\n\t\t\t\tconst pattern = fillPattern.pattern;\n\t\t\t\tif (pattern) {\n\t\t\t\t\tthis._display.beginFill(pattern, fillOpacity);\n\t\t\t\t\tthis._display.endFill();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (fillGradient) {\n\t\t\t\tif (fill) {\n\t\t\t\t\tconst stops = fillGradient.get(\"stops\", []);\n\t\t\t\t\tif (stops.length) {\n\t\t\t\t\t\t$array.each(stops, (stop: any) => {\n\t\t\t\t\t\t\tif ((!stop.color || stop.colorInherited) && fill) {\n\t\t\t\t\t\t\t\tstop.color = fill;\n\t\t\t\t\t\t\t\tstop.colorInherited = true;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (stop.opacity == null || stop.opacityInherited) {\n\t\t\t\t\t\t\t\tstop.opacity = fillOpacity;\n\t\t\t\t\t\t\t\tstop.opacityInherited = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst gradient = fillGradient.getFill(this);\n\t\t\t\tif (gradient) {\n\t\t\t\t\tthis._display.beginFill(gradient, fillOpacity);\n\t\t\t\t\tthis._display.endFill();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (fill) {\n\t\t\t\tthis._display.beginFill(fill, fillOpacity);\n\t\t\t\tthis._display.endFill();\n\t\t\t}\n\n\t\t\tif (stroke || strokeGradient || strokePattern) {\n\t\t\t\tconst strokeOpacity = this.get(\"strokeOpacity\");\n\t\t\t\tconst strokeWidth = this.get(\"strokeWidth\", 1);\n\n\t\t\t\tif (strokePattern) {\n\t\t\t\t\tlet changed = false;\n\t\t\t\t\tif (stroke && (!strokePattern.get(\"color\") || strokePattern.get(\"colorInherited\"))) {\n\t\t\t\t\t\tstrokePattern.set(\"color\", stroke);\n\t\t\t\t\t\tstrokePattern.set(\"colorInherited\", true);\n\t\t\t\t\t\tchanged = true;\n\t\t\t\t\t}\n\t\t\t\t\tif (changed) {\n\t\t\t\t\t\t// @todo: is this OK?\n\t\t\t\t\t\tstrokePattern._changed();\n\t\t\t\t\t}\n\t\t\t\t\tconst pattern = strokePattern.pattern;\n\t\t\t\t\tif (pattern) {\n\t\t\t\t\t\tthis._display.lineStyle(strokeWidth, pattern, strokeOpacity);\n\t\t\t\t\t\tthis._display.endStroke();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (strokeGradient) {\n\n\t\t\t\t\tconst stops = strokeGradient.get(\"stops\", []);\n\t\t\t\t\tif (stops.length) {\n\t\t\t\t\t\t$array.each(stops, (stop: any) => {\n\t\t\t\t\t\t\tif ((!stop.color || stop.colorInherited) && stroke) {\n\t\t\t\t\t\t\t\tstop.color = stroke;\n\t\t\t\t\t\t\t\tstop.colorInherited = true;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (stop.opacity == null || stop.opacityInherited) {\n\t\t\t\t\t\t\t\tstop.opacity = strokeOpacity;\n\t\t\t\t\t\t\t\tstop.opacityInherited = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\tconst gradient = strokeGradient.getFill(this);\n\t\t\t\t\tif (gradient) {\n\t\t\t\t\t\tthis._display.lineStyle(strokeWidth, gradient, strokeOpacity);\n\t\t\t\t\t\tthis._display.endStroke();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (stroke) {\n\t\t\t\t\tthis._display.lineStyle(strokeWidth, stroke, strokeOpacity);\n\t\t\t\t\tthis._display.endStroke();\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\t\tthis._clear = false;\n\t}\n\n}\n"]}
1
+ {"version":3,"file":"Graphics.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Graphics.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Color } from \"../util/Color\";\nimport type { Pattern } from \"../render/patterns/Pattern\";\nimport type { Gradient } from \"../render/gradients/Gradient\";\n\nimport { ISpriteSettings, ISpritePrivate, ISpriteEvents, Sprite } from \"./Sprite\";\nimport { IGraphics, BlendMode } from \"./backend/Renderer\";\n\nimport * as $type from \"../util/Type\";\nimport * as $array from \"../util/Array\";\n\n\nexport const visualSettings = [\"fill\", \"fillOpacity\", \"stroke\", \"strokeWidth\", \"strokeOpacity\", \"fillPattern\", \"strokePattern\", \"fillGradient\", \"strokeGradient\", \"strokeDasharray\", \"strokeDashoffset\"];\n\nexport interface IGraphicsSettings extends ISpriteSettings {\n\n\t/**\n\t * Fill color.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/} for more information\n\t */\n\tfill?: Color;\n\n\t/**\n\t * Stroke (border or line) color.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/} for more information\n\t */\n\tstroke?: Color;\n\n\t/**\n\t * Fill pattern.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/} for more information\n\t */\n\tfillPattern?: Pattern;\n\n\t/**\n\t * Stroke (border or line) pattern.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/} for more information\n\t */\n\tstrokePattern?: Pattern;\n\n\t/**\n\t * Fill gradient.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/gradients/} for more information\n\t */\n\tfillGradient?: Gradient;\n\n\t/**\n\t * Stroke (border or line) gradient.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/gradients/} for more information\n\t */\n\tstrokeGradient?: Gradient;\n\n\t/**\n\t * Stroke (border or line) dash settings.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/#Dashed_lines} for more information\n\t */\n\tstrokeDasharray?: number[] | number;\n\n\t/**\n\t * Stroke (border or line) dash offset.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/#Dashed_lines} for more information\n\t */\n\tstrokeDashoffset?: number;\n\n\t/**\n\t * Opacity of the fill. 0 - fully transparent; 1 - fully opaque.\n\t */\n\tfillOpacity?: number;\n\n\t/**\n\t * Opacity of the stroke (border or line). 0 - fully transparent; 1 - fully opaque.\n\t */\n\tstrokeOpacity?: number;\n\n\t/**\n\t * Width of the stroke (border or line) in pixels.\n\t */\n\tstrokeWidth?: number;\n\n\t/**\n\t * Drawing function.\n\t *\n\t * Must use renderer (`display` parameter) methods to draw.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/graphics/#Custom_draw_functions} for more info\n\t */\n\tdraw?: (display: IGraphics, graphics: Graphics) => void;\n\n\t/**\n\t * Rendering mode.\n\t *\n\t * @default BlendMode.NORMAL (\"source-over\")\n\t * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation} for more information\n\t * @ignore\n\t */\n\tblendMode?: BlendMode;\n\n\t/**\n\t * Draw a shape using an SVG path.\n\t *\n\t * @see {@link https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths} for more information\n\t */\n\tsvgPath?: string;\n\n\t/**\n\t * Color of the element's shadow.\n\t *\n\t * For this to work at least one of the following needs to be set as well:\n\t * `shadowBlur`, `shadowOffsetX`, `shadowOffsetY`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowColor?: Color | null;\n\n\t/**\n\t * Blurriness of the the shadow.\n\t *\n\t * The bigger the number, the more blurry shadow will be.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowBlur?: number;\n\n\t/**\n\t * Horizontal shadow offset in pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOffsetX?: number;\n\n\t/**\n\t * Vertical shadow offset in pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOffsetY?: number;\n\n\t/**\n\t * Opacity of the shadow (0-1).\n\t *\n\t * If not set, will use the same as `fillOpacity` of the element.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOpacity?: number;\n\n\t/**\n\t * A method to be used on anchor points (joints) of the multi-point line.\n\t *\n\t * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineJoin} for more info\n\t * @default \"miter\"\n\t * @since 5.2.10\n\t */\n\tlineJoin?: \"miter\" | \"round\" | \"bevel\";\n\n}\n\nexport interface IGraphicsPrivate extends ISpritePrivate {\n}\n\nexport interface IGraphicsEvents extends ISpriteEvents {\n}\n\n/**\n * Base class used for drawing shapes.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/graphics/} for more info\n * @important\n */\nexport class Graphics extends Sprite {\n\n\tdeclare public _settings: IGraphicsSettings;\n\tdeclare public _privateSettings: IGraphicsPrivate;\n\tdeclare public _events: IGraphicsEvents;\n\n\tpublic _display: IGraphics = this._root._renderer.makeGraphics();\n\n\tprotected _clear = false;\n\n\tpublic static className: string = \"Graphics\";\n\tpublic static classNames: Array<string> = Sprite.classNames.concat([Graphics.className]);\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tif (this.isDirty(\"draw\") || this.isDirty(\"svgPath\")) {\n\t\t\tthis.markDirtyBounds();\n\t\t}\n\n\t\tif (this.isDirty(\"fill\") || this.isDirty(\"stroke\") || this.isDirty(\"visible\") || this.isDirty(\"forceHidden\") || this.isDirty(\"fillGradient\") || this.isDirty(\"strokeGradient\") || this.isDirty(\"fillPattern\") || this.isDirty(\"strokePattern\") || this.isDirty(\"fillOpacity\") || this.isDirty(\"strokeOpacity\") || this.isDirty(\"strokeWidth\") || this.isDirty(\"draw\") || this.isDirty(\"blendMode\") || this.isDirty(\"strokeDasharray\") || this.isDirty(\"strokeDashoffset\") || this.isDirty(\"svgPath\") || this.isDirty(\"lineJoin\") || this.isDirty(\"shadowColor\") || this.isDirty(\"shadowBlur\") || this.isDirty(\"shadowOffsetX\") || this.isDirty(\"shadowOffsetY\")) {\n\t\t\tthis._clear = true;\n\t\t}\n\n\t\tif (this.isDirty(\"fillGradient\")) {\n\t\t\tconst gradient = this.get(\"fillGradient\");\n\t\t\tif (gradient) {\n\t\t\t\tthis._display.isMeasured = true;\n\t\t\t\tconst gradientTarget = gradient.get(\"target\");\n\t\t\t\tif (gradientTarget) {\n\t\t\t\t\tthis._disposers.push(gradientTarget.events.on(\"boundschanged\", () => {\n\t\t\t\t\t\tthis._markDirtyKey(\"fill\");\n\t\t\t\t\t}))\n\t\t\t\t\tthis._disposers.push(\n\t\t\t\t\t\tgradientTarget.events.on(\"positionchanged\", () => {\n\t\t\t\t\t\t\tthis._markDirtyKey(\"fill\");\n\t\t\t\t\t\t}))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"strokeGradient\")) {\n\t\t\tconst gradient = this.get(\"strokeGradient\");\n\t\t\tif (gradient) {\n\t\t\t\tthis._display.isMeasured = true;\n\t\t\t\tconst gradientTarget = gradient.get(\"target\");\n\t\t\t\tif (gradientTarget) {\n\t\t\t\t\tthis._disposers.push(\n\t\t\t\t\t\tgradientTarget.events.on(\"boundschanged\", () => {\n\t\t\t\t\t\t\tthis._markDirtyKey(\"stroke\");\n\t\t\t\t\t\t}))\n\t\t\t\t\tthis._disposers.push(\n\t\t\t\t\t\tgradientTarget.events.on(\"positionchanged\", () => {\n\t\t\t\t\t\t\tthis._markDirtyKey(\"stroke\");\n\t\t\t\t\t\t}))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _changed() {\n\t\tsuper._changed();\n\n\t\tif (this._clear) {\n\t\t\tthis.markDirtyLayer();\n\t\t\tthis._display.clear();\n\n\t\t\tlet strokeDasharray = this.get(\"strokeDasharray\");\n\t\t\tif ($type.isNumber(strokeDasharray)) {\n\t\t\t\tif (strokeDasharray < 0.5) {\n\t\t\t\t\tstrokeDasharray = [0];\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tstrokeDasharray = [strokeDasharray]\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis._display.setLineDash(strokeDasharray as number[]);\n\n\t\t\tconst strokeDashoffset = this.get(\"strokeDashoffset\");\n\t\t\tif (strokeDashoffset) {\n\t\t\t\tthis._display.setLineDashOffset(strokeDashoffset);\n\t\t\t}\n\n\t\t\tconst blendMode = this.get(\"blendMode\", BlendMode.NORMAL);\n\t\t\tthis._display.blendMode = blendMode;\n\n\t\t\tconst draw = this.get(\"draw\");\n\t\t\tif (draw) {\n\t\t\t\tdraw(this._display, this);\n\t\t\t}\n\n\t\t\tconst svgPath = this.get(\"svgPath\");\n\t\t\tif (svgPath != null) {\n\t\t\t\tthis._display.svgPath(svgPath!);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _afterChanged() {\n\t\tsuper._afterChanged();\n\n\t\tif (this._clear) {\n\t\t\tconst fill = this.get(\"fill\");\n\t\t\tconst fillGradient = this.get(\"fillGradient\");\n\t\t\tconst fillPattern = this.get(\"fillPattern\");\n\t\t\tconst fillOpacity = this.get(\"fillOpacity\");\n\n\t\t\tconst stroke = this.get(\"stroke\");\n\t\t\tconst strokeGradient = this.get(\"strokeGradient\");\n\t\t\tconst strokePattern = this.get(\"strokePattern\");\n\n\t\t\tconst shadowColor = this.get(\"shadowColor\");\n\t\t\tconst shadowBlur = this.get(\"shadowBlur\");\n\t\t\tconst shadowOffsetX = this.get(\"shadowOffsetX\");\n\t\t\tconst shadowOffsetY = this.get(\"shadowOffsetY\");\n\t\t\tconst shadowOpacity = this.get(\"shadowOpacity\");\n\n\t\t\t//const bounds = this._display.getLocalBounds();\n\n\t\t\tif (shadowColor && (shadowBlur || shadowOffsetX || shadowOffsetY)) {\n\t\t\t\tthis._display.shadow(shadowColor, shadowBlur, shadowOffsetX, shadowOffsetY, shadowOpacity);\n\t\t\t}\n\n\t\t\tif (fillPattern) {\n\t\t\t\tlet changed = false;\n\t\t\t\tif (fill && (!fillPattern.get(\"fill\") || fillPattern.get(\"fillInherited\"))) {\n\t\t\t\t\tfillPattern.set(\"fill\", fill);\n\t\t\t\t\tfillPattern.set(\"fillInherited\", true)\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t\tif (stroke && (!fillPattern.get(\"color\") || fillPattern.get(\"colorInherited\"))) {\n\t\t\t\t\tfillPattern.set(\"color\", stroke);\n\t\t\t\t\tfillPattern.set(\"colorInherited\", true)\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t\tif (changed) {\n\t\t\t\t\t// @todo: is this OK?\n\t\t\t\t\tfillPattern._changed();\n\t\t\t\t}\n\t\t\t\tconst pattern = fillPattern.pattern;\n\t\t\t\tif (pattern) {\n\t\t\t\t\tthis._display.beginFill(pattern, fillOpacity);\n\t\t\t\t\tthis._display.endFill();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (fillGradient) {\n\t\t\t\tif (fill) {\n\t\t\t\t\tconst stops = fillGradient.get(\"stops\", []);\n\t\t\t\t\tif (stops.length) {\n\t\t\t\t\t\t$array.each(stops, (stop: any) => {\n\t\t\t\t\t\t\tif ((!stop.color || stop.colorInherited) && fill) {\n\t\t\t\t\t\t\t\tstop.color = fill;\n\t\t\t\t\t\t\t\tstop.colorInherited = true;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (stop.opacity == null || stop.opacityInherited) {\n\t\t\t\t\t\t\t\tstop.opacity = fillOpacity;\n\t\t\t\t\t\t\t\tstop.opacityInherited = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst gradient = fillGradient.getFill(this);\n\t\t\t\tif (gradient) {\n\t\t\t\t\tthis._display.beginFill(gradient, fillOpacity);\n\t\t\t\t\tthis._display.endFill();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (fill) {\n\t\t\t\tthis._display.beginFill(fill, fillOpacity);\n\t\t\t\tthis._display.endFill();\n\t\t\t}\n\n\t\t\tif (stroke || strokeGradient || strokePattern) {\n\t\t\t\tconst strokeOpacity = this.get(\"strokeOpacity\");\n\t\t\t\tconst strokeWidth = this.get(\"strokeWidth\", 1);\n\t\t\t\tconst lineJoin = this.get(\"lineJoin\");\n\n\t\t\t\tif (strokePattern) {\n\t\t\t\t\tlet changed = false;\n\t\t\t\t\tif (stroke && (!strokePattern.get(\"color\") || strokePattern.get(\"colorInherited\"))) {\n\t\t\t\t\t\tstrokePattern.set(\"color\", stroke);\n\t\t\t\t\t\tstrokePattern.set(\"colorInherited\", true);\n\t\t\t\t\t\tchanged = true;\n\t\t\t\t\t}\n\t\t\t\t\tif (changed) {\n\t\t\t\t\t\t// @todo: is this OK?\n\t\t\t\t\t\tstrokePattern._changed();\n\t\t\t\t\t}\n\t\t\t\t\tconst pattern = strokePattern.pattern;\n\t\t\t\t\tif (pattern) {\n\t\t\t\t\t\tthis._display.lineStyle(strokeWidth, pattern, strokeOpacity, lineJoin);\n\t\t\t\t\t\tthis._display.endStroke();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (strokeGradient) {\n\n\t\t\t\t\tconst stops = strokeGradient.get(\"stops\", []);\n\t\t\t\t\tif (stops.length) {\n\t\t\t\t\t\t$array.each(stops, (stop: any) => {\n\t\t\t\t\t\t\tif ((!stop.color || stop.colorInherited) && stroke) {\n\t\t\t\t\t\t\t\tstop.color = stroke;\n\t\t\t\t\t\t\t\tstop.colorInherited = true;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (stop.opacity == null || stop.opacityInherited) {\n\t\t\t\t\t\t\t\tstop.opacity = strokeOpacity;\n\t\t\t\t\t\t\t\tstop.opacityInherited = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\tconst gradient = strokeGradient.getFill(this);\n\t\t\t\t\tif (gradient) {\n\t\t\t\t\t\tthis._display.lineStyle(strokeWidth, gradient, strokeOpacity, lineJoin);\n\t\t\t\t\t\tthis._display.endStroke();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (stroke) {\n\t\t\t\t\tthis._display.lineStyle(strokeWidth, stroke, strokeOpacity, lineJoin);\n\t\t\t\t\tthis._display.endStroke();\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\t\tthis._clear = false;\n\t}\n\n}\n"]}
@@ -35,7 +35,7 @@ var HorizontalLayout = /** @class */ (function (_super) {
35
35
  availableWidth -= minWidth;
36
36
  totalPercent -= childWidth.value;
37
37
  }
38
- var maxWidth = child.get("maxWidth", Infinity);
38
+ var maxWidth = child.get("maxWidth", child.getPrivate("maxWidth", Infinity));
39
39
  if (w > maxWidth) {
40
40
  availableWidth -= maxWidth;
41
41
  totalPercent -= childWidth.value;
@@ -58,7 +58,7 @@ var HorizontalLayout = /** @class */ (function (_super) {
58
58
  if (childWidth instanceof Percent) {
59
59
  var privateWidth = availableWidth * childWidth.value / totalPercent - child.get("marginLeft", 0) - child.get("marginRight", 0);
60
60
  var minWidth = child.get("minWidth", -Infinity);
61
- var maxWidth = child.get("maxWidth", Infinity);
61
+ var maxWidth = child.get("maxWidth", child.getPrivate("maxWidth", Infinity));
62
62
  privateWidth = Math.min(Math.max(minWidth, privateWidth), maxWidth);
63
63
  child.setPrivate("width", privateWidth);
64
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HorizontalLayout.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/HorizontalLayout.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 * A horizontal 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 HorizontalLayout extends Layout {\n\n\tpublic static className: string = \"HorizontalLayout\";\n\tpublic static classNames: Array<string> = Layout.classNames.concat([HorizontalLayout.className]);\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateContainer(container: Container): void {\n\n\t\tlet paddingLeft = container.get(\"paddingLeft\", 0);\n\n\t\tlet availableWidth = container.innerWidth();\n\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 childWidth = child.get(\"width\");\n\t\t\t\t\tif (childWidth instanceof Percent) {\n\t\t\t\t\t\ttotalPercent += childWidth.value;\n\n\t\t\t\t\t\tlet w = availableWidth * childWidth.value;\n\t\t\t\t\t\tlet minWidth = child.get(\"minWidth\", -Infinity);\n\t\t\t\t\t\tif (minWidth > w) {\n\t\t\t\t\t\t\tavailableWidth -= minWidth;\n\t\t\t\t\t\t\ttotalPercent -= childWidth.value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet maxWidth = child.get(\"maxWidth\", Infinity);\n\t\t\t\t\t\tif (w > maxWidth) {\n\t\t\t\t\t\t\tavailableWidth -= maxWidth;\n\t\t\t\t\t\t\ttotalPercent -= childWidth.value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (!$type.isNumber(childWidth)) {\n\t\t\t\t\t\t\tchildWidth = child.width();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tavailableWidth -= childWidth + child.get(\"marginLeft\", 0) + child.get(\"marginRight\", 0);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tif (availableWidth > 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 childWidth = child.get(\"width\");\n\t\t\t\t\t\tif (childWidth instanceof Percent) {\n\t\t\t\t\t\t\tlet privateWidth = availableWidth * childWidth.value / totalPercent - child.get(\"marginLeft\", 0) - child.get(\"marginRight\", 0);\n\t\t\t\t\t\t\tlet minWidth = child.get(\"minWidth\", -Infinity);\n\t\t\t\t\t\t\tlet maxWidth = child.get(\"maxWidth\", Infinity);\n\t\t\t\t\t\t\tprivateWidth = Math.min(Math.max(minWidth, privateWidth), maxWidth);\n\n\t\t\t\t\t\t\tchild.setPrivate(\"width\", privateWidth);\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 prevX = paddingLeft;\n\n\t\teachChildren(container, (child) => {\n\n\t\t\tif (child.get(\"position\") == \"relative\") {\n\t\t\t\tif (child.isVisible()) {\n\t\t\t\t\tlet bounds = child.adjustedLocalBounds();\n\t\t\t\t\tlet marginLeft = child.get(\"marginLeft\", 0);\n\t\t\t\t\tlet marginRight = child.get(\"marginRight\", 0);\n\n\t\t\t\t\tlet x = prevX + marginLeft - bounds.left;\n\t\t\t\t\tchild.setPrivate(\"x\", x);\n\t\t\t\t\tprevX = x + bounds.right + marginRight;\n\t\t\t\t}\n\t\t\t\telse{\n\t\t\t\t\tchild.setPrivate(\"x\", undefined);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n}\n"]}
1
+ {"version":3,"file":"HorizontalLayout.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/HorizontalLayout.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 * A horizontal 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 HorizontalLayout extends Layout {\n\n\tpublic static className: string = \"HorizontalLayout\";\n\tpublic static classNames: Array<string> = Layout.classNames.concat([HorizontalLayout.className]);\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateContainer(container: Container): void {\n\n\t\tlet paddingLeft = container.get(\"paddingLeft\", 0);\n\n\t\tlet availableWidth = container.innerWidth();\n\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 childWidth = child.get(\"width\");\n\t\t\t\t\tif (childWidth instanceof Percent) {\n\t\t\t\t\t\ttotalPercent += childWidth.value;\n\n\t\t\t\t\t\tlet w = availableWidth * childWidth.value;\n\t\t\t\t\t\tlet minWidth = child.get(\"minWidth\", -Infinity);\n\t\t\t\t\t\tif (minWidth > w) {\n\t\t\t\t\t\t\tavailableWidth -= minWidth;\n\t\t\t\t\t\t\ttotalPercent -= childWidth.value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet maxWidth = child.get(\"maxWidth\", child.getPrivate(\"maxWidth\", Infinity));\n\t\t\t\t\t\tif (w > maxWidth) {\n\t\t\t\t\t\t\tavailableWidth -= maxWidth;\n\t\t\t\t\t\t\ttotalPercent -= childWidth.value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (!$type.isNumber(childWidth)) {\n\t\t\t\t\t\t\tchildWidth = child.width();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tavailableWidth -= childWidth + child.get(\"marginLeft\", 0) + child.get(\"marginRight\", 0);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tif (availableWidth > 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 childWidth = child.get(\"width\");\n\t\t\t\t\t\tif (childWidth instanceof Percent) {\n\t\t\t\t\t\t\tlet privateWidth = availableWidth * childWidth.value / totalPercent - child.get(\"marginLeft\", 0) - child.get(\"marginRight\", 0);\n\t\t\t\t\t\t\tlet minWidth = child.get(\"minWidth\", -Infinity);\n\t\t\t\t\t\t\tlet maxWidth = child.get(\"maxWidth\", child.getPrivate(\"maxWidth\", Infinity));\n\t\t\t\t\t\t\tprivateWidth = Math.min(Math.max(minWidth, privateWidth), maxWidth);\n\n\t\t\t\t\t\t\tchild.setPrivate(\"width\", privateWidth);\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 prevX = paddingLeft;\n\n\t\teachChildren(container, (child) => {\n\n\t\t\tif (child.get(\"position\") == \"relative\") {\n\t\t\t\tif (child.isVisible()) {\n\t\t\t\t\tlet bounds = child.adjustedLocalBounds();\n\t\t\t\t\tlet marginLeft = child.get(\"marginLeft\", 0);\n\t\t\t\t\tlet marginRight = child.get(\"marginRight\", 0);\n\n\t\t\t\t\tlet x = prevX + marginLeft - bounds.left;\n\t\t\t\t\tchild.setPrivate(\"x\", x);\n\t\t\t\t\tprevX = x + bounds.right + marginRight;\n\t\t\t\t}\n\t\t\t\telse{\n\t\t\t\t\tchild.setPrivate(\"x\", undefined);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n}\n"]}
@@ -41,11 +41,11 @@ export interface ILabelSettings extends IContainerSettings {
41
41
  /**
42
42
  * Text decoration.
43
43
  *
44
- * The only option currently supported is `"underline"`.
44
+ * Supported options `"underline"`, `"line-through"`.
45
45
  *
46
46
  * @since 5.0.15
47
47
  */
48
- textDecoration?: "underline";
48
+ textDecoration?: "underline" | "line-through";
49
49
  /**
50
50
  * Line height in percent or absolute pixels.
51
51
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Label.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Label.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Label.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Label.ts"],"names":[],"mappings":"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"}
@@ -105,10 +105,10 @@ var Label = /** @class */ (function (_super) {
105
105
  $array.each(this._textKeys, function (property) {
106
106
  _this._text.set(property, _this.get(property));
107
107
  });
108
- if (this.isDirty("maxWidth")) {
108
+ if (this.isDirty("maxWidth") || this.isPrivateDirty("maxWidth")) {
109
109
  this._setMaxDimentions();
110
110
  }
111
- if (this.isDirty("maxHeight")) {
111
+ if (this.isDirty("maxHeight") || this.isPrivateDirty("maxHeight")) {
112
112
  this._setMaxDimentions();
113
113
  }
114
114
  if (this.isDirty("rotation")) {
@@ -147,14 +147,14 @@ var Label = /** @class */ (function (_super) {
147
147
  value: function () {
148
148
  var rotation = this.get("rotation");
149
149
  var vertical = rotation == 90 || rotation == 270;
150
- var maxWidth = this.get("maxWidth", Infinity);
150
+ var maxWidth = this.get("maxWidth", this.getPrivate("maxWidth", Infinity));
151
151
  if ($type.isNumber(maxWidth)) {
152
152
  this.text.set(vertical ? "maxHeight" : "maxWidth", maxWidth - this.get("paddingLeft", 0) - this.get("paddingRight", 0));
153
153
  }
154
154
  else {
155
155
  this.text.set(vertical ? "maxHeight" : "maxWidth", undefined);
156
156
  }
157
- var maxHeight = this.get("maxHeight", Infinity);
157
+ var maxHeight = this.get("maxHeight", this.getPrivate("maxHeight", Infinity));
158
158
  if ($type.isNumber(maxHeight)) {
159
159
  this.text.set(vertical ? "maxWidth" : "maxHeight", maxHeight - this.get("paddingTop", 0) - this.get("paddingBottom", 0));
160
160
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Label.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Label.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Color } from \"../util/Color\";\nimport type { Percent } from \"../util/Percent\";\nimport type { DataItem, IComponentDataItem } from \"./Component\";\n\nimport { Text } from \"../render/Text\";\nimport { p50, p100 } from \"../util/Percent\";\nimport { Container, IContainerPrivate, IContainerSettings } from \"./Container\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\n\n\nexport interface ILabelSettings extends IContainerSettings {\n\n\t/**\n\t * Labels' text.\n\t */\n\ttext?: string;\n\n\t/**\n\t * Text color.\n\t */\n\tfill?: Color;\n\n\t/**\n\t * Alignment.\n\t */\n\ttextAlign?: \"start\" | \"end\" | \"left\" | \"right\" | \"center\";\n\n\t/**\n\t * Font family to use for the label.\n\t *\n\t * Multiple fonts can be separated by commas.\n\t */\n\tfontFamily?: string;\n\n\t/**\n\t * Font size in misc any supported CSS format (pixel, point, em, etc.).\n\t */\n\tfontSize?: string | number;\n\n\t/**\n\t * Font weight.\n\t */\n\tfontWeight?: \"normal\" | \"bold\" | \"bolder\" | \"lighter\" | \"100\" | \"200\" | \"300\" | \"400\" | \"500\" | \"600\" | \"700\" | \"800\" | \"900\";\n\n\t/**\n\t * Font style.\n\t */\n\tfontStyle?: \"normal\" | \"italic\" | \"oblique\";\n\n\t/**\n\t * Font variant.\n\t */\n\tfontVariant?: \"normal\" | \"small-caps\";\n\n\t/**\n\t * Text decoration.\n\t *\n\t * The only option currently supported is `\"underline\"`.\n\t *\n\t * @since 5.0.15\n\t */\n\ttextDecoration?: \"underline\";\n\n\t/**\n\t * Line height in percent or absolute pixels.\n\t */\n\tlineHeight?: Percent | number;\n\n\t/**\n\t * How mouch of the height should be considered to go below baseline.\n\t *\n\t * @default 0.19\n\t */\n\tbaselineRatio?: number;\n\n\t/**\n\t * Opacity of the label.\n\t *\n\t * 0 - fully transparent; 1 - fully opaque.\n\t */\n\topacity?: number;\n\n\t/**\n\t * Text direction.\n\t *\n\t * @default \"ltr\"\n\t */\n\tdirection?: \"ltr\" | \"rtl\";\n\n\t/**\n\t * A base line to use when aligning text chunks vertically.\n\t */\n\ttextBaseline?: \"top\" | \"hanging\" | \"middle\" | \"alphabetic\" | \"ideographic\" | \"bottom\";\n\n\t/**\n\t * How to handle labels that do not fit into its designated space.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/labels/#Oversized_text} for more info\n\t */\n\toversizedBehavior?: \"none\" | \"hide\" | \"fit\" | \"wrap\" | \"truncate\";\n\n\t/**\n\t * Whether words can be broken when truncating or wrapping text.\n\t *\n\t * @default false\n\t */\n\tbreakWords?: boolean;\n\n\t/**\n\t * Ellipsis characters to use when truncating text.\n\t *\n\t * Will use Unicode ellipsis symbol (`\"…\"`) by default, which might not be\n\t * available in all fonts. If ellipsis looks broken, use different\n\t * characters. E.g.:\n\t *\n\t * ```TypeScript\n\t * label.set(\"ellipsis\", \"...\");\n\t * ```\n\t * ```JavaScript\n\t * label.set(\"ellipsis\", \"...\");\n\t * ```\n\t *\n\t *\n\t * @default \"…\"\n\t */\n\tellipsis?: string;\n\n\t/**\n\t * Minimum relative scale allowed for label when scaling down\n\t * when `oversizedBehavior` is set to `\"fit\"`.\n\t *\n\t * If fitting the label would require it to scale beyond `minScale` it would\n\t * be hidden instead.\n\t */\n\tminScale?: number;\n\n\t/**\n\t * If set to `true` the label will parse `text` for data placeholders and\n\t * will try to populate them with actual data.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/labels/#Data_placeholders} for more info\n\t */\n\tpopulateText?: boolean;\n\n\t/**\n\t * If set to `true`, will ignore in-line formatting blocks and will display\n\t * text exactly as it is.\n\t *\n\t * @default false\n\t */\n\tignoreFormatting?: boolean;\n\n\t/**\n\t * Color of the element's shadow.\n\t *\n\t * For this to work at least one of the following needs to be set as well:\n\t * `shadowBlur`, `shadowOffsetX`, `shadowOffsetY`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowColor?: Color | null;\n\n\t/**\n\t * Blurriness of the the shadow.\n\t *\n\t * The bigger the number, the more blurry shadow will be.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowBlur?: number;\n\n\t/**\n\t * Horizontal shadow offset in pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOffsetX?: number;\n\n\t/**\n\t * Vertical shadow offset in pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOffsetY?: number;\n\n\t/**\n\t * Opacity of the shadow (0-1).\n\t *\n\t * If not set, will use the same as `fillOpacity` of the element.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOpacity?: number;\n\n\t// The following migh be supported some day:\n\t// padding?: number;\n\t// stroke?: number;\n\t// strokeThickness?: number;\n\t// trim?: number;\n\t// wordWrap?: boolean;\n\t// leading?: number;\n\t// letterSpacing?: number;\n}\n\nexport interface ILabelPrivate extends IContainerPrivate {\n}\n\n/**\n * Creates a label with support for in-line styling and data bindings.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/labels/} for more info\n */\nexport class Label extends Container {\n\n\tdeclare public _settings: ILabelSettings;\n\tdeclare public _privateSettings: ILabelPrivate;\n\n\tprotected _text!: Text;\n\n\tprotected _textKeys: Array<string> = [\n\t\t\"text\",\n\t\t\"fill\",\n\t\t\"textAlign\",\n\t\t\"fontFamily\",\n\t\t\"fontSize\",\n\t\t\"fontStyle\",\n\t\t\"fontWeight\",\n\t\t\"fontStyle\",\n\t\t\"fontVariant\",\n\t\t\"textDecoration\",\n\t\t\"shadowColor\",\n\t\t\"shadowBlur\",\n\t\t\"shadowOffsetX\",\n\t\t\"shadowOffsetY\",\n\t\t\"shadowOpacity\",\n\t\t// \"leading\",\n\t\t// \"letterSpacing\",\n\t\t\"lineHeight\",\n\t\t\"baselineRatio\",\n\t\t//\"padding\",\n\t\t// \"stroke\",\n\t\t// \"strokeThickness\",\n\t\t// \"trim\",\n\t\t// \"wordWrap\",\n\t\t\"direction\",\n\t\t\"textBaseline\",\n\t\t\"oversizedBehavior\",\n\t\t\"breakWords\",\n\t\t\"ellipsis\",\n\t\t\"minScale\",\n\t\t\"populateText\",\n\t\t\"role\",\n\t\t\"ignoreFormatting\"\n\t];\n\n\tpublic static className: string = \"Label\";\n\tpublic static classNames: Array<string> = Container.classNames.concat([Label.className]);\n\n\t/**\n\t * @ignore Text is not to be used directly\n\t */\n\tpublic get text(): Text {\n\t\treturn this._text;\n\t}\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\n\t\tthis._makeText();\n\n\t\t$array.each(this._textKeys, (property) => {\n\t\t\tconst propValue = this.get(property as any);\n\t\t\tif (propValue != undefined) {\n\t\t\t\tthis._text.set(property as any, propValue);\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic _makeText() {\n\t\tthis._text = this.children.push(Text.new(this._root, {}));\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\n\t\t$array.each(this._textKeys, (property) => {\n\t\t\tthis._text.set(property as any, this.get(property as any));\n\t\t})\n\n\t\tif (this.isDirty(\"maxWidth\")) {\n\t\t\tthis._setMaxDimentions();\n\t\t}\n\n\t\tif (this.isDirty(\"maxHeight\")) {\n\t\t\tthis._setMaxDimentions();\n\t\t}\n\n\t\tif (this.isDirty(\"rotation\")) {\n\t\t\tthis._setMaxDimentions();\n\t\t}\n\n\t\tif (this.isDirty(\"textAlign\") || this.isDirty(\"width\")) {\n\t\t\tconst textAlign = this.get(\"textAlign\");\n\t\t\tlet x: number | Percent | undefined;\n\t\t\tif (this.get(\"width\") != null) {\n\t\t\t\tif (textAlign == \"right\") {\n\t\t\t\t\tx = p100;\n\t\t\t\t}\n\t\t\t\telse if (textAlign == \"center\") {\n\t\t\t\t\tx = p50;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tx = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (textAlign == \"left\" || textAlign == \"start\") {\n\t\t\t\t\tx = this.get(\"paddingLeft\");\n\t\t\t\t}\n\t\t\t\telse if (textAlign == \"right\" || textAlign == \"end\") {\n\t\t\t\t\tx = -this.get(\"paddingRight\");\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.text.set(\"x\", x);\n\t\t}\n\t}\n\n\tprotected _setMaxDimentions() {\n\t\tconst rotation = this.get(\"rotation\");\n\t\tconst vertical = rotation == 90 || rotation == 270;\n\n\t\tconst maxWidth = this.get(\"maxWidth\", Infinity);\n\t\tif ($type.isNumber(maxWidth)) {\n\t\t\tthis.text.set(vertical ? \"maxHeight\" : \"maxWidth\", maxWidth - this.get(\"paddingLeft\", 0) - this.get(\"paddingRight\", 0));\n\t\t}\n\t\telse {\n\t\t\tthis.text.set(vertical ? \"maxHeight\" : \"maxWidth\", undefined);\n\t\t}\n\n\t\tconst maxHeight = this.get(\"maxHeight\", Infinity);\n\t\tif ($type.isNumber(maxHeight)) {\n\t\t\tthis.text.set(vertical ? \"maxWidth\" : \"maxHeight\", maxHeight - this.get(\"paddingTop\", 0) - this.get(\"paddingBottom\", 0));\n\t\t}\n\t\telse {\n\t\t\tthis.text.set(vertical ? \"maxWidth\" : \"maxHeight\", undefined);\n\t\t}\n\t}\n\n\tpublic _setDataItem(dataItem?: DataItem<IComponentDataItem>): void {\n\t\tsuper._setDataItem(dataItem);\n\t\tthis._markDirtyKey(\"text\")\n\t\tif (this.text.get(\"populateText\")) {\n\t\t\tthis.text.markDirtyText();\n\t\t}\n\t}\n\n\t/**\n\t * Returns text with populated placeholders and formatting if `populateText` is\n\t * set to `true`.\n\t *\n\t * @return Populated text\n\t */\n\tpublic getText(): string {\n\t\treturn this._text._getText();\n\t}\n}\n"]}
1
+ {"version":3,"file":"Label.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Label.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Color } from \"../util/Color\";\nimport type { Percent } from \"../util/Percent\";\nimport type { DataItem, IComponentDataItem } from \"./Component\";\n\nimport { Text } from \"../render/Text\";\nimport { p50, p100 } from \"../util/Percent\";\nimport { Container, IContainerPrivate, IContainerSettings } from \"./Container\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\n\n\nexport interface ILabelSettings extends IContainerSettings {\n\n\t/**\n\t * Labels' text.\n\t */\n\ttext?: string;\n\n\t/**\n\t * Text color.\n\t */\n\tfill?: Color;\n\n\t/**\n\t * Alignment.\n\t */\n\ttextAlign?: \"start\" | \"end\" | \"left\" | \"right\" | \"center\";\n\n\t/**\n\t * Font family to use for the label.\n\t *\n\t * Multiple fonts can be separated by commas.\n\t */\n\tfontFamily?: string;\n\n\t/**\n\t * Font size in misc any supported CSS format (pixel, point, em, etc.).\n\t */\n\tfontSize?: string | number;\n\n\t/**\n\t * Font weight.\n\t */\n\tfontWeight?: \"normal\" | \"bold\" | \"bolder\" | \"lighter\" | \"100\" | \"200\" | \"300\" | \"400\" | \"500\" | \"600\" | \"700\" | \"800\" | \"900\";\n\n\t/**\n\t * Font style.\n\t */\n\tfontStyle?: \"normal\" | \"italic\" | \"oblique\";\n\n\t/**\n\t * Font variant.\n\t */\n\tfontVariant?: \"normal\" | \"small-caps\";\n\n\t/**\n\t * Text decoration.\n\t *\n\t * Supported options `\"underline\"`, `\"line-through\"`.\n\t *\n\t * @since 5.0.15\n\t */\n\ttextDecoration?: \"underline\" | \"line-through\";\n\n\t/**\n\t * Line height in percent or absolute pixels.\n\t */\n\tlineHeight?: Percent | number;\n\n\t/**\n\t * How mouch of the height should be considered to go below baseline.\n\t *\n\t * @default 0.19\n\t */\n\tbaselineRatio?: number;\n\n\t/**\n\t * Opacity of the label.\n\t *\n\t * 0 - fully transparent; 1 - fully opaque.\n\t */\n\topacity?: number;\n\n\t/**\n\t * Text direction.\n\t *\n\t * @default \"ltr\"\n\t */\n\tdirection?: \"ltr\" | \"rtl\";\n\n\t/**\n\t * A base line to use when aligning text chunks vertically.\n\t */\n\ttextBaseline?: \"top\" | \"hanging\" | \"middle\" | \"alphabetic\" | \"ideographic\" | \"bottom\";\n\n\t/**\n\t * How to handle labels that do not fit into its designated space.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/labels/#Oversized_text} for more info\n\t */\n\toversizedBehavior?: \"none\" | \"hide\" | \"fit\" | \"wrap\" | \"truncate\";\n\n\t/**\n\t * Whether words can be broken when truncating or wrapping text.\n\t *\n\t * @default false\n\t */\n\tbreakWords?: boolean;\n\n\t/**\n\t * Ellipsis characters to use when truncating text.\n\t *\n\t * Will use Unicode ellipsis symbol (`\"…\"`) by default, which might not be\n\t * available in all fonts. If ellipsis looks broken, use different\n\t * characters. E.g.:\n\t *\n\t * ```TypeScript\n\t * label.set(\"ellipsis\", \"...\");\n\t * ```\n\t * ```JavaScript\n\t * label.set(\"ellipsis\", \"...\");\n\t * ```\n\t *\n\t *\n\t * @default \"…\"\n\t */\n\tellipsis?: string;\n\n\t/**\n\t * Minimum relative scale allowed for label when scaling down\n\t * when `oversizedBehavior` is set to `\"fit\"`.\n\t *\n\t * If fitting the label would require it to scale beyond `minScale` it would\n\t * be hidden instead.\n\t */\n\tminScale?: number;\n\n\t/**\n\t * If set to `true` the label will parse `text` for data placeholders and\n\t * will try to populate them with actual data.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/labels/#Data_placeholders} for more info\n\t */\n\tpopulateText?: boolean;\n\n\t/**\n\t * If set to `true`, will ignore in-line formatting blocks and will display\n\t * text exactly as it is.\n\t *\n\t * @default false\n\t */\n\tignoreFormatting?: boolean;\n\n\t/**\n\t * Color of the element's shadow.\n\t *\n\t * For this to work at least one of the following needs to be set as well:\n\t * `shadowBlur`, `shadowOffsetX`, `shadowOffsetY`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowColor?: Color | null;\n\n\t/**\n\t * Blurriness of the the shadow.\n\t *\n\t * The bigger the number, the more blurry shadow will be.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowBlur?: number;\n\n\t/**\n\t * Horizontal shadow offset in pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOffsetX?: number;\n\n\t/**\n\t * Vertical shadow offset in pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOffsetY?: number;\n\n\t/**\n\t * Opacity of the shadow (0-1).\n\t *\n\t * If not set, will use the same as `fillOpacity` of the element.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOpacity?: number;\n\n\t// The following migh be supported some day:\n\t// padding?: number;\n\t// stroke?: number;\n\t// strokeThickness?: number;\n\t// trim?: number;\n\t// wordWrap?: boolean;\n\t// leading?: number;\n\t// letterSpacing?: number;\n}\n\nexport interface ILabelPrivate extends IContainerPrivate {\n}\n\n/**\n * Creates a label with support for in-line styling and data bindings.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/labels/} for more info\n */\nexport class Label extends Container {\n\n\tdeclare public _settings: ILabelSettings;\n\tdeclare public _privateSettings: ILabelPrivate;\n\n\tprotected _text!: Text;\n\n\tprotected _textKeys: Array<string> = [\n\t\t\"text\",\n\t\t\"fill\",\n\t\t\"textAlign\",\n\t\t\"fontFamily\",\n\t\t\"fontSize\",\n\t\t\"fontStyle\",\n\t\t\"fontWeight\",\n\t\t\"fontStyle\",\n\t\t\"fontVariant\",\n\t\t\"textDecoration\",\n\t\t\"shadowColor\",\n\t\t\"shadowBlur\",\n\t\t\"shadowOffsetX\",\n\t\t\"shadowOffsetY\",\n\t\t\"shadowOpacity\",\n\t\t// \"leading\",\n\t\t// \"letterSpacing\",\n\t\t\"lineHeight\",\n\t\t\"baselineRatio\",\n\t\t//\"padding\",\n\t\t// \"stroke\",\n\t\t// \"strokeThickness\",\n\t\t// \"trim\",\n\t\t// \"wordWrap\",\n\t\t\"direction\",\n\t\t\"textBaseline\",\n\t\t\"oversizedBehavior\",\n\t\t\"breakWords\",\n\t\t\"ellipsis\",\n\t\t\"minScale\",\n\t\t\"populateText\",\n\t\t\"role\",\n\t\t\"ignoreFormatting\"\n\t];\n\n\tpublic static className: string = \"Label\";\n\tpublic static classNames: Array<string> = Container.classNames.concat([Label.className]);\n\n\t/**\n\t * @ignore Text is not to be used directly\n\t */\n\tpublic get text(): Text {\n\t\treturn this._text;\n\t}\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\n\t\tthis._makeText();\n\n\t\t$array.each(this._textKeys, (property) => {\n\t\t\tconst propValue = this.get(property as any);\n\t\t\tif (propValue != undefined) {\n\t\t\t\tthis._text.set(property as any, propValue);\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic _makeText() {\n\t\tthis._text = this.children.push(Text.new(this._root, {}));\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\n\t\t$array.each(this._textKeys, (property) => {\n\t\t\tthis._text.set(property as any, this.get(property as any));\n\t\t})\n\n\t\tif (this.isDirty(\"maxWidth\") || this.isPrivateDirty(\"maxWidth\")) {\n\t\t\tthis._setMaxDimentions();\n\t\t}\n\n\t\tif (this.isDirty(\"maxHeight\") || this.isPrivateDirty(\"maxHeight\")) {\n\t\t\tthis._setMaxDimentions();\n\t\t}\n\n\t\tif (this.isDirty(\"rotation\")) {\n\t\t\tthis._setMaxDimentions();\n\t\t}\n\n\t\tif (this.isDirty(\"textAlign\") || this.isDirty(\"width\")) {\n\t\t\tconst textAlign = this.get(\"textAlign\");\n\t\t\tlet x: number | Percent | undefined;\n\t\t\tif (this.get(\"width\") != null) {\n\t\t\t\tif (textAlign == \"right\") {\n\t\t\t\t\tx = p100;\n\t\t\t\t}\n\t\t\t\telse if (textAlign == \"center\") {\n\t\t\t\t\tx = p50;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tx = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (textAlign == \"left\" || textAlign == \"start\") {\n\t\t\t\t\tx = this.get(\"paddingLeft\");\n\t\t\t\t}\n\t\t\t\telse if (textAlign == \"right\" || textAlign == \"end\") {\n\t\t\t\t\tx = -this.get(\"paddingRight\");\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.text.set(\"x\", x);\n\t\t}\n\t}\n\n\tprotected _setMaxDimentions() {\n\t\tconst rotation = this.get(\"rotation\");\n\t\tconst vertical = rotation == 90 || rotation == 270;\n\n\t\tconst maxWidth = this.get(\"maxWidth\", this.getPrivate(\"maxWidth\", Infinity));\n\t\tif ($type.isNumber(maxWidth)) {\n\t\t\tthis.text.set(vertical ? \"maxHeight\" : \"maxWidth\", maxWidth - this.get(\"paddingLeft\", 0) - this.get(\"paddingRight\", 0));\n\t\t}\n\t\telse {\n\t\t\tthis.text.set(vertical ? \"maxHeight\" : \"maxWidth\", undefined);\n\t\t}\n\n\t\tconst maxHeight = this.get(\"maxHeight\", this.getPrivate(\"maxHeight\", Infinity));\n\t\tif ($type.isNumber(maxHeight)) {\n\t\t\tthis.text.set(vertical ? \"maxWidth\" : \"maxHeight\", maxHeight - this.get(\"paddingTop\", 0) - this.get(\"paddingBottom\", 0));\n\t\t}\n\t\telse {\n\t\t\tthis.text.set(vertical ? \"maxWidth\" : \"maxHeight\", undefined);\n\t\t}\n\t}\n\n\tpublic _setDataItem(dataItem?: DataItem<IComponentDataItem>): void {\n\t\tsuper._setDataItem(dataItem);\n\t\tthis._markDirtyKey(\"text\")\n\t\tif (this.text.get(\"populateText\")) {\n\t\t\tthis.text.markDirtyText();\n\t\t}\n\t}\n\n\t/**\n\t * Returns text with populated placeholders and formatting if `populateText` is\n\t * set to `true`.\n\t *\n\t * @return Populated text\n\t */\n\tpublic getText(): string {\n\t\treturn this._text._getText();\n\t}\n}\n"]}
@@ -1,8 +1,8 @@
1
+ import type { Animation } from "../util/Entity";
2
+ import type { Time } from "../util/Animation";
1
3
  import { RoundedRectangle } from "../render/RoundedRectangle";
2
4
  import { Container, IContainerPrivate, IContainerSettings, IContainerEvents } from "./Container";
3
5
  import { Button } from "./Button";
4
- import type { Time } from "../util/Animation";
5
- import type { Animation } from "../util/Entity";
6
6
  export interface IScrollbarSettings extends IContainerSettings {
7
7
  /**
8
8
  * Orientation of the scrollbar.
@@ -1 +1 @@
1
- {"version":3,"file":"Scrollbar.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Scrollbar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGjG,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAE7D;;OAEG;IACH,WAAW,EAAE,YAAY,GAAG,UAAU,CAAC;IAEvC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;CAEpC;AAED,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAE3D;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;CAEpD;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IAEzD;;OAEG;IACH,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;KAAE,CAAC;CAErE;AAED;;;;;GAKG;AACH,qBAAa,SAAU,SAAQ,SAAS;IAEhC,oBAAoB;IASZ,SAAS,EAAE,kBAAkB,CAAC;IAC9B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,OAAO,EAAE,gBAAgB,CAAC;IAEzC,OAAc,SAAS,EAAE,MAAM,CAAe;IAC9C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAsD;IAE7F;;;OAGG;IACI,KAAK,EAAE,gBAAgB,CAAqB;IAEnD;;OAEG;IACI,SAAS,EAAE,MAAM,CAAsB;IAE9C;;OAEG;IACI,OAAO,EAAE,MAAM,CAAsB;IAE5C,SAAS,CAAC,UAAU,EAAE,OAAO,CAAS;IAEtC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAS;IAEtC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAS;IAEpC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAS;IAEtC,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAEtC,SAAS,CAAC,WAAW,IAAI,MAAM;IAQ/B,SAAS,CAAC,UAAU,IAAI,gBAAgB;IAMxC,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC;IAWpD,SAAS,CAAC,SAAS;IAsLZ,eAAe;IAQf,QAAQ;IAUf;;OAEG;IACI,WAAW;IA8ClB,SAAS,CAAC,YAAY;IA+DtB,SAAS,CAAC,mBAAmB;CAiB7B"}
1
+ {"version":3,"file":"Scrollbar.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Scrollbar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEjG,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAKlC,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAE7D;;OAEG;IACH,WAAW,EAAE,YAAY,GAAG,UAAU,CAAC;IAEvC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;CAEpC;AAED,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAE3D;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;CAEpD;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IAEzD;;OAEG;IACH,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;KAAE,CAAC;CAErE;AAED;;;;;GAKG;AACH,qBAAa,SAAU,SAAQ,SAAS;IAEhC,oBAAoB;IASZ,SAAS,EAAE,kBAAkB,CAAC;IAC9B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,OAAO,EAAE,gBAAgB,CAAC;IAEzC,OAAc,SAAS,EAAE,MAAM,CAAe;IAC9C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAsD;IAE7F;;;OAGG;IACI,KAAK,EAAE,gBAAgB,CAAqB;IAEnD;;OAEG;IACI,SAAS,EAAE,MAAM,CAAsB;IAE9C;;OAEG;IACI,OAAO,EAAE,MAAM,CAAsB;IAE5C,SAAS,CAAC,UAAU,EAAE,OAAO,CAAS;IAEtC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAS;IAEtC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAS;IAEpC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAS;IAEtC,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAEtC,SAAS,CAAC,WAAW,IAAI,MAAM;IAQ/B,SAAS,CAAC,UAAU,IAAI,gBAAgB;IAMxC,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC;IAWpD,SAAS,CAAC,SAAS;IA2LZ,eAAe;IAQf,QAAQ;IAUf;;OAEG;IACI,WAAW;IA8ClB,SAAS,CAAC,YAAY;IA+DtB,SAAS,CAAC,mBAAmB;CAiB7B"}
@@ -1,9 +1,9 @@
1
1
  import { __extends } from "tslib";
2
2
  import { RoundedRectangle } from "../render/RoundedRectangle";
3
3
  import { Container } from "./Container";
4
- import * as $type from "../util/Type";
5
4
  import { Graphics } from "./Graphics";
6
5
  import { Button } from "./Button";
6
+ import * as $type from "../util/Type";
7
7
  import * as $utils from "../util/Utils";
8
8
  /**
9
9
  * A control that allows zooming chart's axes, or other uses requiring range
@@ -173,7 +173,10 @@ var Scrollbar = /** @class */ (function (_super) {
173
173
  }
174
174
  }));
175
175
  }
176
- this._disposers.push(thumb.events.on("dblclick", function () {
176
+ this._disposers.push(thumb.events.on("dblclick", function (event) {
177
+ if (!$utils.isLocalEvent(event.originalEvent, _this)) {
178
+ return;
179
+ }
177
180
  var duration = _this.get("animationDuration", 0);
178
181
  var easing = _this.get("animationEasing");
179
182
  _this.animate({ key: "start", to: 0, duration: duration, easing: easing });